@primer/react 38.0.0-rc.389f01088 → 38.0.0-rc.4

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 (2474) hide show
  1. package/CHANGELOG.md +291 -2
  2. package/dist/ActionBar/ActionBar.d.ts.map +1 -0
  3. package/dist/ActionBar/ActionBar.js +358 -0
  4. package/dist/ActionList/ActionList-167cf6c7.css +2 -0
  5. package/dist/ActionList/ActionList-167cf6c7.css.map +1 -0
  6. package/dist/ActionList/ActionList.module.css.js +5 -0
  7. package/dist/ActionList/ActionListContainerContext.d.ts +16 -0
  8. package/dist/ActionList/ActionListContainerContext.d.ts.map +1 -0
  9. package/dist/ActionList/Description.d.ts.map +1 -0
  10. package/dist/ActionList/Description.js +54 -0
  11. package/dist/ActionList/Divider.d.ts.map +1 -0
  12. package/dist/ActionList/Divider.js +23 -0
  13. package/dist/ActionList/Group.d.ts.map +1 -0
  14. package/dist/ActionList/Group.js +185 -0
  15. package/dist/ActionList/Item.d.ts.map +1 -0
  16. package/dist/ActionList/Item.js +275 -0
  17. package/dist/ActionList/LinkItem.d.ts +19 -0
  18. package/dist/ActionList/LinkItem.d.ts.map +1 -0
  19. package/dist/ActionList/LinkItem.js +50 -0
  20. package/dist/ActionList/List.d.ts.map +1 -0
  21. package/dist/ActionList/List.js +73 -0
  22. package/dist/ActionList/Selection.js +67 -0
  23. package/dist/ActionList/Visuals.d.ts.map +1 -0
  24. package/dist/ActionList/Visuals.js +96 -0
  25. package/dist/ActionList/shared.d.ts +117 -0
  26. package/dist/ActionList/shared.d.ts.map +1 -0
  27. package/dist/Autocomplete/AutocompleteMenu.js +245 -0
  28. package/dist/Avatar/Avatar.d.ts.map +1 -0
  29. package/dist/Avatar/Avatar.js +134 -0
  30. package/dist/AvatarStack/AvatarStack-802bdd7c.css +2 -0
  31. package/dist/AvatarStack/AvatarStack-802bdd7c.css.map +1 -0
  32. package/dist/AvatarStack/AvatarStack.d.ts +15 -0
  33. package/dist/AvatarStack/AvatarStack.d.ts.map +1 -0
  34. package/dist/AvatarStack/AvatarStack.js +150 -0
  35. package/dist/AvatarStack/AvatarStack.module.css.js +5 -0
  36. package/dist/Banner/Banner-459c533a.css +2 -0
  37. package/dist/Banner/Banner-459c533a.css.map +1 -0
  38. package/dist/Banner/Banner.d.ts +125 -0
  39. package/dist/Banner/Banner.d.ts.map +1 -0
  40. package/dist/Banner/Banner.js +348 -0
  41. package/dist/Banner/Banner.module.css.js +5 -0
  42. package/dist/Banner/index.d.ts +22 -0
  43. package/dist/Banner/index.d.ts.map +1 -0
  44. package/dist/BaseStyles-79fd37c4.css +2 -0
  45. package/dist/BaseStyles-79fd37c4.css.map +1 -0
  46. package/dist/BaseStyles.d.ts +13 -0
  47. package/dist/BaseStyles.d.ts.map +1 -0
  48. package/dist/BaseStyles.js +119 -0
  49. package/dist/BaseStyles.module.css.js +5 -0
  50. package/dist/Blankslate/Blankslate-2be5efdc.css +2 -0
  51. package/dist/Blankslate/Blankslate-2be5efdc.css.map +1 -0
  52. package/dist/Blankslate/Blankslate.js +341 -0
  53. package/dist/Blankslate/Blankslate.module.css.js +5 -0
  54. package/dist/BranchName/BranchName.d.ts +15 -0
  55. package/dist/BranchName/BranchName.d.ts.map +1 -0
  56. package/dist/BranchName/BranchName.js +70 -0
  57. package/dist/Breadcrumbs/Breadcrumbs-7cbdf03c.css +2 -0
  58. package/dist/Breadcrumbs/Breadcrumbs-7cbdf03c.css.map +1 -0
  59. package/dist/Breadcrumbs/Breadcrumbs.d.ts +54 -0
  60. package/dist/Breadcrumbs/Breadcrumbs.d.ts.map +1 -0
  61. package/dist/Breadcrumbs/Breadcrumbs.js +486 -0
  62. package/dist/Breadcrumbs/Breadcrumbs.module.css.js +5 -0
  63. package/dist/Button/ButtonBase-0a7871f4.css +2 -0
  64. package/dist/Button/ButtonBase-0a7871f4.css.map +1 -0
  65. package/dist/Button/ButtonBase.js +226 -0
  66. package/dist/Button/ButtonBase.module.css.js +5 -0
  67. package/dist/Button/LinkButton.d.ts +6 -0
  68. package/dist/Button/LinkButton.d.ts.map +1 -0
  69. package/dist/Button/LinkButton.js +18 -0
  70. package/dist/Button/index.d.ts +8 -0
  71. package/dist/Button/index.d.ts.map +1 -0
  72. package/dist/ButtonGroup/ButtonGroup.d.ts +11 -0
  73. package/dist/ButtonGroup/ButtonGroup.d.ts.map +1 -0
  74. package/dist/ButtonGroup/ButtonGroup.js +102 -0
  75. package/dist/Checkbox/Checkbox.d.ts +35 -0
  76. package/dist/Checkbox/Checkbox.d.ts.map +1 -0
  77. package/dist/Checkbox/Checkbox.js +181 -0
  78. package/dist/CheckboxGroup/CheckboxGroup.d.ts +22 -0
  79. package/dist/CheckboxGroup/CheckboxGroup.d.ts.map +1 -0
  80. package/dist/CircleBadge/CircleBadge.d.ts +31 -0
  81. package/dist/CircleBadge/CircleBadge.d.ts.map +1 -0
  82. package/dist/CircleBadge/CircleBadge.js +41 -0
  83. package/dist/ConfirmationDialog/ConfirmationDialog.d.ts +80 -0
  84. package/dist/ConfirmationDialog/ConfirmationDialog.d.ts.map +1 -0
  85. package/dist/ConfirmationDialog/ConfirmationDialog.js +172 -0
  86. package/dist/CounterLabel/CounterLabel.d.ts +14 -0
  87. package/dist/CounterLabel/CounterLabel.d.ts.map +1 -0
  88. package/dist/CounterLabel/CounterLabel.js +97 -0
  89. package/dist/DataTable/Pagination-b6f8418c.css +2 -0
  90. package/dist/DataTable/Pagination-b6f8418c.css.map +1 -0
  91. package/dist/DataTable/Pagination.d.ts.map +1 -0
  92. package/dist/DataTable/Pagination.js +395 -0
  93. package/dist/DataTable/Pagination.module.css.js +5 -0
  94. package/dist/DataTable/Table.d.ts +135 -0
  95. package/dist/DataTable/Table.d.ts.map +1 -0
  96. package/dist/DataTable/Table.js +724 -0
  97. package/dist/DataTable/storyHelpers.d.ts +4 -0
  98. package/dist/DataTable/storyHelpers.d.ts.map +1 -0
  99. package/dist/DataTable/useTable.js +295 -0
  100. package/dist/Details/Details.d.ts +19 -0
  101. package/dist/Details/Details.d.ts.map +1 -0
  102. package/dist/Details/Details.js +149 -0
  103. package/dist/FeatureFlags/DefaultFeatureFlags.js +13 -0
  104. package/dist/FeatureFlags/FeatureFlags.js +40 -0
  105. package/dist/FilteredActionList/FilteredActionList-e1eb1b75.css +2 -0
  106. package/dist/FilteredActionList/FilteredActionList-e1eb1b75.css.map +1 -0
  107. package/dist/FilteredActionList/FilteredActionList.d.ts +29 -0
  108. package/dist/FilteredActionList/FilteredActionList.d.ts.map +1 -0
  109. package/dist/FilteredActionList/FilteredActionList.js +462 -0
  110. package/dist/FilteredActionList/FilteredActionList.module.css.js +5 -0
  111. package/dist/FilteredActionList/FilteredActionListLoaders-a46a8ea4.css +2 -0
  112. package/dist/FilteredActionList/FilteredActionListLoaders-a46a8ea4.css.map +1 -0
  113. package/dist/FilteredActionList/FilteredActionListLoaders.d.ts.map +1 -0
  114. package/dist/FilteredActionList/FilteredActionListLoaders.js +161 -0
  115. package/dist/FilteredActionList/FilteredActionListLoaders.module.css.js +5 -0
  116. package/dist/FilteredActionList/index.d.ts +4 -0
  117. package/dist/FilteredActionList/index.d.ts.map +1 -0
  118. package/dist/FilteredActionList/types.d.ts +159 -0
  119. package/dist/FilteredActionList/types.d.ts.map +1 -0
  120. package/dist/FilteredActionList/useAnnouncements.d.ts +6 -0
  121. package/dist/FilteredActionList/useAnnouncements.d.ts.map +1 -0
  122. package/dist/FilteredActionList/useAnnouncements.js +194 -0
  123. package/dist/Flash/Flash.d.ts +10 -0
  124. package/dist/Flash/Flash.d.ts.map +1 -0
  125. package/dist/Flash/Flash.js +71 -0
  126. package/dist/FormControl/FormControl.d.ts.map +1 -0
  127. package/dist/FormControl/FormControl.js +214 -0
  128. package/dist/Header/Header.d.ts +19 -0
  129. package/dist/Header/Header.d.ts.map +1 -0
  130. package/dist/Header/Header.js +171 -0
  131. package/dist/InlineMessage/InlineMessage.d.ts +15 -0
  132. package/dist/InlineMessage/InlineMessage.d.ts.map +1 -0
  133. package/dist/InlineMessage/InlineMessage.js +99 -0
  134. package/dist/Label/Label.d.ts.map +1 -0
  135. package/dist/Label/Label.js +100 -0
  136. package/dist/LabelGroup/LabelGroup.d.ts +13 -0
  137. package/dist/LabelGroup/LabelGroup.d.ts.map +1 -0
  138. package/dist/LabelGroup/LabelGroup.js +357 -0
  139. package/dist/NavList/NavList.js +910 -0
  140. package/dist/Overlay/Overlay-40e80d0e.css +2 -0
  141. package/dist/Overlay/Overlay-40e80d0e.css.map +1 -0
  142. package/dist/Overlay/Overlay.module.css.js +5 -0
  143. package/dist/PageHeader/PageHeader.d.ts +50 -0
  144. package/dist/PageHeader/PageHeader.d.ts.map +1 -0
  145. package/dist/PageHeader/PageHeader.js +840 -0
  146. package/dist/PageLayout/PageLayout.d.ts.map +1 -0
  147. package/dist/PageLayout/PageLayout.js +1244 -0
  148. package/dist/Pagehead/Pagehead.d.ts +10 -0
  149. package/dist/Pagehead/Pagehead.d.ts.map +1 -0
  150. package/dist/Pagehead/Pagehead.js +17 -0
  151. package/dist/Popover/Popover-3ba3b962.css +2 -0
  152. package/dist/Popover/Popover-3ba3b962.css.map +1 -0
  153. package/dist/Popover/Popover.d.ts +26 -0
  154. package/dist/Popover/Popover.d.ts.map +1 -0
  155. package/dist/Popover/Popover.js +126 -0
  156. package/dist/Popover/Popover.module.css.js +5 -0
  157. package/dist/Portal/Portal.d.ts +33 -0
  158. package/dist/Portal/Portal.d.ts.map +1 -0
  159. package/dist/Portal/Portal.js +93 -0
  160. package/dist/Portal/index.d.ts +7 -0
  161. package/dist/Portal/index.d.ts.map +1 -0
  162. package/dist/Portal/index.js +6 -0
  163. package/dist/ProgressBar/ProgressBar-d27aca1d.css +2 -0
  164. package/dist/ProgressBar/ProgressBar-d27aca1d.css.map +1 -0
  165. package/dist/ProgressBar/ProgressBar.d.ts +29 -0
  166. package/dist/ProgressBar/ProgressBar.d.ts.map +1 -0
  167. package/dist/ProgressBar/ProgressBar.js +258 -0
  168. package/dist/ProgressBar/ProgressBar.module.css.js +5 -0
  169. package/dist/ProgressBar/index.d.ts +26 -0
  170. package/dist/ProgressBar/index.d.ts.map +1 -0
  171. package/dist/Radio/Radio-df9a5c02.css +2 -0
  172. package/dist/Radio/Radio-df9a5c02.css.map +1 -0
  173. package/dist/Radio/Radio.d.ts +35 -0
  174. package/dist/Radio/Radio.d.ts.map +1 -0
  175. package/dist/Radio/Radio.js +117 -0
  176. package/dist/Radio/Radio.module.css.js +5 -0
  177. package/dist/RadioGroup/RadioGroup.d.ts +29 -0
  178. package/dist/RadioGroup/RadioGroup.d.ts.map +1 -0
  179. package/dist/RadioGroup/index.d.ts +3 -0
  180. package/dist/RadioGroup/index.d.ts.map +1 -0
  181. package/dist/RelativeTime/RelativeTime.d.ts +7 -0
  182. package/dist/RelativeTime/RelativeTime.d.ts.map +1 -0
  183. package/dist/SegmentedControl/SegmentedControl-7f79ab74.css +2 -0
  184. package/dist/SegmentedControl/SegmentedControl-7f79ab74.css.map +1 -0
  185. package/dist/SegmentedControl/SegmentedControl.d.ts +24 -0
  186. package/dist/SegmentedControl/SegmentedControl.d.ts.map +1 -0
  187. package/dist/SegmentedControl/SegmentedControl.js +229 -0
  188. package/dist/SegmentedControl/SegmentedControl.module.css.js +5 -0
  189. package/dist/SegmentedControl/SegmentedControlButton.d.ts +18 -0
  190. package/dist/SegmentedControl/SegmentedControlButton.d.ts.map +1 -0
  191. package/dist/SegmentedControl/SegmentedControlButton.js +159 -0
  192. package/dist/SegmentedControl/SegmentedControlIconButton.d.ts +20 -0
  193. package/dist/SegmentedControl/SegmentedControlIconButton.d.ts.map +1 -0
  194. package/dist/SegmentedControl/SegmentedControlIconButton.js +220 -0
  195. package/dist/SegmentedControl/index.d.ts +5 -0
  196. package/dist/SegmentedControl/index.d.ts.map +1 -0
  197. package/dist/Select/Select.d.ts +14 -0
  198. package/dist/Select/Select.d.ts.map +1 -0
  199. package/dist/Select/Select.js +239 -0
  200. package/dist/SelectPanel/SelectPanel-3ac7e8d0.css +2 -0
  201. package/dist/SelectPanel/SelectPanel-3ac7e8d0.css.map +1 -0
  202. package/dist/SelectPanel/SelectPanel.d.ts +87 -0
  203. package/dist/SelectPanel/SelectPanel.d.ts.map +1 -0
  204. package/dist/SelectPanel/SelectPanel.js +741 -0
  205. package/dist/SelectPanel/SelectPanel.module.css.js +5 -0
  206. package/dist/SelectPanel/SelectPanelMessage.d.ts +22 -0
  207. package/dist/SelectPanel/SelectPanelMessage.d.ts.map +1 -0
  208. package/dist/SelectPanel/SelectPanelMessage.js +37 -0
  209. package/dist/SelectPanel/index.d.ts +4 -0
  210. package/dist/SelectPanel/index.d.ts.map +1 -0
  211. package/dist/SideNav.d.ts +34 -0
  212. package/dist/SideNav.d.ts.map +1 -0
  213. package/dist/SideNav.js +53 -0
  214. package/dist/Skeleton/SkeletonBox.d.ts +12 -0
  215. package/dist/Skeleton/SkeletonBox.d.ts.map +1 -0
  216. package/dist/Skeleton/SkeletonBox.js +79 -0
  217. package/dist/SkeletonAvatar/SkeletonAvatar-e00fff32.css +2 -0
  218. package/dist/SkeletonAvatar/SkeletonAvatar-e00fff32.css.map +1 -0
  219. package/dist/SkeletonAvatar/SkeletonAvatar.d.ts +12 -0
  220. package/dist/SkeletonAvatar/SkeletonAvatar.d.ts.map +1 -0
  221. package/dist/SkeletonAvatar/SkeletonAvatar.js +124 -0
  222. package/dist/SkeletonAvatar/SkeletonAvatar.module.css.js +5 -0
  223. package/dist/SkeletonAvatar/index.d.ts +3 -0
  224. package/dist/SkeletonAvatar/index.d.ts.map +1 -0
  225. package/dist/SkeletonText/SkeletonText-5cf908c1.css +2 -0
  226. package/dist/SkeletonText/SkeletonText-5cf908c1.css.map +1 -0
  227. package/dist/SkeletonText/SkeletonText.d.ts +16 -0
  228. package/dist/SkeletonText/SkeletonText.d.ts.map +1 -0
  229. package/dist/SkeletonText/SkeletonText.js +140 -0
  230. package/dist/SkeletonText/SkeletonText.module.css.js +5 -0
  231. package/dist/SkeletonText/index.d.ts +3 -0
  232. package/dist/SkeletonText/index.d.ts.map +1 -0
  233. package/dist/Spinner/Spinner.d.ts +23 -0
  234. package/dist/Spinner/Spinner.d.ts.map +1 -0
  235. package/dist/Spinner/Spinner.js +140 -0
  236. package/dist/SplitPageLayout/SplitPageLayout.d.ts +21 -0
  237. package/dist/SplitPageLayout/SplitPageLayout.d.ts.map +1 -0
  238. package/dist/Stack/Stack-9e7b935d.css +2 -0
  239. package/dist/Stack/Stack-9e7b935d.css.map +1 -0
  240. package/dist/Stack/Stack.d.ts +74 -0
  241. package/dist/Stack/Stack.d.ts.map +1 -0
  242. package/dist/Stack/Stack.js +230 -0
  243. package/dist/Stack/Stack.module.css.js +5 -0
  244. package/dist/StateLabel/StateLabel-50420ff5.css +2 -0
  245. package/dist/StateLabel/StateLabel-50420ff5.css.map +1 -0
  246. package/dist/StateLabel/StateLabel.d.ts +25 -0
  247. package/dist/StateLabel/StateLabel.d.ts.map +1 -0
  248. package/dist/StateLabel/StateLabel.js +126 -0
  249. package/dist/StateLabel/StateLabel.module.css.js +5 -0
  250. package/dist/SubNav/SubNav.d.ts +19 -0
  251. package/dist/SubNav/SubNav.d.ts.map +1 -0
  252. package/dist/SubNav/SubNav.js +201 -0
  253. package/dist/TabNav/TabNav-83c6145e.css +2 -0
  254. package/dist/TabNav/TabNav-83c6145e.css.map +1 -0
  255. package/dist/TabNav/TabNav.module.css.js +5 -0
  256. package/dist/Text/Text.d.ts.map +1 -0
  257. package/dist/Text/Text.js +71 -0
  258. package/dist/TextInput/TextInput.d.ts +43 -0
  259. package/dist/TextInput/TextInput.d.ts.map +1 -0
  260. package/dist/TextInputWithTokens/TextInputWithTokens.d.ts +92 -0
  261. package/dist/TextInputWithTokens/TextInputWithTokens.d.ts.map +1 -0
  262. package/dist/TextInputWithTokens/TextInputWithTokens.js +639 -0
  263. package/dist/Textarea/Textarea.d.ts +89 -0
  264. package/dist/Textarea/Textarea.d.ts.map +1 -0
  265. package/dist/Textarea/Textarea.js +155 -0
  266. package/dist/Timeline/Timeline.d.ts +44 -0
  267. package/dist/Timeline/Timeline.d.ts.map +1 -0
  268. package/dist/Timeline/Timeline.js +239 -0
  269. package/dist/ToggleSwitch/ToggleSwitch-4b23d166.css +2 -0
  270. package/dist/ToggleSwitch/ToggleSwitch-4b23d166.css.map +1 -0
  271. package/dist/ToggleSwitch/ToggleSwitch.d.ts +44 -0
  272. package/dist/ToggleSwitch/ToggleSwitch.d.ts.map +1 -0
  273. package/dist/ToggleSwitch/ToggleSwitch.js +475 -0
  274. package/dist/ToggleSwitch/ToggleSwitch.module.css.js +5 -0
  275. package/dist/ToggleSwitch/ToggleSwitchStoryWrapper.d.ts.map +1 -0
  276. package/dist/Token/IssueLabelToken-0dbbbcdf.css +2 -0
  277. package/dist/Token/IssueLabelToken-0dbbbcdf.css.map +1 -0
  278. package/dist/Token/IssueLabelToken.d.ts.map +1 -0
  279. package/dist/Token/IssueLabelToken.js +81 -0
  280. package/dist/Token/IssueLabelToken.module.css.js +5 -0
  281. package/dist/Token/Token.d.ts.map +1 -0
  282. package/dist/Token/Token.js +284 -0
  283. package/dist/Token/TokenBase.js +134 -0
  284. package/dist/Token/_RemoveTokenButton.js +117 -0
  285. package/dist/Token/index.d.ts +6 -0
  286. package/dist/Token/index.d.ts.map +1 -0
  287. package/dist/Tooltip/Tooltip.js +134 -0
  288. package/dist/TooltipV2/Tooltip-5a80d7b2.css +2 -0
  289. package/dist/TooltipV2/Tooltip-5a80d7b2.css.map +1 -0
  290. package/dist/TooltipV2/Tooltip.d.ts.map +1 -0
  291. package/dist/TooltipV2/Tooltip.js +294 -0
  292. package/dist/TooltipV2/Tooltip.module.css.js +5 -0
  293. package/dist/TreeView/TreeView-bdf34914.css +2 -0
  294. package/dist/TreeView/TreeView-bdf34914.css.map +1 -0
  295. package/dist/TreeView/TreeView.d.ts +70 -0
  296. package/dist/TreeView/TreeView.d.ts.map +1 -0
  297. package/dist/TreeView/TreeView.js +1389 -0
  298. package/dist/TreeView/TreeView.module.css.js +5 -0
  299. package/dist/TreeView/shared.js +13 -0
  300. package/dist/Truncate/Truncate.d.ts +12 -0
  301. package/dist/Truncate/Truncate.d.ts.map +1 -0
  302. package/dist/Truncate/Truncate.js +35 -0
  303. package/dist/UnderlineNav/UnderlineNav-78db938f.css +2 -0
  304. package/dist/UnderlineNav/UnderlineNav-78db938f.css.map +1 -0
  305. package/dist/UnderlineNav/UnderlineNav.d.ts +22 -0
  306. package/dist/UnderlineNav/UnderlineNav.d.ts.map +1 -0
  307. package/dist/UnderlineNav/UnderlineNav.js +347 -0
  308. package/dist/UnderlineNav/UnderlineNav.module.css.js +5 -0
  309. package/dist/UnderlineNav/UnderlineNavItem-b65e8fd3.css +2 -0
  310. package/dist/UnderlineNav/UnderlineNavItem-b65e8fd3.css.map +1 -0
  311. package/dist/UnderlineNav/UnderlineNavItem.d.ts +42 -0
  312. package/dist/UnderlineNav/UnderlineNavItem.d.ts.map +1 -0
  313. package/dist/UnderlineNav/UnderlineNavItem.js +161 -0
  314. package/dist/UnderlineNav/UnderlineNavItem.module.css.js +5 -0
  315. package/dist/UnderlineNav/styles.d.ts +38 -0
  316. package/dist/UnderlineNav/styles.js +74 -0
  317. package/dist/VisuallyHidden/VisuallyHidden.d.ts +17 -0
  318. package/dist/VisuallyHidden/VisuallyHidden.d.ts.map +1 -0
  319. package/dist/VisuallyHidden/VisuallyHidden.js +51 -0
  320. package/dist/_VisuallyHidden-5c0a2499.css +2 -0
  321. package/dist/_VisuallyHidden-5c0a2499.css.map +1 -0
  322. package/dist/_VisuallyHidden.d.ts +8 -0
  323. package/dist/_VisuallyHidden.d.ts.map +1 -0
  324. package/dist/_VisuallyHidden.js +67 -0
  325. package/dist/_VisuallyHidden.module.css.js +5 -0
  326. package/dist/deprecated/ActionList/List.d.ts.map +1 -0
  327. package/dist/deprecated/ActionList/List.js +199 -0
  328. package/dist/deprecated/ActionMenu.js +197 -0
  329. package/dist/deprecated/FilteredSearch/FilteredSearch-d30f5bbc.css +2 -0
  330. package/dist/deprecated/FilteredSearch/FilteredSearch-d30f5bbc.css.map +1 -0
  331. package/dist/deprecated/FilteredSearch/FilteredSearch.d.ts +9 -0
  332. package/dist/deprecated/FilteredSearch/FilteredSearch.d.ts.map +1 -0
  333. package/dist/deprecated/FilteredSearch/FilteredSearch.js +55 -0
  334. package/dist/deprecated/FilteredSearch/FilteredSearch.module.css.js +5 -0
  335. package/dist/deprecated/UnderlineNav/UnderlineNav.d.ts +25 -0
  336. package/dist/deprecated/UnderlineNav/UnderlineNav.d.ts.map +1 -0
  337. package/dist/deprecated/UnderlineNav/UnderlineNav.js +124 -0
  338. package/dist/experimental/IssueLabel/IssueLabel-6581d1bd.css +2 -0
  339. package/dist/experimental/IssueLabel/IssueLabel-6581d1bd.css.map +1 -0
  340. package/dist/experimental/IssueLabel/IssueLabel.d.ts +32 -0
  341. package/dist/experimental/IssueLabel/IssueLabel.d.ts.map +1 -0
  342. package/dist/experimental/IssueLabel/IssueLabel.js +178 -0
  343. package/dist/experimental/IssueLabel/IssueLabel.module.css.js +5 -0
  344. package/dist/experimental/SelectPanel2/SelectPanel.js +965 -0
  345. package/dist/experimental/UnderlinePanels/UnderlinePanels.d.ts.map +1 -0
  346. package/dist/experimental/UnderlinePanels/UnderlinePanels.js +201 -0
  347. package/dist/experimental/index.d.ts +48 -0
  348. package/dist/experimental/index.d.ts.map +1 -0
  349. package/dist/experimental/index.js +31 -0
  350. package/dist/hooks/useMenuKeyboardNavigation.js +139 -0
  351. package/dist/hooks/useMnemonics.js +73 -0
  352. package/dist/hooks/useOpenAndCloseFocus.js +46 -0
  353. package/dist/hooks/useOverflow.js +39 -0
  354. package/dist/hooks/useScrollFlash.js +35 -0
  355. package/dist/index.d.ts +145 -0
  356. package/dist/index.d.ts.map +1 -0
  357. package/dist/index.js +86 -0
  358. package/dist/internal/components/BoxWithFallback.js +70 -0
  359. package/dist/internal/components/ButtonReset-904f2483.css +2 -0
  360. package/dist/internal/components/ButtonReset-904f2483.css.map +1 -0
  361. package/dist/internal/components/ButtonReset.d.ts +5 -0
  362. package/dist/internal/components/ButtonReset.d.ts.map +1 -0
  363. package/dist/internal/components/ButtonReset.js +52 -0
  364. package/dist/internal/components/ButtonReset.module.css.js +5 -0
  365. package/dist/internal/components/Caret.d.ts +15 -0
  366. package/dist/internal/components/Caret.d.ts.map +1 -0
  367. package/dist/internal/components/LiveRegion.js +130 -0
  368. package/dist/internal/components/TextInputInnerVisualSlot.js +96 -0
  369. package/dist/internal/components/TextInputWrapper-889df5d3.css +2 -0
  370. package/dist/internal/components/TextInputWrapper-889df5d3.css.map +1 -0
  371. package/dist/internal/components/TextInputWrapper.module.css.js +5 -0
  372. package/dist/internal/components/UnderlineTabbedInterface.d.ts.map +1 -0
  373. package/dist/internal/components/UnderlineTabbedInterface.js +216 -0
  374. package/dist/internal/utils/getGlobalFocusStyles.js +7 -0
  375. package/dist/live-region/Announce.d.ts +32 -0
  376. package/dist/live-region/Announce.d.ts.map +1 -0
  377. package/dist/live-region/Announce.js +186 -0
  378. package/dist/live-region/AriaAlert.d.ts +18 -0
  379. package/dist/live-region/AriaAlert.d.ts.map +1 -0
  380. package/dist/live-region/AriaStatus.d.ts +22 -0
  381. package/dist/live-region/AriaStatus.d.ts.map +1 -0
  382. package/dist/test-helpers.js +72 -0
  383. package/dist/utils/create-component.d.ts +5 -0
  384. package/dist/utils/create-component.d.ts.map +1 -0
  385. package/dist/utils/create-component.js +17 -0
  386. package/dist/utils/form-story-helpers.d.ts +62 -0
  387. package/dist/utils/form-story-helpers.d.ts.map +1 -0
  388. package/dist/utils/polymorphic2.d.ts +16 -0
  389. package/dist/utils/polymorphic2.d.ts.map +1 -0
  390. package/dist/utils/test-helpers.d.ts +2 -0
  391. package/dist/utils/test-helpers.d.ts.map +1 -0
  392. package/generated/components.json +564 -956
  393. package/generated/hooks.json +5 -0
  394. package/package.json +51 -65
  395. package/dist/browser.esm.js +0 -13
  396. package/dist/browser.esm.js.map +0 -1
  397. package/dist/browser.umd.js +0 -14
  398. package/dist/browser.umd.js.map +0 -1
  399. package/dist/components.css +0 -6567
  400. package/lib/ActionBar/ActionBar-e6a5d54e.css +0 -2
  401. package/lib/ActionBar/ActionBar-e6a5d54e.css.map +0 -1
  402. package/lib/ActionBar/ActionBar.d.ts +0 -24
  403. package/lib/ActionBar/ActionBar.d.ts.map +0 -1
  404. package/lib/ActionBar/ActionBar.js +0 -362
  405. package/lib/ActionBar/ActionBar.module.css.js +0 -7
  406. package/lib/ActionBar/disabled.ActionBar.Figma.d.ts +0 -2
  407. package/lib/ActionBar/index.d.ts +0 -8
  408. package/lib/ActionBar/index.js +0 -13
  409. package/lib/ActionList/ActionList-49cba224.css +0 -2
  410. package/lib/ActionList/ActionList-49cba224.css.map +0 -1
  411. package/lib/ActionList/ActionList.module.css.js +0 -7
  412. package/lib/ActionList/ActionListContainerContext.d.ts +0 -16
  413. package/lib/ActionList/ActionListContainerContext.d.ts.map +0 -1
  414. package/lib/ActionList/ActionListContainerContext.js +0 -13
  415. package/lib/ActionList/Description.d.ts +0 -18
  416. package/lib/ActionList/Description.d.ts.map +0 -1
  417. package/lib/ActionList/Description.js +0 -62
  418. package/lib/ActionList/Divider.d.ts +0 -10
  419. package/lib/ActionList/Divider.d.ts.map +0 -1
  420. package/lib/ActionList/Divider.js +0 -26
  421. package/lib/ActionList/Group-2c8b5711.css +0 -2
  422. package/lib/ActionList/Group-2c8b5711.css.map +0 -1
  423. package/lib/ActionList/Group.d.ts +0 -48
  424. package/lib/ActionList/Group.d.ts.map +0 -1
  425. package/lib/ActionList/Group.js +0 -198
  426. package/lib/ActionList/Group.module.css.js +0 -7
  427. package/lib/ActionList/Heading-b9360636.css +0 -2
  428. package/lib/ActionList/Heading-b9360636.css.map +0 -1
  429. package/lib/ActionList/Heading.d.ts +0 -13
  430. package/lib/ActionList/Heading.js +0 -57
  431. package/lib/ActionList/Heading.module.css.js +0 -7
  432. package/lib/ActionList/Item.d.ts +0 -10
  433. package/lib/ActionList/Item.d.ts.map +0 -1
  434. package/lib/ActionList/Item.js +0 -279
  435. package/lib/ActionList/LinkItem.d.ts +0 -19
  436. package/lib/ActionList/LinkItem.d.ts.map +0 -1
  437. package/lib/ActionList/LinkItem.js +0 -55
  438. package/lib/ActionList/List.d.ts +0 -4
  439. package/lib/ActionList/List.d.ts.map +0 -1
  440. package/lib/ActionList/List.js +0 -81
  441. package/lib/ActionList/Selection.d.ts +0 -6
  442. package/lib/ActionList/Selection.js +0 -72
  443. package/lib/ActionList/TrailingAction.d.ts +0 -23
  444. package/lib/ActionList/TrailingAction.js +0 -52
  445. package/lib/ActionList/Visuals.d.ts +0 -18
  446. package/lib/ActionList/Visuals.d.ts.map +0 -1
  447. package/lib/ActionList/Visuals.js +0 -112
  448. package/lib/ActionList/index.d.ts +0 -35
  449. package/lib/ActionList/index.js +0 -39
  450. package/lib/ActionList/shared.d.ts +0 -116
  451. package/lib/ActionList/shared.d.ts.map +0 -1
  452. package/lib/ActionList/shared.js +0 -14
  453. package/lib/ActionMenu/ActionMenu-5fe972e2.css +0 -2
  454. package/lib/ActionMenu/ActionMenu-5fe972e2.css.map +0 -1
  455. package/lib/ActionMenu/ActionMenu.d.ts +0 -51
  456. package/lib/ActionMenu/ActionMenu.js +0 -300
  457. package/lib/ActionMenu/ActionMenu.module.css.js +0 -7
  458. package/lib/ActionMenu/index.d.ts +0 -2
  459. package/lib/AnchoredOverlay/AnchoredOverlay-73c1b2d1.css +0 -2
  460. package/lib/AnchoredOverlay/AnchoredOverlay-73c1b2d1.css.map +0 -1
  461. package/lib/AnchoredOverlay/AnchoredOverlay.d.ts +0 -104
  462. package/lib/AnchoredOverlay/AnchoredOverlay.js +0 -167
  463. package/lib/AnchoredOverlay/AnchoredOverlay.module.css.js +0 -7
  464. package/lib/AnchoredOverlay/index.d.ts +0 -3
  465. package/lib/Autocomplete/Autocomplete.d.ts +0 -47
  466. package/lib/Autocomplete/Autocomplete.js +0 -186
  467. package/lib/Autocomplete/AutocompleteContext.d.ts +0 -17
  468. package/lib/Autocomplete/AutocompleteContext.js +0 -7
  469. package/lib/Autocomplete/AutocompleteInput.d.ts +0 -16
  470. package/lib/Autocomplete/AutocompleteInput.js +0 -151
  471. package/lib/Autocomplete/AutocompleteMenu-7f135c03.css +0 -2
  472. package/lib/Autocomplete/AutocompleteMenu-7f135c03.css.map +0 -1
  473. package/lib/Autocomplete/AutocompleteMenu.d.ts +0 -75
  474. package/lib/Autocomplete/AutocompleteMenu.js +0 -251
  475. package/lib/Autocomplete/AutocompleteMenu.module.css.js +0 -7
  476. package/lib/Autocomplete/AutocompleteOverlay-d99d778c.css +0 -2
  477. package/lib/Autocomplete/AutocompleteOverlay-d99d778c.css.map +0 -1
  478. package/lib/Autocomplete/AutocompleteOverlay.d.ts +0 -21
  479. package/lib/Autocomplete/AutocompleteOverlay.js +0 -138
  480. package/lib/Autocomplete/AutocompleteOverlay.module.css.js +0 -7
  481. package/lib/Autocomplete/index.d.ts +0 -3
  482. package/lib/Avatar/Avatar-61b19061.css +0 -2
  483. package/lib/Avatar/Avatar-61b19061.css.map +0 -1
  484. package/lib/Avatar/Avatar.d.ts +0 -30
  485. package/lib/Avatar/Avatar.d.ts.map +0 -1
  486. package/lib/Avatar/Avatar.js +0 -145
  487. package/lib/Avatar/Avatar.module.css.js +0 -7
  488. package/lib/Avatar/index.d.ts +0 -3
  489. package/lib/Avatar/storyHelpers.d.ts +0 -6
  490. package/lib/AvatarPair/AvatarPair-68990abe.css +0 -2
  491. package/lib/AvatarPair/AvatarPair-68990abe.css.map +0 -1
  492. package/lib/AvatarPair/AvatarPair.d.ts +0 -8
  493. package/lib/AvatarPair/AvatarPair.d.ts.map +0 -1
  494. package/lib/AvatarPair/AvatarPair.js +0 -92
  495. package/lib/AvatarPair/AvatarPair.module.css.js +0 -7
  496. package/lib/AvatarPair/index.d.ts +0 -3
  497. package/lib/AvatarPair/index.d.ts.map +0 -1
  498. package/lib/AvatarStack/AvatarStack-f0712fca.css +0 -2
  499. package/lib/AvatarStack/AvatarStack-f0712fca.css.map +0 -1
  500. package/lib/AvatarStack/AvatarStack.d.ts +0 -14
  501. package/lib/AvatarStack/AvatarStack.d.ts.map +0 -1
  502. package/lib/AvatarStack/AvatarStack.js +0 -152
  503. package/lib/AvatarStack/AvatarStack.module.css.js +0 -7
  504. package/lib/AvatarStack/index.d.ts +0 -3
  505. package/lib/Banner/Banner-43e2cd6a.css +0 -2
  506. package/lib/Banner/Banner-43e2cd6a.css.map +0 -1
  507. package/lib/Banner/Banner.d.ts +0 -117
  508. package/lib/Banner/Banner.d.ts.map +0 -1
  509. package/lib/Banner/Banner.js +0 -356
  510. package/lib/Banner/Banner.module.css.js +0 -7
  511. package/lib/Banner/index.d.ts +0 -21
  512. package/lib/Banner/index.d.ts.map +0 -1
  513. package/lib/Banner/index.js +0 -12
  514. package/lib/BaseStyles-7880c337.css +0 -2
  515. package/lib/BaseStyles-7880c337.css.map +0 -1
  516. package/lib/BaseStyles.d.ts +0 -14
  517. package/lib/BaseStyles.d.ts.map +0 -1
  518. package/lib/BaseStyles.js +0 -123
  519. package/lib/BaseStyles.module.css.js +0 -7
  520. package/lib/Blankslate/Blankslate-a68ed307.css +0 -2
  521. package/lib/Blankslate/Blankslate-a68ed307.css.map +0 -1
  522. package/lib/Blankslate/Blankslate.d.ts +0 -45
  523. package/lib/Blankslate/Blankslate.js +0 -350
  524. package/lib/Blankslate/Blankslate.module.css.js +0 -7
  525. package/lib/Blankslate/BlankslateContext.d.ts +0 -7
  526. package/lib/Blankslate/BlankslateContext.js +0 -16
  527. package/lib/Blankslate/index.d.ts +0 -12
  528. package/lib/Blankslate/index.js +0 -13
  529. package/lib/Box/Box.d.ts +0 -18
  530. package/lib/Box/Box.js +0 -21
  531. package/lib/Box/index.d.ts +0 -3
  532. package/lib/BranchName/BranchName-2fad4f4b.css +0 -2
  533. package/lib/BranchName/BranchName-2fad4f4b.css.map +0 -1
  534. package/lib/BranchName/BranchName.d.ts +0 -12
  535. package/lib/BranchName/BranchName.d.ts.map +0 -1
  536. package/lib/BranchName/BranchName.js +0 -78
  537. package/lib/BranchName/BranchName.module.css.js +0 -7
  538. package/lib/BranchName/index.d.ts +0 -3
  539. package/lib/Breadcrumbs/Breadcrumbs-99078f17.css +0 -2
  540. package/lib/Breadcrumbs/Breadcrumbs-99078f17.css.map +0 -1
  541. package/lib/Breadcrumbs/Breadcrumbs.d.ts +0 -38
  542. package/lib/Breadcrumbs/Breadcrumbs.d.ts.map +0 -1
  543. package/lib/Breadcrumbs/Breadcrumbs.js +0 -168
  544. package/lib/Breadcrumbs/Breadcrumbs.module.css.js +0 -7
  545. package/lib/Breadcrumbs/index.d.ts +0 -3
  546. package/lib/Button/Button.d.ts +0 -9
  547. package/lib/Button/Button.js +0 -106
  548. package/lib/Button/ButtonBase-ec78dde7.css +0 -2
  549. package/lib/Button/ButtonBase-ec78dde7.css.map +0 -1
  550. package/lib/Button/ButtonBase.d.ts +0 -5
  551. package/lib/Button/ButtonBase.js +0 -232
  552. package/lib/Button/ButtonBase.module.css.js +0 -7
  553. package/lib/Button/IconButton.d.ts +0 -5
  554. package/lib/Button/IconButton.js +0 -89
  555. package/lib/Button/LinkButton.d.ts +0 -6
  556. package/lib/Button/LinkButton.d.ts.map +0 -1
  557. package/lib/Button/LinkButton.js +0 -23
  558. package/lib/Button/index.d.ts +0 -7
  559. package/lib/Button/index.d.ts.map +0 -1
  560. package/lib/Button/styles.d.ts +0 -431
  561. package/lib/Button/styles.js +0 -7
  562. package/lib/Button/types.d.ts +0 -95
  563. package/lib/ButtonGroup/ButtonGroup-10292330.css +0 -2
  564. package/lib/ButtonGroup/ButtonGroup-10292330.css.map +0 -1
  565. package/lib/ButtonGroup/ButtonGroup.d.ts +0 -12
  566. package/lib/ButtonGroup/ButtonGroup.d.ts.map +0 -1
  567. package/lib/ButtonGroup/ButtonGroup.js +0 -140
  568. package/lib/ButtonGroup/ButtonGroup.module.css.js +0 -7
  569. package/lib/ButtonGroup/index.d.ts +0 -3
  570. package/lib/Caret.d.ts +0 -17
  571. package/lib/Caret.d.ts.map +0 -1
  572. package/lib/Caret.js +0 -123
  573. package/lib/Checkbox/Checkbox-2aef6693.css +0 -2
  574. package/lib/Checkbox/Checkbox-2aef6693.css.map +0 -1
  575. package/lib/Checkbox/Checkbox.d.ts +0 -36
  576. package/lib/Checkbox/Checkbox.d.ts.map +0 -1
  577. package/lib/Checkbox/Checkbox.js +0 -87
  578. package/lib/Checkbox/Checkbox.module.css.js +0 -7
  579. package/lib/Checkbox/index.d.ts +0 -3
  580. package/lib/Checkbox/shared-edc41e16.css +0 -2
  581. package/lib/Checkbox/shared-edc41e16.css.map +0 -1
  582. package/lib/Checkbox/shared.module.css.js +0 -7
  583. package/lib/CheckboxGroup/CheckboxGroup.d.ts +0 -23
  584. package/lib/CheckboxGroup/CheckboxGroup.d.ts.map +0 -1
  585. package/lib/CheckboxGroup/CheckboxGroup.js +0 -150
  586. package/lib/CheckboxGroup/CheckboxGroupContext.d.ts +0 -6
  587. package/lib/CheckboxGroup/CheckboxGroupContext.js +0 -7
  588. package/lib/CheckboxGroup/index.d.ts +0 -2
  589. package/lib/CircleBadge/CircleBadge.d.ts +0 -27
  590. package/lib/CircleBadge/CircleBadge.d.ts.map +0 -1
  591. package/lib/CircleBadge/CircleBadge.js +0 -43
  592. package/lib/CircleBadge/index.d.ts +0 -3
  593. package/lib/CircleOcticon/CircleOcticon.d.ts +0 -13
  594. package/lib/CircleOcticon/CircleOcticon.d.ts.map +0 -1
  595. package/lib/CircleOcticon/CircleOcticon.js +0 -96
  596. package/lib/CircleOcticon/index.d.ts +0 -3
  597. package/lib/CircleOcticon/index.d.ts.map +0 -1
  598. package/lib/ConfirmationDialog/ConfirmationDialog-de0401ff.css +0 -2
  599. package/lib/ConfirmationDialog/ConfirmationDialog-de0401ff.css.map +0 -1
  600. package/lib/ConfirmationDialog/ConfirmationDialog.d.ts +0 -66
  601. package/lib/ConfirmationDialog/ConfirmationDialog.d.ts.map +0 -1
  602. package/lib/ConfirmationDialog/ConfirmationDialog.js +0 -169
  603. package/lib/ConfirmationDialog/ConfirmationDialog.module.css.js +0 -7
  604. package/lib/CounterLabel/CounterLabel-44fb5d16.css +0 -2
  605. package/lib/CounterLabel/CounterLabel-44fb5d16.css.map +0 -1
  606. package/lib/CounterLabel/CounterLabel.d.ts +0 -15
  607. package/lib/CounterLabel/CounterLabel.d.ts.map +0 -1
  608. package/lib/CounterLabel/CounterLabel.js +0 -145
  609. package/lib/CounterLabel/CounterLabel.module.css.js +0 -7
  610. package/lib/CounterLabel/index.d.ts +0 -3
  611. package/lib/DataTable/DataTable.d.ts +0 -57
  612. package/lib/DataTable/DataTable.js +0 -147
  613. package/lib/DataTable/ErrorDialog.d.ts +0 -18
  614. package/lib/DataTable/ErrorDialog.js +0 -50
  615. package/lib/DataTable/Pagination.d.ts +0 -43
  616. package/lib/DataTable/Pagination.d.ts.map +0 -1
  617. package/lib/DataTable/Pagination.js +0 -404
  618. package/lib/DataTable/Table-87f4043f.css +0 -2
  619. package/lib/DataTable/Table-87f4043f.css.map +0 -1
  620. package/lib/DataTable/Table.d.ts +0 -135
  621. package/lib/DataTable/Table.d.ts.map +0 -1
  622. package/lib/DataTable/Table.js +0 -751
  623. package/lib/DataTable/Table.module.css.js +0 -7
  624. package/lib/DataTable/__tests__/sorting.test.d.ts +0 -2
  625. package/lib/DataTable/column.d.ts +0 -62
  626. package/lib/DataTable/column.js +0 -16
  627. package/lib/DataTable/index.d.ts +0 -33
  628. package/lib/DataTable/index.js +0 -24
  629. package/lib/DataTable/row.d.ts +0 -4
  630. package/lib/DataTable/sorting.d.ts +0 -32
  631. package/lib/DataTable/sorting.js +0 -133
  632. package/lib/DataTable/storyHelpers.d.ts +0 -4
  633. package/lib/DataTable/storyHelpers.d.ts.map +0 -1
  634. package/lib/DataTable/storybook/data.d.ts +0 -41
  635. package/lib/DataTable/useTable.d.ts +0 -42
  636. package/lib/DataTable/useTable.js +0 -318
  637. package/lib/DataTable/utils.d.ts +0 -11
  638. package/lib/Details/Details-8093044f.css +0 -2
  639. package/lib/Details/Details-8093044f.css.map +0 -1
  640. package/lib/Details/Details.d.ts +0 -20
  641. package/lib/Details/Details.d.ts.map +0 -1
  642. package/lib/Details/Details.js +0 -207
  643. package/lib/Details/Details.module.css.js +0 -7
  644. package/lib/Details/index.d.ts +0 -3
  645. package/lib/Dialog/Dialog-8a809d11.css +0 -2
  646. package/lib/Dialog/Dialog-8a809d11.css.map +0 -1
  647. package/lib/Dialog/Dialog.d.ts +0 -188
  648. package/lib/Dialog/Dialog.js +0 -571
  649. package/lib/Dialog/Dialog.module.css.js +0 -7
  650. package/lib/DialogV1/Dialog-dce13989.css +0 -2
  651. package/lib/DialogV1/Dialog-dce13989.css.map +0 -1
  652. package/lib/DialogV1/Dialog.d.ts +0 -31
  653. package/lib/DialogV1/Dialog.js +0 -205
  654. package/lib/DialogV1/Dialog.module.css.js +0 -7
  655. package/lib/DialogV1/index.d.ts +0 -3
  656. package/lib/DropdownStyles.d.ts +0 -4
  657. package/lib/DropdownStyles.d.ts.map +0 -1
  658. package/lib/FeatureFlags/DefaultFeatureFlags.d.ts +0 -3
  659. package/lib/FeatureFlags/DefaultFeatureFlags.js +0 -15
  660. package/lib/FeatureFlags/FeatureFlagContext.d.ts +0 -3
  661. package/lib/FeatureFlags/FeatureFlagContext.js +0 -8
  662. package/lib/FeatureFlags/FeatureFlagScope.d.ts +0 -22
  663. package/lib/FeatureFlags/FeatureFlagScope.js +0 -47
  664. package/lib/FeatureFlags/FeatureFlags.d.ts +0 -7
  665. package/lib/FeatureFlags/FeatureFlags.js +0 -44
  666. package/lib/FeatureFlags/index.d.ts +0 -5
  667. package/lib/FeatureFlags/useFeatureFlag.d.ts +0 -5
  668. package/lib/FeatureFlags/useFeatureFlag.js +0 -25
  669. package/lib/FilteredActionList/FilteredActionList-e1dde781.css +0 -2
  670. package/lib/FilteredActionList/FilteredActionList-e1dde781.css.map +0 -1
  671. package/lib/FilteredActionList/FilteredActionList.module.css.js +0 -7
  672. package/lib/FilteredActionList/FilteredActionListEntry.d.ts +0 -7
  673. package/lib/FilteredActionList/FilteredActionListEntry.d.ts.map +0 -1
  674. package/lib/FilteredActionList/FilteredActionListEntry.js +0 -40
  675. package/lib/FilteredActionList/FilteredActionListLoaders-6f14c45b.css +0 -2
  676. package/lib/FilteredActionList/FilteredActionListLoaders-6f14c45b.css.map +0 -1
  677. package/lib/FilteredActionList/FilteredActionListLoaders.d.ts +0 -15
  678. package/lib/FilteredActionList/FilteredActionListLoaders.d.ts.map +0 -1
  679. package/lib/FilteredActionList/FilteredActionListLoaders.js +0 -182
  680. package/lib/FilteredActionList/FilteredActionListLoaders.module.css.js +0 -7
  681. package/lib/FilteredActionList/FilteredActionListWithDeprecatedActionList.d.ts +0 -23
  682. package/lib/FilteredActionList/FilteredActionListWithDeprecatedActionList.d.ts.map +0 -1
  683. package/lib/FilteredActionList/FilteredActionListWithDeprecatedActionList.js +0 -219
  684. package/lib/FilteredActionList/FilteredActionListWithModernActionList.d.ts +0 -25
  685. package/lib/FilteredActionList/FilteredActionListWithModernActionList.d.ts.map +0 -1
  686. package/lib/FilteredActionList/FilteredActionListWithModernActionList.js +0 -353
  687. package/lib/FilteredActionList/index.d.ts +0 -3
  688. package/lib/FilteredActionList/index.d.ts.map +0 -1
  689. package/lib/FilteredActionList/useAnnouncements.d.ts +0 -3
  690. package/lib/FilteredActionList/useAnnouncements.d.ts.map +0 -1
  691. package/lib/FilteredActionList/useAnnouncements.js +0 -149
  692. package/lib/Flash/Flash-a3596568.css +0 -2
  693. package/lib/Flash/Flash-a3596568.css.map +0 -1
  694. package/lib/Flash/Flash.d.ts +0 -11
  695. package/lib/Flash/Flash.d.ts.map +0 -1
  696. package/lib/Flash/Flash.js +0 -84
  697. package/lib/Flash/Flash.module.css.js +0 -7
  698. package/lib/Flash/index.d.ts +0 -3
  699. package/lib/FormControl/FormControl-fa33984d.css +0 -2
  700. package/lib/FormControl/FormControl-fa33984d.css.map +0 -1
  701. package/lib/FormControl/FormControl.d.ts +0 -62
  702. package/lib/FormControl/FormControl.d.ts.map +0 -1
  703. package/lib/FormControl/FormControl.js +0 -226
  704. package/lib/FormControl/FormControl.module.css.js +0 -7
  705. package/lib/FormControl/FormControlCaption-f58db5f7.css +0 -2
  706. package/lib/FormControl/FormControlCaption-f58db5f7.css.map +0 -1
  707. package/lib/FormControl/FormControlCaption.d.ts +0 -9
  708. package/lib/FormControl/FormControlCaption.js +0 -55
  709. package/lib/FormControl/FormControlCaption.module.css.js +0 -7
  710. package/lib/FormControl/FormControlLabel.d.ts +0 -18
  711. package/lib/FormControl/FormControlLabel.js +0 -120
  712. package/lib/FormControl/FormControlLeadingVisual.d.ts +0 -5
  713. package/lib/FormControl/FormControlLeadingVisual.js +0 -49
  714. package/lib/FormControl/_FormControlContext.d.ts +0 -25
  715. package/lib/FormControl/_FormControlContext.js +0 -60
  716. package/lib/FormControl/_FormControlValidation.d.ts +0 -11
  717. package/lib/FormControl/_FormControlValidation.js +0 -42
  718. package/lib/FormControl/index.d.ts +0 -3
  719. package/lib/Header/Header-aff64597.css +0 -2
  720. package/lib/Header/Header-aff64597.css.map +0 -1
  721. package/lib/Header/Header.d.ts +0 -20
  722. package/lib/Header/Header.d.ts.map +0 -1
  723. package/lib/Header/Header.js +0 -286
  724. package/lib/Header/Header.module.css.js +0 -7
  725. package/lib/Header/index.d.ts +0 -3
  726. package/lib/Heading/Heading-26b4879b.css +0 -2
  727. package/lib/Heading/Heading-26b4879b.css.map +0 -1
  728. package/lib/Heading/Heading.d.ts +0 -11
  729. package/lib/Heading/Heading.js +0 -57
  730. package/lib/Heading/Heading.module.css.js +0 -7
  731. package/lib/Heading/index.d.ts +0 -3
  732. package/lib/Hidden/Hidden-b3896306.css +0 -2
  733. package/lib/Hidden/Hidden-b3896306.css.map +0 -1
  734. package/lib/Hidden/Hidden.d.ts +0 -15
  735. package/lib/Hidden/Hidden.js +0 -83
  736. package/lib/Hidden/Hidden.module.css.js +0 -7
  737. package/lib/Hidden/index.d.ts +0 -6
  738. package/lib/InlineMessage/InlineMessage-80d97643.css +0 -2
  739. package/lib/InlineMessage/InlineMessage-80d97643.css.map +0 -1
  740. package/lib/InlineMessage/InlineMessage.d.ts +0 -16
  741. package/lib/InlineMessage/InlineMessage.d.ts.map +0 -1
  742. package/lib/InlineMessage/InlineMessage.js +0 -155
  743. package/lib/InlineMessage/InlineMessage.module.css.js +0 -7
  744. package/lib/InlineMessage/index.d.ts +0 -3
  745. package/lib/KeybindingHint/KeybindingHint-0856c11b.css +0 -2
  746. package/lib/KeybindingHint/KeybindingHint-0856c11b.css.map +0 -1
  747. package/lib/KeybindingHint/KeybindingHint.d.ts +0 -13
  748. package/lib/KeybindingHint/KeybindingHint.js +0 -97
  749. package/lib/KeybindingHint/KeybindingHint.module.css.js +0 -7
  750. package/lib/KeybindingHint/components/Chord.d.ts +0 -5
  751. package/lib/KeybindingHint/components/Chord.js +0 -127
  752. package/lib/KeybindingHint/components/Key.d.ts +0 -9
  753. package/lib/KeybindingHint/components/Key.js +0 -71
  754. package/lib/KeybindingHint/components/Sequence.d.ts +0 -5
  755. package/lib/KeybindingHint/components/Sequence.js +0 -29
  756. package/lib/KeybindingHint/index.d.ts +0 -3
  757. package/lib/KeybindingHint/key-names.d.ts +0 -16
  758. package/lib/KeybindingHint/key-names.js +0 -131
  759. package/lib/KeybindingHint/props.d.ts +0 -37
  760. package/lib/Label/Label-7904957c.css +0 -2
  761. package/lib/Label/Label-7904957c.css.map +0 -1
  762. package/lib/Label/Label.d.ts +0 -14
  763. package/lib/Label/Label.d.ts.map +0 -1
  764. package/lib/Label/Label.js +0 -104
  765. package/lib/Label/Label.module.css.js +0 -7
  766. package/lib/Label/index.d.ts +0 -5
  767. package/lib/Label/index.js +0 -7
  768. package/lib/LabelGroup/LabelGroup.d.ts +0 -14
  769. package/lib/LabelGroup/LabelGroup.d.ts.map +0 -1
  770. package/lib/LabelGroup/LabelGroup.js +0 -367
  771. package/lib/LabelGroup/index.d.ts +0 -3
  772. package/lib/Link/Link-948b910e.css +0 -2
  773. package/lib/Link/Link-948b910e.css.map +0 -1
  774. package/lib/Link/Link.d.ts +0 -15
  775. package/lib/Link/Link.js +0 -66
  776. package/lib/Link/Link.module.css.js +0 -7
  777. package/lib/Link/index.d.ts +0 -3
  778. package/lib/NavList/NavList.d.ts +0 -54
  779. package/lib/NavList/NavList.js +0 -752
  780. package/lib/NavList/index.d.ts +0 -2
  781. package/lib/Octicon/Octicon.d.ts +0 -17
  782. package/lib/Octicon/Octicon.js +0 -66
  783. package/lib/Octicon/index.d.ts +0 -3
  784. package/lib/Overlay/Overlay-aeb12fc3.css +0 -2
  785. package/lib/Overlay/Overlay-aeb12fc3.css.map +0 -1
  786. package/lib/Overlay/Overlay.d.ts +0 -94
  787. package/lib/Overlay/Overlay.js +0 -349
  788. package/lib/Overlay/Overlay.module.css.js +0 -7
  789. package/lib/Overlay/index.d.ts +0 -3
  790. package/lib/PageHeader/PageHeader-4e1d8fee.css +0 -2
  791. package/lib/PageHeader/PageHeader-4e1d8fee.css.map +0 -1
  792. package/lib/PageHeader/PageHeader.d.ts +0 -50
  793. package/lib/PageHeader/PageHeader.d.ts.map +0 -1
  794. package/lib/PageHeader/PageHeader.js +0 -1032
  795. package/lib/PageHeader/PageHeader.module.css.js +0 -7
  796. package/lib/PageHeader/index.d.ts +0 -2
  797. package/lib/PageLayout/PageLayout-8a294e74.css +0 -2
  798. package/lib/PageLayout/PageLayout-8a294e74.css.map +0 -1
  799. package/lib/PageLayout/PageLayout.d.ts +0 -231
  800. package/lib/PageLayout/PageLayout.d.ts.map +0 -1
  801. package/lib/PageLayout/PageLayout.js +0 -1260
  802. package/lib/PageLayout/PageLayout.module.css.js +0 -7
  803. package/lib/PageLayout/index.d.ts +0 -2
  804. package/lib/Pagehead/Pagehead-0744ffce.css +0 -2
  805. package/lib/Pagehead/Pagehead-0744ffce.css.map +0 -1
  806. package/lib/Pagehead/Pagehead.d.ts +0 -11
  807. package/lib/Pagehead/Pagehead.d.ts.map +0 -1
  808. package/lib/Pagehead/Pagehead.js +0 -28
  809. package/lib/Pagehead/Pagehead.module.css.js +0 -7
  810. package/lib/Pagehead/index.d.ts +0 -3
  811. package/lib/Pagination/Pagination-e98833e8.css +0 -2
  812. package/lib/Pagination/Pagination-e98833e8.css.map +0 -1
  813. package/lib/Pagination/Pagination.d.ts +0 -24
  814. package/lib/Pagination/Pagination.js +0 -115
  815. package/lib/Pagination/Pagination.module.css.js +0 -7
  816. package/lib/Pagination/index.d.ts +0 -4
  817. package/lib/Pagination/index.js +0 -7
  818. package/lib/Pagination/mocks/ReactRouterLink.d.ts +0 -8
  819. package/lib/Pagination/model.d.ts +0 -26
  820. package/lib/Pagination/model.js +0 -202
  821. package/lib/Placeholder.d.ts +0 -9
  822. package/lib/PointerBox/PointerBox.d.ts +0 -20
  823. package/lib/PointerBox/PointerBox.d.ts.map +0 -1
  824. package/lib/PointerBox/PointerBox.js +0 -67
  825. package/lib/PointerBox/index.d.ts +0 -3
  826. package/lib/PointerBox/index.d.ts.map +0 -1
  827. package/lib/Popover/Popover-e16fd997.css +0 -2
  828. package/lib/Popover/Popover-e16fd997.css.map +0 -1
  829. package/lib/Popover/Popover.d.ts +0 -24
  830. package/lib/Popover/Popover.d.ts.map +0 -1
  831. package/lib/Popover/Popover.js +0 -121
  832. package/lib/Popover/Popover.module.css.js +0 -7
  833. package/lib/Popover/index.d.ts +0 -3
  834. package/lib/Portal/Portal.d.ts +0 -26
  835. package/lib/Portal/Portal.d.ts.map +0 -1
  836. package/lib/Portal/Portal.js +0 -90
  837. package/lib/Portal/index.d.ts +0 -6
  838. package/lib/Portal/index.d.ts.map +0 -1
  839. package/lib/Portal/index.js +0 -10
  840. package/lib/ProgressBar/ProgressBar-430cdef7.css +0 -2
  841. package/lib/ProgressBar/ProgressBar-430cdef7.css.map +0 -1
  842. package/lib/ProgressBar/ProgressBar.d.ts +0 -35
  843. package/lib/ProgressBar/ProgressBar.d.ts.map +0 -1
  844. package/lib/ProgressBar/ProgressBar.js +0 -266
  845. package/lib/ProgressBar/ProgressBar.module.css.js +0 -7
  846. package/lib/ProgressBar/index.d.ts +0 -26
  847. package/lib/ProgressBar/index.d.ts.map +0 -1
  848. package/lib/ProgressBar/index.js +0 -12
  849. package/lib/Radio/Radio-b2a92b7d.css +0 -2
  850. package/lib/Radio/Radio-b2a92b7d.css.map +0 -1
  851. package/lib/Radio/Radio.d.ts +0 -36
  852. package/lib/Radio/Radio.d.ts.map +0 -1
  853. package/lib/Radio/Radio.js +0 -176
  854. package/lib/Radio/Radio.module.css.js +0 -7
  855. package/lib/Radio/index.d.ts +0 -3
  856. package/lib/RadioGroup/RadioGroup.d.ts +0 -30
  857. package/lib/RadioGroup/RadioGroup.d.ts.map +0 -1
  858. package/lib/RadioGroup/RadioGroup.js +0 -126
  859. package/lib/RadioGroup/index.d.ts +0 -2
  860. package/lib/RadioGroup/index.d.ts.map +0 -1
  861. package/lib/RelativeTime/RelativeTime.d.ts +0 -9
  862. package/lib/RelativeTime/RelativeTime.d.ts.map +0 -1
  863. package/lib/RelativeTime/RelativeTime.js +0 -84
  864. package/lib/RelativeTime/index.d.ts +0 -3
  865. package/lib/ScrollableRegion/ScrollableRegion.d.ts +0 -13
  866. package/lib/ScrollableRegion/ScrollableRegion.js +0 -82
  867. package/lib/ScrollableRegion/index.d.ts +0 -3
  868. package/lib/SegmentedControl/SegmentedControl-459caec8.css +0 -2
  869. package/lib/SegmentedControl/SegmentedControl-459caec8.css.map +0 -1
  870. package/lib/SegmentedControl/SegmentedControl.d.ts +0 -26
  871. package/lib/SegmentedControl/SegmentedControl.d.ts.map +0 -1
  872. package/lib/SegmentedControl/SegmentedControl.js +0 -253
  873. package/lib/SegmentedControl/SegmentedControl.module.css.js +0 -7
  874. package/lib/SegmentedControl/SegmentedControlButton.d.ts +0 -17
  875. package/lib/SegmentedControl/SegmentedControlButton.d.ts.map +0 -1
  876. package/lib/SegmentedControl/SegmentedControlButton.js +0 -153
  877. package/lib/SegmentedControl/SegmentedControlIconButton.d.ts +0 -21
  878. package/lib/SegmentedControl/SegmentedControlIconButton.d.ts.map +0 -1
  879. package/lib/SegmentedControl/SegmentedControlIconButton.js +0 -238
  880. package/lib/SegmentedControl/index.d.ts +0 -2
  881. package/lib/SegmentedControl/index.d.ts.map +0 -1
  882. package/lib/Select/Select-ab428dc7.css +0 -2
  883. package/lib/Select/Select-ab428dc7.css.map +0 -1
  884. package/lib/Select/Select.d.ts +0 -14
  885. package/lib/Select/Select.d.ts.map +0 -1
  886. package/lib/Select/Select.js +0 -249
  887. package/lib/Select/Select.module.css.js +0 -7
  888. package/lib/Select/index.d.ts +0 -3
  889. package/lib/SelectPanel/SelectPanel-bfde365c.css +0 -2
  890. package/lib/SelectPanel/SelectPanel-bfde365c.css.map +0 -1
  891. package/lib/SelectPanel/SelectPanel.d.ts +0 -83
  892. package/lib/SelectPanel/SelectPanel.d.ts.map +0 -1
  893. package/lib/SelectPanel/SelectPanel.js +0 -718
  894. package/lib/SelectPanel/SelectPanel.module.css.js +0 -7
  895. package/lib/SelectPanel/SelectPanelMessage.d.ts +0 -9
  896. package/lib/SelectPanel/SelectPanelMessage.d.ts.map +0 -1
  897. package/lib/SelectPanel/SelectPanelMessage.js +0 -33
  898. package/lib/SelectPanel/index.d.ts +0 -3
  899. package/lib/SelectPanel/index.d.ts.map +0 -1
  900. package/lib/SelectPanel/types.d.ts +0 -4
  901. package/lib/SelectPanel/types.d.ts.map +0 -1
  902. package/lib/SideNav-baa2364d.css +0 -2
  903. package/lib/SideNav-baa2364d.css.map +0 -1
  904. package/lib/SideNav.d.ts +0 -35
  905. package/lib/SideNav.d.ts.map +0 -1
  906. package/lib/SideNav.js +0 -62
  907. package/lib/SideNav.module.css.js +0 -7
  908. package/lib/Skeleton/SkeletonBox-248bfcc3.css +0 -2
  909. package/lib/Skeleton/SkeletonBox-248bfcc3.css.map +0 -1
  910. package/lib/Skeleton/SkeletonBox.d.ts +0 -12
  911. package/lib/Skeleton/SkeletonBox.d.ts.map +0 -1
  912. package/lib/Skeleton/SkeletonBox.js +0 -85
  913. package/lib/Skeleton/SkeletonBox.module.css.js +0 -7
  914. package/lib/Skeleton/index.d.ts +0 -5
  915. package/lib/Spinner/Spinner-2dbceeca.css +0 -2
  916. package/lib/Spinner/Spinner-2dbceeca.css.map +0 -1
  917. package/lib/Spinner/Spinner.d.ts +0 -24
  918. package/lib/Spinner/Spinner.d.ts.map +0 -1
  919. package/lib/Spinner/Spinner.js +0 -212
  920. package/lib/Spinner/Spinner.module.css.js +0 -7
  921. package/lib/Spinner/index.d.ts +0 -3
  922. package/lib/SplitPageLayout/SplitPageLayout.d.ts +0 -22
  923. package/lib/SplitPageLayout/SplitPageLayout.d.ts.map +0 -1
  924. package/lib/SplitPageLayout/SplitPageLayout.js +0 -239
  925. package/lib/SplitPageLayout/index.d.ts +0 -2
  926. package/lib/Stack/Stack-83ac2229.css +0 -2
  927. package/lib/Stack/Stack-83ac2229.css.map +0 -1
  928. package/lib/Stack/Stack.d.ts +0 -69
  929. package/lib/Stack/Stack.d.ts.map +0 -1
  930. package/lib/Stack/Stack.js +0 -220
  931. package/lib/Stack/Stack.module.css.js +0 -7
  932. package/lib/Stack/index.d.ts +0 -5
  933. package/lib/Stack/index.js +0 -9
  934. package/lib/StateLabel/StateLabel.d.ts +0 -25
  935. package/lib/StateLabel/StateLabel.d.ts.map +0 -1
  936. package/lib/StateLabel/StateLabel.js +0 -202
  937. package/lib/StateLabel/index.d.ts +0 -3
  938. package/lib/SubNav/SubNav-88128e5c.css +0 -2
  939. package/lib/SubNav/SubNav-88128e5c.css.map +0 -1
  940. package/lib/SubNav/SubNav.d.ts +0 -27
  941. package/lib/SubNav/SubNav.d.ts.map +0 -1
  942. package/lib/SubNav/SubNav.js +0 -348
  943. package/lib/SubNav/SubNav.module.css.js +0 -7
  944. package/lib/SubNav/index.d.ts +0 -3
  945. package/lib/TabNav/TabNav-9753d6ed.css +0 -2
  946. package/lib/TabNav/TabNav-9753d6ed.css.map +0 -1
  947. package/lib/TabNav/TabNav.d.ts +0 -29
  948. package/lib/TabNav/TabNav.js +0 -216
  949. package/lib/TabNav/TabNav.module.css.js +0 -7
  950. package/lib/TabNav/index.d.ts +0 -3
  951. package/lib/Text/Text-ca7603b7.css +0 -2
  952. package/lib/Text/Text-ca7603b7.css.map +0 -1
  953. package/lib/Text/Text.d.ts +0 -13
  954. package/lib/Text/Text.d.ts.map +0 -1
  955. package/lib/Text/Text.js +0 -78
  956. package/lib/Text/Text.module.css.js +0 -7
  957. package/lib/Text/index.d.ts +0 -3
  958. package/lib/TextInput/TextInput.d.ts +0 -43
  959. package/lib/TextInput/TextInput.d.ts.map +0 -1
  960. package/lib/TextInput/TextInput.js +0 -125
  961. package/lib/TextInput/index.d.ts +0 -3
  962. package/lib/TextInputWithTokens/TextInputWithTokens-fb9b5109.css +0 -2
  963. package/lib/TextInputWithTokens/TextInputWithTokens-fb9b5109.css.map +0 -1
  964. package/lib/TextInputWithTokens/TextInputWithTokens.d.ts +0 -86
  965. package/lib/TextInputWithTokens/TextInputWithTokens.d.ts.map +0 -1
  966. package/lib/TextInputWithTokens/TextInputWithTokens.js +0 -633
  967. package/lib/TextInputWithTokens/TextInputWithTokens.module.css.js +0 -7
  968. package/lib/TextInputWithTokens/index.d.ts +0 -3
  969. package/lib/Textarea/TextArea-54099020.css +0 -2
  970. package/lib/Textarea/TextArea-54099020.css.map +0 -1
  971. package/lib/Textarea/TextArea.module.css.js +0 -7
  972. package/lib/Textarea/Textarea.d.ts +0 -65
  973. package/lib/Textarea/Textarea.d.ts.map +0 -1
  974. package/lib/Textarea/Textarea.js +0 -138
  975. package/lib/Textarea/index.d.ts +0 -3
  976. package/lib/ThemeProvider.d.ts +0 -30
  977. package/lib/ThemeProvider.js +0 -233
  978. package/lib/Timeline/Timeline-e8e88a13.css +0 -2
  979. package/lib/Timeline/Timeline-e8e88a13.css.map +0 -1
  980. package/lib/Timeline/Timeline.d.ts +0 -51
  981. package/lib/Timeline/Timeline.d.ts.map +0 -1
  982. package/lib/Timeline/Timeline.js +0 -418
  983. package/lib/Timeline/Timeline.module.css.js +0 -7
  984. package/lib/Timeline/index.d.ts +0 -3
  985. package/lib/ToggleSwitch/ToggleSwitch.d.ts +0 -31
  986. package/lib/ToggleSwitch/ToggleSwitch.d.ts.map +0 -1
  987. package/lib/ToggleSwitch/ToggleSwitch.js +0 -480
  988. package/lib/ToggleSwitch/ToggleSwitchStoryWrapper.d.ts +0 -4
  989. package/lib/ToggleSwitch/ToggleSwitchStoryWrapper.d.ts.map +0 -1
  990. package/lib/ToggleSwitch/index.d.ts +0 -3
  991. package/lib/Token/AvatarToken-ff45cc85.css +0 -2
  992. package/lib/Token/AvatarToken-ff45cc85.css.map +0 -1
  993. package/lib/Token/AvatarToken.d.ts +0 -8
  994. package/lib/Token/AvatarToken.d.ts.map +0 -1
  995. package/lib/Token/AvatarToken.js +0 -99
  996. package/lib/Token/AvatarToken.module.css.js +0 -7
  997. package/lib/Token/IssueLabelToken-99c9b914.css +0 -2
  998. package/lib/Token/IssueLabelToken-99c9b914.css.map +0 -1
  999. package/lib/Token/IssueLabelToken.d.ts +0 -11
  1000. package/lib/Token/IssueLabelToken.d.ts.map +0 -1
  1001. package/lib/Token/IssueLabelToken.js +0 -141
  1002. package/lib/Token/IssueLabelToken.module.css.js +0 -7
  1003. package/lib/Token/Token-942271b0.css +0 -2
  1004. package/lib/Token/Token-942271b0.css.map +0 -1
  1005. package/lib/Token/Token.d.ts +0 -13
  1006. package/lib/Token/Token.d.ts.map +0 -1
  1007. package/lib/Token/Token.js +0 -294
  1008. package/lib/Token/Token.module.css.js +0 -7
  1009. package/lib/Token/TokenBase-0386597b.css +0 -2
  1010. package/lib/Token/TokenBase-0386597b.css.map +0 -1
  1011. package/lib/Token/TokenBase.d.ts +0 -42
  1012. package/lib/Token/TokenBase.js +0 -150
  1013. package/lib/Token/TokenBase.module.css.js +0 -7
  1014. package/lib/Token/_RemoveTokenButton-d7f5985b.css +0 -2
  1015. package/lib/Token/_RemoveTokenButton-d7f5985b.css.map +0 -1
  1016. package/lib/Token/_RemoveTokenButton.d.ts +0 -14
  1017. package/lib/Token/_RemoveTokenButton.js +0 -39
  1018. package/lib/Token/_RemoveTokenButton.module.css.js +0 -7
  1019. package/lib/Token/_TokenTextContainer-2ab10996.css +0 -2
  1020. package/lib/Token/_TokenTextContainer-2ab10996.css.map +0 -1
  1021. package/lib/Token/_TokenTextContainer.d.ts +0 -5
  1022. package/lib/Token/_TokenTextContainer.js +0 -49
  1023. package/lib/Token/_TokenTextContainer.module.css.js +0 -7
  1024. package/lib/Token/index.d.ts +0 -7
  1025. package/lib/Token/index.d.ts.map +0 -1
  1026. package/lib/Tooltip/Tooltip.d.ts +0 -27
  1027. package/lib/Tooltip/Tooltip.js +0 -146
  1028. package/lib/Tooltip/index.d.ts +0 -3
  1029. package/lib/TooltipV2/Tooltip-59734b6f.css +0 -2
  1030. package/lib/TooltipV2/Tooltip-59734b6f.css.map +0 -1
  1031. package/lib/TooltipV2/Tooltip.d.ts +0 -22
  1032. package/lib/TooltipV2/Tooltip.d.ts.map +0 -1
  1033. package/lib/TooltipV2/Tooltip.js +0 -301
  1034. package/lib/TooltipV2/Tooltip.module.css.js +0 -7
  1035. package/lib/TooltipV2/index.d.ts +0 -3
  1036. package/lib/TreeView/TreeView-cd08cabc.css +0 -2
  1037. package/lib/TreeView/TreeView-cd08cabc.css.map +0 -1
  1038. package/lib/TreeView/TreeView.d.ts +0 -55
  1039. package/lib/TreeView/TreeView.d.ts.map +0 -1
  1040. package/lib/TreeView/TreeView.js +0 -1166
  1041. package/lib/TreeView/TreeView.module.css.js +0 -7
  1042. package/lib/TreeView/index.d.ts +0 -2
  1043. package/lib/TreeView/shared.d.ts +0 -5
  1044. package/lib/TreeView/shared.js +0 -15
  1045. package/lib/TreeView/useRovingTabIndex.d.ts +0 -13
  1046. package/lib/TreeView/useRovingTabIndex.js +0 -236
  1047. package/lib/TreeView/useTypeahead.d.ts +0 -8
  1048. package/lib/TreeView/useTypeahead.js +0 -122
  1049. package/lib/Truncate/Truncate-030d5f52.css +0 -2
  1050. package/lib/Truncate/Truncate-030d5f52.css.map +0 -1
  1051. package/lib/Truncate/Truncate.d.ts +0 -13
  1052. package/lib/Truncate/Truncate.d.ts.map +0 -1
  1053. package/lib/Truncate/Truncate.js +0 -45
  1054. package/lib/Truncate/Truncate.module.css.js +0 -7
  1055. package/lib/Truncate/index.d.ts +0 -3
  1056. package/lib/UnderlineNav/UnderlineNav.d.ts +0 -25
  1057. package/lib/UnderlineNav/UnderlineNav.d.ts.map +0 -1
  1058. package/lib/UnderlineNav/UnderlineNav.js +0 -374
  1059. package/lib/UnderlineNav/UnderlineNavContext.d.ts +0 -16
  1060. package/lib/UnderlineNav/UnderlineNavContext.js +0 -13
  1061. package/lib/UnderlineNav/UnderlineNavItem.d.ts +0 -43
  1062. package/lib/UnderlineNav/UnderlineNavItem.d.ts.map +0 -1
  1063. package/lib/UnderlineNav/UnderlineNavItem.js +0 -183
  1064. package/lib/UnderlineNav/index.d.ts +0 -8
  1065. package/lib/UnderlineNav/index.js +0 -10
  1066. package/lib/UnderlineNav/styles.d.ts +0 -38
  1067. package/lib/UnderlineNav/styles.js +0 -81
  1068. package/lib/UnderlineNav/types.d.ts +0 -10
  1069. package/lib/VisuallyHidden/VisuallyHidden-ce2a3270.css +0 -2
  1070. package/lib/VisuallyHidden/VisuallyHidden-ce2a3270.css.map +0 -1
  1071. package/lib/VisuallyHidden/VisuallyHidden.d.ts +0 -18
  1072. package/lib/VisuallyHidden/VisuallyHidden.d.ts.map +0 -1
  1073. package/lib/VisuallyHidden/VisuallyHidden.js +0 -87
  1074. package/lib/VisuallyHidden/VisuallyHidden.module.css.js +0 -7
  1075. package/lib/VisuallyHidden/index.d.ts +0 -3
  1076. package/lib/_VisuallyHidden.d.ts +0 -7
  1077. package/lib/_VisuallyHidden.d.ts.map +0 -1
  1078. package/lib/_VisuallyHidden.js +0 -32
  1079. package/lib/constants.d.ts +0 -15
  1080. package/lib/constants.js +0 -52
  1081. package/lib/deprecated/ActionList/Divider.d.ts +0 -9
  1082. package/lib/deprecated/ActionList/Divider.js +0 -41
  1083. package/lib/deprecated/ActionList/Group.d.ts +0 -29
  1084. package/lib/deprecated/ActionList/Group.js +0 -67
  1085. package/lib/deprecated/ActionList/Header.d.ts +0 -30
  1086. package/lib/deprecated/ActionList/Header.js +0 -83
  1087. package/lib/deprecated/ActionList/Item.d.ts +0 -98
  1088. package/lib/deprecated/ActionList/Item.js +0 -457
  1089. package/lib/deprecated/ActionList/List.d.ts +0 -94
  1090. package/lib/deprecated/ActionList/List.d.ts.map +0 -1
  1091. package/lib/deprecated/ActionList/List.js +0 -228
  1092. package/lib/deprecated/ActionList/index.d.ts +0 -17
  1093. package/lib/deprecated/ActionList/index.js +0 -20
  1094. package/lib/deprecated/ActionMenu.d.ts +0 -44
  1095. package/lib/deprecated/ActionMenu.js +0 -201
  1096. package/lib/deprecated/FilteredSearch/FilteredSearch.d.ts +0 -10
  1097. package/lib/deprecated/FilteredSearch/FilteredSearch.d.ts.map +0 -1
  1098. package/lib/deprecated/FilteredSearch/FilteredSearch.js +0 -20
  1099. package/lib/deprecated/FilteredSearch/index.d.ts +0 -3
  1100. package/lib/deprecated/UnderlineNav/UnderlineNav.d.ts +0 -26
  1101. package/lib/deprecated/UnderlineNav/UnderlineNav.d.ts.map +0 -1
  1102. package/lib/deprecated/UnderlineNav/UnderlineNav.js +0 -131
  1103. package/lib/deprecated/UnderlineNav/index.d.ts +0 -3
  1104. package/lib/deprecated/index.d.ts +0 -26
  1105. package/lib/deprecated/index.js +0 -24
  1106. package/lib/deprecated/utils/create-slots.d.ts +0 -21
  1107. package/lib/experimental/CSSComponent/index.d.ts +0 -3
  1108. package/lib/experimental/IssueLabel/IssueLabel-5507fbf3.css +0 -2
  1109. package/lib/experimental/IssueLabel/IssueLabel-5507fbf3.css.map +0 -1
  1110. package/lib/experimental/IssueLabel/IssueLabel.d.ts +0 -17
  1111. package/lib/experimental/IssueLabel/IssueLabel.d.ts.map +0 -1
  1112. package/lib/experimental/IssueLabel/IssueLabel.js +0 -186
  1113. package/lib/experimental/IssueLabel/IssueLabel.module.css.js +0 -7
  1114. package/lib/experimental/IssueLabel/getColorFromHex.d.ts +0 -10
  1115. package/lib/experimental/IssueLabel/getColorFromHex.js +0 -155
  1116. package/lib/experimental/IssueLabel/index.d.ts +0 -3
  1117. package/lib/experimental/SelectPanel2/SelectPanel-e919f619.css +0 -2
  1118. package/lib/experimental/SelectPanel2/SelectPanel-e919f619.css.map +0 -1
  1119. package/lib/experimental/SelectPanel2/SelectPanel.d.ts +0 -76
  1120. package/lib/experimental/SelectPanel2/SelectPanel.js +0 -971
  1121. package/lib/experimental/SelectPanel2/SelectPanel.module.css.js +0 -7
  1122. package/lib/experimental/SelectPanel2/index.d.ts +0 -2
  1123. package/lib/experimental/SelectPanel2/mock-story-data.d.ts +0 -67
  1124. package/lib/experimental/Skeleton/SkeletonAvatar-e00fff32.css +0 -2
  1125. package/lib/experimental/Skeleton/SkeletonAvatar-e00fff32.css.map +0 -1
  1126. package/lib/experimental/Skeleton/SkeletonAvatar.d.ts +0 -8
  1127. package/lib/experimental/Skeleton/SkeletonAvatar.d.ts.map +0 -1
  1128. package/lib/experimental/Skeleton/SkeletonAvatar.js +0 -130
  1129. package/lib/experimental/Skeleton/SkeletonAvatar.module.css.js +0 -7
  1130. package/lib/experimental/Skeleton/SkeletonText-5cf908c1.css +0 -2
  1131. package/lib/experimental/Skeleton/SkeletonText-5cf908c1.css.map +0 -1
  1132. package/lib/experimental/Skeleton/SkeletonText.d.ts +0 -15
  1133. package/lib/experimental/Skeleton/SkeletonText.d.ts.map +0 -1
  1134. package/lib/experimental/Skeleton/SkeletonText.js +0 -149
  1135. package/lib/experimental/Skeleton/SkeletonText.module.css.js +0 -7
  1136. package/lib/experimental/Skeleton/index.d.ts +0 -4
  1137. package/lib/experimental/Skeleton/index.d.ts.map +0 -1
  1138. package/lib/experimental/UnderlinePanels/UnderlinePanels-e4b325b9.css +0 -2
  1139. package/lib/experimental/UnderlinePanels/UnderlinePanels-e4b325b9.css.map +0 -1
  1140. package/lib/experimental/UnderlinePanels/UnderlinePanels.d.ts +0 -55
  1141. package/lib/experimental/UnderlinePanels/UnderlinePanels.d.ts.map +0 -1
  1142. package/lib/experimental/UnderlinePanels/UnderlinePanels.js +0 -218
  1143. package/lib/experimental/UnderlinePanels/UnderlinePanels.module.css.js +0 -7
  1144. package/lib/experimental/UnderlinePanels/index.d.ts +0 -4
  1145. package/lib/experimental/hooks/index.d.ts +0 -3
  1146. package/lib/experimental/index.d.ts +0 -44
  1147. package/lib/experimental/index.d.ts.map +0 -1
  1148. package/lib/experimental/index.js +0 -69
  1149. package/lib/hooks/index.d.ts +0 -19
  1150. package/lib/hooks/useAnchoredPosition.d.ts +0 -23
  1151. package/lib/hooks/useAnchoredPosition.js +0 -93
  1152. package/lib/hooks/useControllableState.d.ts +0 -35
  1153. package/lib/hooks/useControllableState.js +0 -66
  1154. package/lib/hooks/useDetails.d.ts +0 -17
  1155. package/lib/hooks/useDetails.js +0 -104
  1156. package/lib/hooks/useDialog.d.ts +0 -16
  1157. package/lib/hooks/useDialog.js +0 -188
  1158. package/lib/hooks/useFocusTrap.d.ts +0 -40
  1159. package/lib/hooks/useFocusTrap.js +0 -63
  1160. package/lib/hooks/useFocusZone.d.ts +0 -26
  1161. package/lib/hooks/useFocusZone.js +0 -50
  1162. package/lib/hooks/useId.d.ts +0 -9
  1163. package/lib/hooks/useId.js +0 -20
  1164. package/lib/hooks/useIsMacOS.d.ts +0 -7
  1165. package/lib/hooks/useIsMacOS.js +0 -34
  1166. package/lib/hooks/useMedia.d.ts +0 -39
  1167. package/lib/hooks/useMedia.js +0 -92
  1168. package/lib/hooks/useMenuInitialFocus.d.ts +0 -3
  1169. package/lib/hooks/useMenuInitialFocus.js +0 -72
  1170. package/lib/hooks/useMenuKeyboardNavigation.d.ts +0 -11
  1171. package/lib/hooks/useMenuKeyboardNavigation.js +0 -165
  1172. package/lib/hooks/useMnemonics.d.ts +0 -5
  1173. package/lib/hooks/useMnemonics.js +0 -119
  1174. package/lib/hooks/useOnEscapePress.d.ts +0 -23
  1175. package/lib/hooks/useOnEscapePress.js +0 -72
  1176. package/lib/hooks/useOnOutsideClick.d.ts +0 -9
  1177. package/lib/hooks/useOnOutsideClick.js +0 -77
  1178. package/lib/hooks/useOpenAndCloseFocus.d.ts +0 -9
  1179. package/lib/hooks/useOpenAndCloseFocus.js +0 -55
  1180. package/lib/hooks/useOverflow.d.ts +0 -2
  1181. package/lib/hooks/useOverflow.js +0 -45
  1182. package/lib/hooks/useOverlay.d.ts +0 -15
  1183. package/lib/hooks/useOverlay.js +0 -79
  1184. package/lib/hooks/useProvidedRefOrCreate.d.ts +0 -11
  1185. package/lib/hooks/useProvidedRefOrCreate.js +0 -22
  1186. package/lib/hooks/useProvidedStateOrCreate.d.ts +0 -11
  1187. package/lib/hooks/useProvidedStateOrCreate.js +0 -45
  1188. package/lib/hooks/useRefObjectAsForwardedRef.d.ts +0 -10
  1189. package/lib/hooks/useRefObjectAsForwardedRef.js +0 -26
  1190. package/lib/hooks/useRenderForcingRef.d.ts +0 -9
  1191. package/lib/hooks/useRenderForcingRef.js +0 -22
  1192. package/lib/hooks/useResizeObserver.d.ts +0 -7
  1193. package/lib/hooks/useResizeObserver.js +0 -49
  1194. package/lib/hooks/useResponsiveValue.d.ts +0 -31
  1195. package/lib/hooks/useResponsiveValue.js +0 -69
  1196. package/lib/hooks/useSafeTimeout.d.ts +0 -13
  1197. package/lib/hooks/useSafeTimeout.js +0 -36
  1198. package/lib/hooks/useScrollFlash.d.ts +0 -7
  1199. package/lib/hooks/useScrollFlash.js +0 -26
  1200. package/lib/hooks/useSlots.d.ts +0 -20
  1201. package/lib/hooks/useSlots.js +0 -77
  1202. package/lib/hooks/useSyncedState.d.ts +0 -15
  1203. package/lib/hooks/useSyncedState.js +0 -43
  1204. package/lib/index.d.ts +0 -148
  1205. package/lib/index.d.ts.map +0 -1
  1206. package/lib/index.js +0 -196
  1207. package/lib/internal/components/BoxWithFallback.d.ts +0 -6
  1208. package/lib/internal/components/BoxWithFallback.js +0 -71
  1209. package/lib/internal/components/ButtonReset.d.ts +0 -6
  1210. package/lib/internal/components/ButtonReset.d.ts.map +0 -1
  1211. package/lib/internal/components/ButtonReset.js +0 -18
  1212. package/lib/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroup-e38b5339.css +0 -2
  1213. package/lib/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroup-e38b5339.css.map +0 -1
  1214. package/lib/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroup.d.ts +0 -35
  1215. package/lib/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroup.js +0 -107
  1216. package/lib/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroup.module.css.js +0 -7
  1217. package/lib/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupCaption.d.ts +0 -8
  1218. package/lib/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupCaption.js +0 -31
  1219. package/lib/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupContext.d.ts +0 -9
  1220. package/lib/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupContext.js +0 -11
  1221. package/lib/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupLabel.d.ts +0 -13
  1222. package/lib/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupLabel.js +0 -45
  1223. package/lib/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupValidation.d.ts +0 -10
  1224. package/lib/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupValidation.js +0 -29
  1225. package/lib/internal/components/CheckboxOrRadioGroup/index.d.ts +0 -4
  1226. package/lib/internal/components/ConditionalWrapper.d.ts +0 -6
  1227. package/lib/internal/components/ConditionalWrapper.js +0 -52
  1228. package/lib/internal/components/InputLabel-eb267c58.css +0 -2
  1229. package/lib/internal/components/InputLabel-eb267c58.css.map +0 -1
  1230. package/lib/internal/components/InputLabel.d.ts +0 -23
  1231. package/lib/internal/components/InputLabel.js +0 -125
  1232. package/lib/internal/components/InputLabel.module.css.js +0 -7
  1233. package/lib/internal/components/InputValidation-057236a4.css +0 -2
  1234. package/lib/internal/components/InputValidation-057236a4.css.map +0 -1
  1235. package/lib/internal/components/InputValidation.d.ts +0 -11
  1236. package/lib/internal/components/InputValidation.js +0 -93
  1237. package/lib/internal/components/InputValidation.module.css.js +0 -7
  1238. package/lib/internal/components/LiveRegion.d.ts +0 -14
  1239. package/lib/internal/components/LiveRegion.js +0 -141
  1240. package/lib/internal/components/TextInputInnerAction-477e9b99.css +0 -2
  1241. package/lib/internal/components/TextInputInnerAction-477e9b99.css.map +0 -1
  1242. package/lib/internal/components/TextInputInnerAction.d.ts +0 -21
  1243. package/lib/internal/components/TextInputInnerAction.js +0 -191
  1244. package/lib/internal/components/TextInputInnerAction.module.css.js +0 -7
  1245. package/lib/internal/components/TextInputInnerVisualSlot-4a14b955.css +0 -2
  1246. package/lib/internal/components/TextInputInnerVisualSlot-4a14b955.css.map +0 -1
  1247. package/lib/internal/components/TextInputInnerVisualSlot.d.ts +0 -14
  1248. package/lib/internal/components/TextInputInnerVisualSlot.js +0 -98
  1249. package/lib/internal/components/TextInputInnerVisualSlot.module.css.js +0 -7
  1250. package/lib/internal/components/TextInputWrapper-ca608f70.css +0 -2
  1251. package/lib/internal/components/TextInputWrapper-ca608f70.css.map +0 -1
  1252. package/lib/internal/components/TextInputWrapper.d.ts +0 -59
  1253. package/lib/internal/components/TextInputWrapper.js +0 -212
  1254. package/lib/internal/components/TextInputWrapper.module.css.js +0 -7
  1255. package/lib/internal/components/UnderlineTabbedInterface-addc90dd.css +0 -2
  1256. package/lib/internal/components/UnderlineTabbedInterface-addc90dd.css.map +0 -1
  1257. package/lib/internal/components/UnderlineTabbedInterface.d.ts +0 -28
  1258. package/lib/internal/components/UnderlineTabbedInterface.d.ts.map +0 -1
  1259. package/lib/internal/components/UnderlineTabbedInterface.js +0 -270
  1260. package/lib/internal/components/UnderlineTabbedInterface.module.css.js +0 -7
  1261. package/lib/internal/components/UnstyledTextInput-8270f063.css +0 -2
  1262. package/lib/internal/components/UnstyledTextInput-8270f063.css.map +0 -1
  1263. package/lib/internal/components/UnstyledTextInput.d.ts +0 -5
  1264. package/lib/internal/components/UnstyledTextInput.js +0 -57
  1265. package/lib/internal/components/UnstyledTextInput.module.css.js +0 -7
  1266. package/lib/internal/components/ValidationAnimationContainer.d.ts +0 -8
  1267. package/lib/internal/components/ValidationAnimationContainer.js +0 -78
  1268. package/lib/internal/hooks/useEffectCallback.d.ts +0 -8
  1269. package/lib/internal/hooks/useEffectCallback.js +0 -44
  1270. package/lib/internal/hooks/useEffectOnce.d.ts +0 -2
  1271. package/lib/internal/hooks/useEffectOnce.js +0 -30
  1272. package/lib/internal/hooks/useFocus.d.ts +0 -3
  1273. package/lib/internal/hooks/useMergedRefs.d.ts +0 -2
  1274. package/lib/internal/hooks/useMergedRefs.js +0 -19
  1275. package/lib/internal/internal-types.d.ts +0 -4
  1276. package/lib/internal/utils/__tests__/getResponsiveAttributes.test.d.ts +0 -2
  1277. package/lib/internal/utils/__tests__/hasInteractiveNodes.test.d.ts +0 -2
  1278. package/lib/internal/utils/getGlobalFocusStyles.d.ts +0 -4
  1279. package/lib/internal/utils/getGlobalFocusStyles.js +0 -9
  1280. package/lib/internal/utils/getResponsiveAttributes.d.ts +0 -19
  1281. package/lib/internal/utils/getResponsiveAttributes.js +0 -34
  1282. package/lib/internal/utils/getResponsiveControlValues.d.ts +0 -8
  1283. package/lib/internal/utils/hasInteractiveNodes.d.ts +0 -11
  1284. package/lib/internal/utils/hasInteractiveNodes.js +0 -50
  1285. package/lib/internal/utils/sharedCheckboxAndRadioStyles.d.ts +0 -2
  1286. package/lib/internal/utils/toggleStyledComponent.d.ts +0 -20
  1287. package/lib/internal/utils/toggleStyledComponent.d.ts.map +0 -1
  1288. package/lib/internal/utils/toggleSxComponent.d.ts +0 -15
  1289. package/lib/internal/utils/toggleSxComponent.d.ts.map +0 -1
  1290. package/lib/internal/utils/toggleSxComponent.js +0 -83
  1291. package/lib/legacy-theme/ts/color-schemes.d.ts +0 -4733
  1292. package/lib/legacy-theme/ts/color-schemes.js +0 -4736
  1293. package/lib/legacy-theme/ts/colors/dark.d.ts +0 -517
  1294. package/lib/legacy-theme/ts/colors/dark_colorblind.d.ts +0 -517
  1295. package/lib/legacy-theme/ts/colors/dark_dimmed.d.ts +0 -517
  1296. package/lib/legacy-theme/ts/colors/dark_high_contrast.d.ts +0 -517
  1297. package/lib/legacy-theme/ts/colors/dark_tritanopia.d.ts +0 -517
  1298. package/lib/legacy-theme/ts/colors/index.d.ts +0 -4638
  1299. package/lib/legacy-theme/ts/colors/light.d.ts +0 -517
  1300. package/lib/legacy-theme/ts/colors/light_colorblind.d.ts +0 -517
  1301. package/lib/legacy-theme/ts/colors/light_high_contrast.d.ts +0 -517
  1302. package/lib/legacy-theme/ts/colors/light_tritanopia.d.ts +0 -517
  1303. package/lib/legacy-theme/ts/index.d.ts +0 -2
  1304. package/lib/live-region/Announce.d.ts +0 -32
  1305. package/lib/live-region/Announce.d.ts.map +0 -1
  1306. package/lib/live-region/Announce.js +0 -183
  1307. package/lib/live-region/AriaAlert.d.ts +0 -22
  1308. package/lib/live-region/AriaAlert.d.ts.map +0 -1
  1309. package/lib/live-region/AriaAlert.js +0 -46
  1310. package/lib/live-region/AriaStatus.d.ts +0 -26
  1311. package/lib/live-region/AriaStatus.d.ts.map +0 -1
  1312. package/lib/live-region/AriaStatus.js +0 -46
  1313. package/lib/live-region/__tests__/test-helpers.d.ts +0 -3
  1314. package/lib/live-region/index.d.ts +0 -7
  1315. package/lib/next/index.d.ts +0 -3
  1316. package/lib/next/index.js +0 -8
  1317. package/lib/node_modules/@github/mini-throttle/dist/index.js +0 -43
  1318. package/lib/node_modules/@github/relative-time-element/dist/duration-format-ponyfill.js +0 -105
  1319. package/lib/node_modules/@github/relative-time-element/dist/duration.js +0 -204
  1320. package/lib/node_modules/@github/relative-time-element/dist/relative-time-element-define.js +0 -20
  1321. package/lib/node_modules/@github/relative-time-element/dist/relative-time-element.js +0 -462
  1322. package/lib/node_modules/@github/tab-container-element/dist/tab-container-element-define.js +0 -20
  1323. package/lib/node_modules/@github/tab-container-element/dist/tab-container-element.js +0 -392
  1324. package/lib/node_modules/@lit-labs/react/create-component.js +0 -10
  1325. package/lib/packages/react/node_modules/@oddbird/popover-polyfill/dist/popover-fn.js +0 -667
  1326. package/lib/polyfills/eventListenerSignal.d.ts +0 -7
  1327. package/lib/sx.d.ts +0 -26
  1328. package/lib/sx.js +0 -21
  1329. package/lib/test-helpers.js +0 -71
  1330. package/lib/theme.d.ts +0 -1173
  1331. package/lib/theme.js +0 -52
  1332. package/lib/utils/StressTest.d.ts +0 -10
  1333. package/lib/utils/__tests__/invariant.test.d.ts +0 -2
  1334. package/lib/utils/__tests__/warning.test.d.ts +0 -2
  1335. package/lib/utils/create-component.d.ts +0 -7
  1336. package/lib/utils/create-component.d.ts.map +0 -1
  1337. package/lib/utils/create-component.js +0 -32
  1338. package/lib/utils/defaultSxProp.d.ts +0 -3
  1339. package/lib/utils/defaultSxProp.js +0 -5
  1340. package/lib/utils/deprecate.d.ts +0 -19
  1341. package/lib/utils/environment.d.ts +0 -7
  1342. package/lib/utils/environment.js +0 -11
  1343. package/lib/utils/form-story-helpers.d.ts +0 -62
  1344. package/lib/utils/form-story-helpers.d.ts.map +0 -1
  1345. package/lib/utils/getBreakpointDeclarations.d.ts +0 -4
  1346. package/lib/utils/getBreakpointDeclarations.js +0 -18
  1347. package/lib/utils/includeSystemProps.d.ts +0 -7
  1348. package/lib/utils/includeSystemProps.js +0 -16
  1349. package/lib/utils/invariant.d.ts +0 -3
  1350. package/lib/utils/invariant.js +0 -26
  1351. package/lib/utils/isNumeric.d.ts +0 -2
  1352. package/lib/utils/isNumeric.js +0 -8
  1353. package/lib/utils/layout.d.ts +0 -21
  1354. package/lib/utils/polymorphic.d.ts +0 -38
  1355. package/lib/utils/scroll.d.ts +0 -6
  1356. package/lib/utils/scroll.js +0 -20
  1357. package/lib/utils/theme.d.ts +0 -20
  1358. package/lib/utils/theme.js +0 -15
  1359. package/lib/utils/types/AriaRole.d.ts +0 -2
  1360. package/lib/utils/types/ComponentProps.d.ts +0 -9
  1361. package/lib/utils/types/Flatten.d.ts +0 -5
  1362. package/lib/utils/types/FormValidationStatus.d.ts +0 -2
  1363. package/lib/utils/types/KeyPaths.d.ts +0 -4
  1364. package/lib/utils/types/MandateProps.d.ts +0 -4
  1365. package/lib/utils/types/Merge.d.ts +0 -20
  1366. package/lib/utils/types/ViewportRangeKeys.d.ts +0 -3
  1367. package/lib/utils/types/index.d.ts +0 -6
  1368. package/lib/utils/use-force-update.d.ts +0 -2
  1369. package/lib/utils/useIsomorphicLayoutEffect.d.ts +0 -4
  1370. package/lib/utils/useIsomorphicLayoutEffect.js +0 -12
  1371. package/lib/utils/warning.d.ts +0 -4
  1372. package/lib/utils/warning.js +0 -24
  1373. package/lib-esm/ActionBar/ActionBar.js +0 -354
  1374. package/lib-esm/ActionList/ActionList-49cba224.css +0 -2
  1375. package/lib-esm/ActionList/ActionList-49cba224.css.map +0 -1
  1376. package/lib-esm/ActionList/ActionList.module.css.js +0 -5
  1377. package/lib-esm/ActionList/ActionListContainerContext.d.ts +0 -16
  1378. package/lib-esm/ActionList/Description.js +0 -56
  1379. package/lib-esm/ActionList/Divider.js +0 -24
  1380. package/lib-esm/ActionList/Group.js +0 -190
  1381. package/lib-esm/ActionList/Item.js +0 -272
  1382. package/lib-esm/ActionList/LinkItem.d.ts +0 -19
  1383. package/lib-esm/ActionList/LinkItem.js +0 -49
  1384. package/lib-esm/ActionList/List.js +0 -75
  1385. package/lib-esm/ActionList/Selection.js +0 -66
  1386. package/lib-esm/ActionList/Visuals.js +0 -103
  1387. package/lib-esm/ActionList/shared.d.ts +0 -116
  1388. package/lib-esm/Autocomplete/AutocompleteMenu.js +0 -245
  1389. package/lib-esm/Avatar/Avatar.js +0 -136
  1390. package/lib-esm/AvatarPair/AvatarPair-68990abe.css +0 -2
  1391. package/lib-esm/AvatarPair/AvatarPair-68990abe.css.map +0 -1
  1392. package/lib-esm/AvatarPair/AvatarPair.d.ts +0 -8
  1393. package/lib-esm/AvatarPair/AvatarPair.js +0 -86
  1394. package/lib-esm/AvatarPair/AvatarPair.module.css.js +0 -5
  1395. package/lib-esm/AvatarPair/index.d.ts +0 -3
  1396. package/lib-esm/AvatarStack/AvatarStack-f0712fca.css +0 -2
  1397. package/lib-esm/AvatarStack/AvatarStack-f0712fca.css.map +0 -1
  1398. package/lib-esm/AvatarStack/AvatarStack.d.ts +0 -14
  1399. package/lib-esm/AvatarStack/AvatarStack.js +0 -146
  1400. package/lib-esm/AvatarStack/AvatarStack.module.css.js +0 -5
  1401. package/lib-esm/Banner/Banner-43e2cd6a.css +0 -2
  1402. package/lib-esm/Banner/Banner-43e2cd6a.css.map +0 -1
  1403. package/lib-esm/Banner/Banner.d.ts +0 -117
  1404. package/lib-esm/Banner/Banner.js +0 -345
  1405. package/lib-esm/Banner/Banner.module.css.js +0 -5
  1406. package/lib-esm/Banner/index.d.ts +0 -21
  1407. package/lib-esm/BaseStyles-7880c337.css +0 -2
  1408. package/lib-esm/BaseStyles-7880c337.css.map +0 -1
  1409. package/lib-esm/BaseStyles.d.ts +0 -14
  1410. package/lib-esm/BaseStyles.js +0 -121
  1411. package/lib-esm/BaseStyles.module.css.js +0 -5
  1412. package/lib-esm/Blankslate/Blankslate-a68ed307.css +0 -2
  1413. package/lib-esm/Blankslate/Blankslate-a68ed307.css.map +0 -1
  1414. package/lib-esm/Blankslate/Blankslate.js +0 -343
  1415. package/lib-esm/Blankslate/Blankslate.module.css.js +0 -5
  1416. package/lib-esm/BranchName/BranchName.d.ts +0 -12
  1417. package/lib-esm/BranchName/BranchName.js +0 -72
  1418. package/lib-esm/Breadcrumbs/Breadcrumbs-99078f17.css +0 -2
  1419. package/lib-esm/Breadcrumbs/Breadcrumbs-99078f17.css.map +0 -1
  1420. package/lib-esm/Breadcrumbs/Breadcrumbs.d.ts +0 -38
  1421. package/lib-esm/Breadcrumbs/Breadcrumbs.js +0 -159
  1422. package/lib-esm/Breadcrumbs/Breadcrumbs.module.css.js +0 -5
  1423. package/lib-esm/Button/ButtonBase-ec78dde7.css +0 -2
  1424. package/lib-esm/Button/ButtonBase-ec78dde7.css.map +0 -1
  1425. package/lib-esm/Button/ButtonBase.js +0 -226
  1426. package/lib-esm/Button/ButtonBase.module.css.js +0 -5
  1427. package/lib-esm/Button/LinkButton.d.ts +0 -6
  1428. package/lib-esm/Button/LinkButton.js +0 -21
  1429. package/lib-esm/Button/index.d.ts +0 -7
  1430. package/lib-esm/ButtonGroup/ButtonGroup.d.ts +0 -12
  1431. package/lib-esm/ButtonGroup/ButtonGroup.js +0 -134
  1432. package/lib-esm/Caret.d.ts +0 -17
  1433. package/lib-esm/Caret.js +0 -117
  1434. package/lib-esm/Checkbox/Checkbox.d.ts +0 -36
  1435. package/lib-esm/Checkbox/Checkbox.js +0 -81
  1436. package/lib-esm/CheckboxGroup/CheckboxGroup.d.ts +0 -23
  1437. package/lib-esm/CircleBadge/CircleBadge.d.ts +0 -27
  1438. package/lib-esm/CircleBadge/CircleBadge.js +0 -37
  1439. package/lib-esm/CircleOcticon/CircleOcticon.d.ts +0 -13
  1440. package/lib-esm/CircleOcticon/CircleOcticon.js +0 -94
  1441. package/lib-esm/CircleOcticon/index.d.ts +0 -3
  1442. package/lib-esm/ConfirmationDialog/ConfirmationDialog.d.ts +0 -66
  1443. package/lib-esm/ConfirmationDialog/ConfirmationDialog.js +0 -166
  1444. package/lib-esm/CounterLabel/CounterLabel.d.ts +0 -15
  1445. package/lib-esm/CounterLabel/CounterLabel.js +0 -143
  1446. package/lib-esm/DataTable/Pagination.js +0 -398
  1447. package/lib-esm/DataTable/Table.d.ts +0 -135
  1448. package/lib-esm/DataTable/Table.js +0 -732
  1449. package/lib-esm/DataTable/storyHelpers.d.ts +0 -4
  1450. package/lib-esm/DataTable/useTable.js +0 -314
  1451. package/lib-esm/Details/Details.d.ts +0 -20
  1452. package/lib-esm/Details/Details.js +0 -198
  1453. package/lib-esm/DropdownStyles.d.ts +0 -4
  1454. package/lib-esm/FeatureFlags/DefaultFeatureFlags.js +0 -13
  1455. package/lib-esm/FeatureFlags/FeatureFlags.js +0 -42
  1456. package/lib-esm/FilteredActionList/FilteredActionList-e1dde781.css +0 -2
  1457. package/lib-esm/FilteredActionList/FilteredActionList-e1dde781.css.map +0 -1
  1458. package/lib-esm/FilteredActionList/FilteredActionList.module.css.js +0 -5
  1459. package/lib-esm/FilteredActionList/FilteredActionListEntry.d.ts +0 -7
  1460. package/lib-esm/FilteredActionList/FilteredActionListEntry.js +0 -38
  1461. package/lib-esm/FilteredActionList/FilteredActionListLoaders-6f14c45b.css +0 -2
  1462. package/lib-esm/FilteredActionList/FilteredActionListLoaders-6f14c45b.css.map +0 -1
  1463. package/lib-esm/FilteredActionList/FilteredActionListLoaders.js +0 -178
  1464. package/lib-esm/FilteredActionList/FilteredActionListLoaders.module.css.js +0 -5
  1465. package/lib-esm/FilteredActionList/FilteredActionListWithDeprecatedActionList.d.ts +0 -23
  1466. package/lib-esm/FilteredActionList/FilteredActionListWithDeprecatedActionList.js +0 -213
  1467. package/lib-esm/FilteredActionList/FilteredActionListWithModernActionList.d.ts +0 -25
  1468. package/lib-esm/FilteredActionList/FilteredActionListWithModernActionList.js +0 -347
  1469. package/lib-esm/FilteredActionList/index.d.ts +0 -3
  1470. package/lib-esm/FilteredActionList/useAnnouncements.d.ts +0 -3
  1471. package/lib-esm/FilteredActionList/useAnnouncements.js +0 -147
  1472. package/lib-esm/Flash/Flash.d.ts +0 -11
  1473. package/lib-esm/Flash/Flash.js +0 -78
  1474. package/lib-esm/FormControl/FormControl.js +0 -220
  1475. package/lib-esm/Header/Header.d.ts +0 -20
  1476. package/lib-esm/Header/Header.js +0 -280
  1477. package/lib-esm/InlineMessage/InlineMessage.d.ts +0 -16
  1478. package/lib-esm/InlineMessage/InlineMessage.js +0 -153
  1479. package/lib-esm/Label/Label.js +0 -98
  1480. package/lib-esm/LabelGroup/LabelGroup.d.ts +0 -14
  1481. package/lib-esm/LabelGroup/LabelGroup.js +0 -360
  1482. package/lib-esm/NavList/NavList.js +0 -744
  1483. package/lib-esm/Overlay/Overlay-aeb12fc3.css +0 -2
  1484. package/lib-esm/Overlay/Overlay-aeb12fc3.css.map +0 -1
  1485. package/lib-esm/Overlay/Overlay.module.css.js +0 -5
  1486. package/lib-esm/PageHeader/PageHeader.d.ts +0 -50
  1487. package/lib-esm/PageHeader/PageHeader.js +0 -1026
  1488. package/lib-esm/PageLayout/PageLayout.js +0 -1254
  1489. package/lib-esm/Pagehead/Pagehead.d.ts +0 -11
  1490. package/lib-esm/Pagehead/Pagehead.js +0 -26
  1491. package/lib-esm/PointerBox/PointerBox.d.ts +0 -20
  1492. package/lib-esm/PointerBox/PointerBox.js +0 -61
  1493. package/lib-esm/PointerBox/index.d.ts +0 -3
  1494. package/lib-esm/Popover/Popover-e16fd997.css +0 -2
  1495. package/lib-esm/Popover/Popover-e16fd997.css.map +0 -1
  1496. package/lib-esm/Popover/Popover.d.ts +0 -24
  1497. package/lib-esm/Popover/Popover.js +0 -115
  1498. package/lib-esm/Popover/Popover.module.css.js +0 -5
  1499. package/lib-esm/Portal/Portal.d.ts +0 -26
  1500. package/lib-esm/Portal/Portal.js +0 -83
  1501. package/lib-esm/Portal/index.d.ts +0 -6
  1502. package/lib-esm/Portal/index.js +0 -6
  1503. package/lib-esm/ProgressBar/ProgressBar-430cdef7.css +0 -2
  1504. package/lib-esm/ProgressBar/ProgressBar-430cdef7.css.map +0 -1
  1505. package/lib-esm/ProgressBar/ProgressBar.d.ts +0 -35
  1506. package/lib-esm/ProgressBar/ProgressBar.js +0 -259
  1507. package/lib-esm/ProgressBar/ProgressBar.module.css.js +0 -5
  1508. package/lib-esm/ProgressBar/index.d.ts +0 -26
  1509. package/lib-esm/Radio/Radio-b2a92b7d.css +0 -2
  1510. package/lib-esm/Radio/Radio-b2a92b7d.css.map +0 -1
  1511. package/lib-esm/Radio/Radio.d.ts +0 -36
  1512. package/lib-esm/Radio/Radio.js +0 -170
  1513. package/lib-esm/Radio/Radio.module.css.js +0 -5
  1514. package/lib-esm/RadioGroup/RadioGroup.d.ts +0 -30
  1515. package/lib-esm/RadioGroup/index.d.ts +0 -2
  1516. package/lib-esm/RelativeTime/RelativeTime.d.ts +0 -9
  1517. package/lib-esm/SegmentedControl/SegmentedControl-459caec8.css +0 -2
  1518. package/lib-esm/SegmentedControl/SegmentedControl-459caec8.css.map +0 -1
  1519. package/lib-esm/SegmentedControl/SegmentedControl.d.ts +0 -26
  1520. package/lib-esm/SegmentedControl/SegmentedControl.js +0 -247
  1521. package/lib-esm/SegmentedControl/SegmentedControl.module.css.js +0 -5
  1522. package/lib-esm/SegmentedControl/SegmentedControlButton.d.ts +0 -17
  1523. package/lib-esm/SegmentedControl/SegmentedControlButton.js +0 -151
  1524. package/lib-esm/SegmentedControl/SegmentedControlIconButton.d.ts +0 -21
  1525. package/lib-esm/SegmentedControl/SegmentedControlIconButton.js +0 -233
  1526. package/lib-esm/SegmentedControl/index.d.ts +0 -2
  1527. package/lib-esm/Select/Select.d.ts +0 -14
  1528. package/lib-esm/Select/Select.js +0 -243
  1529. package/lib-esm/SelectPanel/SelectPanel-bfde365c.css +0 -2
  1530. package/lib-esm/SelectPanel/SelectPanel-bfde365c.css.map +0 -1
  1531. package/lib-esm/SelectPanel/SelectPanel.d.ts +0 -83
  1532. package/lib-esm/SelectPanel/SelectPanel.js +0 -712
  1533. package/lib-esm/SelectPanel/SelectPanel.module.css.js +0 -5
  1534. package/lib-esm/SelectPanel/SelectPanelMessage.d.ts +0 -9
  1535. package/lib-esm/SelectPanel/SelectPanelMessage.js +0 -31
  1536. package/lib-esm/SelectPanel/index.d.ts +0 -3
  1537. package/lib-esm/SelectPanel/types.d.ts +0 -4
  1538. package/lib-esm/SideNav.d.ts +0 -35
  1539. package/lib-esm/SideNav.js +0 -60
  1540. package/lib-esm/Skeleton/SkeletonBox.d.ts +0 -12
  1541. package/lib-esm/Skeleton/SkeletonBox.js +0 -78
  1542. package/lib-esm/Spinner/Spinner.d.ts +0 -24
  1543. package/lib-esm/Spinner/Spinner.js +0 -206
  1544. package/lib-esm/SplitPageLayout/SplitPageLayout.d.ts +0 -22
  1545. package/lib-esm/Stack/Stack-83ac2229.css +0 -2
  1546. package/lib-esm/Stack/Stack-83ac2229.css.map +0 -1
  1547. package/lib-esm/Stack/Stack.d.ts +0 -69
  1548. package/lib-esm/Stack/Stack.js +0 -217
  1549. package/lib-esm/Stack/Stack.module.css.js +0 -5
  1550. package/lib-esm/StateLabel/StateLabel.d.ts +0 -25
  1551. package/lib-esm/StateLabel/StateLabel.js +0 -196
  1552. package/lib-esm/SubNav/SubNav.d.ts +0 -27
  1553. package/lib-esm/SubNav/SubNav.js +0 -342
  1554. package/lib-esm/TabNav/TabNav-9753d6ed.css +0 -2
  1555. package/lib-esm/TabNav/TabNav-9753d6ed.css.map +0 -1
  1556. package/lib-esm/TabNav/TabNav.module.css.js +0 -5
  1557. package/lib-esm/Text/Text.js +0 -72
  1558. package/lib-esm/TextInput/TextInput.d.ts +0 -43
  1559. package/lib-esm/TextInputWithTokens/TextInputWithTokens.d.ts +0 -86
  1560. package/lib-esm/TextInputWithTokens/TextInputWithTokens.js +0 -627
  1561. package/lib-esm/Textarea/Textarea.d.ts +0 -65
  1562. package/lib-esm/Textarea/Textarea.js +0 -127
  1563. package/lib-esm/Timeline/Timeline.d.ts +0 -51
  1564. package/lib-esm/Timeline/Timeline.js +0 -412
  1565. package/lib-esm/ToggleSwitch/ToggleSwitch.d.ts +0 -31
  1566. package/lib-esm/ToggleSwitch/ToggleSwitch.js +0 -473
  1567. package/lib-esm/Token/AvatarToken-ff45cc85.css +0 -2
  1568. package/lib-esm/Token/AvatarToken-ff45cc85.css.map +0 -1
  1569. package/lib-esm/Token/AvatarToken.d.ts +0 -8
  1570. package/lib-esm/Token/AvatarToken.js +0 -97
  1571. package/lib-esm/Token/AvatarToken.module.css.js +0 -5
  1572. package/lib-esm/Token/IssueLabelToken-99c9b914.css +0 -2
  1573. package/lib-esm/Token/IssueLabelToken-99c9b914.css.map +0 -1
  1574. package/lib-esm/Token/IssueLabelToken.js +0 -139
  1575. package/lib-esm/Token/IssueLabelToken.module.css.js +0 -5
  1576. package/lib-esm/Token/Token.js +0 -292
  1577. package/lib-esm/Token/TokenBase.js +0 -139
  1578. package/lib-esm/Token/_RemoveTokenButton.js +0 -37
  1579. package/lib-esm/Token/index.d.ts +0 -7
  1580. package/lib-esm/Tooltip/Tooltip.js +0 -136
  1581. package/lib-esm/TooltipV2/Tooltip-59734b6f.css +0 -2
  1582. package/lib-esm/TooltipV2/Tooltip-59734b6f.css.map +0 -1
  1583. package/lib-esm/TooltipV2/Tooltip.js +0 -294
  1584. package/lib-esm/TooltipV2/Tooltip.module.css.js +0 -5
  1585. package/lib-esm/TreeView/TreeView-cd08cabc.css +0 -2
  1586. package/lib-esm/TreeView/TreeView-cd08cabc.css.map +0 -1
  1587. package/lib-esm/TreeView/TreeView.d.ts +0 -55
  1588. package/lib-esm/TreeView/TreeView.js +0 -1160
  1589. package/lib-esm/TreeView/TreeView.module.css.js +0 -5
  1590. package/lib-esm/TreeView/shared.js +0 -13
  1591. package/lib-esm/Truncate/Truncate.d.ts +0 -13
  1592. package/lib-esm/Truncate/Truncate.js +0 -39
  1593. package/lib-esm/UnderlineNav/UnderlineNav.d.ts +0 -25
  1594. package/lib-esm/UnderlineNav/UnderlineNav.js +0 -364
  1595. package/lib-esm/UnderlineNav/UnderlineNavItem.d.ts +0 -43
  1596. package/lib-esm/UnderlineNav/UnderlineNavItem.js +0 -181
  1597. package/lib-esm/UnderlineNav/styles.d.ts +0 -38
  1598. package/lib-esm/UnderlineNav/styles.js +0 -74
  1599. package/lib-esm/VisuallyHidden/VisuallyHidden.d.ts +0 -18
  1600. package/lib-esm/VisuallyHidden/VisuallyHidden.js +0 -85
  1601. package/lib-esm/_VisuallyHidden.d.ts +0 -7
  1602. package/lib-esm/_VisuallyHidden.js +0 -26
  1603. package/lib-esm/deprecated/ActionList/List.js +0 -221
  1604. package/lib-esm/deprecated/ActionMenu.js +0 -199
  1605. package/lib-esm/deprecated/FilteredSearch/FilteredSearch.d.ts +0 -10
  1606. package/lib-esm/deprecated/FilteredSearch/FilteredSearch.js +0 -14
  1607. package/lib-esm/deprecated/UnderlineNav/UnderlineNav.d.ts +0 -26
  1608. package/lib-esm/deprecated/UnderlineNav/UnderlineNav.js +0 -125
  1609. package/lib-esm/experimental/IssueLabel/IssueLabel-5507fbf3.css +0 -2
  1610. package/lib-esm/experimental/IssueLabel/IssueLabel-5507fbf3.css.map +0 -1
  1611. package/lib-esm/experimental/IssueLabel/IssueLabel.d.ts +0 -17
  1612. package/lib-esm/experimental/IssueLabel/IssueLabel.js +0 -184
  1613. package/lib-esm/experimental/IssueLabel/IssueLabel.module.css.js +0 -5
  1614. package/lib-esm/experimental/SelectPanel2/SelectPanel.js +0 -965
  1615. package/lib-esm/experimental/Skeleton/SkeletonAvatar-e00fff32.css +0 -2
  1616. package/lib-esm/experimental/Skeleton/SkeletonAvatar-e00fff32.css.map +0 -1
  1617. package/lib-esm/experimental/Skeleton/SkeletonAvatar.d.ts +0 -8
  1618. package/lib-esm/experimental/Skeleton/SkeletonAvatar.js +0 -124
  1619. package/lib-esm/experimental/Skeleton/SkeletonAvatar.module.css.js +0 -5
  1620. package/lib-esm/experimental/Skeleton/SkeletonText-5cf908c1.css +0 -2
  1621. package/lib-esm/experimental/Skeleton/SkeletonText-5cf908c1.css.map +0 -1
  1622. package/lib-esm/experimental/Skeleton/SkeletonText.d.ts +0 -15
  1623. package/lib-esm/experimental/Skeleton/SkeletonText.js +0 -143
  1624. package/lib-esm/experimental/Skeleton/SkeletonText.module.css.js +0 -5
  1625. package/lib-esm/experimental/Skeleton/index.d.ts +0 -4
  1626. package/lib-esm/experimental/UnderlinePanels/UnderlinePanels.js +0 -211
  1627. package/lib-esm/experimental/index.d.ts +0 -44
  1628. package/lib-esm/experimental/index.js +0 -32
  1629. package/lib-esm/hooks/useMenuKeyboardNavigation.js +0 -159
  1630. package/lib-esm/hooks/useMnemonics.js +0 -113
  1631. package/lib-esm/hooks/useOpenAndCloseFocus.js +0 -53
  1632. package/lib-esm/hooks/useOverflow.js +0 -43
  1633. package/lib-esm/hooks/useScrollFlash.js +0 -24
  1634. package/lib-esm/index.d.ts +0 -148
  1635. package/lib-esm/index.js +0 -90
  1636. package/lib-esm/internal/components/BoxWithFallback.js +0 -65
  1637. package/lib-esm/internal/components/ButtonReset.d.ts +0 -6
  1638. package/lib-esm/internal/components/ButtonReset.js +0 -12
  1639. package/lib-esm/internal/components/LiveRegion.js +0 -132
  1640. package/lib-esm/internal/components/TextInputInnerVisualSlot.js +0 -96
  1641. package/lib-esm/internal/components/TextInputWrapper-ca608f70.css +0 -2
  1642. package/lib-esm/internal/components/TextInputWrapper-ca608f70.css.map +0 -1
  1643. package/lib-esm/internal/components/TextInputWrapper.module.css.js +0 -5
  1644. package/lib-esm/internal/components/UnderlineTabbedInterface.js +0 -264
  1645. package/lib-esm/internal/utils/getGlobalFocusStyles.js +0 -7
  1646. package/lib-esm/internal/utils/toggleStyledComponent.d.ts +0 -20
  1647. package/lib-esm/internal/utils/toggleSxComponent.d.ts +0 -15
  1648. package/lib-esm/internal/utils/toggleSxComponent.js +0 -77
  1649. package/lib-esm/live-region/Announce.d.ts +0 -32
  1650. package/lib-esm/live-region/Announce.js +0 -181
  1651. package/lib-esm/live-region/AriaAlert.d.ts +0 -22
  1652. package/lib-esm/live-region/AriaStatus.d.ts +0 -26
  1653. package/lib-esm/node_modules/@github/mini-throttle/dist/index.js +0 -40
  1654. package/lib-esm/test-helpers.js +0 -69
  1655. package/lib-esm/utils/create-component.d.ts +0 -7
  1656. package/lib-esm/utils/create-component.js +0 -22
  1657. package/lib-esm/utils/form-story-helpers.d.ts +0 -62
  1658. /package/{lib-esm → dist}/ActionBar/ActionBar-e6a5d54e.css +0 -0
  1659. /package/{lib-esm → dist}/ActionBar/ActionBar-e6a5d54e.css.map +0 -0
  1660. /package/{lib-esm → dist}/ActionBar/ActionBar.d.ts +0 -0
  1661. /package/{lib-esm → dist}/ActionBar/ActionBar.module.css.js +0 -0
  1662. /package/{lib-esm → dist}/ActionBar/disabled.ActionBar.Figma.d.ts +0 -0
  1663. /package/{lib → dist}/ActionBar/disabled.ActionBar.Figma.d.ts.map +0 -0
  1664. /package/{lib-esm → dist}/ActionBar/index.d.ts +0 -0
  1665. /package/{lib → dist}/ActionBar/index.d.ts.map +0 -0
  1666. /package/{lib-esm → dist}/ActionBar/index.js +0 -0
  1667. /package/{lib-esm → dist}/ActionList/ActionListContainerContext.js +0 -0
  1668. /package/{lib-esm → dist}/ActionList/Description.d.ts +0 -0
  1669. /package/{lib-esm → dist}/ActionList/Divider.d.ts +0 -0
  1670. /package/{lib-esm → dist}/ActionList/Group-2c8b5711.css +0 -0
  1671. /package/{lib-esm → dist}/ActionList/Group-2c8b5711.css.map +0 -0
  1672. /package/{lib-esm → dist}/ActionList/Group.d.ts +0 -0
  1673. /package/{lib-esm → dist}/ActionList/Group.module.css.js +0 -0
  1674. /package/{lib-esm → dist}/ActionList/Heading-b9360636.css +0 -0
  1675. /package/{lib-esm → dist}/ActionList/Heading-b9360636.css.map +0 -0
  1676. /package/{lib-esm → dist}/ActionList/Heading.d.ts +0 -0
  1677. /package/{lib → dist}/ActionList/Heading.d.ts.map +0 -0
  1678. /package/{lib-esm → dist}/ActionList/Heading.js +0 -0
  1679. /package/{lib-esm → dist}/ActionList/Heading.module.css.js +0 -0
  1680. /package/{lib-esm → dist}/ActionList/Item.d.ts +0 -0
  1681. /package/{lib-esm → dist}/ActionList/List.d.ts +0 -0
  1682. /package/{lib-esm → dist}/ActionList/Selection.d.ts +0 -0
  1683. /package/{lib → dist}/ActionList/Selection.d.ts.map +0 -0
  1684. /package/{lib-esm → dist}/ActionList/TrailingAction.d.ts +0 -0
  1685. /package/{lib → dist}/ActionList/TrailingAction.d.ts.map +0 -0
  1686. /package/{lib-esm → dist}/ActionList/TrailingAction.js +0 -0
  1687. /package/{lib-esm → dist}/ActionList/Visuals.d.ts +0 -0
  1688. /package/{lib-esm → dist}/ActionList/index.d.ts +0 -0
  1689. /package/{lib → dist}/ActionList/index.d.ts.map +0 -0
  1690. /package/{lib-esm → dist}/ActionList/index.js +0 -0
  1691. /package/{lib-esm → dist}/ActionList/shared.js +0 -0
  1692. /package/{lib-esm → dist}/ActionMenu/ActionMenu-5fe972e2.css +0 -0
  1693. /package/{lib-esm → dist}/ActionMenu/ActionMenu-5fe972e2.css.map +0 -0
  1694. /package/{lib-esm → dist}/ActionMenu/ActionMenu.d.ts +0 -0
  1695. /package/{lib → dist}/ActionMenu/ActionMenu.d.ts.map +0 -0
  1696. /package/{lib-esm → dist}/ActionMenu/ActionMenu.js +0 -0
  1697. /package/{lib-esm → dist}/ActionMenu/ActionMenu.module.css.js +0 -0
  1698. /package/{lib-esm → dist}/ActionMenu/index.d.ts +0 -0
  1699. /package/{lib → dist}/ActionMenu/index.d.ts.map +0 -0
  1700. /package/{lib-esm → dist}/AnchoredOverlay/AnchoredOverlay-73c1b2d1.css +0 -0
  1701. /package/{lib-esm → dist}/AnchoredOverlay/AnchoredOverlay-73c1b2d1.css.map +0 -0
  1702. /package/{lib-esm → dist}/AnchoredOverlay/AnchoredOverlay.d.ts +0 -0
  1703. /package/{lib → dist}/AnchoredOverlay/AnchoredOverlay.d.ts.map +0 -0
  1704. /package/{lib-esm → dist}/AnchoredOverlay/AnchoredOverlay.js +0 -0
  1705. /package/{lib-esm → dist}/AnchoredOverlay/AnchoredOverlay.module.css.js +0 -0
  1706. /package/{lib-esm → dist}/AnchoredOverlay/index.d.ts +0 -0
  1707. /package/{lib → dist}/AnchoredOverlay/index.d.ts.map +0 -0
  1708. /package/{lib-esm → dist}/Autocomplete/Autocomplete.d.ts +0 -0
  1709. /package/{lib → dist}/Autocomplete/Autocomplete.d.ts.map +0 -0
  1710. /package/{lib-esm → dist}/Autocomplete/Autocomplete.js +0 -0
  1711. /package/{lib-esm → dist}/Autocomplete/AutocompleteContext.d.ts +0 -0
  1712. /package/{lib → dist}/Autocomplete/AutocompleteContext.d.ts.map +0 -0
  1713. /package/{lib-esm → dist}/Autocomplete/AutocompleteContext.js +0 -0
  1714. /package/{lib-esm → dist}/Autocomplete/AutocompleteInput.d.ts +0 -0
  1715. /package/{lib → dist}/Autocomplete/AutocompleteInput.d.ts.map +0 -0
  1716. /package/{lib-esm → dist}/Autocomplete/AutocompleteInput.js +0 -0
  1717. /package/{lib-esm → dist}/Autocomplete/AutocompleteMenu-7f135c03.css +0 -0
  1718. /package/{lib-esm → dist}/Autocomplete/AutocompleteMenu-7f135c03.css.map +0 -0
  1719. /package/{lib-esm → dist}/Autocomplete/AutocompleteMenu.d.ts +0 -0
  1720. /package/{lib → dist}/Autocomplete/AutocompleteMenu.d.ts.map +0 -0
  1721. /package/{lib-esm → dist}/Autocomplete/AutocompleteMenu.module.css.js +0 -0
  1722. /package/{lib-esm → dist}/Autocomplete/AutocompleteOverlay-d99d778c.css +0 -0
  1723. /package/{lib-esm → dist}/Autocomplete/AutocompleteOverlay-d99d778c.css.map +0 -0
  1724. /package/{lib-esm → dist}/Autocomplete/AutocompleteOverlay.d.ts +0 -0
  1725. /package/{lib → dist}/Autocomplete/AutocompleteOverlay.d.ts.map +0 -0
  1726. /package/{lib-esm → dist}/Autocomplete/AutocompleteOverlay.js +0 -0
  1727. /package/{lib-esm → dist}/Autocomplete/AutocompleteOverlay.module.css.js +0 -0
  1728. /package/{lib-esm → dist}/Autocomplete/index.d.ts +0 -0
  1729. /package/{lib → dist}/Autocomplete/index.d.ts.map +0 -0
  1730. /package/{lib-esm → dist}/Avatar/Avatar-61b19061.css +0 -0
  1731. /package/{lib-esm → dist}/Avatar/Avatar-61b19061.css.map +0 -0
  1732. /package/{lib-esm → dist}/Avatar/Avatar.d.ts +0 -0
  1733. /package/{lib-esm → dist}/Avatar/Avatar.module.css.js +0 -0
  1734. /package/{lib-esm → dist}/Avatar/index.d.ts +0 -0
  1735. /package/{lib → dist}/Avatar/index.d.ts.map +0 -0
  1736. /package/{lib-esm → dist}/Avatar/storyHelpers.d.ts +0 -0
  1737. /package/{lib → dist}/Avatar/storyHelpers.d.ts.map +0 -0
  1738. /package/{lib-esm → dist}/AvatarStack/index.d.ts +0 -0
  1739. /package/{lib → dist}/AvatarStack/index.d.ts.map +0 -0
  1740. /package/{lib-esm → dist}/Banner/index.js +0 -0
  1741. /package/{lib-esm → dist}/Blankslate/Blankslate.d.ts +0 -0
  1742. /package/{lib → dist}/Blankslate/Blankslate.d.ts.map +0 -0
  1743. /package/{lib-esm → dist}/Blankslate/BlankslateContext.d.ts +0 -0
  1744. /package/{lib → dist}/Blankslate/BlankslateContext.d.ts.map +0 -0
  1745. /package/{lib-esm → dist}/Blankslate/BlankslateContext.js +0 -0
  1746. /package/{lib-esm → dist}/Blankslate/index.d.ts +0 -0
  1747. /package/{lib → dist}/Blankslate/index.d.ts.map +0 -0
  1748. /package/{lib-esm → dist}/Blankslate/index.js +0 -0
  1749. /package/{lib-esm → dist}/Box/Box.d.ts +0 -0
  1750. /package/{lib → dist}/Box/Box.d.ts.map +0 -0
  1751. /package/{lib-esm → dist}/Box/Box.js +0 -0
  1752. /package/{lib-esm → dist}/Box/index.d.ts +0 -0
  1753. /package/{lib → dist}/Box/index.d.ts.map +0 -0
  1754. /package/{lib-esm → dist}/BranchName/BranchName-2fad4f4b.css +0 -0
  1755. /package/{lib-esm → dist}/BranchName/BranchName-2fad4f4b.css.map +0 -0
  1756. /package/{lib-esm → dist}/BranchName/BranchName.module.css.js +0 -0
  1757. /package/{lib-esm → dist}/BranchName/index.d.ts +0 -0
  1758. /package/{lib → dist}/BranchName/index.d.ts.map +0 -0
  1759. /package/{lib-esm → dist}/Breadcrumbs/index.d.ts +0 -0
  1760. /package/{lib → dist}/Breadcrumbs/index.d.ts.map +0 -0
  1761. /package/{lib-esm → dist}/Button/Button.d.ts +0 -0
  1762. /package/{lib → dist}/Button/Button.d.ts.map +0 -0
  1763. /package/{lib-esm → dist}/Button/Button.js +0 -0
  1764. /package/{lib-esm → dist}/Button/ButtonBase.d.ts +0 -0
  1765. /package/{lib → dist}/Button/ButtonBase.d.ts.map +0 -0
  1766. /package/{lib-esm → dist}/Button/IconButton.d.ts +0 -0
  1767. /package/{lib → dist}/Button/IconButton.d.ts.map +0 -0
  1768. /package/{lib-esm → dist}/Button/IconButton.js +0 -0
  1769. /package/{lib-esm → dist}/Button/styles.d.ts +0 -0
  1770. /package/{lib → dist}/Button/styles.d.ts.map +0 -0
  1771. /package/{lib-esm → dist}/Button/styles.js +0 -0
  1772. /package/{lib-esm → dist}/Button/types.d.ts +0 -0
  1773. /package/{lib → dist}/Button/types.d.ts.map +0 -0
  1774. /package/{lib-esm → dist}/ButtonGroup/ButtonGroup-10292330.css +0 -0
  1775. /package/{lib-esm → dist}/ButtonGroup/ButtonGroup-10292330.css.map +0 -0
  1776. /package/{lib-esm → dist}/ButtonGroup/ButtonGroup.module.css.js +0 -0
  1777. /package/{lib-esm → dist}/ButtonGroup/index.d.ts +0 -0
  1778. /package/{lib → dist}/ButtonGroup/index.d.ts.map +0 -0
  1779. /package/{lib-esm → dist}/Checkbox/Checkbox-2aef6693.css +0 -0
  1780. /package/{lib-esm → dist}/Checkbox/Checkbox-2aef6693.css.map +0 -0
  1781. /package/{lib-esm → dist}/Checkbox/Checkbox.module.css.js +0 -0
  1782. /package/{lib-esm → dist}/Checkbox/index.d.ts +0 -0
  1783. /package/{lib → dist}/Checkbox/index.d.ts.map +0 -0
  1784. /package/{lib-esm → dist}/Checkbox/shared-edc41e16.css +0 -0
  1785. /package/{lib-esm → dist}/Checkbox/shared-edc41e16.css.map +0 -0
  1786. /package/{lib-esm → dist}/Checkbox/shared.module.css.js +0 -0
  1787. /package/{lib-esm → dist}/CheckboxGroup/CheckboxGroup.js +0 -0
  1788. /package/{lib-esm → dist}/CheckboxGroup/CheckboxGroupContext.d.ts +0 -0
  1789. /package/{lib → dist}/CheckboxGroup/CheckboxGroupContext.d.ts.map +0 -0
  1790. /package/{lib-esm → dist}/CheckboxGroup/CheckboxGroupContext.js +0 -0
  1791. /package/{lib-esm → dist}/CheckboxGroup/index.d.ts +0 -0
  1792. /package/{lib → dist}/CheckboxGroup/index.d.ts.map +0 -0
  1793. /package/{lib-esm → dist}/CircleBadge/index.d.ts +0 -0
  1794. /package/{lib → dist}/CircleBadge/index.d.ts.map +0 -0
  1795. /package/{lib-esm → dist}/ConfirmationDialog/ConfirmationDialog-de0401ff.css +0 -0
  1796. /package/{lib-esm → dist}/ConfirmationDialog/ConfirmationDialog-de0401ff.css.map +0 -0
  1797. /package/{lib-esm → dist}/ConfirmationDialog/ConfirmationDialog.module.css.js +0 -0
  1798. /package/{lib-esm → dist}/CounterLabel/CounterLabel-44fb5d16.css +0 -0
  1799. /package/{lib-esm → dist}/CounterLabel/CounterLabel-44fb5d16.css.map +0 -0
  1800. /package/{lib-esm → dist}/CounterLabel/CounterLabel.module.css.js +0 -0
  1801. /package/{lib-esm → dist}/CounterLabel/index.d.ts +0 -0
  1802. /package/{lib → dist}/CounterLabel/index.d.ts.map +0 -0
  1803. /package/{lib-esm → dist}/DataTable/DataTable.d.ts +0 -0
  1804. /package/{lib → dist}/DataTable/DataTable.d.ts.map +0 -0
  1805. /package/{lib-esm → dist}/DataTable/DataTable.js +0 -0
  1806. /package/{lib-esm → dist}/DataTable/ErrorDialog.d.ts +0 -0
  1807. /package/{lib → dist}/DataTable/ErrorDialog.d.ts.map +0 -0
  1808. /package/{lib-esm → dist}/DataTable/ErrorDialog.js +0 -0
  1809. /package/{lib-esm → dist}/DataTable/Pagination.d.ts +0 -0
  1810. /package/{lib-esm → dist}/DataTable/Table-87f4043f.css +0 -0
  1811. /package/{lib-esm → dist}/DataTable/Table-87f4043f.css.map +0 -0
  1812. /package/{lib-esm → dist}/DataTable/Table.module.css.js +0 -0
  1813. /package/{lib-esm → dist}/DataTable/__tests__/sorting.test.d.ts +0 -0
  1814. /package/{lib → dist}/DataTable/__tests__/sorting.test.d.ts.map +0 -0
  1815. /package/{lib-esm → dist}/DataTable/column.d.ts +0 -0
  1816. /package/{lib → dist}/DataTable/column.d.ts.map +0 -0
  1817. /package/{lib-esm → dist}/DataTable/column.js +0 -0
  1818. /package/{lib-esm → dist}/DataTable/index.d.ts +0 -0
  1819. /package/{lib → dist}/DataTable/index.d.ts.map +0 -0
  1820. /package/{lib-esm → dist}/DataTable/index.js +0 -0
  1821. /package/{lib-esm → dist}/DataTable/row.d.ts +0 -0
  1822. /package/{lib → dist}/DataTable/row.d.ts.map +0 -0
  1823. /package/{lib-esm → dist}/DataTable/sorting.d.ts +0 -0
  1824. /package/{lib → dist}/DataTable/sorting.d.ts.map +0 -0
  1825. /package/{lib-esm → dist}/DataTable/sorting.js +0 -0
  1826. /package/{lib-esm → dist}/DataTable/storybook/data.d.ts +0 -0
  1827. /package/{lib → dist}/DataTable/storybook/data.d.ts.map +0 -0
  1828. /package/{lib-esm → dist}/DataTable/useTable.d.ts +0 -0
  1829. /package/{lib → dist}/DataTable/useTable.d.ts.map +0 -0
  1830. /package/{lib-esm → dist}/DataTable/utils.d.ts +0 -0
  1831. /package/{lib → dist}/DataTable/utils.d.ts.map +0 -0
  1832. /package/{lib-esm → dist}/Details/Details-8093044f.css +0 -0
  1833. /package/{lib-esm → dist}/Details/Details-8093044f.css.map +0 -0
  1834. /package/{lib-esm → dist}/Details/Details.module.css.js +0 -0
  1835. /package/{lib-esm → dist}/Details/index.d.ts +0 -0
  1836. /package/{lib → dist}/Details/index.d.ts.map +0 -0
  1837. /package/{lib-esm → dist}/Dialog/Dialog-8a809d11.css +0 -0
  1838. /package/{lib-esm → dist}/Dialog/Dialog-8a809d11.css.map +0 -0
  1839. /package/{lib-esm → dist}/Dialog/Dialog.d.ts +0 -0
  1840. /package/{lib → dist}/Dialog/Dialog.d.ts.map +0 -0
  1841. /package/{lib-esm → dist}/Dialog/Dialog.js +0 -0
  1842. /package/{lib-esm → dist}/Dialog/Dialog.module.css.js +0 -0
  1843. /package/{lib-esm → dist}/DialogV1/Dialog-dce13989.css +0 -0
  1844. /package/{lib-esm → dist}/DialogV1/Dialog-dce13989.css.map +0 -0
  1845. /package/{lib-esm → dist}/DialogV1/Dialog.d.ts +0 -0
  1846. /package/{lib → dist}/DialogV1/Dialog.d.ts.map +0 -0
  1847. /package/{lib-esm → dist}/DialogV1/Dialog.js +0 -0
  1848. /package/{lib-esm → dist}/DialogV1/Dialog.module.css.js +0 -0
  1849. /package/{lib-esm → dist}/DialogV1/index.d.ts +0 -0
  1850. /package/{lib → dist}/DialogV1/index.d.ts.map +0 -0
  1851. /package/{lib-esm → dist}/FeatureFlags/DefaultFeatureFlags.d.ts +0 -0
  1852. /package/{lib → dist}/FeatureFlags/DefaultFeatureFlags.d.ts.map +0 -0
  1853. /package/{lib-esm → dist}/FeatureFlags/FeatureFlagContext.d.ts +0 -0
  1854. /package/{lib → dist}/FeatureFlags/FeatureFlagContext.d.ts.map +0 -0
  1855. /package/{lib-esm → dist}/FeatureFlags/FeatureFlagContext.js +0 -0
  1856. /package/{lib-esm → dist}/FeatureFlags/FeatureFlagScope.d.ts +0 -0
  1857. /package/{lib → dist}/FeatureFlags/FeatureFlagScope.d.ts.map +0 -0
  1858. /package/{lib-esm → dist}/FeatureFlags/FeatureFlagScope.js +0 -0
  1859. /package/{lib-esm → dist}/FeatureFlags/FeatureFlags.d.ts +0 -0
  1860. /package/{lib → dist}/FeatureFlags/FeatureFlags.d.ts.map +0 -0
  1861. /package/{lib-esm → dist}/FeatureFlags/index.d.ts +0 -0
  1862. /package/{lib → dist}/FeatureFlags/index.d.ts.map +0 -0
  1863. /package/{lib-esm → dist}/FeatureFlags/useFeatureFlag.d.ts +0 -0
  1864. /package/{lib → dist}/FeatureFlags/useFeatureFlag.d.ts.map +0 -0
  1865. /package/{lib-esm → dist}/FeatureFlags/useFeatureFlag.js +0 -0
  1866. /package/{lib-esm → dist}/FilteredActionList/FilteredActionListLoaders.d.ts +0 -0
  1867. /package/{lib-esm → dist}/Flash/Flash-a3596568.css +0 -0
  1868. /package/{lib-esm → dist}/Flash/Flash-a3596568.css.map +0 -0
  1869. /package/{lib-esm → dist}/Flash/Flash.module.css.js +0 -0
  1870. /package/{lib-esm → dist}/Flash/index.d.ts +0 -0
  1871. /package/{lib → dist}/Flash/index.d.ts.map +0 -0
  1872. /package/{lib-esm → dist}/FormControl/FormControl-fa33984d.css +0 -0
  1873. /package/{lib-esm → dist}/FormControl/FormControl-fa33984d.css.map +0 -0
  1874. /package/{lib-esm → dist}/FormControl/FormControl.d.ts +0 -0
  1875. /package/{lib-esm → dist}/FormControl/FormControl.module.css.js +0 -0
  1876. /package/{lib-esm → dist}/FormControl/FormControlCaption-f58db5f7.css +0 -0
  1877. /package/{lib-esm → dist}/FormControl/FormControlCaption-f58db5f7.css.map +0 -0
  1878. /package/{lib-esm → dist}/FormControl/FormControlCaption.d.ts +0 -0
  1879. /package/{lib → dist}/FormControl/FormControlCaption.d.ts.map +0 -0
  1880. /package/{lib-esm → dist}/FormControl/FormControlCaption.js +0 -0
  1881. /package/{lib-esm → dist}/FormControl/FormControlCaption.module.css.js +0 -0
  1882. /package/{lib-esm → dist}/FormControl/FormControlLabel.d.ts +0 -0
  1883. /package/{lib → dist}/FormControl/FormControlLabel.d.ts.map +0 -0
  1884. /package/{lib-esm → dist}/FormControl/FormControlLabel.js +0 -0
  1885. /package/{lib-esm → dist}/FormControl/FormControlLeadingVisual.d.ts +0 -0
  1886. /package/{lib → dist}/FormControl/FormControlLeadingVisual.d.ts.map +0 -0
  1887. /package/{lib-esm → dist}/FormControl/FormControlLeadingVisual.js +0 -0
  1888. /package/{lib-esm → dist}/FormControl/_FormControlContext.d.ts +0 -0
  1889. /package/{lib → dist}/FormControl/_FormControlContext.d.ts.map +0 -0
  1890. /package/{lib-esm → dist}/FormControl/_FormControlContext.js +0 -0
  1891. /package/{lib-esm → dist}/FormControl/_FormControlValidation.d.ts +0 -0
  1892. /package/{lib → dist}/FormControl/_FormControlValidation.d.ts.map +0 -0
  1893. /package/{lib-esm → dist}/FormControl/_FormControlValidation.js +0 -0
  1894. /package/{lib-esm → dist}/FormControl/index.d.ts +0 -0
  1895. /package/{lib → dist}/FormControl/index.d.ts.map +0 -0
  1896. /package/{lib-esm → dist}/Header/Header-aff64597.css +0 -0
  1897. /package/{lib-esm → dist}/Header/Header-aff64597.css.map +0 -0
  1898. /package/{lib-esm → dist}/Header/Header.module.css.js +0 -0
  1899. /package/{lib-esm → dist}/Header/index.d.ts +0 -0
  1900. /package/{lib → dist}/Header/index.d.ts.map +0 -0
  1901. /package/{lib-esm → dist}/Heading/Heading-26b4879b.css +0 -0
  1902. /package/{lib-esm → dist}/Heading/Heading-26b4879b.css.map +0 -0
  1903. /package/{lib-esm → dist}/Heading/Heading.d.ts +0 -0
  1904. /package/{lib → dist}/Heading/Heading.d.ts.map +0 -0
  1905. /package/{lib-esm → dist}/Heading/Heading.js +0 -0
  1906. /package/{lib-esm → dist}/Heading/Heading.module.css.js +0 -0
  1907. /package/{lib-esm → dist}/Heading/index.d.ts +0 -0
  1908. /package/{lib → dist}/Heading/index.d.ts.map +0 -0
  1909. /package/{lib-esm → dist}/Hidden/Hidden-b3896306.css +0 -0
  1910. /package/{lib-esm → dist}/Hidden/Hidden-b3896306.css.map +0 -0
  1911. /package/{lib-esm → dist}/Hidden/Hidden.d.ts +0 -0
  1912. /package/{lib → dist}/Hidden/Hidden.d.ts.map +0 -0
  1913. /package/{lib-esm → dist}/Hidden/Hidden.js +0 -0
  1914. /package/{lib-esm → dist}/Hidden/Hidden.module.css.js +0 -0
  1915. /package/{lib-esm → dist}/Hidden/index.d.ts +0 -0
  1916. /package/{lib → dist}/Hidden/index.d.ts.map +0 -0
  1917. /package/{lib-esm → dist}/InlineMessage/InlineMessage-80d97643.css +0 -0
  1918. /package/{lib-esm → dist}/InlineMessage/InlineMessage-80d97643.css.map +0 -0
  1919. /package/{lib-esm → dist}/InlineMessage/InlineMessage.module.css.js +0 -0
  1920. /package/{lib-esm → dist}/InlineMessage/index.d.ts +0 -0
  1921. /package/{lib → dist}/InlineMessage/index.d.ts.map +0 -0
  1922. /package/{lib-esm → dist}/KeybindingHint/KeybindingHint-0856c11b.css +0 -0
  1923. /package/{lib-esm → dist}/KeybindingHint/KeybindingHint-0856c11b.css.map +0 -0
  1924. /package/{lib-esm → dist}/KeybindingHint/KeybindingHint.d.ts +0 -0
  1925. /package/{lib → dist}/KeybindingHint/KeybindingHint.d.ts.map +0 -0
  1926. /package/{lib-esm → dist}/KeybindingHint/KeybindingHint.js +0 -0
  1927. /package/{lib-esm → dist}/KeybindingHint/KeybindingHint.module.css.js +0 -0
  1928. /package/{lib-esm → dist}/KeybindingHint/components/Chord.d.ts +0 -0
  1929. /package/{lib → dist}/KeybindingHint/components/Chord.d.ts.map +0 -0
  1930. /package/{lib-esm → dist}/KeybindingHint/components/Chord.js +0 -0
  1931. /package/{lib-esm → dist}/KeybindingHint/components/Key.d.ts +0 -0
  1932. /package/{lib → dist}/KeybindingHint/components/Key.d.ts.map +0 -0
  1933. /package/{lib-esm → dist}/KeybindingHint/components/Key.js +0 -0
  1934. /package/{lib-esm → dist}/KeybindingHint/components/Sequence.d.ts +0 -0
  1935. /package/{lib → dist}/KeybindingHint/components/Sequence.d.ts.map +0 -0
  1936. /package/{lib-esm → dist}/KeybindingHint/components/Sequence.js +0 -0
  1937. /package/{lib-esm → dist}/KeybindingHint/index.d.ts +0 -0
  1938. /package/{lib → dist}/KeybindingHint/index.d.ts.map +0 -0
  1939. /package/{lib-esm → dist}/KeybindingHint/key-names.d.ts +0 -0
  1940. /package/{lib → dist}/KeybindingHint/key-names.d.ts.map +0 -0
  1941. /package/{lib-esm → dist}/KeybindingHint/key-names.js +0 -0
  1942. /package/{lib-esm → dist}/KeybindingHint/props.d.ts +0 -0
  1943. /package/{lib → dist}/KeybindingHint/props.d.ts.map +0 -0
  1944. /package/{lib-esm → dist}/Label/Label-7904957c.css +0 -0
  1945. /package/{lib-esm → dist}/Label/Label-7904957c.css.map +0 -0
  1946. /package/{lib-esm → dist}/Label/Label.d.ts +0 -0
  1947. /package/{lib-esm → dist}/Label/Label.module.css.js +0 -0
  1948. /package/{lib-esm → dist}/Label/index.d.ts +0 -0
  1949. /package/{lib → dist}/Label/index.d.ts.map +0 -0
  1950. /package/{lib-esm → dist}/Label/index.js +0 -0
  1951. /package/{lib-esm → dist}/LabelGroup/index.d.ts +0 -0
  1952. /package/{lib → dist}/LabelGroup/index.d.ts.map +0 -0
  1953. /package/{lib-esm → dist}/Link/Link-948b910e.css +0 -0
  1954. /package/{lib-esm → dist}/Link/Link-948b910e.css.map +0 -0
  1955. /package/{lib-esm → dist}/Link/Link.d.ts +0 -0
  1956. /package/{lib → dist}/Link/Link.d.ts.map +0 -0
  1957. /package/{lib-esm → dist}/Link/Link.js +0 -0
  1958. /package/{lib-esm → dist}/Link/Link.module.css.js +0 -0
  1959. /package/{lib-esm → dist}/Link/index.d.ts +0 -0
  1960. /package/{lib → dist}/Link/index.d.ts.map +0 -0
  1961. /package/{lib-esm → dist}/NavList/NavList.d.ts +0 -0
  1962. /package/{lib → dist}/NavList/NavList.d.ts.map +0 -0
  1963. /package/{lib-esm → dist}/NavList/index.d.ts +0 -0
  1964. /package/{lib → dist}/NavList/index.d.ts.map +0 -0
  1965. /package/{lib-esm → dist}/Octicon/Octicon.d.ts +0 -0
  1966. /package/{lib → dist}/Octicon/Octicon.d.ts.map +0 -0
  1967. /package/{lib-esm → dist}/Octicon/Octicon.js +0 -0
  1968. /package/{lib-esm → dist}/Octicon/index.d.ts +0 -0
  1969. /package/{lib → dist}/Octicon/index.d.ts.map +0 -0
  1970. /package/{lib-esm → dist}/Overlay/Overlay.d.ts +0 -0
  1971. /package/{lib → dist}/Overlay/Overlay.d.ts.map +0 -0
  1972. /package/{lib-esm → dist}/Overlay/Overlay.js +0 -0
  1973. /package/{lib-esm → dist}/Overlay/index.d.ts +0 -0
  1974. /package/{lib → dist}/Overlay/index.d.ts.map +0 -0
  1975. /package/{lib-esm → dist}/PageHeader/PageHeader-4e1d8fee.css +0 -0
  1976. /package/{lib-esm → dist}/PageHeader/PageHeader-4e1d8fee.css.map +0 -0
  1977. /package/{lib-esm → dist}/PageHeader/PageHeader.module.css.js +0 -0
  1978. /package/{lib-esm → dist}/PageHeader/index.d.ts +0 -0
  1979. /package/{lib → dist}/PageHeader/index.d.ts.map +0 -0
  1980. /package/{lib-esm → dist}/PageLayout/PageLayout-8a294e74.css +0 -0
  1981. /package/{lib-esm → dist}/PageLayout/PageLayout-8a294e74.css.map +0 -0
  1982. /package/{lib-esm → dist}/PageLayout/PageLayout.d.ts +0 -0
  1983. /package/{lib-esm → dist}/PageLayout/PageLayout.module.css.js +0 -0
  1984. /package/{lib-esm → dist}/PageLayout/index.d.ts +0 -0
  1985. /package/{lib → dist}/PageLayout/index.d.ts.map +0 -0
  1986. /package/{lib-esm → dist}/Pagehead/Pagehead-0744ffce.css +0 -0
  1987. /package/{lib-esm → dist}/Pagehead/Pagehead-0744ffce.css.map +0 -0
  1988. /package/{lib-esm → dist}/Pagehead/Pagehead.module.css.js +0 -0
  1989. /package/{lib-esm → dist}/Pagehead/index.d.ts +0 -0
  1990. /package/{lib → dist}/Pagehead/index.d.ts.map +0 -0
  1991. /package/{lib-esm → dist}/Pagination/Pagination-e98833e8.css +0 -0
  1992. /package/{lib-esm → dist}/Pagination/Pagination-e98833e8.css.map +0 -0
  1993. /package/{lib-esm → dist}/Pagination/Pagination.d.ts +0 -0
  1994. /package/{lib → dist}/Pagination/Pagination.d.ts.map +0 -0
  1995. /package/{lib-esm → dist}/Pagination/Pagination.js +0 -0
  1996. /package/{lib-esm → dist}/Pagination/Pagination.module.css.js +0 -0
  1997. /package/{lib-esm → dist}/Pagination/index.d.ts +0 -0
  1998. /package/{lib → dist}/Pagination/index.d.ts.map +0 -0
  1999. /package/{lib-esm → dist}/Pagination/index.js +0 -0
  2000. /package/{lib-esm → dist}/Pagination/mocks/ReactRouterLink.d.ts +0 -0
  2001. /package/{lib → dist}/Pagination/mocks/ReactRouterLink.d.ts.map +0 -0
  2002. /package/{lib-esm → dist}/Pagination/model.d.ts +0 -0
  2003. /package/{lib → dist}/Pagination/model.d.ts.map +0 -0
  2004. /package/{lib-esm → dist}/Pagination/model.js +0 -0
  2005. /package/{lib-esm → dist}/Placeholder.d.ts +0 -0
  2006. /package/{lib → dist}/Placeholder.d.ts.map +0 -0
  2007. /package/{lib-esm → dist}/Popover/index.d.ts +0 -0
  2008. /package/{lib → dist}/Popover/index.d.ts.map +0 -0
  2009. /package/{lib-esm → dist}/ProgressBar/index.js +0 -0
  2010. /package/{lib-esm → dist}/Radio/index.d.ts +0 -0
  2011. /package/{lib → dist}/Radio/index.d.ts.map +0 -0
  2012. /package/{lib-esm → dist}/RadioGroup/RadioGroup.js +0 -0
  2013. /package/{lib-esm → dist}/RelativeTime/RelativeTime.js +0 -0
  2014. /package/{lib-esm → dist}/RelativeTime/index.d.ts +0 -0
  2015. /package/{lib → dist}/RelativeTime/index.d.ts.map +0 -0
  2016. /package/{lib-esm → dist}/ScrollableRegion/ScrollableRegion.d.ts +0 -0
  2017. /package/{lib → dist}/ScrollableRegion/ScrollableRegion.d.ts.map +0 -0
  2018. /package/{lib-esm → dist}/ScrollableRegion/ScrollableRegion.js +0 -0
  2019. /package/{lib-esm → dist}/ScrollableRegion/index.d.ts +0 -0
  2020. /package/{lib → dist}/ScrollableRegion/index.d.ts.map +0 -0
  2021. /package/{lib-esm → dist}/Select/Select-ab428dc7.css +0 -0
  2022. /package/{lib-esm → dist}/Select/Select-ab428dc7.css.map +0 -0
  2023. /package/{lib-esm → dist}/Select/Select.module.css.js +0 -0
  2024. /package/{lib-esm → dist}/Select/index.d.ts +0 -0
  2025. /package/{lib → dist}/Select/index.d.ts.map +0 -0
  2026. /package/{lib-esm → dist}/SideNav-baa2364d.css +0 -0
  2027. /package/{lib-esm → dist}/SideNav-baa2364d.css.map +0 -0
  2028. /package/{lib-esm → dist}/SideNav.module.css.js +0 -0
  2029. /package/{lib-esm → dist}/Skeleton/SkeletonBox-248bfcc3.css +0 -0
  2030. /package/{lib-esm → dist}/Skeleton/SkeletonBox-248bfcc3.css.map +0 -0
  2031. /package/{lib-esm → dist}/Skeleton/SkeletonBox.module.css.js +0 -0
  2032. /package/{lib-esm → dist}/Skeleton/index.d.ts +0 -0
  2033. /package/{lib → dist}/Skeleton/index.d.ts.map +0 -0
  2034. /package/{lib-esm → dist}/Spinner/Spinner-2dbceeca.css +0 -0
  2035. /package/{lib-esm → dist}/Spinner/Spinner-2dbceeca.css.map +0 -0
  2036. /package/{lib-esm → dist}/Spinner/Spinner.module.css.js +0 -0
  2037. /package/{lib-esm → dist}/Spinner/index.d.ts +0 -0
  2038. /package/{lib → dist}/Spinner/index.d.ts.map +0 -0
  2039. /package/{lib-esm → dist}/SplitPageLayout/SplitPageLayout.js +0 -0
  2040. /package/{lib-esm → dist}/SplitPageLayout/index.d.ts +0 -0
  2041. /package/{lib → dist}/SplitPageLayout/index.d.ts.map +0 -0
  2042. /package/{lib-esm → dist}/Stack/index.d.ts +0 -0
  2043. /package/{lib → dist}/Stack/index.d.ts.map +0 -0
  2044. /package/{lib-esm → dist}/Stack/index.js +0 -0
  2045. /package/{lib-esm → dist}/StateLabel/index.d.ts +0 -0
  2046. /package/{lib → dist}/StateLabel/index.d.ts.map +0 -0
  2047. /package/{lib-esm → dist}/SubNav/SubNav-88128e5c.css +0 -0
  2048. /package/{lib-esm → dist}/SubNav/SubNav-88128e5c.css.map +0 -0
  2049. /package/{lib-esm → dist}/SubNav/SubNav.module.css.js +0 -0
  2050. /package/{lib-esm → dist}/SubNav/index.d.ts +0 -0
  2051. /package/{lib → dist}/SubNav/index.d.ts.map +0 -0
  2052. /package/{lib-esm → dist}/TabNav/TabNav.d.ts +0 -0
  2053. /package/{lib → dist}/TabNav/TabNav.d.ts.map +0 -0
  2054. /package/{lib-esm → dist}/TabNav/TabNav.js +0 -0
  2055. /package/{lib-esm → dist}/TabNav/index.d.ts +0 -0
  2056. /package/{lib → dist}/TabNav/index.d.ts.map +0 -0
  2057. /package/{lib-esm → dist}/Text/Text-ca7603b7.css +0 -0
  2058. /package/{lib-esm → dist}/Text/Text-ca7603b7.css.map +0 -0
  2059. /package/{lib-esm → dist}/Text/Text.d.ts +0 -0
  2060. /package/{lib-esm → dist}/Text/Text.module.css.js +0 -0
  2061. /package/{lib-esm → dist}/Text/index.d.ts +0 -0
  2062. /package/{lib → dist}/Text/index.d.ts.map +0 -0
  2063. /package/{lib-esm → dist}/TextInput/TextInput.js +0 -0
  2064. /package/{lib-esm → dist}/TextInput/index.d.ts +0 -0
  2065. /package/{lib → dist}/TextInput/index.d.ts.map +0 -0
  2066. /package/{lib-esm → dist}/TextInputWithTokens/TextInputWithTokens-fb9b5109.css +0 -0
  2067. /package/{lib-esm → dist}/TextInputWithTokens/TextInputWithTokens-fb9b5109.css.map +0 -0
  2068. /package/{lib-esm → dist}/TextInputWithTokens/TextInputWithTokens.module.css.js +0 -0
  2069. /package/{lib-esm → dist}/TextInputWithTokens/index.d.ts +0 -0
  2070. /package/{lib → dist}/TextInputWithTokens/index.d.ts.map +0 -0
  2071. /package/{lib-esm → dist}/Textarea/TextArea-54099020.css +0 -0
  2072. /package/{lib-esm → dist}/Textarea/TextArea-54099020.css.map +0 -0
  2073. /package/{lib-esm → dist}/Textarea/TextArea.module.css.js +0 -0
  2074. /package/{lib-esm → dist}/Textarea/index.d.ts +0 -0
  2075. /package/{lib → dist}/Textarea/index.d.ts.map +0 -0
  2076. /package/{lib-esm → dist}/ThemeProvider.d.ts +0 -0
  2077. /package/{lib → dist}/ThemeProvider.d.ts.map +0 -0
  2078. /package/{lib-esm → dist}/ThemeProvider.js +0 -0
  2079. /package/{lib-esm → dist}/Timeline/Timeline-e8e88a13.css +0 -0
  2080. /package/{lib-esm → dist}/Timeline/Timeline-e8e88a13.css.map +0 -0
  2081. /package/{lib-esm → dist}/Timeline/Timeline.module.css.js +0 -0
  2082. /package/{lib-esm → dist}/Timeline/index.d.ts +0 -0
  2083. /package/{lib → dist}/Timeline/index.d.ts.map +0 -0
  2084. /package/{lib-esm → dist}/ToggleSwitch/ToggleSwitchStoryWrapper.d.ts +0 -0
  2085. /package/{lib-esm → dist}/ToggleSwitch/index.d.ts +0 -0
  2086. /package/{lib → dist}/ToggleSwitch/index.d.ts.map +0 -0
  2087. /package/{lib-esm → dist}/Token/IssueLabelToken.d.ts +0 -0
  2088. /package/{lib-esm → dist}/Token/Token-942271b0.css +0 -0
  2089. /package/{lib-esm → dist}/Token/Token-942271b0.css.map +0 -0
  2090. /package/{lib-esm → dist}/Token/Token.d.ts +0 -0
  2091. /package/{lib-esm → dist}/Token/Token.module.css.js +0 -0
  2092. /package/{lib-esm → dist}/Token/TokenBase-0386597b.css +0 -0
  2093. /package/{lib-esm → dist}/Token/TokenBase-0386597b.css.map +0 -0
  2094. /package/{lib-esm → dist}/Token/TokenBase.d.ts +0 -0
  2095. /package/{lib → dist}/Token/TokenBase.d.ts.map +0 -0
  2096. /package/{lib-esm → dist}/Token/TokenBase.module.css.js +0 -0
  2097. /package/{lib-esm → dist}/Token/_RemoveTokenButton-d7f5985b.css +0 -0
  2098. /package/{lib-esm → dist}/Token/_RemoveTokenButton-d7f5985b.css.map +0 -0
  2099. /package/{lib-esm → dist}/Token/_RemoveTokenButton.d.ts +0 -0
  2100. /package/{lib → dist}/Token/_RemoveTokenButton.d.ts.map +0 -0
  2101. /package/{lib-esm → dist}/Token/_RemoveTokenButton.module.css.js +0 -0
  2102. /package/{lib-esm → dist}/Token/_TokenTextContainer-2ab10996.css +0 -0
  2103. /package/{lib-esm → dist}/Token/_TokenTextContainer-2ab10996.css.map +0 -0
  2104. /package/{lib-esm → dist}/Token/_TokenTextContainer.d.ts +0 -0
  2105. /package/{lib → dist}/Token/_TokenTextContainer.d.ts.map +0 -0
  2106. /package/{lib-esm → dist}/Token/_TokenTextContainer.js +0 -0
  2107. /package/{lib-esm → dist}/Token/_TokenTextContainer.module.css.js +0 -0
  2108. /package/{lib-esm → dist}/Tooltip/Tooltip.d.ts +0 -0
  2109. /package/{lib → dist}/Tooltip/Tooltip.d.ts.map +0 -0
  2110. /package/{lib-esm → dist}/Tooltip/index.d.ts +0 -0
  2111. /package/{lib → dist}/Tooltip/index.d.ts.map +0 -0
  2112. /package/{lib-esm → dist}/TooltipV2/Tooltip.d.ts +0 -0
  2113. /package/{lib-esm → dist}/TooltipV2/index.d.ts +0 -0
  2114. /package/{lib → dist}/TooltipV2/index.d.ts.map +0 -0
  2115. /package/{lib-esm → dist}/TreeView/index.d.ts +0 -0
  2116. /package/{lib → dist}/TreeView/index.d.ts.map +0 -0
  2117. /package/{lib-esm → dist}/TreeView/shared.d.ts +0 -0
  2118. /package/{lib → dist}/TreeView/shared.d.ts.map +0 -0
  2119. /package/{lib-esm → dist}/TreeView/useRovingTabIndex.d.ts +0 -0
  2120. /package/{lib → dist}/TreeView/useRovingTabIndex.d.ts.map +0 -0
  2121. /package/{lib-esm → dist}/TreeView/useRovingTabIndex.js +0 -0
  2122. /package/{lib-esm → dist}/TreeView/useTypeahead.d.ts +0 -0
  2123. /package/{lib → dist}/TreeView/useTypeahead.d.ts.map +0 -0
  2124. /package/{lib-esm → dist}/TreeView/useTypeahead.js +0 -0
  2125. /package/{lib-esm → dist}/Truncate/Truncate-030d5f52.css +0 -0
  2126. /package/{lib-esm → dist}/Truncate/Truncate-030d5f52.css.map +0 -0
  2127. /package/{lib-esm → dist}/Truncate/Truncate.module.css.js +0 -0
  2128. /package/{lib-esm → dist}/Truncate/index.d.ts +0 -0
  2129. /package/{lib → dist}/Truncate/index.d.ts.map +0 -0
  2130. /package/{lib-esm → dist}/UnderlineNav/UnderlineNavContext.d.ts +0 -0
  2131. /package/{lib → dist}/UnderlineNav/UnderlineNavContext.d.ts.map +0 -0
  2132. /package/{lib-esm → dist}/UnderlineNav/UnderlineNavContext.js +0 -0
  2133. /package/{lib-esm → dist}/UnderlineNav/index.d.ts +0 -0
  2134. /package/{lib → dist}/UnderlineNav/index.d.ts.map +0 -0
  2135. /package/{lib-esm → dist}/UnderlineNav/index.js +0 -0
  2136. /package/{lib → dist}/UnderlineNav/styles.d.ts.map +0 -0
  2137. /package/{lib-esm → dist}/UnderlineNav/types.d.ts +0 -0
  2138. /package/{lib → dist}/UnderlineNav/types.d.ts.map +0 -0
  2139. /package/{lib-esm → dist}/VisuallyHidden/VisuallyHidden-ce2a3270.css +0 -0
  2140. /package/{lib-esm → dist}/VisuallyHidden/VisuallyHidden-ce2a3270.css.map +0 -0
  2141. /package/{lib-esm → dist}/VisuallyHidden/VisuallyHidden.module.css.js +0 -0
  2142. /package/{lib-esm → dist}/VisuallyHidden/index.d.ts +0 -0
  2143. /package/{lib → dist}/VisuallyHidden/index.d.ts.map +0 -0
  2144. /package/{lib-esm → dist}/constants.d.ts +0 -0
  2145. /package/{lib → dist}/constants.d.ts.map +0 -0
  2146. /package/{lib-esm → dist}/constants.js +0 -0
  2147. /package/{lib-esm → dist}/deprecated/ActionList/Divider.d.ts +0 -0
  2148. /package/{lib → dist}/deprecated/ActionList/Divider.d.ts.map +0 -0
  2149. /package/{lib-esm → dist}/deprecated/ActionList/Divider.js +0 -0
  2150. /package/{lib-esm → dist}/deprecated/ActionList/Group.d.ts +0 -0
  2151. /package/{lib → dist}/deprecated/ActionList/Group.d.ts.map +0 -0
  2152. /package/{lib-esm → dist}/deprecated/ActionList/Group.js +0 -0
  2153. /package/{lib-esm → dist}/deprecated/ActionList/Header.d.ts +0 -0
  2154. /package/{lib → dist}/deprecated/ActionList/Header.d.ts.map +0 -0
  2155. /package/{lib-esm → dist}/deprecated/ActionList/Header.js +0 -0
  2156. /package/{lib-esm → dist}/deprecated/ActionList/Item.d.ts +0 -0
  2157. /package/{lib → dist}/deprecated/ActionList/Item.d.ts.map +0 -0
  2158. /package/{lib-esm → dist}/deprecated/ActionList/Item.js +0 -0
  2159. /package/{lib-esm → dist}/deprecated/ActionList/List.d.ts +0 -0
  2160. /package/{lib-esm → dist}/deprecated/ActionList/index.d.ts +0 -0
  2161. /package/{lib → dist}/deprecated/ActionList/index.d.ts.map +0 -0
  2162. /package/{lib-esm → dist}/deprecated/ActionList/index.js +0 -0
  2163. /package/{lib-esm → dist}/deprecated/ActionMenu.d.ts +0 -0
  2164. /package/{lib → dist}/deprecated/ActionMenu.d.ts.map +0 -0
  2165. /package/{lib-esm → dist}/deprecated/FilteredSearch/index.d.ts +0 -0
  2166. /package/{lib → dist}/deprecated/FilteredSearch/index.d.ts.map +0 -0
  2167. /package/{lib-esm → dist}/deprecated/UnderlineNav/index.d.ts +0 -0
  2168. /package/{lib → dist}/deprecated/UnderlineNav/index.d.ts.map +0 -0
  2169. /package/{lib-esm → dist}/deprecated/index.d.ts +0 -0
  2170. /package/{lib → dist}/deprecated/index.d.ts.map +0 -0
  2171. /package/{lib-esm → dist}/deprecated/index.js +0 -0
  2172. /package/{lib-esm → dist}/deprecated/utils/create-slots.d.ts +0 -0
  2173. /package/{lib → dist}/deprecated/utils/create-slots.d.ts.map +0 -0
  2174. /package/{lib-esm → dist}/experimental/CSSComponent/index.d.ts +0 -0
  2175. /package/{lib → dist}/experimental/CSSComponent/index.d.ts.map +0 -0
  2176. /package/{lib-esm → dist}/experimental/IssueLabel/getColorFromHex.d.ts +0 -0
  2177. /package/{lib → dist}/experimental/IssueLabel/getColorFromHex.d.ts.map +0 -0
  2178. /package/{lib-esm → dist}/experimental/IssueLabel/getColorFromHex.js +0 -0
  2179. /package/{lib-esm → dist}/experimental/IssueLabel/index.d.ts +0 -0
  2180. /package/{lib → dist}/experimental/IssueLabel/index.d.ts.map +0 -0
  2181. /package/{lib-esm → dist}/experimental/SelectPanel2/SelectPanel-e919f619.css +0 -0
  2182. /package/{lib-esm → dist}/experimental/SelectPanel2/SelectPanel-e919f619.css.map +0 -0
  2183. /package/{lib-esm → dist}/experimental/SelectPanel2/SelectPanel.d.ts +0 -0
  2184. /package/{lib → dist}/experimental/SelectPanel2/SelectPanel.d.ts.map +0 -0
  2185. /package/{lib-esm → dist}/experimental/SelectPanel2/SelectPanel.module.css.js +0 -0
  2186. /package/{lib-esm → dist}/experimental/SelectPanel2/index.d.ts +0 -0
  2187. /package/{lib → dist}/experimental/SelectPanel2/index.d.ts.map +0 -0
  2188. /package/{lib-esm → dist}/experimental/SelectPanel2/mock-story-data.d.ts +0 -0
  2189. /package/{lib → dist}/experimental/SelectPanel2/mock-story-data.d.ts.map +0 -0
  2190. /package/{lib-esm → dist}/experimental/UnderlinePanels/UnderlinePanels-e4b325b9.css +0 -0
  2191. /package/{lib-esm → dist}/experimental/UnderlinePanels/UnderlinePanels-e4b325b9.css.map +0 -0
  2192. /package/{lib-esm → dist}/experimental/UnderlinePanels/UnderlinePanels.d.ts +0 -0
  2193. /package/{lib-esm → dist}/experimental/UnderlinePanels/UnderlinePanels.module.css.js +0 -0
  2194. /package/{lib-esm → dist}/experimental/UnderlinePanels/index.d.ts +0 -0
  2195. /package/{lib → dist}/experimental/UnderlinePanels/index.d.ts.map +0 -0
  2196. /package/{lib-esm → dist}/experimental/hooks/index.d.ts +0 -0
  2197. /package/{lib → dist}/experimental/hooks/index.d.ts.map +0 -0
  2198. /package/{lib-esm → dist}/hooks/index.d.ts +0 -0
  2199. /package/{lib → dist}/hooks/index.d.ts.map +0 -0
  2200. /package/{lib-esm → dist}/hooks/useAnchoredPosition.d.ts +0 -0
  2201. /package/{lib → dist}/hooks/useAnchoredPosition.d.ts.map +0 -0
  2202. /package/{lib-esm → dist}/hooks/useAnchoredPosition.js +0 -0
  2203. /package/{lib-esm → dist}/hooks/useControllableState.d.ts +0 -0
  2204. /package/{lib → dist}/hooks/useControllableState.d.ts.map +0 -0
  2205. /package/{lib-esm → dist}/hooks/useControllableState.js +0 -0
  2206. /package/{lib-esm → dist}/hooks/useDetails.d.ts +0 -0
  2207. /package/{lib → dist}/hooks/useDetails.d.ts.map +0 -0
  2208. /package/{lib-esm → dist}/hooks/useDetails.js +0 -0
  2209. /package/{lib-esm → dist}/hooks/useDialog.d.ts +0 -0
  2210. /package/{lib → dist}/hooks/useDialog.d.ts.map +0 -0
  2211. /package/{lib-esm → dist}/hooks/useDialog.js +0 -0
  2212. /package/{lib-esm → dist}/hooks/useFocusTrap.d.ts +0 -0
  2213. /package/{lib → dist}/hooks/useFocusTrap.d.ts.map +0 -0
  2214. /package/{lib-esm → dist}/hooks/useFocusTrap.js +0 -0
  2215. /package/{lib-esm → dist}/hooks/useFocusZone.d.ts +0 -0
  2216. /package/{lib → dist}/hooks/useFocusZone.d.ts.map +0 -0
  2217. /package/{lib-esm → dist}/hooks/useFocusZone.js +0 -0
  2218. /package/{lib-esm → dist}/hooks/useId.d.ts +0 -0
  2219. /package/{lib → dist}/hooks/useId.d.ts.map +0 -0
  2220. /package/{lib-esm → dist}/hooks/useId.js +0 -0
  2221. /package/{lib-esm → dist}/hooks/useIsMacOS.d.ts +0 -0
  2222. /package/{lib → dist}/hooks/useIsMacOS.d.ts.map +0 -0
  2223. /package/{lib-esm → dist}/hooks/useIsMacOS.js +0 -0
  2224. /package/{lib-esm → dist}/hooks/useMedia.d.ts +0 -0
  2225. /package/{lib → dist}/hooks/useMedia.d.ts.map +0 -0
  2226. /package/{lib-esm → dist}/hooks/useMedia.js +0 -0
  2227. /package/{lib-esm → dist}/hooks/useMenuInitialFocus.d.ts +0 -0
  2228. /package/{lib → dist}/hooks/useMenuInitialFocus.d.ts.map +0 -0
  2229. /package/{lib-esm → dist}/hooks/useMenuInitialFocus.js +0 -0
  2230. /package/{lib-esm → dist}/hooks/useMenuKeyboardNavigation.d.ts +0 -0
  2231. /package/{lib → dist}/hooks/useMenuKeyboardNavigation.d.ts.map +0 -0
  2232. /package/{lib-esm → dist}/hooks/useMnemonics.d.ts +0 -0
  2233. /package/{lib → dist}/hooks/useMnemonics.d.ts.map +0 -0
  2234. /package/{lib-esm → dist}/hooks/useOnEscapePress.d.ts +0 -0
  2235. /package/{lib → dist}/hooks/useOnEscapePress.d.ts.map +0 -0
  2236. /package/{lib-esm → dist}/hooks/useOnEscapePress.js +0 -0
  2237. /package/{lib-esm → dist}/hooks/useOnOutsideClick.d.ts +0 -0
  2238. /package/{lib → dist}/hooks/useOnOutsideClick.d.ts.map +0 -0
  2239. /package/{lib-esm → dist}/hooks/useOnOutsideClick.js +0 -0
  2240. /package/{lib-esm → dist}/hooks/useOpenAndCloseFocus.d.ts +0 -0
  2241. /package/{lib → dist}/hooks/useOpenAndCloseFocus.d.ts.map +0 -0
  2242. /package/{lib-esm → dist}/hooks/useOverflow.d.ts +0 -0
  2243. /package/{lib → dist}/hooks/useOverflow.d.ts.map +0 -0
  2244. /package/{lib-esm → dist}/hooks/useOverlay.d.ts +0 -0
  2245. /package/{lib → dist}/hooks/useOverlay.d.ts.map +0 -0
  2246. /package/{lib-esm → dist}/hooks/useOverlay.js +0 -0
  2247. /package/{lib-esm → dist}/hooks/useProvidedRefOrCreate.d.ts +0 -0
  2248. /package/{lib → dist}/hooks/useProvidedRefOrCreate.d.ts.map +0 -0
  2249. /package/{lib-esm → dist}/hooks/useProvidedRefOrCreate.js +0 -0
  2250. /package/{lib-esm → dist}/hooks/useProvidedStateOrCreate.d.ts +0 -0
  2251. /package/{lib → dist}/hooks/useProvidedStateOrCreate.d.ts.map +0 -0
  2252. /package/{lib-esm → dist}/hooks/useProvidedStateOrCreate.js +0 -0
  2253. /package/{lib-esm → dist}/hooks/useRefObjectAsForwardedRef.d.ts +0 -0
  2254. /package/{lib → dist}/hooks/useRefObjectAsForwardedRef.d.ts.map +0 -0
  2255. /package/{lib-esm → dist}/hooks/useRefObjectAsForwardedRef.js +0 -0
  2256. /package/{lib-esm → dist}/hooks/useRenderForcingRef.d.ts +0 -0
  2257. /package/{lib → dist}/hooks/useRenderForcingRef.d.ts.map +0 -0
  2258. /package/{lib-esm → dist}/hooks/useRenderForcingRef.js +0 -0
  2259. /package/{lib-esm → dist}/hooks/useResizeObserver.d.ts +0 -0
  2260. /package/{lib → dist}/hooks/useResizeObserver.d.ts.map +0 -0
  2261. /package/{lib-esm → dist}/hooks/useResizeObserver.js +0 -0
  2262. /package/{lib-esm → dist}/hooks/useResponsiveValue.d.ts +0 -0
  2263. /package/{lib → dist}/hooks/useResponsiveValue.d.ts.map +0 -0
  2264. /package/{lib-esm → dist}/hooks/useResponsiveValue.js +0 -0
  2265. /package/{lib-esm → dist}/hooks/useSafeTimeout.d.ts +0 -0
  2266. /package/{lib → dist}/hooks/useSafeTimeout.d.ts.map +0 -0
  2267. /package/{lib-esm → dist}/hooks/useSafeTimeout.js +0 -0
  2268. /package/{lib-esm → dist}/hooks/useScrollFlash.d.ts +0 -0
  2269. /package/{lib → dist}/hooks/useScrollFlash.d.ts.map +0 -0
  2270. /package/{lib-esm → dist}/hooks/useSlots.d.ts +0 -0
  2271. /package/{lib → dist}/hooks/useSlots.d.ts.map +0 -0
  2272. /package/{lib-esm → dist}/hooks/useSlots.js +0 -0
  2273. /package/{lib-esm → dist}/hooks/useSyncedState.d.ts +0 -0
  2274. /package/{lib → dist}/hooks/useSyncedState.d.ts.map +0 -0
  2275. /package/{lib-esm → dist}/hooks/useSyncedState.js +0 -0
  2276. /package/{lib-esm → dist}/internal/components/BoxWithFallback.d.ts +0 -0
  2277. /package/{lib → dist}/internal/components/BoxWithFallback.d.ts.map +0 -0
  2278. /package/{lib-esm → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroup-e38b5339.css +0 -0
  2279. /package/{lib-esm → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroup-e38b5339.css.map +0 -0
  2280. /package/{lib-esm → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroup.d.ts +0 -0
  2281. /package/{lib → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroup.d.ts.map +0 -0
  2282. /package/{lib-esm → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroup.js +0 -0
  2283. /package/{lib-esm → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroup.module.css.js +0 -0
  2284. /package/{lib-esm → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupCaption.d.ts +0 -0
  2285. /package/{lib → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupCaption.d.ts.map +0 -0
  2286. /package/{lib-esm → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupCaption.js +0 -0
  2287. /package/{lib-esm → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupContext.d.ts +0 -0
  2288. /package/{lib → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupContext.d.ts.map +0 -0
  2289. /package/{lib-esm → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupContext.js +0 -0
  2290. /package/{lib-esm → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupLabel.d.ts +0 -0
  2291. /package/{lib → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupLabel.d.ts.map +0 -0
  2292. /package/{lib-esm → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupLabel.js +0 -0
  2293. /package/{lib-esm → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupValidation.d.ts +0 -0
  2294. /package/{lib → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupValidation.d.ts.map +0 -0
  2295. /package/{lib-esm → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupValidation.js +0 -0
  2296. /package/{lib-esm → dist}/internal/components/CheckboxOrRadioGroup/index.d.ts +0 -0
  2297. /package/{lib → dist}/internal/components/CheckboxOrRadioGroup/index.d.ts.map +0 -0
  2298. /package/{lib-esm → dist}/internal/components/ConditionalWrapper.d.ts +0 -0
  2299. /package/{lib → dist}/internal/components/ConditionalWrapper.d.ts.map +0 -0
  2300. /package/{lib-esm → dist}/internal/components/ConditionalWrapper.js +0 -0
  2301. /package/{lib-esm → dist}/internal/components/InputLabel-eb267c58.css +0 -0
  2302. /package/{lib-esm → dist}/internal/components/InputLabel-eb267c58.css.map +0 -0
  2303. /package/{lib-esm → dist}/internal/components/InputLabel.d.ts +0 -0
  2304. /package/{lib → dist}/internal/components/InputLabel.d.ts.map +0 -0
  2305. /package/{lib-esm → dist}/internal/components/InputLabel.js +0 -0
  2306. /package/{lib-esm → dist}/internal/components/InputLabel.module.css.js +0 -0
  2307. /package/{lib-esm → dist}/internal/components/InputValidation-057236a4.css +0 -0
  2308. /package/{lib-esm → dist}/internal/components/InputValidation-057236a4.css.map +0 -0
  2309. /package/{lib-esm → dist}/internal/components/InputValidation.d.ts +0 -0
  2310. /package/{lib → dist}/internal/components/InputValidation.d.ts.map +0 -0
  2311. /package/{lib-esm → dist}/internal/components/InputValidation.js +0 -0
  2312. /package/{lib-esm → dist}/internal/components/InputValidation.module.css.js +0 -0
  2313. /package/{lib-esm → dist}/internal/components/LiveRegion.d.ts +0 -0
  2314. /package/{lib → dist}/internal/components/LiveRegion.d.ts.map +0 -0
  2315. /package/{lib-esm → dist}/internal/components/TextInputInnerAction-477e9b99.css +0 -0
  2316. /package/{lib-esm → dist}/internal/components/TextInputInnerAction-477e9b99.css.map +0 -0
  2317. /package/{lib-esm → dist}/internal/components/TextInputInnerAction.d.ts +0 -0
  2318. /package/{lib → dist}/internal/components/TextInputInnerAction.d.ts.map +0 -0
  2319. /package/{lib-esm → dist}/internal/components/TextInputInnerAction.js +0 -0
  2320. /package/{lib-esm → dist}/internal/components/TextInputInnerAction.module.css.js +0 -0
  2321. /package/{lib-esm → dist}/internal/components/TextInputInnerVisualSlot-4a14b955.css +0 -0
  2322. /package/{lib-esm → dist}/internal/components/TextInputInnerVisualSlot-4a14b955.css.map +0 -0
  2323. /package/{lib-esm → dist}/internal/components/TextInputInnerVisualSlot.d.ts +0 -0
  2324. /package/{lib → dist}/internal/components/TextInputInnerVisualSlot.d.ts.map +0 -0
  2325. /package/{lib-esm → dist}/internal/components/TextInputInnerVisualSlot.module.css.js +0 -0
  2326. /package/{lib-esm → dist}/internal/components/TextInputWrapper.d.ts +0 -0
  2327. /package/{lib → dist}/internal/components/TextInputWrapper.d.ts.map +0 -0
  2328. /package/{lib-esm → dist}/internal/components/TextInputWrapper.js +0 -0
  2329. /package/{lib-esm → dist}/internal/components/UnderlineTabbedInterface-addc90dd.css +0 -0
  2330. /package/{lib-esm → dist}/internal/components/UnderlineTabbedInterface-addc90dd.css.map +0 -0
  2331. /package/{lib-esm → dist}/internal/components/UnderlineTabbedInterface.d.ts +0 -0
  2332. /package/{lib-esm → dist}/internal/components/UnderlineTabbedInterface.module.css.js +0 -0
  2333. /package/{lib-esm → dist}/internal/components/UnstyledTextInput-8270f063.css +0 -0
  2334. /package/{lib-esm → dist}/internal/components/UnstyledTextInput-8270f063.css.map +0 -0
  2335. /package/{lib-esm → dist}/internal/components/UnstyledTextInput.d.ts +0 -0
  2336. /package/{lib → dist}/internal/components/UnstyledTextInput.d.ts.map +0 -0
  2337. /package/{lib-esm → dist}/internal/components/UnstyledTextInput.js +0 -0
  2338. /package/{lib-esm → dist}/internal/components/UnstyledTextInput.module.css.js +0 -0
  2339. /package/{lib-esm → dist}/internal/components/ValidationAnimationContainer.d.ts +0 -0
  2340. /package/{lib → dist}/internal/components/ValidationAnimationContainer.d.ts.map +0 -0
  2341. /package/{lib-esm → dist}/internal/components/ValidationAnimationContainer.js +0 -0
  2342. /package/{lib-esm → dist}/internal/hooks/useEffectCallback.d.ts +0 -0
  2343. /package/{lib → dist}/internal/hooks/useEffectCallback.d.ts.map +0 -0
  2344. /package/{lib-esm → dist}/internal/hooks/useEffectCallback.js +0 -0
  2345. /package/{lib-esm → dist}/internal/hooks/useEffectOnce.d.ts +0 -0
  2346. /package/{lib → dist}/internal/hooks/useEffectOnce.d.ts.map +0 -0
  2347. /package/{lib-esm → dist}/internal/hooks/useEffectOnce.js +0 -0
  2348. /package/{lib-esm → dist}/internal/hooks/useFocus.d.ts +0 -0
  2349. /package/{lib → dist}/internal/hooks/useFocus.d.ts.map +0 -0
  2350. /package/{lib-esm → dist}/internal/hooks/useMergedRefs.d.ts +0 -0
  2351. /package/{lib → dist}/internal/hooks/useMergedRefs.d.ts.map +0 -0
  2352. /package/{lib-esm → dist}/internal/hooks/useMergedRefs.js +0 -0
  2353. /package/{lib-esm → dist}/internal/internal-types.d.ts +0 -0
  2354. /package/{lib → dist}/internal/internal-types.d.ts.map +0 -0
  2355. /package/{lib-esm → dist}/internal/utils/__tests__/getResponsiveAttributes.test.d.ts +0 -0
  2356. /package/{lib → dist}/internal/utils/__tests__/getResponsiveAttributes.test.d.ts.map +0 -0
  2357. /package/{lib-esm → dist}/internal/utils/__tests__/hasInteractiveNodes.test.d.ts +0 -0
  2358. /package/{lib → dist}/internal/utils/__tests__/hasInteractiveNodes.test.d.ts.map +0 -0
  2359. /package/{lib-esm → dist}/internal/utils/getGlobalFocusStyles.d.ts +0 -0
  2360. /package/{lib → dist}/internal/utils/getGlobalFocusStyles.d.ts.map +0 -0
  2361. /package/{lib-esm → dist}/internal/utils/getResponsiveAttributes.d.ts +0 -0
  2362. /package/{lib → dist}/internal/utils/getResponsiveAttributes.d.ts.map +0 -0
  2363. /package/{lib-esm → dist}/internal/utils/getResponsiveAttributes.js +0 -0
  2364. /package/{lib-esm → dist}/internal/utils/getResponsiveControlValues.d.ts +0 -0
  2365. /package/{lib → dist}/internal/utils/getResponsiveControlValues.d.ts.map +0 -0
  2366. /package/{lib-esm → dist}/internal/utils/hasInteractiveNodes.d.ts +0 -0
  2367. /package/{lib → dist}/internal/utils/hasInteractiveNodes.d.ts.map +0 -0
  2368. /package/{lib-esm → dist}/internal/utils/hasInteractiveNodes.js +0 -0
  2369. /package/{lib-esm → dist}/internal/utils/sharedCheckboxAndRadioStyles.d.ts +0 -0
  2370. /package/{lib → dist}/internal/utils/sharedCheckboxAndRadioStyles.d.ts.map +0 -0
  2371. /package/{lib-esm → dist}/legacy-theme/ts/color-schemes.d.ts +0 -0
  2372. /package/{lib → dist}/legacy-theme/ts/color-schemes.d.ts.map +0 -0
  2373. /package/{lib-esm → dist}/legacy-theme/ts/color-schemes.js +0 -0
  2374. /package/{lib-esm → dist}/legacy-theme/ts/colors/dark.d.ts +0 -0
  2375. /package/{lib → dist}/legacy-theme/ts/colors/dark.d.ts.map +0 -0
  2376. /package/{lib-esm → dist}/legacy-theme/ts/colors/dark_colorblind.d.ts +0 -0
  2377. /package/{lib → dist}/legacy-theme/ts/colors/dark_colorblind.d.ts.map +0 -0
  2378. /package/{lib-esm → dist}/legacy-theme/ts/colors/dark_dimmed.d.ts +0 -0
  2379. /package/{lib → dist}/legacy-theme/ts/colors/dark_dimmed.d.ts.map +0 -0
  2380. /package/{lib-esm → dist}/legacy-theme/ts/colors/dark_high_contrast.d.ts +0 -0
  2381. /package/{lib → dist}/legacy-theme/ts/colors/dark_high_contrast.d.ts.map +0 -0
  2382. /package/{lib-esm → dist}/legacy-theme/ts/colors/dark_tritanopia.d.ts +0 -0
  2383. /package/{lib → dist}/legacy-theme/ts/colors/dark_tritanopia.d.ts.map +0 -0
  2384. /package/{lib-esm → dist}/legacy-theme/ts/colors/index.d.ts +0 -0
  2385. /package/{lib → dist}/legacy-theme/ts/colors/index.d.ts.map +0 -0
  2386. /package/{lib-esm → dist}/legacy-theme/ts/colors/light.d.ts +0 -0
  2387. /package/{lib → dist}/legacy-theme/ts/colors/light.d.ts.map +0 -0
  2388. /package/{lib-esm → dist}/legacy-theme/ts/colors/light_colorblind.d.ts +0 -0
  2389. /package/{lib → dist}/legacy-theme/ts/colors/light_colorblind.d.ts.map +0 -0
  2390. /package/{lib-esm → dist}/legacy-theme/ts/colors/light_high_contrast.d.ts +0 -0
  2391. /package/{lib → dist}/legacy-theme/ts/colors/light_high_contrast.d.ts.map +0 -0
  2392. /package/{lib-esm → dist}/legacy-theme/ts/colors/light_tritanopia.d.ts +0 -0
  2393. /package/{lib → dist}/legacy-theme/ts/colors/light_tritanopia.d.ts.map +0 -0
  2394. /package/{lib-esm → dist}/legacy-theme/ts/index.d.ts +0 -0
  2395. /package/{lib → dist}/legacy-theme/ts/index.d.ts.map +0 -0
  2396. /package/{lib-esm → dist}/live-region/AriaAlert.js +0 -0
  2397. /package/{lib-esm → dist}/live-region/AriaStatus.js +0 -0
  2398. /package/{lib-esm → dist}/live-region/__tests__/test-helpers.d.ts +0 -0
  2399. /package/{lib → dist}/live-region/__tests__/test-helpers.d.ts.map +0 -0
  2400. /package/{lib-esm → dist}/live-region/index.d.ts +0 -0
  2401. /package/{lib → dist}/live-region/index.d.ts.map +0 -0
  2402. /package/{lib-esm → dist}/next/index.d.ts +0 -0
  2403. /package/{lib → dist}/next/index.d.ts.map +0 -0
  2404. /package/{lib-esm → dist}/next/index.js +0 -0
  2405. /package/{lib-esm → dist}/polyfills/eventListenerSignal.d.ts +0 -0
  2406. /package/{lib → dist}/polyfills/eventListenerSignal.d.ts.map +0 -0
  2407. /package/{lib-esm → dist}/sx.d.ts +0 -0
  2408. /package/{lib → dist}/sx.d.ts.map +0 -0
  2409. /package/{lib-esm → dist}/sx.js +0 -0
  2410. /package/{lib-esm → dist}/theme.d.ts +0 -0
  2411. /package/{lib → dist}/theme.d.ts.map +0 -0
  2412. /package/{lib-esm → dist}/theme.js +0 -0
  2413. /package/{lib-esm → dist}/utils/StressTest.d.ts +0 -0
  2414. /package/{lib → dist}/utils/StressTest.d.ts.map +0 -0
  2415. /package/{lib-esm → dist}/utils/__tests__/invariant.test.d.ts +0 -0
  2416. /package/{lib → dist}/utils/__tests__/invariant.test.d.ts.map +0 -0
  2417. /package/{lib-esm → dist}/utils/__tests__/warning.test.d.ts +0 -0
  2418. /package/{lib → dist}/utils/__tests__/warning.test.d.ts.map +0 -0
  2419. /package/{lib-esm → dist}/utils/defaultSxProp.d.ts +0 -0
  2420. /package/{lib → dist}/utils/defaultSxProp.d.ts.map +0 -0
  2421. /package/{lib-esm → dist}/utils/defaultSxProp.js +0 -0
  2422. /package/{lib-esm → dist}/utils/deprecate.d.ts +0 -0
  2423. /package/{lib → dist}/utils/deprecate.d.ts.map +0 -0
  2424. /package/{lib-esm → dist}/utils/environment.d.ts +0 -0
  2425. /package/{lib → dist}/utils/environment.d.ts.map +0 -0
  2426. /package/{lib-esm → dist}/utils/environment.js +0 -0
  2427. /package/{lib-esm → dist}/utils/getBreakpointDeclarations.d.ts +0 -0
  2428. /package/{lib → dist}/utils/getBreakpointDeclarations.d.ts.map +0 -0
  2429. /package/{lib-esm → dist}/utils/getBreakpointDeclarations.js +0 -0
  2430. /package/{lib-esm → dist}/utils/includeSystemProps.d.ts +0 -0
  2431. /package/{lib → dist}/utils/includeSystemProps.d.ts.map +0 -0
  2432. /package/{lib-esm → dist}/utils/includeSystemProps.js +0 -0
  2433. /package/{lib-esm → dist}/utils/invariant.d.ts +0 -0
  2434. /package/{lib → dist}/utils/invariant.d.ts.map +0 -0
  2435. /package/{lib-esm → dist}/utils/invariant.js +0 -0
  2436. /package/{lib-esm → dist}/utils/isNumeric.d.ts +0 -0
  2437. /package/{lib → dist}/utils/isNumeric.d.ts.map +0 -0
  2438. /package/{lib-esm → dist}/utils/isNumeric.js +0 -0
  2439. /package/{lib-esm → dist}/utils/layout.d.ts +0 -0
  2440. /package/{lib → dist}/utils/layout.d.ts.map +0 -0
  2441. /package/{lib-esm → dist}/utils/polymorphic.d.ts +0 -0
  2442. /package/{lib → dist}/utils/polymorphic.d.ts.map +0 -0
  2443. /package/{lib-esm → dist}/utils/scroll.d.ts +0 -0
  2444. /package/{lib → dist}/utils/scroll.d.ts.map +0 -0
  2445. /package/{lib-esm → dist}/utils/scroll.js +0 -0
  2446. /package/{lib-esm → dist}/utils/theme.d.ts +0 -0
  2447. /package/{lib → dist}/utils/theme.d.ts.map +0 -0
  2448. /package/{lib-esm → dist}/utils/theme.js +0 -0
  2449. /package/{lib-esm → dist}/utils/types/AriaRole.d.ts +0 -0
  2450. /package/{lib → dist}/utils/types/AriaRole.d.ts.map +0 -0
  2451. /package/{lib-esm → dist}/utils/types/ComponentProps.d.ts +0 -0
  2452. /package/{lib → dist}/utils/types/ComponentProps.d.ts.map +0 -0
  2453. /package/{lib-esm → dist}/utils/types/Flatten.d.ts +0 -0
  2454. /package/{lib → dist}/utils/types/Flatten.d.ts.map +0 -0
  2455. /package/{lib-esm → dist}/utils/types/FormValidationStatus.d.ts +0 -0
  2456. /package/{lib → dist}/utils/types/FormValidationStatus.d.ts.map +0 -0
  2457. /package/{lib-esm → dist}/utils/types/KeyPaths.d.ts +0 -0
  2458. /package/{lib → dist}/utils/types/KeyPaths.d.ts.map +0 -0
  2459. /package/{lib-esm → dist}/utils/types/MandateProps.d.ts +0 -0
  2460. /package/{lib → dist}/utils/types/MandateProps.d.ts.map +0 -0
  2461. /package/{lib-esm → dist}/utils/types/Merge.d.ts +0 -0
  2462. /package/{lib → dist}/utils/types/Merge.d.ts.map +0 -0
  2463. /package/{lib-esm → dist}/utils/types/ViewportRangeKeys.d.ts +0 -0
  2464. /package/{lib → dist}/utils/types/ViewportRangeKeys.d.ts.map +0 -0
  2465. /package/{lib-esm → dist}/utils/types/index.d.ts +0 -0
  2466. /package/{lib → dist}/utils/types/index.d.ts.map +0 -0
  2467. /package/{lib-esm → dist}/utils/use-force-update.d.ts +0 -0
  2468. /package/{lib → dist}/utils/use-force-update.d.ts.map +0 -0
  2469. /package/{lib-esm → dist}/utils/useIsomorphicLayoutEffect.d.ts +0 -0
  2470. /package/{lib → dist}/utils/useIsomorphicLayoutEffect.d.ts.map +0 -0
  2471. /package/{lib-esm → dist}/utils/useIsomorphicLayoutEffect.js +0 -0
  2472. /package/{lib-esm → dist}/utils/warning.d.ts +0 -0
  2473. /package/{lib → dist}/utils/warning.d.ts.map +0 -0
  2474. /package/{lib-esm → dist}/utils/warning.js +0 -0
@@ -6,7 +6,7 @@
6
6
  "id": "actionbar",
7
7
  "name": "ActionBar",
8
8
  "status": "alpha",
9
- "a11yReviewed": true,
9
+ "a11yReviewed": "2025-01-08",
10
10
  "stories": [
11
11
  {
12
12
  "id": "experimental-components-actionbar--default",
@@ -104,7 +104,7 @@
104
104
  "id": "action_list",
105
105
  "name": "ActionList",
106
106
  "status": "beta",
107
- "a11yReviewed": false,
107
+ "a11yReviewed": "2025-01-08",
108
108
  "stories": [
109
109
  {
110
110
  "id": "components-actionlist--default",
@@ -120,7 +120,7 @@
120
120
  },
121
121
  {
122
122
  "id": "components-actionlist-features--with-custom-heading",
123
- "code": "() => (\n <>\n <Heading\n as=\"h1\"\n id=\"list-heading\"\n sx={{\n fontSize: 3,\n marginX: 3,\n }}\n >\n Details\n </Heading>\n <ActionList aria-labelledby=\"list-heading\">\n <ActionList.LinkItem href=\"https://github.com/primer/react#readme\">\n <ActionList.LeadingVisual>\n <BookIcon />\n </ActionList.LeadingVisual>\n Readme\n </ActionList.LinkItem>\n <ActionList.LinkItem href=\"https://github.com/primer/react/blob/main/LICENSE\">\n <ActionList.LeadingVisual>\n <LawIcon />\n </ActionList.LeadingVisual>\n MIT License\n </ActionList.LinkItem>\n <ActionList.LinkItem href=\"https://github.com/primer/react/stargazers\">\n <ActionList.LeadingVisual>\n <StarIcon />\n </ActionList.LeadingVisual>\n <strong>1.5k</strong> stars\n </ActionList.LinkItem>\n <ActionList.LinkItem href=\"https://github.com/primer/react/watchers\">\n <ActionList.LeadingVisual>\n <EyeIcon />\n </ActionList.LeadingVisual>\n <strong>21</strong> watching\n </ActionList.LinkItem>\n <ActionList.LinkItem href=\"https://github.com/primer/react/network/members\">\n <ActionList.LeadingVisual>\n <RepoForkedIcon />\n </ActionList.LeadingVisual>\n <strong>225</strong> forks\n </ActionList.LinkItem>\n </ActionList>\n </>\n)"
123
+ "code": "() => (\n <>\n <Heading as=\"h1\" id=\"list-heading\" className={classes.HeadingLarge}>\n Details\n </Heading>\n <ActionList aria-labelledby=\"list-heading\">\n <ActionList.LinkItem href=\"https://github.com/primer/react#readme\">\n <ActionList.LeadingVisual>\n <BookIcon />\n </ActionList.LeadingVisual>\n Readme\n </ActionList.LinkItem>\n <ActionList.LinkItem href=\"https://github.com/primer/react/blob/main/LICENSE\">\n <ActionList.LeadingVisual>\n <LawIcon />\n </ActionList.LeadingVisual>\n MIT License\n </ActionList.LinkItem>\n <ActionList.LinkItem href=\"https://github.com/primer/react/stargazers\">\n <ActionList.LeadingVisual>\n <StarIcon />\n </ActionList.LeadingVisual>\n <strong>1.5k</strong> stars\n </ActionList.LinkItem>\n <ActionList.LinkItem href=\"https://github.com/primer/react/watchers\">\n <ActionList.LeadingVisual>\n <EyeIcon />\n </ActionList.LeadingVisual>\n <strong>21</strong> watching\n </ActionList.LinkItem>\n <ActionList.LinkItem href=\"https://github.com/primer/react/network/members\">\n <ActionList.LeadingVisual>\n <RepoForkedIcon />\n </ActionList.LeadingVisual>\n <strong>225</strong> forks\n </ActionList.LinkItem>\n </ActionList>\n </>\n)"
124
124
  },
125
125
  {
126
126
  "id": "components-actionlist-features--with-icons",
@@ -196,7 +196,7 @@
196
196
  },
197
197
  {
198
198
  "id": "components-actionlist-features--links",
199
- "code": "() => (\n <ActionList>\n <ActionList.Heading\n as=\"h1\"\n sx={{\n fontSize: 1,\n }}\n >\n Details\n </ActionList.Heading>\n <ActionList.LinkItem href=\"https://github.com/primer/react#readme\">\n <ActionList.LeadingVisual>\n <BookIcon />\n </ActionList.LeadingVisual>\n Readme\n </ActionList.LinkItem>\n <ActionList.LinkItem href=\"https://github.com/primer/react/blob/main/LICENSE\">\n <ActionList.LeadingVisual>\n <LawIcon />\n </ActionList.LeadingVisual>\n MIT License\n </ActionList.LinkItem>\n <ActionList.LinkItem href=\"https://github.com/primer/react/stargazers\">\n <ActionList.LeadingVisual>\n <StarIcon />\n </ActionList.LeadingVisual>\n <strong>1.5k</strong> stars\n </ActionList.LinkItem>\n <ActionList.LinkItem href=\"https://github.com/primer/react/watchers\">\n <ActionList.LeadingVisual>\n <EyeIcon />\n </ActionList.LeadingVisual>\n <strong>21</strong> watching\n </ActionList.LinkItem>\n <ActionList.LinkItem href=\"https://github.com/primer/react/network/members\">\n <ActionList.LeadingVisual>\n <RepoForkedIcon />\n </ActionList.LeadingVisual>\n <strong>225</strong> forks\n </ActionList.LinkItem>\n </ActionList>\n)"
199
+ "code": "() => (\n <ActionList>\n <ActionList.Heading as=\"h1\" className={classes.HeadingSmall}>\n Details\n </ActionList.Heading>\n <ActionList.LinkItem href=\"https://github.com/primer/react#readme\">\n <ActionList.LeadingVisual>\n <BookIcon />\n </ActionList.LeadingVisual>\n Readme\n </ActionList.LinkItem>\n <ActionList.LinkItem href=\"https://github.com/primer/react/blob/main/LICENSE\">\n <ActionList.LeadingVisual>\n <LawIcon />\n </ActionList.LeadingVisual>\n MIT License\n </ActionList.LinkItem>\n <ActionList.LinkItem href=\"https://github.com/primer/react/stargazers\">\n <ActionList.LeadingVisual>\n <StarIcon />\n </ActionList.LeadingVisual>\n <strong>1.5k</strong> stars\n </ActionList.LinkItem>\n <ActionList.LinkItem href=\"https://github.com/primer/react/watchers\">\n <ActionList.LeadingVisual>\n <EyeIcon />\n </ActionList.LeadingVisual>\n <strong>21</strong> watching\n </ActionList.LinkItem>\n <ActionList.LinkItem href=\"https://github.com/primer/react/network/members\">\n <ActionList.LeadingVisual>\n <RepoForkedIcon />\n </ActionList.LeadingVisual>\n <strong>225</strong> forks\n </ActionList.LinkItem>\n </ActionList>\n)"
200
200
  },
201
201
  {
202
202
  "id": "components-actionlist-features--custom-item-children",
@@ -204,7 +204,7 @@
204
204
  },
205
205
  {
206
206
  "id": "components-actionlist-features--text-wrap-and-truncation",
207
- "code": "() => (\n <Box maxWidth=\"300px\">\n <ActionList showDividers>\n <ActionList.Item>\n <ActionList.LeadingVisual>\n <ArrowRightIcon />\n </ActionList.LeadingVisual>\n Block Description. Long text should wrap\n <ActionList.Description variant=\"block\">\n This description is long, but it is block so it wraps\n </ActionList.Description>\n <ActionList.TrailingVisual>\n <ArrowLeftIcon />\n </ActionList.TrailingVisual>\n </ActionList.Item>\n <ActionList.Item>\n <ActionList.LeadingVisual>\n <ArrowRightIcon />\n </ActionList.LeadingVisual>\n Inline Description\n <ActionList.Description truncate>\n This description gets truncated because it is inline with truncation\n </ActionList.Description>\n <ActionList.TrailingVisual>\n <ArrowLeftIcon />\n </ActionList.TrailingVisual>\n </ActionList.Item>\n <ActionList.Item>\n <ActionList.LeadingVisual>\n <ArrowRightIcon />\n </ActionList.LeadingVisual>\n Description with truncation and complex children\n <ActionList.Description truncate>\n With <strong>bold</strong> and <em>italic</em> text, and it should\n truncate if it is too long\n </ActionList.Description>\n <ActionList.TrailingVisual>\n <ArrowLeftIcon />\n </ActionList.TrailingVisual>\n </ActionList.Item>\n <ActionList.Item>\n <ActionList.LeadingVisual>\n <ArrowRightIcon />\n </ActionList.LeadingVisual>\n Inline Description\n <ActionList.Description>\n This description wraps because it is inline without truncation\n </ActionList.Description>\n <ActionList.TrailingVisual>\n <ArrowLeftIcon />\n </ActionList.TrailingVisual>\n </ActionList.Item>\n <ActionList.Item>\n <ActionList.LeadingVisual>\n <ArrowRightIcon />\n </ActionList.LeadingVisual>\n Really long text without a description should wrap so it wraps\n <ActionList.TrailingVisual>\n <ArrowLeftIcon />\n </ActionList.TrailingVisual>\n </ActionList.Item>\n <ActionList.Item>\n <ActionList.LeadingVisual>\n <ArrowRightIcon />\n </ActionList.LeadingVisual>\n SomethingSomething/SomethingElse.Some.Thing.Lalala.la\n <ActionList.TrailingVisual>\n <ArrowLeftIcon />\n </ActionList.TrailingVisual>\n </ActionList.Item>\n </ActionList>\n </Box>\n)"
207
+ "code": "() => (\n <div className={classes.BoxWithMaxWidth}>\n <ActionList showDividers>\n <ActionList.Item>\n <ActionList.LeadingVisual>\n <ArrowRightIcon />\n </ActionList.LeadingVisual>\n Block Description. Long text should wrap\n <ActionList.Description variant=\"block\">\n This description is long, but it is block so it wraps\n </ActionList.Description>\n <ActionList.TrailingVisual>\n <ArrowLeftIcon />\n </ActionList.TrailingVisual>\n </ActionList.Item>\n <ActionList.Item>\n <ActionList.LeadingVisual>\n <ArrowRightIcon />\n </ActionList.LeadingVisual>\n Inline Description\n <ActionList.Description truncate>\n This description gets truncated because it is inline with truncation\n </ActionList.Description>\n <ActionList.TrailingVisual>\n <ArrowLeftIcon />\n </ActionList.TrailingVisual>\n </ActionList.Item>\n <ActionList.Item>\n <ActionList.LeadingVisual>\n <ArrowRightIcon />\n </ActionList.LeadingVisual>\n Description with truncation and complex children\n <ActionList.Description truncate>\n With <strong>bold</strong> and <em>italic</em> text, and it should\n truncate if it is too long\n </ActionList.Description>\n <ActionList.TrailingVisual>\n <ArrowLeftIcon />\n </ActionList.TrailingVisual>\n </ActionList.Item>\n <ActionList.Item>\n <ActionList.LeadingVisual>\n <ArrowRightIcon />\n </ActionList.LeadingVisual>\n Inline Description\n <ActionList.Description>\n This description wraps because it is inline without truncation\n </ActionList.Description>\n <ActionList.TrailingVisual>\n <ArrowLeftIcon />\n </ActionList.TrailingVisual>\n </ActionList.Item>\n <ActionList.Item>\n <ActionList.LeadingVisual>\n <ArrowRightIcon />\n </ActionList.LeadingVisual>\n Really long text without a description should wrap so it wraps\n <ActionList.TrailingVisual>\n <ArrowLeftIcon />\n </ActionList.TrailingVisual>\n </ActionList.Item>\n <ActionList.Item>\n <ActionList.LeadingVisual>\n <ArrowRightIcon />\n </ActionList.LeadingVisual>\n SomethingSomething/SomethingElse.Some.Thing.Lalala.la\n <ActionList.TrailingVisual>\n <ArrowLeftIcon />\n </ActionList.TrailingVisual>\n </ActionList.Item>\n </ActionList>\n </div>\n)"
208
208
  },
209
209
  {
210
210
  "id": "components-actionlist-features--conditional-children",
@@ -237,6 +237,10 @@
237
237
  {
238
238
  "id": "components-actionlist-features--full-variant",
239
239
  "code": "() => (\n <ActionList variant=\"full\">\n <ActionList.Item>Copy link</ActionList.Item>\n <ActionList.Item>Quote reply</ActionList.Item>\n <ActionList.Item>Edit comment</ActionList.Item>\n <ActionList.Divider />\n <ActionList.Item variant=\"danger\">Delete file</ActionList.Item>\n </ActionList>\n)"
240
+ },
241
+ {
242
+ "id": "components-actionlist-features--large-item",
243
+ "code": "() => (\n <ActionList>\n <ActionList.Item size=\"large\">Large item</ActionList.Item>\n <ActionList.Item size=\"large\">\n Large item\n <ActionList.Description>With inline description</ActionList.Description>\n </ActionList.Item>\n <ActionList.Item size=\"large\">\n Large item\n <ActionList.Description variant=\"block\">\n With block description\n </ActionList.Description>\n </ActionList.Item>\n </ActionList>\n)"
240
244
  }
241
245
  ],
242
246
  "importPath": "@primer/react",
@@ -295,6 +299,12 @@
295
299
  "defaultValue": "'default'",
296
300
  "description": "`danger` indicates that the item is destructive."
297
301
  },
302
+ {
303
+ "name": "size",
304
+ "type": "'medium' | 'large'",
305
+ "defaultValue": "'medium'",
306
+ "description": "The block size of the ActionList items."
307
+ },
298
308
  {
299
309
  "name": "onSelect",
300
310
  "type": "(event: React.MouseEvent<HTMLLIElement> | React.KeyboardEvent<HTMLLIElement>) => void",
@@ -640,7 +650,7 @@
640
650
  "id": "action_menu",
641
651
  "name": "ActionMenu",
642
652
  "status": "beta",
643
- "a11yReviewed": false,
653
+ "a11yReviewed": "2025-01-08",
644
654
  "stories": [
645
655
  {
646
656
  "id": "components-actionmenu--default",
@@ -652,7 +662,7 @@
652
662
  },
653
663
  {
654
664
  "id": "components-actionmenu-features--single-select",
655
- "code": "() => {\n const options = [\n {\n name: 'Fast forward',\n },\n {\n name: 'Recursive',\n },\n {\n name: 'Ours',\n },\n {\n name: 'Octopus',\n },\n {\n name: 'Resolve',\n },\n {\n name: 'Subtree',\n },\n ]\n const [selectedIndex, setSelectedIndex] = React.useState(0)\n const selectedType = options[selectedIndex]\n return (\n <ActionMenu>\n <ActionMenu.Button>\n <Box\n sx={{\n color: 'fg.muted',\n display: 'inline-block',\n }}\n >\n Options:\n </Box>{' '}\n {selectedType.name}\n </ActionMenu.Button>\n <ActionMenu.Overlay width=\"auto\">\n <ActionList selectionVariant=\"single\">\n {options.map((options, index) => (\n <ActionList.Item\n key={index}\n selected={index === selectedIndex}\n onSelect={() => setSelectedIndex(index)}\n >\n {options.name}\n </ActionList.Item>\n ))}\n </ActionList>\n </ActionMenu.Overlay>\n </ActionMenu>\n )\n}"
665
+ "code": "() => {\n const options = [\n {\n name: 'Fast forward',\n },\n {\n name: 'Recursive',\n },\n {\n name: 'Ours',\n },\n {\n name: 'Octopus',\n },\n {\n name: 'Resolve',\n },\n {\n name: 'Subtree',\n },\n ]\n const [selectedIndex, setSelectedIndex] = React.useState(0)\n const selectedType = options[selectedIndex]\n return (\n <ActionMenu>\n <ActionMenu.Button>\n <span className={classes.MutedText}>Options:</span> {selectedType.name}\n </ActionMenu.Button>\n <ActionMenu.Overlay width=\"auto\">\n <ActionList selectionVariant=\"single\">\n {options.map((options, index) => (\n <ActionList.Item\n key={index}\n selected={index === selectedIndex}\n onSelect={() => setSelectedIndex(index)}\n >\n {options.name}\n </ActionList.Item>\n ))}\n </ActionList>\n </ActionMenu.Overlay>\n </ActionMenu>\n )\n}"
656
666
  },
657
667
  {
658
668
  "id": "components-actionmenu-features--multi-select",
@@ -782,55 +792,55 @@
782
792
  "id": "anchored_overlay",
783
793
  "name": "AnchoredOverlay",
784
794
  "status": "alpha",
785
- "a11yReviewed": false,
795
+ "a11yReviewed": "2025-01-08",
786
796
  "stories": [
787
797
  {
788
798
  "id": "components-anchoredoverlay--default",
789
- "code": "() => {\n const [open, setOpen] = useState(false)\n return (\n <AnchoredOverlay\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n renderAnchor={(props) => <Button {...props}>Button</Button>}\n overlayProps={{\n role: 'dialog',\n 'aria-modal': true,\n 'aria-label': 'User Card Overlay',\n sx: {\n minWidth: '320px',\n },\n }}\n focusZoneSettings={{\n disabled: true,\n }}\n preventOverflow={false}\n >\n {hoverCard}\n </AnchoredOverlay>\n )\n}"
799
+ "code": "() => {\n const [open, setOpen] = useState(false)\n return (\n <AnchoredOverlay\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n renderAnchor={(props) => <Button {...props}>Button</Button>}\n overlayProps={{\n role: 'dialog',\n 'aria-modal': true,\n 'aria-label': 'User Card Overlay',\n style: {\n minWidth: '320px',\n },\n }}\n focusZoneSettings={{\n disabled: true,\n }}\n preventOverflow={false}\n >\n {hoverCard}\n </AnchoredOverlay>\n )\n}"
790
800
  },
791
801
  {
792
802
  "id": "components-anchoredoverlay-features--portal-inside-scrolling-element",
793
- "code": "(args: Args) => {\n const rows = 20\n const columns = 10\n return (\n <HeaderAndLayout>\n <table>\n <tbody>\n {Array(rows)\n .fill(null)\n .map((_, i) => (\n <tr key={i}>\n {Array(columns)\n .fill(null)\n .map((_1, j) => (\n <td key={`${i}${j}`}>\n <Box m={2}>\n <Playground\n {...{\n ...args,\n portalContainerName: 'scrollingPortal',\n }}\n />\n </Box>\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n </HeaderAndLayout>\n )\n}"
803
+ "code": "(args: Args) => {\n const rows = 20\n const columns = 10\n return (\n <HeaderAndLayout>\n <table>\n <tbody>\n {Array(rows)\n .fill(null)\n .map((_, i) => (\n <tr key={i}>\n {Array(columns)\n .fill(null)\n .map((_1, j) => (\n <td key={`${i}${j}`}>\n <div className={classes.PlaygroundCell}>\n <Playground\n {...{\n ...args,\n portalContainerName: 'scrollingPortal',\n }}\n />\n </div>\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n </HeaderAndLayout>\n )\n}"
794
804
  },
795
805
  {
796
806
  "id": "components-anchoredoverlay-features--custom-anchor-id",
797
- "code": "() => {\n const [open, setOpen] = useState(false)\n return (\n <AnchoredOverlay\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n renderAnchor={(props) => <Button {...props}>Button</Button>}\n anchorId=\"my-custom-anchor-id\"\n overlayProps={{\n role: 'dialog',\n 'aria-modal': true,\n 'aria-label': 'User Card Overlay',\n sx: {\n minWidth: '320px',\n },\n }}\n focusZoneSettings={{\n disabled: true,\n }}\n preventOverflow={false}\n >\n <Box\n sx={{\n width: '100%',\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n {hoverCard}\n </Box>\n </AnchoredOverlay>\n )\n}"
807
+ "code": "() => {\n const [open, setOpen] = useState(false)\n return (\n <AnchoredOverlay\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n renderAnchor={(props) => <Button {...props}>Button</Button>}\n anchorId=\"my-custom-anchor-id\"\n overlayProps={{\n role: 'dialog',\n 'aria-modal': true,\n 'aria-label': 'User Card Overlay',\n className: classes.Overlay,\n }}\n focusZoneSettings={{\n disabled: true,\n }}\n preventOverflow={false}\n >\n <div className={classes.FlexColFill}>{hoverCard}</div>\n </AnchoredOverlay>\n )\n}"
798
808
  },
799
809
  {
800
810
  "id": "components-anchoredoverlay-features--height",
801
- "code": "() => {\n const [open, setOpen] = useState(false)\n return (\n <AnchoredOverlay\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n renderAnchor={(props) => <Button {...props}>Button</Button>}\n height=\"large\"\n overlayProps={{\n role: 'dialog',\n 'aria-modal': true,\n 'aria-label': 'User Card Overlay',\n sx: {\n minWidth: '320px',\n },\n }}\n focusZoneSettings={{\n disabled: true,\n }}\n preventOverflow={false}\n >\n <Box\n sx={{\n width: '100%',\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n {hoverCard}\n </Box>\n </AnchoredOverlay>\n )\n}"
811
+ "code": "() => {\n const [open, setOpen] = useState(false)\n return (\n <AnchoredOverlay\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n renderAnchor={(props) => <Button {...props}>Button</Button>}\n height=\"large\"\n overlayProps={{\n role: 'dialog',\n 'aria-modal': true,\n 'aria-label': 'User Card Overlay',\n className: classes.Overlay,\n }}\n focusZoneSettings={{\n disabled: true,\n }}\n preventOverflow={false}\n >\n <div className={classes.FlexColFill}>{hoverCard}</div>\n </AnchoredOverlay>\n )\n}"
802
812
  },
803
813
  {
804
814
  "id": "components-anchoredoverlay-features--width",
805
- "code": "() => {\n const [open, setOpen] = useState(false)\n return (\n <AnchoredOverlay\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n renderAnchor={(props) => <Button {...props}>Button</Button>}\n width=\"large\"\n overlayProps={{\n role: 'dialog',\n 'aria-modal': true,\n 'aria-label': 'User Card Overlay',\n sx: {\n minWidth: '320px',\n },\n }}\n focusZoneSettings={{\n disabled: true,\n }}\n preventOverflow={false}\n >\n <Box\n sx={{\n width: '100%',\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n {hoverCard}\n </Box>\n </AnchoredOverlay>\n )\n}"
815
+ "code": "() => {\n const [open, setOpen] = useState(false)\n return (\n <AnchoredOverlay\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n renderAnchor={(props) => <Button {...props}>Button</Button>}\n width=\"large\"\n overlayProps={{\n role: 'dialog',\n 'aria-modal': true,\n 'aria-label': 'User Card Overlay',\n className: classes.Overlay,\n }}\n focusZoneSettings={{\n disabled: true,\n }}\n preventOverflow={false}\n >\n <div className={classes.FlexColFill}>{hoverCard}</div>\n </AnchoredOverlay>\n )\n}"
806
816
  },
807
817
  {
808
818
  "id": "components-anchoredoverlay-features--anchor-alignment",
809
- "code": "() => {\n const [open, setOpen] = useState(false)\n return (\n <AnchoredOverlay\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n renderAnchor={(props) => (\n <Button {...props} block>\n Button\n </Button>\n )}\n align=\"center\"\n overlayProps={{\n role: 'dialog',\n 'aria-modal': true,\n 'aria-label': 'User Card Overlay',\n sx: {\n minWidth: '320px',\n },\n }}\n focusZoneSettings={{\n disabled: true,\n }}\n preventOverflow={false}\n >\n <Box\n sx={{\n width: '100%',\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n {hoverCard}\n </Box>\n </AnchoredOverlay>\n )\n}"
819
+ "code": "() => {\n const [open, setOpen] = useState(false)\n return (\n <AnchoredOverlay\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n renderAnchor={(props) => (\n <Button {...props} block>\n Button\n </Button>\n )}\n align=\"center\"\n overlayProps={{\n role: 'dialog',\n 'aria-modal': true,\n 'aria-label': 'User Card Overlay',\n className: classes.Overlay,\n }}\n focusZoneSettings={{\n disabled: true,\n }}\n preventOverflow={false}\n >\n <div className={classes.FlexColFill}>{hoverCard}</div>\n </AnchoredOverlay>\n )\n}"
810
820
  },
811
821
  {
812
822
  "id": "components-anchoredoverlay-features--anchor-side",
813
- "code": "() => {\n const [open, setOpen] = useState(false)\n return (\n <AnchoredOverlay\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n renderAnchor={(props) => <Button {...props}>Button</Button>}\n side=\"outside-right\"\n overlayProps={{\n role: 'dialog',\n 'aria-modal': true,\n 'aria-label': 'User Card Overlay',\n sx: {\n minWidth: '320px',\n },\n }}\n focusZoneSettings={{\n disabled: true,\n }}\n preventOverflow={false}\n >\n <Box\n sx={{\n width: '100%',\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n {hoverCard}\n </Box>\n </AnchoredOverlay>\n )\n}"
823
+ "code": "() => {\n const [open, setOpen] = useState(false)\n return (\n <AnchoredOverlay\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n renderAnchor={(props) => <Button {...props}>Button</Button>}\n side=\"outside-right\"\n overlayProps={{\n role: 'dialog',\n 'aria-modal': true,\n 'aria-label': 'User Card Overlay',\n className: classes.Overlay,\n }}\n focusZoneSettings={{\n disabled: true,\n }}\n preventOverflow={false}\n >\n <div className={classes.FlexColFill}>{hoverCard}</div>\n </AnchoredOverlay>\n )\n}"
814
824
  },
815
825
  {
816
826
  "id": "components-anchoredoverlay-features--offset-position-from-anchor",
817
- "code": "() => {\n const [open, setOpen] = useState(false)\n return (\n <AnchoredOverlay\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n renderAnchor={(props) => <Button {...props}>Button</Button>}\n anchorOffset={100}\n overlayProps={{\n role: 'dialog',\n 'aria-modal': true,\n 'aria-label': 'User Card Overlay',\n sx: {\n minWidth: '320px',\n },\n }}\n focusZoneSettings={{\n disabled: true,\n }}\n preventOverflow={false}\n >\n <Box\n sx={{\n width: '100%',\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n {hoverCard}\n </Box>\n </AnchoredOverlay>\n )\n}"
827
+ "code": "() => {\n const [open, setOpen] = useState(false)\n return (\n <AnchoredOverlay\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n renderAnchor={(props) => <Button {...props}>Button</Button>}\n anchorOffset={100}\n overlayProps={{\n role: 'dialog',\n 'aria-modal': true,\n 'aria-label': 'User Card Overlay',\n className: classes.Overlay,\n }}\n focusZoneSettings={{\n disabled: true,\n }}\n preventOverflow={false}\n >\n <div className={classes.FlexColFill}>{hoverCard}</div>\n </AnchoredOverlay>\n )\n}"
818
828
  },
819
829
  {
820
830
  "id": "components-anchoredoverlay-features--offset-alignment-from-anchor",
821
- "code": "() => {\n const [open, setOpen] = useState(false)\n return (\n <AnchoredOverlay\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n renderAnchor={(props) => <Button {...props}>Button</Button>}\n alignmentOffset={100}\n overlayProps={{\n role: 'dialog',\n 'aria-modal': true,\n 'aria-label': 'User Card Overlay',\n sx: {\n minWidth: '320px',\n },\n }}\n focusZoneSettings={{\n disabled: true,\n }}\n preventOverflow={false}\n >\n <Box\n sx={{\n width: '100%',\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n {hoverCard}\n </Box>\n </AnchoredOverlay>\n )\n}"
831
+ "code": "() => {\n const [open, setOpen] = useState(false)\n return (\n <AnchoredOverlay\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n renderAnchor={(props) => <Button {...props}>Button</Button>}\n alignmentOffset={100}\n overlayProps={{\n role: 'dialog',\n 'aria-modal': true,\n 'aria-label': 'User Card Overlay',\n className: classes.Overlay,\n }}\n focusZoneSettings={{\n disabled: true,\n }}\n preventOverflow={false}\n >\n <div className={classes.FlexColFill}>{hoverCard}</div>\n </AnchoredOverlay>\n )\n}"
822
832
  },
823
833
  {
824
834
  "id": "components-anchoredoverlay-features--focus-trap-overrides",
825
- "code": "() => {\n const initialFocusRef = useRef<HTMLButtonElement>(null)\n const [open, setOpen] = useState(false)\n return (\n <AnchoredOverlay\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n renderAnchor={(props) => <Button {...props}>Button</Button>}\n focusTrapSettings={{\n initialFocusRef,\n }}\n overlayProps={{\n role: 'dialog',\n 'aria-modal': true,\n 'aria-label': 'Focus Trap Demo Overlay',\n }}\n focusZoneSettings={{\n disabled: true,\n }}\n preventOverflow={false}\n >\n <Button>First button</Button>\n <Button ref={initialFocusRef}>Initial focus</Button>\n </AnchoredOverlay>\n )\n}"
835
+ "code": "() => {\n const initialFocusRef = useRef<HTMLButtonElement>(null)\n const [open, setOpen] = useState(false)\n return (\n <AnchoredOverlay\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n renderAnchor={(props) => <Button {...props}>Button</Button>}\n focusTrapSettings={{\n initialFocusRef,\n }}\n overlayProps={{\n role: 'dialog',\n 'aria-modal': true,\n 'aria-label': 'Focus Trap Demo Overlay',\n className: classes.Overlay,\n }}\n focusZoneSettings={{\n disabled: true,\n }}\n preventOverflow={false}\n >\n <Button>First button</Button>\n <Button ref={initialFocusRef}>Initial focus</Button>\n </AnchoredOverlay>\n )\n}"
826
836
  },
827
837
  {
828
838
  "id": "components-anchoredoverlay-features--focus-zone-overrides",
829
- "code": "() => {\n const [open, setOpen] = useState(false)\n return (\n <AnchoredOverlay\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n renderAnchor={(props) => <Button {...props}>Button</Button>}\n focusZoneSettings={{\n bindKeys: FocusKeys.JK,\n }}\n overlayProps={{\n role: 'dialog',\n 'aria-modal': true,\n 'aria-label': 'Focus Zone Demo Overlay',\n }}\n preventOverflow={false}\n >\n <p>\n Use <kbd>J</kbd> and <kbd>K</kbd> keys to move focus.\n </p>\n <Button>First</Button>\n <Button>Second</Button>\n <Button>Third</Button>\n </AnchoredOverlay>\n )\n}"
839
+ "code": "() => {\n const [open, setOpen] = useState(false)\n return (\n <AnchoredOverlay\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n renderAnchor={(props) => <Button {...props}>Button</Button>}\n focusZoneSettings={{\n bindKeys: FocusKeys.JK,\n }}\n overlayProps={{\n role: 'dialog',\n 'aria-modal': true,\n 'aria-label': 'Focus Zone Demo Overlay',\n className: classes.Overlay,\n }}\n preventOverflow={false}\n >\n <p>\n Use <kbd>J</kbd> and <kbd>K</kbd> keys to move focus.\n </p>\n <Button>First</Button>\n <Button>Second</Button>\n <Button>Third</Button>\n </AnchoredOverlay>\n )\n}"
830
840
  },
831
841
  {
832
842
  "id": "components-anchoredoverlay-features--overlay-props-overrides",
833
- "code": "() => {\n const [open, setOpen] = useState(false)\n return (\n <AnchoredOverlay\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n renderAnchor={(props) => <Button {...props}>Button</Button>}\n overlayProps={{\n overflow: 'auto',\n maxHeight: 'xsmall',\n role: 'dialog',\n 'aria-modal': true,\n 'aria-label': 'User Card Overlay',\n sx: {\n minWidth: '320px',\n },\n }}\n focusZoneSettings={{\n disabled: true,\n }}\n preventOverflow={false}\n >\n <div>Overlay props have been overridden to set: </div>\n <pre>\n <li>overflow: `auto`</li>\n <li>maxHeight: `xsmall`</li>\n </pre>\n <Box\n sx={{\n width: '100%',\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n {hoverCard}\n </Box>\n </AnchoredOverlay>\n )\n}"
843
+ "code": "() => {\n const [open, setOpen] = useState(false)\n return (\n <AnchoredOverlay\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n renderAnchor={(props) => <Button {...props}>Button</Button>}\n overlayProps={{\n overflow: 'auto',\n maxHeight: 'xsmall',\n role: 'dialog',\n 'aria-modal': true,\n 'aria-label': 'User Card Overlay',\n className: classes.Overlay,\n }}\n focusZoneSettings={{\n disabled: true,\n }}\n preventOverflow={false}\n >\n <div>Overlay props have been overridden to set: </div>\n <pre>\n <li>overflow: `auto`</li>\n <li>maxHeight: `xsmall`</li>\n </pre>\n <div className={classes.FlexColFill}>{hoverCard}</div>\n </AnchoredOverlay>\n )\n}"
834
844
  }
835
845
  ],
836
846
  "importPath": "@primer/react",
@@ -975,27 +985,27 @@
975
985
  "id": "autocomplete",
976
986
  "name": "Autocomplete",
977
987
  "status": "alpha",
978
- "a11yReviewed": false,
988
+ "a11yReviewed": "2025-01-08",
979
989
  "stories": [
980
990
  {
981
991
  "id": "components-autocomplete--default",
982
- "code": "() => {\n return (\n <Box\n as=\"form\"\n sx={{\n p: 3,\n }}\n onSubmit={(event) => event.preventDefault()}\n >\n <FormControl>\n <FormControl.Label id=\"autocompleteLabel-default\">\n Label\n </FormControl.Label>\n <Autocomplete>\n <Autocomplete.Input />\n <Autocomplete.Overlay>\n <Autocomplete.Menu\n selectedItemIds={[]}\n aria-labelledby=\"autocompleteLabel-default\"\n items={items}\n />\n </Autocomplete.Overlay>\n </Autocomplete>\n </FormControl>\n </Box>\n )\n}"
992
+ "code": "() => {\n return (\n <form\n className={classes.DefaultForm}\n onSubmit={(event) => event.preventDefault()}\n >\n <FormControl>\n <FormControl.Label id=\"autocompleteLabel-default\">\n Label\n </FormControl.Label>\n <Autocomplete>\n <Autocomplete.Input />\n <Autocomplete.Overlay>\n <Autocomplete.Menu\n selectedItemIds={[]}\n aria-labelledby=\"autocompleteLabel-default\"\n items={items}\n />\n </Autocomplete.Overlay>\n </Autocomplete>\n </FormControl>\n </form>\n )\n}"
983
993
  },
984
994
  {
985
995
  "id": "components-autocomplete-features--with-token-input",
986
- "code": "() => {\n const [tokens, setTokens] = useState<Datum[]>([])\n const selectedTokenIds = tokens.map((token) => token.id)\n const [selectedItemIds, setSelectedItemIds] =\n useState<Array<string>>(selectedTokenIds)\n const onTokenRemove: (tokenId: string | number) => void = (tokenId) => {\n setTokens(tokens.filter((token) => token.id !== tokenId))\n setSelectedItemIds(selectedItemIds.filter((id) => id !== tokenId))\n }\n const onSelectedChange = (newlySelectedItems: Datum | Datum[]) => {\n if (!Array.isArray(newlySelectedItems)) {\n return\n }\n setSelectedItemIds(newlySelectedItems.map((item) => item.id))\n if (newlySelectedItems.length < selectedItemIds.length) {\n const newlySelectedItemIds = newlySelectedItems.map(({ id }) => id)\n const removedItemIds = selectedTokenIds.filter(\n (id) => !newlySelectedItemIds.includes(id),\n )\n for (const removedItemId of removedItemIds) {\n onTokenRemove(removedItemId)\n }\n return\n }\n setTokens(\n newlySelectedItems.map(({ id, text }) => ({\n id,\n text,\n })),\n )\n }\n return (\n <Box\n as=\"form\"\n sx={{\n p: 3,\n }}\n >\n <FormControl>\n <FormControl.Label id=\"autocompleteLabel\">\n Default label\n </FormControl.Label>\n <Autocomplete>\n <Autocomplete.Input\n as={TextInputTokens}\n tokens={tokens}\n onTokenRemove={onTokenRemove}\n block\n />\n <Autocomplete.Overlay>\n <Autocomplete.Menu\n items={items}\n selectedItemIds={selectedItemIds}\n onSelectedChange={onSelectedChange}\n selectionVariant=\"multiple\"\n aria-labelledby=\"autocompleteLabel\"\n />\n </Autocomplete.Overlay>\n </Autocomplete>\n </FormControl>\n </Box>\n )\n}"
996
+ "code": "() => {\n const [tokens, setTokens] = useState<Datum[]>([])\n const selectedTokenIds = tokens.map((token) => token.id)\n const [selectedItemIds, setSelectedItemIds] =\n useState<Array<string>>(selectedTokenIds)\n const onTokenRemove: (tokenId: string | number) => void = (tokenId) => {\n setTokens(tokens.filter((token) => token.id !== tokenId))\n setSelectedItemIds(selectedItemIds.filter((id) => id !== tokenId))\n }\n const onSelectedChange = (newlySelectedItems: Datum | Datum[]) => {\n if (!Array.isArray(newlySelectedItems)) {\n return\n }\n setSelectedItemIds(newlySelectedItems.map((item) => item.id))\n if (newlySelectedItems.length < selectedItemIds.length) {\n const newlySelectedItemIds = newlySelectedItems.map(({ id }) => id)\n const removedItemIds = selectedTokenIds.filter(\n (id) => !newlySelectedItemIds.includes(id),\n )\n for (const removedItemId of removedItemIds) {\n onTokenRemove(removedItemId)\n }\n return\n }\n setTokens(\n newlySelectedItems.map(({ id, text }) => ({\n id,\n text,\n })),\n )\n }\n return (\n <form className={classes.FormPadding}>\n <FormControl>\n <FormControl.Label id=\"autocompleteLabel\">\n Default label\n </FormControl.Label>\n <Autocomplete>\n <Autocomplete.Input\n as={TextInputTokens}\n tokens={tokens}\n onTokenRemove={onTokenRemove}\n block\n />\n <Autocomplete.Overlay>\n <Autocomplete.Menu\n items={items}\n selectedItemIds={selectedItemIds}\n onSelectedChange={onSelectedChange}\n selectionVariant=\"multiple\"\n aria-labelledby=\"autocompleteLabel\"\n />\n </Autocomplete.Overlay>\n </Autocomplete>\n </FormControl>\n </form>\n )\n}"
987
997
  },
988
998
  {
989
999
  "id": "components-autocomplete-features--add-new-item",
990
- "code": "() => {\n const [inputValue, setInputValue] = React.useState<string>('')\n return (\n <Box\n as=\"form\"\n sx={{\n p: 3,\n }}\n >\n <FormControl>\n <FormControl.Label id=\"autocompleteLabel-add-new\">\n Label\n </FormControl.Label>\n <Autocomplete>\n <Autocomplete.Input\n value={inputValue}\n onChange={(e) => {\n setInputValue(e.currentTarget.value)\n }}\n />\n <Autocomplete.Overlay>\n <Autocomplete.Menu\n selectedItemIds={[]}\n aria-labelledby=\"autocompleteLabel-add-new\"\n addNewItem={\n inputValue &&\n !items.map((item) => item.text).includes(inputValue)\n ? {\n text: inputValue,\n id: inputValue,\n // `handleAddItem` callback isn't needed for this specific example,\n // but it's included here to show that it exists\n handleAddItem: (selectedItem) => {\n // eslint-disable-next-line no-console\n console.log('added item:', selectedItem)\n return\n },\n }\n : undefined\n }\n items={items}\n />\n </Autocomplete.Overlay>\n </Autocomplete>\n </FormControl>\n </Box>\n )\n}"
1000
+ "code": "() => {\n const [inputValue, setInputValue] = React.useState<string>('')\n return (\n <form className={classes.FormPadding}>\n <FormControl>\n <FormControl.Label id=\"autocompleteLabel-add-new\">\n Label\n </FormControl.Label>\n <Autocomplete>\n <Autocomplete.Input\n value={inputValue}\n onChange={(e) => {\n setInputValue(e.currentTarget.value)\n }}\n />\n <Autocomplete.Overlay>\n <Autocomplete.Menu\n selectedItemIds={[]}\n aria-labelledby=\"autocompleteLabel-add-new\"\n addNewItem={\n inputValue &&\n !items.map((item) => item.text).includes(inputValue)\n ? {\n text: inputValue,\n id: inputValue,\n handleAddItem: (selectedItem) => {\n // eslint-disable-next-line no-console\n console.log('added item:', selectedItem)\n return\n },\n }\n : undefined\n }\n items={items}\n />\n </Autocomplete.Overlay>\n </Autocomplete>\n </FormControl>\n </form>\n )\n}"
991
1001
  },
992
1002
  {
993
1003
  "id": "components-autocomplete-features--custom-search-filter-fn",
994
- "code": "() => {\n const [filterVal, setFilterVal] = useState<string>('')\n const handleChange: ChangeEventHandler<HTMLInputElement> = (e) => {\n setFilterVal(e.currentTarget.value)\n }\n const customFilterFn = (item: Datum) => item.text.includes(filterVal)\n return (\n <Box\n as=\"form\"\n sx={{\n p: 3,\n }}\n >\n <FormControl>\n <FormControl.Label id=\"autocompleteLabel\">\n Default label\n </FormControl.Label>\n <Autocomplete>\n <Autocomplete.Input onChange={handleChange} />\n <Autocomplete.Overlay>\n <Autocomplete.Menu\n items={items}\n selectedItemIds={[]}\n filterFn={customFilterFn}\n aria-labelledby=\"autocompleteLabel\"\n />\n </Autocomplete.Overlay>\n </Autocomplete>\n <FormControl.Caption>\n Items in dropdown are filtered if their text has no part that matches\n the input value\n </FormControl.Caption>\n </FormControl>\n </Box>\n )\n}"
1004
+ "code": "() => {\n const [filterVal, setFilterVal] = useState<string>('')\n const handleChange: ChangeEventHandler<HTMLInputElement> = (e) => {\n setFilterVal(e.currentTarget.value)\n }\n const customFilterFn = (item: Datum) => item.text.includes(filterVal)\n return (\n <form className={classes.FormPadding}>\n <FormControl>\n <FormControl.Label id=\"autocompleteLabel\">\n Default label\n </FormControl.Label>\n <Autocomplete>\n <Autocomplete.Input onChange={handleChange} />\n <Autocomplete.Overlay>\n <Autocomplete.Menu\n items={items}\n selectedItemIds={[]}\n filterFn={customFilterFn}\n aria-labelledby=\"autocompleteLabel\"\n />\n </Autocomplete.Overlay>\n </Autocomplete>\n <FormControl.Caption>\n Items in dropdown are filtered if their text has no part that matches\n the input value\n </FormControl.Caption>\n </FormControl>\n </form>\n )\n}"
995
1005
  },
996
1006
  {
997
1007
  "id": "components-autocomplete-features--custom-sort-after-menu-close",
998
- "code": "() => {\n const [selectedItemIds, setSelectedItemIds] = useState<Array<string>>([])\n const isItemSelected = (itemId: string) => selectedItemIds.includes(itemId)\n const onSelectedChange = (newlySelectedItems: Datum | Datum[]) => {\n if (!Array.isArray(newlySelectedItems)) {\n return\n }\n setSelectedItemIds(newlySelectedItems.map((item) => item.id))\n }\n const customSortFn = (itemIdA: string, itemIdB: string) =>\n isItemSelected(itemIdA) === isItemSelected(itemIdB)\n ? 0\n : isItemSelected(itemIdA)\n ? 1\n : -1\n return (\n <Box\n as=\"form\"\n sx={{\n p: 3,\n }}\n >\n <FormControl>\n <FormControl.Label id=\"autocompleteLabel\">\n Default label\n </FormControl.Label>\n <Autocomplete>\n <Autocomplete.Input />\n <Autocomplete.Overlay>\n <Autocomplete.Menu\n items={items}\n selectedItemIds={selectedItemIds}\n onSelectedChange={onSelectedChange}\n sortOnCloseFn={customSortFn}\n aria-labelledby=\"autocompleteLabel\"\n />\n </Autocomplete.Overlay>\n </Autocomplete>\n <FormControl.Caption>\n When the dropdown closes, selected items are sorted to the end\n </FormControl.Caption>\n </FormControl>\n </Box>\n )\n}"
1008
+ "code": "() => {\n const [selectedItemIds, setSelectedItemIds] = useState<Array<string>>([])\n const isItemSelected = (itemId: string) => selectedItemIds.includes(itemId)\n const onSelectedChange = (newlySelectedItems: Datum | Datum[]) => {\n if (!Array.isArray(newlySelectedItems)) {\n return\n }\n setSelectedItemIds(newlySelectedItems.map((item) => item.id))\n }\n const customSortFn = (itemIdA: string, itemIdB: string) =>\n isItemSelected(itemIdA) === isItemSelected(itemIdB)\n ? 0\n : isItemSelected(itemIdA)\n ? 1\n : -1\n return (\n <form className={classes.FormPadding}>\n <FormControl>\n <FormControl.Label id=\"autocompleteLabel\">\n Default label\n </FormControl.Label>\n <Autocomplete>\n <Autocomplete.Input />\n <Autocomplete.Overlay>\n <Autocomplete.Menu\n items={items}\n selectedItemIds={selectedItemIds}\n onSelectedChange={onSelectedChange}\n sortOnCloseFn={customSortFn}\n aria-labelledby=\"autocompleteLabel\"\n />\n </Autocomplete.Overlay>\n </Autocomplete>\n <FormControl.Caption>\n When the dropdown closes, selected items are sorted to the end\n </FormControl.Caption>\n </FormControl>\n </form>\n )\n}"
999
1009
  },
1000
1010
  {
1001
1011
  "id": "components-autocomplete-features--with-callback-when-overlay-open-state-changes",
@@ -1003,23 +1013,23 @@
1003
1013
  },
1004
1014
  {
1005
1015
  "id": "components-autocomplete-features--async-loading-of-items",
1006
- "code": "(args: FormControlArgs<AutocompleteArgs>) => {\n const { parentArgs, labelArgs, captionArgs, validationArgs } =\n getFormControlArgsByChildComponent(args)\n const { menuArgs, overlayArgs, textInputArgs } = getArgsByChildComponent(args)\n const [loadedItems, setLoadedItems] = useState<Datum[]>([])\n const onOpenChange = (isOpen: boolean) => {\n if (isOpen) {\n setTimeout(() => {\n setLoadedItems(items)\n }, 1500)\n }\n }\n return (\n <Box\n as=\"form\"\n sx={{\n p: 3,\n }}\n >\n <FormControl {...parentArgs}>\n <FormControl.Label id=\"autocompleteLabel\" {...labelArgs} />\n <Autocomplete>\n <Autocomplete.Input\n {...textInputArgs}\n size={textInputArgs.inputSize}\n />\n <Autocomplete.Overlay {...overlayArgs}>\n <Autocomplete.Menu\n items={loadedItems}\n selectedItemIds={[]}\n onOpenChange={onOpenChange}\n aria-labelledby=\"autocompleteLabel\"\n {...menuArgs}\n loading={loadedItems.length === 0}\n />\n </Autocomplete.Overlay>\n </Autocomplete>\n {captionArgs.children && <FormControl.Caption {...captionArgs} />}\n {validationArgs.children && validationArgs.variant && (\n <FormControl.Validation\n {...validationArgs}\n variant={validationArgs.variant}\n />\n )}\n </FormControl>\n </Box>\n )\n}"
1016
+ "code": "(args: FormControlArgs<AutocompleteArgs>) => {\n const { parentArgs, labelArgs, captionArgs, validationArgs } =\n getFormControlArgsByChildComponent(args)\n const { menuArgs, overlayArgs, textInputArgs } = getArgsByChildComponent(args)\n const [loadedItems, setLoadedItems] = useState<Datum[]>([])\n const onOpenChange = (isOpen: boolean) => {\n if (isOpen) {\n setTimeout(() => {\n setLoadedItems(items)\n }, 1500)\n }\n }\n return (\n <form className={classes.FormPadding}>\n <FormControl {...parentArgs}>\n <FormControl.Label id=\"autocompleteLabel\" {...labelArgs} />\n <Autocomplete>\n <Autocomplete.Input\n {...textInputArgs}\n size={textInputArgs.inputSize}\n />\n <Autocomplete.Overlay {...overlayArgs}>\n <Autocomplete.Menu\n items={loadedItems}\n selectedItemIds={[]}\n onOpenChange={onOpenChange}\n aria-labelledby=\"autocompleteLabel\"\n {...menuArgs}\n loading={loadedItems.length === 0}\n />\n </Autocomplete.Overlay>\n </Autocomplete>\n {captionArgs.children && <FormControl.Caption {...captionArgs} />}\n {validationArgs.children && validationArgs.variant && (\n <FormControl.Validation\n {...validationArgs}\n variant={validationArgs.variant}\n />\n )}\n </FormControl>\n </form>\n )\n}"
1007
1017
  },
1008
1018
  {
1009
1019
  "id": "components-autocomplete-features--rendering-the-menu-outside-an-overlay",
1010
- "code": "() => {\n return (\n <Box\n as=\"form\"\n sx={{\n p: 3,\n }}\n >\n <FormControl>\n <FormControl.Label id=\"autocompleteLabel\">\n Default label\n </FormControl.Label>\n <Autocomplete>\n <Autocomplete.Input />\n <Autocomplete.Menu\n items={items}\n selectedItemIds={[]}\n aria-labelledby=\"autocompleteLabel\"\n />\n </Autocomplete>\n </FormControl>\n </Box>\n )\n}"
1020
+ "code": "() => {\n return (\n <form className={classes.FormPadding}>\n <FormControl>\n <FormControl.Label id=\"autocompleteLabel\">\n Default label\n </FormControl.Label>\n <Autocomplete>\n <Autocomplete.Input />\n <Autocomplete.Menu\n items={items}\n selectedItemIds={[]}\n aria-labelledby=\"autocompleteLabel\"\n />\n </Autocomplete>\n </FormControl>\n </form>\n )\n}"
1011
1021
  },
1012
1022
  {
1013
1023
  "id": "components-autocomplete-features--custom-overlay-menu-anchor",
1014
- "code": "() => {\n const menuAnchorRef = useRef<HTMLElement>(null)\n return (\n <Box\n as=\"form\"\n sx={{\n p: 3,\n }}\n >\n <FormControl>\n <FormControl.Label htmlFor=\"autocompleteInput\" id=\"autocompleteLabel\">\n Default label\n </FormControl.Label>\n <Box\n ref={menuAnchorRef as React.RefObject<HTMLDivElement>}\n sx={{\n display: 'flex',\n alignItems: 'center',\n flexGrow: 1,\n flexShrink: 0,\n flexBasis: '25%',\n borderColor: 'var(--control-borderColor-rest)',\n borderStyle: 'solid',\n borderWidth: '1',\n padding: '1em',\n }}\n >\n <Autocomplete>\n <Autocomplete.Input\n id=\"autocompleteInput\"\n aria-describedby=\"autocompleteCaption autocompleteValidation\"\n sx={{\n padding: '0',\n boxShadow: 'none',\n ':focus-within': {\n boxShadow: 'none',\n },\n }}\n />\n <Autocomplete.Overlay menuAnchorRef={menuAnchorRef}>\n <Autocomplete.Menu\n items={items}\n selectedItemIds={[]}\n aria-labelledby=\"autocompleteLabel\"\n />\n </Autocomplete.Overlay>\n </Autocomplete>\n </Box>\n <FormControl.Caption>\n The overlay menu position is anchored to the div with the black border\n instead of to the text input\n </FormControl.Caption>\n </FormControl>\n </Box>\n )\n}"
1024
+ "code": "() => {\n const menuAnchorRef = useRef<HTMLElement>(null)\n return (\n <form className={classes.FormPadding}>\n <FormControl>\n <FormControl.Label htmlFor=\"autocompleteInput\" id=\"autocompleteLabel\">\n Default label\n </FormControl.Label>\n <div\n ref={menuAnchorRef as React.RefObject<HTMLDivElement>}\n className={classes.AnchorContainer}\n >\n <Autocomplete>\n <Autocomplete.Input\n id=\"autocompleteInput\"\n aria-describedby=\"autocompleteCaption autocompleteValidation\"\n className={classes.AnchorInput}\n />\n <Autocomplete.Overlay menuAnchorRef={menuAnchorRef}>\n <Autocomplete.Menu\n items={items}\n selectedItemIds={[]}\n aria-labelledby=\"autocompleteLabel\"\n />\n </Autocomplete.Overlay>\n </Autocomplete>\n </div>\n <FormControl.Caption>\n The overlay menu position is anchored to the div with the black border\n instead of to the text input\n </FormControl.Caption>\n </FormControl>\n </form>\n )\n}"
1015
1025
  },
1016
1026
  {
1017
1027
  "id": "components-autocomplete-features--in-overlay-with-custom-scroll-container-ref",
1018
- "code": "() => {\n const scrollContainerRef = useRef<HTMLElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n const triggerRef = useRef<HTMLButtonElement>(null)\n const [isOpen, setIsOpen] = useState(false)\n const [selectedItem, setSelectedItem] = useState<Datum>()\n const handleOpen = () => {\n setIsOpen(true)\n inputRef.current && inputRef.current.focus()\n }\n const selectChange = (item: Datum[] | Datum) => {\n setIsOpen(false)\n if (Array.isArray(item) && item.length) setSelectedItem(item[0])\n triggerRef.current?.focus()\n }\n return (\n <Box\n as=\"form\"\n sx={{\n p: 3,\n }}\n >\n Selected item: {selectedItem ? selectedItem.text : 'none'}\n <AnchoredOverlay\n open={isOpen}\n onOpen={handleOpen}\n onClose={() => setIsOpen(false)}\n width=\"large\"\n focusTrapSettings={{\n initialFocusRef: inputRef,\n }}\n side=\"inside-top\"\n anchorRef={triggerRef}\n renderAnchor={(props) => <Button {...props}>open overlay</Button>}\n preventOverflow={false}\n >\n <Autocomplete>\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n }}\n >\n <Box\n sx={{\n borderWidth: 0,\n borderBottomWidth: 1,\n borderColor: 'var(--borderColor-default)',\n borderStyle: 'solid',\n }}\n >\n <Autocomplete.Input\n ref={inputRef}\n sx={{\n display: 'flex',\n border: '0',\n paddingX: 3,\n paddingY: 1,\n boxShadow: 'none',\n ':focus-within': {\n border: '0',\n boxShadow: 'none',\n },\n }}\n block\n aria-label=\"Search\"\n />\n </Box>\n <Box\n ref={scrollContainerRef as RefObject<HTMLDivElement>}\n sx={{\n overflow: 'auto',\n flexGrow: 1,\n }}\n >\n <Autocomplete.Menu\n items={items}\n selectedItemIds={[]}\n customScrollContainerRef={scrollContainerRef}\n aria-labelledby=\"autocompleteLabel\"\n onSelectedChange={selectChange}\n />\n </Box>\n </Box>\n </Autocomplete>\n </AnchoredOverlay>\n </Box>\n )\n}"
1028
+ "code": "() => {\n const scrollContainerRef = useRef<HTMLElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n const triggerRef = useRef<HTMLButtonElement>(null)\n const [isOpen, setIsOpen] = useState(false)\n const [selectedItem, setSelectedItem] = useState<Datum>()\n const handleOpen = () => {\n setIsOpen(true)\n inputRef.current && inputRef.current.focus()\n }\n const selectChange = (item: Datum[] | Datum) => {\n setIsOpen(false)\n if (Array.isArray(item) && item.length) setSelectedItem(item[0])\n triggerRef.current?.focus()\n }\n return (\n <form className={classes.FormPadding}>\n Selected item: {selectedItem ? selectedItem.text : 'none'}\n <AnchoredOverlay\n open={isOpen}\n onOpen={handleOpen}\n onClose={() => setIsOpen(false)}\n width=\"large\"\n focusTrapSettings={{\n initialFocusRef: inputRef,\n }}\n side=\"inside-top\"\n anchorRef={triggerRef}\n renderAnchor={(props) => <Button {...props}>open overlay</Button>}\n preventOverflow={false}\n >\n <Autocomplete>\n <div className={classes.OverlayFlexCol}>\n <div className={classes.OverlayInputBar}>\n <Autocomplete.Input\n ref={inputRef}\n className={classes.OverlayInput}\n block\n aria-label=\"Search\"\n />\n </div>\n <div\n ref={scrollContainerRef as RefObject<HTMLDivElement>}\n className={classes.OverlayScroll}\n >\n <Autocomplete.Menu\n items={items}\n selectedItemIds={[]}\n customScrollContainerRef={scrollContainerRef}\n aria-labelledby=\"autocompleteLabel\"\n onSelectedChange={selectChange}\n />\n </div>\n </div>\n </Autocomplete>\n </AnchoredOverlay>\n </form>\n )\n}"
1019
1029
  },
1020
1030
  {
1021
1031
  "id": "components-autocomplete-features--in-a-dialog",
1022
- "code": "() => {\n const outerContainerRef = useRef<HTMLDivElement>(null)\n const [mounted, setMounted] = useState(false)\n const [isDialogOpen, setIsDialogOpen] = useState(false)\n useEffect(() => {\n if (outerContainerRef.current instanceof HTMLElement) {\n registerPortalRoot(outerContainerRef.current, 'outerContainer')\n setMounted(true)\n }\n }, [isDialogOpen])\n return (\n <>\n <Button onClick={() => setIsDialogOpen(true)}>Show dialog</Button>\n <Dialog\n aria-label=\"Dialog with autocomplete\"\n id=\"dialog-with-autocomplete\"\n isOpen={isDialogOpen}\n onDismiss={() => setIsDialogOpen(false)}\n >\n <div ref={outerContainerRef}>\n <Box\n as=\"form\"\n sx={{\n p: 3,\n }}\n >\n {mounted ? (\n <FormControl>\n <FormControl.Label id=\"autocompleteLabel\">\n Default label\n </FormControl.Label>\n <Autocomplete>\n <Autocomplete.Input data-testid=\"autocompleteInput\" />\n <Autocomplete.Overlay portalContainerName=\"outerContainer\">\n <Autocomplete.Menu\n items={items}\n selectedItemIds={[]}\n aria-labelledby=\"autocompleteLabel\"\n />\n </Autocomplete.Overlay>\n </Autocomplete>\n </FormControl>\n ) : null}\n </Box>\n </div>\n </Dialog>\n <p>\n The Autocomplete.Overlay is portalled to a div inside the Dialog to\n ensure it appears above the dialog in the stacking context.\n </p>\n </>\n )\n}"
1032
+ "code": "() => {\n const outerContainerRef = useRef<HTMLDivElement>(null)\n const [mounted, setMounted] = useState(false)\n const [isDialogOpen, setIsDialogOpen] = useState(false)\n useEffect(() => {\n if (outerContainerRef.current instanceof HTMLElement) {\n registerPortalRoot(outerContainerRef.current, 'outerContainer')\n setMounted(true)\n }\n }, [isDialogOpen])\n return (\n <>\n <Button onClick={() => setIsDialogOpen(true)}>Show dialog</Button>\n <Dialog\n aria-label=\"Dialog with autocomplete\"\n id=\"dialog-with-autocomplete\"\n isOpen={isDialogOpen}\n onDismiss={() => setIsDialogOpen(false)}\n >\n <div ref={outerContainerRef}>\n <form className={classes.FormPadding}>\n {mounted ? (\n <FormControl>\n <FormControl.Label id=\"autocompleteLabel\">\n Default label\n </FormControl.Label>\n <Autocomplete>\n <Autocomplete.Input data-testid=\"autocompleteInput\" />\n <Autocomplete.Overlay portalContainerName=\"outerContainer\">\n <Autocomplete.Menu\n items={items}\n selectedItemIds={[]}\n aria-labelledby=\"autocompleteLabel\"\n />\n </Autocomplete.Overlay>\n </Autocomplete>\n </FormControl>\n ) : null}\n </form>\n </div>\n </Dialog>\n <p>\n The Autocomplete.Overlay is portalled to a div inside the Dialog to\n ensure it appears above the dialog in the stacking context.\n </p>\n </>\n )\n}"
1023
1033
  }
1024
1034
  ],
1025
1035
  "importPath": "@primer/react",
@@ -1154,7 +1164,7 @@
1154
1164
  "id": "avatar",
1155
1165
  "name": "Avatar",
1156
1166
  "status": "alpha",
1157
- "a11yReviewed": false,
1167
+ "a11yReviewed": "2025-01-08",
1158
1168
  "stories": [
1159
1169
  {
1160
1170
  "id": "components-avatar--default",
@@ -1164,10 +1174,6 @@
1164
1174
  "id": "components-avatar-features--square",
1165
1175
  "code": "() => (\n <Avatar\n square\n alt=\"primer\"\n src=\"https://avatars.githubusercontent.com/primer\"\n />\n)"
1166
1176
  },
1167
- {
1168
- "id": "components-avatar-features--square-sx-prop",
1169
- "code": "() => (\n <Avatar\n square\n sx={{\n border: '1px solid red',\n }}\n size={40}\n alt=\"primer\"\n src=\"https://avatars.githubusercontent.com/primer\"\n />\n)"
1170
- },
1171
1177
  {
1172
1178
  "id": "components-avatar-features--size",
1173
1179
  "code": "() => (\n <div>\n <Avatar\n size={4}\n alt=\"mona\"\n src=\"https://avatars.githubusercontent.com/u/7143434?v=4\"\n />\n <Avatar\n size={8}\n alt=\"mona\"\n src=\"https://avatars.githubusercontent.com/u/7143434?v=4\"\n />\n <Avatar\n size={12}\n alt=\"mona\"\n src=\"https://avatars.githubusercontent.com/u/7143434?v=4\"\n />\n <Avatar\n size={16}\n alt=\"mona\"\n src=\"https://avatars.githubusercontent.com/u/7143434?v=4\"\n />\n <Avatar\n size={20}\n alt=\"mona\"\n src=\"https://avatars.githubusercontent.com/u/7143434?v=4\"\n />\n <Avatar\n size={24}\n alt=\"mona\"\n src=\"https://avatars.githubusercontent.com/u/7143434?v=4\"\n />\n <Avatar\n size={28}\n alt=\"mona\"\n src=\"https://avatars.githubusercontent.com/u/7143434?v=4\"\n />\n <Avatar\n size={32}\n alt=\"mona\"\n src=\"https://avatars.githubusercontent.com/u/7143434?v=4\"\n />\n <Avatar\n size={40}\n alt=\"mona\"\n src=\"https://avatars.githubusercontent.com/u/7143434?v=4\"\n />\n <Avatar\n size={48}\n alt=\"mona\"\n src=\"https://avatars.githubusercontent.com/u/7143434?v=4\"\n />\n <Avatar\n size={56}\n alt=\"mona\"\n src=\"https://avatars.githubusercontent.com/u/7143434?v=4\"\n />\n <Avatar\n size={64}\n alt=\"mona\"\n src=\"https://avatars.githubusercontent.com/u/7143434?v=4\"\n />\n </div>\n)"
@@ -1212,48 +1218,12 @@
1212
1218
  ],
1213
1219
  "subcomponents": []
1214
1220
  },
1215
- "avatar_pair": {
1216
- "source": "https://github.com/primer/react/tree/main/packages/react/src/AvatarPair",
1217
- "id": "avatar_pair",
1218
- "name": "AvatarPair",
1219
- "status": "alpha",
1220
- "a11yReviewed": false,
1221
- "stories": [
1222
- {
1223
- "id": "components-avatarpair--default",
1224
- "code": "() => (\n <AvatarPair>\n <Avatar\n src=\"https://avatars.githubusercontent.com/u/7143434?v=4\"\n alt=\"Primer avatar, parent\"\n />\n <Avatar\n src=\"https://avatars.githubusercontent.com/primer\"\n alt=\"Primer avatar, child\"\n />\n </AvatarPair>\n)"
1225
- },
1226
- {
1227
- "id": "components-avatarpair-features--parent-circle",
1228
- "code": "() => (\n <AvatarPair>\n <Avatar\n src=\"https://avatars.githubusercontent.com/u/7143434?v=4\"\n alt=\"Primer avatar, parent\"\n />\n <Avatar\n square\n src=\"https://avatars.githubusercontent.com/primer\"\n alt=\"Primer avatar, child\"\n />\n </AvatarPair>\n)"
1229
- },
1230
- {
1231
- "id": "components-avatarpair-features--parent-square",
1232
- "code": "() => (\n <AvatarPair>\n <Avatar\n square\n src=\"https://avatars.githubusercontent.com/primer\"\n alt=\"Primer avatar, parent\"\n />\n <Avatar\n src=\"https://avatars.githubusercontent.com/u/7143434?v=4\"\n alt=\"Primer avatar, child\"\n />\n </AvatarPair>\n)"
1233
- }
1234
- ],
1235
- "importPath": "@primer/react",
1236
- "props": [
1237
- {
1238
- "name": "children",
1239
- "type": "Avatar[]",
1240
- "defaultValue": "",
1241
- "description": ""
1242
- },
1243
- {
1244
- "name": "sx",
1245
- "type": "SystemStyleObject",
1246
- "deprecated": true
1247
- }
1248
- ],
1249
- "subcomponents": []
1250
- },
1251
1221
  "avatar_stack": {
1252
1222
  "source": "https://github.com/primer/react/tree/main/packages/react/src/AvatarStack",
1253
1223
  "id": "avatar_stack",
1254
1224
  "name": "AvatarStack",
1255
1225
  "status": "alpha",
1256
- "a11yReviewed": false,
1226
+ "a11yReviewed": "2025-01-08",
1257
1227
  "stories": [
1258
1228
  {
1259
1229
  "id": "components-avatarstack-features--align-left",
@@ -1319,11 +1289,6 @@
1319
1289
  "type": "string",
1320
1290
  "description": "Class name for custom styling.",
1321
1291
  "defaultValue": ""
1322
- },
1323
- {
1324
- "name": "sx",
1325
- "type": "SystemStyleObject",
1326
- "deprecated": true
1327
1292
  }
1328
1293
  ],
1329
1294
  "subcomponents": []
@@ -1333,68 +1298,68 @@
1333
1298
  "id": "banner",
1334
1299
  "name": "Banner",
1335
1300
  "status": "alpha",
1336
- "a11yReviewed": true,
1337
- "importPath": "@primer/react/experimental",
1301
+ "a11yReviewed": "2025-01-08",
1302
+ "importPath": "@primer/react",
1338
1303
  "stories": [
1339
1304
  {
1340
- "id": "experimental-components-banner--default",
1305
+ "id": "components-banner--default",
1341
1306
  "code": "() => {\n return (\n <Banner\n onDismiss={action('onDismiss')}\n title=\"Info\"\n description={\n <>\n GitHub users are{' '}\n <Link inline href=\"#\">\n now required\n </Link>{' '}\n to enable two-factor authentication as an additional security measure.\n </>\n }\n primaryAction={<Banner.PrimaryAction>Button</Banner.PrimaryAction>}\n secondaryAction={<Banner.SecondaryAction>Button</Banner.SecondaryAction>}\n />\n )\n}"
1342
1307
  },
1343
1308
  {
1344
- "id": "experimental-components-banner-features--critical",
1309
+ "id": "components-banner-features--critical",
1345
1310
  "code": "() => {\n return (\n <Banner\n title=\"Critical\"\n description={\n <>\n GitHub users are{' '}\n <Link inline href=\"#\">\n now required\n </Link>{' '}\n to enable two-factor authentication as an additional security measure.\n </>\n }\n variant=\"critical\"\n />\n )\n}"
1346
1311
  },
1347
1312
  {
1348
- "id": "experimental-components-banner-features--info",
1313
+ "id": "components-banner-features--info",
1349
1314
  "code": "() => {\n return (\n <Banner\n title=\"Info\"\n description={\n <>\n GitHub users are{' '}\n <Link inline href=\"#\">\n now required\n </Link>{' '}\n to enable two-factor authentication as an additional security measure.\n </>\n }\n onDismiss={action('onDismiss')}\n variant=\"info\"\n ></Banner>\n )\n}"
1350
1315
  },
1351
1316
  {
1352
- "id": "experimental-components-banner-features--success",
1317
+ "id": "components-banner-features--success",
1353
1318
  "code": "() => {\n return (\n <Banner\n title=\"Success\"\n description={\n <>\n GitHub users are{' '}\n <Link inline href=\"#\">\n now required\n </Link>{' '}\n to enable two-factor authentication as an additional security measure.\n </>\n }\n onDismiss={action('onDismiss')}\n variant=\"success\"\n />\n )\n}"
1354
1319
  },
1355
1320
  {
1356
- "id": "experimental-components-banner-features--upsell",
1321
+ "id": "components-banner-features--upsell",
1357
1322
  "code": "() => {\n return (\n <Banner\n title=\"Upsell\"\n description={\n <>\n GitHub users are{' '}\n <Link inline href=\"#\">\n now required\n </Link>{' '}\n to enable two-factor authentication as an additional security measure.\n </>\n }\n onDismiss={action('onDismiss')}\n variant=\"upsell\"\n />\n )\n}"
1358
1323
  },
1359
1324
  {
1360
- "id": "experimental-components-banner-features--warning",
1325
+ "id": "components-banner-features--warning",
1361
1326
  "code": "() => {\n return (\n <Banner\n title=\"Warning\"\n description={\n <>\n GitHub users are{' '}\n <Link inline href=\"#\">\n now required\n </Link>{' '}\n to enable two-factor authentication as an additional security measure.\n </>\n }\n onDismiss={action('onDismiss')}\n variant=\"warning\"\n />\n )\n}"
1362
1327
  },
1363
1328
  {
1364
- "id": "experimental-components-banner-features--dismiss",
1329
+ "id": "components-banner-features--dismiss",
1365
1330
  "code": "() => {\n return (\n <Banner\n title=\"Notice\"\n description={\n <>\n GitHub users are{' '}\n <Link inline href=\"#\">\n now required\n </Link>{' '}\n to enable two-factor authentication as an additional security measure.\n </>\n }\n onDismiss={action('onDismiss')}\n />\n )\n}"
1366
1331
  },
1367
1332
  {
1368
- "id": "experimental-components-banner-features--dismiss-with-actions",
1333
+ "id": "components-banner-features--dismiss-with-actions",
1369
1334
  "code": "() => {\n return (\n <Banner\n title=\"Notice\"\n description={\n <>\n GitHub users are{' '}\n <Link inline href=\"#\">\n now required\n </Link>{' '}\n to enable two-factor authentication as an additional security measure.\n </>\n }\n onDismiss={action('onDismiss')}\n primaryAction={<Banner.PrimaryAction>Button</Banner.PrimaryAction>}\n secondaryAction={<Banner.SecondaryAction>Button</Banner.SecondaryAction>}\n />\n )\n}"
1370
1335
  },
1371
1336
  {
1372
- "id": "experimental-components-banner-features--with-hidden-title",
1337
+ "id": "components-banner-features--with-hidden-title",
1373
1338
  "code": "() => {\n return (\n <Banner\n title=\"Warning\"\n hideTitle\n description={\n <>\n GitHub users are{' '}\n <Link inline href=\"#\">\n now required\n </Link>{' '}\n to enable two-factor authentication as an additional security measure.\n </>\n }\n variant=\"warning\"\n />\n )\n}"
1374
1339
  },
1375
1340
  {
1376
- "id": "experimental-components-banner-features--with-hidden-title-and-actions",
1341
+ "id": "components-banner-features--with-hidden-title-and-actions",
1377
1342
  "code": "() => {\n return (\n <Banner\n title=\"Warning\"\n hideTitle\n description={\n <>\n GitHub users are{' '}\n <Link inline href=\"#\">\n now required\n </Link>{' '}\n to enable two-factor authentication as an additional security measure.\n </>\n }\n variant=\"warning\"\n primaryAction={<Banner.PrimaryAction>Button</Banner.PrimaryAction>}\n secondaryAction={<Banner.SecondaryAction>Button</Banner.SecondaryAction>}\n />\n )\n}"
1378
1343
  },
1379
1344
  {
1380
- "id": "experimental-components-banner-features--dismissible-with-hidden-title-and-actions",
1345
+ "id": "components-banner-features--dismissible-with-hidden-title-and-actions",
1381
1346
  "code": "() => {\n return (\n <Banner\n title=\"Warning\"\n hideTitle\n description={\n <>\n GitHub users are{' '}\n <Link inline href=\"#\">\n now required\n </Link>{' '}\n to enable two-factor authentication as an additional security measure.\n </>\n }\n onDismiss={action('onDismiss')}\n variant=\"warning\"\n primaryAction={<Banner.PrimaryAction>Button</Banner.PrimaryAction>}\n secondaryAction={<Banner.SecondaryAction>Button</Banner.SecondaryAction>}\n />\n )\n}"
1382
1347
  },
1383
1348
  {
1384
- "id": "experimental-components-banner-features--dismissible-with-hidden-title-and-secondary-action",
1349
+ "id": "components-banner-features--dismissible-with-hidden-title-and-secondary-action",
1385
1350
  "code": "() => {\n return (\n <Banner\n title=\"Warning\"\n hideTitle\n description={\n <>\n GitHub users are{' '}\n <Link inline href=\"#\">\n now required\n </Link>{' '}\n to enable two-factor authentication as an additional security measure.\n </>\n }\n onDismiss={action('onDismiss')}\n variant=\"warning\"\n secondaryAction={\n <Banner.SecondaryAction leadingVisual={GitPullRequestIcon}>\n Button\n </Banner.SecondaryAction>\n }\n />\n )\n}"
1386
1351
  },
1387
1352
  {
1388
- "id": "experimental-components-banner-features--with-actions",
1353
+ "id": "components-banner-features--with-actions",
1389
1354
  "code": "() => {\n return (\n <Banner\n title=\"Warning\"\n description={\n <>\n GitHub users are{' '}\n <Link inline href=\"#\">\n now required\n </Link>{' '}\n to enable two-factor authentication as an additional security measure.\n </>\n }\n primaryAction={<Banner.PrimaryAction>Button</Banner.PrimaryAction>}\n secondaryAction={<Banner.SecondaryAction>Button</Banner.SecondaryAction>}\n variant=\"warning\"\n />\n )\n}"
1390
1355
  },
1391
1356
  {
1392
- "id": "experimental-components-banner-features--custom-icon",
1357
+ "id": "components-banner-features--custom-icon",
1393
1358
  "code": "() => {\n return (\n <Banner\n title=\"Upsell\"\n description=\"An example banner with a custom icon\"\n icon={<CopilotIcon />}\n onDismiss={action('onDismiss')}\n variant=\"upsell\"\n />\n )\n}"
1394
1359
  },
1395
1360
  {
1396
- "id": "experimental-components-banner-examples--with-announcement",
1397
- "code": "() => {\n type Choice = 'one' | 'two' | 'three'\n const messages: Map<Choice, string> = new Map([\n ['one', 'This is a message for choice one'],\n ['two', 'This is a message for choice two'],\n ['three', 'This is a message for choice three'],\n ])\n const [selected, setSelected] = React.useState<Choice>('one')\n return (\n <>\n <Banner\n title=\"Info\"\n description={<AriaStatus>{messages.get(selected)}</AriaStatus>}\n onDismiss={action('onDismiss')}\n primaryAction={<Banner.PrimaryAction>Button</Banner.PrimaryAction>}\n secondaryAction={\n <Banner.SecondaryAction>Button</Banner.SecondaryAction>\n }\n />\n <RadioGroup\n sx={{\n marginTop: 4,\n }}\n name=\"options\"\n onChange={(selected) => {\n setSelected(selected as Choice)\n }}\n >\n <RadioGroup.Label>Choices</RadioGroup.Label>\n <FormControl>\n <Radio value=\"one\" defaultChecked />\n <FormControl.Label>Choice one</FormControl.Label>\n </FormControl>\n <FormControl>\n <Radio value=\"two\" />\n <FormControl.Label>Choice two</FormControl.Label>\n </FormControl>\n <FormControl>\n <Radio value=\"three\" />\n <FormControl.Label>Choice three</FormControl.Label>\n </FormControl>\n </RadioGroup>\n </>\n )\n}"
1361
+ "id": "components-banner-examples--with-announcement",
1362
+ "code": "() => {\n type Choice = 'one' | 'two' | 'three'\n const messages: Map<Choice, string> = new Map([\n ['one', 'This is a message for choice one'],\n ['two', 'This is a message for choice two'],\n ['three', 'This is a message for choice three'],\n ])\n const [selected, setSelected] = React.useState<Choice>('one')\n return (\n <>\n <Banner\n title=\"Info\"\n description={<AriaStatus>{messages.get(selected)}</AriaStatus>}\n onDismiss={action('onDismiss')}\n primaryAction={<Banner.PrimaryAction>Button</Banner.PrimaryAction>}\n secondaryAction={\n <Banner.SecondaryAction>Button</Banner.SecondaryAction>\n }\n />\n <RadioGroup\n name=\"options\"\n onChange={(selected) => {\n setSelected(selected as Choice)\n }}\n className={classes.RadioGroupWithTopMargin}\n >\n <RadioGroup.Label>Choices</RadioGroup.Label>\n <FormControl>\n <Radio value=\"one\" defaultChecked />\n <FormControl.Label>Choice one</FormControl.Label>\n </FormControl>\n <FormControl>\n <Radio value=\"two\" />\n <FormControl.Label>Choice two</FormControl.Label>\n </FormControl>\n <FormControl>\n <Radio value=\"three\" />\n <FormControl.Label>Choice three</FormControl.Label>\n </FormControl>\n </RadioGroup>\n </>\n )\n}"
1398
1363
  }
1399
1364
  ],
1400
1365
  "props": [
@@ -1446,7 +1411,12 @@
1446
1411
  {
1447
1412
  "name": "variant",
1448
1413
  "type": "'critical' | 'info' | 'success' | 'upsell' | 'warning'",
1449
- "description": ""
1414
+ "description": "Specify the type of the Banner"
1415
+ },
1416
+ {
1417
+ "name": "layout",
1418
+ "type": "'default' | 'compact'",
1419
+ "description": "Specify the layout of the Banner. Compact layout will reduce the padding."
1450
1420
  }
1451
1421
  ],
1452
1422
  "subcomponents": [
@@ -1493,7 +1463,7 @@
1493
1463
  "id": "blankslate",
1494
1464
  "name": "Blankslate",
1495
1465
  "status": "draft",
1496
- "a11yReviewed": false,
1466
+ "a11yReviewed": "2025-01-08",
1497
1467
  "stories": [
1498
1468
  {
1499
1469
  "id": "experimental-components-blankslate--default",
@@ -1604,7 +1574,7 @@
1604
1574
  "id": "box",
1605
1575
  "name": "Box",
1606
1576
  "status": "deprecated",
1607
- "a11yReviewed": false,
1577
+ "a11yReviewed": "2025-01-08",
1608
1578
  "stories": [
1609
1579
  {
1610
1580
  "id": "deprecated-components-box--default",
@@ -1651,7 +1621,7 @@
1651
1621
  "id": "branch_name",
1652
1622
  "name": "BranchName",
1653
1623
  "status": "alpha",
1654
- "a11yReviewed": false,
1624
+ "a11yReviewed": "2025-01-08",
1655
1625
  "stories": [
1656
1626
  {
1657
1627
  "id": "components-branchname--default",
@@ -1676,11 +1646,6 @@
1676
1646
  "name": "as",
1677
1647
  "type": "React.ElementType",
1678
1648
  "defaultValue": "\"a\""
1679
- },
1680
- {
1681
- "name": "sx",
1682
- "type": "SystemStyleObject",
1683
- "deprecated": true
1684
1649
  }
1685
1650
  ],
1686
1651
  "subcomponents": []
@@ -1690,7 +1655,7 @@
1690
1655
  "id": "breadcrumbs",
1691
1656
  "name": "Breadcrumbs",
1692
1657
  "status": "alpha",
1693
- "a11yReviewed": false,
1658
+ "a11yReviewed": "2025-01-08",
1694
1659
  "stories": [
1695
1660
  {
1696
1661
  "id": "components-breadcrumbs--default",
@@ -1703,19 +1668,27 @@
1703
1668
  "name": "className",
1704
1669
  "type": "string",
1705
1670
  "required": false,
1706
- "description": "",
1671
+ "description": "Additional CSS class names to apply to the breadcrumbs container",
1707
1672
  "defaultValue": ""
1708
1673
  },
1709
1674
  {
1710
1675
  "name": "children",
1711
1676
  "type": "Breadcrumbs.Item[]",
1712
1677
  "defaultValue": "",
1713
- "description": ""
1678
+ "description": "Breadcrumb items to render. Each item should be a Breadcrumbs.Item component."
1679
+ },
1680
+ {
1681
+ "name": "overflow",
1682
+ "type": "'wrap' | 'menu' | 'menu-with-root'",
1683
+ "required": false,
1684
+ "description": "How to handle overflow when breadcrumbs don't fit in the container. 'wrap' allows items to wrap to new lines. 'menu' collapses items into an overflow menu. 'menu-with-root' also collapses items into an overflow menu but includes the root (first) breadcrumb in the menu so only the last items remain visible.",
1685
+ "defaultValue": "'wrap'"
1714
1686
  },
1715
1687
  {
1716
1688
  "name": "sx",
1717
1689
  "type": "SystemStyleObject",
1718
- "deprecated": true
1690
+ "deprecated": true,
1691
+ "description": "System styles (deprecated, use CSS classes instead)"
1719
1692
  }
1720
1693
  ],
1721
1694
  "subcomponents": [
@@ -1726,7 +1699,7 @@
1726
1699
  "name": "selected",
1727
1700
  "type": "boolean",
1728
1701
  "defaultValue": "false",
1729
- "description": "Whether this item represents the current page"
1702
+ "description": "Whether this item represents the current page. Sets aria-current='page' for accessibility."
1730
1703
  },
1731
1704
  {
1732
1705
  "name": "to",
@@ -1735,6 +1708,18 @@
1735
1708
  "description": "Used when the item is rendered using a component like React Router's `Link`. The path to navigate to.",
1736
1709
  "defaultValue": ""
1737
1710
  },
1711
+ {
1712
+ "name": "href",
1713
+ "type": "string",
1714
+ "required": false,
1715
+ "description": "The URL that the breadcrumb item links to. Used with regular anchor elements."
1716
+ },
1717
+ {
1718
+ "name": "children",
1719
+ "type": "React.ReactNode",
1720
+ "required": true,
1721
+ "description": "The content to display inside the breadcrumb item, typically text."
1722
+ },
1738
1723
  {
1739
1724
  "name": "ref",
1740
1725
  "type": "React.RefObject<HTMLAnchorElement>"
@@ -1762,7 +1747,7 @@
1762
1747
  "id": "button",
1763
1748
  "name": "Button",
1764
1749
  "status": "alpha",
1765
- "a11yReviewed": false,
1750
+ "a11yReviewed": "2025-01-08",
1766
1751
  "stories": [
1767
1752
  {
1768
1753
  "id": "components-button--default",
@@ -1862,7 +1847,7 @@
1862
1847
  },
1863
1848
  {
1864
1849
  "id": "components-button-features--inactive-button-with-tooltip",
1865
- "code": "() => (\n <Tooltip\n text=\"Action unavailable: an error occurred while loading respository permissions\"\n direction=\"n\"\n >\n <Button inactive>Review changes</Button>\n </Tooltip>\n)"
1850
+ "code": "() => (\n <Tooltip\n text=\"Action unavailable: an error occurred while loading repository permissions\"\n direction=\"n\"\n >\n <Button inactive>Review changes</Button>\n </Tooltip>\n)"
1866
1851
  },
1867
1852
  {
1868
1853
  "id": "components-button-features--expanded-button",
@@ -1881,6 +1866,11 @@
1881
1866
  "type": "React.ElementType",
1882
1867
  "defaultValue": "'button'"
1883
1868
  },
1869
+ {
1870
+ "name": "href",
1871
+ "type": "string",
1872
+ "description": "**May only be used when `as` is set to 'a'**.\n The URL the button links to. If `as` is set to 'a', this prop is required."
1873
+ },
1884
1874
  {
1885
1875
  "name": "block",
1886
1876
  "type": "boolean",
@@ -1982,7 +1972,7 @@
1982
1972
  "id": "icon_button",
1983
1973
  "name": "IconButton",
1984
1974
  "status": "alpha",
1985
- "a11yReviewed": false,
1975
+ "a11yReviewed": "2025-01-08",
1986
1976
  "stories": [
1987
1977
  {
1988
1978
  "id": "components-iconbutton--default",
@@ -2058,6 +2048,16 @@
2058
2048
  "required": true,
2059
2049
  "description": "This will be the Button description."
2060
2050
  },
2051
+ {
2052
+ "name": "as",
2053
+ "type": "React.ElementType",
2054
+ "defaultValue": "'button'"
2055
+ },
2056
+ {
2057
+ "name": "href",
2058
+ "type": "string",
2059
+ "description": "**May only be used when `as` is set to 'a'**.\n The URL the button links to. If `as` is set to 'a', this prop is required."
2060
+ },
2061
2061
  {
2062
2062
  "name": "variant",
2063
2063
  "type": "'default' | 'primary' | 'danger' | 'invisible' | 'link'",
@@ -2126,7 +2126,7 @@
2126
2126
  "id": "button_group",
2127
2127
  "name": "ButtonGroup",
2128
2128
  "status": "alpha",
2129
- "a11yReviewed": false,
2129
+ "a11yReviewed": "2025-01-08",
2130
2130
  "stories": [
2131
2131
  {
2132
2132
  "id": "components-buttongroup--default",
@@ -2151,11 +2151,6 @@
2151
2151
  ],
2152
2152
  "importPath": "@primer/react",
2153
2153
  "props": [
2154
- {
2155
- "name": "sx",
2156
- "type": "SystemStyleObject",
2157
- "deprecated": true
2158
- },
2159
2154
  {
2160
2155
  "name": "ref",
2161
2156
  "type": "React.RefObject<HTMLDivElement>"
@@ -2168,27 +2163,27 @@
2168
2163
  "id": "checkbox",
2169
2164
  "name": "Checkbox",
2170
2165
  "status": "alpha",
2171
- "a11yReviewed": false,
2166
+ "a11yReviewed": "2025-01-08",
2172
2167
  "stories": [
2173
2168
  {
2174
2169
  "id": "components-checkbox--default",
2175
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <Checkbox value=\"default\" />\n <FormControl.Label>Default label</FormControl.Label>\n </FormControl>\n </Box>\n)"
2170
+ "code": "() => (\n <form>\n <FormControl>\n <Checkbox value=\"default\" />\n <FormControl.Label>Default label</FormControl.Label>\n </FormControl>\n </form>\n)"
2176
2171
  },
2177
2172
  {
2178
2173
  "id": "components-checkbox-features--with-leading-visual",
2179
- "code": "() => {\n return (\n <Box as=\"form\">\n <FormControl>\n <FormControl.LeadingVisual>\n <MarkGithubIcon />\n </FormControl.LeadingVisual>\n <Checkbox value=\"default\" />\n <FormControl.Label>Default label</FormControl.Label>\n </FormControl>\n </Box>\n )\n}"
2174
+ "code": "() => {\n return (\n <form>\n <FormControl>\n <FormControl.LeadingVisual>\n <MarkGithubIcon />\n </FormControl.LeadingVisual>\n <Checkbox value=\"default\" />\n <FormControl.Label>Default label</FormControl.Label>\n </FormControl>\n </form>\n )\n}"
2180
2175
  },
2181
2176
  {
2182
2177
  "id": "components-checkbox-features--disabled",
2183
- "code": "() => {\n return (\n <Box as=\"form\">\n <FormControl disabled>\n <Checkbox value=\"default\" />\n <FormControl.Label>Default label</FormControl.Label>\n </FormControl>\n </Box>\n )\n}"
2178
+ "code": "() => {\n return (\n <form>\n <FormControl disabled>\n <Checkbox value=\"default\" />\n <FormControl.Label>Default label</FormControl.Label>\n </FormControl>\n </form>\n )\n}"
2184
2179
  },
2185
2180
  {
2186
2181
  "id": "components-checkbox-features--with-caption",
2187
- "code": "() => {\n return (\n <Box as=\"form\">\n <FormControl>\n <Checkbox value=\"default\" />\n <FormControl.Label>Default label</FormControl.Label>\n <FormControl.Caption>This is a caption</FormControl.Caption>\n </FormControl>\n </Box>\n )\n}"
2182
+ "code": "() => {\n return (\n <form>\n <FormControl>\n <Checkbox value=\"default\" />\n <FormControl.Label>Default label</FormControl.Label>\n <FormControl.Caption>This is a caption</FormControl.Caption>\n </FormControl>\n </form>\n )\n}"
2188
2183
  },
2189
2184
  {
2190
2185
  "id": "components-checkbox-features--indeterminate",
2191
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <Checkbox value=\"default\" indeterminate />\n <FormControl.Label>Default label</FormControl.Label>\n </FormControl>\n </Box>\n)"
2186
+ "code": "() => (\n <form>\n <FormControl>\n <Checkbox value=\"default\" indeterminate />\n <FormControl.Label>Default label</FormControl.Label>\n </FormControl>\n </form>\n)"
2192
2187
  }
2193
2188
  ],
2194
2189
  "importPath": "@primer/react",
@@ -2243,11 +2238,6 @@
2243
2238
  "name": "as",
2244
2239
  "type": "React.ElementType",
2245
2240
  "defaultValue": "\"input\""
2246
- },
2247
- {
2248
- "name": "sx",
2249
- "type": "SystemStyleObject",
2250
- "deprecated": true
2251
2241
  }
2252
2242
  ],
2253
2243
  "subcomponents": []
@@ -2257,7 +2247,7 @@
2257
2247
  "id": "checkbox_group",
2258
2248
  "name": "CheckboxGroup",
2259
2249
  "status": "alpha",
2260
- "a11yReviewed": false,
2250
+ "a11yReviewed": "2025-01-08",
2261
2251
  "stories": [
2262
2252
  {
2263
2253
  "id": "components-checkboxgroup--default",
@@ -2269,7 +2259,7 @@
2269
2259
  },
2270
2260
  {
2271
2261
  "id": "components-checkboxgroup-features--with-external-label",
2272
- "code": "() => (\n <>\n <Box\n id=\"choiceHeading\"\n borderBottomWidth=\"1px\"\n borderBottomStyle=\"solid\"\n borderBottomColor=\"border.default\"\n pb={2}\n mb={3}\n fontSize={3}\n >\n External label\n </Box>\n <CheckboxGroup aria-labelledby=\"choiceHeading\">\n <FormControl>\n <Checkbox />\n <FormControl.Label>Choice one</FormControl.Label>\n </FormControl>\n <FormControl>\n <Checkbox />\n <FormControl.Label>Choice two</FormControl.Label>\n </FormControl>\n <FormControl>\n <Checkbox />\n <FormControl.Label>Choice three</FormControl.Label>\n </FormControl>\n </CheckboxGroup>\n </>\n)"
2262
+ "code": "() => (\n <>\n <div id=\"choiceHeading\" className={classes.ExternalLabel}>\n External label\n </div>\n <CheckboxGroup aria-labelledby=\"choiceHeading\">\n <FormControl>\n <Checkbox />\n <FormControl.Label>Choice one</FormControl.Label>\n </FormControl>\n <FormControl>\n <Checkbox />\n <FormControl.Label>Choice two</FormControl.Label>\n </FormControl>\n <FormControl>\n <Checkbox />\n <FormControl.Label>Choice three</FormControl.Label>\n </FormControl>\n </CheckboxGroup>\n </>\n)"
2273
2263
  },
2274
2264
  {
2275
2265
  "id": "components-checkboxgroup-features--error",
@@ -2322,11 +2312,6 @@
2322
2312
  "type": "boolean",
2323
2313
  "defaultValue": "false",
2324
2314
  "description": "If true, the user must make a selection before the owning form can be submitted"
2325
- },
2326
- {
2327
- "name": "sx",
2328
- "type": "SystemStyleObject",
2329
- "deprecated": true
2330
2315
  }
2331
2316
  ],
2332
2317
  "subcomponents": [
@@ -2338,11 +2323,6 @@
2338
2323
  "type": "boolean",
2339
2324
  "defaultValue": "false",
2340
2325
  "description": "If true, the fieldset legend will be visually hidden"
2341
- },
2342
- {
2343
- "name": "sx",
2344
- "type": "SystemStyleObject",
2345
- "deprecated": true
2346
2326
  }
2347
2327
  ]
2348
2328
  },
@@ -2354,11 +2334,6 @@
2354
2334
  "type": "React.ReactNode",
2355
2335
  "defaultValue": "",
2356
2336
  "description": "The caption content"
2357
- },
2358
- {
2359
- "name": "sx",
2360
- "type": "SystemStyleObject",
2361
- "deprecated": true
2362
2337
  }
2363
2338
  ]
2364
2339
  },
@@ -2377,11 +2352,6 @@
2377
2352
  "defaultValue": "",
2378
2353
  "required": true,
2379
2354
  "description": "Changes the visual style to match the validation status"
2380
- },
2381
- {
2382
- "name": "sx",
2383
- "type": "SystemStyleObject",
2384
- "deprecated": true
2385
2355
  }
2386
2356
  ]
2387
2357
  }
@@ -2391,11 +2361,11 @@
2391
2361
  "source": "https://github.com/primer/react/tree/main/packages/react/src/CircleBadge",
2392
2362
  "id": "circle_badge",
2393
2363
  "name": "CircleBadge",
2394
- "status": "alpha",
2395
- "a11yReviewed": false,
2364
+ "status": "deprecated",
2365
+ "a11yReviewed": "2025-01-08",
2396
2366
  "stories": [
2397
2367
  {
2398
- "id": "components-circlebadge--default",
2368
+ "id": "deprecated-components-circlebadge--default",
2399
2369
  "code": "() => (\n <CircleBadge>\n <CircleBadge.Icon icon={ZapIcon} aria-label=\"User badge\" />\n </CircleBadge>\n)"
2400
2370
  }
2401
2371
  ],
@@ -2451,45 +2421,13 @@
2451
2421
  }
2452
2422
  ]
2453
2423
  },
2454
- "circle_octicon": {
2455
- "source": "https://github.com/primer/react/tree/main/packages/react/src/CircleOcticon",
2456
- "id": "circle_octicon",
2457
- "name": "CircleOcticon",
2458
- "status": "alpha",
2459
- "a11yReviewed": false,
2460
- "stories": [
2461
- {
2462
- "id": "components-circleocticon--default",
2463
- "code": "() => (\n <CircleOcticon\n icon={CheckIcon}\n size={32}\n sx={{\n backgroundColor: 'success.emphasis',\n color: 'fg.onEmphasis',\n }}\n aria-label=\"Changes approved\"\n />\n)"
2464
- }
2465
- ],
2466
- "importPath": "@primer/react",
2467
- "props": [
2468
- {
2469
- "name": "icon",
2470
- "type": "Octicon"
2471
- },
2472
- {
2473
- "name": "size",
2474
- "defaultValue": "32",
2475
- "type": "number",
2476
- "description": "Set the width and height of the icon in pixels."
2477
- },
2478
- {
2479
- "name": "sx",
2480
- "type": "SystemStyleObject",
2481
- "deprecated": true
2482
- }
2483
- ],
2484
- "subcomponents": []
2485
- },
2486
2424
  "confirmationdialog": {
2487
2425
  "source": "https://github.com/primer/react/tree/main/packages/react/src/ConfirmationDialog",
2488
2426
  "id": "confirmationdialog",
2489
2427
  "docsId": "confirmationdialog",
2490
2428
  "name": "ConfirmationDialog",
2491
2429
  "status": "alpha",
2492
- "a11yReviewed": false,
2430
+ "a11yReviewed": "2025-01-08",
2493
2431
  "importPath": "@primer/react",
2494
2432
  "stories": [
2495
2433
  {
@@ -2498,11 +2436,15 @@
2498
2436
  },
2499
2437
  {
2500
2438
  "id": "components-confirmationdialog-features--shorthand-hook",
2501
- "code": "() => {\n const confirm = useConfirm()\n const { theme } = useTheme()\n const onButtonClick = useCallback(\n async (event: React.MouseEvent) => {\n if (\n (await confirm({\n title: 'Are you sure?',\n content: 'Do you really want to turn this button green?',\n })) &&\n event.target instanceof HTMLElement\n ) {\n event.target.style.color = theme?.colors.success.fg ?? 'green'\n event.target.textContent = \"I'm green!\"\n }\n },\n [confirm, theme],\n )\n return (\n <Box display=\"flex\" flexDirection=\"column\" alignItems=\"flex-start\">\n <Button\n onClick={onButtonClick}\n sx={{\n mb: 2,\n }}\n >\n Turn me green!\n </Button>\n <Button\n onClick={onButtonClick}\n sx={{\n mb: 2,\n }}\n >\n Turn me green!\n </Button>\n <Button\n onClick={onButtonClick}\n sx={{\n mb: 2,\n }}\n >\n Turn me green!\n </Button>\n <Button\n onClick={onButtonClick}\n sx={{\n mb: 2,\n }}\n >\n Turn me green!\n </Button>\n </Box>\n )\n}"
2439
+ "code": "() => {\n const confirm = useConfirm()\n const { theme } = useTheme()\n const onButtonClick = useCallback(\n async (event: React.MouseEvent) => {\n if (\n (await confirm({\n title: 'Are you sure?',\n content: 'Do you really want to turn this button green?',\n })) &&\n event.target instanceof HTMLElement\n ) {\n event.target.style.color = theme?.colors.success.fg ?? 'green'\n event.target.textContent = \"I'm green!\"\n }\n },\n [confirm, theme],\n )\n return (\n <div className={classes.ButtonContainer}>\n <Button onClick={onButtonClick} className={classes.TurnGreenButton}>\n Turn me green!\n </Button>\n <Button onClick={onButtonClick} className={classes.TurnGreenButton}>\n Turn me green!\n </Button>\n <Button onClick={onButtonClick} className={classes.TurnGreenButton}>\n Turn me green!\n </Button>\n <Button onClick={onButtonClick} className={classes.TurnGreenButton}>\n Turn me green!\n </Button>\n </div>\n )\n}"
2502
2440
  },
2503
2441
  {
2504
2442
  "id": "components-confirmationdialog-features--shorthand-hook-from-action-menu",
2505
- "code": "() => {\n const confirm = useConfirm()\n const [text, setText] = useState('open me')\n const onButtonClick = useCallback(async () => {\n if (\n await confirm({\n title: 'Are you sure?',\n content: 'Do you really want to do a trick?',\n })\n ) {\n setText('tada!')\n }\n }, [confirm])\n return (\n <Box display=\"flex\" flexDirection=\"column\" alignItems=\"flex-start\">\n <ActionMenu>\n <ActionMenu.Button>{text}</ActionMenu.Button>\n\n <ActionMenu.Overlay>\n <ActionList>\n <ActionList.Item onSelect={onButtonClick}>\n Do a trick!\n </ActionList.Item>\n </ActionList>\n </ActionMenu.Overlay>\n </ActionMenu>\n </Box>\n )\n}"
2443
+ "code": "() => {\n const confirm = useConfirm()\n const [text, setText] = useState('open me')\n const onButtonClick = useCallback(async () => {\n if (\n await confirm({\n title: 'Are you sure?',\n content: 'Do you really want to do a trick?',\n })\n ) {\n setText('tada!')\n }\n }, [confirm])\n return (\n <div className={classes.ButtonContainer}>\n <ActionMenu>\n <ActionMenu.Button>{text}</ActionMenu.Button>\n <ActionMenu.Overlay>\n <ActionList>\n <ActionList.Item onSelect={onButtonClick}>\n Do a trick!\n </ActionList.Item>\n </ActionList>\n </ActionMenu.Overlay>\n </ActionMenu>\n </div>\n )\n}"
2444
+ },
2445
+ {
2446
+ "id": "components-confirmationdialog-features--loading-states",
2447
+ "code": "() => {\n const [isOpen, setIsOpen] = useState(false)\n const [isConfirmLoading, setIsConfirmLoading] = useState(false)\n const [isCancelLoading, setIsCancelLoading] = useState(false)\n const handleConfirm = useCallback(() => {\n setIsConfirmLoading(true)\n // Simulate async operation\n setTimeout(() => {\n setIsConfirmLoading(false)\n setIsOpen(false)\n }, 2000)\n }, [])\n const handleCancel = useCallback(() => {\n setIsCancelLoading(true)\n // Simulate async operation\n setTimeout(() => {\n setIsCancelLoading(false)\n setIsOpen(false)\n }, 1500)\n }, [])\n const handleClose = useCallback(\n (gesture: 'confirm' | 'close-button' | 'cancel' | 'escape') => {\n if (gesture === 'confirm') {\n handleConfirm()\n } else if (gesture === 'cancel') {\n handleCancel()\n } else {\n setIsOpen(false)\n }\n },\n [handleConfirm, handleCancel],\n )\n return (\n <div className={classes.ButtonContainer}>\n <Button onClick={() => setIsOpen(true)}>Show Loading Dialog</Button>\n {isOpen && (\n <ConfirmationDialog\n title=\"Delete this file?\"\n confirmButtonType=\"danger\"\n confirmButtonContent=\"Delete\"\n confirmButtonLoading={isConfirmLoading}\n cancelButtonLoading={isCancelLoading}\n onClose={handleClose}\n >\n This action cannot be undone. The file will be permanently deleted\n from your repository.\n </ConfirmationDialog>\n )}\n </div>\n )\n}"
2506
2448
  }
2507
2449
  ],
2508
2450
  "props": [
@@ -2536,6 +2478,11 @@
2536
2478
  "defaultValue": "normal",
2537
2479
  "description": "The type of button to use for the confirm button."
2538
2480
  },
2481
+ {
2482
+ "name": "overrideButtonFocus",
2483
+ "type": "'confirm' | 'cancel'",
2484
+ "description": "The button that should be initially focused when the dialog is opened. By default, the initial button focus is the confirm button, unless the confirm button is dangerous, in which case the cancel button is focused. This prop should be used rarely, as it can allow dangerous actions to be taken accidentally."
2485
+ },
2539
2486
  {
2540
2487
  "name": "className",
2541
2488
  "type": "string",
@@ -2559,7 +2506,7 @@
2559
2506
  "id": "counter_label",
2560
2507
  "name": "CounterLabel",
2561
2508
  "status": "alpha",
2562
- "a11yReviewed": false,
2509
+ "a11yReviewed": "2025-01-08",
2563
2510
  "stories": [
2564
2511
  {
2565
2512
  "id": "components-counterlabel--default",
@@ -2587,11 +2534,6 @@
2587
2534
  "type": "string",
2588
2535
  "description": "Class name(s) for custom styling.",
2589
2536
  "defaultValue": ""
2590
- },
2591
- {
2592
- "name": "sx",
2593
- "type": "BetterSystemStyleObject",
2594
- "deprecated": true
2595
2537
  }
2596
2538
  ],
2597
2539
  "subcomponents": []
@@ -2601,7 +2543,7 @@
2601
2543
  "id": "data_table",
2602
2544
  "name": "DataTable",
2603
2545
  "status": "alpha",
2604
- "a11yReviewed": true,
2546
+ "a11yReviewed": "2025-01-08",
2605
2547
  "stories": [
2606
2548
  {
2607
2549
  "id": "experimental-components-datatable--default",
@@ -3042,7 +2984,7 @@
3042
2984
  "id": "details",
3043
2985
  "name": "Details",
3044
2986
  "status": "alpha",
3045
- "a11yReviewed": false,
2987
+ "a11yReviewed": "2025-01-08",
3046
2988
  "stories": [
3047
2989
  {
3048
2990
  "id": "components-details--default",
@@ -3050,13 +2992,7 @@
3050
2992
  }
3051
2993
  ],
3052
2994
  "importPath": "@primer/react",
3053
- "props": [
3054
- {
3055
- "name": "sx",
3056
- "type": "SystemStyleObject",
3057
- "deprecated": true
3058
- }
3059
- ],
2995
+ "props": [],
3060
2996
  "subcomponents": [
3061
2997
  {
3062
2998
  "name": "Details.Summary",
@@ -3071,11 +3007,6 @@
3071
3007
  {
3072
3008
  "name": "children",
3073
3009
  "type": "React.ReactNode"
3074
- },
3075
- {
3076
- "name": "sx",
3077
- "type": "SystemStyleObject",
3078
- "deprecated": true
3079
3010
  }
3080
3011
  ]
3081
3012
  }
@@ -3087,7 +3018,7 @@
3087
3018
  "docsId": "dialog",
3088
3019
  "name": "Dialog",
3089
3020
  "status": "alpha",
3090
- "a11yReviewed": false,
3021
+ "a11yReviewed": "2025-01-08",
3091
3022
  "stories": [
3092
3023
  {
3093
3024
  "id": "components-dialog--default",
@@ -3103,7 +3034,7 @@
3103
3034
  },
3104
3035
  {
3105
3036
  "id": "components-dialog-features--repro-multistep-dialog-with-conditional-footer",
3106
- "code": "({ width, height }: DialogStoryProps) => {\n const [isOpen, setIsOpen] = useState(false)\n const onDialogClose = useCallback(() => setIsOpen(false), [])\n const [step, setStep] = React.useState(1)\n const [inputText, setInputText] = React.useState('')\n const dialogRef = useRef<HTMLDivElement>(null)\n const renderFooterConditionally = () => {\n if (step === 1) return null\n return (\n <Dialog.Footer>\n <Button variant=\"primary\">Submit</Button>\n </Dialog.Footer>\n )\n }\n React.useEffect(() => {\n // focus the close button when the step changes\n const focusTarget = dialogRef.current?.querySelector(\n 'button[aria-label=\"Close\"]',\n ) as HTMLButtonElement\n if (step === 2) {\n focusTarget.focus()\n }\n }, [step])\n return (\n <>\n <Button onClick={() => setIsOpen(!isOpen)}>Show dialog</Button>\n {isOpen && (\n <Dialog\n title={`Step ${step}`}\n width={width}\n height={height}\n renderFooter={renderFooterConditionally}\n onClose={onDialogClose}\n footerButtons={[\n {\n buttonType: 'primary',\n content: 'Proceed',\n },\n ]}\n ref={dialogRef}\n >\n {step === 1 ? (\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'column',\n gap: 4,\n }}\n >\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'space-between',\n }}\n >\n Bug Report <Button onClick={() => setStep(2)}>Choose</Button>\n </Box>\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'space-between',\n }}\n >\n Feature request{' '}\n <Button onClick={() => setStep(2)}>Choose</Button>\n </Box>\n </Box>\n ) : (\n <div>\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'column',\n gap: 1,\n }}\n >\n <label htmlFor=\"description\">Description</label>\n <TextInput\n id=\"description\"\n placeholder=\"Write the description here\"\n value={inputText}\n onChange={(event) => setInputText(event.target.value)}\n />\n </Box>\n </div>\n )}\n </Dialog>\n )}\n </>\n )\n}"
3037
+ "code": "({ width, height }: DialogStoryProps) => {\n const [isOpen, setIsOpen] = useState(false)\n const onDialogClose = useCallback(() => setIsOpen(false), [])\n const [step, setStep] = React.useState(1)\n const [inputText, setInputText] = React.useState('')\n const dialogRef = useRef<HTMLDivElement>(null)\n const renderFooterConditionally = () => {\n if (step === 1) return null\n return (\n <Dialog.Footer>\n <Button variant=\"primary\">Submit</Button>\n </Dialog.Footer>\n )\n }\n React.useEffect(() => {\n // focus the close button when the step changes\n const focusTarget = dialogRef.current?.querySelector(\n 'button[aria-label=\"Close\"]',\n ) as HTMLButtonElement\n if (step === 2) {\n focusTarget.focus()\n }\n }, [step])\n return (\n <>\n <Button onClick={() => setIsOpen(!isOpen)}>Show dialog</Button>\n {isOpen && (\n <Dialog\n title={`Step ${step}`}\n width={width}\n height={height}\n renderFooter={renderFooterConditionally}\n onClose={onDialogClose}\n footerButtons={[\n {\n buttonType: 'primary',\n content: 'Proceed',\n },\n ]}\n ref={dialogRef}\n >\n {step === 1 ? (\n <Stack gap=\"spacious\" direction=\"vertical\">\n <Stack direction=\"horizontal\" justify=\"space-between\">\n Bug Report <Button onClick={() => setStep(2)}>Choose</Button>\n </Stack>\n <Stack direction=\"horizontal\" justify=\"space-between\">\n Feature request{' '}\n <Button onClick={() => setStep(2)}>Choose</Button>\n </Stack>\n </Stack>\n ) : (\n <div>\n <Stack gap=\"condensed\" direction=\"vertical\">\n <label htmlFor=\"description\">Description</label>\n <TextInput\n id=\"description\"\n placeholder=\"Write the description here\"\n value={inputText}\n onChange={(event) => setInputText(event.target.value)}\n />\n </Stack>\n </div>\n )}\n </Dialog>\n )}\n </>\n )\n}"
3107
3038
  },
3108
3039
  {
3109
3040
  "id": "components-dialog-features--bottom-sheet-narrow",
@@ -3127,7 +3058,7 @@
3127
3058
  },
3128
3059
  {
3129
3060
  "id": "components-dialog-features--retains-focus-trap-with-dynamic-content",
3130
- "code": "() => {\n const [isOpen, setIsOpen] = useState(false)\n const [secondOpen, setSecondOpen] = useState(false)\n const [expandContent, setExpandContent] = useState(false)\n const [changeBodyContent, setChangeBodyContent] = useState(false)\n const buttonRef = useRef<HTMLButtonElement>(null)\n const onDialogClose = useCallback(() => setIsOpen(false), [])\n const onSecondDialogClose = useCallback(() => setSecondOpen(false), [])\n const openSecondDialog = useCallback(() => setSecondOpen(true), [])\n const renderFooterConditionally = () => {\n if (!changeBodyContent) return null\n return (\n <Dialog.Footer>\n <Button variant=\"primary\">Submit</Button>\n </Dialog.Footer>\n )\n }\n return (\n <>\n <Button ref={buttonRef} onClick={() => setIsOpen(!isOpen)}>\n Show dialog\n </Button>\n {isOpen && (\n <Dialog\n title=\"My Dialog\"\n onClose={onDialogClose}\n renderFooter={renderFooterConditionally}\n >\n <Button onClick={() => setExpandContent(!expandContent)}>\n Click me to dynamically {expandContent ? 'remove' : 'render'}{' '}\n content\n </Button>\n <Button onClick={() => setChangeBodyContent(!changeBodyContent)}>\n Click me to {changeBodyContent ? 'remove' : 'add'} a footer\n </Button>\n <Button onClick={openSecondDialog}>\n Click me to open a new dialog\n </Button>\n {expandContent && (\n <Box>\n {lipsum}\n <Button>Dialog Button Example 1</Button>\n <Button>Dialog Button Example 2</Button>\n </Box>\n )}\n {secondOpen && (\n <Dialog\n title=\"Inner dialog!\"\n onClose={onSecondDialogClose}\n width=\"small\"\n >\n Hello world\n </Dialog>\n )}\n </Dialog>\n )}\n </>\n )\n}"
3061
+ "code": "() => {\n const [isOpen, setIsOpen] = useState(false)\n const [secondOpen, setSecondOpen] = useState(false)\n const [expandContent, setExpandContent] = useState(false)\n const [changeBodyContent, setChangeBodyContent] = useState(false)\n const buttonRef = useRef<HTMLButtonElement>(null)\n const onDialogClose = useCallback(() => setIsOpen(false), [])\n const onSecondDialogClose = useCallback(() => setSecondOpen(false), [])\n const openSecondDialog = useCallback(() => setSecondOpen(true), [])\n const renderFooterConditionally = () => {\n if (!changeBodyContent) return null\n return (\n <Dialog.Footer>\n <Button variant=\"primary\">Submit</Button>\n </Dialog.Footer>\n )\n }\n return (\n <>\n <Button ref={buttonRef} onClick={() => setIsOpen(!isOpen)}>\n Show dialog\n </Button>\n {isOpen && (\n <Dialog\n title=\"My Dialog\"\n onClose={onDialogClose}\n renderFooter={renderFooterConditionally}\n >\n <Button onClick={() => setExpandContent(!expandContent)}>\n Click me to dynamically {expandContent ? 'remove' : 'render'}{' '}\n content\n </Button>\n <Button onClick={() => setChangeBodyContent(!changeBodyContent)}>\n Click me to {changeBodyContent ? 'remove' : 'add'} a footer\n </Button>\n <Button onClick={openSecondDialog}>\n Click me to open a new dialog\n </Button>\n {expandContent && (\n <Stack gap=\"normal\" direction=\"vertical\">\n {lipsum}\n <Button>Dialog Button Example 1</Button>\n <Button>Dialog Button Example 2</Button>\n </Stack>\n )}\n {secondOpen && (\n <Dialog\n title=\"Inner dialog!\"\n onClose={onSecondDialogClose}\n width=\"small\"\n >\n Hello world\n </Dialog>\n )}\n </Dialog>\n )}\n </>\n )\n}"
3131
3062
  }
3132
3063
  ],
3133
3064
  "importPath": "@primer/react",
@@ -3283,7 +3214,7 @@
3283
3214
  "stories": [
3284
3215
  {
3285
3216
  "id": "components-dialog--default",
3286
- "code": "() => {\n const [isOpen, setIsOpen] = useState(false)\n const returnFocusRef = useRef(null)\n return (\n <div>\n <Box\n sx={{\n mb: 3,\n }}\n >\n <Banner\n title=\"This component is deprecated\"\n description=\"We recommend using Dialog instead.\"\n variant=\"warning\"\n />\n </Box>\n <Button\n data-testid=\"trigger-button\"\n ref={returnFocusRef}\n onClick={() => setIsOpen(true)}\n >\n Show Dialog\n </Button>\n <Dialog\n returnFocusRef={returnFocusRef}\n isOpen={isOpen}\n onDismiss={() => setIsOpen(false)}\n aria-labelledby=\"header\"\n >\n <div data-testid=\"inner\">\n <Dialog.Header id=\"header\">Title</Dialog.Header>\n <Box p={3}>\n <Text>Some content</Text>\n </Box>\n </div>\n </Dialog>\n </div>\n )\n}"
3217
+ "code": "() => {\n const [isOpen, setIsOpen] = useState(false)\n const returnFocusRef = useRef(null)\n return (\n <div>\n <div\n style={{\n marginBottom: 'var(--stack-gap-normal)',\n }}\n >\n <Banner\n title=\"This component is deprecated\"\n description=\"We recommend using Dialog instead.\"\n variant=\"warning\"\n />\n </div>\n <Button\n data-testid=\"trigger-button\"\n ref={returnFocusRef}\n onClick={() => setIsOpen(true)}\n >\n Show Dialog\n </Button>\n <Dialog\n returnFocusRef={returnFocusRef}\n isOpen={isOpen}\n onDismiss={() => setIsOpen(false)}\n aria-labelledby=\"header\"\n >\n <div data-testid=\"inner\">\n <Dialog.Header id=\"header\">Title</Dialog.Header>\n <div\n style={{\n padding: 'var(--stack-gap-normal)',\n }}\n >\n <Text>Some content</Text>\n </div>\n </div>\n </Dialog>\n </div>\n )\n}"
3287
3218
  }
3288
3219
  ],
3289
3220
  "importPath": "@primer/react/deprecated",
@@ -3368,7 +3299,7 @@
3368
3299
  "id": "flash",
3369
3300
  "name": "Flash",
3370
3301
  "status": "alpha",
3371
- "a11yReviewed": false,
3302
+ "a11yReviewed": "2025-01-08",
3372
3303
  "stories": [
3373
3304
  {
3374
3305
  "id": "components-flash--default",
@@ -3376,27 +3307,27 @@
3376
3307
  },
3377
3308
  {
3378
3309
  "id": "components-flash-features--success",
3379
- "code": "() => (\n <Flash\n variant=\"success\"\n sx={{\n display: 'grid',\n gridTemplateColumns: 'min-content 1fr minmax(0, auto)',\n gridTemplateAreas: `'visual message actions'`,\n }}\n >\n <Box\n sx={{\n display: 'grid',\n paddingBlock: 'var(--base-size-8)',\n alignSelf: 'start',\n gridArea: 'visual',\n }}\n >\n <Octicon icon={CheckCircleIcon} aria-label=\"Success\" />\n </Box>\n <Box\n sx={{\n fontSize: 1,\n lineHeight: '1.5',\n padding: '0.375rem var(--base-size-8)',\n alignSelf: 'center',\n gridArea: 'message',\n }}\n >\n Success\n </Box>\n </Flash>\n)"
3310
+ "code": "() => (\n <Flash\n variant=\"success\"\n style={{\n display: 'grid',\n gridTemplateColumns: 'min-content 1fr minmax(0, auto)',\n gridTemplateAreas: `'visual message actions'`,\n }}\n >\n <div className={classes.Visual}>\n <CheckCircleIcon aria-label=\"Success\" />\n </div>\n <div className={classes.Message}>Success</div>\n </Flash>\n)"
3380
3311
  },
3381
3312
  {
3382
3313
  "id": "components-flash-features--danger",
3383
- "code": "() => (\n <Flash\n variant=\"danger\"\n sx={{\n display: 'grid',\n gridTemplateColumns: 'min-content 1fr minmax(0, auto)',\n gridTemplateAreas: `'visual message actions'`,\n }}\n >\n <Box\n sx={{\n display: 'grid',\n paddingBlock: 'var(--base-size-8)',\n alignSelf: 'start',\n gridArea: 'visual',\n }}\n >\n <Octicon icon={InfoIcon} aria-label=\"Danger\" />\n </Box>\n <Box\n sx={{\n fontSize: 1,\n lineHeight: '1.5',\n padding: '0.375rem var(--base-size-8)',\n alignSelf: 'center',\n gridArea: 'message',\n }}\n >\n Danger\n </Box>\n </Flash>\n)"
3314
+ "code": "() => (\n <Flash\n variant=\"danger\"\n style={{\n display: 'grid',\n gridTemplateColumns: 'min-content 1fr minmax(0, auto)',\n gridTemplateAreas: `'visual message actions'`,\n }}\n >\n <div className={classes.Visual}>\n <InfoIcon aria-label=\"Danger\" />\n </div>\n <div className={classes.Message}>Danger</div>\n </Flash>\n)"
3384
3315
  },
3385
3316
  {
3386
3317
  "id": "components-flash-features--warning",
3387
- "code": "() => (\n <Flash\n variant=\"warning\"\n sx={{\n display: 'grid',\n gridTemplateColumns: 'min-content 1fr minmax(0, auto)',\n gridTemplateAreas: `'visual message actions'`,\n }}\n >\n <Box\n sx={{\n display: 'grid',\n paddingBlock: 'var(--base-size-8)',\n alignSelf: 'start',\n gridArea: 'visual',\n }}\n >\n <Octicon icon={AlertIcon} aria-label=\"Warning\" />\n </Box>\n <Box\n sx={{\n fontSize: 1,\n lineHeight: '1.5',\n padding: '0.375rem var(--base-size-8)',\n alignSelf: 'center',\n gridArea: 'message',\n }}\n >\n Warning\n </Box>\n </Flash>\n)"
3318
+ "code": "() => (\n <Flash\n variant=\"warning\"\n style={{\n display: 'grid',\n gridTemplateColumns: 'min-content 1fr minmax(0, auto)',\n gridTemplateAreas: `'visual message actions'`,\n }}\n >\n <div className={classes.Visual}>\n <AlertIcon aria-label=\"Warning\" />\n </div>\n <div className={classes.Message}>Warning</div>\n </Flash>\n)"
3388
3319
  },
3389
3320
  {
3390
3321
  "id": "components-flash-features--full",
3391
- "code": "() => (\n <Flash\n full\n sx={{\n display: 'grid',\n gridTemplateColumns: 'min-content 1fr minmax(0, auto)',\n gridTemplateAreas: `'visual message actions'`,\n }}\n >\n <Box\n sx={{\n display: 'grid',\n paddingBlock: 'var(--base-size-8)',\n alignSelf: 'start',\n gridArea: 'visual',\n }}\n >\n <Octicon icon={InfoIcon} aria-label=\"Info\" />\n </Box>\n <Box\n sx={{\n fontSize: 1,\n lineHeight: '1.5',\n padding: '0.375rem var(--base-size-8)',\n alignSelf: 'center',\n gridArea: 'message',\n }}\n >\n Full\n </Box>\n </Flash>\n)"
3322
+ "code": "() => (\n <Flash\n full\n style={{\n display: 'grid',\n gridTemplateColumns: 'min-content 1fr minmax(0, auto)',\n gridTemplateAreas: `'visual message actions'`,\n }}\n >\n <div className={classes.Visual}>\n <InfoIcon aria-label=\"Info\" />\n </div>\n <div className={classes.Message}>Full</div>\n </Flash>\n)"
3392
3323
  },
3393
3324
  {
3394
3325
  "id": "components-flash-features--with-icon-and-action",
3395
- "code": "() => (\n <Flash\n sx={{\n display: 'grid',\n gridTemplateColumns: 'min-content 1fr minmax(0, auto)',\n gridTemplateRows: 'min-content',\n gridTemplateAreas: `'visual message actions'`,\n '@media screen and (max-width: 543.98px)': {\n gridTemplateColumns: 'min-content 1fr',\n gridTemplateRows: 'min-content min-content',\n gridTemplateAreas: `\n 'visual message'\n '. actions'\n `,\n },\n }}\n >\n <Box\n sx={{\n display: 'grid',\n paddingBlock: 'var(--base-size-8)',\n alignSelf: 'start',\n gridArea: 'visual',\n }}\n >\n <Octicon icon={InfoIcon} aria-label=\"Info\" />\n </Box>\n <Box\n sx={{\n fontSize: 1,\n lineHeight: '1.5',\n padding: '0.375rem var(--base-size-8)',\n alignSelf: 'center',\n gridArea: 'message',\n }}\n >\n This is a flash message with an icon and an action.\n <Link href=\"/\"> Learn more.</Link>\n </Box>\n <Box\n sx={{\n gridArea: 'actions',\n '@media screen and (max-width: 543.98px)': {\n alignSelf: 'start',\n margin: 'var(--base-size-8) 0 0 var(--base-size-8)',\n },\n }}\n >\n <Button>Join waitlist</Button>\n </Box>\n </Flash>\n)"
3326
+ "code": "() => (\n <Flash className={classes.WithIconAndAction}>\n <div className={classes.Visual}>\n <InfoIcon aria-label=\"Info\" />\n </div>\n <div className={classes.Message}>\n This is a flash message with an icon and an action.\n <Link href=\"/\"> Learn more.</Link>\n </div>\n <div className={classes.ActionsResponsive}>\n <Button>Join waitlist</Button>\n </div>\n </Flash>\n)"
3396
3327
  },
3397
3328
  {
3398
3329
  "id": "components-flash-features--with-icon-action-dismiss",
3399
- "code": "() => (\n <Flash\n sx={{\n display: 'grid',\n gridTemplateColumns: 'min-content 1fr minmax(0, auto)',\n gridTemplateRows: 'min-content',\n gridTemplateAreas: `'visual message actions close'`,\n '@media screen and (max-width: 543.98px)': {\n gridTemplateColumns: 'min-content 1fr',\n gridTemplateRows: 'min-content min-content',\n gridTemplateAreas: `\n 'visual message close'\n '. actions actions'\n `,\n },\n }}\n >\n <Box\n sx={{\n display: 'grid',\n paddingBlock: 'var(--base-size-8)',\n alignSelf: 'start',\n gridArea: 'visual',\n }}\n >\n <Octicon icon={InfoIcon} aria-label=\"Info\" />\n </Box>\n <Box\n sx={{\n fontSize: 1,\n lineHeight: '1.5',\n padding: '0.375rem var(--base-size-8)',\n alignSelf: 'center',\n gridArea: 'message',\n }}\n >\n This is a flash message with an icon and an action.\n <Link href=\"/\"> Learn more.</Link>\n </Box>\n <Box\n sx={{\n gridArea: 'actions',\n '@media screen and (max-width: 543.98px)': {\n alignSelf: 'start',\n margin: 'var(--base-size-8) 0 0 var(--base-size-8)',\n },\n }}\n >\n <Button>Join waitlist</Button>\n </Box>\n <Box\n sx={{\n gridArea: 'close',\n marginLeft: 'var(--controlStack-medium-gap-condensed)',\n }}\n >\n <IconButton\n variant=\"invisible\"\n icon={XIcon}\n aria-label=\"Dismiss\"\n sx={{\n svg: {\n margin: '0',\n color: 'fg.muted',\n },\n }}\n />\n </Box>\n </Flash>\n)"
3330
+ "code": "() => (\n <Flash className={classes.WithIconActionDismiss}>\n <div className={classes.Visual}>\n <InfoIcon aria-label=\"Info\" />\n </div>\n <div className={classes.Message}>\n This is a flash message with an icon and an action.\n <Link href=\"/\"> Learn more.</Link>\n </div>\n <div className={classes.ActionsResponsive}>\n <Button>Join waitlist</Button>\n </div>\n <div className={classes.Close}>\n <IconButton variant=\"invisible\" icon={XIcon} aria-label=\"Dismiss\" />\n </div>\n </Flash>\n)"
3400
3331
  }
3401
3332
  ],
3402
3333
  "importPath": "@primer/react",
@@ -3421,11 +3352,6 @@
3421
3352
  "name": "as",
3422
3353
  "type": "React.ElementType",
3423
3354
  "defaultValue": "\"div\""
3424
- },
3425
- {
3426
- "name": "sx",
3427
- "type": "SystemStyleObject",
3428
- "deprecated": true
3429
3355
  }
3430
3356
  ],
3431
3357
  "subcomponents": []
@@ -3435,7 +3361,7 @@
3435
3361
  "id": "form_control",
3436
3362
  "name": "FormControl",
3437
3363
  "status": "alpha",
3438
- "a11yReviewed": false,
3364
+ "a11yReviewed": "2025-01-08",
3439
3365
  "stories": [
3440
3366
  {
3441
3367
  "id": "components-formcontrol--default",
@@ -3443,15 +3369,15 @@
3443
3369
  },
3444
3370
  {
3445
3371
  "id": "components-formcontrol-features--with-complex-inputs",
3446
- "code": "() => {\n const [tokens, setTokens] = useState([...mockTokens])\n const onTokenRemove = (tokenId: string | number) => {\n setTokens(\n tokens.filter((token: { id: string | number }) => token.id !== tokenId),\n )\n }\n return (\n <Box display=\"grid\">\n <FormControl>\n <FormControl.Label id=\"form-label\">\n TextInputWithTokens\n </FormControl.Label>\n <TextInputWithTokens onTokenRemove={onTokenRemove} tokens={tokens} />\n </FormControl>\n <FormControl>\n <FormControl.Label id=\"autocomplete-label\">\n Autocomplete\n </FormControl.Label>\n <Autocomplete>\n <Autocomplete.Input block />\n <Autocomplete.Overlay>\n <Autocomplete.Menu\n aria-labelledby=\"autocomplete-label\"\n items={[\n {\n text: 'css',\n id: '0',\n },\n {\n text: 'css-in-js',\n id: '1',\n },\n {\n text: 'styled-system',\n id: '2',\n },\n {\n text: 'javascript',\n id: '3',\n },\n {\n text: 'typescript',\n id: '4',\n },\n {\n text: 'react',\n id: '5',\n },\n {\n text: 'design-systems',\n id: '6',\n },\n ]}\n selectedItemIds={[]}\n />\n </Autocomplete.Overlay>\n </Autocomplete>\n </FormControl>\n <FormControl>\n <FormControl.Label>Select</FormControl.Label>\n <Select>\n <Select.Option value=\"figma\">Figma</Select.Option>\n <Select.Option value=\"css\">Primer CSS</Select.Option>\n <Select.Option value=\"prc\">Primer React components</Select.Option>\n <Select.Option value=\"pvc\">Primer ViewComponents</Select.Option>\n </Select>\n </FormControl>\n <FormControl>\n <FormControl.Label>Textarea</FormControl.Label>\n <Textarea />\n </FormControl>\n </Box>\n )\n}"
3372
+ "code": "() => {\n const [tokens, setTokens] = useState([...mockTokens])\n const onTokenRemove = (tokenId: string | number) => {\n setTokens(\n tokens.filter((token: { id: string | number }) => token.id !== tokenId),\n )\n }\n return (\n <div className={classes.GridContainer}>\n <FormControl>\n <FormControl.Label id=\"form-label\">\n TextInputWithTokens\n </FormControl.Label>\n <TextInputWithTokens onTokenRemove={onTokenRemove} tokens={tokens} />\n </FormControl>\n <FormControl>\n <FormControl.Label id=\"autocomplete-label\">\n Autocomplete\n </FormControl.Label>\n <Autocomplete>\n <Autocomplete.Input block />\n <Autocomplete.Overlay>\n <Autocomplete.Menu\n aria-labelledby=\"autocomplete-label\"\n items={[\n {\n text: 'css',\n id: '0',\n },\n {\n text: 'css-in-js',\n id: '1',\n },\n {\n text: 'styled-system',\n id: '2',\n },\n {\n text: 'javascript',\n id: '3',\n },\n {\n text: 'typescript',\n id: '4',\n },\n {\n text: 'react',\n id: '5',\n },\n {\n text: 'design-systems',\n id: '6',\n },\n ]}\n selectedItemIds={[]}\n />\n </Autocomplete.Overlay>\n </Autocomplete>\n </FormControl>\n <FormControl>\n <FormControl.Label>Select</FormControl.Label>\n <Select>\n <Select.Option value=\"figma\">Figma</Select.Option>\n <Select.Option value=\"css\">Primer CSS</Select.Option>\n <Select.Option value=\"prc\">Primer React components</Select.Option>\n <Select.Option value=\"pvc\">Primer ViewComponents</Select.Option>\n </Select>\n </FormControl>\n <FormControl>\n <FormControl.Label>Textarea</FormControl.Label>\n <Textarea />\n </FormControl>\n </div>\n )\n}"
3447
3373
  },
3448
3374
  {
3449
3375
  "id": "components-formcontrol-features--form-control-with-custom-input",
3450
- "code": "() => {\n const [value, setValue] = React.useState('mona lisa')\n const [validationResult, setValidationResult] = React.useState('')\n const doesValueContainSpaces = (inputValue: string) => /\\s/g.test(inputValue)\n const handleInputChange = (e: {\n currentTarget: {\n value: React.SetStateAction<string>\n }\n }) => {\n setValue(e.currentTarget.value)\n }\n React.useEffect(() => {\n if (doesValueContainSpaces(value)) {\n setValidationResult('noSpaces')\n } else if (value) {\n setValidationResult('validName')\n }\n }, [value])\n return (\n <Box display=\"grid\">\n <FormControl>\n <FormControl.Label htmlFor=\"custom-input\">\n GitHub handle\n </FormControl.Label>\n <CustomTextInput\n id=\"custom-input\"\n aria-describedby=\"custom-input-caption custom-input-validation\"\n aria-invalid={validationResult === 'noSpaces'}\n onChange={handleInputChange}\n />\n {validationResult === 'noSpaces' && (\n <FormControl.Validation id=\"custom-input-validation\" variant=\"error\">\n GitHub handles cannot contain spaces\n </FormControl.Validation>\n )}\n {validationResult === 'validName' && (\n <FormControl.Validation\n id=\"custom-input-validation\"\n variant=\"success\"\n >\n Valid name\n </FormControl.Validation>\n )}\n <FormControl.Caption id=\"custom-input-caption\">\n With or without &quot;@&quot;. For example &quot;monalisa&quot; or\n &quot;@monalisa&quot;\n </FormControl.Caption>\n </FormControl>\n\n <CheckboxGroup>\n <CheckboxGroup.Label>Checkboxes</CheckboxGroup.Label>\n <FormControl layout=\"horizontal\">\n <CustomCheckboxInput\n id=\"custom-checkbox-one\"\n aria-describedby=\"custom-checkbox-one-caption\"\n value=\"checkOne\"\n />\n <FormControl.Label htmlFor=\"custom-checkbox-one\">\n Checkbox one\n </FormControl.Label>\n <FormControl.Caption id=\"custom-checkbox-one-caption\">\n Hint text for checkbox one\n </FormControl.Caption>\n </FormControl>\n <FormControl layout=\"horizontal\">\n <CustomCheckboxInput\n id=\"custom-checkbox-two\"\n aria-describedby=\"custom-checkbox-two-caption\"\n value=\"checkTwo\"\n />\n <FormControl.Label htmlFor=\"custom-checkbox-two\">\n Checkbox two\n </FormControl.Label>\n <FormControl.Caption id=\"custom-checkbox-two-caption\">\n Hint text for checkbox two\n </FormControl.Caption>\n </FormControl>\n </CheckboxGroup>\n </Box>\n )\n}"
3376
+ "code": "() => {\n const [value, setValue] = React.useState('mona lisa')\n const [validationResult, setValidationResult] = React.useState('')\n const doesValueContainSpaces = (inputValue: string) => /\\s/g.test(inputValue)\n const handleInputChange = (e: {\n currentTarget: {\n value: React.SetStateAction<string>\n }\n }) => {\n setValue(e.currentTarget.value)\n }\n React.useEffect(() => {\n if (doesValueContainSpaces(value)) {\n setValidationResult('noSpaces')\n } else if (value) {\n setValidationResult('validName')\n }\n }, [value])\n return (\n <div className={classes.GridContainer}>\n <FormControl>\n <FormControl.Label htmlFor=\"custom-input\">\n GitHub handle\n </FormControl.Label>\n <CustomTextInput\n id=\"custom-input\"\n aria-describedby=\"custom-input-caption custom-input-validation\"\n aria-invalid={validationResult === 'noSpaces'}\n onChange={handleInputChange}\n />\n {validationResult === 'noSpaces' && (\n <FormControl.Validation id=\"custom-input-validation\" variant=\"error\">\n GitHub handles cannot contain spaces\n </FormControl.Validation>\n )}\n {validationResult === 'validName' && (\n <FormControl.Validation\n id=\"custom-input-validation\"\n variant=\"success\"\n >\n Valid name\n </FormControl.Validation>\n )}\n <FormControl.Caption id=\"custom-input-caption\">\n With or without &quot;@&quot;. For example &quot;monalisa&quot; or\n &quot;@monalisa&quot;\n </FormControl.Caption>\n </FormControl>\n\n <CheckboxGroup>\n <CheckboxGroup.Label>Checkboxes</CheckboxGroup.Label>\n <FormControl layout=\"horizontal\">\n <CustomCheckboxInput\n id=\"custom-checkbox-one\"\n aria-describedby=\"custom-checkbox-one-caption\"\n value=\"checkOne\"\n />\n <FormControl.Label htmlFor=\"custom-checkbox-one\">\n Checkbox one\n </FormControl.Label>\n <FormControl.Caption id=\"custom-checkbox-one-caption\">\n Hint text for checkbox one\n </FormControl.Caption>\n </FormControl>\n <FormControl layout=\"horizontal\">\n <CustomCheckboxInput\n id=\"custom-checkbox-two\"\n aria-describedby=\"custom-checkbox-two-caption\"\n value=\"checkTwo\"\n />\n <FormControl.Label htmlFor=\"custom-checkbox-two\">\n Checkbox two\n </FormControl.Label>\n <FormControl.Caption id=\"custom-checkbox-two-caption\">\n Hint text for checkbox two\n </FormControl.Caption>\n </FormControl>\n </CheckboxGroup>\n </div>\n )\n}"
3451
3377
  },
3452
3378
  {
3453
3379
  "id": "components-formcontrol-features--with-checkbox-and-radio-inputs",
3454
- "code": "() => {\n return (\n <Box\n display=\"grid\"\n sx={{\n gap: 3,\n }}\n >\n <CheckboxGroup>\n <CheckboxGroup.Label>Checkboxes</CheckboxGroup.Label>\n <FormControl>\n <Checkbox value=\"checkOne\" />\n <FormControl.Label>Checkbox one</FormControl.Label>\n </FormControl>\n <FormControl>\n <Checkbox value=\"checkTwo\" />\n <FormControl.Label>Checkbox two</FormControl.Label>\n </FormControl>\n <FormControl>\n <Checkbox value=\"checkThree\" />\n <FormControl.Label>Checkbox three</FormControl.Label>\n </FormControl>\n </CheckboxGroup>\n\n <RadioGroup name={''}>\n <RadioGroup.Label>Radios</RadioGroup.Label>\n <FormControl>\n <Radio name=\"radioChoices\" value=\"radioOne\" />\n <FormControl.Label>Radio one</FormControl.Label>\n </FormControl>\n <FormControl>\n <Radio name=\"radioChoices\" value=\"radioTwo\" />\n <FormControl.Label>Radio two</FormControl.Label>\n </FormControl>\n <FormControl>\n <Radio name=\"radioChoices\" value=\"radioThree\" />\n <FormControl.Label>Radio three</FormControl.Label>\n </FormControl>\n </RadioGroup>\n </Box>\n )\n}"
3380
+ "code": "() => {\n return (\n <div className={classes.GapContainer}>\n <CheckboxGroup>\n <CheckboxGroup.Label>Checkboxes</CheckboxGroup.Label>\n <FormControl>\n <Checkbox value=\"checkOne\" />\n <FormControl.Label>Checkbox one</FormControl.Label>\n </FormControl>\n <FormControl>\n <Checkbox value=\"checkTwo\" />\n <FormControl.Label>Checkbox two</FormControl.Label>\n </FormControl>\n <FormControl>\n <Checkbox value=\"checkThree\" />\n <FormControl.Label>Checkbox three</FormControl.Label>\n </FormControl>\n </CheckboxGroup>\n\n <RadioGroup name={''}>\n <RadioGroup.Label>Radios</RadioGroup.Label>\n <FormControl>\n <Radio name=\"radioChoices\" value=\"radioOne\" />\n <FormControl.Label>Radio one</FormControl.Label>\n </FormControl>\n <FormControl>\n <Radio name=\"radioChoices\" value=\"radioTwo\" />\n <FormControl.Label>Radio two</FormControl.Label>\n </FormControl>\n <FormControl>\n <Radio name=\"radioChoices\" value=\"radioThree\" />\n <FormControl.Label>Radio three</FormControl.Label>\n </FormControl>\n </RadioGroup>\n </div>\n )\n}"
3455
3381
  },
3456
3382
  {
3457
3383
  "id": "components-formcontrol-features--single-input",
@@ -3471,11 +3397,11 @@
3471
3397
  },
3472
3398
  {
3473
3399
  "id": "components-formcontrol-features--disabled-inputs",
3474
- "code": "() => (\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'column',\n gap: '1rem',\n }}\n >\n <FormControl disabled>\n <FormControl.Label>Disabled checkbox</FormControl.Label>\n <Checkbox />\n </FormControl>\n <FormControl disabled>\n <FormControl.Label>Disabled input</FormControl.Label>\n <TextInput />\n </FormControl>\n <FormControl disabled>\n <FormControl.Label>Disabled select</FormControl.Label>\n <Select>\n <Select.Option value=\"figma\">Figma</Select.Option>\n <Select.Option value=\"css\">Primer CSS</Select.Option>\n <Select.Option value=\"prc\">Primer React components</Select.Option>\n <Select.Option value=\"pvc\">Primer ViewComponents</Select.Option>\n </Select>\n </FormControl>\n </Box>\n)"
3400
+ "code": "() => (\n <div className={classes.FlexColumnGapContainer}>\n <FormControl disabled>\n <FormControl.Label>Disabled checkbox</FormControl.Label>\n <Checkbox />\n </FormControl>\n <FormControl disabled>\n <FormControl.Label>Disabled input</FormControl.Label>\n <TextInput />\n </FormControl>\n <FormControl disabled>\n <FormControl.Label>Disabled select</FormControl.Label>\n <Select>\n <Select.Option value=\"figma\">Figma</Select.Option>\n <Select.Option value=\"css\">Primer CSS</Select.Option>\n <Select.Option value=\"prc\">Primer React components</Select.Option>\n <Select.Option value=\"pvc\">Primer ViewComponents</Select.Option>\n </Select>\n </FormControl>\n </div>\n)"
3475
3401
  },
3476
3402
  {
3477
3403
  "id": "components-formcontrol-features--custom-required",
3478
- "code": "() => (\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'column',\n gap: '1rem',\n }}\n >\n <FormControl required={true}>\n <FormControl.Label requiredText=\"(required)\">\n Form Input Label\n </FormControl.Label>\n <FormControl.Caption>\n This is a form field with a custom required indicator\n </FormControl.Caption>\n <TextInput />\n </FormControl>\n\n <Text\n sx={{\n fontSize: 1,\n }}\n >\n Required fields are marked with an asterisk (*)\n </Text>\n <FormControl required={true}>\n <FormControl.Label requiredIndicator={false}>\n Form Input Label\n </FormControl.Label>\n <FormControl.Caption>\n This is a form field with a required indicator that is hidden in the\n accessibility tree\n </FormControl.Caption>\n <TextInput />\n </FormControl>\n\n <FormControl required={false}>\n <FormControl.Label requiredText=\"(optional)\" requiredIndicator={false}>\n Form Input Label\n </FormControl.Label>\n <FormControl.Caption>\n This is a form field that is marked as optional, it is not required\n </FormControl.Caption>\n <TextInput />\n </FormControl>\n </Box>\n)"
3404
+ "code": "() => (\n <div className={classes.FlexColumnGapContainer}>\n <FormControl required={true}>\n <FormControl.Label requiredText=\"(required)\">\n Form Input Label\n </FormControl.Label>\n <FormControl.Caption>\n This is a form field with a custom required indicator\n </FormControl.Caption>\n <TextInput />\n </FormControl>\n\n <Text className={classes.RequiredFieldsNote}>\n Required fields are marked with an asterisk (*)\n </Text>\n <FormControl required={true}>\n <FormControl.Label requiredIndicator={false}>\n Form Input Label\n </FormControl.Label>\n <FormControl.Caption>\n This is a form field with a required indicator that is hidden in the\n accessibility tree\n </FormControl.Caption>\n <TextInput />\n </FormControl>\n\n <FormControl required={false}>\n <FormControl.Label requiredText=\"(optional)\" requiredIndicator={false}>\n Form Input Label\n </FormControl.Label>\n <FormControl.Caption>\n This is a form field that is marked as optional, it is not required\n </FormControl.Caption>\n <TextInput />\n </FormControl>\n </div>\n)"
3479
3405
  },
3480
3406
  {
3481
3407
  "id": "components-formcontrol-features--with-caption",
@@ -3683,15 +3609,15 @@
3683
3609
  "id": "header",
3684
3610
  "name": "Header",
3685
3611
  "status": "alpha",
3686
- "a11yReviewed": false,
3612
+ "a11yReviewed": "2025-01-08",
3687
3613
  "stories": [
3688
3614
  {
3689
3615
  "id": "components-header--default",
3690
- "code": "() => (\n <Header>\n <Header.Item>\n <Header.Link\n href=\"#\"\n sx={{\n fontSize: 2,\n }}\n >\n <Octicon\n icon={MarkGithubIcon}\n size={32}\n sx={{\n mr: 2,\n }}\n />\n <span>GitHub</span>\n </Header.Link>\n </Header.Item>\n <Header.Item full>Menu</Header.Item>\n <Header.Item\n sx={{\n mr: 0,\n }}\n >\n <Avatar\n src=\"https://github.com/octocat.png\"\n size={20}\n square\n alt=\"@octocat\"\n />\n </Header.Item>\n </Header>\n)"
3616
+ "code": "() => (\n <Header>\n <Header.Item>\n <Header.Link href=\"#\" className={classes.HeaderLink}>\n <MarkGithubIcon className={classes.Icon} size={32} />\n <span>GitHub</span>\n </Header.Link>\n </Header.Item>\n <Header.Item full>Menu</Header.Item>\n <Header.Item className={classes.AvatarContainer}>\n <Avatar\n src=\"https://github.com/octocat.png\"\n size={20}\n square\n alt=\"@octocat\"\n />\n </Header.Item>\n </Header>\n)"
3691
3617
  },
3692
3618
  {
3693
3619
  "id": "components-header-features--with-full-size-item",
3694
- "code": "() => (\n <Header>\n <Header.Item>Item 1</Header.Item>\n <Header.Item full>Item 2</Header.Item>\n <Header.Item\n sx={{\n mr: 0,\n }}\n >\n Item 3\n </Header.Item>\n </Header>\n)"
3620
+ "code": "() => (\n <Header>\n <Header.Item>Item 1</Header.Item>\n <Header.Item full>Item 2</Header.Item>\n <Header.Item className={classes.LastItem}>Item 3</Header.Item>\n </Header>\n)"
3695
3621
  },
3696
3622
  {
3697
3623
  "id": "components-header-features--with-links",
@@ -3699,17 +3625,11 @@
3699
3625
  },
3700
3626
  {
3701
3627
  "id": "components-header-features--with-many-items",
3702
- "code": "() => (\n <Header>\n <Header.Item>\n <Header.Link\n href=\"#\"\n sx={{\n fontSize: 2,\n }}\n >\n <Octicon\n icon={MarkGithubIcon}\n size={32}\n sx={{\n mr: 2,\n }}\n />\n <span>GitHub</span>\n </Header.Link>\n </Header.Item>\n <Header.Item>Item</Header.Item>\n <Header.Item>Item</Header.Item>\n <Header.Item>Item</Header.Item>\n <Header.Item>Item</Header.Item>\n <Header.Item>Item</Header.Item>\n <Header.Item>Item</Header.Item>\n <Header.Item>Item</Header.Item>\n <Header.Item>Item</Header.Item>\n <Header.Item>Item</Header.Item>\n <Header.Item>Item</Header.Item>\n <Header.Item\n sx={{\n mr: 0,\n }}\n >\n <Avatar\n src=\"https://github.com/octocat.png\"\n size={20}\n square\n alt=\"@octocat\"\n />\n </Header.Item>\n </Header>\n)"
3628
+ "code": "() => (\n <Header>\n <Header.Item>\n <Header.Link className={classes.Logo} href=\"#\">\n <MarkGithubIcon className={classes.Icon} size={32} />\n <span>GitHub</span>\n </Header.Link>\n </Header.Item>\n <Header.Item>Item</Header.Item>\n <Header.Item>Item</Header.Item>\n <Header.Item>Item</Header.Item>\n <Header.Item>Item</Header.Item>\n <Header.Item>Item</Header.Item>\n <Header.Item>Item</Header.Item>\n <Header.Item>Item</Header.Item>\n <Header.Item>Item</Header.Item>\n <Header.Item>Item</Header.Item>\n <Header.Item>Item</Header.Item>\n <Header.Item className={classes.LastItem}>\n <Avatar\n src=\"https://github.com/octocat.png\"\n size={20}\n square\n alt=\"@octocat\"\n />\n </Header.Item>\n </Header>\n)"
3703
3629
  }
3704
3630
  ],
3705
3631
  "importPath": "@primer/react",
3706
- "props": [
3707
- {
3708
- "name": "sx",
3709
- "type": "SystemStyleObject",
3710
- "deprecated": true
3711
- }
3712
- ],
3632
+ "props": [],
3713
3633
  "subcomponents": [
3714
3634
  {
3715
3635
  "name": "Header.Item",
@@ -3719,11 +3639,6 @@
3719
3639
  "type": "string",
3720
3640
  "defaultValue": "",
3721
3641
  "description": "Stretches item to fill the available space"
3722
- },
3723
- {
3724
- "name": "sx",
3725
- "type": "SystemStyleObject",
3726
- "deprecated": true
3727
3642
  }
3728
3643
  ]
3729
3644
  },
@@ -3740,11 +3655,6 @@
3740
3655
  "name": "as",
3741
3656
  "type": "React.ElementType",
3742
3657
  "defaultValue": "\"a\""
3743
- },
3744
- {
3745
- "name": "sx",
3746
- "type": "SystemStyleObject",
3747
- "deprecated": true
3748
3658
  }
3749
3659
  ],
3750
3660
  "passthrough": {
@@ -3759,7 +3669,7 @@
3759
3669
  "id": "heading",
3760
3670
  "name": "Heading",
3761
3671
  "status": "alpha",
3762
- "a11yReviewed": false,
3672
+ "a11yReviewed": "2025-01-08",
3763
3673
  "stories": [
3764
3674
  {
3765
3675
  "id": "components-heading--default",
@@ -3805,7 +3715,7 @@
3805
3715
  "id": "hidden",
3806
3716
  "name": "Hidden",
3807
3717
  "status": "draft",
3808
- "a11yReviewed": false,
3718
+ "a11yReviewed": "2025-01-08",
3809
3719
  "stories": [
3810
3720
  {
3811
3721
  "id": "experimental-components-hidden--default",
@@ -3813,11 +3723,11 @@
3813
3723
  },
3814
3724
  {
3815
3725
  "id": "experimental-components-hidden-features--hide-content",
3816
- "code": "() => (\n <Box>\n <Hidden when=\"narrow\">\n {' '}\n This value is shown in regular and wide viewports\n </Hidden>\n <Hidden when=\"regular\">\n {' '}\n This value is shown in narrow and wide viewports\n </Hidden>\n <Hidden when=\"wide\">\n {' '}\n This value is shown in narrow and regular viewports\n </Hidden>\n </Box>\n)"
3726
+ "code": "() => (\n <div>\n <Hidden when=\"narrow\">\n {' '}\n This value is shown in regular and wide viewports\n </Hidden>\n <Hidden when=\"regular\">\n {' '}\n This value is shown in narrow and wide viewports\n </Hidden>\n <Hidden when=\"wide\">\n {' '}\n This value is shown in narrow and regular viewports\n </Hidden>\n </div>\n)"
3817
3727
  },
3818
3728
  {
3819
3729
  "id": "experimental-components-hidden-features--render-content-responsively",
3820
- "code": "() => (\n <Box>\n <Hidden when=\"narrow\">\n <Button variant=\"primary\">\n I am visible when the viewport is regular or wide viewport\n </Button>\n </Hidden>\n\n <Hidden when={['regular', 'wide']}>\n <Button variant=\"primary\">\n I am visible when the viewport is narrow\n </Button>\n </Hidden>\n </Box>\n)"
3730
+ "code": "() => (\n <div>\n <Hidden when=\"narrow\">\n <Button variant=\"primary\">\n I am visible when the viewport is regular or wide viewport\n </Button>\n </Hidden>\n\n <Hidden when={['regular', 'wide']}>\n <Button variant=\"primary\">\n I am visible when the viewport is narrow\n </Button>\n </Hidden>\n </div>\n)"
3821
3731
  }
3822
3732
  ],
3823
3733
  "importPath": "@primer/react/experimental",
@@ -3836,7 +3746,7 @@
3836
3746
  "id": "inline_message",
3837
3747
  "name": "InlineMessage",
3838
3748
  "status": "alpha",
3839
- "a11yReviewed": false,
3749
+ "a11yReviewed": "2025-01-08",
3840
3750
  "importPath": "@primer/react/experimental",
3841
3751
  "stories": [
3842
3752
  {
@@ -3885,15 +3795,15 @@
3885
3795
  "id": "KeybindingHint",
3886
3796
  "name": "KeybindingHint",
3887
3797
  "status": "draft",
3888
- "a11yReviewed": false,
3798
+ "a11yReviewed": "2025-01-08",
3889
3799
  "stories": [
3890
3800
  {
3891
3801
  "id": "experimental-components-keybindinghint-features--on-emphasis",
3892
- "code": "(args) => (\n <Box\n sx={{\n backgroundColor: 'var(--bgColor-black)',\n p: 3,\n }}\n >\n <KeybindingHint {...args} />\n </Box>\n)"
3802
+ "code": "(args) => (\n <div className={classes.EmphasisBackground}>\n <KeybindingHint {...args} />\n </div>\n)"
3893
3803
  },
3894
3804
  {
3895
3805
  "id": "experimental-components-keybindinghint-features--on-primary",
3896
- "code": "(args) => (\n <Box\n sx={{\n backgroundColor: 'var(--button-primary-bgColor-rest)',\n p: 3,\n }}\n >\n <KeybindingHint {...args} />\n </Box>\n)"
3806
+ "code": "(args) => (\n <div className={classes.PrimaryBackground}>\n <KeybindingHint {...args} />\n </div>\n)"
3897
3807
  }
3898
3808
  ],
3899
3809
  "importPath": "@primer/react",
@@ -3929,7 +3839,7 @@
3929
3839
  "id": "label",
3930
3840
  "name": "Label",
3931
3841
  "status": "alpha",
3932
- "a11yReviewed": false,
3842
+ "a11yReviewed": "2025-01-08",
3933
3843
  "stories": [
3934
3844
  {
3935
3845
  "id": "components-label--default",
@@ -4002,7 +3912,7 @@
4002
3912
  "id": "label_group",
4003
3913
  "name": "LabelGroup",
4004
3914
  "status": "alpha",
4005
- "a11yReviewed": false,
3915
+ "a11yReviewed": "2025-01-08",
4006
3916
  "stories": [
4007
3917
  {
4008
3918
  "id": "components-labelgroup--default",
@@ -4057,7 +3967,7 @@
4057
3967
  "id": "link",
4058
3968
  "name": "Link",
4059
3969
  "status": "alpha",
4060
- "a11yReviewed": false,
3970
+ "a11yReviewed": "2025-01-08",
4061
3971
  "stories": [
4062
3972
  {
4063
3973
  "id": "components-link--default",
@@ -4131,7 +4041,7 @@
4131
4041
  "id": "nav_list",
4132
4042
  "name": "NavList",
4133
4043
  "status": "alpha",
4134
- "a11yReviewed": false,
4044
+ "a11yReviewed": "2025-01-08",
4135
4045
  "stories": [],
4136
4046
  "importPath": "@primer/react",
4137
4047
  "props": [
@@ -4451,19 +4361,19 @@
4451
4361
  "id": "overlay",
4452
4362
  "name": "Overlay",
4453
4363
  "status": "alpha",
4454
- "a11yReviewed": false,
4364
+ "a11yReviewed": "2025-01-08",
4455
4365
  "stories": [
4456
4366
  {
4457
4367
  "id": "private-components-overlay--default",
4458
- "code": "(args: Args) => {\n const [isOpen, setIsOpen] = useState(false)\n const buttonRef = useRef<HTMLButtonElement>(null)\n const confirmButtonRef = useRef<HTMLButtonElement>(null)\n const anchorRef = useRef<HTMLDivElement>(null)\n const closeOverlay = () => setIsOpen(false)\n const containerRef = useRef<HTMLDivElement>(null)\n useFocusTrap({\n containerRef,\n disabled: !isOpen,\n })\n return (\n <Box ref={anchorRef}>\n <Button\n ref={buttonRef}\n onClick={() => {\n setIsOpen(!isOpen)\n }}\n >\n Open overlay\n </Button>\n {isOpen || args.open ? (\n <Overlay\n initialFocusRef={confirmButtonRef}\n returnFocusRef={buttonRef}\n ignoreClickRefs={[buttonRef]}\n onEscape={closeOverlay}\n onClickOutside={closeOverlay}\n width=\"large\"\n anchorSide=\"inside-right\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label=\"Sample overlay\"\n ref={containerRef}\n >\n <Box\n sx={{\n height: '100vh',\n maxWidth: 'calc(-1rem + 100vw)',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n }}\n >\n <IconButton\n aria-label=\"Close\"\n onClick={closeOverlay}\n icon={XIcon}\n variant=\"invisible\"\n sx={{\n position: 'absolute',\n left: '5px',\n top: '5px',\n }}\n />\n <Text>Look! an overlay</Text>\n </Box>\n </Overlay>\n ) : null}\n </Box>\n )\n}"
4368
+ "code": "(args: Args) => {\n const [isOpen, setIsOpen] = useState(false)\n const buttonRef = useRef<HTMLButtonElement>(null)\n const confirmButtonRef = useRef<HTMLButtonElement>(null)\n const anchorRef = useRef<HTMLDivElement>(null)\n const closeOverlay = () => setIsOpen(false)\n const containerRef = useRef<HTMLDivElement>(null)\n useFocusTrap({\n containerRef,\n disabled: !isOpen,\n })\n return (\n <div ref={anchorRef}>\n <Button\n ref={buttonRef}\n onClick={() => {\n setIsOpen(!isOpen)\n }}\n >\n Open overlay\n </Button>\n {isOpen || args.open ? (\n <Overlay\n initialFocusRef={confirmButtonRef}\n returnFocusRef={buttonRef}\n ignoreClickRefs={[buttonRef]}\n onEscape={closeOverlay}\n onClickOutside={closeOverlay}\n width=\"large\"\n anchorSide=\"inside-right\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label=\"Sample overlay\"\n ref={containerRef}\n >\n <div className={classes.FullHeightContent}>\n <IconButton\n aria-label=\"Close\"\n onClick={closeOverlay}\n icon={XIcon}\n variant=\"invisible\"\n className={classes.CloseButtonOverlay}\n />\n <Text>Look! an overlay</Text>\n </div>\n </Overlay>\n ) : null}\n </div>\n )\n}"
4459
4369
  },
4460
4370
  {
4461
4371
  "id": "private-components-overlay-features--dialog-overlay",
4462
- "code": "({ anchorSide, role, open }: Args) => {\n const [isOpen, setIsOpen] = useState(false)\n const buttonRef = useRef<HTMLButtonElement>(null)\n const containerRef = useRef<HTMLDivElement>(null)\n const confirmButtonRef = useRef<HTMLButtonElement>(null)\n const anchorRef = useRef<HTMLDivElement>(null)\n const closeOverlay = () => setIsOpen(false)\n useFocusTrap({\n containerRef,\n disabled: !isOpen,\n initialFocusRef: confirmButtonRef,\n returnFocusRef: buttonRef,\n })\n return (\n <Box ref={anchorRef}>\n <Button ref={buttonRef} onClick={() => setIsOpen(!isOpen)}>\n open overlay\n </Button>\n {isOpen || open ? (\n <Overlay\n initialFocusRef={confirmButtonRef}\n returnFocusRef={buttonRef}\n ignoreClickRefs={[buttonRef]}\n onEscape={closeOverlay}\n onClickOutside={closeOverlay}\n width=\"small\"\n anchorSide={anchorSide}\n role={role}\n aria-modal={role === 'dialog' ? 'true' : undefined}\n aria-label={role === 'dialog' ? 'Confirmation screen' : undefined}\n ref={containerRef}\n >\n <Box display=\"flex\" flexDirection=\"column\" p={2}>\n <Text>Are you sure?</Text>\n <Button variant=\"danger\" onClick={closeOverlay}>\n Cancel\n </Button>\n <Button onClick={closeOverlay} ref={confirmButtonRef}>\n Confirm\n </Button>\n </Box>\n </Overlay>\n ) : null}\n </Box>\n )\n}"
4372
+ "code": "({ anchorSide, role, open }: Args) => {\n const [isOpen, setIsOpen] = useState(false)\n const buttonRef = useRef<HTMLButtonElement>(null)\n const containerRef = useRef<HTMLDivElement>(null)\n const confirmButtonRef = useRef<HTMLButtonElement>(null)\n const anchorRef = useRef<HTMLDivElement>(null)\n const closeOverlay = () => setIsOpen(false)\n useFocusTrap({\n containerRef,\n disabled: !isOpen,\n initialFocusRef: confirmButtonRef,\n returnFocusRef: buttonRef,\n })\n return (\n <div ref={anchorRef}>\n <Button ref={buttonRef} onClick={() => setIsOpen(!isOpen)}>\n open overlay\n </Button>\n {isOpen || open ? (\n <Overlay\n initialFocusRef={confirmButtonRef}\n returnFocusRef={buttonRef}\n ignoreClickRefs={[buttonRef]}\n onEscape={closeOverlay}\n onClickOutside={closeOverlay}\n width=\"small\"\n anchorSide={anchorSide}\n role={role}\n aria-modal={role === 'dialog' ? 'true' : undefined}\n aria-label={role === 'dialog' ? 'Confirmation screen' : undefined}\n ref={containerRef}\n >\n <div className={classes.DialogContent}>\n <Text>Are you sure?</Text>\n <Button variant=\"danger\" onClick={closeOverlay}>\n Cancel\n </Button>\n <Button onClick={closeOverlay} ref={confirmButtonRef}>\n Confirm\n </Button>\n </div>\n </Overlay>\n ) : null}\n </div>\n )\n}"
4463
4373
  },
4464
4374
  {
4465
4375
  "id": "private-components-overlay-features--positioned-overlays",
4466
- "code": "({ right, role, open }: Args) => {\n const [isOpen, setIsOpen] = useState(false)\n const [direction, setDirection] = useState<'left' | 'right'>(\n right ? 'right' : 'left',\n )\n const buttonRef = useRef<HTMLButtonElement>(null)\n const confirmButtonRef = useRef<HTMLButtonElement>(null)\n const anchorRef = useRef<HTMLDivElement>(null)\n const closeOverlay = () => setIsOpen(false)\n const containerRef = useRef<HTMLDivElement>(null)\n useFocusTrap({\n containerRef,\n disabled: !isOpen,\n })\n return (\n <Box ref={anchorRef}>\n <Button\n ref={buttonRef}\n onClick={() => {\n setIsOpen(!isOpen)\n setDirection('left')\n }}\n >\n Open left overlay\n </Button>\n <Button\n ref={buttonRef}\n onClick={() => {\n setIsOpen(!isOpen)\n setDirection('right')\n }}\n sx={{\n mt: 2,\n }}\n >\n Open right overlay\n </Button>\n {isOpen || open ? (\n direction === 'left' ? (\n <Overlay\n initialFocusRef={confirmButtonRef}\n returnFocusRef={buttonRef}\n ignoreClickRefs={[buttonRef]}\n onEscape={closeOverlay}\n onClickOutside={closeOverlay}\n width=\"auto\"\n anchorSide=\"inside-right\"\n role={role}\n aria-modal={role === 'dialog' ? 'true' : undefined}\n aria-label={role === 'dialog' ? 'Left aligned overlay' : undefined}\n ref={containerRef}\n >\n <Box\n sx={{\n width: ['350px', '500px'],\n }}\n >\n <Box\n sx={{\n height: '100vh',\n maxWidth: 'calc(-1rem + 100vw)',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n }}\n >\n <IconButton\n aria-label=\"Close\"\n onClick={closeOverlay}\n icon={XIcon}\n variant=\"invisible\"\n sx={{\n position: 'absolute',\n left: '5px',\n top: '5px',\n }}\n />\n <Text>Look! left aligned</Text>\n </Box>\n </Box>\n </Overlay>\n ) : (\n <Overlay\n initialFocusRef={confirmButtonRef}\n returnFocusRef={buttonRef}\n ignoreClickRefs={[buttonRef]}\n onEscape={closeOverlay}\n onClickOutside={closeOverlay}\n width=\"auto\"\n anchorSide={'inside-left'}\n right={0}\n position=\"fixed\"\n role={role}\n aria-modal={role === 'dialog' ? 'true' : undefined}\n aria-label={role === 'dialog' ? 'Right aligned overlay' : undefined}\n ref={containerRef}\n >\n <Box\n sx={{\n width: ['350px', '500px'],\n }}\n >\n <Box\n sx={{\n height: '100vh',\n maxWidth: 'calc(-1rem + 100vw)',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n }}\n >\n <IconButton\n aria-label=\"Close\"\n onClick={closeOverlay}\n icon={XIcon}\n variant=\"invisible\"\n sx={{\n position: 'absolute',\n right: '5px',\n top: '5px',\n }}\n />\n <Text>Look! right aligned</Text>\n </Box>\n </Box>\n </Overlay>\n )\n ) : null}\n </Box>\n )\n}"
4376
+ "code": "({ right, role, open }: Args) => {\n const [isOpen, setIsOpen] = useState(false)\n const [direction, setDirection] = useState<'left' | 'right'>(\n right ? 'right' : 'left',\n )\n const buttonRef = useRef<HTMLButtonElement>(null)\n const confirmButtonRef = useRef<HTMLButtonElement>(null)\n const anchorRef = useRef<HTMLDivElement>(null)\n const closeOverlay = () => setIsOpen(false)\n const containerRef = useRef<HTMLDivElement>(null)\n useFocusTrap({\n containerRef,\n disabled: !isOpen,\n })\n return (\n <div ref={anchorRef}>\n <Button\n ref={buttonRef}\n onClick={() => {\n setIsOpen(!isOpen)\n setDirection('left')\n }}\n >\n Open left overlay\n </Button>\n <Button\n ref={buttonRef}\n onClick={() => {\n setIsOpen(!isOpen)\n setDirection('right')\n }}\n sx={{\n mt: 2,\n }}\n >\n Open right overlay\n </Button>\n {isOpen || open ? (\n direction === 'left' ? (\n <Overlay\n initialFocusRef={confirmButtonRef}\n returnFocusRef={buttonRef}\n ignoreClickRefs={[buttonRef]}\n onEscape={closeOverlay}\n onClickOutside={closeOverlay}\n width=\"auto\"\n anchorSide=\"inside-right\"\n role={role}\n aria-modal={role === 'dialog' ? 'true' : undefined}\n aria-label={role === 'dialog' ? 'Left aligned overlay' : undefined}\n ref={containerRef}\n >\n <div className={classes.ResponsiveWidthContainer}>\n <div className={classes.OverlayFullHeight}>\n <IconButton\n aria-label=\"Close\"\n onClick={closeOverlay}\n icon={XIcon}\n variant=\"invisible\"\n className={classes.CloseButtonLeft}\n />\n <Text>Look! left aligned</Text>\n </div>\n </div>\n </Overlay>\n ) : (\n <Overlay\n initialFocusRef={confirmButtonRef}\n returnFocusRef={buttonRef}\n ignoreClickRefs={[buttonRef]}\n onEscape={closeOverlay}\n onClickOutside={closeOverlay}\n width=\"auto\"\n anchorSide={'inside-left'}\n right={0}\n position=\"fixed\"\n role={role}\n aria-modal={role === 'dialog' ? 'true' : undefined}\n aria-label={role === 'dialog' ? 'Right aligned overlay' : undefined}\n ref={containerRef}\n >\n <div className={classes.ResponsiveWidthContainer}>\n <div className={classes.OverlayFullHeight}>\n <IconButton\n aria-label=\"Close\"\n onClick={closeOverlay}\n icon={XIcon}\n variant=\"invisible\"\n className={classes.CloseButtonRight}\n />\n <Text>Look! right aligned</Text>\n </div>\n </div>\n </Overlay>\n )\n ) : null}\n </div>\n )\n}"
4467
4377
  }
4468
4378
  ],
4469
4379
  "importPath": "@primer/react",
@@ -4516,7 +4426,7 @@
4516
4426
  {
4517
4427
  "name": "maxHeight",
4518
4428
  "type": "| 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge'",
4519
- "defaultValue": "",
4429
+ "defaultValue": "100vh",
4520
4430
  "description": "Sets the maximum height of the `Overlay`, pick from our set list of heights. `xsmall` corresponds to `192px`, `small` corresponds to `256px`, `medium` corresponds to `320px`, `large` corresponds to `432px`, `xlarge` corresponds to `600px`."
4521
4431
  },
4522
4432
  {
@@ -4576,7 +4486,7 @@
4576
4486
  "type": "'hidden' | 'scroll' | 'auto' | 'visible'",
4577
4487
  "required": false,
4578
4488
  "description": "",
4579
- "defaultValue": ""
4489
+ "defaultValue": "hidden"
4580
4490
  },
4581
4491
  {
4582
4492
  "name": "preventOverflow",
@@ -4618,55 +4528,55 @@
4618
4528
  "id": "page_header",
4619
4529
  "name": "PageHeader",
4620
4530
  "status": "beta",
4621
- "a11yReviewed": true,
4531
+ "a11yReviewed": "2025-01-08",
4622
4532
  "stories": [
4623
4533
  {
4624
4534
  "id": "components-pageheader-features--has-title-only",
4625
- "code": "() => (\n <Box\n sx={{\n padding: 3,\n }}\n >\n <PageHeader role=\"banner\" aria-label=\"Title\">\n <PageHeader.TitleArea>\n <PageHeader.Title>Title</PageHeader.Title>\n </PageHeader.TitleArea>\n </PageHeader>\n </Box>\n)"
4535
+ "code": "() => (\n <div className={classes.PaddingContainer}>\n <PageHeader role=\"banner\" aria-label=\"Title\">\n <PageHeader.TitleArea>\n <PageHeader.Title>Title</PageHeader.Title>\n </PageHeader.TitleArea>\n </PageHeader>\n </div>\n)"
4626
4536
  },
4627
4537
  {
4628
4538
  "id": "components-pageheader-features--has-large-title",
4629
- "code": "() => (\n <Box\n sx={{\n padding: 3,\n }}\n >\n <PageHeader role=\"banner\" aria-label=\"Title\">\n <PageHeader.TitleArea variant=\"large\">\n <PageHeader.Title>Title</PageHeader.Title>\n </PageHeader.TitleArea>\n </PageHeader>\n </Box>\n)"
4539
+ "code": "() => (\n <div className={classes.PaddingContainer}>\n <PageHeader role=\"banner\" aria-label=\"Title\">\n <PageHeader.TitleArea variant=\"large\">\n <PageHeader.Title>Title</PageHeader.Title>\n </PageHeader.TitleArea>\n </PageHeader>\n </div>\n)"
4630
4540
  },
4631
4541
  {
4632
4542
  "id": "components-pageheader-features--with-leading-and-trailing-visuals",
4633
- "code": "() => (\n <Box\n sx={{\n padding: 3,\n }}\n >\n <PageHeader role=\"banner\" aria-label=\"Title\">\n <PageHeader.TitleArea>\n <PageHeader.LeadingVisual>\n <GitPullRequestIcon />\n </PageHeader.LeadingVisual>\n <PageHeader.Title>Title</PageHeader.Title>\n <PageHeader.TrailingVisual>\n <Label>Beta</Label>\n </PageHeader.TrailingVisual>\n </PageHeader.TitleArea>\n </PageHeader>\n </Box>\n)"
4543
+ "code": "() => (\n <div className={classes.PaddingContainer}>\n <PageHeader role=\"banner\" aria-label=\"Title\">\n <PageHeader.TitleArea>\n <PageHeader.LeadingVisual>\n <GitPullRequestIcon />\n </PageHeader.LeadingVisual>\n <PageHeader.Title>Title</PageHeader.Title>\n <PageHeader.TrailingVisual>\n <Label>Beta</Label>\n </PageHeader.TrailingVisual>\n </PageHeader.TitleArea>\n </PageHeader>\n </div>\n)"
4634
4544
  },
4635
4545
  {
4636
4546
  "id": "components-pageheader-features--with-leading-visual-hidden-on-regular-viewport",
4637
- "code": "() => (\n <Box\n sx={{\n padding: 3,\n }}\n >\n <PageHeader role=\"banner\" aria-label=\"Title\">\n <PageHeader.TitleArea>\n <PageHeader.LeadingVisual\n hidden={{\n regular: true,\n }}\n >\n <GitPullRequestIcon />\n </PageHeader.LeadingVisual>\n <PageHeader.Title>Title</PageHeader.Title>\n <PageHeader.TrailingVisual>\n <Label>Beta</Label>\n </PageHeader.TrailingVisual>\n </PageHeader.TitleArea>\n </PageHeader>\n </Box>\n)"
4547
+ "code": "() => (\n <div className={classes.PaddingContainer}>\n <PageHeader role=\"banner\" aria-label=\"Title\">\n <PageHeader.TitleArea>\n <PageHeader.LeadingVisual\n hidden={{\n regular: true,\n }}\n >\n <GitPullRequestIcon />\n </PageHeader.LeadingVisual>\n <PageHeader.Title>Title</PageHeader.Title>\n <PageHeader.TrailingVisual>\n <Label>Beta</Label>\n </PageHeader.TrailingVisual>\n </PageHeader.TitleArea>\n </PageHeader>\n </div>\n)"
4638
4548
  },
4639
4549
  {
4640
4550
  "id": "components-pageheader-features--with-actions",
4641
- "code": "() => (\n <Box\n sx={{\n padding: 3,\n }}\n >\n <PageHeader role=\"banner\" aria-label=\"Title\">\n <PageHeader.TitleArea>\n <PageHeader.Title>Title</PageHeader.Title>\n </PageHeader.TitleArea>\n <PageHeader.Actions>\n <IconButton aria-label=\"Workflows\" icon={WorkflowIcon} />\n <IconButton aria-label=\"Insights\" icon={GraphIcon} />\n <Button variant=\"primary\" trailingVisual={TriangleDownIcon}>\n Add Item\n </Button>\n <IconButton aria-label=\"Settings\" icon={GearIcon} />\n </PageHeader.Actions>\n </PageHeader>\n </Box>\n)"
4551
+ "code": "() => (\n <div className={classes.PaddingContainer}>\n <PageHeader role=\"banner\" aria-label=\"Title\">\n <PageHeader.TitleArea>\n <PageHeader.Title>Title</PageHeader.Title>\n </PageHeader.TitleArea>\n <PageHeader.Actions>\n <IconButton aria-label=\"Workflows\" icon={WorkflowIcon} />\n <IconButton aria-label=\"Insights\" icon={GraphIcon} />\n <Button variant=\"primary\" trailingVisual={TriangleDownIcon}>\n Add Item\n </Button>\n <IconButton aria-label=\"Settings\" icon={GearIcon} />\n </PageHeader.Actions>\n </PageHeader>\n </div>\n)"
4642
4552
  },
4643
4553
  {
4644
4554
  "id": "components-pageheader-features--with-description-slot",
4645
- "code": "() => (\n <Box\n sx={{\n padding: 3,\n }}\n >\n <PageHeader role=\"banner\" aria-label=\"Add-pageheader-docs\">\n <PageHeader.TitleArea>\n <PageHeader.Title>add-pageheader-docs</PageHeader.Title>\n </PageHeader.TitleArea>\n <PageHeader.Description>\n <Text\n sx={{\n fontSize: 1,\n color: 'fg.muted',\n }}\n >\n <Link\n href=\"https://github.com/broccolinisoup\"\n sx={{\n fontWeight: 'bold',\n }}\n >\n broccolinisoup\n </Link>{' '}\n created this branch 5 days ago · 14 commits · updated today\n </Text>\n </PageHeader.Description>\n </PageHeader>\n </Box>\n)"
4555
+ "code": "() => (\n <div className={classes.PaddingContainer}>\n <PageHeader role=\"banner\" aria-label=\"Add-pageheader-docs\">\n <PageHeader.TitleArea>\n <PageHeader.Title>add-pageheader-docs</PageHeader.Title>\n </PageHeader.TitleArea>\n <PageHeader.Description>\n <Text className={classes.DescriptionText}>\n <Link\n href=\"https://github.com/broccolinisoup\"\n className={classes.BoldLink}\n >\n broccolinisoup\n </Link>{' '}\n created this branch 5 days ago · 14 commits · updated today\n </Text>\n </PageHeader.Description>\n </PageHeader>\n </div>\n)"
4646
4556
  },
4647
4557
  {
4648
4558
  "id": "components-pageheader-features--with-navigation-slot",
4649
- "code": "() => (\n <Box\n sx={{\n padding: 3,\n }}\n >\n <PageHeader role=\"banner\" aria-label=\"Pull request title\">\n <PageHeader.TitleArea>\n <PageHeader.Title>Pull request title</PageHeader.Title>\n </PageHeader.TitleArea>\n <PageHeader.Navigation>\n <UnderlineNav aria-label=\"Pull Request\">\n <UnderlineNav.Item\n icon={CommentDiscussionIcon}\n counter=\"12\"\n aria-current=\"page\"\n >\n Conversation\n </UnderlineNav.Item>\n <UnderlineNav.Item counter={3} icon={GitCommitIcon}>\n Commits\n </UnderlineNav.Item>\n <UnderlineNav.Item counter={7} icon={ChecklistIcon}>\n Checks\n </UnderlineNav.Item>\n <UnderlineNav.Item counter={4} icon={FileDiffIcon}>\n Files Changes\n </UnderlineNav.Item>\n </UnderlineNav>\n </PageHeader.Navigation>\n </PageHeader>\n </Box>\n)"
4559
+ "code": "() => (\n <div className={classes.PaddingContainer}>\n <PageHeader role=\"banner\" aria-label=\"Pull request title\">\n <PageHeader.TitleArea>\n <PageHeader.Title>Pull request title</PageHeader.Title>\n </PageHeader.TitleArea>\n <PageHeader.Navigation>\n <UnderlineNav aria-label=\"Pull Request\">\n <UnderlineNav.Item\n icon={CommentDiscussionIcon}\n counter=\"12\"\n aria-current=\"page\"\n >\n Conversation\n </UnderlineNav.Item>\n <UnderlineNav.Item counter={3} icon={GitCommitIcon}>\n Commits\n </UnderlineNav.Item>\n <UnderlineNav.Item counter={7} icon={ChecklistIcon}>\n Checks\n </UnderlineNav.Item>\n <UnderlineNav.Item counter={4} icon={FileDiffIcon}>\n Files Changes\n </UnderlineNav.Item>\n </UnderlineNav>\n </PageHeader.Navigation>\n </PageHeader>\n </div>\n)"
4650
4560
  },
4651
4561
  {
4652
4562
  "id": "components-pageheader-features--with-custom-navigation",
4653
- "code": "() => (\n <Box\n sx={{\n padding: 3,\n }}\n >\n <PageHeader role=\"banner\" aria-label=\"Pull request title\">\n <PageHeader.TitleArea>\n <PageHeader.Title>Pull request title</PageHeader.Title>\n </PageHeader.TitleArea>\n <PageHeader.Navigation as=\"nav\" aria-label=\"Item list\">\n <Box\n as=\"ul\"\n sx={{\n display: 'flex',\n gap: '8px',\n listStyle: 'none',\n paddingY: 0,\n paddingX: 3,\n }}\n role=\"list\"\n >\n <li>\n <Link href=\"https://github.com/primer/react\" aria-current=\"page\">\n Item 1\n </Link>\n </li>\n <li>\n <Link href=\"https://github.com/primer/react/pulls\">Item 2</Link>\n </li>\n </Box>\n </PageHeader.Navigation>\n </PageHeader>\n </Box>\n)"
4563
+ "code": "() => (\n <div className={classes.PaddingContainer}>\n <PageHeader role=\"banner\" aria-label=\"Pull request title\">\n <PageHeader.TitleArea>\n <PageHeader.Title>Pull request title</PageHeader.Title>\n </PageHeader.TitleArea>\n <PageHeader.Navigation as=\"nav\" aria-label=\"Item list\">\n <ul className={classes.CustomNavigationList}>\n <li>\n <Link href=\"https://github.com/primer/react\" aria-current=\"page\">\n Item 1\n </Link>\n </li>\n <li>\n <Link href=\"https://github.com/primer/react/pulls\">Item 2</Link>\n </li>\n </ul>\n </PageHeader.Navigation>\n </PageHeader>\n </div>\n)"
4654
4564
  },
4655
4565
  {
4656
4566
  "id": "components-pageheader-features--with-leading-and-trailing-actions",
4657
- "code": "() => (\n <Box\n sx={{\n padding: 3,\n }}\n >\n <PageHeader role=\"banner\" aria-label=\"Title\">\n <PageHeader.TitleArea>\n <PageHeader.Title>Title</PageHeader.Title>\n </PageHeader.TitleArea>\n <PageHeader.LeadingAction>\n <IconButton\n aria-label=\"Expand\"\n icon={SidebarExpandIcon}\n variant=\"invisible\"\n />\n </PageHeader.LeadingAction>\n <PageHeader.TrailingAction>\n <IconButton aria-label=\"Edit\" icon={PencilIcon} variant=\"invisible\" />\n </PageHeader.TrailingAction>\n </PageHeader>\n </Box>\n)"
4567
+ "code": "() => (\n <div className={classes.PaddingContainer}>\n <PageHeader role=\"banner\" aria-label=\"Title\">\n <PageHeader.TitleArea>\n <PageHeader.Title>Title</PageHeader.Title>\n </PageHeader.TitleArea>\n <PageHeader.LeadingAction>\n <IconButton\n aria-label=\"Expand\"\n icon={SidebarExpandIcon}\n variant=\"invisible\"\n />\n </PageHeader.LeadingAction>\n <PageHeader.TrailingAction>\n <IconButton aria-label=\"Edit\" icon={PencilIcon} variant=\"invisible\" />\n </PageHeader.TrailingAction>\n </PageHeader>\n </div>\n)"
4658
4568
  },
4659
4569
  {
4660
4570
  "id": "components-pageheader-features--with-parent-link-and-actions-of-context-area",
4661
- "code": "() => (\n <Box\n sx={{\n padding: 3,\n }}\n >\n <PageHeader role=\"banner\" aria-label=\"Title\">\n <PageHeader.TitleArea>\n <PageHeader.Title>Title</PageHeader.Title>\n </PageHeader.TitleArea>\n <PageHeader.ContextArea>\n <PageHeader.ParentLink href=\"http://github.com\">\n Parent Link\n </PageHeader.ParentLink>\n\n <PageHeader.ContextAreaActions>\n <Button size=\"small\" trailingAction={TriangleDownIcon}>\n Add File\n </Button>\n <IconButton\n size=\"small\"\n aria-label=\"More Options\"\n icon={KebabHorizontalIcon}\n />\n </PageHeader.ContextAreaActions>\n </PageHeader.ContextArea>\n </PageHeader>\n </Box>\n)"
4571
+ "code": "() => (\n <div className={classes.PaddingContainer}>\n <PageHeader role=\"banner\" aria-label=\"Title\">\n <PageHeader.TitleArea>\n <PageHeader.Title>Title</PageHeader.Title>\n </PageHeader.TitleArea>\n <PageHeader.ContextArea>\n <PageHeader.ParentLink href=\"http://github.com\">\n Parent Link\n </PageHeader.ParentLink>\n\n <PageHeader.ContextAreaActions>\n <Button size=\"small\" trailingAction={TriangleDownIcon}>\n Add File\n </Button>\n <IconButton\n size=\"small\"\n aria-label=\"More Options\"\n icon={KebabHorizontalIcon}\n />\n </PageHeader.ContextAreaActions>\n </PageHeader.ContextArea>\n </PageHeader>\n </div>\n)"
4662
4572
  },
4663
4573
  {
4664
4574
  "id": "components-pageheader-features--with-context-bar-and-actions-of-context-area",
4665
- "code": "() => (\n <Box\n sx={{\n padding: 3,\n }}\n >\n <PageHeader role=\"banner\" aria-label=\"Title\">\n <PageHeader.TitleArea>\n <PageHeader.Title>Title</PageHeader.Title>\n </PageHeader.TitleArea>\n <PageHeader.ContextArea>\n <PageHeader.ContextBar>\n <Breadcrumbs>\n <Breadcrumbs.Item href=\"https://github.com/primer/react/tree/main\">\n react\n </Breadcrumbs.Item>\n <Breadcrumbs.Item href=\"https://github.com/primer/react/tree/main/src\">\n src\n </Breadcrumbs.Item>\n <Breadcrumbs.Item href=\"https://github.com/primer/react/tree/main/src/PageHeader\">\n PageHeader\n </Breadcrumbs.Item>\n <Breadcrumbs.Item href=\"https://github.com/primer/react/blob/main/src/PageHeader/PageHeader.tsx\">\n PageHeader.tsx\n </Breadcrumbs.Item>\n </Breadcrumbs>\n </PageHeader.ContextBar>\n <PageHeader.ContextAreaActions>\n <Button size=\"small\" leadingVisual={GitBranchIcon}>\n Main\n </Button>\n <IconButton\n size=\"small\"\n aria-label=\"More Options\"\n icon={KebabHorizontalIcon}\n />\n </PageHeader.ContextAreaActions>\n </PageHeader.ContextArea>\n </PageHeader>\n </Box>\n)"
4575
+ "code": "() => (\n <div className={classes.PaddingContainer}>\n <PageHeader role=\"banner\" aria-label=\"Title\">\n <PageHeader.TitleArea>\n <PageHeader.Title>Title</PageHeader.Title>\n </PageHeader.TitleArea>\n <PageHeader.ContextArea>\n <PageHeader.ContextBar>\n <Breadcrumbs>\n <Breadcrumbs.Item href=\"https://github.com/primer/react/tree/main\">\n react\n </Breadcrumbs.Item>\n <Breadcrumbs.Item href=\"https://github.com/primer/react/tree/main/src\">\n src\n </Breadcrumbs.Item>\n <Breadcrumbs.Item href=\"https://github.com/primer/react/tree/main/src/PageHeader\">\n PageHeader\n </Breadcrumbs.Item>\n <Breadcrumbs.Item href=\"https://github.com/primer/react/blob/main/src/PageHeader/PageHeader.tsx\">\n PageHeader.tsx\n </Breadcrumbs.Item>\n </Breadcrumbs>\n </PageHeader.ContextBar>\n <PageHeader.ContextAreaActions>\n <Button size=\"small\" leadingVisual={GitBranchIcon}>\n Main\n </Button>\n <IconButton\n size=\"small\"\n aria-label=\"More Options\"\n icon={KebabHorizontalIcon}\n />\n </PageHeader.ContextAreaActions>\n </PageHeader.ContextArea>\n </PageHeader>\n </div>\n)"
4666
4576
  },
4667
4577
  {
4668
4578
  "id": "components-pageheader-features--with-actions-that-have-responsive-content",
4669
- "code": "() => (\n <Box\n sx={{\n padding: 3,\n }}\n >\n <PageHeader role=\"banner\" aria-label=\"Webhooks\">\n <PageHeader.TitleArea>\n <PageHeader.Title as=\"h2\">Webhooks</PageHeader.Title>\n </PageHeader.TitleArea>\n <PageHeader.Actions>\n <Hidden when={['narrow']}>\n <Button variant=\"primary\">New webhook</Button>\n </Hidden>\n <Hidden when={['regular', 'wide']}>\n <Button variant=\"primary\">New</Button>\n </Hidden>\n </PageHeader.Actions>\n </PageHeader>\n </Box>\n)"
4579
+ "code": "() => (\n <div className={classes.PaddingContainer}>\n <PageHeader role=\"banner\" aria-label=\"Webhooks\">\n <PageHeader.TitleArea>\n <PageHeader.Title as=\"h2\">Webhooks</PageHeader.Title>\n </PageHeader.TitleArea>\n <PageHeader.Actions>\n <Hidden when={['narrow']}>\n <Button variant=\"primary\">New webhook</Button>\n </Hidden>\n <Hidden when={['regular', 'wide']}>\n <Button variant=\"primary\">New</Button>\n </Hidden>\n </PageHeader.Actions>\n </PageHeader>\n </div>\n)"
4670
4580
  }
4671
4581
  ],
4672
4582
  "importPath": "@primer/react",
@@ -4694,11 +4604,6 @@
4694
4604
  "type": "AriaRole",
4695
4605
  "description": "The ARIA role to assign to the top-level node of this component."
4696
4606
  },
4697
- {
4698
- "name": "sx",
4699
- "type": "SystemStyleObject",
4700
- "deprecated": true
4701
- },
4702
4607
  {
4703
4608
  "name": "as",
4704
4609
  "type": "React.ElementType",
@@ -4725,11 +4630,6 @@
4725
4630
  "type": "| boolean | { narrow?: boolean regular?: boolean wide?: boolean }",
4726
4631
  "defaultValue": "false",
4727
4632
  "description": "Whether the content is hidden."
4728
- },
4729
- {
4730
- "name": "sx",
4731
- "type": "SystemStyleObject",
4732
- "deprecated": true
4733
4633
  }
4734
4634
  ]
4735
4635
  },
@@ -4759,11 +4659,6 @@
4759
4659
  "type": "| boolean | { narrow?: boolean regular?: boolean wide?: boolean }",
4760
4660
  "defaultValue": "`{ narrow: false regular: true wide: true }`",
4761
4661
  "description": "Whether the parent link is hidden."
4762
- },
4763
- {
4764
- "name": "sx",
4765
- "type": "SystemStyleObject",
4766
- "deprecated": true
4767
4662
  }
4768
4663
  ]
4769
4664
  },
@@ -4781,11 +4676,6 @@
4781
4676
  "type": "| boolean | { narrow?: boolean regular?: boolean wide?: boolean }",
4782
4677
  "defaultValue": "false",
4783
4678
  "description": "Whether the content is hidden."
4784
- },
4785
- {
4786
- "name": "sx",
4787
- "type": "SystemStyleObject",
4788
- "deprecated": true
4789
4679
  }
4790
4680
  ]
4791
4681
  },
@@ -4803,11 +4693,6 @@
4803
4693
  "type": "| boolean | { narrow?: boolean regular?: boolean wide?: boolean }",
4804
4694
  "defaultValue": "false",
4805
4695
  "description": "Whether the content is hidden."
4806
- },
4807
- {
4808
- "name": "sx",
4809
- "type": "SystemStyleObject",
4810
- "deprecated": true
4811
4696
  }
4812
4697
  ]
4813
4698
  },
@@ -4831,11 +4716,6 @@
4831
4716
  "type": "| 'subtitle' | 'medium' | 'large' | { narrow?: | 'subtitle' | 'medium' | 'large' regular?: | 'subtitle' | 'medium' | 'large' wide?: | 'subtitle' | 'medium' | 'large' }",
4832
4717
  "defaultValue": "medium",
4833
4718
  "description": "Default title (medium) is the most common page title size. Use for static titles in most situations.\nLarge variant should be used for user-generated content such as issues, pull requests, or discussions.\nSubtitle variant can be used when a PageHeader.Title is already present in the page, such as in a SplitPageLayout."
4834
- },
4835
- {
4836
- "name": "sx",
4837
- "type": "SystemStyleObject",
4838
- "deprecated": true
4839
4719
  }
4840
4720
  ]
4841
4721
  },
@@ -4853,11 +4733,6 @@
4853
4733
  "type": "| boolean | { narrow?: boolean regular?: boolean wide?: boolean }",
4854
4734
  "defaultValue": "false",
4855
4735
  "description": "Whether the content is hidden."
4856
- },
4857
- {
4858
- "name": "sx",
4859
- "type": "SystemStyleObject",
4860
- "deprecated": true
4861
4736
  }
4862
4737
  ]
4863
4738
  },
@@ -4875,11 +4750,6 @@
4875
4750
  "type": "| boolean | { narrow?: boolean regular?: boolean wide?: boolean }",
4876
4751
  "defaultValue": "false",
4877
4752
  "description": "Whether the content is hidden."
4878
- },
4879
- {
4880
- "name": "sx",
4881
- "type": "SystemStyleObject",
4882
- "deprecated": true
4883
4753
  }
4884
4754
  ]
4885
4755
  },
@@ -4898,11 +4768,6 @@
4898
4768
  "defaultValue": "false",
4899
4769
  "description": "Whether the content is hidden."
4900
4770
  },
4901
- {
4902
- "name": "sx",
4903
- "type": "SystemStyleObject",
4904
- "deprecated": true
4905
- },
4906
4771
  {
4907
4772
  "name": "as",
4908
4773
  "type": "React.ElementType",
@@ -4924,11 +4789,6 @@
4924
4789
  "type": "| boolean | { narrow?: boolean regular?: boolean wide?: boolean }",
4925
4790
  "defaultValue": "false",
4926
4791
  "description": "Whether the content is hidden."
4927
- },
4928
- {
4929
- "name": "sx",
4930
- "type": "SystemStyleObject",
4931
- "deprecated": true
4932
4792
  }
4933
4793
  ]
4934
4794
  },
@@ -4946,11 +4806,6 @@
4946
4806
  "type": "| boolean | { narrow?: boolean regular?: boolean wide?: boolean }",
4947
4807
  "defaultValue": "false",
4948
4808
  "description": "Whether the content is hidden."
4949
- },
4950
- {
4951
- "name": "sx",
4952
- "type": "SystemStyleObject",
4953
- "deprecated": true
4954
4809
  }
4955
4810
  ]
4956
4811
  },
@@ -4968,11 +4823,6 @@
4968
4823
  "type": "| boolean | { narrow?: boolean regular?: boolean wide?: boolean }",
4969
4824
  "defaultValue": "false",
4970
4825
  "description": "Whether the content is hidden."
4971
- },
4972
- {
4973
- "name": "sx",
4974
- "type": "SystemStyleObject",
4975
- "deprecated": true
4976
4826
  }
4977
4827
  ]
4978
4828
  },
@@ -4990,11 +4840,6 @@
4990
4840
  "type": "| boolean | { narrow?: boolean regular?: boolean wide?: boolean }",
4991
4841
  "defaultValue": "false",
4992
4842
  "description": "Whether the content is hidden."
4993
- },
4994
- {
4995
- "name": "sx",
4996
- "type": "SystemStyleObject",
4997
- "deprecated": true
4998
4843
  }
4999
4844
  ]
5000
4845
  },
@@ -5012,11 +4857,6 @@
5012
4857
  "type": "| boolean | { narrow?: boolean regular?: boolean wide?: boolean }",
5013
4858
  "defaultValue": "false",
5014
4859
  "description": "Whether the content is hidden."
5015
- },
5016
- {
5017
- "name": "sx",
5018
- "type": "SystemStyleObject",
5019
- "deprecated": true
5020
4860
  }
5021
4861
  ]
5022
4862
  },
@@ -5050,11 +4890,6 @@
5050
4890
  "type": "| boolean | { narrow?: boolean regular?: boolean wide?: boolean }",
5051
4891
  "defaultValue": "false",
5052
4892
  "description": "Whether the content is hidden."
5053
- },
5054
- {
5055
- "name": "sx",
5056
- "type": "SystemStyleObject",
5057
- "deprecated": true
5058
4893
  }
5059
4894
  ]
5060
4895
  }
@@ -5065,7 +4900,7 @@
5065
4900
  "id": "page_layout",
5066
4901
  "name": "PageLayout",
5067
4902
  "status": "alpha",
5068
- "a11yReviewed": true,
4903
+ "a11yReviewed": "2025-01-08",
5069
4904
  "stories": [
5070
4905
  {
5071
4906
  "id": "components-pagelayout--default",
@@ -5073,19 +4908,19 @@
5073
4908
  },
5074
4909
  {
5075
4910
  "id": "components-pagelayout-features--pull-request-page",
5076
- "code": "() => (\n <PageLayout>\n <PageLayout.Header>\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'column',\n gap: 3,\n }}\n >\n <Box>\n <Heading\n as=\"h1\"\n sx={{\n fontWeight: 'normal',\n }}\n >\n Input validation styles{' '}\n <Text\n sx={{\n color: 'fg.muted',\n fontWeight: 'light',\n }}\n >\n #1831\n </Text>\n </Heading>\n <Box\n sx={{\n display: 'flex',\n gap: 2,\n alignItems: 'center',\n }}\n >\n <StateLabel status=\"pullOpened\">Open</StateLabel>\n <Text\n sx={{\n fontSize: 1,\n color: 'fg.muted',\n }}\n >\n <Link\n href=\"#\"\n muted\n sx={{\n fontWeight: 'bold',\n }}\n >\n mperrotti\n </Link>{' '}\n wants to merge 3 commits into{' '}\n <BranchName href=\"#\">main</BranchName> from{' '}\n <BranchName href=\"#\">mp/validation-styles</BranchName>\n </Text>\n </Box>\n </Box>\n <TabNav>\n <TabNav.Link href=\"#\" selected>\n Conversation\n </TabNav.Link>\n <TabNav.Link href=\"#\">Commits</TabNav.Link>\n <TabNav.Link href=\"#\">Checks</TabNav.Link>\n <TabNav.Link href=\"#\">Files changed</TabNav.Link>\n </TabNav>\n </Box>\n </PageLayout.Header>\n <PageLayout.Content>\n <Box\n sx={{\n border: '1px solid',\n borderRadius: 2,\n borderColor: 'border.default',\n height: 200,\n }}\n ></Box>\n <Box\n sx={{\n maxWidth: '100%',\n overflowX: 'auto',\n border: '1px solid',\n whiteSpace: 'nowrap',\n borderColor: 'border.default',\n mt: 3,\n p: 3,\n borderRadius: 2,\n }}\n tabIndex={0}\n >\n This box has really long content. If it is too long, it will cause x\n overflow and should show a scrollbar. When this overflows, it should not\n break to overall page layout!\n </Box>\n </PageLayout.Content>\n <PageLayout.Pane aria-label=\"Side pane\">\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'column',\n gap: 3,\n }}\n >\n <Box>\n <Text\n sx={{\n fontSize: 0,\n fontWeight: 'bold',\n display: 'block',\n color: 'fg.muted',\n }}\n >\n Assignees\n </Text>\n <Text\n sx={{\n fontSize: 0,\n color: 'fg.muted',\n lineHeight: 'condensed',\n }}\n >\n No one –{' '}\n <Link href=\"#\" muted>\n assign yourself\n </Link>\n </Text>\n </Box>\n <Box\n role=\"separator\"\n sx={{\n width: '100%',\n height: 1,\n backgroundColor: 'border.default',\n }}\n ></Box>\n <Box>\n <Text\n sx={{\n fontSize: 0,\n fontWeight: 'bold',\n display: 'block',\n color: 'fg.muted',\n }}\n >\n Labels\n </Text>\n <Text\n sx={{\n fontSize: 0,\n color: 'fg.muted',\n lineHeight: 'condensed',\n }}\n >\n None yet\n </Text>\n </Box>\n </Box>\n </PageLayout.Pane>\n </PageLayout>\n)"
4911
+ "code": "() => (\n <PageLayout>\n <PageLayout.Header>\n <div className={classes.HeaderStack}>\n <div>\n <Heading as=\"h1\" className={classes.TitleHeading}>\n Input validation styles{' '}\n <Text className={classes.TitleSubdued}>#1831</Text>\n </Heading>\n <div className={classes.StatusRow}>\n <StateLabel status=\"pullOpened\">Open</StateLabel>\n <Text className={classes.StatusMeta}>\n <Link href=\"#\" muted className={classes.BoldMetaLink}>\n mperrotti\n </Link>{' '}\n wants to merge 3 commits into{' '}\n <BranchName href=\"#\">main</BranchName> from{' '}\n <BranchName href=\"#\">mp/validation-styles</BranchName>\n </Text>\n </div>\n </div>\n <TabNav>\n <TabNav.Link href=\"#\" selected>\n Conversation\n </TabNav.Link>\n <TabNav.Link href=\"#\">Commits</TabNav.Link>\n <TabNav.Link href=\"#\">Checks</TabNav.Link>\n <TabNav.Link href=\"#\">Files changed</TabNav.Link>\n </TabNav>\n </div>\n </PageLayout.Header>\n <PageLayout.Content>\n <div className={classes.ContentBox}></div>\n <div className={classes.ScrollBox} tabIndex={0}>\n This box has really long content. If it is too long, it will cause x\n overflow and should show a scrollbar. When this overflows, it should not\n break to overall page layout!\n </div>\n </PageLayout.Content>\n <PageLayout.Pane aria-label=\"Side pane\">\n <div className={classes.PaneStack}>\n <div>\n <Text className={classes.PaneSectionHeading}>Assignees</Text>\n <Text className={classes.PaneMetaText}>\n No one –{' '}\n <Link href=\"#\" muted>\n assign yourself\n </Link>\n </Text>\n </div>\n <div role=\"separator\" className={classes.PaneSeparator}></div>\n <div>\n <Text className={classes.PaneSectionHeading}>Labels</Text>\n <Text className={classes.PaneMetaText}>None yet</Text>\n </div>\n </div>\n </PageLayout.Pane>\n </PageLayout>\n)"
5077
4912
  },
5078
4913
  {
5079
4914
  "id": "components-pagelayout-features--sticky-pane",
5080
- "code": "(args) => (\n <PageLayout\n rowGap=\"none\"\n columnGap=\"none\"\n padding=\"none\"\n containerWidth=\"full\"\n >\n <PageLayout.Header padding=\"normal\" divider=\"line\">\n <Placeholder label=\"Header\" height={64} />\n </PageLayout.Header>\n <PageLayout.Content padding=\"normal\" width=\"large\">\n <Box\n sx={{\n display: 'grid',\n gap: 3,\n }}\n >\n {Array.from({\n length: args.numParagraphsInContent,\n }).map((_, i) => {\n const testId = `content${i}`\n return (\n <Box\n key={i}\n as=\"p\"\n sx={{\n margin: 0,\n }}\n >\n <span data-testid={testId}>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam at\n enim id lorem tempus egestas a non ipsum. Maecenas imperdiet\n ante quam, at varius lorem molestie vel. Sed at eros consequat,\n varius tellus et, auctor felis. Donec pulvinar lacinia urna nec\n commodo. Phasellus at imperdiet risus. Donec sit amet massa\n purus. Nunc sem lectus, bibendum a sapien nec, tristique tempus\n felis. Ut porttitor auctor tellus in imperdiet. Ut blandit\n tincidunt augue, quis fringilla nunc tincidunt sed. Vestibulum\n auctor euismod nisi. Nullam tincidunt est in mi tincidunt\n dictum. Sed consectetur aliquet velit ut ornare.\n </span>\n </Box>\n )\n })}\n </Box>\n </PageLayout.Content>\n <PageLayout.Pane\n position=\"start\"\n resizable\n padding=\"normal\"\n divider=\"line\"\n sticky={args.sticky}\n aria-label=\"Side pane\"\n >\n <Box\n sx={{\n display: 'grid',\n gap: 3,\n }}\n >\n {Array.from({\n length: args.numParagraphsInPane,\n }).map((_, i) => {\n const testId = `paragraph${i}`\n return (\n <Box\n key={i}\n as=\"p\"\n sx={{\n margin: 0,\n }}\n >\n <span data-testid={testId}>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam at\n enim id lorem tempus egestas a non ipsum. Maecenas imperdiet\n ante quam, at varius lorem molestie vel. Sed at eros consequat,\n varius tellus et, auctor felis. Donec pulvinar lacinia urna nec\n commodo. Phasellus at imperdiet risus. Donec sit amet massa\n purus.\n </span>\n </Box>\n )\n })}\n <Box as=\"p\">\n Donec sit amet massa purus.{' '}\n <Link inline href=\"#foo\">\n Plura de lorem Ispum.\n </Link>\n </Box>\n </Box>\n </PageLayout.Pane>\n <PageLayout.Footer padding=\"normal\" divider=\"line\">\n <Placeholder label=\"Footer\" height={64} />\n </PageLayout.Footer>\n </PageLayout>\n)"
4915
+ "code": "(args) => (\n <PageLayout\n rowGap=\"none\"\n columnGap=\"none\"\n padding=\"none\"\n containerWidth=\"full\"\n >\n <PageLayout.Header padding=\"normal\" divider=\"line\">\n <Placeholder label=\"Header\" height={64} />\n </PageLayout.Header>\n <PageLayout.Content padding=\"normal\" width=\"large\">\n <div className={classes.ContentGrid}>\n {Array.from({\n length: args.numParagraphsInContent,\n }).map((_, i) => {\n const testId = `content${i}`\n return (\n <p key={i} className={classes.Paragraph}>\n <span data-testid={testId}>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam at\n enim id lorem tempus egestas a non ipsum. Maecenas imperdiet\n ante quam, at varius lorem molestie vel. Sed at eros consequat,\n varius tellus et, auctor felis. Donec pulvinar lacinia urna nec\n commodo. Phasellus at imperdiet risus. Donec sit amet massa\n purus. Nunc sem lectus, bibendum a sapien nec, tristique tempus\n felis. Ut porttitor auctor tellus in imperdiet. Ut blandit\n tincidunt augue, quis fringilla nunc tincidunt sed. Vestibulum\n auctor euismod nisi. Nullam tincidunt est in mi tincidunt\n dictum. Sed consectetur aliquet velit ut ornare.\n </span>\n </p>\n )\n })}\n </div>\n </PageLayout.Content>\n <PageLayout.Pane\n position=\"start\"\n resizable\n padding=\"normal\"\n divider=\"line\"\n sticky={args.sticky}\n aria-label=\"Side pane\"\n >\n <div className={classes.ContentGrid}>\n {Array.from({\n length: args.numParagraphsInPane,\n }).map((_, i) => {\n const testId = `paragraph${i}`\n return (\n <p key={i} className={classes.Paragraph}>\n <span data-testid={testId}>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam at\n enim id lorem tempus egestas a non ipsum. Maecenas imperdiet\n ante quam, at varius lorem molestie vel. Sed at eros consequat,\n varius tellus et, auctor felis. Donec pulvinar lacinia urna nec\n commodo. Phasellus at imperdiet risus. Donec sit amet massa\n purus.\n </span>\n </p>\n )\n })}\n <p>\n Donec sit amet massa purus.{' '}\n <Link inline href=\"#foo\">\n Plura de lorem Ispum.\n </Link>\n </p>\n </div>\n </PageLayout.Pane>\n <PageLayout.Footer padding=\"normal\" divider=\"line\">\n <Placeholder label=\"Footer\" height={64} />\n </PageLayout.Footer>\n </PageLayout>\n)"
5081
4916
  },
5082
4917
  {
5083
4918
  "id": "components-pagelayout-features--nested-scroll-container",
5084
- "code": "(args) => (\n <Box\n sx={{\n display: 'grid',\n gridTemplateRows: 'auto 1fr auto',\n height: '100vh',\n }}\n >\n <Placeholder label=\"Above scroll container\" height={120} />\n <Box\n sx={{\n overflow: 'auto',\n }}\n >\n <PageLayout\n rowGap=\"none\"\n columnGap=\"none\"\n padding=\"none\"\n containerWidth=\"full\"\n >\n <PageLayout.Header padding=\"normal\" divider=\"line\">\n <Placeholder label=\"Header\" height={64} />\n </PageLayout.Header>\n <PageLayout.Content padding=\"normal\" width=\"large\">\n <Box\n sx={{\n display: 'grid',\n gap: 3,\n }}\n tabIndex={0}\n role=\"region\"\n aria-label=\"Page content\"\n >\n {Array.from({\n length: args.numParagraphsInContent,\n }).map((_, i) => (\n <Box\n key={i}\n as=\"p\"\n sx={{\n margin: 0,\n }}\n >\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam at\n enim id lorem tempus egestas a non ipsum. Maecenas imperdiet\n ante quam, at varius lorem molestie vel. Sed at eros consequat,\n varius tellus et, auctor felis. Donec pulvinar lacinia urna nec\n commodo. Phasellus at imperdiet risus. Donec sit amet massa\n purus. Nunc sem lectus, bibendum a sapien nec, tristique tempus\n felis. Ut porttitor auctor tellus in imperdiet. Ut blandit\n tincidunt augue, quis fringilla nunc tincidunt sed. Vestibulum\n auctor euismod nisi. Nullam tincidunt est in mi tincidunt\n dictum. Sed consectetur aliquet velit ut ornare.\n </Box>\n ))}\n </Box>\n </PageLayout.Content>\n <PageLayout.Pane\n position=\"start\"\n padding=\"normal\"\n divider=\"line\"\n sticky\n aria-label=\"Side pane\"\n >\n <Box\n sx={{\n display: 'grid',\n gap: 3,\n }}\n >\n {Array.from({\n length: args.numParagraphsInPane,\n }).map((_, i) => (\n <Box\n key={i}\n as=\"p\"\n sx={{\n margin: 0,\n }}\n >\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam at\n enim id lorem tempus egestas a non ipsum. Maecenas imperdiet\n ante quam, at varius lorem molestie vel. Sed at eros consequat,\n varius tellus et, auctor felis. Donec pulvinar lacinia urna nec\n commodo. Phasellus at imperdiet risus. Donec sit amet massa\n purus.\n </Box>\n ))}\n </Box>\n </PageLayout.Pane>\n <PageLayout.Footer padding=\"normal\" divider=\"line\">\n <Placeholder label=\"Footer\" height={64} />\n </PageLayout.Footer>\n </PageLayout>\n </Box>\n <Placeholder label=\"Below scroll container\" height={120} />\n </Box>\n)"
4919
+ "code": "(args) => (\n <div className={classes.NestedScrollContainer}>\n <Placeholder label=\"Above scroll container\" height={120} />\n <div className={classes.OverflowAuto}>\n <PageLayout\n rowGap=\"none\"\n columnGap=\"none\"\n padding=\"none\"\n containerWidth=\"full\"\n >\n <PageLayout.Header padding=\"normal\" divider=\"line\">\n <Placeholder label=\"Header\" height={64} />\n </PageLayout.Header>\n <PageLayout.Content padding=\"normal\" width=\"large\">\n <div\n className={classes.ContentGrid}\n tabIndex={0}\n role=\"region\"\n aria-label=\"Page content\"\n >\n {Array.from({\n length: args.numParagraphsInContent,\n }).map((_, i) => (\n <p key={i} className={classes.Paragraph}>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam at\n enim id lorem tempus egestas a non ipsum. Maecenas imperdiet\n ante quam, at varius lorem molestie vel. Sed at eros consequat,\n varius tellus et, auctor felis. Donec pulvinar lacinia urna nec\n commodo. Phasellus at imperdiet risus. Donec sit amet massa\n purus. Nunc sem lectus, bibendum a sapien nec, tristique tempus\n felis. Ut porttitor auctor tellus in imperdiet. Ut blandit\n tincidunt augue, quis fringilla nunc tincidunt sed. Vestibulum\n auctor euismod nisi. Nullam tincidunt est in mi tincidunt\n dictum. Sed consectetur aliquet velit ut ornare.\n </p>\n ))}\n </div>\n </PageLayout.Content>\n <PageLayout.Pane\n position=\"start\"\n padding=\"normal\"\n divider=\"line\"\n sticky\n aria-label=\"Side pane\"\n >\n <div className={classes.ContentGrid}>\n {Array.from({\n length: args.numParagraphsInPane,\n }).map((_, i) => (\n <p key={i} className={classes.Paragraph}>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam at\n enim id lorem tempus egestas a non ipsum. Maecenas imperdiet\n ante quam, at varius lorem molestie vel. Sed at eros consequat,\n varius tellus et, auctor felis. Donec pulvinar lacinia urna nec\n commodo. Phasellus at imperdiet risus. Donec sit amet massa\n purus.\n </p>\n ))}\n </div>\n </PageLayout.Pane>\n <PageLayout.Footer padding=\"normal\" divider=\"line\">\n <Placeholder label=\"Footer\" height={64} />\n </PageLayout.Footer>\n </PageLayout>\n </div>\n <Placeholder label=\"Below scroll container\" height={120} />\n </div>\n)"
5085
4920
  },
5086
4921
  {
5087
4922
  "id": "components-pagelayout-features--custom-sticky-header",
5088
- "code": "(args) => (\n // a box to create a sticky top element that will be on the consumer side and outside of the PageLayout component\n <Box data-testid=\"story-window\">\n <Box\n as=\"header\"\n data-testid=\"sticky-header\"\n sx={{\n position: 'sticky',\n top: 0,\n height: args.offsetHeader,\n display: 'grid',\n placeItems: 'center',\n backgroundColor: 'canvas.subtle',\n borderBottom: '1px solid',\n borderColor: 'border.default',\n zIndex: 100,\n }}\n >\n Custom sticky header\n </Box>\n <PageLayout\n rowGap=\"none\"\n columnGap=\"none\"\n padding=\"none\"\n containerWidth=\"full\"\n >\n <PageLayout.Content padding=\"normal\" width=\"large\">\n <Box\n sx={{\n display: 'grid',\n gap: 3,\n }}\n data-testid=\"scrollContainer\"\n >\n {Array.from({\n length: args.numParagraphsInContent,\n }).map((_, i) => {\n const testId = `content${i}`\n return (\n <Box\n key={i}\n as=\"p\"\n sx={{\n margin: 0,\n }}\n >\n <span data-testid={testId}>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin\n vitae orci et magna consectetur ullamcorper eget ac purus. Nam\n at enim id lorem tempus egestas a non ipsum. Maecenas\n imperdiet ante quam, at varius lorem molestie vel. Sed at eros\n consequat, varius tellus et, auctor felis. Donec pulvinar\n lacinia urna nec commodo. Phasellus at imperdiet risus. Donec\n sit amet massa purus. Nunc sem lectus, bibendum a sapien nec,\n tristique tempus felis. Ut porttitor auctor tellus in\n imperdiet. Ut blandit tincidunt augue, quis fringilla nunc\n tincidunt sed. Vestibulum auctor euismod nisi. Nullam\n tincidunt est in mi tincidunt dictum. Sed consectetur aliquet\n velit ut ornare.\n </span>\n </Box>\n )\n })}\n </Box>\n </PageLayout.Content>\n <PageLayout.Pane\n position=\"start\"\n padding=\"normal\"\n divider=\"line\"\n aria-label=\"Aside pane\"\n sticky\n offsetHeader={args.offsetHeader}\n >\n <Box\n sx={{\n display: 'grid',\n gap: 3,\n }}\n >\n {Array.from({\n length: args.numParagraphsInPane,\n }).map((_, i) => {\n const testId = `paragraph${i}`\n return (\n <Box\n key={i}\n as=\"p\"\n sx={{\n margin: 0,\n }}\n >\n <span data-testid={testId}>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam\n at enim id lorem tempus egestas a non ipsum. Maecenas\n imperdiet ante quam, at varius lorem molestie vel. Sed at eros\n consequat, varius tellus et, auctor felis. Donec pulvinar\n lacinia urna nec commodo. Phasellus at imperdiet risus. Donec\n sit amet massa purus.\n </span>\n </Box>\n )\n })}\n </Box>\n </PageLayout.Pane>\n <PageLayout.Footer padding=\"normal\" divider=\"line\">\n <Placeholder label=\"Footer\" height={64} />\n </PageLayout.Footer>\n </PageLayout>\n </Box>\n)"
4923
+ "code": "(args) => (\n // a box to create a sticky top element that will be on the consumer side and outside of the PageLayout component\n <div data-testid=\"story-window\">\n <header\n data-testid=\"sticky-header\"\n className={classes.StickyHeader}\n style={{\n height: args.offsetHeader,\n }}\n >\n Custom sticky header\n </header>\n <PageLayout\n rowGap=\"none\"\n columnGap=\"none\"\n padding=\"none\"\n containerWidth=\"full\"\n >\n <PageLayout.Content padding=\"normal\" width=\"large\">\n <div className={classes.ContentGrid} data-testid=\"scrollContainer\">\n {Array.from({\n length: args.numParagraphsInContent,\n }).map((_, i) => {\n const testId = `content${i}`\n return (\n <p key={i} className={classes.Paragraph}>\n <span data-testid={testId}>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin\n vitae orci et magna consectetur ullamcorper eget ac purus. Nam\n at enim id lorem tempus egestas a non ipsum. Maecenas\n imperdiet ante quam, at varius lorem molestie vel. Sed at eros\n consequat, varius tellus et, auctor felis. Donec pulvinar\n lacinia urna nec commodo. Phasellus at imperdiet risus. Donec\n sit amet massa purus. Nunc sem lectus, bibendum a sapien nec,\n tristique tempus felis. Ut porttitor auctor tellus in\n imperdiet. Ut blandit tincidunt augue, quis fringilla nunc\n tincidunt sed. Vestibulum auctor euismod nisi. Nullam\n tincidunt est in mi tincidunt dictum. Sed consectetur aliquet\n velit ut ornare.\n </span>\n </p>\n )\n })}\n </div>\n </PageLayout.Content>\n <PageLayout.Pane\n position=\"start\"\n padding=\"normal\"\n divider=\"line\"\n aria-label=\"Aside pane\"\n sticky\n offsetHeader={args.offsetHeader}\n >\n <div className={classes.ContentGrid}>\n {Array.from({\n length: args.numParagraphsInPane,\n }).map((_, i) => {\n const testId = `paragraph${i}`\n return (\n <p key={i} className={classes.Paragraph}>\n <span data-testid={testId}>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam\n at enim id lorem tempus egestas a non ipsum. Maecenas\n imperdiet ante quam, at varius lorem molestie vel. Sed at eros\n consequat, varius tellus et, auctor felis. Donec pulvinar\n lacinia urna nec commodo. Phasellus at imperdiet risus. Donec\n sit amet massa purus.\n </span>\n </p>\n )\n })}\n </div>\n </PageLayout.Pane>\n <PageLayout.Footer padding=\"normal\" divider=\"line\">\n <Placeholder label=\"Footer\" height={64} />\n </PageLayout.Footer>\n </PageLayout>\n </div>\n)"
5089
4924
  },
5090
4925
  {
5091
4926
  "id": "components-pagelayout-features--resizable-pane",
@@ -5093,7 +4928,7 @@
5093
4928
  },
5094
4929
  {
5095
4930
  "id": "components-pagelayout-features--scroll-container-within-page-layout-pane",
5096
- "code": "() => (\n <Box\n sx={{\n display: 'grid',\n gridTemplateRows: 'auto 1fr auto',\n height: '100vh',\n }}\n >\n <Box\n sx={{\n overflow: 'auto',\n }}\n >\n <Placeholder label=\"Above inner scroll container\" height={120} />\n <PageLayout\n rowGap=\"none\"\n columnGap=\"none\"\n padding=\"none\"\n containerWidth=\"full\"\n >\n <PageLayout.Pane\n position=\"start\"\n padding=\"normal\"\n divider=\"line\"\n sticky\n aria-label=\"Sticky pane\"\n >\n <Box\n sx={{\n overflow: 'auto',\n }}\n >\n <PageLayout.Pane padding=\"normal\" aria-label=\"Side pane\">\n <Placeholder label=\"Inner scroll container\" height={800} />\n </PageLayout.Pane>\n </Box>\n </PageLayout.Pane>\n <PageLayout.Content padding=\"normal\" width=\"large\">\n <Box\n sx={{\n display: 'grid',\n }}\n tabIndex={0}\n role=\"region\"\n aria-label=\"Page content\"\n >\n <Placeholder label=\"Page content\" height={1600} />\n </Box>\n </PageLayout.Content>\n </PageLayout>\n <Placeholder label=\"Beneath inner scroll container\" height={120} />\n </Box>\n </Box>\n)"
4931
+ "code": "() => (\n <div className={classes.NestedScrollContainer}>\n <div className={classes.OverflowAuto}>\n <Placeholder label=\"Above inner scroll container\" height={120} />\n <PageLayout\n rowGap=\"none\"\n columnGap=\"none\"\n padding=\"none\"\n containerWidth=\"full\"\n >\n <PageLayout.Pane\n position=\"start\"\n padding=\"normal\"\n divider=\"line\"\n sticky\n aria-label=\"Sticky pane\"\n >\n <div className={classes.OverflowAuto}>\n <PageLayout.Pane padding=\"normal\" aria-label=\"Side pane\">\n <Placeholder label=\"Inner scroll container\" height={800} />\n </PageLayout.Pane>\n </div>\n </PageLayout.Pane>\n <PageLayout.Content padding=\"normal\" width=\"large\">\n <div\n className={classes.ContentGrid}\n tabIndex={0}\n role=\"region\"\n aria-label=\"Page content\"\n >\n <Placeholder label=\"Page content\" height={1600} />\n </div>\n </PageLayout.Content>\n </PageLayout>\n <Placeholder label=\"Beneath inner scroll container\" height={120} />\n </div>\n </div>\n)"
5097
4932
  },
5098
4933
  {
5099
4934
  "id": "components-pagelayout-features--custom-pane-widths",
@@ -5101,7 +4936,7 @@
5101
4936
  },
5102
4937
  {
5103
4938
  "id": "components-pagelayout-features--with-custom-pane-heading",
5104
- "code": "() => (\n <PageLayout containerWidth=\"full\">\n <PageLayout.Header>\n <Placeholder height={64} label=\"Header\" />\n </PageLayout.Header>\n <PageLayout.Pane resizable position=\"start\" aria-label=\"Side pane\">\n <Heading\n as=\"h2\"\n sx={{\n fontSize: 3,\n }}\n id=\"pane-heading\"\n >\n Pane Heading\n </Heading>\n <Placeholder height={320} label=\"Pane\" />\n </PageLayout.Pane>\n <PageLayout.Content>\n <Placeholder height={640} label=\"Content\" />\n </PageLayout.Content>\n <PageLayout.Footer>\n <Placeholder height={64} label=\"Footer\" />\n </PageLayout.Footer>\n </PageLayout>\n)"
4939
+ "code": "() => (\n <PageLayout containerWidth=\"full\">\n <PageLayout.Header>\n <Placeholder height={64} label=\"Header\" />\n </PageLayout.Header>\n <PageLayout.Pane resizable position=\"start\" aria-label=\"Side pane\">\n <Heading as=\"h2\" className={classes.PaneHeading} id=\"pane-heading\">\n Pane Heading\n </Heading>\n <Placeholder height={320} label=\"Pane\" />\n </PageLayout.Pane>\n <PageLayout.Content>\n <Placeholder height={640} label=\"Content\" />\n </PageLayout.Content>\n <PageLayout.Footer>\n <Placeholder height={64} label=\"Footer\" />\n </PageLayout.Footer>\n </PageLayout>\n)"
5105
4940
  }
5106
4941
  ],
5107
4942
  "importPath": "@primer/react",
@@ -5383,11 +5218,6 @@
5383
5218
  "type": "string",
5384
5219
  "defaultValue": "div",
5385
5220
  "description": "Sets the underlying HTML tag for the component"
5386
- },
5387
- {
5388
- "name": "sx",
5389
- "type": "SystemStyleObject",
5390
- "deprecated": true
5391
5221
  }
5392
5222
  ],
5393
5223
  "subcomponents": []
@@ -5397,7 +5227,7 @@
5397
5227
  "id": "pagination",
5398
5228
  "name": "Pagination",
5399
5229
  "status": "alpha",
5400
- "a11yReviewed": false,
5230
+ "a11yReviewed": "2025-01-08",
5401
5231
  "stories": [
5402
5232
  {
5403
5233
  "id": "components-pagination--default",
@@ -5471,52 +5301,6 @@
5471
5301
  "type": "function",
5472
5302
  "defaultValue": "(props: PageProps) => ReactNode",
5473
5303
  "description": "Provide a custom component or render prop to render each page link within the component."
5474
- },
5475
- {
5476
- "name": "sx",
5477
- "type": "SystemStyleObject",
5478
- "deprecated": true
5479
- }
5480
- ],
5481
- "subcomponents": []
5482
- },
5483
- "pointer_box": {
5484
- "source": "https://github.com/primer/react/tree/main/packages/react/src/PointerBox",
5485
- "id": "pointer_box",
5486
- "name": "PointerBox",
5487
- "status": "alpha",
5488
- "a11yReviewed": false,
5489
- "stories": [
5490
- {
5491
- "id": "components-pointerbox--default",
5492
- "code": "() => <PointerBox>Pointer box content</PointerBox>"
5493
- }
5494
- ],
5495
- "importPath": "@primer/react",
5496
- "props": [
5497
- {
5498
- "name": "bg",
5499
- "type": "string | string & (string | number | symbol | null)[] | string & { [x: string]: string | number | symbol | undefined; [x: number]: string | number | symbol | undefined; }",
5500
- "description": "Background color of the box\nThe color utility parses a component's `color` and `bg` props and converts them into CSS declarations.\nBy default the raw value of the prop is returned.\n\nColor palettes can be configured with the ThemeProvider to use keys as prop values, with support for dot notation.\nArray values are converted into responsive values.\n\n[MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/background-color)",
5501
- "defaultValue": ""
5502
- },
5503
- {
5504
- "name": "border",
5505
- "type": "string | number | string & (Border<TLengthStyledSystem> | null)[] | string & { [x: string]: Border<TLengthStyledSystem> | undefined; [x: number]: Border<TLengthStyledSystem> | undefined; } | number & (Border<TLengthStyledSystem> | null)[] | number & { [x: string]: Border<TLengthStyledSystem> | undefined; [x: number]: Border<TLengthStyledSystem> | undefined; }",
5506
- "description": "Width of the border around the box\nThe border CSS property sets an element's border. It's a shorthand for border-width, border-style,\nand border-color.\n\n[MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/border)",
5507
- "defaultValue": ""
5508
- },
5509
- {
5510
- "name": "borderColor",
5511
- "type": "string | string & (string | number | symbol | null)[] | string & { [x: string]: string | number | symbol | undefined; [x: number]: string | number | symbol | undefined; }",
5512
- "description": "Color of the border around the box\nThe border-color shorthand CSS property sets the color of all sides of an element's border.\n\n[MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/border-color)",
5513
- "defaultValue": ""
5514
- },
5515
- {
5516
- "name": "caret",
5517
- "type": "| 'top' | 'top-left' | 'top-right' | 'right' | 'right-top' | 'right-bottom' | 'bottom' | 'bottom-left' | 'bottom-right' | 'left' | 'left-top' | 'left-bottom'",
5518
- "defaultValue": "'bottom'",
5519
- "description": "Sets the location of the caret. The format is [edge]-[position on edge]. For example, right-top will position the caret on the top of the right edge of the box. Use top"
5520
5304
  }
5521
5305
  ],
5522
5306
  "subcomponents": []
@@ -5526,11 +5310,11 @@
5526
5310
  "id": "popover",
5527
5311
  "name": "Popover",
5528
5312
  "status": "alpha",
5529
- "a11yReviewed": false,
5313
+ "a11yReviewed": "2025-01-08",
5530
5314
  "stories": [
5531
5315
  {
5532
5316
  "id": "components-popover--default",
5533
- "code": "() => (\n <Popover relative open={true} caret=\"top\">\n <Popover.Content\n sx={{\n marginTop: 2,\n }}\n >\n <Heading\n sx={{\n fontSize: 2,\n }}\n >\n Popover heading\n </Heading>\n <Text as=\"p\">Message about popovers</Text>\n <Button>Got it!</Button>\n </Popover.Content>\n </Popover>\n)"
5317
+ "code": "() => (\n <Popover relative open={true} caret=\"top\">\n <Popover.Content\n style={{\n marginTop: 'var(--base-size-8)',\n }}\n >\n <Heading\n style={{\n fontSize: 'var(--text-title-size-small)',\n }}\n >\n Popover heading\n </Heading>\n <Text as=\"p\">Message about popovers</Text>\n <Button>Got it!</Button>\n </Popover.Content>\n </Popover>\n)"
5534
5318
  }
5535
5319
  ],
5536
5320
  "importPath": "@primer/react",
@@ -5579,6 +5363,24 @@
5579
5363
  "name": "sx",
5580
5364
  "type": "SystemStyleObject",
5581
5365
  "deprecated": true
5366
+ },
5367
+ {
5368
+ "name": "width",
5369
+ "type": "| 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'auto'",
5370
+ "defaultValue": "'small'",
5371
+ "description": "Sets the width of the popover content."
5372
+ },
5373
+ {
5374
+ "name": "height",
5375
+ "type": "| 'small' | 'medium' | 'large' | 'xlarge' | 'fit-content' | 'auto'",
5376
+ "defaultValue": "'fit-content'",
5377
+ "description": "Sets the height of the popover content."
5378
+ },
5379
+ {
5380
+ "name": "overflow",
5381
+ "type": "| 'auto' | 'hidden' | 'scroll' | 'visible'",
5382
+ "defaultValue": "'auto'",
5383
+ "description": "Sets the overflow behavior of the popover content."
5582
5384
  }
5583
5385
  ]
5584
5386
  }
@@ -5593,19 +5395,19 @@
5593
5395
  "stories": [
5594
5396
  {
5595
5397
  "id": "behaviors-portal--default",
5596
- "code": "() => (\n <>\n Root position\n <Box bg=\"red.2\" p={3}>\n Outer container\n <Box bg=\"green.2\" p={3}>\n Inner container\n <Portal>\n Portaled content rendered at <code>&lt;BaseStyles&gt;</code> root.\n </Portal>\n </Box>\n </Box>\n </>\n)"
5398
+ "code": "() => (\n <>\n Root position\n <div className={clsx(classes.PortalContainer, classes.OuterContainer)}>\n Outer container\n <div className={clsx(classes.PortalContainer, classes.InnerContainer)}>\n Inner container\n <Portal>\n Portaled content rendered at <code>&lt;BaseStyles&gt;</code> root.\n </Portal>\n </div>\n </div>\n </>\n)"
5597
5399
  },
5598
5400
  {
5599
5401
  "id": "behaviors-portal-features--custom-portal-root-by-id",
5600
- "code": "() => (\n <>\n Root position\n <Box bg=\"red.2\" p={3} id=\"__primerPortalRoot__\">\n Outer container\n <Box bg=\"green.2\" p={3}>\n Inner container\n <Portal>Portaled content rendered at the outer container.</Portal>\n </Box>\n </Box>\n </>\n)"
5402
+ "code": "() => (\n <>\n Root position\n <div\n className={clsx(classes.PortalContainer, classes.OuterContainer)}\n id=\"__primerPortalRoot__\"\n >\n Outer container\n <div className={clsx(classes.PortalContainer, classes.InnerContainer)}>\n Inner container\n <Portal>Portaled content rendered at the outer container.</Portal>\n </div>\n </div>\n </>\n)"
5601
5403
  },
5602
5404
  {
5603
5405
  "id": "behaviors-portal-features--custom-portal-root-by-registration",
5604
- "code": "() => {\n const outerContainerRef = React.useRef<HTMLDivElement>(null)\n const [mounted, setMounted] = React.useState(false)\n React.useEffect(() => {\n if (outerContainerRef.current instanceof HTMLElement) {\n registerPortalRoot(outerContainerRef.current)\n setMounted(true)\n }\n }, [])\n return (\n <>\n Root position\n <Box bg=\"red.2\" p={3} ref={outerContainerRef}>\n {mounted ? (\n <>\n Outer container\n <Box bg=\"green.2\" p={3}>\n Inner container\n <Portal>Portaled content rendered at the outer container.</Portal>\n </Box>\n </>\n ) : null}\n </Box>\n </>\n )\n}"
5406
+ "code": "() => {\n const outerContainerRef = React.useRef<HTMLDivElement>(null)\n const [mounted, setMounted] = React.useState(false)\n React.useEffect(() => {\n if (outerContainerRef.current instanceof HTMLElement) {\n registerPortalRoot(outerContainerRef.current)\n setMounted(true)\n }\n }, [])\n return (\n <>\n Root position\n <div\n className={clsx(classes.PortalContainer, classes.OuterContainer)}\n ref={outerContainerRef}\n >\n {mounted ? (\n <>\n Outer container\n <div\n className={clsx(classes.PortalContainer, classes.InnerContainer)}\n >\n Inner container\n <Portal>Portaled content rendered at the outer container.</Portal>\n </div>\n </>\n ) : null}\n </div>\n </>\n )\n}"
5605
5407
  },
5606
5408
  {
5607
5409
  "id": "behaviors-portal-features--multiple-portal-roots",
5608
- "code": "() => {\n const outerContainerRef = React.useRef<HTMLDivElement>(null)\n const innerContainerRef = React.useRef<HTMLDivElement>(null)\n const [mounted, setMounted] = React.useState(false)\n React.useEffect(() => {\n if (\n outerContainerRef.current instanceof HTMLElement &&\n innerContainerRef.current instanceof HTMLElement\n ) {\n registerPortalRoot(outerContainerRef.current, 'outer')\n registerPortalRoot(innerContainerRef.current, 'inner')\n setMounted(true)\n }\n }, [outerContainerRef])\n return (\n <>\n Root position\n <Box bg=\"red.2\" p={3} ref={outerContainerRef}>\n Outer container\n <Box bg=\"green.2\" p={3} ref={innerContainerRef}>\n {mounted ? (\n <>\n <Portal containerName=\"outer\">\n Portaled content rendered at the outer container.\n </Portal>\n <Portal containerName=\"inner\">\n Portaled content rendered at the end of the inner container.\n </Portal>\n <Portal>\n Portaled content rendered at <code>&lt;BaseStyles&gt;</code>{' '}\n root.\n </Portal>\n </>\n ) : null}\n Inner container\n </Box>\n </Box>\n </>\n )\n}"
5410
+ "code": "() => {\n const outerContainerRef = React.useRef<HTMLDivElement>(null)\n const innerContainerRef = React.useRef<HTMLDivElement>(null)\n const [mounted, setMounted] = React.useState(false)\n React.useEffect(() => {\n if (\n outerContainerRef.current instanceof HTMLElement &&\n innerContainerRef.current instanceof HTMLElement\n ) {\n registerPortalRoot(outerContainerRef.current, 'outer')\n registerPortalRoot(innerContainerRef.current, 'inner')\n setMounted(true)\n }\n }, [outerContainerRef])\n return (\n <>\n Root position\n <div\n className={clsx(classes.PortalContainer, classes.OuterContainer)}\n ref={outerContainerRef}\n >\n Outer container\n <div\n className={clsx(classes.PortalContainer, classes.InnerContainer)}\n ref={innerContainerRef}\n >\n {mounted ? (\n <>\n <Portal containerName=\"outer\">\n Portaled content rendered at the outer container.\n </Portal>\n <Portal containerName=\"inner\">\n Portaled content rendered at the end of the inner container.\n </Portal>\n <Portal>\n Portaled content rendered at <code>&lt;BaseStyles&gt;</code>{' '}\n root.\n </Portal>\n </>\n ) : null}\n Inner container\n </div>\n </div>\n </>\n )\n}"
5609
5411
  }
5610
5412
  ],
5611
5413
  "importPath": "@primer/react",
@@ -5630,7 +5432,7 @@
5630
5432
  "id": "progress_bar",
5631
5433
  "name": "ProgressBar",
5632
5434
  "status": "alpha",
5633
- "a11yReviewed": false,
5435
+ "a11yReviewed": "2025-01-08",
5634
5436
  "stories": [
5635
5437
  {
5636
5438
  "id": "components-progressbar--default",
@@ -5658,15 +5460,15 @@
5658
5460
  },
5659
5461
  {
5660
5462
  "id": "components-progressbar-features--inline",
5661
- "code": "() => (\n <ProgressBar\n inline\n progress=\"66\"\n sx={{\n width: '100px',\n }}\n aria-label=\"Upload test.png\"\n />\n)"
5463
+ "code": "() => (\n <ProgressBar\n inline\n progress=\"66\"\n style={{\n width: '100px',\n }}\n aria-label=\"Upload test.png\"\n />\n)"
5662
5464
  },
5663
5465
  {
5664
- "id": "components-progressbar-features--color",
5665
- "code": "() => (\n <ProgressBar progress=\"66\" bg=\"done.emphasis\" aria-label=\"Upload test.png\" />\n)"
5466
+ "id": "components-progressbar-features--all-colors",
5467
+ "code": "() => (\n <ProgressBar aria-label=\"Upload test.png\">\n <ProgressBar.Item\n progress={20}\n aria-label=\"Photo Usage\"\n bg=\"accent.emphasis\"\n />\n <ProgressBar.Item\n progress={15}\n aria-label=\"Application Usage\"\n bg=\"danger.emphasis\"\n />\n <ProgressBar.Item\n progress={12}\n aria-label=\"Music Usage\"\n bg=\"severe.emphasis\"\n />\n <ProgressBar.Item\n progress={11}\n aria-label=\"Music Usage\"\n bg=\"done.emphasis\"\n />\n <ProgressBar.Item\n progress={8}\n aria-label=\"Music Usage\"\n bg=\"sponsors.emphasis\"\n />\n <ProgressBar.Item\n progress={7}\n aria-label=\"Music Usage\"\n bg=\"neutral.emphasis\"\n />\n <ProgressBar.Item\n progress={7}\n aria-label=\"Music Usage\"\n bg=\"attention.emphasis\"\n />\n </ProgressBar>\n)"
5666
5468
  },
5667
5469
  {
5668
5470
  "id": "components-progressbar-features--multiple-items",
5669
- "code": "() => (\n <ProgressBar>\n <ProgressBar.Item\n progress={33}\n aria-label=\"Photo Usage\"\n sx={{\n bg: 'accent.emphasis',\n }}\n />\n <ProgressBar.Item\n progress={23}\n aria-label=\"Application Usage\"\n bg={'danger.emphasis'}\n />\n <ProgressBar.Item\n progress={14}\n aria-label=\"Music Usage\"\n bg={'severe.emphasis'}\n />\n </ProgressBar>\n)"
5471
+ "code": "() => (\n <ProgressBar>\n <ProgressBar.Item\n progress={33}\n aria-label=\"Photo Usage\"\n bg=\"accent.emphasis\"\n />\n <ProgressBar.Item\n progress={23}\n aria-label=\"Application Usage\"\n bg={'danger.emphasis'}\n />\n <ProgressBar.Item\n progress={14}\n aria-label=\"Music Usage\"\n bg={'severe.emphasis'}\n />\n </ProgressBar>\n)"
5670
5472
  },
5671
5473
  {
5672
5474
  "id": "components-progressbar-features--animated",
@@ -5746,23 +5548,23 @@
5746
5548
  "id": "radio",
5747
5549
  "name": "Radio",
5748
5550
  "status": "alpha",
5749
- "a11yReviewed": false,
5551
+ "a11yReviewed": "2025-01-08",
5750
5552
  "stories": [
5751
5553
  {
5752
5554
  "id": "components-radio--default",
5753
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <Radio name=\"default-radio-name\" value=\"default\" />\n <FormControl.Label>Label</FormControl.Label>\n </FormControl>\n </Box>\n)"
5555
+ "code": "() => (\n <form>\n <FormControl>\n <Radio name=\"default-radio-name\" value=\"default\" />\n <FormControl.Label>Label</FormControl.Label>\n </FormControl>\n </form>\n)"
5754
5556
  },
5755
5557
  {
5756
5558
  "id": "components-radio-features--with-leading-visual",
5757
- "code": "() => {\n return (\n <Box as=\"form\">\n <FormControl>\n <FormControl.LeadingVisual>\n <MarkGithubIcon />\n </FormControl.LeadingVisual>\n <Radio value=\"default\" name=\"default-radio-name\" />\n <FormControl.Label>Default label</FormControl.Label>\n </FormControl>\n <FormControl>\n <FormControl.LeadingVisual>\n <Avatar src={`https://github.com/lukasoppermann.png`} />\n </FormControl.LeadingVisual>\n <Radio value=\"default\" name=\"default-radio-name\" />\n <FormControl.Label>Default label</FormControl.Label>\n </FormControl>\n </Box>\n )\n}"
5559
+ "code": "() => {\n return (\n <form>\n <FormControl>\n <FormControl.LeadingVisual>\n <MarkGithubIcon />\n </FormControl.LeadingVisual>\n <Radio value=\"default\" name=\"default-radio-name\" />\n <FormControl.Label>Default label</FormControl.Label>\n </FormControl>\n <FormControl>\n <FormControl.LeadingVisual>\n <Avatar src={`https://github.com/lukasoppermann.png`} />\n </FormControl.LeadingVisual>\n <Radio value=\"default\" name=\"default-radio-name\" />\n <FormControl.Label>Default label</FormControl.Label>\n </FormControl>\n </form>\n )\n}"
5758
5560
  },
5759
5561
  {
5760
5562
  "id": "components-radio-features--disabled",
5761
- "code": "() => {\n return (\n <Box as=\"form\">\n <FormControl disabled>\n <Radio value=\"default\" name=\"default-radio-name\" />\n <FormControl.Label>Default label</FormControl.Label>\n </FormControl>\n </Box>\n )\n}"
5563
+ "code": "() => {\n return (\n <form>\n <FormControl disabled>\n <Radio value=\"default\" name=\"default-radio-name\" />\n <FormControl.Label>Default label</FormControl.Label>\n </FormControl>\n </form>\n )\n}"
5762
5564
  },
5763
5565
  {
5764
5566
  "id": "components-radio-features--with-caption",
5765
- "code": "() => {\n return (\n <Box as=\"form\">\n <FormControl>\n <Radio value=\"default\" name=\"default-radio-name\" />\n <FormControl.Label>Default label</FormControl.Label>\n <FormControl.Caption>This is a caption</FormControl.Caption>\n </FormControl>\n </Box>\n )\n}"
5567
+ "code": "() => {\n return (\n <form>\n <FormControl>\n <Radio value=\"default\" name=\"default-radio-name\" />\n <FormControl.Label>Default label</FormControl.Label>\n <FormControl.Caption>This is a caption</FormControl.Caption>\n </FormControl>\n </form>\n )\n}"
5766
5568
  }
5767
5569
  ],
5768
5570
  "importPath": "@primer/react",
@@ -5807,16 +5609,6 @@
5807
5609
  {
5808
5610
  "name": "ref",
5809
5611
  "type": "React.RefObject<HTMLInputElement>"
5810
- },
5811
- {
5812
- "name": "as",
5813
- "type": "React.ElementType",
5814
- "defaultValue": "\"input\""
5815
- },
5816
- {
5817
- "name": "sx",
5818
- "type": "SystemStyleObject",
5819
- "deprecated": true
5820
5612
  }
5821
5613
  ],
5822
5614
  "subcomponents": []
@@ -5826,7 +5618,7 @@
5826
5618
  "id": "radio_group",
5827
5619
  "name": "RadioGroup",
5828
5620
  "status": "alpha",
5829
- "a11yReviewed": false,
5621
+ "a11yReviewed": "2025-01-08",
5830
5622
  "stories": [
5831
5623
  {
5832
5624
  "id": "components-radiogroup--default",
@@ -5838,7 +5630,7 @@
5838
5630
  },
5839
5631
  {
5840
5632
  "id": "components-radiogroup-features--with-external-label",
5841
- "code": "() => (\n <>\n <Box\n id=\"choiceHeading\"\n borderBottomWidth=\"1px\"\n borderBottomStyle=\"solid\"\n borderBottomColor=\"border.default\"\n pb={2}\n mb={3}\n fontSize={3}\n >\n External label\n </Box>\n <RadioGroup aria-labelledby=\"choiceHeading\" name=\"defaultRadioGroup\">\n <FormControl>\n <Radio value=\"one\" />\n <FormControl.Label>Choice one</FormControl.Label>\n </FormControl>\n <FormControl>\n <Radio value=\"two\" />\n <FormControl.Label>Choice two</FormControl.Label>\n </FormControl>\n <FormControl>\n <Radio value=\"three\" />\n <FormControl.Label>Choice three</FormControl.Label>\n </FormControl>\n </RadioGroup>\n </>\n)"
5633
+ "code": "() => (\n <>\n <div id=\"choiceHeading\" className={classes.ExternalLabel}>\n External label\n </div>\n <RadioGroup aria-labelledby=\"choiceHeading\" name=\"defaultRadioGroup\">\n <FormControl>\n <Radio value=\"one\" />\n <FormControl.Label>Choice one</FormControl.Label>\n </FormControl>\n <FormControl>\n <Radio value=\"two\" />\n <FormControl.Label>Choice two</FormControl.Label>\n </FormControl>\n <FormControl>\n <Radio value=\"three\" />\n <FormControl.Label>Choice three</FormControl.Label>\n </FormControl>\n </RadioGroup>\n </>\n)"
5842
5634
  },
5843
5635
  {
5844
5636
  "id": "components-radiogroup-features--error",
@@ -5968,7 +5760,7 @@
5968
5760
  "id": "relative_time",
5969
5761
  "name": "RelativeTime",
5970
5762
  "status": "alpha",
5971
- "a11yReviewed": false,
5763
+ "a11yReviewed": "2025-01-08",
5972
5764
  "stories": [
5973
5765
  {
5974
5766
  "id": "components-relativetime--default",
@@ -6118,11 +5910,6 @@
6118
5910
  "name": "as",
6119
5911
  "type": "React.ElementType",
6120
5912
  "defaultValue": "\"relative-time\""
6121
- },
6122
- {
6123
- "name": "sx",
6124
- "type": "SystemStyleObject",
6125
- "deprecated": true
6126
5913
  }
6127
5914
  ],
6128
5915
  "subcomponents": []
@@ -6132,7 +5919,7 @@
6132
5919
  "id": "segmented_control",
6133
5920
  "name": "SegmentedControl",
6134
5921
  "status": "alpha",
6135
- "a11yReviewed": false,
5922
+ "a11yReviewed": "2025-01-08",
6136
5923
  "stories": [
6137
5924
  {
6138
5925
  "id": "components-segmentedcontrol--default",
@@ -6172,7 +5959,7 @@
6172
5959
  },
6173
5960
  {
6174
5961
  "id": "components-segmentedcontrol-features--associated-with-a-label-and-caption",
6175
- "code": "() => (\n <Box\n display=\"flex\"\n sx={(theme) => ({\n flexDirection: 'column',\n gap: theme.space[1],\n [`@media screen and (min-width: ${theme.breakpoints[1]})`]: {\n flexDirection: 'row',\n },\n })}\n >\n <Box flexGrow={1}>\n <Text fontSize={2} fontWeight=\"bold\" id=\"scLabel-vert\" display=\"block\">\n File view\n </Text>\n <Text color=\"fg.subtle\" fontSize={1} id=\"scCaption-vert\" display=\"block\">\n Change the way the file is viewed\n </Text>\n </Box>\n <SegmentedControl\n aria-labelledby=\"scLabel-vert\"\n aria-describedby=\"scCaption-vert\"\n >\n <SegmentedControl.Button defaultSelected>Preview</SegmentedControl.Button>\n <SegmentedControl.Button>Raw</SegmentedControl.Button>\n <SegmentedControl.Button>Blame</SegmentedControl.Button>\n </SegmentedControl>\n </Box>\n)"
5962
+ "code": "() => (\n <div className={classes.LabelAndCaptionContainer}>\n <div className={classes.LabelAndCaption}>\n <Text fontSize={2} fontWeight=\"bold\" id=\"scLabel-vert\" display=\"block\">\n File view\n </Text>\n <Text color=\"fg.subtle\" fontSize={1} id=\"scCaption-vert\" display=\"block\">\n Change the way the file is viewed\n </Text>\n </div>\n <SegmentedControl\n aria-labelledby=\"scLabel-vert\"\n aria-describedby=\"scCaption-vert\"\n >\n <SegmentedControl.Button defaultSelected>Preview</SegmentedControl.Button>\n <SegmentedControl.Button>Raw</SegmentedControl.Button>\n <SegmentedControl.Button>Blame</SegmentedControl.Button>\n </SegmentedControl>\n </div>\n)"
6176
5963
  }
6177
5964
  ],
6178
5965
  "importPath": "@primer/react",
@@ -6219,11 +6006,6 @@
6219
6006
  "description": "The size of the buttons",
6220
6007
  "defaultValue": ""
6221
6008
  },
6222
- {
6223
- "name": "sx",
6224
- "type": "SystemStyleObject",
6225
- "deprecated": true
6226
- },
6227
6009
  {
6228
6010
  "name": "ref",
6229
6011
  "type": "React.RefObject<HTMLDivElement>"
@@ -6252,9 +6034,10 @@
6252
6034
  "description": "Whether the segment is selected. This is used for uncontrolled SegmentedControls to pick one SegmentedControlButton that is selected on the initial render."
6253
6035
  },
6254
6036
  {
6255
- "name": "sx",
6256
- "type": "SystemStyleObject",
6257
- "deprecated": true
6037
+ "name": "count",
6038
+ "type": "number | string",
6039
+ "defaultValue": "",
6040
+ "description": "The number to display in the counter label."
6258
6041
  },
6259
6042
  {
6260
6043
  "name": "ref",
@@ -6297,11 +6080,6 @@
6297
6080
  "defaultValue": "",
6298
6081
  "description": "Whether the segment is selected. This is used for uncontrolled SegmentedControls to pick one SegmentedControlButton that is selected on the initial render."
6299
6082
  },
6300
- {
6301
- "name": "sx",
6302
- "type": "SystemStyleObject",
6303
- "deprecated": true
6304
- },
6305
6083
  {
6306
6084
  "name": "ref",
6307
6085
  "type": "React.RefObject<HTMLButtonElement>"
@@ -6327,55 +6105,55 @@
6327
6105
  "id": "select",
6328
6106
  "name": "Select",
6329
6107
  "status": "alpha",
6330
- "a11yReviewed": true,
6108
+ "a11yReviewed": "2025-01-08",
6331
6109
  "stories": [
6332
6110
  {
6333
6111
  "id": "components-select--default",
6334
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Select>\n <Select.Option value=\"one\">Choice one</Select.Option>\n <Select.Option value=\"two\">Choice two</Select.Option>\n <Select.Option value=\"three\">Choice three</Select.Option>\n <Select.Option value=\"four\">Choice four</Select.Option>\n <Select.Option value=\"five\">Choice five</Select.Option>\n <Select.Option value=\"six\">Choice six</Select.Option>\n </Select>\n </FormControl>\n </Box>\n)"
6112
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Select>\n <Select.Option value=\"one\">Choice one</Select.Option>\n <Select.Option value=\"two\">Choice two</Select.Option>\n <Select.Option value=\"three\">Choice three</Select.Option>\n <Select.Option value=\"four\">Choice four</Select.Option>\n <Select.Option value=\"five\">Choice five</Select.Option>\n <Select.Option value=\"six\">Choice six</Select.Option>\n </Select>\n </FormControl>\n </form>\n)"
6335
6113
  },
6336
6114
  {
6337
6115
  "id": "components-select-features--with-option-groups",
6338
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Select>\n <Select.OptGroup label=\"Group one\">\n <Select.Option value=\"one\">Choice one</Select.Option>\n <Select.Option value=\"two\">Choice two</Select.Option>\n <Select.Option value=\"three\">Choice three</Select.Option>\n <Select.Option value=\"four\">Choice four</Select.Option>\n </Select.OptGroup>\n <Select.OptGroup disabled label=\"Group two\">\n <Select.Option value=\"five\">Choice five</Select.Option>\n <Select.Option value=\"six\">Choice six</Select.Option>\n </Select.OptGroup>\n </Select>\n </FormControl>\n </Box>\n)"
6116
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Select>\n <Select.OptGroup label=\"Group one\">\n <Select.Option value=\"one\">Choice one</Select.Option>\n <Select.Option value=\"two\">Choice two</Select.Option>\n <Select.Option value=\"three\">Choice three</Select.Option>\n <Select.Option value=\"four\">Choice four</Select.Option>\n </Select.OptGroup>\n <Select.OptGroup disabled label=\"Group two\">\n <Select.Option value=\"five\">Choice five</Select.Option>\n <Select.Option value=\"six\">Choice six</Select.Option>\n </Select.OptGroup>\n </Select>\n </FormControl>\n </form>\n)"
6339
6117
  },
6340
6118
  {
6341
6119
  "id": "components-select-features--disabled",
6342
- "code": "() => (\n <Box as=\"form\">\n <FormControl disabled>\n <FormControl.Label>Default label</FormControl.Label>\n <Select>\n <Select.Option value=\"one\">Choice one</Select.Option>\n <Select.Option value=\"two\">Choice two</Select.Option>\n <Select.Option value=\"three\">Choice three</Select.Option>\n <Select.Option value=\"four\">Choice four</Select.Option>\n <Select.Option value=\"five\">Choice five</Select.Option>\n <Select.Option value=\"six\">Choice six</Select.Option>\n </Select>\n </FormControl>\n </Box>\n)"
6120
+ "code": "() => (\n <form>\n <FormControl disabled>\n <FormControl.Label>Default label</FormControl.Label>\n <Select>\n <Select.Option value=\"one\">Choice one</Select.Option>\n <Select.Option value=\"two\">Choice two</Select.Option>\n <Select.Option value=\"three\">Choice three</Select.Option>\n <Select.Option value=\"four\">Choice four</Select.Option>\n <Select.Option value=\"five\">Choice five</Select.Option>\n <Select.Option value=\"six\">Choice six</Select.Option>\n </Select>\n </FormControl>\n </form>\n)"
6343
6121
  },
6344
6122
  {
6345
6123
  "id": "components-select-features--with-caption",
6346
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <FormControl.Caption>This is a caption</FormControl.Caption>\n <Select>\n <Select.Option value=\"one\">Choice one</Select.Option>\n <Select.Option value=\"two\">Choice two</Select.Option>\n <Select.Option value=\"three\">Choice three</Select.Option>\n <Select.Option value=\"four\">Choice four</Select.Option>\n <Select.Option value=\"five\">Choice five</Select.Option>\n <Select.Option value=\"six\">Choice six</Select.Option>\n </Select>\n </FormControl>\n </Box>\n)"
6124
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <FormControl.Caption>This is a caption</FormControl.Caption>\n <Select>\n <Select.Option value=\"one\">Choice one</Select.Option>\n <Select.Option value=\"two\">Choice two</Select.Option>\n <Select.Option value=\"three\">Choice three</Select.Option>\n <Select.Option value=\"four\">Choice four</Select.Option>\n <Select.Option value=\"five\">Choice five</Select.Option>\n <Select.Option value=\"six\">Choice six</Select.Option>\n </Select>\n </FormControl>\n </form>\n)"
6347
6125
  },
6348
6126
  {
6349
6127
  "id": "components-select-features--visually-hidden-label",
6350
- "code": "() => (\n <Box as=\"form\">\n <Heading as=\"h2\" variant=\"small\">\n Primer form title\n </Heading>\n <FormControl>\n <FormControl.Label visuallyHidden>Primer form label</FormControl.Label>\n <Select>\n <Select.Option value=\"one\">Choice one</Select.Option>\n <Select.Option value=\"two\">Choice two</Select.Option>\n <Select.Option value=\"three\">Choice three</Select.Option>\n <Select.Option value=\"four\">Choice four</Select.Option>\n <Select.Option value=\"five\">Choice five</Select.Option>\n <Select.Option value=\"six\">Choice six</Select.Option>\n </Select>\n <FormControl.Caption>\n Label is visually hidden; the title describes the purpose visually\n </FormControl.Caption>\n </FormControl>\n </Box>\n)"
6128
+ "code": "() => (\n <form>\n <Heading as=\"h2\" variant=\"small\">\n Primer form title\n </Heading>\n <FormControl>\n <FormControl.Label visuallyHidden>Primer form label</FormControl.Label>\n <Select>\n <Select.Option value=\"one\">Choice one</Select.Option>\n <Select.Option value=\"two\">Choice two</Select.Option>\n <Select.Option value=\"three\">Choice three</Select.Option>\n <Select.Option value=\"four\">Choice four</Select.Option>\n <Select.Option value=\"five\">Choice five</Select.Option>\n <Select.Option value=\"six\">Choice six</Select.Option>\n </Select>\n <FormControl.Caption>\n Label is visually hidden; the title describes the purpose visually\n </FormControl.Caption>\n </FormControl>\n </form>\n)"
6351
6129
  },
6352
6130
  {
6353
6131
  "id": "components-select-features--error",
6354
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Select>\n <Select.Option value=\"one\">Choice one</Select.Option>\n <Select.Option value=\"two\">Choice two</Select.Option>\n <Select.Option value=\"three\">Choice three</Select.Option>\n <Select.Option value=\"four\">Choice four</Select.Option>\n <Select.Option value=\"five\">Choice five</Select.Option>\n <Select.Option value=\"six\">Choice six</Select.Option>\n </Select>\n <FormControl.Validation variant=\"error\">\n Something went wrong\n </FormControl.Validation>\n </FormControl>\n </Box>\n)"
6132
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Select>\n <Select.Option value=\"one\">Choice one</Select.Option>\n <Select.Option value=\"two\">Choice two</Select.Option>\n <Select.Option value=\"three\">Choice three</Select.Option>\n <Select.Option value=\"four\">Choice four</Select.Option>\n <Select.Option value=\"five\">Choice five</Select.Option>\n <Select.Option value=\"six\">Choice six</Select.Option>\n </Select>\n <FormControl.Validation variant=\"error\">\n Something went wrong\n </FormControl.Validation>\n </FormControl>\n </form>\n)"
6355
6133
  },
6356
6134
  {
6357
6135
  "id": "components-select-features--success",
6358
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Select>\n <Select.Option value=\"one\">Choice one</Select.Option>\n <Select.Option value=\"two\">Choice two</Select.Option>\n <Select.Option value=\"three\">Choice three</Select.Option>\n <Select.Option value=\"four\">Choice four</Select.Option>\n <Select.Option value=\"five\">Choice five</Select.Option>\n <Select.Option value=\"six\">Choice six</Select.Option>\n </Select>\n <FormControl.Validation variant=\"success\">Success</FormControl.Validation>\n </FormControl>\n </Box>\n)"
6136
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Select>\n <Select.Option value=\"one\">Choice one</Select.Option>\n <Select.Option value=\"two\">Choice two</Select.Option>\n <Select.Option value=\"three\">Choice three</Select.Option>\n <Select.Option value=\"four\">Choice four</Select.Option>\n <Select.Option value=\"five\">Choice five</Select.Option>\n <Select.Option value=\"six\">Choice six</Select.Option>\n </Select>\n <FormControl.Validation variant=\"success\">Success</FormControl.Validation>\n </FormControl>\n </form>\n)"
6359
6137
  },
6360
6138
  {
6361
6139
  "id": "components-select-features--block",
6362
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Select block>\n <Select.Option value=\"one\">Choice one</Select.Option>\n <Select.Option value=\"two\">Choice two</Select.Option>\n <Select.Option value=\"three\">Choice three</Select.Option>\n <Select.Option value=\"four\">Choice four</Select.Option>\n <Select.Option value=\"five\">Choice five</Select.Option>\n <Select.Option value=\"six\">Choice six</Select.Option>\n </Select>\n </FormControl>\n </Box>\n)"
6140
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Select block>\n <Select.Option value=\"one\">Choice one</Select.Option>\n <Select.Option value=\"two\">Choice two</Select.Option>\n <Select.Option value=\"three\">Choice three</Select.Option>\n <Select.Option value=\"four\">Choice four</Select.Option>\n <Select.Option value=\"five\">Choice five</Select.Option>\n <Select.Option value=\"six\">Choice six</Select.Option>\n </Select>\n </FormControl>\n </form>\n)"
6363
6141
  },
6364
6142
  {
6365
6143
  "id": "components-select-features--small",
6366
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Select size=\"small\">\n <Select.Option value=\"one\">Choice one</Select.Option>\n <Select.Option value=\"two\">Choice two</Select.Option>\n <Select.Option value=\"three\">Choice three</Select.Option>\n <Select.Option value=\"four\">Choice four</Select.Option>\n <Select.Option value=\"five\">Choice five</Select.Option>\n <Select.Option value=\"six\">Choice six</Select.Option>\n </Select>\n </FormControl>\n </Box>\n)"
6144
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Select size=\"small\">\n <Select.Option value=\"one\">Choice one</Select.Option>\n <Select.Option value=\"two\">Choice two</Select.Option>\n <Select.Option value=\"three\">Choice three</Select.Option>\n <Select.Option value=\"four\">Choice four</Select.Option>\n <Select.Option value=\"five\">Choice five</Select.Option>\n <Select.Option value=\"six\">Choice six</Select.Option>\n </Select>\n </FormControl>\n </form>\n)"
6367
6145
  },
6368
6146
  {
6369
6147
  "id": "components-select-features--large",
6370
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Select size=\"large\">\n <Select.Option value=\"one\">Choice one</Select.Option>\n <Select.Option value=\"two\">Choice two</Select.Option>\n <Select.Option value=\"three\">Choice three</Select.Option>\n <Select.Option value=\"four\">Choice four</Select.Option>\n <Select.Option value=\"five\">Choice five</Select.Option>\n <Select.Option value=\"six\">Choice six</Select.Option>\n </Select>\n </FormControl>\n </Box>\n)"
6148
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Select size=\"large\">\n <Select.Option value=\"one\">Choice one</Select.Option>\n <Select.Option value=\"two\">Choice two</Select.Option>\n <Select.Option value=\"three\">Choice three</Select.Option>\n <Select.Option value=\"four\">Choice four</Select.Option>\n <Select.Option value=\"five\">Choice five</Select.Option>\n <Select.Option value=\"six\">Choice six</Select.Option>\n </Select>\n </FormControl>\n </form>\n)"
6371
6149
  },
6372
6150
  {
6373
6151
  "id": "components-select-features--with-custom-styling",
6374
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Select\n sx={{\n borderRadius: '12px',\n border: '1px dashed #000000',\n }}\n >\n <Select.Option value=\"one\">Choice one</Select.Option>\n <Select.Option value=\"two\">Choice two</Select.Option>\n <Select.Option value=\"three\">Choice three</Select.Option>\n <Select.Option value=\"four\">Choice four</Select.Option>\n <Select.Option value=\"five\">Choice five</Select.Option>\n <Select.Option value=\"six\">Choice six</Select.Option>\n </Select>\n </FormControl>\n </Box>\n)"
6152
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Select className={classes.CustomSelect}>\n <Select.Option value=\"one\">Choice one</Select.Option>\n <Select.Option value=\"two\">Choice two</Select.Option>\n <Select.Option value=\"three\">Choice three</Select.Option>\n <Select.Option value=\"four\">Choice four</Select.Option>\n <Select.Option value=\"five\">Choice five</Select.Option>\n <Select.Option value=\"six\">Choice six</Select.Option>\n </Select>\n </FormControl>\n </form>\n)"
6375
6153
  },
6376
6154
  {
6377
6155
  "id": "components-select-features--with-placeholder-option",
6378
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Select placeholder=\"No choice selected\">\n <Select.Option value=\"one\">Choice one</Select.Option>\n <Select.Option value=\"two\">Choice two</Select.Option>\n <Select.Option value=\"three\">Choice three</Select.Option>\n <Select.Option value=\"four\">Choice four</Select.Option>\n <Select.Option value=\"five\">Choice five</Select.Option>\n <Select.Option value=\"six\">Choice six</Select.Option>\n </Select>\n </FormControl>\n </Box>\n)"
6156
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Select placeholder=\"No choice selected\">\n <Select.Option value=\"one\">Choice one</Select.Option>\n <Select.Option value=\"two\">Choice two</Select.Option>\n <Select.Option value=\"three\">Choice three</Select.Option>\n <Select.Option value=\"four\">Choice four</Select.Option>\n <Select.Option value=\"five\">Choice five</Select.Option>\n <Select.Option value=\"six\">Choice six</Select.Option>\n </Select>\n </FormControl>\n </form>\n)"
6379
6157
  }
6380
6158
  ],
6381
6159
  "importPath": "@primer/react",
@@ -6419,11 +6197,11 @@
6419
6197
  "docsId": "select_panel",
6420
6198
  "name": "SelectPanel",
6421
6199
  "status": "alpha",
6422
- "a11yReviewed": false,
6200
+ "a11yReviewed": "2025-01-08",
6423
6201
  "stories": [
6424
6202
  {
6425
6203
  "id": "components-selectpanel--default",
6426
- "code": "() => {\n const [selected, setSelected] = useState<ItemInput[]>(items.slice(1, 3))\n const [filter, setFilter] = useState('')\n const filteredItems = items.filter((item) =>\n item.text?.toLowerCase().startsWith(filter.toLowerCase()),\n )\n const [open, setOpen] = useState(false)\n return (\n <FormControl>\n <FormControl.Label>Labels</FormControl.Label>\n <SelectPanel\n title=\"Select labels\"\n placeholder=\"Select labels\" // button text when no items are selected\n subtitle=\"Use labels to organize issues and pull requests\"\n renderAnchor={({ children, ...anchorProps }) => (\n <Button\n trailingAction={TriangleDownIcon}\n {...anchorProps}\n aria-haspopup=\"dialog\"\n >\n {children}\n </Button>\n )}\n open={open}\n onOpenChange={setOpen}\n items={filteredItems}\n selected={selected}\n onSelectedChange={setSelected}\n onFilterChange={setFilter}\n width=\"medium\"\n message={\n filteredItems.length === 0\n ? {\n variant: 'empty',\n title: `No language found for \\`${filter}\\``,\n body: 'Adjust your search term to find other languages',\n }\n : undefined\n }\n />\n </FormControl>\n )\n}"
6204
+ "code": "() => {\n const [selected, setSelected] = useState<ItemInput[]>(items.slice(1, 3))\n const [filter, setFilter] = useState('')\n const filteredItems = items.filter((item) =>\n item.text?.toLowerCase().startsWith(filter.toLowerCase()),\n )\n const [open, setOpen] = useState(false)\n return (\n <FormControl>\n <FormControl.Label>Labels</FormControl.Label>\n <SelectPanel\n title=\"Select labels\"\n placeholder=\"Select labels\" // button text when no items are selected\n subtitle=\"Use labels to organize issues and pull requests\"\n renderAnchor={({ children, ...anchorProps }) => (\n <Button\n trailingAction={TriangleDownIcon}\n {...anchorProps}\n aria-haspopup=\"dialog\"\n >\n {children}\n </Button>\n )}\n open={open}\n onOpenChange={setOpen}\n items={filteredItems}\n selected={selected}\n onSelectedChange={setSelected}\n onFilterChange={setFilter}\n width=\"medium\"\n message={\n filteredItems.length === 0\n ? {\n variant: 'empty',\n title: 'No items available',\n body: '',\n }\n : undefined\n }\n />\n </FormControl>\n )\n}"
6427
6205
  },
6428
6206
  {
6429
6207
  "id": "components-selectpanel-features--with-item-dividers",
@@ -6588,8 +6366,8 @@
6588
6366
  },
6589
6367
  {
6590
6368
  "name": "message",
6591
- "type": "{title: string | React.ReactElement; variant: 'empty' | 'error' | 'warning'; body: React.ReactNode;}",
6592
- "defaultValue": "A default empty message is provided by default if this option is not supplied",
6369
+ "type": "{title: string | React.ReactElement; variant: 'empty' | 'error' | 'warning'; body: React.ReactNode; icon?:React.ComponentType<IconProps>;action?: React.ReactElement;}",
6370
+ "defaultValue": "A default empty message is provided if this option is not configured. Supply a custom empty message to override the default.",
6593
6371
  "description": "Message to display in the panel in case of error or empty results"
6594
6372
  },
6595
6373
  {
@@ -6609,6 +6387,12 @@
6609
6387
  "description": "Whether to display the selected items at the top of the list",
6610
6388
  "default": "true"
6611
6389
  },
6390
+ {
6391
+ "name": "showSelectAll",
6392
+ "type": "boolean",
6393
+ "defaultValue": "false",
6394
+ "description": "When `true` and on a multi-select SelectPanel, displays a 'Select all' checkbox that allows users to select or deselect all visible items at once. The checkbox label automatically toggles between 'Select all' and 'Deselect all' based on the current selection state, and shows an indeterminate state when some items are selected."
6395
+ },
6612
6396
  {
6613
6397
  "name": "disableFullscreenOnNarrow",
6614
6398
  "type": "boolean",
@@ -6635,7 +6419,7 @@
6635
6419
  "id": "skeleton_box",
6636
6420
  "name": "SkeletonBox",
6637
6421
  "status": "alpha",
6638
- "a11yReviewed": false,
6422
+ "a11yReviewed": "2025-01-08",
6639
6423
  "stories": [
6640
6424
  {
6641
6425
  "id": "components-skeleton-skeletonbox--default",
@@ -6668,11 +6452,135 @@
6668
6452
  "type": "string",
6669
6453
  "description": "The className of the skeleton box",
6670
6454
  "defaultValue": ""
6455
+ }
6456
+ ],
6457
+ "subcomponents": []
6458
+ },
6459
+ "skeleton_avatar": {
6460
+ "source": "https://github.com/primer/react/tree/main/packages/react/src/SkeletonAvatar",
6461
+ "id": "skeleton_avatar",
6462
+ "name": "SkeletonAvatar",
6463
+ "status": "alpha",
6464
+ "a11yReviewed": "2025-01-08",
6465
+ "stories": [
6466
+ {
6467
+ "id": "components-skeleton-skeletonavatar--default",
6468
+ "code": "() => <SkeletonAvatar />"
6671
6469
  },
6672
6470
  {
6673
- "name": "sx",
6674
- "type": "SystemStyleObject",
6675
- "deprecated": true
6471
+ "id": "components-skeleton-skeletonavatar-features--square",
6472
+ "code": "() => <SkeletonAvatar square />"
6473
+ },
6474
+ {
6475
+ "id": "components-skeleton-skeletonavatar-features--size",
6476
+ "code": "() => (\n <div>\n <SkeletonAvatar size={4} />\n <SkeletonAvatar size={8} />\n <SkeletonAvatar size={12} />\n <SkeletonAvatar size={16} />\n <SkeletonAvatar size={20} />\n <SkeletonAvatar size={24} />\n <SkeletonAvatar size={28} />\n <SkeletonAvatar size={32} />\n <SkeletonAvatar size={40} />\n <SkeletonAvatar size={48} />\n <SkeletonAvatar size={56} />\n <SkeletonAvatar size={64} />\n </div>\n)"
6477
+ },
6478
+ {
6479
+ "id": "components-skeleton-skeletonavatar-features--size-responsive",
6480
+ "code": "() => (\n <div>\n <SkeletonAvatar\n size={{\n narrow: 4,\n regular: 8,\n wide: 12,\n }}\n />\n <SkeletonAvatar\n size={{\n narrow: 8,\n regular: 12,\n wide: 16,\n }}\n />\n <SkeletonAvatar\n size={{\n narrow: 12,\n regular: 16,\n wide: 20,\n }}\n />\n <SkeletonAvatar\n size={{\n narrow: 16,\n regular: 20,\n wide: 24,\n }}\n />\n <SkeletonAvatar\n size={{\n narrow: 20,\n regular: 24,\n wide: 28,\n }}\n />\n <SkeletonAvatar\n size={{\n narrow: 24,\n regular: 28,\n wide: 32,\n }}\n />\n <SkeletonAvatar\n size={{\n narrow: 28,\n regular: 32,\n wide: 40,\n }}\n />\n <SkeletonAvatar\n size={{\n narrow: 32,\n regular: 40,\n wide: 48,\n }}\n />\n <SkeletonAvatar\n size={{\n narrow: 40,\n regular: 48,\n wide: 56,\n }}\n />\n <SkeletonAvatar\n size={{\n narrow: 48,\n regular: 56,\n wide: 64,\n }}\n />\n </div>\n)"
6481
+ },
6482
+ {
6483
+ "id": "components-skeleton-skeletonavatar-features--in-a-stack",
6484
+ "code": "() => (\n <AvatarStack>\n <SkeletonAvatar />\n <SkeletonAvatar />\n <SkeletonAvatar />\n <SkeletonAvatar />\n </AvatarStack>\n)"
6485
+ }
6486
+ ],
6487
+ "importPath": "@primer/react/experimental",
6488
+ "props": [
6489
+ {
6490
+ "name": "size",
6491
+ "type": "number | { narrow?: number; regular?: number; wide?: number; }",
6492
+ "defaultValue": "20",
6493
+ "description": "The size of the avatar in pixels."
6494
+ },
6495
+ {
6496
+ "name": "square",
6497
+ "type": "boolean",
6498
+ "defaultValue": "false",
6499
+ "description": "If true, the avatar will be square instead of circular."
6500
+ },
6501
+ {
6502
+ "name": "className",
6503
+ "type": "string",
6504
+ "description": "Class name for custom styling."
6505
+ }
6506
+ ],
6507
+ "subcomponents": []
6508
+ },
6509
+ "skeleton_text": {
6510
+ "source": "https://github.com/primer/react/tree/main/packages/react/src/SkeletonText",
6511
+ "id": "skeleton_text",
6512
+ "name": "SkeletonText",
6513
+ "status": "alpha",
6514
+ "a11yReviewed": "2025-01-08",
6515
+ "stories": [
6516
+ {
6517
+ "id": "components-skeleton-skeletontext--default",
6518
+ "code": "() => <SkeletonText />"
6519
+ },
6520
+ {
6521
+ "id": "components-skeleton-skeletontext-features--with-max-width",
6522
+ "code": "() => <SkeletonText maxWidth={200} />"
6523
+ },
6524
+ {
6525
+ "id": "components-skeleton-skeletontext-features--with-multiple-lines",
6526
+ "code": "() => <SkeletonText lines={3} />"
6527
+ },
6528
+ {
6529
+ "id": "components-skeleton-skeletontext-features--display",
6530
+ "code": "() => <SkeletonText size=\"display\" />"
6531
+ },
6532
+ {
6533
+ "id": "components-skeleton-skeletontext-features--subtitle",
6534
+ "code": "() => <SkeletonText size=\"subtitle\" />"
6535
+ },
6536
+ {
6537
+ "id": "components-skeleton-skeletontext-features--title-large",
6538
+ "code": "() => <SkeletonText size=\"titleLarge\" />"
6539
+ },
6540
+ {
6541
+ "id": "components-skeleton-skeletontext-features--title-medium",
6542
+ "code": "() => <SkeletonText size=\"titleMedium\" />"
6543
+ },
6544
+ {
6545
+ "id": "components-skeleton-skeletontext-features--title-small",
6546
+ "code": "() => <SkeletonText size=\"titleSmall\" />"
6547
+ },
6548
+ {
6549
+ "id": "components-skeleton-skeletontext-features--body-large",
6550
+ "code": "() => <SkeletonText size=\"bodyLarge\" />"
6551
+ },
6552
+ {
6553
+ "id": "components-skeleton-skeletontext-features--body-medium",
6554
+ "code": "() => <SkeletonText size=\"bodyMedium\" />"
6555
+ },
6556
+ {
6557
+ "id": "components-skeleton-skeletontext-features--body-small",
6558
+ "code": "() => <SkeletonText size=\"bodySmall\" />"
6559
+ }
6560
+ ],
6561
+ "importPath": "@primer/react/experimental",
6562
+ "props": [
6563
+ {
6564
+ "name": "size",
6565
+ "defaultValue": "'bodyMedium'",
6566
+ "type": "'display' | 'titleLarge' | 'titleMedium' | 'titleSmall' | 'bodyLarge' | 'bodyMedium' | 'bodySmall' | 'subtitle'",
6567
+ "description": "Size of the text that the skeleton is replacing."
6568
+ },
6569
+ {
6570
+ "name": "lines",
6571
+ "defaultValue": "1",
6572
+ "type": "number",
6573
+ "description": "Number of lines of skeleton text to render."
6574
+ },
6575
+ {
6576
+ "name": "maxWidth",
6577
+ "type": "string",
6578
+ "description": "Maximum width that the line(s) of skeleton text can take up. Accepts any valid CSS `max-width` value."
6579
+ },
6580
+ {
6581
+ "name": "className",
6582
+ "type": "string",
6583
+ "description": "Class name for custom styling."
6676
6584
  }
6677
6585
  ],
6678
6586
  "subcomponents": []
@@ -6682,7 +6590,7 @@
6682
6590
  "id": "spinner",
6683
6591
  "name": "Spinner",
6684
6592
  "status": "alpha",
6685
- "a11yReviewed": false,
6593
+ "a11yReviewed": "2025-01-08",
6686
6594
  "stories": [
6687
6595
  {
6688
6596
  "id": "components-spinner--default",
@@ -6698,7 +6606,7 @@
6698
6606
  },
6699
6607
  {
6700
6608
  "id": "components-spinner-features--suppress-screen-reader-text",
6701
- "code": "() => (\n <Box\n sx={{\n alignItems: 'center',\n display: 'flex',\n gap: '0.25rem',\n }}\n >\n <Spinner size=\"small\" srText={null} />\n <AriaStatus>Loading...</AriaStatus>\n </Box>\n)"
6609
+ "code": "() => (\n <Stack direction=\"horizontal\" className={classes.SuppressScreenReaderText}>\n <Spinner size=\"small\" srText={null} />\n <AriaStatus>Loading...</AriaStatus>\n </Stack>\n)"
6702
6610
  }
6703
6611
  ],
6704
6612
  "importPath": "@primer/react",
@@ -6729,11 +6637,6 @@
6729
6637
  {
6730
6638
  "name": "data-*",
6731
6639
  "type": "string"
6732
- },
6733
- {
6734
- "name": "sx",
6735
- "type": "SystemStyleObject",
6736
- "deprecated": true
6737
6640
  }
6738
6641
  ],
6739
6642
  "subcomponents": []
@@ -6743,7 +6646,7 @@
6743
6646
  "id": "split_page_layout",
6744
6647
  "name": "SplitPageLayout",
6745
6648
  "status": "alpha",
6746
- "a11yReviewed": true,
6649
+ "a11yReviewed": "2025-01-08",
6747
6650
  "stories": [
6748
6651
  {
6749
6652
  "id": "components-splitpagelayout--default",
@@ -6751,15 +6654,14 @@
6751
6654
  },
6752
6655
  {
6753
6656
  "id": "components-splitpagelayout-features--settings-page",
6754
- "code": "() => (\n <SplitPageLayout>\n <SplitPageLayout.Pane position=\"start\" aria-label=\"Navigation Pane\">\n <NavList aria-label=\"Main navigation\">\n <NavList.Item href=\"#\">Profile</NavList.Item>\n <NavList.Item href=\"#\" aria-current=\"page\">\n Account\n </NavList.Item>\n <NavList.Item href=\"#\">Emails</NavList.Item>\n <NavList.Item href=\"#\">Notifications</NavList.Item>\n </NavList>\n </SplitPageLayout.Pane>\n <SplitPageLayout.Content>\n <Heading\n as=\"h2\"\n sx={{\n fontSize: 4,\n fontWeight: 'normal',\n color: 'danger.fg',\n mb: 2,\n }}\n >\n Danger zone\n </Heading>\n <Box\n sx={{\n border: '1px solid',\n borderColor: 'danger.emphasis',\n borderRadius: 2,\n p: 3,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 3,\n }}\n >\n <Box\n sx={{\n display: 'grid',\n gap: 1,\n }}\n >\n <Text\n sx={{\n fontSize: 1,\n fontWeight: 'bold',\n color: 'danger.fg',\n }}\n >\n Delete account\n </Text>\n <Text\n sx={{\n fontSize: 1,\n color: 'fg.muted',\n }}\n >\n Are you sure you don&apos;t want to just downgrade your account to a\n free account? We won&apos;t charge your credit card anymore.\n </Text>\n </Box>\n <Button variant=\"danger\">Delete account</Button>\n </Box>\n </SplitPageLayout.Content>\n </SplitPageLayout>\n)"
6657
+ "code": "() => (\n <SplitPageLayout>\n <SplitPageLayout.Pane position=\"start\" aria-label=\"Navigation Pane\">\n <NavList aria-label=\"Main navigation\">\n <NavList.Item href=\"#\">Profile</NavList.Item>\n <NavList.Item href=\"#\" aria-current=\"page\">\n Account\n </NavList.Item>\n <NavList.Item href=\"#\">Emails</NavList.Item>\n <NavList.Item href=\"#\">Notifications</NavList.Item>\n </NavList>\n </SplitPageLayout.Pane>\n <SplitPageLayout.Content>\n <Heading as=\"h2\" className={classes.SectionHeading}>\n Danger zone\n </Heading>\n <div className={classes.DeleteAccountContainer}>\n <div className={classes.DeleteAccountTextContainer}>\n <Text className={classes.DeleteAccountTitle}>Delete account</Text>\n <Text className={classes.DeleteAccountDescription}>\n Are you sure you don&apos;t want to just downgrade your account to a\n free account? We won&apos;t charge your credit card anymore.\n </Text>\n </div>\n <Button variant=\"danger\">Delete account</Button>\n </div>\n </SplitPageLayout.Content>\n </SplitPageLayout>\n)"
6755
6658
  }
6756
6659
  ],
6757
6660
  "importPath": "@primer/react",
6758
6661
  "props": [
6759
6662
  {
6760
- "name": "sx",
6761
- "type": "SystemStyleObject",
6762
- "deprecated": true
6663
+ "name": "className",
6664
+ "type": "string"
6763
6665
  }
6764
6666
  ],
6765
6667
  "subcomponents": [
@@ -6795,11 +6697,6 @@
6795
6697
  "type": "| boolean | { narrow?: boolean regular?: boolean wide?: boolean }",
6796
6698
  "defaultValue": "false",
6797
6699
  "description": "Whether the header is hidden."
6798
- },
6799
- {
6800
- "name": "sx",
6801
- "type": "SystemStyleObject",
6802
- "deprecated": true
6803
6700
  }
6804
6701
  ]
6805
6702
  },
@@ -6835,11 +6732,6 @@
6835
6732
  "type": "| boolean | { narrow?: boolean regular?: boolean wide?: boolean }",
6836
6733
  "defaultValue": "false",
6837
6734
  "description": "Whether the content is hidden."
6838
- },
6839
- {
6840
- "name": "sx",
6841
- "type": "SystemStyleObject",
6842
- "deprecated": true
6843
6735
  }
6844
6736
  ]
6845
6737
  },
@@ -6915,11 +6807,6 @@
6915
6807
  "type": "'end' | 'start' | {narrow?: 'end' | 'start', narrow?: 'end' | 'start', wide?: 'end' | 'start'}",
6916
6808
  "description": "Which side of the page the pane should be on. Can be changed for different viewport widths.",
6917
6809
  "defaultValue": "start"
6918
- },
6919
- {
6920
- "name": "sx",
6921
- "type": "SystemStyleObject",
6922
- "deprecated": true
6923
6810
  }
6924
6811
  ]
6925
6812
  },
@@ -6955,11 +6842,6 @@
6955
6842
  "type": "| boolean | { narrow?: boolean regular?: boolean wide?: boolean }",
6956
6843
  "defaultValue": "false",
6957
6844
  "description": "Whether the footer is hidden."
6958
- },
6959
- {
6960
- "name": "sx",
6961
- "type": "SystemStyleObject",
6962
- "deprecated": true
6963
6845
  }
6964
6846
  ]
6965
6847
  }
@@ -6970,11 +6852,15 @@
6970
6852
  "id": "stack",
6971
6853
  "name": "Stack",
6972
6854
  "status": "alpha",
6973
- "a11yReviewed": false,
6855
+ "a11yReviewed": "2025-01-08",
6974
6856
  "stories": [
6975
6857
  {
6976
6858
  "id": "components-stack--default",
6977
6859
  "code": "() => (\n <Stack>\n <div\n style={{\n background: 'var(--display-lemon-bgColor-muted)',\n borderRadius: 'var(--borderRadius-medium)',\n padding: 'var(--base-size-8)',\n }}\n >\n First\n </div>\n <div\n style={{\n background: 'var(--display-olive-bgColor-muted)',\n borderRadius: 'var(--borderRadius-medium)',\n padding: 'var(--base-size-8)',\n }}\n >\n Second\n </div>\n <div\n style={{\n background: 'var(--display-lime-bgColor-muted)',\n borderRadius: 'var(--borderRadius-medium)',\n padding: 'var(--base-size-8)',\n }}\n >\n Third\n </div>\n </Stack>\n)"
6860
+ },
6861
+ {
6862
+ "id": "components-stack-features--shrinking-stack-items",
6863
+ "code": "() => (\n <div\n style={{\n maxWidth: '200px',\n padding: 'var(--base-size-8)',\n }}\n >\n <Stack direction=\"horizontal\" gap=\"condensed\">\n <Stack.Item shrink={false}>\n <ShieldLockIcon size=\"small\" />\n </Stack.Item>\n <Stack.Item>\n This stack has the leading icon set to prevent shrinking\n </Stack.Item>\n </Stack>\n <Stack direction=\"horizontal\" gap=\"condensed\">\n <Stack.Item shrink={true}>\n <ShieldLockIcon size=\"small\" />\n </Stack.Item>\n <Stack.Item>\n This stack item does not have the icon set to prevent shrinking\n </Stack.Item>\n </Stack>\n </div>\n)"
6978
6864
  }
6979
6865
  ],
6980
6866
  "importPath": "@primer/react",
@@ -7023,6 +6909,11 @@
7023
6909
  "type": "boolean | ResponsiveValue<boolean>",
7024
6910
  "description": "Allow item to keep size or expand to fill the available space."
7025
6911
  },
6912
+ {
6913
+ "name": "shrink",
6914
+ "type": "boolean | ResponsiveValue<boolean>",
6915
+ "description": "Allow item to keep size or shrink to fit the available space."
6916
+ },
7026
6917
  {
7027
6918
  "name": "className",
7028
6919
  "type": "string"
@@ -7036,7 +6927,7 @@
7036
6927
  "id": "state_label",
7037
6928
  "name": "StateLabel",
7038
6929
  "status": "alpha",
7039
- "a11yReviewed": false,
6930
+ "a11yReviewed": "2025-01-08",
7040
6931
  "stories": [
7041
6932
  {
7042
6933
  "id": "components-statelabel-features--issue-opened",
@@ -7102,11 +6993,6 @@
7102
6993
  "name": "status",
7103
6994
  "type": "'issueOpened' | 'issueClosed' | 'issueClosedNotPlanned' | 'pullOpened' | 'pullClosed' | 'pullMerged' | 'draft' | 'issueDraft' | 'unavailable' | 'open' | 'closed'",
7104
6995
  "required": true
7105
- },
7106
- {
7107
- "name": "sx",
7108
- "type": "SystemStyleObject",
7109
- "deprecated": true
7110
6996
  }
7111
6997
  ],
7112
6998
  "subcomponents": []
@@ -7116,7 +7002,7 @@
7116
7002
  "id": "sub_nav",
7117
7003
  "name": "SubNav",
7118
7004
  "status": "alpha",
7119
- "a11yReviewed": false,
7005
+ "a11yReviewed": "2025-01-08",
7120
7006
  "stories": [
7121
7007
  {
7122
7008
  "id": "components-subnav-features--selected",
@@ -7150,11 +7036,6 @@
7150
7036
  "name": "aria-label",
7151
7037
  "type": "string",
7152
7038
  "description": "Used to set the `aria-label` on the top level `<nav>` element."
7153
- },
7154
- {
7155
- "name": "sx",
7156
- "type": "SystemStyleObject",
7157
- "deprecated": true
7158
7039
  }
7159
7040
  ],
7160
7041
  "subcomponents": [
@@ -7179,23 +7060,12 @@
7179
7060
  "name": "to",
7180
7061
  "type": "string | Partial<Path>",
7181
7062
  "description": "Used when the item is rendered using a component like React Router's `Link`. The path to navigate to."
7182
- },
7183
- {
7184
- "name": "sx",
7185
- "type": "SystemStyleObject",
7186
- "deprecated": true
7187
7063
  }
7188
7064
  ]
7189
7065
  },
7190
7066
  {
7191
7067
  "name": "SubNav.Links",
7192
- "props": [
7193
- {
7194
- "name": "sx",
7195
- "type": "SystemStyleObject",
7196
- "deprecated": true
7197
- }
7198
- ]
7068
+ "props": []
7199
7069
  }
7200
7070
  ]
7201
7071
  },
@@ -7264,7 +7134,7 @@
7264
7134
  "id": "text",
7265
7135
  "name": "Text",
7266
7136
  "status": "alpha",
7267
- "a11yReviewed": true,
7137
+ "a11yReviewed": "2025-01-08",
7268
7138
  "stories": [
7269
7139
  {
7270
7140
  "id": "components-text--default",
@@ -7272,11 +7142,11 @@
7272
7142
  },
7273
7143
  {
7274
7144
  "id": "components-text-features--polymorphism",
7275
- "code": "() => (\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n <Text as=\"em\">Emphasized text</Text>\n <Text as=\"i\">Italicized text</Text>\n <Text as=\"strong\">Strong text</Text>\n <Text as=\"small\">Small text</Text>\n <Text as=\"u\">Text with underline</Text>\n </Box>\n)"
7145
+ "code": "() => (\n <div className={classes.PolymorphismContainer}>\n <Text as=\"em\">Emphasized text</Text>\n <Text as=\"i\">Italicized text</Text>\n <Text as=\"strong\">Strong text</Text>\n <Text as=\"small\">Small text</Text>\n <Text as=\"u\">Text with underline</Text>\n </div>\n)"
7276
7146
  },
7277
7147
  {
7278
7148
  "id": "components-text-features--styled-text",
7279
- "code": "() => (\n <Text\n as=\"p\"\n sx={{\n color: 'fg.onEmphasis',\n bg: 'neutral.emphasis',\n p: 2,\n }}\n size=\"small\"\n >\n Stylized text\n </Text>\n)"
7149
+ "code": "() => (\n <Text as=\"p\" className={classes.StyledText} size=\"small\">\n Stylized text\n </Text>\n)"
7280
7150
  },
7281
7151
  {
7282
7152
  "id": "components-text-features--size-small",
@@ -7339,71 +7209,71 @@
7339
7209
  "id": "text_input",
7340
7210
  "name": "TextInput",
7341
7211
  "status": "alpha",
7342
- "a11yReviewed": false,
7212
+ "a11yReviewed": "2025-01-08",
7343
7213
  "stories": [
7344
7214
  {
7345
7215
  "id": "components-textinput--default",
7346
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput />\n </FormControl>\n </Box>\n)"
7216
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput />\n </FormControl>\n </form>\n)"
7347
7217
  },
7348
7218
  {
7349
7219
  "id": "components-textinput-features--disabled",
7350
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput disabled />\n </FormControl>\n </Box>\n)"
7220
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput disabled />\n </FormControl>\n </form>\n)"
7351
7221
  },
7352
7222
  {
7353
7223
  "id": "components-textinput-features--with-caption",
7354
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <FormControl.Caption>This is a caption</FormControl.Caption>\n <TextInput />\n </FormControl>\n </Box>\n)"
7224
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <FormControl.Caption>This is a caption</FormControl.Caption>\n <TextInput />\n </FormControl>\n </form>\n)"
7355
7225
  },
7356
7226
  {
7357
7227
  "id": "components-textinput-features--visually-hidden-label",
7358
- "code": "() => (\n <Box as=\"form\">\n <Heading as=\"h2\" variant=\"small\">\n Primer form title\n </Heading>\n <FormControl>\n <FormControl.Label visuallyHidden>Primer form label</FormControl.Label>\n <TextInput />\n <FormControl.Caption>\n Label is visually hidden; the title describes the purpose visually\n </FormControl.Caption>\n </FormControl>\n </Box>\n)"
7228
+ "code": "() => (\n <form>\n <Heading as=\"h2\" variant=\"small\">\n Primer form title\n </Heading>\n <FormControl>\n <FormControl.Label visuallyHidden>Primer form label</FormControl.Label>\n <TextInput />\n <FormControl.Caption>\n Label is visually hidden; the title describes the purpose visually\n </FormControl.Caption>\n </FormControl>\n </form>\n)"
7359
7229
  },
7360
7230
  {
7361
7231
  "id": "components-textinput-features--error",
7362
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput />\n <FormControl.Validation variant=\"error\">\n Something went wrong\n </FormControl.Validation>\n </FormControl>\n </Box>\n)"
7232
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput />\n <FormControl.Validation variant=\"error\">\n Something went wrong\n </FormControl.Validation>\n </FormControl>\n </form>\n)"
7363
7233
  },
7364
7234
  {
7365
7235
  "id": "components-textinput-features--success",
7366
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput />\n <FormControl.Validation variant=\"success\">\n Something went wrong\n </FormControl.Validation>\n </FormControl>\n </Box>\n)"
7236
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput />\n <FormControl.Validation variant=\"success\">\n Something went wrong\n </FormControl.Validation>\n </FormControl>\n </form>\n)"
7367
7237
  },
7368
7238
  {
7369
7239
  "id": "components-textinput-features--block",
7370
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput block />\n </FormControl>\n </Box>\n)"
7240
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput block />\n </FormControl>\n </form>\n)"
7371
7241
  },
7372
7242
  {
7373
7243
  "id": "components-textinput-features--small",
7374
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput size=\"small\" />\n </FormControl>\n </Box>\n)"
7244
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput size=\"small\" />\n </FormControl>\n </form>\n)"
7375
7245
  },
7376
7246
  {
7377
7247
  "id": "components-textinput-features--large",
7378
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput size=\"large\" />\n </FormControl>\n </Box>\n)"
7248
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput size=\"large\" />\n </FormControl>\n </form>\n)"
7379
7249
  },
7380
7250
  {
7381
7251
  "id": "components-textinput-features--required",
7382
- "code": "() => (\n <Box as=\"form\">\n <FormControl required>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput size=\"large\" />\n </FormControl>\n </Box>\n)"
7252
+ "code": "() => (\n <form>\n <FormControl required>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput size=\"large\" />\n </FormControl>\n </form>\n)"
7383
7253
  },
7384
7254
  {
7385
7255
  "id": "components-textinput-features--with-leading-visual",
7386
- "code": "() => {\n const Checkmark = () => <CheckIcon aria-label=\"Checkmark\" />\n return (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput leadingVisual={Checkmark} />\n </FormControl>\n <FormControl>\n <FormControl.Label>Enter monies</FormControl.Label>\n <TextInput leadingVisual=\"$\" />\n </FormControl>\n </Box>\n )\n}"
7256
+ "code": "() => {\n const Checkmark = () => <CheckIcon aria-label=\"Checkmark\" />\n return (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput leadingVisual={Checkmark} />\n </FormControl>\n <FormControl>\n <FormControl.Label>Enter monies</FormControl.Label>\n <TextInput leadingVisual=\"$\" />\n </FormControl>\n </form>\n )\n}"
7387
7257
  },
7388
7258
  {
7389
7259
  "id": "components-textinput-features--with-trailing-icon",
7390
- "code": "() => {\n const Checkmark = () => <CheckIcon aria-label=\"Checkmark\" />\n return (\n <Box>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput trailingVisual={Checkmark} />\n </FormControl>\n <FormControl>\n <FormControl.Label>Enter monies</FormControl.Label>\n <TextInput trailingVisual=\"minutes\" placeholder=\"200\" />\n </FormControl>\n </Box>\n )\n}"
7260
+ "code": "() => {\n const Checkmark = () => <CheckIcon aria-label=\"Checkmark\" />\n return (\n <div>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput trailingVisual={Checkmark} />\n </FormControl>\n <FormControl>\n <FormControl.Label>Enter monies</FormControl.Label>\n <TextInput trailingVisual=\"minutes\" placeholder=\"200\" />\n </FormControl>\n </div>\n )\n}"
7391
7261
  },
7392
7262
  {
7393
7263
  "id": "components-textinput-features--with-trailing-action",
7394
- "code": "() => {\n const [value, setValue] = useState('sample text')\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setValue(event.target.value)\n }\n return (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput\n value={value}\n onChange={handleChange}\n trailingAction={\n <Stack\n justify=\"center\"\n style={{\n minWidth: '34px',\n }}\n >\n {value.length ? (\n <TextInput.Action\n onClick={() => setValue('')}\n icon={XCircleFillIcon}\n aria-label=\"Clear input\"\n />\n ) : undefined}\n </Stack>\n }\n />\n </FormControl>\n </Box>\n )\n}"
7264
+ "code": "() => {\n const [value, setValue] = useState('sample text')\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setValue(event.target.value)\n }\n return (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput\n value={value}\n onChange={handleChange}\n trailingAction={\n <Stack\n justify=\"center\"\n style={{\n minWidth: '34px',\n }}\n >\n {value.length ? (\n <TextInput.Action\n onClick={() => setValue('')}\n icon={XCircleFillIcon}\n aria-label=\"Clear input\"\n />\n ) : undefined}\n </Stack>\n }\n />\n </FormControl>\n </form>\n )\n}"
7395
7265
  },
7396
7266
  {
7397
7267
  "id": "components-textinput-features--with-tooltip-direction",
7398
- "code": "() => {\n const [value, setValue] = useState('sample text')\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setValue(event.target.value)\n }\n return (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput\n value={value}\n onChange={handleChange}\n trailingAction={\n <Stack\n justify=\"center\"\n style={{\n minWidth: '34px',\n }}\n >\n {value.length ? (\n <TextInput.Action\n onClick={() => setValue('')}\n icon={XCircleFillIcon}\n aria-label=\"Clear input\"\n tooltipDirection=\"nw\"\n />\n ) : undefined}\n </Stack>\n }\n />\n </FormControl>\n </Box>\n )\n}"
7268
+ "code": "() => {\n const [value, setValue] = useState('sample text')\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setValue(event.target.value)\n }\n return (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput\n value={value}\n onChange={handleChange}\n trailingAction={\n <Stack\n justify=\"center\"\n style={{\n minWidth: '34px',\n }}\n >\n {value.length ? (\n <TextInput.Action\n onClick={() => setValue('')}\n icon={XCircleFillIcon}\n aria-label=\"Clear input\"\n tooltipDirection=\"nw\"\n />\n ) : undefined}\n </Stack>\n }\n />\n </FormControl>\n </form>\n )\n}"
7399
7269
  },
7400
7270
  {
7401
7271
  "id": "components-textinput-features--with-loading-indicator",
7402
- "code": "(args: FormControlArgs<TextInputProps>) => {\n return (\n <Box as=\"form\">\n <h3>No visual</h3>\n\n <Box mb={2}>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput value=\"auto\" {...args} />\n </FormControl>\n </Box>\n <Box mb={2}>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput value=\"leading\" {...args} loaderPosition=\"leading\" />\n </FormControl>\n </Box>\n <Box mb={5}>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput value=\"trailing\" {...args} loaderPosition=\"trailing\" />\n </FormControl>\n </Box>\n\n <h3>Leading visual</h3>\n\n <Box mb={2}>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput leadingVisual={Calendar} {...args} value=\"auto\" />\n </FormControl>\n </Box>\n <Box mb={2}>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput\n leadingVisual={Calendar}\n {...args}\n loaderPosition=\"leading\"\n value=\"leading\"\n />\n </FormControl>\n </Box>\n <Box mb={5}>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput\n leadingVisual={Calendar}\n {...args}\n loaderPosition=\"trailing\"\n value=\"trailing\"\n />\n </FormControl>\n </Box>\n\n <h3>Trailing visual</h3>\n <FormControl>\n <Box mb={2}>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput trailingVisual={Calendar} {...args} value=\"auto\" />\n </FormControl>\n </Box>\n <Box mb={2}>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput\n trailingVisual={Calendar}\n {...args}\n loaderPosition=\"leading\"\n value=\"leading\"\n />\n </FormControl>\n </Box>\n <Box mb={5}>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput\n trailingVisual={Calendar}\n {...args}\n loaderPosition=\"trailing\"\n value=\"trailing\"\n />\n </FormControl>\n </Box>\n </FormControl>\n\n <h3>Both visuals</h3>\n\n <Box mb={2}>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput\n size=\"small\"\n leadingVisual={Calendar}\n trailingVisual={Calendar}\n {...args}\n value=\"auto\"\n />\n </FormControl>\n </Box>\n <Box mb={2}>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput\n leadingVisual={Calendar}\n trailingVisual={Calendar}\n {...args}\n loaderPosition=\"leading\"\n value=\"leading\"\n />\n </FormControl>\n </Box>\n <Box mb={2}>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput\n size=\"large\"\n leadingVisual={Calendar}\n trailingVisual={Calendar}\n {...args}\n loaderPosition=\"trailing\"\n value=\"trailing\"\n />\n </FormControl>\n </Box>\n </Box>\n )\n}"
7272
+ "code": "(args: FormControlArgs<TextInputProps>) => {\n return (\n <div>\n <h3>No visual</h3>\n\n <div className={classes.MarginBottom}>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput value=\"auto\" {...args} />\n </FormControl>\n </div>\n <div className={classes.MarginBottom}>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput value=\"leading\" {...args} loaderPosition=\"leading\" />\n </FormControl>\n </div>\n <div className={classes.MarginBottomLarge}>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput value=\"trailing\" {...args} loaderPosition=\"trailing\" />\n </FormControl>\n </div>\n\n <h3>Leading visual</h3>\n\n <div className={classes.MarginBottom}>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput leadingVisual={Calendar} {...args} value=\"auto\" />\n </FormControl>\n </div>\n <div className={classes.MarginBottom}>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput\n leadingVisual={Calendar}\n {...args}\n loaderPosition=\"leading\"\n value=\"leading\"\n />\n </FormControl>\n </div>\n <div className={classes.MarginBottomLarge}>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput\n leadingVisual={Calendar}\n {...args}\n loaderPosition=\"trailing\"\n value=\"trailing\"\n />\n </FormControl>\n </div>\n\n <h3>Trailing visual</h3>\n <FormControl>\n <div className={classes.MarginBottom}>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput trailingVisual={Calendar} {...args} value=\"auto\" />\n </FormControl>\n </div>\n <div className={classes.MarginBottom}>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput\n trailingVisual={Calendar}\n {...args}\n loaderPosition=\"leading\"\n value=\"leading\"\n />\n </FormControl>\n </div>\n <div className={classes.MarginBottomLarge}>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput\n trailingVisual={Calendar}\n {...args}\n loaderPosition=\"trailing\"\n value=\"trailing\"\n />\n </FormControl>\n </div>\n </FormControl>\n\n <h3>Both visuals</h3>\n\n <div className={classes.MarginBottom}>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput\n size=\"small\"\n leadingVisual={Calendar}\n trailingVisual={Calendar}\n {...args}\n value=\"auto\"\n />\n </FormControl>\n </div>\n <div className={classes.MarginBottom}>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput\n leadingVisual={Calendar}\n trailingVisual={Calendar}\n {...args}\n loaderPosition=\"leading\"\n value=\"leading\"\n />\n </FormControl>\n </div>\n <div className={classes.MarginBottom}>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput\n size=\"large\"\n leadingVisual={Calendar}\n trailingVisual={Calendar}\n {...args}\n loaderPosition=\"trailing\"\n value=\"trailing\"\n />\n </FormControl>\n </div>\n </div>\n )\n}"
7403
7273
  },
7404
7274
  {
7405
7275
  "id": "components-textinput-features--with-autocomplete-attribute",
7406
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>First name</FormControl.Label>\n <TextInput autoComplete=\"given-name\" />\n </FormControl>\n <FormControl>\n <FormControl.Label>Last name</FormControl.Label>\n <TextInput autoComplete=\"family-name\" />\n </FormControl>\n </Box>\n)"
7276
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>First name</FormControl.Label>\n <TextInput autoComplete=\"given-name\" />\n </FormControl>\n <FormControl>\n <FormControl.Label>Last name</FormControl.Label>\n <TextInput autoComplete=\"family-name\" />\n </FormControl>\n </form>\n)"
7407
7277
  }
7408
7278
  ],
7409
7279
  "importPath": "@primer/react",
@@ -7586,48 +7456,48 @@
7586
7456
  "source": "https://github.com/primer/react/tree/main/packages/react/src/TextInputWithTokens",
7587
7457
  "id": "text_input_with_tokens",
7588
7458
  "name": "TextInputWithTokens",
7589
- "status": "alpha",
7590
- "a11yReviewed": false,
7459
+ "status": "deprecated",
7460
+ "a11yReviewed": "2025-01-08",
7591
7461
  "stories": [
7592
7462
  {
7593
- "id": "components-textinputwithtokens--default",
7463
+ "id": "deprecated-components-textinputwithtokens--default",
7594
7464
  "code": "() => {\n const [tokens, setTokens] = useState([...mockTokens].slice(0, 3))\n const onTokenRemove: (tokenId: string | number) => void = (tokenId) => {\n setTokens(tokens.filter((token) => token.id !== tokenId))\n }\n return (\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInputWithTokens tokens={tokens} onTokenRemove={onTokenRemove} />\n </FormControl>\n )\n}"
7595
7465
  },
7596
7466
  {
7597
- "id": "components-textinputwithtokens-features--with-leading-visual",
7467
+ "id": "deprecated-components-textinputwithtokens-features--with-leading-visual",
7598
7468
  "code": "() => {\n const [tokens, setTokens] = useState([...mockTokens].slice(0, 3))\n const onTokenRemove: (tokenId: string | number) => void = (tokenId) => {\n setTokens(tokens.filter((token) => token.id !== tokenId))\n }\n return (\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInputWithTokens\n leadingVisual={NumberIcon}\n tokens={tokens}\n onTokenRemove={onTokenRemove}\n />\n </FormControl>\n )\n}"
7599
7469
  },
7600
7470
  {
7601
- "id": "components-textinputwithtokens-features--with-trailing-visual",
7471
+ "id": "deprecated-components-textinputwithtokens-features--with-trailing-visual",
7602
7472
  "code": "() => {\n const [tokens, setTokens] = useState([...mockTokens].slice(0, 3))\n const onTokenRemove: (tokenId: string | number) => void = (tokenId) => {\n setTokens(tokens.filter((token) => token.id !== tokenId))\n }\n return (\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInputWithTokens\n trailingVisual={CheckIcon}\n tokens={tokens}\n onTokenRemove={onTokenRemove}\n />\n </FormControl>\n )\n}"
7603
7473
  },
7604
7474
  {
7605
- "id": "components-textinputwithtokens-features--with-loading-indicator",
7606
- "code": "(args: FormControlArgs<TextInputWithTokensProps>) => {\n const [tokens, setTokens] = useState([...mockTokens].slice(0, 3))\n const onTokenRemove: (tokenId: string | number) => void = (tokenId) => {\n setTokens(tokens.filter((token) => token.id !== tokenId))\n }\n return (\n <Box\n display=\"grid\"\n sx={{\n gap: 3,\n }}\n as=\"form\"\n >\n <FormControl>\n <FormControl.Label>No visual</FormControl.Label>\n <TextInputWithTokens\n {...args}\n tokens={tokens}\n onTokenRemove={onTokenRemove}\n />\n </FormControl>\n\n <FormControl>\n <FormControl.Label>Leading visual</FormControl.Label>\n <TextInputWithTokens\n {...args}\n tokens={tokens}\n onTokenRemove={onTokenRemove}\n leadingVisual={NumberIcon}\n />\n </FormControl>\n\n <FormControl>\n <FormControl.Label>Both visuals</FormControl.Label>\n <TextInputWithTokens\n {...args}\n tokens={tokens}\n onTokenRemove={onTokenRemove}\n leadingVisual={NumberIcon}\n trailingVisual={CheckIcon}\n />\n </FormControl>\n </Box>\n )\n}"
7475
+ "id": "deprecated-components-textinputwithtokens-features--with-loading-indicator",
7476
+ "code": "(args: FormControlArgs<TextInputWithTokensProps>) => {\n const [tokens, setTokens] = useState([...mockTokens].slice(0, 3))\n const onTokenRemove: (tokenId: string | number) => void = (tokenId) => {\n setTokens(tokens.filter((token) => token.id !== tokenId))\n }\n return (\n <form className={classes.Grid}>\n <FormControl>\n <FormControl.Label>No visual</FormControl.Label>\n <TextInputWithTokens\n {...args}\n tokens={tokens}\n onTokenRemove={onTokenRemove}\n />\n </FormControl>\n\n <FormControl>\n <FormControl.Label>Leading visual</FormControl.Label>\n <TextInputWithTokens\n {...args}\n tokens={tokens}\n onTokenRemove={onTokenRemove}\n leadingVisual={NumberIcon}\n />\n </FormControl>\n\n <FormControl>\n <FormControl.Label>Both visuals</FormControl.Label>\n <TextInputWithTokens\n {...args}\n tokens={tokens}\n onTokenRemove={onTokenRemove}\n leadingVisual={NumberIcon}\n trailingVisual={CheckIcon}\n />\n </FormControl>\n </form>\n )\n}"
7607
7477
  },
7608
7478
  {
7609
- "id": "components-textinputwithtokens-features--using-issue-label-tokens",
7610
- "code": "() => {\n const [tokens, setTokens] = useState([\n {\n text: 'enhancement',\n id: 1,\n fillColor: '#a2eeef',\n },\n {\n text: 'bug',\n id: 2,\n fillColor: '#d73a4a',\n },\n {\n text: 'good first issue',\n id: 3,\n fillColor: '#0cf478',\n },\n ])\n const onTokenRemove: (tokenId: string | number) => void = (tokenId) => {\n setTokens(tokens.filter((token) => token.id !== tokenId))\n }\n return (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInputWithTokens\n tokenComponent={IssueLabelToken}\n tokens={tokens}\n onTokenRemove={onTokenRemove}\n />\n </FormControl>\n </Box>\n )\n}"
7479
+ "id": "deprecated-components-textinputwithtokens-features--using-issue-label-tokens",
7480
+ "code": "() => {\n const [tokens, setTokens] = useState([\n {\n text: 'enhancement',\n id: 1,\n fillColor: '#a2eeef',\n },\n {\n text: 'bug',\n id: 2,\n fillColor: '#d73a4a',\n },\n {\n text: 'good first issue',\n id: 3,\n fillColor: '#0cf478',\n },\n ])\n const onTokenRemove: (tokenId: string | number) => void = (tokenId) => {\n setTokens(tokens.filter((token) => token.id !== tokenId))\n }\n return (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInputWithTokens\n tokenComponent={IssueLabelToken}\n tokens={tokens}\n onTokenRemove={onTokenRemove}\n />\n </FormControl>\n </form>\n )\n}"
7611
7481
  },
7612
7482
  {
7613
- "id": "components-textinputwithtokens-features--unstyled",
7614
- "code": "() => {\n const [tokens, setTokens] = useState([...mockTokens].slice(0, 2))\n const onTokenRemove: (tokenId: string | number) => void = (tokenId) => {\n setTokens(tokens.filter((token) => token.id !== tokenId))\n }\n return (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label visuallyHidden>Default label</FormControl.Label>\n <TextInputWithTokens\n tokens={tokens}\n onTokenRemove={onTokenRemove}\n sx={{\n border: '0',\n padding: '0',\n boxShadow: 'none',\n ':focus-within': {\n border: '0',\n boxShadow: 'none',\n },\n }}\n />\n </FormControl>\n </Box>\n )\n}"
7483
+ "id": "deprecated-components-textinputwithtokens-features--unstyled",
7484
+ "code": "() => {\n const [tokens, setTokens] = useState([...mockTokens].slice(0, 2))\n const onTokenRemove: (tokenId: string | number) => void = (tokenId) => {\n setTokens(tokens.filter((token) => token.id !== tokenId))\n }\n return (\n <form>\n <FormControl>\n <FormControl.Label visuallyHidden>Default label</FormControl.Label>\n <TextInputWithTokens\n tokens={tokens}\n onTokenRemove={onTokenRemove}\n className={classes.Unstyled}\n />\n </FormControl>\n </form>\n )\n}"
7615
7485
  },
7616
7486
  {
7617
- "id": "components-textinputwithtokens-features--prevent-tokens-from-wrapping",
7618
- "code": "() => {\n const [tokens, setTokens] = useState([...mockTokens].slice(0, 3))\n const onTokenRemove: (tokenId: string | number) => void = (tokenId) => {\n setTokens(tokens.filter((token) => token.id !== tokenId))\n }\n return (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInputWithTokens\n tokens={tokens}\n onTokenRemove={onTokenRemove}\n preventTokenWrapping\n />\n </FormControl>\n </Box>\n )\n}"
7487
+ "id": "deprecated-components-textinputwithtokens-features--prevent-tokens-from-wrapping",
7488
+ "code": "() => {\n const [tokens, setTokens] = useState([...mockTokens].slice(0, 3))\n const onTokenRemove: (tokenId: string | number) => void = (tokenId) => {\n setTokens(tokens.filter((token) => token.id !== tokenId))\n }\n return (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInputWithTokens\n tokens={tokens}\n onTokenRemove={onTokenRemove}\n preventTokenWrapping\n />\n </FormControl>\n </form>\n )\n}"
7619
7489
  },
7620
7490
  {
7621
- "id": "components-textinputwithtokens-features--max-height",
7622
- "code": "() => {\n const [tokens, setTokens] = useState([...mockTokens].slice(0, 7))\n const onTokenRemove: (tokenId: string | number) => void = (tokenId) => {\n setTokens(tokens.filter((token) => token.id !== tokenId))\n }\n return (\n <Box\n sx={{\n maxWidth: '300px',\n }}\n >\n {/* Setting max-width to force tokens to wrap and demo `maxHeight` behavior */}\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInputWithTokens\n tokens={tokens}\n onTokenRemove={onTokenRemove}\n maxHeight={70}\n block // `block` only needed to fill parent width without overflowing\n />\n </FormControl>\n </Box>\n )\n}"
7491
+ "id": "deprecated-components-textinputwithtokens-features--max-height",
7492
+ "code": "() => {\n const [tokens, setTokens] = useState([...mockTokens].slice(0, 7))\n const onTokenRemove: (tokenId: string | number) => void = (tokenId) => {\n setTokens(tokens.filter((token) => token.id !== tokenId))\n }\n return (\n <div className={classes.MaxWidth}>\n {/* Setting max-width to force tokens to wrap and demo `maxHeight` behavior */}\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInputWithTokens\n tokens={tokens}\n onTokenRemove={onTokenRemove}\n maxHeight={70}\n block // `block` only needed to fill parent width without overflowing\n />\n </FormControl>\n </div>\n )\n}"
7623
7493
  },
7624
7494
  {
7625
- "id": "components-textinputwithtokens-features--size",
7626
- "code": "() => {\n const [tokens, setTokens] = useState([...mockTokens].slice(0, 3))\n const onTokenRemove: (tokenId: string | number) => void = (tokenId) => {\n setTokens(tokens.filter((token) => token.id !== tokenId))\n }\n return (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInputWithTokens\n tokens={tokens}\n onTokenRemove={onTokenRemove}\n size=\"small\"\n />\n </FormControl>\n </Box>\n )\n}"
7495
+ "id": "deprecated-components-textinputwithtokens-features--size",
7496
+ "code": "() => {\n const [tokens, setTokens] = useState([...mockTokens].slice(0, 3))\n const onTokenRemove: (tokenId: string | number) => void = (tokenId) => {\n setTokens(tokens.filter((token) => token.id !== tokenId))\n }\n return (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInputWithTokens\n tokens={tokens}\n onTokenRemove={onTokenRemove}\n size=\"small\"\n />\n </FormControl>\n </form>\n )\n}"
7627
7497
  },
7628
7498
  {
7629
- "id": "components-textinputwithtokens-features--truncated",
7630
- "code": "() => {\n const [tokens, setTokens] = useState(mockTokens)\n const onTokenRemove: (tokenId: string | number) => void = (tokenId) => {\n setTokens(tokens.filter((token) => token.id !== tokenId))\n }\n return (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInputWithTokens\n tokens={tokens}\n onTokenRemove={onTokenRemove}\n visibleTokenCount={5}\n />\n </FormControl>\n </Box>\n )\n}"
7499
+ "id": "deprecated-components-textinputwithtokens-features--truncated",
7500
+ "code": "() => {\n const [tokens, setTokens] = useState(mockTokens)\n const onTokenRemove: (tokenId: string | number) => void = (tokenId) => {\n setTokens(tokens.filter((token) => token.id !== tokenId))\n }\n return (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInputWithTokens\n tokens={tokens}\n onTokenRemove={onTokenRemove}\n visibleTokenCount={5}\n />\n </FormControl>\n </form>\n )\n}"
7631
7501
  }
7632
7502
  ],
7633
7503
  "importPath": "@primer/react",
@@ -7700,43 +7570,43 @@
7700
7570
  "id": "textarea",
7701
7571
  "name": "Textarea",
7702
7572
  "status": "alpha",
7703
- "a11yReviewed": false,
7573
+ "a11yReviewed": "2025-01-08",
7704
7574
  "stories": [
7705
7575
  {
7706
7576
  "id": "components-textarea--default",
7707
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Textarea />\n </FormControl>\n </Box>\n)"
7577
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Textarea />\n </FormControl>\n </form>\n)"
7708
7578
  },
7709
7579
  {
7710
7580
  "id": "components-textarea-features--disabled",
7711
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Textarea disabled />\n </FormControl>\n </Box>\n)"
7581
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Textarea disabled />\n </FormControl>\n </form>\n)"
7712
7582
  },
7713
7583
  {
7714
7584
  "id": "components-textarea-features--with-caption",
7715
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <FormControl.Caption>This is a caption</FormControl.Caption>\n <Textarea />\n </FormControl>\n </Box>\n)"
7585
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <FormControl.Caption>This is a caption</FormControl.Caption>\n <Textarea />\n </FormControl>\n </form>\n)"
7716
7586
  },
7717
7587
  {
7718
7588
  "id": "components-textarea-features--visually-hidden-label",
7719
- "code": "() => (\n <Box as=\"form\">\n <Heading as=\"h2\" variant=\"small\">\n Primer form title\n </Heading>\n <FormControl>\n <FormControl.Label visuallyHidden>Primer form label</FormControl.Label>\n <Textarea />\n <FormControl.Caption>\n Label is visually hidden; the title describes the purpose visually\n </FormControl.Caption>\n </FormControl>\n </Box>\n)"
7589
+ "code": "() => (\n <form>\n <Heading as=\"h2\" variant=\"small\">\n Primer form title\n </Heading>\n <FormControl>\n <FormControl.Label visuallyHidden>Primer form label</FormControl.Label>\n <Textarea />\n <FormControl.Caption>\n Label is visually hidden; the title describes the purpose visually\n </FormControl.Caption>\n </FormControl>\n </form>\n)"
7720
7590
  },
7721
7591
  {
7722
7592
  "id": "components-textarea-features--error",
7723
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Textarea />\n <FormControl.Validation variant=\"error\">\n Something went wrong\n </FormControl.Validation>\n </FormControl>\n </Box>\n)"
7593
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Textarea />\n <FormControl.Validation variant=\"error\">\n Something went wrong\n </FormControl.Validation>\n </FormControl>\n </form>\n)"
7724
7594
  },
7725
7595
  {
7726
7596
  "id": "components-textarea-features--success",
7727
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Textarea />\n <FormControl.Validation variant=\"success\">Success</FormControl.Validation>\n </FormControl>\n </Box>\n)"
7597
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Textarea />\n <FormControl.Validation variant=\"success\">Success</FormControl.Validation>\n </FormControl>\n </form>\n)"
7728
7598
  },
7729
7599
  {
7730
7600
  "id": "components-textarea-features--block",
7731
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Textarea block />\n </FormControl>\n </Box>\n)"
7601
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Textarea block />\n </FormControl>\n </form>\n)"
7732
7602
  },
7733
7603
  {
7734
7604
  "id": "components-textarea-features--custom-height",
7735
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Textarea rows={3} />\n </FormControl>\n </Box>\n)"
7605
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Textarea rows={3} />\n </FormControl>\n </form>\n)"
7736
7606
  },
7737
7607
  {
7738
7608
  "id": "components-textarea-features--custom-width",
7739
- "code": "() => (\n <Box as=\"form\">\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Textarea cols={60} />\n </FormControl>\n </Box>\n)"
7609
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Textarea cols={60} />\n </FormControl>\n </form>\n)"
7740
7610
  },
7741
7611
  {
7742
7612
  "id": "components-textarea-features--custom-resize-behavior",
@@ -7796,15 +7666,20 @@
7796
7666
  "type": "React.ElementType",
7797
7667
  "defaultValue": "\"input\""
7798
7668
  },
7799
- {
7800
- "name": "sx",
7801
- "type": "SystemStyleObject",
7802
- "deprecated": true
7803
- },
7804
7669
  {
7805
7670
  "name": "className",
7806
7671
  "type": "string | undefined",
7807
7672
  "description": "The className to apply to the wrapper element"
7673
+ },
7674
+ {
7675
+ "name": "minHeight",
7676
+ "type": "number",
7677
+ "description": "The minimum height of the textarea"
7678
+ },
7679
+ {
7680
+ "name": "maxHeight",
7681
+ "type": "number",
7682
+ "description": "The maximum height of the textarea"
7808
7683
  }
7809
7684
  ],
7810
7685
  "subcomponents": []
@@ -7814,7 +7689,7 @@
7814
7689
  "id": "timeline",
7815
7690
  "name": "Timeline",
7816
7691
  "status": "alpha",
7817
- "a11yReviewed": false,
7692
+ "a11yReviewed": "2025-01-08",
7818
7693
  "stories": [
7819
7694
  {
7820
7695
  "id": "components-timeline--default",
@@ -7830,11 +7705,11 @@
7830
7705
  },
7831
7706
  {
7832
7707
  "id": "components-timeline-features--timeline-break",
7833
- "code": "() => (\n <Timeline>\n <Timeline.Item>\n <Timeline.Badge\n sx={{\n bg: 'done.emphasis',\n }}\n >\n <Octicon\n icon={GitMergeIcon}\n color=\"fg.onEmphasis\"\n aria-label=\"Merged\"\n />\n </Timeline.Badge>\n <Timeline.Body>This is a message</Timeline.Body>\n </Timeline.Item>\n <Timeline.Break />\n <Timeline.Item>\n <Timeline.Badge>\n <Octicon icon={GitBranchIcon} aria-label=\"Branch\" />\n </Timeline.Badge>\n <Timeline.Body>This is a message</Timeline.Body>\n </Timeline.Item>\n </Timeline>\n)"
7708
+ "code": "() => (\n <Timeline>\n <Timeline.Item>\n <Timeline.Badge className={classes.BadgeWithDoneBackground}>\n <Octicon\n icon={GitMergeIcon}\n color=\"fg.onEmphasis\"\n aria-label=\"Merged\"\n />\n </Timeline.Badge>\n <Timeline.Body>This is a message</Timeline.Body>\n </Timeline.Item>\n <Timeline.Break />\n <Timeline.Item>\n <Timeline.Badge>\n <Octicon icon={GitBranchIcon} aria-label=\"Branch\" />\n </Timeline.Badge>\n <Timeline.Body>This is a message</Timeline.Body>\n </Timeline.Item>\n </Timeline>\n)"
7834
7709
  },
7835
7710
  {
7836
7711
  "id": "components-timeline-features--with-inline-links",
7837
- "code": "() => (\n <Timeline>\n <Timeline.Item>\n <Timeline.Badge>\n <Octicon icon={GitCommitIcon} aria-label=\"Commit\" />\n </Timeline.Badge>\n <Timeline.Body>\n <Link\n href=\"#\"\n sx={{\n fontWeight: 'bold',\n color: 'fg.default',\n mr: 1,\n '&:hover': {\n color: 'var(--fgColor-accent)',\n },\n }}\n muted\n >\n Monalisa\n </Link>\n enabled auto-merge (squash)\n </Timeline.Body>\n </Timeline.Item>\n </Timeline>\n)"
7712
+ "code": "() => (\n <Timeline>\n <Timeline.Item>\n <Timeline.Badge>\n <Octicon icon={GitCommitIcon} aria-label=\"Commit\" />\n </Timeline.Badge>\n <Timeline.Body>\n <Link href=\"#\" className={classes.LinkWithBoldStyle} muted>\n Monalisa\n </Link>\n enabled auto-merge (squash)\n </Timeline.Body>\n </Timeline.Item>\n </Timeline>\n)"
7838
7713
  }
7839
7714
  ],
7840
7715
  "importPath": "@primer/react",
@@ -7903,7 +7778,7 @@
7903
7778
  "id": "toggle_switch",
7904
7779
  "name": "ToggleSwitch",
7905
7780
  "status": "alpha",
7906
- "a11yReviewed": false,
7781
+ "a11yReviewed": "2025-01-08",
7907
7782
  "stories": [
7908
7783
  {
7909
7784
  "id": "components-toggleswitch--default",
@@ -7911,35 +7786,39 @@
7911
7786
  },
7912
7787
  {
7913
7788
  "id": "components-toggleswitch-features--small",
7914
- "code": "() => (\n <ToggleSwitchStoryWrapper>\n <Text id=\"toggle\" fontWeight={'bold'} fontSize={1}>\n Toggle label\n </Text>\n <ToggleSwitch size=\"small\" aria-labelledby=\"toggle\" />\n </ToggleSwitchStoryWrapper>\n)"
7789
+ "code": "() => (\n <ToggleSwitchStoryWrapper>\n <span id=\"toggle\" className={styles.ToggleLabel}>\n Toggle label\n </span>\n <ToggleSwitch size=\"small\" aria-labelledby=\"toggle\" />\n </ToggleSwitchStoryWrapper>\n)"
7915
7790
  },
7916
7791
  {
7917
7792
  "id": "components-toggleswitch-features--with-caption",
7918
- "code": "() => (\n <Box display=\"flex\" alignItems={'start'}>\n <Box flexGrow={1}>\n <Text fontSize={2} fontWeight=\"bold\" id=\"switchLabel\" display=\"block\">\n Notifications\n </Text>\n <Text color=\"fg.subtle\" fontSize={1} id=\"switchCaption\" display=\"block\">\n Notifications will be delivered via email and the GitHub notification\n center\n </Text>\n </Box>\n <ToggleSwitch\n aria-labelledby=\"switchLabel\"\n aria-describedby=\"switchCaption\"\n />\n </Box>\n)"
7793
+ "code": "() => (\n <div className={styles.Row}>\n <div className={styles.ColGrow}>\n <span className={styles.SwitchLabel} id=\"switchLabel\">\n Notifications\n </span>\n <span className={styles.SwitchCaption} id=\"switchCaption\">\n Notifications will be delivered via email and the GitHub notification\n center\n </span>\n </div>\n <ToggleSwitch\n aria-labelledby=\"switchLabel\"\n aria-describedby=\"switchCaption\"\n />\n </div>\n)"
7919
7794
  },
7920
7795
  {
7921
7796
  "id": "components-toggleswitch-features--disabled",
7922
- "code": "() => (\n <ToggleSwitchStoryWrapper>\n <Text id=\"toggle\" fontWeight={'bold'} fontSize={1}>\n Toggle label\n </Text>\n <ToggleSwitch disabled aria-labelledby=\"toggle\" />\n </ToggleSwitchStoryWrapper>\n)"
7797
+ "code": "() => (\n <ToggleSwitchStoryWrapper>\n <span id=\"toggle\" className={styles.ToggleLabel}>\n Toggle label\n </span>\n <ToggleSwitch disabled aria-labelledby=\"toggle\" />\n </ToggleSwitchStoryWrapper>\n)"
7923
7798
  },
7924
7799
  {
7925
7800
  "id": "components-toggleswitch-features--checked",
7926
- "code": "() => (\n <ToggleSwitchStoryWrapper>\n <Text id=\"toggle\" fontWeight={'bold'} fontSize={1}>\n Toggle label\n </Text>\n <ToggleSwitch checked aria-labelledby=\"toggle\" />\n </ToggleSwitchStoryWrapper>\n)"
7801
+ "code": "() => (\n <ToggleSwitchStoryWrapper>\n <span id=\"toggle\" className={styles.ToggleLabel}>\n Toggle label\n </span>\n <ToggleSwitch checked aria-labelledby=\"toggle\" />\n </ToggleSwitchStoryWrapper>\n)"
7927
7802
  },
7928
7803
  {
7929
7804
  "id": "components-toggleswitch-features--checked-disabled",
7930
- "code": "() => (\n <ToggleSwitchStoryWrapper>\n <Text id=\"toggle\" fontWeight={'bold'} fontSize={1}>\n Toggle label\n </Text>\n <ToggleSwitch checked disabled aria-labelledby=\"toggle\" />\n </ToggleSwitchStoryWrapper>\n)"
7805
+ "code": "() => (\n <ToggleSwitchStoryWrapper>\n <span id=\"toggle\" className={styles.ToggleLabel}>\n Toggle label\n </span>\n <ToggleSwitch checked disabled aria-labelledby=\"toggle\" />\n </ToggleSwitchStoryWrapper>\n)"
7931
7806
  },
7932
7807
  {
7933
7808
  "id": "components-toggleswitch-features--loading",
7934
- "code": "() => (\n <ToggleSwitchStoryWrapper>\n <Text id=\"toggle\" fontWeight={'bold'} fontSize={1}>\n Toggle label\n </Text>\n <ToggleSwitch loading aria-labelledby=\"toggle\" />\n </ToggleSwitchStoryWrapper>\n)"
7809
+ "code": "() => (\n <ToggleSwitchStoryWrapper>\n <span id=\"toggle\" className={styles.ToggleLabel}>\n Toggle label\n </span>\n <ToggleSwitch loading aria-labelledby=\"toggle\" />\n </ToggleSwitchStoryWrapper>\n)"
7935
7810
  },
7936
7811
  {
7937
7812
  "id": "components-toggleswitch-features--label-end",
7938
- "code": "() => (\n <ToggleSwitchStoryWrapper>\n <Text id=\"toggle\" fontWeight={'bold'} fontSize={1}>\n Toggle label\n </Text>\n <ToggleSwitch statusLabelPosition=\"end\" aria-labelledby=\"toggle\" />\n </ToggleSwitchStoryWrapper>\n)"
7813
+ "code": "() => (\n <ToggleSwitchStoryWrapper>\n <span id=\"toggle\" className={styles.ToggleLabel}>\n Toggle label\n </span>\n <ToggleSwitch statusLabelPosition=\"end\" aria-labelledby=\"toggle\" />\n </ToggleSwitchStoryWrapper>\n)"
7939
7814
  },
7940
7815
  {
7941
7816
  "id": "components-toggleswitch-features--controlled",
7942
- "code": "() => {\n const [isOn, setIsOn] = React.useState(false)\n const onClick = React.useCallback(() => {\n setIsOn(!isOn)\n }, [setIsOn, isOn])\n const handleSwitchChange = (on: boolean) => {\n action(`new switch \"on\" state: ${on}`)\n }\n return (\n <>\n <Box display=\"flex\" maxWidth=\"300px\">\n <Box flexGrow={1} fontSize={2} fontWeight=\"bold\" id=\"switchLabel\">\n Notifications\n </Box>\n <ToggleSwitch\n onClick={onClick}\n onChange={handleSwitchChange}\n checked={isOn}\n aria-labelledby=\"switchLabel\"\n />\n </Box>\n <p>The switch is {isOn ? 'on' : 'off'}</p>\n </>\n )\n}"
7817
+ "code": "() => {\n const [isOn, setIsOn] = React.useState(false)\n const onClick = React.useCallback(() => {\n setIsOn(!isOn)\n }, [setIsOn, isOn])\n const handleSwitchChange = (on: boolean) => {\n action(`new switch \"on\" state: ${on}`)\n }\n return (\n <>\n <div\n className={styles.Row}\n style={{\n maxWidth: '300px',\n }}\n >\n <span\n className={clsx(styles.ColGrow, styles.SwitchLabel)}\n id=\"switchLabel\"\n >\n Notifications\n </span>\n <ToggleSwitch\n onClick={onClick}\n onChange={handleSwitchChange}\n checked={isOn}\n aria-labelledby=\"switchLabel\"\n />\n </div>\n <p>The switch is {isOn ? 'on' : 'off'}</p>\n </>\n )\n}"
7818
+ },
7819
+ {
7820
+ "id": "components-toggleswitch-features--with-custom-labels",
7821
+ "code": "() => (\n <ToggleSwitchStoryWrapper>\n <span id=\"toggle\" className={styles.ToggleLabel}>\n Toggle label\n </span>\n <ToggleSwitch\n buttonLabelOn=\"Active\"\n buttonLabelOff=\"Inactive\"\n aria-labelledby=\"toggle\"\n />\n </ToggleSwitchStoryWrapper>\n)"
7943
7822
  }
7944
7823
  ],
7945
7824
  "importPath": "@primer/react",
@@ -8005,11 +7884,35 @@
8005
7884
  "defaultValue": "'start'",
8006
7885
  "description": "Whether the \"on\" and \"off\" labels should appear before or after the switch.\n\n**This should only be changed when the switch's alignment needs to be adjusted.** For example: It needs to be left-aligned because the label appears above it and the caption appears below it."
8007
7886
  },
7887
+ {
7888
+ "name": "loadingLabelDelay",
7889
+ "type": "number",
7890
+ "defaultValue": "2000",
7891
+ "description": "When the switch is in the loading state, this value controls the amount of delay in milliseconds before the word \"Loading\" is announced to screen readers."
7892
+ },
7893
+ {
7894
+ "name": "loadingLabel",
7895
+ "type": "string",
7896
+ "defaultValue": "'Loading'",
7897
+ "description": "The text that is announced to AT such as screen readers when the switch is in a loading state."
7898
+ },
8008
7899
  {
8009
7900
  "name": "buttonType",
8010
7901
  "type": "'button' | 'submit' | 'reset'",
8011
7902
  "defaultValue": "'button'",
8012
7903
  "description": "As it’s part of form behavior, this controls whether the button is of type `button`, `submit`, or `reset`."
7904
+ },
7905
+ {
7906
+ "name": "buttonLabelOn",
7907
+ "type": "string",
7908
+ "defaultValue": "'On'",
7909
+ "description": "The text to display when the toggle switch is turned on. Only customize this label if there is a more specific label for the context. For example, you might use 'Show' if the setting is 'Show images'."
7910
+ },
7911
+ {
7912
+ "name": "buttonLabelOff",
7913
+ "type": "string",
7914
+ "defaultValue": "'Off'",
7915
+ "description": "The text to display when the toggle switch is turned off. Only customize this label if there is a more specific label for the context. For example, you might use 'Hide' if the setting is 'Show images'."
8013
7916
  }
8014
7917
  ],
8015
7918
  "subcomponents": []
@@ -8019,7 +7922,7 @@
8019
7922
  "id": "token",
8020
7923
  "name": "Token",
8021
7924
  "status": "alpha",
8022
- "a11yReviewed": false,
7925
+ "a11yReviewed": "2025-01-08",
8023
7926
  "stories": [
8024
7927
  {
8025
7928
  "id": "components-token--default",
@@ -8027,7 +7930,7 @@
8027
7930
  },
8028
7931
  {
8029
7932
  "id": "components-token-features--interactive-token",
8030
- "code": "() => {\n return (\n <Box\n display=\"flex\"\n sx={{\n alignItems: 'start',\n gap: get('space.2'),\n }}\n >\n <Token\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"Link\"\n />\n <Token as=\"button\" onClick={action('clicked')} text=\"Button\" />\n </Box>\n )\n}"
7933
+ "code": "() => {\n return (\n <div className={classes.TokenRow}>\n <Token\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"Link\"\n />\n <Token as=\"button\" onClick={action('clicked')} text=\"Button\" />\n </div>\n )\n}"
8031
7934
  },
8032
7935
  {
8033
7936
  "id": "components-token-features--token-with-leading-visual",
@@ -8035,7 +7938,7 @@
8035
7938
  },
8036
7939
  {
8037
7940
  "id": "components-token-features--token-with-on-remove-fn",
8038
- "code": "({ ...args }) => {\n return (\n <Box\n display=\"flex\"\n sx={{\n alignItems: 'start',\n gap: get('space.2'),\n }}\n >\n <Token text=\"token\" onRemove={action('remove me')} {...args} />\n <Token\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n onRemove={action('remove me')}\n text=\"Link\"\n {...args}\n />\n <Token\n as=\"button\"\n onClick={action('clicked')}\n onRemove={action('remove me')}\n text=\"Button\"\n {...args}\n />\n </Box>\n )\n}"
7941
+ "code": "({ ...args }) => {\n return (\n <div className={classes.TokenRow}>\n <Token text=\"token\" onRemove={action('remove me')} {...args} />\n <Token\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n onRemove={action('remove me')}\n text=\"Link\"\n {...args}\n />\n <Token\n as=\"button\"\n onClick={action('clicked')}\n onRemove={action('remove me')}\n text=\"Button\"\n {...args}\n />\n </div>\n )\n}"
8039
7942
  },
8040
7943
  {
8041
7944
  "id": "components-token-features--default-issue-label-token",
@@ -8043,11 +7946,11 @@
8043
7946
  },
8044
7947
  {
8045
7948
  "id": "components-token-features--interactive-issue-label-token",
8046
- "code": "() => {\n return (\n <Box\n display=\"flex\"\n sx={{\n alignItems: 'start',\n gap: get('space.2'),\n }}\n >\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"Link\"\n />\n <IssueLabelToken as=\"button\" onClick={action('clicked')} text=\"Button\" />\n </Box>\n )\n}"
7949
+ "code": "() => {\n return (\n <div className={classes.TokenRow}>\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"Link\"\n />\n <IssueLabelToken as=\"button\" onClick={action('clicked')} text=\"Button\" />\n </div>\n )\n}"
8047
7950
  },
8048
7951
  {
8049
7952
  "id": "components-token-features--issue-label-token-with-on-remove-fn",
8050
- "code": "() => {\n return (\n <Box\n display=\"flex\"\n sx={{\n alignItems: 'start',\n gap: get('space.2'),\n }}\n >\n <IssueLabelToken text=\"token\" onRemove={action('remove me')} />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n onRemove={action('remove me')}\n text=\"Link\"\n />\n <IssueLabelToken\n as=\"button\"\n onClick={action('clicked')}\n onRemove={action('remove me')}\n text=\"Button\"\n />\n </Box>\n )\n}"
7953
+ "code": "() => {\n return (\n <div className={classes.TokenRow}>\n <IssueLabelToken text=\"token\" onRemove={action('remove me')} />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n onRemove={action('remove me')}\n text=\"Link\"\n />\n <IssueLabelToken\n as=\"button\"\n onClick={action('clicked')}\n onRemove={action('remove me')}\n text=\"Button\"\n />\n </div>\n )\n}"
8051
7954
  },
8052
7955
  {
8053
7956
  "id": "components-token-features--small-token",
@@ -8063,7 +7966,7 @@
8063
7966
  },
8064
7967
  {
8065
7968
  "id": "components-token-features--issue-label-token-custom-colors",
8066
- "code": "() => {\n return (\n <Box\n display=\"flex\"\n sx={{\n flexDirection: 'column',\n alignItems: 'start',\n gap: get('space.2'),\n }}\n >\n <Box\n display=\"flex\"\n sx={{\n alignItems: 'start',\n gap: get('space.2'),\n }}\n >\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"Link\"\n fillColor=\"#0366d6\"\n />\n <IssueLabelToken\n as=\"button\"\n onClick={action('clicked')}\n text=\"Button\"\n fillColor=\"lightpink\"\n />\n </Box>\n <h3>Color examples</h3>\n <Box\n display=\"flex\"\n flexWrap=\"wrap\"\n sx={{\n alignItems: 'start',\n gap: get('space.2'),\n }}\n >\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"😀 Link\"\n fillColor=\"#8c50c8\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"Token\"\n fillColor=\"#a9d3bc\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"🚨 Problem\"\n fillColor=\"#98afa7\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"📥 Inbox\"\n fillColor=\"#573807\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"deeppink\"\n fillColor=\"#b7b41e\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"👹 Link\"\n fillColor=\"#0f65b1\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"Tiger\"\n fillColor=\"#e7bc68\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"🐛 coral\"\n fillColor=\"#D6F2DE\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"Long label\"\n fillColor=\"#161E37\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"✅ Done\"\n fillColor=\"#232323\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"Hello\"\n fillColor=\"#E0E0E0\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"Lorem\"\n fillColor=\"#aed531\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"Lorem\"\n fillColor=\"#d980fc\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"Lorem\"\n fillColor=\"#e7f922\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"🚀 Lorem\"\n fillColor=\"#ef70e9\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"Lorem\"\n fillColor=\"#72ea84\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"Lorem\"\n fillColor=\"#87e50b\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"🤷 Lorem\"\n fillColor=\"#fcf646\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"💡 Light\"\n fillColor=\"#E40C74\"\n />\n </Box>\n </Box>\n )\n}"
7969
+ "code": "() => {\n return (\n <div className={classes.TokenColumn}>\n <div className={classes.TokenRow}>\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"Link\"\n fillColor=\"#0366d6\"\n />\n <IssueLabelToken\n as=\"button\"\n onClick={action('clicked')}\n text=\"Button\"\n fillColor=\"lightpink\"\n />\n </div>\n <h3>Color examples</h3>\n <div className={classes.TokenWrapRow}>\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"😀 Link\"\n fillColor=\"#8c50c8\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"Token\"\n fillColor=\"#a9d3bc\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"🚨 Problem\"\n fillColor=\"#98afa7\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"📥 Inbox\"\n fillColor=\"#573807\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"deeppink\"\n fillColor=\"#b7b41e\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"👹 Link\"\n fillColor=\"#0f65b1\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"Tiger\"\n fillColor=\"#e7bc68\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"🐛 coral\"\n fillColor=\"#D6F2DE\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"Long label\"\n fillColor=\"#161E37\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"✅ Done\"\n fillColor=\"#232323\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"Hello\"\n fillColor=\"#E0E0E0\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"Lorem\"\n fillColor=\"#aed531\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"Lorem\"\n fillColor=\"#d980fc\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"Lorem\"\n fillColor=\"#e7f922\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"🚀 Lorem\"\n fillColor=\"#ef70e9\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"Lorem\"\n fillColor=\"#72ea84\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"Lorem\"\n fillColor=\"#87e50b\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"🤷 Lorem\"\n fillColor=\"#fcf646\"\n />\n <IssueLabelToken\n as=\"a\"\n href=\"/?path=/story/components-token-features--issue-label-token-custom-colors\"\n text=\"💡 Light\"\n fillColor=\"#E40C74\"\n />\n </div>\n </div>\n )\n}"
8067
7970
  }
8068
7971
  ],
8069
7972
  "importPath": "@primer/react",
@@ -8166,56 +8069,6 @@
8166
8069
  "deprecated": true
8167
8070
  }
8168
8071
  ]
8169
- },
8170
- {
8171
- "name": "AvatarToken",
8172
- "props": [
8173
- {
8174
- "name": "avatarSrc",
8175
- "type": "string"
8176
- },
8177
- {
8178
- "name": "text",
8179
- "required": true,
8180
- "type": "string",
8181
- "description": "The text label inside the token"
8182
- },
8183
- {
8184
- "name": "as",
8185
- "type": "'button' | 'a' | 'span'",
8186
- "defaultValue": "'span'"
8187
- },
8188
- {
8189
- "name": "onRemove",
8190
- "type": "() => void",
8191
- "description": "The function that gets called when a user clicks the remove button, or keys `Backspace` or `Delete` when focused on the token"
8192
- },
8193
- {
8194
- "name": "hideRemoveButton",
8195
- "type": "boolean",
8196
- "description": "Whether the remove button should be rendered in the token"
8197
- },
8198
- {
8199
- "name": "isSelected",
8200
- "type": "boolean",
8201
- "description": "Whether the token is selected"
8202
- },
8203
- {
8204
- "name": "id",
8205
- "type": "number | string",
8206
- "description": "A unique identifier that can be associated with the token"
8207
- },
8208
- {
8209
- "name": "size",
8210
- "type": "'small' | 'medium' | 'large' | 'xlarge'",
8211
- "description": "Which size the token will be rendered at"
8212
- },
8213
- {
8214
- "name": "sx",
8215
- "type": "SystemStyleObject",
8216
- "deprecated": true
8217
- }
8218
- ]
8219
8072
  }
8220
8073
  ]
8221
8074
  },
@@ -8229,15 +8082,15 @@
8229
8082
  "stories": [
8230
8083
  {
8231
8084
  "id": "deprecated-components-tooltip--default",
8232
- "code": "() => (\n <>\n <Box\n sx={{\n mb: 3,\n }}\n >\n <Banner\n title=\"Planned for deprecation\"\n description={\n <div data-a11y-link-underlines=\"true\">\n There are plans to deprecate this component in a future release. We\n recommend using{' '}\n <Link\n inline={true}\n href=\"/react/storybook/?path=/story/components-tooltipv2--default\"\n >\n Tooltip\n </Link>{' '}\n instead.\n </div>\n }\n variant=\"warning\"\n />\n </Box>\n <Box\n sx={{\n p: 5,\n }}\n >\n <Tooltip aria-label=\"Hello, Tooltip!\">\n <Button>Hover me</Button>\n </Tooltip>\n </Box>\n </>\n)"
8085
+ "code": "() => (\n <>\n <div className={classes.BannerContainer}>\n <Banner\n title=\"Planned for deprecation\"\n description={\n <div data-a11y-link-underlines=\"true\">\n There are plans to deprecate this component in a future release. We\n recommend using{' '}\n <Link\n inline={true}\n href=\"/react/storybook/?path=/story/components-tooltipv2--default\"\n >\n Tooltip\n </Link>{' '}\n instead.\n </div>\n }\n variant=\"warning\"\n />\n </div>\n <div className={classes.PaddedContainer}>\n <Tooltip aria-label=\"Hello, Tooltip!\">\n <Button>Hover me</Button>\n </Tooltip>\n </div>\n </>\n)"
8233
8086
  },
8234
8087
  {
8235
8088
  "id": "deprecated-components-tooltip-features--all-directions",
8236
- "code": "() => (\n <Box\n sx={{\n padding: 5,\n display: 'flex',\n gap: '8px',\n }}\n >\n <Tooltip direction=\"n\" aria-label=\"Supplementary text\">\n <Button>North</Button>\n </Tooltip>\n <Tooltip direction=\"s\" aria-label=\"Supplementary text\">\n <Button>South</Button>\n </Tooltip>\n <Tooltip direction=\"e\" aria-label=\"Supplementary text\">\n <Button>East</Button>\n </Tooltip>\n <Tooltip direction=\"w\" aria-label=\"Supplementary text\">\n <Button>West</Button>\n </Tooltip>\n <Tooltip direction=\"ne\" aria-label=\"Supplementary text\">\n <Button>North East</Button>\n </Tooltip>\n <Tooltip direction=\"nw\" aria-label=\"Supplementary text\">\n <Button>North West</Button>\n </Tooltip>\n <Tooltip direction=\"se\" aria-label=\"Supplementary text\">\n <Button>Southeast</Button>\n </Tooltip>\n <Tooltip direction=\"sw\" aria-label=\"Supplementary text\">\n <Button>Southwest</Button>\n </Tooltip>\n </Box>\n)"
8089
+ "code": "() => (\n <div className={classes.AllDirectionsRow}>\n <Tooltip direction=\"n\" aria-label=\"Supplementary text\">\n <Button>North</Button>\n </Tooltip>\n <Tooltip direction=\"s\" aria-label=\"Supplementary text\">\n <Button>South</Button>\n </Tooltip>\n <Tooltip direction=\"e\" aria-label=\"Supplementary text\">\n <Button>East</Button>\n </Tooltip>\n <Tooltip direction=\"w\" aria-label=\"Supplementary text\">\n <Button>West</Button>\n </Tooltip>\n <Tooltip direction=\"ne\" aria-label=\"Supplementary text\">\n <Button>North East</Button>\n </Tooltip>\n <Tooltip direction=\"nw\" aria-label=\"Supplementary text\">\n <Button>North West</Button>\n </Tooltip>\n <Tooltip direction=\"se\" aria-label=\"Supplementary text\">\n <Button>Southeast</Button>\n </Tooltip>\n <Tooltip direction=\"sw\" aria-label=\"Supplementary text\">\n <Button>Southwest</Button>\n </Tooltip>\n </div>\n)"
8237
8090
  },
8238
8091
  {
8239
8092
  "id": "deprecated-components-tooltip-features--icon-button-tooltip",
8240
- "code": "() => (\n <Box\n sx={{\n p: 5,\n }}\n >\n <Tooltip aria-label=\"Search\">\n <IconButton icon={SearchIcon} aria-label=\"Search\" />\n </Tooltip>\n </Box>\n)"
8093
+ "code": "() => (\n <div className={classes.PaddedContainer}>\n <Tooltip aria-label=\"Search\">\n <IconButton icon={SearchIcon} aria-label=\"Search\" />\n </Tooltip>\n </div>\n)"
8241
8094
  }
8242
8095
  ],
8243
8096
  "importPath": "@primer/react/deprecated",
@@ -8281,44 +8134,44 @@
8281
8134
  "name": "Tooltip",
8282
8135
  "docsId": "tooltip",
8283
8136
  "status": "beta",
8284
- "a11yReviewed": true,
8137
+ "a11yReviewed": "2025-01-08",
8285
8138
  "importPath": "@primer/react/next",
8286
8139
  "stories": [
8287
8140
  {
8288
8141
  "id": "components-tooltipv2--default",
8289
- "code": "() => (\n <Box\n sx={{\n p: 6,\n }}\n >\n <Tooltip text=\"This change can't be undone.\">\n <Button>Delete</Button>\n </Tooltip>\n </Box>\n)"
8142
+ "code": "() => (\n <div className={classes.PaddedContainer}>\n <Tooltip text=\"This change can't be undone.\">\n <Button>Delete</Button>\n </Tooltip>\n </div>\n)"
8290
8143
  },
8291
8144
  {
8292
8145
  "id": "components-tooltipv2-features--anchor-has-margin",
8293
- "code": "() => (\n <Box\n sx={{\n p: 5,\n }}\n >\n <Tooltip text=\"Tooltip is still centered\">\n <Button\n sx={{\n marginLeft: 3,\n }}\n >\n Button has 16px margin Left\n </Button>\n </Tooltip>\n </Box>\n)"
8146
+ "code": "() => (\n <div className={classes.PaddedContainer}>\n <Tooltip text=\"Tooltip is still centered\">\n <Button className={classes.MarginLeftButton}>\n Button has 16px margin Left\n </Button>\n </Tooltip>\n </div>\n)"
8294
8147
  },
8295
8148
  {
8296
8149
  "id": "components-tooltipv2-features--label-type",
8297
- "code": "() => (\n <Box>\n <Tooltip text=\"Contribution Documentation for 'Primer React'\" type=\"label\">\n <Link\n href=\"https://github.com/primer/react/contributor-docs/CONTRIBUTING.md\"\n sx={{\n ml: 1,\n color: 'fg.muted',\n }}\n >\n <Octicon\n icon={BookIcon}\n sx={{\n color: 'fg.muted',\n }}\n />\n </Link>\n </Tooltip>\n </Box>\n)"
8150
+ "code": "() => (\n <div>\n <Tooltip text=\"Contribution Documentation for 'Primer React'\" type=\"label\">\n <Link\n href=\"https://github.com/primer/react/contributor-docs/CONTRIBUTING.md\"\n className={classes.LabelLink}\n >\n <Octicon icon={BookIcon} className={classes.LabelIcon} />\n </Link>\n </Tooltip>\n </div>\n)"
8298
8151
  },
8299
8152
  {
8300
8153
  "id": "components-tooltipv2-features--description-type",
8301
- "code": "() => (\n <Box\n sx={{\n p: 5,\n }}\n >\n <Tooltip text=\"Supplementary text\" direction=\"n\">\n <Button>Save</Button>\n </Tooltip>\n </Box>\n)"
8154
+ "code": "() => (\n <div className={classes.PaddedContainer}>\n <Tooltip text=\"Supplementary text\" direction=\"n\">\n <Button>Save</Button>\n </Tooltip>\n </div>\n)"
8302
8155
  },
8303
8156
  {
8304
8157
  "id": "components-tooltipv2-features--icon-button-with-description",
8305
- "code": "() => (\n <Box\n sx={{\n p: 5,\n }}\n >\n <Tooltip text=\"Supplementary text for icon button\" direction=\"e\">\n <IconButton icon={SearchIcon} aria-label=\"Search\" />\n </Tooltip>\n </Box>\n)"
8158
+ "code": "() => (\n <div className={classes.PaddedContainer}>\n <Tooltip text=\"Supplementary text for icon button\" direction=\"e\">\n <IconButton icon={SearchIcon} aria-label=\"Search\" />\n </Tooltip>\n </div>\n)"
8306
8159
  },
8307
8160
  {
8308
8161
  "id": "components-tooltipv2-features--all-directions",
8309
- "code": "() => (\n <Box\n sx={{\n padding: 5,\n display: 'flex',\n gap: '8px',\n }}\n >\n <Tooltip direction=\"n\" text=\"Supplementary text\">\n <Button>North</Button>\n </Tooltip>\n <Tooltip direction=\"s\" text=\"Supplementary text\">\n <Button>South</Button>\n </Tooltip>\n <Tooltip direction=\"e\" text=\"Supplementary text\">\n <Button>East</Button>\n </Tooltip>\n <Tooltip direction=\"w\" text=\"Supplementary text\">\n <Button>West</Button>\n </Tooltip>\n <Tooltip direction=\"ne\" text=\"Supplementary text\">\n <Button>North East</Button>\n </Tooltip>\n <Tooltip direction=\"nw\" text=\"Supplementary text\">\n <Button>North West</Button>\n </Tooltip>\n <Tooltip direction=\"se\" text=\"Supplementary text\">\n <Button>Southeast</Button>\n </Tooltip>\n <Tooltip direction=\"sw\" text=\"Supplementary text\">\n <Button>Southwest</Button>\n </Tooltip>\n </Box>\n)"
8162
+ "code": "() => (\n <div className={classes.AllDirectionsRow}>\n <Tooltip direction=\"n\" text=\"Supplementary text\">\n <Button>North</Button>\n </Tooltip>\n <Tooltip direction=\"s\" text=\"Supplementary text\">\n <Button>South</Button>\n </Tooltip>\n <Tooltip direction=\"e\" text=\"Supplementary text\">\n <Button>East</Button>\n </Tooltip>\n <Tooltip direction=\"w\" text=\"Supplementary text\">\n <Button>West</Button>\n </Tooltip>\n <Tooltip direction=\"ne\" text=\"Supplementary text\">\n <Button>North East</Button>\n </Tooltip>\n <Tooltip direction=\"nw\" text=\"Supplementary text\">\n <Button>North West</Button>\n </Tooltip>\n <Tooltip direction=\"se\" text=\"Supplementary text\">\n <Button>Southeast</Button>\n </Tooltip>\n <Tooltip direction=\"sw\" text=\"Supplementary text\">\n <Button>Southwest</Button>\n </Tooltip>\n </div>\n)"
8310
8163
  },
8311
8164
  {
8312
8165
  "id": "components-tooltipv2-features--multiline-text",
8313
- "code": "() => (\n <Box>\n <Tooltip\n direction=\"e\"\n text=\"Random long text that needs to be wrapped and be multipline and have some paddings around\"\n >\n <Button>Multiline East</Button>\n </Tooltip>\n </Box>\n)"
8166
+ "code": "() => (\n <div>\n <Tooltip\n direction=\"e\"\n text=\"Random long text that needs to be wrapped and be multipline and have some paddings around\"\n >\n <Button>Multiline East</Button>\n </Tooltip>\n </div>\n)"
8314
8167
  },
8315
8168
  {
8316
8169
  "id": "components-tooltipv2-features--calculated-direction",
8317
- "code": "() => (\n <Box\n sx={{\n padding: 5,\n display: 'flex',\n gap: '8px',\n }}\n >\n <Tooltip\n direction=\"w\"\n text=\"But appears in the east direction due to not having enough space in the west\"\n >\n <Button>West</Button>\n </Tooltip>\n\n <Tooltip text=\"The direction here is north by default but there is not enough space in the north therefore the tooltip appears in the south\">\n <Button>North</Button>\n </Tooltip>\n </Box>\n)"
8170
+ "code": "() => (\n <div className={classes.AllDirectionsRow}>\n <Tooltip\n direction=\"w\"\n text=\"But appears in the east direction due to not having enough space in the west\"\n >\n <Button>West</Button>\n </Tooltip>\n\n <Tooltip text=\"The direction here is north by default but there is not enough space in the north therefore the tooltip appears in the south\">\n <Button>North</Button>\n </Tooltip>\n </div>\n)"
8318
8171
  },
8319
8172
  {
8320
8173
  "id": "components-tooltipv2-features--on-action-menu-anchor",
8321
- "code": "() => (\n <Box\n sx={{\n display: 'flex',\n padding: 5,\n gap: 2,\n }}\n >\n <ActionMenu>\n <ActionMenu.Anchor>\n <Tooltip text=\"Supplementary text to add here\" direction=\"n\">\n <Button\n leadingVisual={GitBranchIcon}\n trailingAction={TriangleDownIcon}\n >\n ActionMenu.Anchor w/ t\n </Button>\n </Tooltip>\n </ActionMenu.Anchor>\n <ActionMenu.Overlay width=\"medium\">\n <ActionList>\n <ActionList.Item onSelect={() => alert('Main')}>\n <ActionList.LeadingVisual>\n <CheckIcon />\n </ActionList.LeadingVisual>\n main <ActionList.TrailingVisual>default</ActionList.TrailingVisual>\n </ActionList.Item>\n <ActionList.Item onSelect={() => alert('Branch 1')}>\n branch-1\n </ActionList.Item>\n <ActionList.Item onSelect={() => alert('Branch 2')}>\n branch-2\n </ActionList.Item>\n </ActionList>\n </ActionMenu.Overlay>\n </ActionMenu>\n <ActionMenu>\n <Tooltip text=\"Supplementary text to add here\" direction=\"n\">\n <ActionMenu.Button leadingVisual={GitBranchIcon}>\n ActionMenu.Button w/ t\n </ActionMenu.Button>\n </Tooltip>\n <ActionMenu.Overlay width=\"medium\">\n <ActionList>\n <ActionList.Item onSelect={() => alert('Main')}>\n <ActionList.LeadingVisual>\n <CheckIcon />\n </ActionList.LeadingVisual>\n main <ActionList.TrailingVisual>default</ActionList.TrailingVisual>\n </ActionList.Item>\n <ActionList.Item onSelect={() => alert('Branch 1')}>\n branch-1\n </ActionList.Item>\n <ActionList.Item onSelect={() => alert('Branch 2')}>\n branch-2\n </ActionList.Item>\n </ActionList>\n </ActionMenu.Overlay>\n </ActionMenu>\n <ActionMenu>\n <ActionMenu.Anchor>\n <Button leadingVisual={GitBranchIcon} trailingAction={TriangleDownIcon}>\n ActionMenu.Anchor\n </Button>\n </ActionMenu.Anchor>\n <ActionMenu.Overlay width=\"medium\">\n <ActionList>\n <ActionList.Item onSelect={() => alert('Main')}>\n <ActionList.LeadingVisual>\n <CheckIcon />\n </ActionList.LeadingVisual>\n main <ActionList.TrailingVisual>default</ActionList.TrailingVisual>\n </ActionList.Item>\n <ActionList.Item onSelect={() => alert('Branch 1')}>\n branch-1\n </ActionList.Item>\n <ActionList.Item onSelect={() => alert('Branch 2')}>\n branch-2\n </ActionList.Item>\n </ActionList>\n </ActionMenu.Overlay>\n </ActionMenu>\n <ActionMenu>\n <ActionMenu.Button leadingVisual={GitBranchIcon}>\n ActionMenu.Button\n </ActionMenu.Button>\n\n <ActionMenu.Overlay width=\"medium\">\n <ActionList>\n <ActionList.Item onSelect={() => alert('Main')}>\n <ActionList.LeadingVisual>\n <CheckIcon />\n </ActionList.LeadingVisual>\n main <ActionList.TrailingVisual>default</ActionList.TrailingVisual>\n </ActionList.Item>\n <ActionList.Item onSelect={() => alert('Branch 1')}>\n branch-1\n </ActionList.Item>\n <ActionList.Item onSelect={() => alert('Branch 2')}>\n branch-2\n </ActionList.Item>\n </ActionList>\n </ActionMenu.Overlay>\n </ActionMenu>\n </Box>\n)"
8174
+ "code": "() => (\n <div className={classes.ActionMenuRow}>\n <ActionMenu>\n <ActionMenu.Anchor>\n <Tooltip text=\"Supplementary text to add here\" direction=\"n\">\n <Button\n leadingVisual={GitBranchIcon}\n trailingAction={TriangleDownIcon}\n >\n ActionMenu.Anchor w/ t\n </Button>\n </Tooltip>\n </ActionMenu.Anchor>\n <ActionMenu.Overlay width=\"medium\">\n <ActionList>\n <ActionList.Item onSelect={() => alert('Main')}>\n <ActionList.LeadingVisual>\n <CheckIcon />\n </ActionList.LeadingVisual>\n main <ActionList.TrailingVisual>default</ActionList.TrailingVisual>\n </ActionList.Item>\n <ActionList.Item onSelect={() => alert('Branch 1')}>\n branch-1\n </ActionList.Item>\n <ActionList.Item onSelect={() => alert('Branch 2')}>\n branch-2\n </ActionList.Item>\n </ActionList>\n </ActionMenu.Overlay>\n </ActionMenu>\n <ActionMenu>\n <Tooltip text=\"Supplementary text to add here\" direction=\"n\">\n <ActionMenu.Button leadingVisual={GitBranchIcon}>\n ActionMenu.Button w/ t\n </ActionMenu.Button>\n </Tooltip>\n <ActionMenu.Overlay width=\"medium\">\n <ActionList>\n <ActionList.Item onSelect={() => alert('Main')}>\n <ActionList.LeadingVisual>\n <CheckIcon />\n </ActionList.LeadingVisual>\n main <ActionList.TrailingVisual>default</ActionList.TrailingVisual>\n </ActionList.Item>\n <ActionList.Item onSelect={() => alert('Branch 1')}>\n branch-1\n </ActionList.Item>\n <ActionList.Item onSelect={() => alert('Branch 2')}>\n branch-2\n </ActionList.Item>\n </ActionList>\n </ActionMenu.Overlay>\n </ActionMenu>\n <ActionMenu>\n <ActionMenu.Anchor>\n <Button leadingVisual={GitBranchIcon} trailingAction={TriangleDownIcon}>\n ActionMenu.Anchor\n </Button>\n </ActionMenu.Anchor>\n <ActionMenu.Overlay width=\"medium\">\n <ActionList>\n <ActionList.Item onSelect={() => alert('Main')}>\n <ActionList.LeadingVisual>\n <CheckIcon />\n </ActionList.LeadingVisual>\n main <ActionList.TrailingVisual>default</ActionList.TrailingVisual>\n </ActionList.Item>\n <ActionList.Item onSelect={() => alert('Branch 1')}>\n branch-1\n </ActionList.Item>\n <ActionList.Item onSelect={() => alert('Branch 2')}>\n branch-2\n </ActionList.Item>\n </ActionList>\n </ActionMenu.Overlay>\n </ActionMenu>\n <ActionMenu>\n <ActionMenu.Button leadingVisual={GitBranchIcon}>\n ActionMenu.Button\n </ActionMenu.Button>\n\n <ActionMenu.Overlay width=\"medium\">\n <ActionList>\n <ActionList.Item onSelect={() => alert('Main')}>\n <ActionList.LeadingVisual>\n <CheckIcon />\n </ActionList.LeadingVisual>\n main <ActionList.TrailingVisual>default</ActionList.TrailingVisual>\n </ActionList.Item>\n <ActionList.Item onSelect={() => alert('Branch 1')}>\n branch-1\n </ActionList.Item>\n <ActionList.Item onSelect={() => alert('Branch 2')}>\n branch-2\n </ActionList.Item>\n </ActionList>\n </ActionMenu.Overlay>\n </ActionMenu>\n </div>\n)"
8322
8175
  }
8323
8176
  ],
8324
8177
  "props": [
@@ -8358,7 +8211,7 @@
8358
8211
  "id": "tree_view",
8359
8212
  "name": "TreeView",
8360
8213
  "status": "beta",
8361
- "a11yReviewed": true,
8214
+ "a11yReviewed": "2025-01-08",
8362
8215
  "stories": [
8363
8216
  {
8364
8217
  "id": "components-treeview--default",
@@ -8386,7 +8239,7 @@
8386
8239
  },
8387
8240
  {
8388
8241
  "id": "components-treeview-features--controlled",
8389
- "code": "() => {\n const [currentPath, setCurrentPath] = React.useState<string[]>([\n 'src',\n 'Avatar.tsx',\n ])\n const [tree, setTree] = React.useState<TreeItem[]>(initialTree)\n return (\n <Box\n sx={{\n display: 'grid',\n gap: 3,\n }}\n >\n <Box\n sx={{\n display: 'flex',\n gap: 2,\n }}\n >\n <Button onClick={() => setTree(collapseAll)}>Collapse all</Button>\n <Button onClick={() => setTree(expandAll)}>Expand all</Button>\n </Box>\n <nav aria-label=\"Files\">\n <CurrentPathContext.Provider\n value={{\n currentPath,\n setCurrentPath,\n }}\n >\n <TreeView aria-label=\"Files\">\n {tree.map((item) => (\n <TreeItem\n key={item.data.name}\n item={item}\n path={[item.data.name]}\n onExpandedChange={(path, expanded) =>\n setTree((tree) => setExpanded(tree, path, expanded))\n }\n />\n ))}\n </TreeView>\n </CurrentPathContext.Provider>\n </nav>\n </Box>\n )\n}"
8242
+ "code": "() => {\n const [currentPath, setCurrentPath] = React.useState<string[]>([\n 'src',\n 'Avatar.tsx',\n ])\n const [tree, setTree] = React.useState<TreeItem[]>(initialTree)\n return (\n <div className={classes.ControlledContainer}>\n <div className={classes.ButtonContainer}>\n <Button onClick={() => setTree(collapseAll)}>Collapse all</Button>\n <Button onClick={() => setTree(expandAll)}>Expand all</Button>\n </div>\n <nav aria-label=\"Files\">\n <CurrentPathContext.Provider\n value={{\n currentPath,\n setCurrentPath,\n }}\n >\n <TreeView aria-label=\"Files\">\n {tree.map((item) => (\n <TreeItem\n key={item.data.name}\n item={item}\n path={[item.data.name]}\n onExpandedChange={(path, expanded) =>\n setTree((tree) => setExpanded(tree, path, expanded))\n }\n />\n ))}\n </TreeView>\n </CurrentPathContext.Provider>\n </nav>\n </div>\n )\n}"
8390
8243
  }
8391
8244
  ],
8392
8245
  "importPath": "@primer/react",
@@ -8475,6 +8328,11 @@
8475
8328
  "type": "boolean",
8476
8329
  "description": "The controlled expanded state of item. Must be used in conjunction with onExpandedChange."
8477
8330
  },
8331
+ {
8332
+ "name": "secondaryActions",
8333
+ "type": "TreeViewSecondaryActions[]",
8334
+ "description": "An array of secondary actions to render in as a trailing action. Each action should have a 'label', 'icon', and 'onClick' handler."
8335
+ },
8478
8336
  {
8479
8337
  "name": "containIntrinsicSize",
8480
8338
  "type": "string",
@@ -8593,7 +8451,7 @@
8593
8451
  "id": "truncate",
8594
8452
  "name": "Truncate",
8595
8453
  "status": "alpha",
8596
- "a11yReviewed": false,
8454
+ "a11yReviewed": "2025-01-08",
8597
8455
  "stories": [
8598
8456
  {
8599
8457
  "id": "components-truncate--default",
@@ -8650,7 +8508,7 @@
8650
8508
  "id": "underline_nav",
8651
8509
  "name": "UnderlineNav",
8652
8510
  "status": "beta",
8653
- "a11yReviewed": true,
8511
+ "a11yReviewed": "2025-01-08",
8654
8512
  "stories": [
8655
8513
  {
8656
8514
  "id": "components-underlinenav-features--default",
@@ -8707,11 +8565,6 @@
8707
8565
  "type": "'inset' | 'flush'",
8708
8566
  "defaultValue": "'inset'",
8709
8567
  "description": "`inset` children are offset horizontally from container edges. `flush` children are flush horizontally with container edges"
8710
- },
8711
- {
8712
- "name": "sx",
8713
- "type": "SystemStyleObject",
8714
- "deprecated": true
8715
8568
  }
8716
8569
  ],
8717
8570
  "subcomponents": [
@@ -8752,11 +8605,6 @@
8752
8605
  "name": "as",
8753
8606
  "type": "React.ElementType",
8754
8607
  "defaultValue": "\"a\""
8755
- },
8756
- {
8757
- "name": "sx",
8758
- "type": "SystemStyleObject",
8759
- "deprecated": true
8760
8608
  }
8761
8609
  ],
8762
8610
  "passthrough": {
@@ -8798,7 +8646,7 @@
8798
8646
  "id": "legacy_underline_nav",
8799
8647
  "name": "UnderlineNav",
8800
8648
  "status": "deprecated",
8801
- "a11yReviewed": false,
8649
+ "a11yReviewed": "2025-01-08",
8802
8650
  "stories": [
8803
8651
  {
8804
8652
  "id": "deprecated-components-underlinenav--default",
@@ -8830,11 +8678,6 @@
8830
8678
  "name": "aria-label",
8831
8679
  "type": "string",
8832
8680
  "description": "Used to set the `aria-label` on the top level `<nav>` element."
8833
- },
8834
- {
8835
- "name": "sx",
8836
- "type": "SystemStyleObject",
8837
- "deprecated": true
8838
8681
  }
8839
8682
  ],
8840
8683
  "subcomponents": [
@@ -8867,146 +8710,44 @@
8867
8710
  "source": "https://github.com/primer/react/tree/main/packages/react/src/experimental/IssueLabel",
8868
8711
  "id": "issue_label",
8869
8712
  "name": "IssueLabel",
8870
- "status": "draft",
8871
- "a11yReviewed": false,
8713
+ "status": "alpha",
8714
+ "a11yReviewed": "2025-01-08",
8872
8715
  "stories": [
8873
8716
  {
8874
8717
  "id": "experimental-components-issuelabel--default",
8875
- "code": "() => <IssueLabel text=\"Issue label\" />"
8876
- },
8877
- {
8878
- "id": "experimental-components-issuelabel-features--variant-pink",
8879
- "code": "() => <IssueLabel variant=\"pink\" text=\"Issue label\" />"
8880
- },
8881
- {
8882
- "id": "experimental-components-issuelabel-features--variant-plum",
8883
- "code": "() => <IssueLabel variant=\"plum\" text=\"Issue label\" />"
8884
- },
8885
- {
8886
- "id": "experimental-components-issuelabel-features--variant-purple",
8887
- "code": "() => <IssueLabel variant=\"purple\" text=\"Issue label\" />"
8888
- },
8889
- {
8890
- "id": "experimental-components-issuelabel-features--variant-indigo",
8891
- "code": "() => <IssueLabel variant=\"indigo\" text=\"Issue label\" />"
8892
- },
8893
- {
8894
- "id": "experimental-components-issuelabel-features--variant-blue",
8895
- "code": "() => <IssueLabel variant=\"blue\" text=\"Issue label\" />"
8896
- },
8897
- {
8898
- "id": "experimental-components-issuelabel-features--variant-cyan",
8899
- "code": "() => <IssueLabel variant=\"cyan\" text=\"Issue label\" />"
8900
- },
8901
- {
8902
- "id": "experimental-components-issuelabel-features--variant-teal",
8903
- "code": "() => <IssueLabel variant=\"teal\" text=\"Issue label\" />"
8904
- },
8905
- {
8906
- "id": "experimental-components-issuelabel-features--variant-pine",
8907
- "code": "() => <IssueLabel variant=\"pine\" text=\"Issue label\" />"
8908
- },
8909
- {
8910
- "id": "experimental-components-issuelabel-features--variant-green",
8911
- "code": "() => <IssueLabel variant=\"green\" text=\"Issue label\" />"
8912
- },
8913
- {
8914
- "id": "experimental-components-issuelabel-features--variant-lime",
8915
- "code": "() => <IssueLabel variant=\"lime\" text=\"Issue label\" />"
8916
- },
8917
- {
8918
- "id": "experimental-components-issuelabel-features--variant-olive",
8919
- "code": "() => <IssueLabel variant=\"olive\" text=\"Issue label\" />"
8920
- },
8921
- {
8922
- "id": "experimental-components-issuelabel-features--variant-lemon",
8923
- "code": "() => <IssueLabel variant=\"lemon\" text=\"Issue label\" />"
8924
- },
8925
- {
8926
- "id": "experimental-components-issuelabel-features--variant-yellow",
8927
- "code": "() => <IssueLabel variant=\"yellow\" text=\"Issue label\" />"
8718
+ "code": "() => <IssueLabel>Issue label</IssueLabel>"
8928
8719
  },
8929
8720
  {
8930
- "id": "experimental-components-issuelabel-features--variant-orange",
8931
- "code": "() => <IssueLabel variant=\"orange\" text=\"Issue label\" />"
8932
- },
8933
- {
8934
- "id": "experimental-components-issuelabel-features--variant-red",
8935
- "code": "() => <IssueLabel variant=\"red\" text=\"Issue label\" />"
8936
- },
8937
- {
8938
- "id": "experimental-components-issuelabel-features--variant-coral",
8939
- "code": "() => <IssueLabel variant=\"coral\" text=\"Issue label\" />"
8940
- },
8941
- {
8942
- "id": "experimental-components-issuelabel-features--variant-gray",
8943
- "code": "() => <IssueLabel variant=\"gray\" text=\"Issue label\" />"
8944
- },
8945
- {
8946
- "id": "experimental-components-issuelabel-features--variant-brown",
8947
- "code": "() => <IssueLabel variant=\"brown\" text=\"Issue label\" />"
8948
- },
8949
- {
8950
- "id": "experimental-components-issuelabel-features--variant-auburn",
8951
- "code": "() => <IssueLabel variant=\"auburn\" text=\"Issue label\" />"
8721
+ "id": "experimental-components-issuelabel-features--group-of-labels",
8722
+ "code": "() => (\n <Stack direction=\"horizontal\" gap=\"condensed\" wrap=\"wrap\">\n <IssueLabel variant=\"blue\">Issue label</IssueLabel>\n <IssueLabel variant=\"purple\">Another label</IssueLabel>\n <IssueLabel variant=\"green\">A third label</IssueLabel>\n <IssueLabel variant=\"orange\">Issue label</IssueLabel>\n <IssueLabel variant=\"yellow\">Another label</IssueLabel>\n <IssueLabel variant=\"brown\">A third label</IssueLabel>\n </Stack>\n)"
8952
8723
  },
8953
8724
  {
8954
8725
  "id": "experimental-components-issuelabel-features--hex-color",
8955
- "code": "(args: { fillColor: `#${string}` }) => (\n <IssueLabel text=\"Issue label\" fillColor={args.fillColor} />\n)"
8956
- },
8957
- {
8958
- "id": "experimental-components-issuelabel-features--as-link",
8959
- "code": "() => <IssueLabel href=\"/\" text=\"Issue label\" />"
8960
- },
8961
- {
8962
- "id": "experimental-components-issuelabel-features--as-button",
8963
- "code": "() => <IssueLabel text=\"Issue label\" as=\"button\" />"
8964
- },
8965
- {
8966
- "id": "experimental-components-issuelabel-features--on-click",
8967
- "code": "() => <IssueLabel text=\"Issue label\" onClick={() => alert('clicked')} />"
8968
- },
8969
- {
8970
- "id": "experimental-components-issuelabel-features--group-of-labels",
8971
- "code": "() => (\n <Stack direction=\"horizontal\" gap=\"condensed\" wrap=\"wrap\">\n <IssueLabel variant=\"blue\" text=\"Issue label\" />\n <IssueLabel variant=\"purple\" text=\"Another label\" />\n <IssueLabel variant=\"green\" text=\"A third label\" />\n <IssueLabel variant=\"orange\" text=\"Issue label\" />\n <IssueLabel variant=\"yellow\" text=\"Another label\" />\n <IssueLabel variant=\"brown\" text=\"A third label\" />\n </Stack>\n)"
8726
+ "code": "(args: { fillColor: `#${string}` }) => {\n return <IssueLabel fillColor={args.fillColor}>Issue label</IssueLabel>\n}"
8972
8727
  }
8973
8728
  ],
8974
8729
  "importPath": "@primer/react/experimental",
8975
8730
  "props": [
8976
8731
  {
8977
- "name": "fillColor",
8978
- "type": "string",
8979
- "description": "The hex code for a custom background color"
8980
- },
8981
- {
8982
- "name": "variant",
8983
- "type": "'pink'\n| 'plum'\n| 'purple'\n| 'indigo'\n| 'blue'\n| 'cyan'\n| 'teal'\n| 'pine'\n| 'green'\n| 'lime'\n| 'olive'\n| 'lemon'\n| 'yellow'\n| 'orange'\n| 'red'\n| 'coral'\n| 'gray'\n| 'brown'\n| 'auburn'",
8984
- "defaultValue": "'gray'",
8985
- "description": "Color variant for the background and text color"
8732
+ "name": "as",
8733
+ "type": "React.ElementType",
8734
+ "description": "The HTML element or React component to render as the root element"
8986
8735
  },
8987
8736
  {
8988
8737
  "name": "className",
8989
8738
  "type": "string",
8990
- "description": "Class name for custom styling."
8991
- },
8992
- {
8993
- "name": "href",
8994
- "type": "string"
8995
- },
8996
- {
8997
- "name": "as",
8998
- "type": "React.ElementType",
8999
- "defaultValue": "'span'"
8739
+ "description": "Class name for custom styling"
9000
8740
  },
9001
8741
  {
9002
- "name": "text",
8742
+ "name": "fillColor",
9003
8743
  "type": "string",
9004
- "description": "Label text."
8744
+ "description": "The hex code for a custom background color"
9005
8745
  },
9006
8746
  {
9007
- "name": "id",
9008
- "type": "string",
9009
- "description": "A unique identifier that can be associated with the label."
8747
+ "name": "variant",
8748
+ "type": "'pink'\n| 'plum'\n| 'purple'\n| 'indigo'\n| 'blue'\n| 'cyan'\n| 'teal'\n| 'pine'\n| 'green'\n| 'lime'\n| 'olive'\n| 'lemon'\n| 'yellow'\n| 'orange'\n| 'red'\n| 'coral'\n| 'gray'\n| 'brown'\n| 'auburn'",
8749
+ "defaultValue": "'gray'",
8750
+ "description": "Color variant for the background and text color"
9010
8751
  }
9011
8752
  ],
9012
8753
  "subcomponents": []
@@ -9021,7 +8762,7 @@
9021
8762
  "stories": [
9022
8763
  {
9023
8764
  "id": "deprecated-components-selectpanel--default",
9024
- "code": "() => {\n const initialSelectedLabels = data.issue.labelIds // mock initial state: has selected labels\n const [selectedLabelIds, setSelectedLabelIds] = React.useState<string[]>(\n initialSelectedLabels,\n )\n\n /* Selection */\n const onLabelSelect = (labelId: string) => {\n if (!selectedLabelIds.includes(labelId))\n setSelectedLabelIds([...selectedLabelIds, labelId])\n else setSelectedLabelIds(selectedLabelIds.filter((id) => id !== labelId))\n }\n const onClearSelection = () => {\n setSelectedLabelIds([])\n }\n const onSubmit = () => {\n data.issue.labelIds = selectedLabelIds // pretending to persist changes\n }\n const onCancel = () => {\n setSelectedLabelIds(initialSelectedLabels)\n }\n\n /* Filtering */\n const [filteredLabels, setFilteredLabels] = React.useState(data.labels)\n const [query, setQuery] = React.useState('')\n const onSearchInputChange: React.ChangeEventHandler<HTMLInputElement> = (\n event,\n ) => {\n const query = event.currentTarget.value\n setQuery(query)\n if (query === '') setFilteredLabels(data.labels)\n else {\n setFilteredLabels(\n data.labels\n .map((label) => {\n if (label.name.toLowerCase().startsWith(query))\n return {\n priority: 1,\n label,\n }\n else if (label.name.toLowerCase().includes(query))\n return {\n priority: 2,\n label,\n }\n else if (label.description?.toLowerCase().includes(query))\n return {\n priority: 3,\n label,\n }\n else\n return {\n priority: -1,\n label,\n }\n })\n .filter((result) => result.priority > 0)\n .map((result) => result.label),\n )\n }\n }\n const sortingFn = (\n itemA: {\n id: string\n },\n itemB: {\n id: string\n },\n ) => {\n const initialSelectedIds = data.issue.labelIds\n if (\n initialSelectedIds.includes(itemA.id) &&\n initialSelectedIds.includes(itemB.id)\n )\n return 1\n else if (initialSelectedIds.includes(itemA.id)) return -1\n else if (initialSelectedIds.includes(itemB.id)) return 1\n else return 1\n }\n const itemsToShow = query ? filteredLabels : data.labels.sort(sortingFn)\n return (\n <>\n <SelectPanel\n title=\"Select labels\"\n onSubmit={onSubmit}\n onCancel={onCancel}\n onClearSelection={onClearSelection}\n >\n <SelectPanel.Button>Assign label</SelectPanel.Button>\n\n <SelectPanel.Header>\n <SelectPanel.SearchInput\n aria-label=\"Search\"\n onChange={onSearchInputChange}\n />\n </SelectPanel.Header>\n\n {itemsToShow.length === 0 ? (\n <SelectPanel.Message\n variant=\"empty\"\n title={`No labels found for \"${query}\"`}\n >\n Try a different search term\n </SelectPanel.Message>\n ) : (\n <ActionList>\n {itemsToShow.map((label) => (\n <ActionList.Item\n key={label.id}\n onSelect={() => onLabelSelect(label.id)}\n selected={selectedLabelIds.includes(label.id)}\n >\n <ActionList.LeadingVisual>\n <Box\n sx={{\n width: 14,\n height: 14,\n borderRadius: '100%',\n }}\n style={{\n backgroundColor: `#${label.color}`,\n }}\n />\n </ActionList.LeadingVisual>\n {label.name}\n <ActionList.Description variant=\"block\">\n {label.description}\n </ActionList.Description>\n </ActionList.Item>\n ))}\n </ActionList>\n )}\n\n <SelectPanel.Footer>\n <SelectPanel.SecondaryAction variant=\"button\">\n Edit labels\n </SelectPanel.SecondaryAction>\n </SelectPanel.Footer>\n </SelectPanel>\n </>\n )\n}"
8765
+ "code": "() => {\n const initialSelectedLabels = data.issue.labelIds // mock initial state: has selected labels\n const [selectedLabelIds, setSelectedLabelIds] = React.useState<string[]>(\n initialSelectedLabels,\n )\n\n /* Selection */\n const onLabelSelect = (labelId: string) => {\n if (!selectedLabelIds.includes(labelId))\n setSelectedLabelIds([...selectedLabelIds, labelId])\n else setSelectedLabelIds(selectedLabelIds.filter((id) => id !== labelId))\n }\n const onClearSelection = () => {\n setSelectedLabelIds([])\n }\n const onSubmit = () => {\n data.issue.labelIds = selectedLabelIds // pretending to persist changes\n }\n const onCancel = () => {\n setSelectedLabelIds(initialSelectedLabels)\n }\n\n /* Filtering */\n const [filteredLabels, setFilteredLabels] = React.useState(data.labels)\n const [query, setQuery] = React.useState('')\n const onSearchInputChange: React.ChangeEventHandler<HTMLInputElement> = (\n event,\n ) => {\n const query = event.currentTarget.value\n setQuery(query)\n if (query === '') setFilteredLabels(data.labels)\n else {\n setFilteredLabels(\n data.labels\n .map((label) => {\n if (label.name.toLowerCase().startsWith(query))\n return {\n priority: 1,\n label,\n }\n else if (label.name.toLowerCase().includes(query))\n return {\n priority: 2,\n label,\n }\n else if (label.description?.toLowerCase().includes(query))\n return {\n priority: 3,\n label,\n }\n else\n return {\n priority: -1,\n label,\n }\n })\n .filter((result) => result.priority > 0)\n .map((result) => result.label),\n )\n }\n }\n const sortingFn = (\n itemA: {\n id: string\n },\n itemB: {\n id: string\n },\n ) => {\n const initialSelectedIds = data.issue.labelIds\n if (\n initialSelectedIds.includes(itemA.id) &&\n initialSelectedIds.includes(itemB.id)\n )\n return 1\n else if (initialSelectedIds.includes(itemA.id)) return -1\n else if (initialSelectedIds.includes(itemB.id)) return 1\n else return 1\n }\n const itemsToShow = query ? filteredLabels : data.labels.sort(sortingFn)\n return (\n <>\n <SelectPanel\n title=\"Select labels\"\n onSubmit={onSubmit}\n onCancel={onCancel}\n onClearSelection={onClearSelection}\n >\n <SelectPanel.Button>Assign label</SelectPanel.Button>\n\n <SelectPanel.Header>\n <SelectPanel.SearchInput\n aria-label=\"Search\"\n onChange={onSearchInputChange}\n />\n </SelectPanel.Header>\n\n {itemsToShow.length === 0 ? (\n <SelectPanel.Message\n variant=\"empty\"\n title={`No labels found for \"${query}\"`}\n >\n Try a different search term\n </SelectPanel.Message>\n ) : (\n <ActionList>\n {itemsToShow.map((label) => (\n <ActionList.Item\n key={label.id}\n onSelect={() => onLabelSelect(label.id)}\n selected={selectedLabelIds.includes(label.id)}\n >\n <ActionList.LeadingVisual>\n <div\n className={sharedClasses.Circle}\n style={{\n backgroundColor: `#${label.color}`,\n }}\n />\n </ActionList.LeadingVisual>\n {label.name}\n <ActionList.Description variant=\"block\">\n {label.description}\n </ActionList.Description>\n </ActionList.Item>\n ))}\n </ActionList>\n )}\n\n <SelectPanel.Footer>\n <SelectPanel.SecondaryAction variant=\"button\">\n Edit labels\n </SelectPanel.SecondaryAction>\n </SelectPanel.Footer>\n </SelectPanel>\n </>\n )\n}"
9025
8766
  },
9026
8767
  {
9027
8768
  "id": "deprecated-components-selectpanel-examples--minimal",
@@ -9029,7 +8770,7 @@
9029
8770
  },
9030
8771
  {
9031
8772
  "id": "deprecated-components-selectpanel-examples--short-select-panel",
9032
- "code": "() => {\n const initialChannels = {\n GitHub: false,\n Email: false,\n }\n const [channels, setChannels] = React.useState(initialChannels)\n const [onlyFailures, setOnlyFailures] = React.useState(false)\n const onSubmit = () => {\n // eslint-disable-next-line no-console\n console.log('form submitted')\n }\n const onCancel = () => {\n setChannels(initialChannels)\n }\n const toggleChannel = (channel: keyof typeof channels) => {\n setChannels({\n ...channels,\n [channel]: !channels[channel],\n })\n }\n const channelsEnabled = channels.GitHub || channels.Email\n return (\n <>\n <h1>Short SelectPanel</h1>\n <p>\n Use <code>height=fit-content</code> to match height of contents\n </p>\n <SelectPanel\n title=\"Select notification channels\"\n onSubmit={onSubmit}\n onCancel={onCancel}\n >\n <SelectPanel.Button>\n <Text\n sx={{\n color: 'fg.muted',\n }}\n >\n Notify me:\n </Text>{' '}\n {Object.keys(channels)\n .filter((channel) => channels[channel as keyof typeof channels])\n .join(', ') || 'Never'}\n {onlyFailures && channelsEnabled && ' (Failed workflows only)'}\n </SelectPanel.Button>\n\n <ActionList>\n <ActionList.Item\n selected={channels.GitHub}\n onSelect={() => toggleChannel('GitHub')}\n >\n On GitHub\n </ActionList.Item>\n <ActionList.Item\n selected={channels.Email}\n onSelect={() => toggleChannel('Email')}\n >\n Email\n </ActionList.Item>\n <Box\n role=\"none\"\n sx={{\n transition: 'max-height 100ms ease-out, opacity 100ms ease-out',\n opacity: channelsEnabled ? 1 : 0,\n maxHeight: channelsEnabled ? '100px' : 0,\n overflow: channelsEnabled ? 'visible' : 'hidden',\n }}\n >\n <ActionList.Divider />\n <ActionList.Item\n selected={onlyFailures}\n onSelect={() => setOnlyFailures(!onlyFailures)}\n >\n Only notify for failed workflows\n </ActionList.Item>\n </Box>\n </ActionList>\n <SelectPanel.Footer />\n </SelectPanel>\n </>\n )\n}"
8773
+ "code": "() => {\n const initialChannels = {\n GitHub: false,\n Email: false,\n }\n const [channels, setChannels] = React.useState(initialChannels)\n const [onlyFailures, setOnlyFailures] = React.useState(false)\n const onSubmit = () => {\n // eslint-disable-next-line no-console\n console.log('form submitted')\n }\n const onCancel = () => {\n setChannels(initialChannels)\n }\n const toggleChannel = (channel: keyof typeof channels) => {\n setChannels({\n ...channels,\n [channel]: !channels[channel],\n })\n }\n const channelsEnabled = channels.GitHub || channels.Email\n return (\n <>\n <h1>Short SelectPanel</h1>\n <p>\n Use <code>height=fit-content</code> to match height of contents\n </p>\n <SelectPanel\n title=\"Select notification channels\"\n onSubmit={onSubmit}\n onCancel={onCancel}\n >\n <SelectPanel.Button>\n <Text\n sx={{\n color: 'fg.muted',\n }}\n >\n Notify me:\n </Text>{' '}\n {Object.keys(channels)\n .filter((channel) => channels[channel as keyof typeof channels])\n .join(', ') || 'Never'}\n {onlyFailures && channelsEnabled && ' (Failed workflows only)'}\n </SelectPanel.Button>\n\n <ActionList>\n <ActionList.Item\n selected={channels.GitHub}\n onSelect={() => toggleChannel('GitHub')}\n >\n On GitHub\n </ActionList.Item>\n <ActionList.Item\n selected={channels.Email}\n onSelect={() => toggleChannel('Email')}\n >\n Email\n </ActionList.Item>\n <div\n role=\"none\"\n className={`${classes.TransitionBox} ${channelsEnabled ? classes.TransitionBoxVisible : classes.TransitionBoxHidden}`}\n >\n <ActionList.Divider />\n <ActionList.Item\n selected={onlyFailures}\n onSelect={() => setOnlyFailures(!onlyFailures)}\n >\n Only notify for failed workflows\n </ActionList.Item>\n </div>\n </ActionList>\n <SelectPanel.Footer />\n </SelectPanel>\n </>\n )\n}"
9033
8774
  },
9034
8775
  {
9035
8776
  "id": "deprecated-components-selectpanel-features--instant-selection-variant",
@@ -9037,7 +8778,7 @@
9037
8778
  },
9038
8779
  {
9039
8780
  "id": "deprecated-components-selectpanel-features--with-warning",
9040
- "code": "() => {\n /* Selection */\n\n const initialAssigneeIds = data.issue.assigneeIds // mock initial state\n const [selectedAssigneeIds, setSelectedAssigneeIds] =\n React.useState<string[]>(initialAssigneeIds)\n const MAX_LIMIT = 3\n const onCollaboratorSelect = (colloratorId: string) => {\n if (!selectedAssigneeIds.includes(colloratorId))\n setSelectedAssigneeIds([...selectedAssigneeIds, colloratorId])\n else\n setSelectedAssigneeIds(\n selectedAssigneeIds.filter((id) => id !== colloratorId),\n )\n }\n const onClearSelection = () => setSelectedAssigneeIds([])\n const onSubmit = () => {\n data.issue.assigneeIds = selectedAssigneeIds // pretending to persist changes\n }\n const onCancel = () => {\n setSelectedAssigneeIds(initialAssigneeIds)\n }\n\n /* Filtering */\n const [filteredUsers, setFilteredUsers] = React.useState(data.collaborators)\n const [query, setQuery] = React.useState('')\n const onSearchInputChange: React.ChangeEventHandler<HTMLInputElement> = (\n event,\n ) => {\n const query = event.currentTarget.value\n setQuery(query)\n if (query === '') setFilteredUsers(data.collaborators)\n else {\n setFilteredUsers(\n data.collaborators\n .map((collaborator) => {\n if (collaborator.login.toLowerCase().startsWith(query))\n return {\n priority: 1,\n collaborator,\n }\n else if (collaborator.name.startsWith(query))\n return {\n priority: 2,\n collaborator,\n }\n else if (collaborator.login.toLowerCase().includes(query))\n return {\n priority: 3,\n collaborator,\n }\n else if (collaborator.name.toLowerCase().includes(query))\n return {\n priority: 4,\n collaborator,\n }\n else\n return {\n priority: -1,\n collaborator,\n }\n })\n .filter((result) => result.priority > 0)\n .map((result) => result.collaborator),\n )\n }\n }\n const sortingFn = (\n itemA: {\n id: string\n },\n itemB: {\n id: string\n },\n ) => {\n const initialSelectedIds = data.issue.assigneeIds\n if (\n initialSelectedIds.includes(itemA.id) &&\n initialSelectedIds.includes(itemB.id)\n )\n return 1\n else if (initialSelectedIds.includes(itemA.id)) return -1\n else if (initialSelectedIds.includes(itemB.id)) return 1\n else return 1\n }\n const itemsToShow = query ? filteredUsers : data.collaborators.sort(sortingFn)\n return (\n <>\n <h1>SelectPanel with warning</h1>\n\n <SelectPanel\n title=\"Set assignees\"\n description={`Select up to ${MAX_LIMIT} people`}\n onSubmit={onSubmit}\n onCancel={onCancel}\n onClearSelection={onClearSelection}\n >\n <SelectPanel.Button\n variant=\"invisible\"\n trailingAction={GearIcon}\n sx={{\n width: '200px',\n '[data-component=buttonContent]': {\n justifyContent: 'start',\n },\n }}\n >\n Assignees\n </SelectPanel.Button>\n <SelectPanel.Header>\n <SelectPanel.SearchInput\n onChange={onSearchInputChange}\n aria-label=\"Search\"\n />\n </SelectPanel.Header>\n\n {selectedAssigneeIds.length >= MAX_LIMIT ? (\n <SelectPanel.Message variant=\"warning\" size=\"inline\">\n You have reached the limit of {MAX_LIMIT} assignees on your free\n account. <Link href=\"/upgrade\">Upgrade your account.</Link>\n </SelectPanel.Message>\n ) : null}\n\n {itemsToShow.length === 0 ? (\n <SelectPanel.Message\n variant=\"empty\"\n title={`No labels found for \"${query}\"`}\n >\n Try a different search term\n </SelectPanel.Message>\n ) : (\n <ActionList>\n {itemsToShow.map((collaborator) => (\n <ActionList.Item\n key={collaborator.id}\n onSelect={() => onCollaboratorSelect(collaborator.id)}\n selected={selectedAssigneeIds.includes(collaborator.id)}\n disabled={\n selectedAssigneeIds.length >= MAX_LIMIT &&\n !selectedAssigneeIds.includes(collaborator.id)\n }\n >\n <ActionList.LeadingVisual>\n <Avatar\n src={`https://github.com/${collaborator.login}.png`}\n />\n </ActionList.LeadingVisual>\n {collaborator.login}\n <ActionList.Description>\n {collaborator.login}\n </ActionList.Description>\n </ActionList.Item>\n ))}\n </ActionList>\n )}\n\n <SelectPanel.Footer />\n </SelectPanel>\n </>\n )\n}"
8781
+ "code": "() => {\n /* Selection */\n\n const initialAssigneeIds = data.issue.assigneeIds // mock initial state\n const [selectedAssigneeIds, setSelectedAssigneeIds] =\n React.useState<string[]>(initialAssigneeIds)\n const MAX_LIMIT = 3\n const onCollaboratorSelect = (colloratorId: string) => {\n if (!selectedAssigneeIds.includes(colloratorId))\n setSelectedAssigneeIds([...selectedAssigneeIds, colloratorId])\n else\n setSelectedAssigneeIds(\n selectedAssigneeIds.filter((id) => id !== colloratorId),\n )\n }\n const onClearSelection = () => setSelectedAssigneeIds([])\n const onSubmit = () => {\n data.issue.assigneeIds = selectedAssigneeIds // pretending to persist changes\n }\n const onCancel = () => {\n setSelectedAssigneeIds(initialAssigneeIds)\n }\n\n /* Filtering */\n const [filteredUsers, setFilteredUsers] = React.useState(data.collaborators)\n const [query, setQuery] = React.useState('')\n const onSearchInputChange: React.ChangeEventHandler<HTMLInputElement> = (\n event,\n ) => {\n const query = event.currentTarget.value\n setQuery(query)\n if (query === '') setFilteredUsers(data.collaborators)\n else {\n setFilteredUsers(\n data.collaborators\n .map((collaborator) => {\n if (collaborator.login.toLowerCase().startsWith(query))\n return {\n priority: 1,\n collaborator,\n }\n else if (collaborator.name.startsWith(query))\n return {\n priority: 2,\n collaborator,\n }\n else if (collaborator.login.toLowerCase().includes(query))\n return {\n priority: 3,\n collaborator,\n }\n else if (collaborator.name.toLowerCase().includes(query))\n return {\n priority: 4,\n collaborator,\n }\n else\n return {\n priority: -1,\n collaborator,\n }\n })\n .filter((result) => result.priority > 0)\n .map((result) => result.collaborator),\n )\n }\n }\n const sortingFn = (\n itemA: {\n id: string\n },\n itemB: {\n id: string\n },\n ) => {\n const initialSelectedIds = data.issue.assigneeIds\n if (\n initialSelectedIds.includes(itemA.id) &&\n initialSelectedIds.includes(itemB.id)\n )\n return 1\n else if (initialSelectedIds.includes(itemA.id)) return -1\n else if (initialSelectedIds.includes(itemB.id)) return 1\n else return 1\n }\n const itemsToShow = query ? filteredUsers : data.collaborators.sort(sortingFn)\n return (\n <>\n <h1>SelectPanel with warning</h1>\n\n <SelectPanel\n title=\"Set assignees\"\n description={`Select up to ${MAX_LIMIT} people`}\n onSubmit={onSubmit}\n onCancel={onCancel}\n onClearSelection={onClearSelection}\n >\n <SelectPanel.Button\n variant=\"invisible\"\n trailingAction={GearIcon}\n className={classes.ButtonCustom}\n >\n Assignees\n </SelectPanel.Button>\n <SelectPanel.Header>\n <SelectPanel.SearchInput\n onChange={onSearchInputChange}\n aria-label=\"Search\"\n />\n </SelectPanel.Header>\n\n {selectedAssigneeIds.length >= MAX_LIMIT ? (\n <SelectPanel.Message variant=\"warning\" size=\"inline\">\n You have reached the limit of {MAX_LIMIT} assignees on your free\n account. <Link href=\"/upgrade\">Upgrade your account.</Link>\n </SelectPanel.Message>\n ) : null}\n\n {itemsToShow.length === 0 ? (\n <SelectPanel.Message\n variant=\"empty\"\n title={`No labels found for \"${query}\"`}\n >\n Try a different search term\n </SelectPanel.Message>\n ) : (\n <ActionList>\n {itemsToShow.map((collaborator) => (\n <ActionList.Item\n key={collaborator.id}\n onSelect={() => onCollaboratorSelect(collaborator.id)}\n selected={selectedAssigneeIds.includes(collaborator.id)}\n disabled={\n selectedAssigneeIds.length >= MAX_LIMIT &&\n !selectedAssigneeIds.includes(collaborator.id)\n }\n >\n <ActionList.LeadingVisual>\n <Avatar\n src={`https://github.com/${collaborator.login}.png`}\n />\n </ActionList.LeadingVisual>\n {collaborator.login}\n <ActionList.Description>\n {collaborator.login}\n </ActionList.Description>\n </ActionList.Item>\n ))}\n </ActionList>\n )}\n\n <SelectPanel.Footer />\n </SelectPanel>\n </>\n )\n}"
9041
8782
  },
9042
8783
  {
9043
8784
  "id": "deprecated-components-selectpanel-examples--open-from-menu",
@@ -9057,7 +8798,7 @@
9057
8798
  },
9058
8799
  {
9059
8800
  "id": "deprecated-components-selectpanel-examples--with-filter-buttons",
9060
- "code": "() => {\n const [selectedFilter, setSelectedFilter] = React.useState<\n 'branches' | 'tags'\n >('branches')\n\n /* Selection */\n const [savedInitialRef, setSavedInitialRef] = React.useState(data.ref)\n const [selectedRef, setSelectedRef] = React.useState(savedInitialRef)\n const onSubmit = () => {\n setSavedInitialRef(selectedRef)\n data.ref = selectedRef // pretending to persist changes\n\n // eslint-disable-next-line no-console\n console.log('form submitted')\n }\n const onCancel = () => {\n setSelectedRef(savedInitialRef)\n }\n\n /* Filter */\n const [query, setQuery] = React.useState('')\n const onSearchInputChange: React.ChangeEventHandler<HTMLInputElement> = (\n event,\n ) => {\n const query = event.currentTarget.value\n setQuery(query)\n }\n const [filteredRefs, setFilteredRefs] = React.useState(data.branches)\n const setSearchResults = (\n query: string,\n selectedFilter: 'branches' | 'tags',\n ) => {\n if (query === '') setFilteredRefs(data[selectedFilter])\n else {\n setFilteredRefs(\n data[selectedFilter]\n .map((item) => {\n if (item.name.toLowerCase().startsWith(query))\n return {\n priority: 1,\n item,\n }\n else if (item.name.toLowerCase().includes(query))\n return {\n priority: 2,\n item,\n }\n else\n return {\n priority: -1,\n item,\n }\n })\n .filter((result) => result.priority > 0)\n .map((result) => result.item),\n )\n }\n }\n React.useEffect(\n function updateSearchResults() {\n setSearchResults(query, selectedFilter)\n },\n [query, selectedFilter],\n )\n const sortingFn = (ref: { id: string }) => {\n if (ref.id === savedInitialRef) return -1\n else return 1\n }\n const itemsToShow = query\n ? filteredRefs\n : data[selectedFilter].sort(sortingFn)\n return (\n <>\n <h1>With Filter Buttons {savedInitialRef}</h1>\n\n <SelectPanel\n title=\"Switch branches/tags\"\n onSubmit={onSubmit}\n onCancel={onCancel}\n >\n <SelectPanel.Button\n leadingVisual={GitBranchIcon}\n trailingVisual={TriangleDownIcon}\n >\n {savedInitialRef}\n </SelectPanel.Button>\n\n <SelectPanel.Header>\n <SelectPanel.SearchInput onChange={onSearchInputChange} />\n\n <Box\n id=\"filters\"\n sx={{\n display: 'flex',\n marginTop: 1,\n }}\n >\n <Button\n variant=\"invisible\"\n sx={{\n fontWeight:\n selectedFilter === 'branches' ? 'semibold' : 'normal',\n color: 'fg.default',\n }}\n onClick={() => setSelectedFilter('branches')}\n count={20}\n >\n Branches\n </Button>\n <Button\n variant=\"invisible\"\n sx={{\n fontWeight: selectedFilter === 'tags' ? 'semibold' : 'normal',\n color: 'fg.default',\n }}\n onClick={() => setSelectedFilter('tags')}\n count={8}\n >\n Tags\n </Button>\n </Box>\n </SelectPanel.Header>\n\n {itemsToShow.length === 0 ? (\n <SelectPanel.Message\n variant=\"empty\"\n title={`No labels found for \"${query}\"`}\n >\n Try a different search term\n </SelectPanel.Message>\n ) : (\n <ActionList>\n {itemsToShow.map((item) => (\n <ActionList.Item\n key={item.id}\n selected={selectedRef === item.id}\n onSelect={() => setSelectedRef(item.id)}\n >\n {item.name}\n <ActionList.TrailingVisual>\n {item.trailingInfo}\n </ActionList.TrailingVisual>\n </ActionList.Item>\n ))}\n </ActionList>\n )}\n\n <SelectPanel.Footer>\n <SelectPanel.SecondaryAction\n variant=\"link\"\n href={`/${selectedFilter}`}\n >\n View all {selectedFilter}\n </SelectPanel.SecondaryAction>\n </SelectPanel.Footer>\n </SelectPanel>\n </>\n )\n}"
8801
+ "code": "() => {\n const [selectedFilter, setSelectedFilter] = React.useState<\n 'branches' | 'tags'\n >('branches')\n\n /* Selection */\n const [savedInitialRef, setSavedInitialRef] = React.useState(data.ref)\n const [selectedRef, setSelectedRef] = React.useState(savedInitialRef)\n const onSubmit = () => {\n setSavedInitialRef(selectedRef)\n data.ref = selectedRef // pretending to persist changes\n\n // eslint-disable-next-line no-console\n console.log('form submitted')\n }\n const onCancel = () => {\n setSelectedRef(savedInitialRef)\n }\n\n /* Filter */\n const [query, setQuery] = React.useState('')\n const onSearchInputChange: React.ChangeEventHandler<HTMLInputElement> = (\n event,\n ) => {\n const query = event.currentTarget.value\n setQuery(query)\n }\n const [filteredRefs, setFilteredRefs] = React.useState(data.branches)\n const setSearchResults = (\n query: string,\n selectedFilter: 'branches' | 'tags',\n ) => {\n if (query === '') setFilteredRefs(data[selectedFilter])\n else {\n setFilteredRefs(\n data[selectedFilter]\n .map((item) => {\n if (item.name.toLowerCase().startsWith(query))\n return {\n priority: 1,\n item,\n }\n else if (item.name.toLowerCase().includes(query))\n return {\n priority: 2,\n item,\n }\n else\n return {\n priority: -1,\n item,\n }\n })\n .filter((result) => result.priority > 0)\n .map((result) => result.item),\n )\n }\n }\n React.useEffect(\n function updateSearchResults() {\n setSearchResults(query, selectedFilter)\n },\n [query, selectedFilter],\n )\n const sortingFn = (ref: { id: string }) => {\n if (ref.id === savedInitialRef) return -1\n else return 1\n }\n const itemsToShow = query\n ? filteredRefs\n : data[selectedFilter].sort(sortingFn)\n return (\n <>\n <h1>With Filter Buttons {savedInitialRef}</h1>\n\n <SelectPanel\n title=\"Switch branches/tags\"\n onSubmit={onSubmit}\n onCancel={onCancel}\n >\n <SelectPanel.Button\n leadingVisual={GitBranchIcon}\n trailingVisual={TriangleDownIcon}\n >\n {savedInitialRef}\n </SelectPanel.Button>\n\n <SelectPanel.Header>\n <SelectPanel.SearchInput onChange={onSearchInputChange} />\n\n <div id=\"filters\" className={classes.FilterButtons}>\n <Button\n variant=\"invisible\"\n sx={{\n fontWeight:\n selectedFilter === 'branches' ? 'semibold' : 'normal',\n color: 'fg.default',\n }}\n onClick={() => setSelectedFilter('branches')}\n count={20}\n >\n Branches\n </Button>\n <Button\n variant=\"invisible\"\n sx={{\n fontWeight: selectedFilter === 'tags' ? 'semibold' : 'normal',\n color: 'fg.default',\n }}\n onClick={() => setSelectedFilter('tags')}\n count={8}\n >\n Tags\n </Button>\n </div>\n </SelectPanel.Header>\n\n {itemsToShow.length === 0 ? (\n <SelectPanel.Message\n variant=\"empty\"\n title={`No labels found for \"${query}\"`}\n >\n Try a different search term\n </SelectPanel.Message>\n ) : (\n <ActionList>\n {itemsToShow.map((item) => (\n <ActionList.Item\n key={item.id}\n selected={selectedRef === item.id}\n onSelect={() => setSelectedRef(item.id)}\n >\n {item.name}\n <ActionList.TrailingVisual>\n {item.trailingInfo}\n </ActionList.TrailingVisual>\n </ActionList.Item>\n ))}\n </ActionList>\n )}\n\n <SelectPanel.Footer>\n <SelectPanel.SecondaryAction\n variant=\"link\"\n href={`/${selectedFilter}`}\n >\n View all {selectedFilter}\n </SelectPanel.SecondaryAction>\n </SelectPanel.Footer>\n </SelectPanel>\n </>\n )\n}"
9061
8802
  }
9062
8803
  ],
9063
8804
  "importPath": "@primer/react/experimental",
@@ -9242,145 +8983,12 @@
9242
8983
  }
9243
8984
  ]
9244
8985
  },
9245
- "skeleton_avatar": {
9246
- "source": "https://github.com/primer/react/tree/main/packages/react/src/experimental/Skeleton",
9247
- "id": "skeleton_avatar",
9248
- "name": "SkeletonAvatar",
9249
- "status": "draft",
9250
- "a11yReviewed": false,
9251
- "stories": [
9252
- {
9253
- "id": "experimental-components-skeleton-skeletonavatar--default",
9254
- "code": "() => <SkeletonAvatar />"
9255
- },
9256
- {
9257
- "id": "experimental-components-skeleton-skeletonavatar-features--square",
9258
- "code": "() => <SkeletonAvatar square />"
9259
- },
9260
- {
9261
- "id": "experimental-components-skeleton-skeletonavatar-features--size",
9262
- "code": "() => (\n <div>\n <SkeletonAvatar size={4} />\n <SkeletonAvatar size={8} />\n <SkeletonAvatar size={12} />\n <SkeletonAvatar size={16} />\n <SkeletonAvatar size={20} />\n <SkeletonAvatar size={24} />\n <SkeletonAvatar size={28} />\n <SkeletonAvatar size={32} />\n <SkeletonAvatar size={40} />\n <SkeletonAvatar size={48} />\n <SkeletonAvatar size={56} />\n <SkeletonAvatar size={64} />\n </div>\n)"
9263
- },
9264
- {
9265
- "id": "experimental-components-skeleton-skeletonavatar-features--size-responsive",
9266
- "code": "() => (\n <div>\n <SkeletonAvatar\n size={{\n narrow: 4,\n regular: 8,\n wide: 12,\n }}\n />\n <SkeletonAvatar\n size={{\n narrow: 8,\n regular: 12,\n wide: 16,\n }}\n />\n <SkeletonAvatar\n size={{\n narrow: 12,\n regular: 16,\n wide: 20,\n }}\n />\n <SkeletonAvatar\n size={{\n narrow: 16,\n regular: 20,\n wide: 24,\n }}\n />\n <SkeletonAvatar\n size={{\n narrow: 20,\n regular: 24,\n wide: 28,\n }}\n />\n <SkeletonAvatar\n size={{\n narrow: 24,\n regular: 28,\n wide: 32,\n }}\n />\n <SkeletonAvatar\n size={{\n narrow: 28,\n regular: 32,\n wide: 40,\n }}\n />\n <SkeletonAvatar\n size={{\n narrow: 32,\n regular: 40,\n wide: 48,\n }}\n />\n <SkeletonAvatar\n size={{\n narrow: 40,\n regular: 48,\n wide: 56,\n }}\n />\n <SkeletonAvatar\n size={{\n narrow: 48,\n regular: 56,\n wide: 64,\n }}\n />\n </div>\n)"
9267
- },
9268
- {
9269
- "id": "experimental-components-skeleton-skeletonavatar-features--in-a-stack",
9270
- "code": "() => (\n <AvatarStack>\n <SkeletonAvatar />\n <SkeletonAvatar />\n <SkeletonAvatar />\n <SkeletonAvatar />\n </AvatarStack>\n)"
9271
- },
9272
- {
9273
- "id": "experimental-components-skeleton-skeletonavatar-features--in-an-avatar-pair",
9274
- "code": "() => (\n <AvatarPair>\n <SkeletonAvatar />\n <SkeletonAvatar />\n </AvatarPair>\n)"
9275
- }
9276
- ],
9277
- "importPath": "@primer/react/experimental",
9278
- "props": [
9279
- {
9280
- "name": "size",
9281
- "type": "number | { narrow?: number; regular?: number; wide?: number; }",
9282
- "defaultValue": "20",
9283
- "description": "The size of the avatar in pixels."
9284
- },
9285
- {
9286
- "name": "square",
9287
- "type": "boolean",
9288
- "defaultValue": "false",
9289
- "description": "If true, the avatar will be square instead of circular."
9290
- },
9291
- {
9292
- "name": "className",
9293
- "type": "string",
9294
- "description": "Class name for custom styling."
9295
- }
9296
- ],
9297
- "subcomponents": []
9298
- },
9299
- "skeleton_text": {
9300
- "source": "https://github.com/primer/react/tree/main/packages/react/src/experimental/Skeleton",
9301
- "id": "skeleton_text",
9302
- "name": "SkeletonText",
9303
- "status": "draft",
9304
- "a11yReviewed": false,
9305
- "stories": [
9306
- {
9307
- "id": "experimental-components-skeleton-skeletontext--default",
9308
- "code": "() => <SkeletonText />"
9309
- },
9310
- {
9311
- "id": "experimental-components-skeleton-skeletontext-features--with-max-width",
9312
- "code": "() => <SkeletonText maxWidth={200} />"
9313
- },
9314
- {
9315
- "id": "experimental-components-skeleton-skeletontext-features--with-multiple-lines",
9316
- "code": "() => <SkeletonText lines={3} />"
9317
- },
9318
- {
9319
- "id": "experimental-components-skeleton-skeletontext-features--display",
9320
- "code": "() => <SkeletonText size=\"display\" />"
9321
- },
9322
- {
9323
- "id": "experimental-components-skeleton-skeletontext-features--subtitle",
9324
- "code": "() => <SkeletonText size=\"subtitle\" />"
9325
- },
9326
- {
9327
- "id": "experimental-components-skeleton-skeletontext-features--title-large",
9328
- "code": "() => <SkeletonText size=\"titleLarge\" />"
9329
- },
9330
- {
9331
- "id": "experimental-components-skeleton-skeletontext-features--title-medium",
9332
- "code": "() => <SkeletonText size=\"titleMedium\" />"
9333
- },
9334
- {
9335
- "id": "experimental-components-skeleton-skeletontext-features--title-small",
9336
- "code": "() => <SkeletonText size=\"titleSmall\" />"
9337
- },
9338
- {
9339
- "id": "experimental-components-skeleton-skeletontext-features--body-large",
9340
- "code": "() => <SkeletonText size=\"bodyLarge\" />"
9341
- },
9342
- {
9343
- "id": "experimental-components-skeleton-skeletontext-features--body-medium",
9344
- "code": "() => <SkeletonText size=\"bodyMedium\" />"
9345
- },
9346
- {
9347
- "id": "experimental-components-skeleton-skeletontext-features--body-small",
9348
- "code": "() => <SkeletonText size=\"bodySmall\" />"
9349
- }
9350
- ],
9351
- "importPath": "@primer/react/experimental",
9352
- "props": [
9353
- {
9354
- "name": "size",
9355
- "defaultValue": "'bodyMedium'",
9356
- "type": "'display' | 'titleLarge' | 'titleMedium' | 'titleSmall' | 'bodyLarge' | 'bodyMedium' | 'bodySmall' | 'subtitle'",
9357
- "description": "Size of the text that the skeleton is replacing."
9358
- },
9359
- {
9360
- "name": "lines",
9361
- "defaultValue": "1",
9362
- "type": "number",
9363
- "description": "Number of lines of skeleton text to render."
9364
- },
9365
- {
9366
- "name": "maxWidth",
9367
- "type": "string",
9368
- "description": "Maximum width that the line(s) of skeleton text can take up. Accepts any valid CSS `max-width` value."
9369
- },
9370
- {
9371
- "name": "className",
9372
- "type": "string",
9373
- "description": "Class name for custom styling."
9374
- }
9375
- ],
9376
- "subcomponents": []
9377
- },
9378
8986
  "underline_panels": {
9379
8987
  "source": "https://github.com/primer/react/tree/main/packages/react/src/experimental/UnderlinePanels",
9380
8988
  "id": "underline_panels",
9381
8989
  "name": "UnderlinePanels",
9382
8990
  "status": "draft",
9383
- "a11yReviewed": false,
8991
+ "a11yReviewed": "2025-01-08",
9384
8992
  "stories": [
9385
8993
  {
9386
8994
  "id": "experimental-components-underlinepanels--default",