@primer/react 38.0.0-rc.195178541 → 38.0.0-rc.3

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 (2419) hide show
  1. package/CHANGELOG.md +227 -2
  2. package/dist/ActionList/ActionList-167cf6c7.css +2 -0
  3. package/dist/ActionList/ActionList-167cf6c7.css.map +1 -0
  4. package/dist/ActionList/ActionList.module.css.js +5 -0
  5. package/dist/ActionList/ActionListContainerContext.d.ts +16 -0
  6. package/dist/ActionList/ActionListContainerContext.d.ts.map +1 -0
  7. package/dist/ActionList/Description.d.ts.map +1 -0
  8. package/dist/ActionList/Description.js +55 -0
  9. package/dist/ActionList/Divider.d.ts.map +1 -0
  10. package/dist/ActionList/Divider.js +23 -0
  11. package/dist/ActionList/Group.d.ts.map +1 -0
  12. package/dist/ActionList/Group.js +185 -0
  13. package/dist/ActionList/Item.d.ts.map +1 -0
  14. package/dist/ActionList/Item.js +275 -0
  15. package/dist/ActionList/LinkItem.d.ts +19 -0
  16. package/dist/ActionList/LinkItem.d.ts.map +1 -0
  17. package/dist/ActionList/LinkItem.js +50 -0
  18. package/dist/ActionList/List.d.ts.map +1 -0
  19. package/dist/ActionList/List.js +73 -0
  20. package/dist/ActionList/Selection.js +67 -0
  21. package/dist/ActionList/Visuals.d.ts.map +1 -0
  22. package/dist/ActionList/Visuals.js +96 -0
  23. package/dist/ActionList/shared.d.ts +117 -0
  24. package/dist/ActionList/shared.d.ts.map +1 -0
  25. package/dist/Autocomplete/AutocompleteMenu.js +245 -0
  26. package/dist/Avatar/Avatar.d.ts.map +1 -0
  27. package/dist/Avatar/Avatar.js +134 -0
  28. package/dist/AvatarStack/AvatarStack-802bdd7c.css +2 -0
  29. package/dist/AvatarStack/AvatarStack-802bdd7c.css.map +1 -0
  30. package/dist/AvatarStack/AvatarStack.d.ts +15 -0
  31. package/dist/AvatarStack/AvatarStack.d.ts.map +1 -0
  32. package/dist/AvatarStack/AvatarStack.js +150 -0
  33. package/dist/AvatarStack/AvatarStack.module.css.js +5 -0
  34. package/dist/Banner/Banner-459c533a.css +2 -0
  35. package/dist/Banner/Banner-459c533a.css.map +1 -0
  36. package/dist/Banner/Banner.d.ts +125 -0
  37. package/dist/Banner/Banner.d.ts.map +1 -0
  38. package/dist/Banner/Banner.js +348 -0
  39. package/dist/Banner/Banner.module.css.js +5 -0
  40. package/dist/Banner/index.d.ts +22 -0
  41. package/dist/Banner/index.d.ts.map +1 -0
  42. package/dist/BaseStyles-79fd37c4.css +2 -0
  43. package/dist/BaseStyles-79fd37c4.css.map +1 -0
  44. package/dist/BaseStyles.module.css.js +5 -0
  45. package/dist/Blankslate/Blankslate-2be5efdc.css +2 -0
  46. package/dist/Blankslate/Blankslate-2be5efdc.css.map +1 -0
  47. package/dist/Blankslate/Blankslate.js +341 -0
  48. package/dist/Blankslate/Blankslate.module.css.js +5 -0
  49. package/dist/BranchName/BranchName.d.ts +15 -0
  50. package/dist/BranchName/BranchName.d.ts.map +1 -0
  51. package/dist/BranchName/BranchName.js +70 -0
  52. package/dist/Breadcrumbs/Breadcrumbs-7cbdf03c.css +2 -0
  53. package/dist/Breadcrumbs/Breadcrumbs-7cbdf03c.css.map +1 -0
  54. package/dist/Breadcrumbs/Breadcrumbs.d.ts +54 -0
  55. package/dist/Breadcrumbs/Breadcrumbs.d.ts.map +1 -0
  56. package/dist/Breadcrumbs/Breadcrumbs.js +500 -0
  57. package/dist/Breadcrumbs/Breadcrumbs.module.css.js +5 -0
  58. package/dist/Button/ButtonBase-0a7871f4.css +2 -0
  59. package/dist/Button/ButtonBase-0a7871f4.css.map +1 -0
  60. package/dist/Button/ButtonBase.js +226 -0
  61. package/dist/Button/ButtonBase.module.css.js +5 -0
  62. package/dist/ButtonGroup/ButtonGroup.d.ts.map +1 -0
  63. package/dist/ButtonGroup/ButtonGroup.js +97 -0
  64. package/dist/Checkbox/Checkbox.js +212 -0
  65. package/dist/CircleBadge/CircleBadge.d.ts +31 -0
  66. package/dist/CircleBadge/CircleBadge.d.ts.map +1 -0
  67. package/dist/CircleBadge/CircleBadge.js +41 -0
  68. package/dist/ConfirmationDialog/ConfirmationDialog.d.ts +80 -0
  69. package/dist/ConfirmationDialog/ConfirmationDialog.d.ts.map +1 -0
  70. package/dist/ConfirmationDialog/ConfirmationDialog.js +172 -0
  71. package/dist/CounterLabel/CounterLabel.d.ts.map +1 -0
  72. package/dist/CounterLabel/CounterLabel.js +99 -0
  73. package/dist/DataTable/Pagination-b6f8418c.css +2 -0
  74. package/dist/DataTable/Pagination-b6f8418c.css.map +1 -0
  75. package/dist/DataTable/Pagination.d.ts.map +1 -0
  76. package/dist/DataTable/Pagination.js +395 -0
  77. package/dist/DataTable/Pagination.module.css.js +5 -0
  78. package/dist/DataTable/Table.d.ts +135 -0
  79. package/dist/DataTable/Table.d.ts.map +1 -0
  80. package/dist/DataTable/Table.js +724 -0
  81. package/dist/DataTable/storyHelpers.d.ts +4 -0
  82. package/dist/DataTable/storyHelpers.d.ts.map +1 -0
  83. package/dist/DataTable/useTable.js +295 -0
  84. package/dist/Details/Details.d.ts +19 -0
  85. package/dist/Details/Details.d.ts.map +1 -0
  86. package/dist/Details/Details.js +149 -0
  87. package/dist/FeatureFlags/DefaultFeatureFlags.js +13 -0
  88. package/dist/FeatureFlags/FeatureFlags.js +40 -0
  89. package/dist/FilteredActionList/FilteredActionList-96b126d7.css +2 -0
  90. package/dist/FilteredActionList/FilteredActionList-96b126d7.css.map +1 -0
  91. package/dist/FilteredActionList/FilteredActionList.d.ts +30 -0
  92. package/dist/FilteredActionList/FilteredActionList.d.ts.map +1 -0
  93. package/dist/FilteredActionList/FilteredActionList.js +461 -0
  94. package/dist/FilteredActionList/FilteredActionList.module.css.js +5 -0
  95. package/dist/FilteredActionList/FilteredActionListLoaders.js +178 -0
  96. package/dist/FilteredActionList/index.d.ts +4 -0
  97. package/dist/FilteredActionList/index.d.ts.map +1 -0
  98. package/dist/FilteredActionList/types.d.ts +159 -0
  99. package/dist/FilteredActionList/types.d.ts.map +1 -0
  100. package/dist/FilteredActionList/useAnnouncements.d.ts +6 -0
  101. package/dist/FilteredActionList/useAnnouncements.d.ts.map +1 -0
  102. package/dist/FilteredActionList/useAnnouncements.js +194 -0
  103. package/dist/FormControl/FormControl.d.ts.map +1 -0
  104. package/dist/FormControl/FormControl.js +214 -0
  105. package/dist/Header/Header.d.ts.map +1 -0
  106. package/dist/Header/Header.js +174 -0
  107. package/dist/InlineMessage/InlineMessage.d.ts +16 -0
  108. package/dist/InlineMessage/InlineMessage.d.ts.map +1 -0
  109. package/dist/InlineMessage/InlineMessage.js +115 -0
  110. package/dist/Label/Label.d.ts.map +1 -0
  111. package/dist/Label/Label.js +100 -0
  112. package/dist/LabelGroup/LabelGroup.d.ts +13 -0
  113. package/dist/LabelGroup/LabelGroup.d.ts.map +1 -0
  114. package/dist/LabelGroup/LabelGroup.js +357 -0
  115. package/dist/NavList/NavList.js +910 -0
  116. package/dist/Overlay/Overlay-40e80d0e.css +2 -0
  117. package/dist/Overlay/Overlay-40e80d0e.css.map +1 -0
  118. package/dist/Overlay/Overlay.module.css.js +5 -0
  119. package/dist/PageHeader/PageHeader.d.ts.map +1 -0
  120. package/dist/PageHeader/PageHeader.js +1017 -0
  121. package/dist/PageLayout/PageLayout.d.ts.map +1 -0
  122. package/dist/PageLayout/PageLayout.js +1244 -0
  123. package/dist/Pagehead/Pagehead.d.ts +11 -0
  124. package/dist/Pagehead/Pagehead.d.ts.map +1 -0
  125. package/dist/Pagehead/Pagehead.js +17 -0
  126. package/dist/PointerBox/PointerBox.d.ts +28 -0
  127. package/dist/PointerBox/PointerBox.d.ts.map +1 -0
  128. package/dist/PointerBox/PointerBox.js +65 -0
  129. package/dist/Popover/Popover-3ba3b962.css +2 -0
  130. package/dist/Popover/Popover-3ba3b962.css.map +1 -0
  131. package/dist/Popover/Popover.d.ts +26 -0
  132. package/dist/Popover/Popover.d.ts.map +1 -0
  133. package/dist/Popover/Popover.js +126 -0
  134. package/dist/Popover/Popover.module.css.js +5 -0
  135. package/dist/Portal/Portal.d.ts +33 -0
  136. package/dist/Portal/Portal.d.ts.map +1 -0
  137. package/dist/Portal/Portal.js +93 -0
  138. package/dist/Portal/index.d.ts +7 -0
  139. package/dist/Portal/index.d.ts.map +1 -0
  140. package/dist/Portal/index.js +6 -0
  141. package/dist/ProgressBar/ProgressBar-181186d4.css +2 -0
  142. package/dist/ProgressBar/ProgressBar-181186d4.css.map +1 -0
  143. package/dist/ProgressBar/ProgressBar.d.ts +34 -0
  144. package/dist/ProgressBar/ProgressBar.d.ts.map +1 -0
  145. package/dist/ProgressBar/ProgressBar.js +263 -0
  146. package/dist/ProgressBar/ProgressBar.module.css.js +5 -0
  147. package/dist/ProgressBar/index.d.ts +26 -0
  148. package/dist/ProgressBar/index.d.ts.map +1 -0
  149. package/dist/Radio/Radio-df9a5c02.css +2 -0
  150. package/dist/Radio/Radio-df9a5c02.css.map +1 -0
  151. package/dist/Radio/Radio.d.ts.map +1 -0
  152. package/dist/Radio/Radio.js +119 -0
  153. package/dist/Radio/Radio.module.css.js +5 -0
  154. package/dist/SegmentedControl/SegmentedControl-7f79ab74.css +2 -0
  155. package/dist/SegmentedControl/SegmentedControl-7f79ab74.css.map +1 -0
  156. package/dist/SegmentedControl/SegmentedControl.d.ts +24 -0
  157. package/dist/SegmentedControl/SegmentedControl.d.ts.map +1 -0
  158. package/dist/SegmentedControl/SegmentedControl.js +229 -0
  159. package/dist/SegmentedControl/SegmentedControl.module.css.js +5 -0
  160. package/dist/SegmentedControl/SegmentedControlButton.d.ts +18 -0
  161. package/dist/SegmentedControl/SegmentedControlButton.d.ts.map +1 -0
  162. package/dist/SegmentedControl/SegmentedControlButton.js +159 -0
  163. package/dist/SegmentedControl/SegmentedControlIconButton.d.ts +20 -0
  164. package/dist/SegmentedControl/SegmentedControlIconButton.d.ts.map +1 -0
  165. package/dist/SegmentedControl/SegmentedControlIconButton.js +220 -0
  166. package/dist/SegmentedControl/index.d.ts +5 -0
  167. package/dist/SegmentedControl/index.d.ts.map +1 -0
  168. package/dist/Select/Select.d.ts +14 -0
  169. package/dist/Select/Select.d.ts.map +1 -0
  170. package/dist/Select/Select.js +239 -0
  171. package/dist/SelectPanel/SelectPanel-3ac7e8d0.css +2 -0
  172. package/dist/SelectPanel/SelectPanel-3ac7e8d0.css.map +1 -0
  173. package/dist/SelectPanel/SelectPanel.d.ts +87 -0
  174. package/dist/SelectPanel/SelectPanel.d.ts.map +1 -0
  175. package/dist/SelectPanel/SelectPanel.js +741 -0
  176. package/dist/SelectPanel/SelectPanel.module.css.js +5 -0
  177. package/dist/SelectPanel/SelectPanelMessage.d.ts +22 -0
  178. package/dist/SelectPanel/SelectPanelMessage.d.ts.map +1 -0
  179. package/dist/SelectPanel/SelectPanelMessage.js +37 -0
  180. package/dist/SelectPanel/index.d.ts +4 -0
  181. package/dist/SelectPanel/index.d.ts.map +1 -0
  182. package/dist/SideNav.d.ts +34 -0
  183. package/dist/SideNav.d.ts.map +1 -0
  184. package/dist/SideNav.js +53 -0
  185. package/dist/Skeleton/SkeletonBox.d.ts +12 -0
  186. package/dist/Skeleton/SkeletonBox.d.ts.map +1 -0
  187. package/dist/Skeleton/SkeletonBox.js +79 -0
  188. package/dist/SkeletonAvatar/SkeletonAvatar-e00fff32.css +2 -0
  189. package/dist/SkeletonAvatar/SkeletonAvatar-e00fff32.css.map +1 -0
  190. package/dist/SkeletonAvatar/SkeletonAvatar.d.ts +12 -0
  191. package/dist/SkeletonAvatar/SkeletonAvatar.d.ts.map +1 -0
  192. package/dist/SkeletonAvatar/SkeletonAvatar.js +124 -0
  193. package/dist/SkeletonAvatar/SkeletonAvatar.module.css.js +5 -0
  194. package/dist/SkeletonAvatar/index.d.ts +3 -0
  195. package/dist/SkeletonAvatar/index.d.ts.map +1 -0
  196. package/dist/SkeletonText/SkeletonText-5cf908c1.css +2 -0
  197. package/dist/SkeletonText/SkeletonText-5cf908c1.css.map +1 -0
  198. package/dist/SkeletonText/SkeletonText.d.ts +16 -0
  199. package/dist/SkeletonText/SkeletonText.d.ts.map +1 -0
  200. package/dist/SkeletonText/SkeletonText.js +140 -0
  201. package/dist/SkeletonText/SkeletonText.module.css.js +5 -0
  202. package/dist/SkeletonText/index.d.ts +3 -0
  203. package/dist/SkeletonText/index.d.ts.map +1 -0
  204. package/dist/Spinner/Spinner.d.ts +24 -0
  205. package/dist/Spinner/Spinner.d.ts.map +1 -0
  206. package/dist/Spinner/Spinner.js +172 -0
  207. package/dist/SplitPageLayout/SplitPageLayout.d.ts +21 -0
  208. package/dist/SplitPageLayout/SplitPageLayout.d.ts.map +1 -0
  209. package/dist/Stack/Stack-9e7b935d.css +2 -0
  210. package/dist/Stack/Stack-9e7b935d.css.map +1 -0
  211. package/dist/Stack/Stack.d.ts +74 -0
  212. package/dist/Stack/Stack.d.ts.map +1 -0
  213. package/dist/Stack/Stack.js +230 -0
  214. package/dist/Stack/Stack.module.css.js +5 -0
  215. package/dist/StateLabel/StateLabel-50420ff5.css +2 -0
  216. package/dist/StateLabel/StateLabel-50420ff5.css.map +1 -0
  217. package/dist/StateLabel/StateLabel.d.ts +25 -0
  218. package/dist/StateLabel/StateLabel.d.ts.map +1 -0
  219. package/dist/StateLabel/StateLabel.js +126 -0
  220. package/dist/StateLabel/StateLabel.module.css.js +5 -0
  221. package/dist/SubNav/SubNav.d.ts +19 -0
  222. package/dist/SubNav/SubNav.d.ts.map +1 -0
  223. package/dist/SubNav/SubNav.js +201 -0
  224. package/dist/TabNav/TabNav-83c6145e.css +2 -0
  225. package/dist/TabNav/TabNav-83c6145e.css.map +1 -0
  226. package/dist/TabNav/TabNav.module.css.js +5 -0
  227. package/dist/Text/Text.d.ts.map +1 -0
  228. package/dist/Text/Text.js +71 -0
  229. package/dist/TextInput/TextInput.d.ts +43 -0
  230. package/dist/TextInput/TextInput.d.ts.map +1 -0
  231. package/dist/TextInputWithTokens/TextInputWithTokens.d.ts +92 -0
  232. package/dist/TextInputWithTokens/TextInputWithTokens.d.ts.map +1 -0
  233. package/dist/TextInputWithTokens/TextInputWithTokens.js +639 -0
  234. package/dist/Textarea/Textarea.d.ts +89 -0
  235. package/dist/Textarea/Textarea.d.ts.map +1 -0
  236. package/dist/Textarea/Textarea.js +155 -0
  237. package/dist/Timeline/Timeline.d.ts +51 -0
  238. package/dist/Timeline/Timeline.d.ts.map +1 -0
  239. package/dist/Timeline/Timeline.js +240 -0
  240. package/dist/ToggleSwitch/ToggleSwitch-4b23d166.css +2 -0
  241. package/dist/ToggleSwitch/ToggleSwitch-4b23d166.css.map +1 -0
  242. package/dist/ToggleSwitch/ToggleSwitch.d.ts +40 -0
  243. package/dist/ToggleSwitch/ToggleSwitch.d.ts.map +1 -0
  244. package/dist/ToggleSwitch/ToggleSwitch.js +462 -0
  245. package/dist/ToggleSwitch/ToggleSwitch.module.css.js +5 -0
  246. package/dist/ToggleSwitch/ToggleSwitchStoryWrapper.d.ts.map +1 -0
  247. package/dist/Token/IssueLabelToken-0dbbbcdf.css +2 -0
  248. package/dist/Token/IssueLabelToken-0dbbbcdf.css.map +1 -0
  249. package/dist/Token/IssueLabelToken.d.ts.map +1 -0
  250. package/dist/Token/IssueLabelToken.js +81 -0
  251. package/dist/Token/IssueLabelToken.module.css.js +5 -0
  252. package/dist/Token/Token.d.ts.map +1 -0
  253. package/dist/Token/Token.js +284 -0
  254. package/dist/Token/TokenBase.js +134 -0
  255. package/dist/Token/_RemoveTokenButton.js +117 -0
  256. package/dist/Token/index.d.ts +6 -0
  257. package/dist/Token/index.d.ts.map +1 -0
  258. package/dist/Tooltip/Tooltip.js +134 -0
  259. package/dist/TooltipV2/Tooltip-5a80d7b2.css +2 -0
  260. package/dist/TooltipV2/Tooltip-5a80d7b2.css.map +1 -0
  261. package/dist/TooltipV2/Tooltip.d.ts.map +1 -0
  262. package/dist/TooltipV2/Tooltip.js +294 -0
  263. package/dist/TooltipV2/Tooltip.module.css.js +5 -0
  264. package/dist/TreeView/TreeView.js +1158 -0
  265. package/dist/TreeView/shared.js +13 -0
  266. package/dist/VisuallyHidden/VisuallyHidden.d.ts +17 -0
  267. package/dist/VisuallyHidden/VisuallyHidden.d.ts.map +1 -0
  268. package/dist/VisuallyHidden/VisuallyHidden.js +51 -0
  269. package/dist/_VisuallyHidden-5c0a2499.css +2 -0
  270. package/dist/_VisuallyHidden-5c0a2499.css.map +1 -0
  271. package/dist/_VisuallyHidden.d.ts +8 -0
  272. package/dist/_VisuallyHidden.d.ts.map +1 -0
  273. package/dist/_VisuallyHidden.js +67 -0
  274. package/dist/_VisuallyHidden.module.css.js +5 -0
  275. package/dist/deprecated/ActionList/List.d.ts.map +1 -0
  276. package/dist/deprecated/ActionList/List.js +199 -0
  277. package/dist/deprecated/ActionMenu.js +197 -0
  278. package/dist/deprecated/UnderlineNav/UnderlineNav.d.ts +25 -0
  279. package/dist/deprecated/UnderlineNav/UnderlineNav.d.ts.map +1 -0
  280. package/dist/deprecated/UnderlineNav/UnderlineNav.js +124 -0
  281. package/dist/deprecated/index.d.ts +28 -0
  282. package/dist/deprecated/index.d.ts.map +1 -0
  283. package/dist/deprecated/index.js +11 -0
  284. package/dist/experimental/IssueLabel/IssueLabel-6581d1bd.css +2 -0
  285. package/dist/experimental/IssueLabel/IssueLabel-6581d1bd.css.map +1 -0
  286. package/dist/experimental/IssueLabel/IssueLabel.d.ts +32 -0
  287. package/dist/experimental/IssueLabel/IssueLabel.d.ts.map +1 -0
  288. package/dist/experimental/IssueLabel/IssueLabel.js +178 -0
  289. package/dist/experimental/IssueLabel/IssueLabel.module.css.js +5 -0
  290. package/dist/experimental/UnderlinePanels/UnderlinePanels.d.ts.map +1 -0
  291. package/dist/experimental/UnderlinePanels/UnderlinePanels.js +201 -0
  292. package/dist/experimental/index.d.ts +49 -0
  293. package/dist/experimental/index.d.ts.map +1 -0
  294. package/dist/experimental/index.js +32 -0
  295. package/dist/hooks/useMenuKeyboardNavigation.js +139 -0
  296. package/dist/hooks/useMnemonics.js +73 -0
  297. package/dist/hooks/useOpenAndCloseFocus.js +46 -0
  298. package/dist/hooks/useOverflow.js +39 -0
  299. package/dist/hooks/useScrollFlash.js +35 -0
  300. package/dist/index.d.ts +146 -0
  301. package/dist/index.d.ts.map +1 -0
  302. package/dist/index.js +87 -0
  303. package/dist/internal/components/BoxWithFallback.js +70 -0
  304. package/dist/internal/components/ButtonReset-904f2483.css +2 -0
  305. package/dist/internal/components/ButtonReset-904f2483.css.map +1 -0
  306. package/dist/internal/components/ButtonReset.d.ts +5 -0
  307. package/dist/internal/components/ButtonReset.d.ts.map +1 -0
  308. package/dist/internal/components/ButtonReset.js +52 -0
  309. package/dist/internal/components/ButtonReset.module.css.js +5 -0
  310. package/dist/internal/components/Caret-e686f04c.css +2 -0
  311. package/dist/internal/components/Caret-e686f04c.css.map +1 -0
  312. package/dist/internal/components/Caret.d.ts +15 -0
  313. package/dist/internal/components/Caret.d.ts.map +1 -0
  314. package/dist/internal/components/Caret.js +87 -0
  315. package/dist/internal/components/Caret.module.css.js +5 -0
  316. package/dist/internal/components/LiveRegion.js +130 -0
  317. package/dist/internal/components/TextInputWrapper-889df5d3.css +2 -0
  318. package/dist/internal/components/TextInputWrapper-889df5d3.css.map +1 -0
  319. package/dist/internal/components/TextInputWrapper.module.css.js +5 -0
  320. package/dist/internal/components/UnderlineTabbedInterface.d.ts.map +1 -0
  321. package/dist/internal/components/UnderlineTabbedInterface.js +216 -0
  322. package/dist/internal/utils/getGlobalFocusStyles.js +7 -0
  323. package/dist/live-region/Announce.d.ts +32 -0
  324. package/dist/live-region/Announce.d.ts.map +1 -0
  325. package/dist/live-region/Announce.js +186 -0
  326. package/dist/live-region/AriaAlert.d.ts +18 -0
  327. package/dist/live-region/AriaAlert.d.ts.map +1 -0
  328. package/dist/live-region/AriaStatus.d.ts +22 -0
  329. package/dist/live-region/AriaStatus.d.ts.map +1 -0
  330. package/dist/test-helpers.js +72 -0
  331. package/dist/utils/form-story-helpers.d.ts +62 -0
  332. package/dist/utils/form-story-helpers.d.ts.map +1 -0
  333. package/dist/utils/polymorphic2.d.ts +16 -0
  334. package/dist/utils/polymorphic2.d.ts.map +1 -0
  335. package/dist/utils/test-helpers.d.ts +2 -0
  336. package/dist/utils/test-helpers.d.ts.map +1 -0
  337. package/generated/components.json +570 -755
  338. package/generated/hooks.json +5 -0
  339. package/package.json +51 -65
  340. package/dist/browser.esm.js +0 -13
  341. package/dist/browser.esm.js.map +0 -1
  342. package/dist/browser.umd.js +0 -14
  343. package/dist/browser.umd.js.map +0 -1
  344. package/dist/components.css +0 -6567
  345. package/lib/ActionBar/ActionBar-e6a5d54e.css +0 -2
  346. package/lib/ActionBar/ActionBar-e6a5d54e.css.map +0 -1
  347. package/lib/ActionBar/ActionBar.d.ts +0 -24
  348. package/lib/ActionBar/ActionBar.js +0 -362
  349. package/lib/ActionBar/ActionBar.module.css.js +0 -7
  350. package/lib/ActionBar/disabled.ActionBar.Figma.d.ts +0 -2
  351. package/lib/ActionBar/index.d.ts +0 -8
  352. package/lib/ActionBar/index.js +0 -13
  353. package/lib/ActionList/ActionList-49cba224.css +0 -2
  354. package/lib/ActionList/ActionList-49cba224.css.map +0 -1
  355. package/lib/ActionList/ActionList.module.css.js +0 -7
  356. package/lib/ActionList/ActionListContainerContext.d.ts +0 -16
  357. package/lib/ActionList/ActionListContainerContext.d.ts.map +0 -1
  358. package/lib/ActionList/ActionListContainerContext.js +0 -13
  359. package/lib/ActionList/Description.d.ts +0 -18
  360. package/lib/ActionList/Description.d.ts.map +0 -1
  361. package/lib/ActionList/Description.js +0 -62
  362. package/lib/ActionList/Divider.d.ts +0 -10
  363. package/lib/ActionList/Divider.d.ts.map +0 -1
  364. package/lib/ActionList/Divider.js +0 -26
  365. package/lib/ActionList/Group-2c8b5711.css +0 -2
  366. package/lib/ActionList/Group-2c8b5711.css.map +0 -1
  367. package/lib/ActionList/Group.d.ts +0 -48
  368. package/lib/ActionList/Group.d.ts.map +0 -1
  369. package/lib/ActionList/Group.js +0 -198
  370. package/lib/ActionList/Group.module.css.js +0 -7
  371. package/lib/ActionList/Heading-b9360636.css +0 -2
  372. package/lib/ActionList/Heading-b9360636.css.map +0 -1
  373. package/lib/ActionList/Heading.d.ts +0 -13
  374. package/lib/ActionList/Heading.js +0 -57
  375. package/lib/ActionList/Heading.module.css.js +0 -7
  376. package/lib/ActionList/Item.d.ts +0 -10
  377. package/lib/ActionList/Item.d.ts.map +0 -1
  378. package/lib/ActionList/Item.js +0 -279
  379. package/lib/ActionList/LinkItem.d.ts +0 -19
  380. package/lib/ActionList/LinkItem.d.ts.map +0 -1
  381. package/lib/ActionList/LinkItem.js +0 -55
  382. package/lib/ActionList/List.d.ts +0 -4
  383. package/lib/ActionList/List.d.ts.map +0 -1
  384. package/lib/ActionList/List.js +0 -81
  385. package/lib/ActionList/Selection.d.ts +0 -6
  386. package/lib/ActionList/Selection.js +0 -72
  387. package/lib/ActionList/TrailingAction.d.ts +0 -23
  388. package/lib/ActionList/TrailingAction.js +0 -52
  389. package/lib/ActionList/Visuals.d.ts +0 -18
  390. package/lib/ActionList/Visuals.d.ts.map +0 -1
  391. package/lib/ActionList/Visuals.js +0 -112
  392. package/lib/ActionList/index.d.ts +0 -35
  393. package/lib/ActionList/index.js +0 -39
  394. package/lib/ActionList/shared.d.ts +0 -116
  395. package/lib/ActionList/shared.d.ts.map +0 -1
  396. package/lib/ActionList/shared.js +0 -14
  397. package/lib/ActionMenu/ActionMenu-5fe972e2.css +0 -2
  398. package/lib/ActionMenu/ActionMenu-5fe972e2.css.map +0 -1
  399. package/lib/ActionMenu/ActionMenu.d.ts +0 -51
  400. package/lib/ActionMenu/ActionMenu.js +0 -300
  401. package/lib/ActionMenu/ActionMenu.module.css.js +0 -7
  402. package/lib/ActionMenu/index.d.ts +0 -2
  403. package/lib/AnchoredOverlay/AnchoredOverlay-73c1b2d1.css +0 -2
  404. package/lib/AnchoredOverlay/AnchoredOverlay-73c1b2d1.css.map +0 -1
  405. package/lib/AnchoredOverlay/AnchoredOverlay.d.ts +0 -104
  406. package/lib/AnchoredOverlay/AnchoredOverlay.js +0 -167
  407. package/lib/AnchoredOverlay/AnchoredOverlay.module.css.js +0 -7
  408. package/lib/AnchoredOverlay/index.d.ts +0 -3
  409. package/lib/Autocomplete/Autocomplete.d.ts +0 -47
  410. package/lib/Autocomplete/Autocomplete.js +0 -186
  411. package/lib/Autocomplete/AutocompleteContext.d.ts +0 -17
  412. package/lib/Autocomplete/AutocompleteContext.js +0 -7
  413. package/lib/Autocomplete/AutocompleteInput.d.ts +0 -16
  414. package/lib/Autocomplete/AutocompleteInput.js +0 -151
  415. package/lib/Autocomplete/AutocompleteMenu-7f135c03.css +0 -2
  416. package/lib/Autocomplete/AutocompleteMenu-7f135c03.css.map +0 -1
  417. package/lib/Autocomplete/AutocompleteMenu.d.ts +0 -75
  418. package/lib/Autocomplete/AutocompleteMenu.js +0 -251
  419. package/lib/Autocomplete/AutocompleteMenu.module.css.js +0 -7
  420. package/lib/Autocomplete/AutocompleteOverlay-d99d778c.css +0 -2
  421. package/lib/Autocomplete/AutocompleteOverlay-d99d778c.css.map +0 -1
  422. package/lib/Autocomplete/AutocompleteOverlay.d.ts +0 -21
  423. package/lib/Autocomplete/AutocompleteOverlay.js +0 -138
  424. package/lib/Autocomplete/AutocompleteOverlay.module.css.js +0 -7
  425. package/lib/Autocomplete/index.d.ts +0 -3
  426. package/lib/Avatar/Avatar-61b19061.css +0 -2
  427. package/lib/Avatar/Avatar-61b19061.css.map +0 -1
  428. package/lib/Avatar/Avatar.d.ts +0 -30
  429. package/lib/Avatar/Avatar.d.ts.map +0 -1
  430. package/lib/Avatar/Avatar.js +0 -145
  431. package/lib/Avatar/Avatar.module.css.js +0 -7
  432. package/lib/Avatar/index.d.ts +0 -3
  433. package/lib/Avatar/storyHelpers.d.ts +0 -6
  434. package/lib/AvatarPair/AvatarPair-68990abe.css +0 -2
  435. package/lib/AvatarPair/AvatarPair-68990abe.css.map +0 -1
  436. package/lib/AvatarPair/AvatarPair.d.ts +0 -8
  437. package/lib/AvatarPair/AvatarPair.d.ts.map +0 -1
  438. package/lib/AvatarPair/AvatarPair.js +0 -92
  439. package/lib/AvatarPair/AvatarPair.module.css.js +0 -7
  440. package/lib/AvatarPair/index.d.ts +0 -3
  441. package/lib/AvatarPair/index.d.ts.map +0 -1
  442. package/lib/AvatarStack/AvatarStack-f0712fca.css +0 -2
  443. package/lib/AvatarStack/AvatarStack-f0712fca.css.map +0 -1
  444. package/lib/AvatarStack/AvatarStack.d.ts +0 -14
  445. package/lib/AvatarStack/AvatarStack.d.ts.map +0 -1
  446. package/lib/AvatarStack/AvatarStack.js +0 -152
  447. package/lib/AvatarStack/AvatarStack.module.css.js +0 -7
  448. package/lib/AvatarStack/index.d.ts +0 -3
  449. package/lib/Banner/Banner-43e2cd6a.css +0 -2
  450. package/lib/Banner/Banner-43e2cd6a.css.map +0 -1
  451. package/lib/Banner/Banner.d.ts +0 -117
  452. package/lib/Banner/Banner.d.ts.map +0 -1
  453. package/lib/Banner/Banner.js +0 -356
  454. package/lib/Banner/Banner.module.css.js +0 -7
  455. package/lib/Banner/index.d.ts +0 -21
  456. package/lib/Banner/index.d.ts.map +0 -1
  457. package/lib/Banner/index.js +0 -12
  458. package/lib/BaseStyles-7880c337.css +0 -2
  459. package/lib/BaseStyles-7880c337.css.map +0 -1
  460. package/lib/BaseStyles.d.ts +0 -14
  461. package/lib/BaseStyles.js +0 -123
  462. package/lib/BaseStyles.module.css.js +0 -7
  463. package/lib/Blankslate/Blankslate-a68ed307.css +0 -2
  464. package/lib/Blankslate/Blankslate-a68ed307.css.map +0 -1
  465. package/lib/Blankslate/Blankslate.d.ts +0 -45
  466. package/lib/Blankslate/Blankslate.js +0 -350
  467. package/lib/Blankslate/Blankslate.module.css.js +0 -7
  468. package/lib/Blankslate/BlankslateContext.d.ts +0 -7
  469. package/lib/Blankslate/BlankslateContext.js +0 -16
  470. package/lib/Blankslate/index.d.ts +0 -12
  471. package/lib/Blankslate/index.js +0 -13
  472. package/lib/Box/Box.d.ts +0 -18
  473. package/lib/Box/Box.js +0 -21
  474. package/lib/Box/index.d.ts +0 -3
  475. package/lib/BranchName/BranchName-2fad4f4b.css +0 -2
  476. package/lib/BranchName/BranchName-2fad4f4b.css.map +0 -1
  477. package/lib/BranchName/BranchName.d.ts +0 -12
  478. package/lib/BranchName/BranchName.d.ts.map +0 -1
  479. package/lib/BranchName/BranchName.js +0 -78
  480. package/lib/BranchName/BranchName.module.css.js +0 -7
  481. package/lib/BranchName/index.d.ts +0 -3
  482. package/lib/Breadcrumbs/Breadcrumbs-99078f17.css +0 -2
  483. package/lib/Breadcrumbs/Breadcrumbs-99078f17.css.map +0 -1
  484. package/lib/Breadcrumbs/Breadcrumbs.d.ts +0 -38
  485. package/lib/Breadcrumbs/Breadcrumbs.d.ts.map +0 -1
  486. package/lib/Breadcrumbs/Breadcrumbs.js +0 -168
  487. package/lib/Breadcrumbs/Breadcrumbs.module.css.js +0 -7
  488. package/lib/Breadcrumbs/index.d.ts +0 -3
  489. package/lib/Button/Button.d.ts +0 -9
  490. package/lib/Button/Button.js +0 -106
  491. package/lib/Button/ButtonBase-ec78dde7.css +0 -2
  492. package/lib/Button/ButtonBase-ec78dde7.css.map +0 -1
  493. package/lib/Button/ButtonBase.d.ts +0 -5
  494. package/lib/Button/ButtonBase.js +0 -232
  495. package/lib/Button/ButtonBase.module.css.js +0 -7
  496. package/lib/Button/IconButton.d.ts +0 -5
  497. package/lib/Button/IconButton.js +0 -89
  498. package/lib/Button/LinkButton.d.ts +0 -6
  499. package/lib/Button/LinkButton.js +0 -23
  500. package/lib/Button/index.d.ts +0 -7
  501. package/lib/Button/styles.d.ts +0 -431
  502. package/lib/Button/styles.js +0 -7
  503. package/lib/Button/types.d.ts +0 -95
  504. package/lib/ButtonGroup/ButtonGroup-10292330.css +0 -2
  505. package/lib/ButtonGroup/ButtonGroup-10292330.css.map +0 -1
  506. package/lib/ButtonGroup/ButtonGroup.d.ts +0 -12
  507. package/lib/ButtonGroup/ButtonGroup.d.ts.map +0 -1
  508. package/lib/ButtonGroup/ButtonGroup.js +0 -140
  509. package/lib/ButtonGroup/ButtonGroup.module.css.js +0 -7
  510. package/lib/ButtonGroup/index.d.ts +0 -3
  511. package/lib/Caret.d.ts +0 -17
  512. package/lib/Caret.d.ts.map +0 -1
  513. package/lib/Caret.js +0 -123
  514. package/lib/Checkbox/Checkbox-2aef6693.css +0 -2
  515. package/lib/Checkbox/Checkbox-2aef6693.css.map +0 -1
  516. package/lib/Checkbox/Checkbox.d.ts +0 -36
  517. package/lib/Checkbox/Checkbox.js +0 -87
  518. package/lib/Checkbox/Checkbox.module.css.js +0 -7
  519. package/lib/Checkbox/index.d.ts +0 -3
  520. package/lib/Checkbox/shared-edc41e16.css +0 -2
  521. package/lib/Checkbox/shared-edc41e16.css.map +0 -1
  522. package/lib/Checkbox/shared.module.css.js +0 -7
  523. package/lib/CheckboxGroup/CheckboxGroup.d.ts +0 -23
  524. package/lib/CheckboxGroup/CheckboxGroup.js +0 -150
  525. package/lib/CheckboxGroup/CheckboxGroupContext.d.ts +0 -6
  526. package/lib/CheckboxGroup/CheckboxGroupContext.js +0 -7
  527. package/lib/CheckboxGroup/index.d.ts +0 -2
  528. package/lib/CircleBadge/CircleBadge.d.ts +0 -27
  529. package/lib/CircleBadge/CircleBadge.d.ts.map +0 -1
  530. package/lib/CircleBadge/CircleBadge.js +0 -43
  531. package/lib/CircleBadge/index.d.ts +0 -3
  532. package/lib/CircleOcticon/CircleOcticon.d.ts +0 -13
  533. package/lib/CircleOcticon/CircleOcticon.d.ts.map +0 -1
  534. package/lib/CircleOcticon/CircleOcticon.js +0 -96
  535. package/lib/CircleOcticon/index.d.ts +0 -3
  536. package/lib/CircleOcticon/index.d.ts.map +0 -1
  537. package/lib/ConfirmationDialog/ConfirmationDialog-de0401ff.css +0 -2
  538. package/lib/ConfirmationDialog/ConfirmationDialog-de0401ff.css.map +0 -1
  539. package/lib/ConfirmationDialog/ConfirmationDialog.d.ts +0 -66
  540. package/lib/ConfirmationDialog/ConfirmationDialog.d.ts.map +0 -1
  541. package/lib/ConfirmationDialog/ConfirmationDialog.js +0 -169
  542. package/lib/ConfirmationDialog/ConfirmationDialog.module.css.js +0 -7
  543. package/lib/CounterLabel/CounterLabel-44fb5d16.css +0 -2
  544. package/lib/CounterLabel/CounterLabel-44fb5d16.css.map +0 -1
  545. package/lib/CounterLabel/CounterLabel.d.ts +0 -15
  546. package/lib/CounterLabel/CounterLabel.d.ts.map +0 -1
  547. package/lib/CounterLabel/CounterLabel.js +0 -145
  548. package/lib/CounterLabel/CounterLabel.module.css.js +0 -7
  549. package/lib/CounterLabel/index.d.ts +0 -3
  550. package/lib/DataTable/DataTable.d.ts +0 -57
  551. package/lib/DataTable/DataTable.js +0 -147
  552. package/lib/DataTable/ErrorDialog.d.ts +0 -18
  553. package/lib/DataTable/ErrorDialog.js +0 -50
  554. package/lib/DataTable/Pagination.d.ts +0 -43
  555. package/lib/DataTable/Pagination.d.ts.map +0 -1
  556. package/lib/DataTable/Pagination.js +0 -404
  557. package/lib/DataTable/Table-87f4043f.css +0 -2
  558. package/lib/DataTable/Table-87f4043f.css.map +0 -1
  559. package/lib/DataTable/Table.d.ts +0 -135
  560. package/lib/DataTable/Table.d.ts.map +0 -1
  561. package/lib/DataTable/Table.js +0 -751
  562. package/lib/DataTable/Table.module.css.js +0 -7
  563. package/lib/DataTable/__tests__/sorting.test.d.ts +0 -2
  564. package/lib/DataTable/column.d.ts +0 -62
  565. package/lib/DataTable/column.js +0 -16
  566. package/lib/DataTable/index.d.ts +0 -33
  567. package/lib/DataTable/index.js +0 -24
  568. package/lib/DataTable/row.d.ts +0 -4
  569. package/lib/DataTable/sorting.d.ts +0 -32
  570. package/lib/DataTable/sorting.js +0 -133
  571. package/lib/DataTable/storyHelpers.d.ts +0 -4
  572. package/lib/DataTable/storyHelpers.d.ts.map +0 -1
  573. package/lib/DataTable/storybook/data.d.ts +0 -41
  574. package/lib/DataTable/useTable.d.ts +0 -42
  575. package/lib/DataTable/useTable.js +0 -318
  576. package/lib/DataTable/utils.d.ts +0 -11
  577. package/lib/Details/Details-8093044f.css +0 -2
  578. package/lib/Details/Details-8093044f.css.map +0 -1
  579. package/lib/Details/Details.d.ts +0 -20
  580. package/lib/Details/Details.d.ts.map +0 -1
  581. package/lib/Details/Details.js +0 -207
  582. package/lib/Details/Details.module.css.js +0 -7
  583. package/lib/Details/index.d.ts +0 -3
  584. package/lib/Dialog/Dialog-8a809d11.css +0 -2
  585. package/lib/Dialog/Dialog-8a809d11.css.map +0 -1
  586. package/lib/Dialog/Dialog.d.ts +0 -188
  587. package/lib/Dialog/Dialog.js +0 -571
  588. package/lib/Dialog/Dialog.module.css.js +0 -7
  589. package/lib/DialogV1/Dialog-dce13989.css +0 -2
  590. package/lib/DialogV1/Dialog-dce13989.css.map +0 -1
  591. package/lib/DialogV1/Dialog.d.ts +0 -31
  592. package/lib/DialogV1/Dialog.js +0 -205
  593. package/lib/DialogV1/Dialog.module.css.js +0 -7
  594. package/lib/DialogV1/index.d.ts +0 -3
  595. package/lib/DropdownStyles.d.ts +0 -4
  596. package/lib/FeatureFlags/DefaultFeatureFlags.d.ts +0 -3
  597. package/lib/FeatureFlags/DefaultFeatureFlags.js +0 -15
  598. package/lib/FeatureFlags/FeatureFlagContext.d.ts +0 -3
  599. package/lib/FeatureFlags/FeatureFlagContext.js +0 -8
  600. package/lib/FeatureFlags/FeatureFlagScope.d.ts +0 -22
  601. package/lib/FeatureFlags/FeatureFlagScope.js +0 -47
  602. package/lib/FeatureFlags/FeatureFlags.d.ts +0 -7
  603. package/lib/FeatureFlags/FeatureFlags.js +0 -44
  604. package/lib/FeatureFlags/index.d.ts +0 -5
  605. package/lib/FeatureFlags/useFeatureFlag.d.ts +0 -5
  606. package/lib/FeatureFlags/useFeatureFlag.js +0 -25
  607. package/lib/FilteredActionList/FilteredActionList-e1dde781.css +0 -2
  608. package/lib/FilteredActionList/FilteredActionList-e1dde781.css.map +0 -1
  609. package/lib/FilteredActionList/FilteredActionList.module.css.js +0 -7
  610. package/lib/FilteredActionList/FilteredActionListEntry.d.ts +0 -7
  611. package/lib/FilteredActionList/FilteredActionListEntry.d.ts.map +0 -1
  612. package/lib/FilteredActionList/FilteredActionListEntry.js +0 -40
  613. package/lib/FilteredActionList/FilteredActionListLoaders-6f14c45b.css +0 -2
  614. package/lib/FilteredActionList/FilteredActionListLoaders-6f14c45b.css.map +0 -1
  615. package/lib/FilteredActionList/FilteredActionListLoaders.d.ts +0 -15
  616. package/lib/FilteredActionList/FilteredActionListLoaders.js +0 -182
  617. package/lib/FilteredActionList/FilteredActionListLoaders.module.css.js +0 -7
  618. package/lib/FilteredActionList/FilteredActionListWithDeprecatedActionList.d.ts +0 -23
  619. package/lib/FilteredActionList/FilteredActionListWithDeprecatedActionList.d.ts.map +0 -1
  620. package/lib/FilteredActionList/FilteredActionListWithDeprecatedActionList.js +0 -219
  621. package/lib/FilteredActionList/FilteredActionListWithModernActionList.d.ts +0 -25
  622. package/lib/FilteredActionList/FilteredActionListWithModernActionList.d.ts.map +0 -1
  623. package/lib/FilteredActionList/FilteredActionListWithModernActionList.js +0 -353
  624. package/lib/FilteredActionList/index.d.ts +0 -3
  625. package/lib/FilteredActionList/index.d.ts.map +0 -1
  626. package/lib/FilteredActionList/useAnnouncements.d.ts +0 -3
  627. package/lib/FilteredActionList/useAnnouncements.d.ts.map +0 -1
  628. package/lib/FilteredActionList/useAnnouncements.js +0 -149
  629. package/lib/Flash/Flash-a3596568.css +0 -2
  630. package/lib/Flash/Flash-a3596568.css.map +0 -1
  631. package/lib/Flash/Flash.d.ts +0 -11
  632. package/lib/Flash/Flash.js +0 -84
  633. package/lib/Flash/Flash.module.css.js +0 -7
  634. package/lib/Flash/index.d.ts +0 -3
  635. package/lib/FormControl/FormControl-fa33984d.css +0 -2
  636. package/lib/FormControl/FormControl-fa33984d.css.map +0 -1
  637. package/lib/FormControl/FormControl.d.ts +0 -62
  638. package/lib/FormControl/FormControl.d.ts.map +0 -1
  639. package/lib/FormControl/FormControl.js +0 -229
  640. package/lib/FormControl/FormControl.module.css.js +0 -7
  641. package/lib/FormControl/FormControlCaption-f58db5f7.css +0 -2
  642. package/lib/FormControl/FormControlCaption-f58db5f7.css.map +0 -1
  643. package/lib/FormControl/FormControlCaption.d.ts +0 -9
  644. package/lib/FormControl/FormControlCaption.js +0 -55
  645. package/lib/FormControl/FormControlCaption.module.css.js +0 -7
  646. package/lib/FormControl/FormControlLabel.d.ts +0 -18
  647. package/lib/FormControl/FormControlLabel.js +0 -120
  648. package/lib/FormControl/FormControlLeadingVisual.d.ts +0 -5
  649. package/lib/FormControl/FormControlLeadingVisual.js +0 -49
  650. package/lib/FormControl/_FormControlContext.d.ts +0 -25
  651. package/lib/FormControl/_FormControlContext.js +0 -60
  652. package/lib/FormControl/_FormControlValidation.d.ts +0 -11
  653. package/lib/FormControl/_FormControlValidation.js +0 -42
  654. package/lib/FormControl/index.d.ts +0 -3
  655. package/lib/Header/Header-aff64597.css +0 -2
  656. package/lib/Header/Header-aff64597.css.map +0 -1
  657. package/lib/Header/Header.d.ts +0 -20
  658. package/lib/Header/Header.d.ts.map +0 -1
  659. package/lib/Header/Header.js +0 -286
  660. package/lib/Header/Header.module.css.js +0 -7
  661. package/lib/Header/index.d.ts +0 -3
  662. package/lib/Heading/Heading-26b4879b.css +0 -2
  663. package/lib/Heading/Heading-26b4879b.css.map +0 -1
  664. package/lib/Heading/Heading.d.ts +0 -11
  665. package/lib/Heading/Heading.js +0 -57
  666. package/lib/Heading/Heading.module.css.js +0 -7
  667. package/lib/Heading/index.d.ts +0 -3
  668. package/lib/Hidden/Hidden-b3896306.css +0 -2
  669. package/lib/Hidden/Hidden-b3896306.css.map +0 -1
  670. package/lib/Hidden/Hidden.d.ts +0 -15
  671. package/lib/Hidden/Hidden.js +0 -83
  672. package/lib/Hidden/Hidden.module.css.js +0 -7
  673. package/lib/Hidden/index.d.ts +0 -6
  674. package/lib/InlineMessage/InlineMessage-80d97643.css +0 -2
  675. package/lib/InlineMessage/InlineMessage-80d97643.css.map +0 -1
  676. package/lib/InlineMessage/InlineMessage.d.ts +0 -16
  677. package/lib/InlineMessage/InlineMessage.d.ts.map +0 -1
  678. package/lib/InlineMessage/InlineMessage.js +0 -155
  679. package/lib/InlineMessage/InlineMessage.module.css.js +0 -7
  680. package/lib/InlineMessage/index.d.ts +0 -3
  681. package/lib/KeybindingHint/KeybindingHint-0856c11b.css +0 -2
  682. package/lib/KeybindingHint/KeybindingHint-0856c11b.css.map +0 -1
  683. package/lib/KeybindingHint/KeybindingHint.d.ts +0 -13
  684. package/lib/KeybindingHint/KeybindingHint.js +0 -97
  685. package/lib/KeybindingHint/KeybindingHint.module.css.js +0 -7
  686. package/lib/KeybindingHint/components/Chord.d.ts +0 -5
  687. package/lib/KeybindingHint/components/Chord.js +0 -127
  688. package/lib/KeybindingHint/components/Key.d.ts +0 -9
  689. package/lib/KeybindingHint/components/Key.js +0 -71
  690. package/lib/KeybindingHint/components/Sequence.d.ts +0 -5
  691. package/lib/KeybindingHint/components/Sequence.js +0 -29
  692. package/lib/KeybindingHint/index.d.ts +0 -3
  693. package/lib/KeybindingHint/key-names.d.ts +0 -16
  694. package/lib/KeybindingHint/key-names.js +0 -131
  695. package/lib/KeybindingHint/props.d.ts +0 -37
  696. package/lib/Label/Label-7904957c.css +0 -2
  697. package/lib/Label/Label-7904957c.css.map +0 -1
  698. package/lib/Label/Label.d.ts +0 -14
  699. package/lib/Label/Label.d.ts.map +0 -1
  700. package/lib/Label/Label.js +0 -104
  701. package/lib/Label/Label.module.css.js +0 -7
  702. package/lib/Label/index.d.ts +0 -5
  703. package/lib/Label/index.js +0 -7
  704. package/lib/LabelGroup/LabelGroup.d.ts +0 -14
  705. package/lib/LabelGroup/LabelGroup.d.ts.map +0 -1
  706. package/lib/LabelGroup/LabelGroup.js +0 -367
  707. package/lib/LabelGroup/index.d.ts +0 -3
  708. package/lib/Link/Link-948b910e.css +0 -2
  709. package/lib/Link/Link-948b910e.css.map +0 -1
  710. package/lib/Link/Link.d.ts +0 -15
  711. package/lib/Link/Link.js +0 -66
  712. package/lib/Link/Link.module.css.js +0 -7
  713. package/lib/Link/index.d.ts +0 -3
  714. package/lib/NavList/NavList.d.ts +0 -54
  715. package/lib/NavList/NavList.js +0 -752
  716. package/lib/NavList/index.d.ts +0 -2
  717. package/lib/Octicon/Octicon.d.ts +0 -17
  718. package/lib/Octicon/Octicon.js +0 -66
  719. package/lib/Octicon/index.d.ts +0 -3
  720. package/lib/Overlay/Overlay-aeb12fc3.css +0 -2
  721. package/lib/Overlay/Overlay-aeb12fc3.css.map +0 -1
  722. package/lib/Overlay/Overlay.d.ts +0 -94
  723. package/lib/Overlay/Overlay.js +0 -349
  724. package/lib/Overlay/Overlay.module.css.js +0 -7
  725. package/lib/Overlay/index.d.ts +0 -3
  726. package/lib/PageHeader/PageHeader-4e1d8fee.css +0 -2
  727. package/lib/PageHeader/PageHeader-4e1d8fee.css.map +0 -1
  728. package/lib/PageHeader/PageHeader.d.ts +0 -50
  729. package/lib/PageHeader/PageHeader.d.ts.map +0 -1
  730. package/lib/PageHeader/PageHeader.js +0 -1032
  731. package/lib/PageHeader/PageHeader.module.css.js +0 -7
  732. package/lib/PageHeader/index.d.ts +0 -2
  733. package/lib/PageLayout/PageLayout-8a294e74.css +0 -2
  734. package/lib/PageLayout/PageLayout-8a294e74.css.map +0 -1
  735. package/lib/PageLayout/PageLayout.d.ts +0 -231
  736. package/lib/PageLayout/PageLayout.d.ts.map +0 -1
  737. package/lib/PageLayout/PageLayout.js +0 -1260
  738. package/lib/PageLayout/PageLayout.module.css.js +0 -7
  739. package/lib/PageLayout/index.d.ts +0 -2
  740. package/lib/Pagehead/Pagehead-0744ffce.css +0 -2
  741. package/lib/Pagehead/Pagehead-0744ffce.css.map +0 -1
  742. package/lib/Pagehead/Pagehead.d.ts +0 -11
  743. package/lib/Pagehead/Pagehead.d.ts.map +0 -1
  744. package/lib/Pagehead/Pagehead.js +0 -28
  745. package/lib/Pagehead/Pagehead.module.css.js +0 -7
  746. package/lib/Pagehead/index.d.ts +0 -3
  747. package/lib/Pagination/Pagination-e98833e8.css +0 -2
  748. package/lib/Pagination/Pagination-e98833e8.css.map +0 -1
  749. package/lib/Pagination/Pagination.d.ts +0 -24
  750. package/lib/Pagination/Pagination.js +0 -115
  751. package/lib/Pagination/Pagination.module.css.js +0 -7
  752. package/lib/Pagination/index.d.ts +0 -4
  753. package/lib/Pagination/index.js +0 -7
  754. package/lib/Pagination/mocks/ReactRouterLink.d.ts +0 -8
  755. package/lib/Pagination/model.d.ts +0 -26
  756. package/lib/Pagination/model.js +0 -202
  757. package/lib/Placeholder.d.ts +0 -9
  758. package/lib/PointerBox/PointerBox.d.ts +0 -20
  759. package/lib/PointerBox/PointerBox.d.ts.map +0 -1
  760. package/lib/PointerBox/PointerBox.js +0 -67
  761. package/lib/PointerBox/index.d.ts +0 -3
  762. package/lib/Popover/Popover-e16fd997.css +0 -2
  763. package/lib/Popover/Popover-e16fd997.css.map +0 -1
  764. package/lib/Popover/Popover.d.ts +0 -24
  765. package/lib/Popover/Popover.d.ts.map +0 -1
  766. package/lib/Popover/Popover.js +0 -121
  767. package/lib/Popover/Popover.module.css.js +0 -7
  768. package/lib/Popover/index.d.ts +0 -3
  769. package/lib/Portal/Portal.d.ts +0 -26
  770. package/lib/Portal/Portal.d.ts.map +0 -1
  771. package/lib/Portal/Portal.js +0 -90
  772. package/lib/Portal/index.d.ts +0 -6
  773. package/lib/Portal/index.d.ts.map +0 -1
  774. package/lib/Portal/index.js +0 -10
  775. package/lib/ProgressBar/ProgressBar-430cdef7.css +0 -2
  776. package/lib/ProgressBar/ProgressBar-430cdef7.css.map +0 -1
  777. package/lib/ProgressBar/ProgressBar.d.ts +0 -35
  778. package/lib/ProgressBar/ProgressBar.d.ts.map +0 -1
  779. package/lib/ProgressBar/ProgressBar.js +0 -266
  780. package/lib/ProgressBar/ProgressBar.module.css.js +0 -7
  781. package/lib/ProgressBar/index.d.ts +0 -26
  782. package/lib/ProgressBar/index.d.ts.map +0 -1
  783. package/lib/ProgressBar/index.js +0 -12
  784. package/lib/Radio/Radio-b2a92b7d.css +0 -2
  785. package/lib/Radio/Radio-b2a92b7d.css.map +0 -1
  786. package/lib/Radio/Radio.d.ts +0 -36
  787. package/lib/Radio/Radio.d.ts.map +0 -1
  788. package/lib/Radio/Radio.js +0 -176
  789. package/lib/Radio/Radio.module.css.js +0 -7
  790. package/lib/Radio/index.d.ts +0 -3
  791. package/lib/RadioGroup/RadioGroup.d.ts +0 -30
  792. package/lib/RadioGroup/RadioGroup.js +0 -126
  793. package/lib/RadioGroup/index.d.ts +0 -2
  794. package/lib/RelativeTime/RelativeTime.d.ts +0 -9
  795. package/lib/RelativeTime/RelativeTime.js +0 -84
  796. package/lib/RelativeTime/index.d.ts +0 -3
  797. package/lib/ScrollableRegion/ScrollableRegion.d.ts +0 -13
  798. package/lib/ScrollableRegion/ScrollableRegion.js +0 -82
  799. package/lib/ScrollableRegion/index.d.ts +0 -3
  800. package/lib/SegmentedControl/SegmentedControl-459caec8.css +0 -2
  801. package/lib/SegmentedControl/SegmentedControl-459caec8.css.map +0 -1
  802. package/lib/SegmentedControl/SegmentedControl.d.ts +0 -26
  803. package/lib/SegmentedControl/SegmentedControl.d.ts.map +0 -1
  804. package/lib/SegmentedControl/SegmentedControl.js +0 -253
  805. package/lib/SegmentedControl/SegmentedControl.module.css.js +0 -7
  806. package/lib/SegmentedControl/SegmentedControlButton.d.ts +0 -17
  807. package/lib/SegmentedControl/SegmentedControlButton.d.ts.map +0 -1
  808. package/lib/SegmentedControl/SegmentedControlButton.js +0 -153
  809. package/lib/SegmentedControl/SegmentedControlIconButton.d.ts +0 -21
  810. package/lib/SegmentedControl/SegmentedControlIconButton.d.ts.map +0 -1
  811. package/lib/SegmentedControl/SegmentedControlIconButton.js +0 -238
  812. package/lib/SegmentedControl/index.d.ts +0 -2
  813. package/lib/SegmentedControl/index.d.ts.map +0 -1
  814. package/lib/Select/Select-ab428dc7.css +0 -2
  815. package/lib/Select/Select-ab428dc7.css.map +0 -1
  816. package/lib/Select/Select.d.ts +0 -14
  817. package/lib/Select/Select.d.ts.map +0 -1
  818. package/lib/Select/Select.js +0 -249
  819. package/lib/Select/Select.module.css.js +0 -7
  820. package/lib/Select/index.d.ts +0 -3
  821. package/lib/SelectPanel/SelectPanel-bfde365c.css +0 -2
  822. package/lib/SelectPanel/SelectPanel-bfde365c.css.map +0 -1
  823. package/lib/SelectPanel/SelectPanel.d.ts +0 -83
  824. package/lib/SelectPanel/SelectPanel.d.ts.map +0 -1
  825. package/lib/SelectPanel/SelectPanel.js +0 -718
  826. package/lib/SelectPanel/SelectPanel.module.css.js +0 -7
  827. package/lib/SelectPanel/SelectPanelMessage.d.ts +0 -9
  828. package/lib/SelectPanel/SelectPanelMessage.d.ts.map +0 -1
  829. package/lib/SelectPanel/SelectPanelMessage.js +0 -33
  830. package/lib/SelectPanel/index.d.ts +0 -3
  831. package/lib/SelectPanel/index.d.ts.map +0 -1
  832. package/lib/SelectPanel/types.d.ts +0 -4
  833. package/lib/SelectPanel/types.d.ts.map +0 -1
  834. package/lib/SideNav-baa2364d.css +0 -2
  835. package/lib/SideNav-baa2364d.css.map +0 -1
  836. package/lib/SideNav.d.ts +0 -35
  837. package/lib/SideNav.d.ts.map +0 -1
  838. package/lib/SideNav.js +0 -62
  839. package/lib/SideNav.module.css.js +0 -7
  840. package/lib/Skeleton/SkeletonBox-248bfcc3.css +0 -2
  841. package/lib/Skeleton/SkeletonBox-248bfcc3.css.map +0 -1
  842. package/lib/Skeleton/SkeletonBox.d.ts +0 -12
  843. package/lib/Skeleton/SkeletonBox.d.ts.map +0 -1
  844. package/lib/Skeleton/SkeletonBox.js +0 -85
  845. package/lib/Skeleton/SkeletonBox.module.css.js +0 -7
  846. package/lib/Skeleton/index.d.ts +0 -5
  847. package/lib/Spinner/Spinner-2dbceeca.css +0 -2
  848. package/lib/Spinner/Spinner-2dbceeca.css.map +0 -1
  849. package/lib/Spinner/Spinner.d.ts +0 -24
  850. package/lib/Spinner/Spinner.d.ts.map +0 -1
  851. package/lib/Spinner/Spinner.js +0 -212
  852. package/lib/Spinner/Spinner.module.css.js +0 -7
  853. package/lib/Spinner/index.d.ts +0 -3
  854. package/lib/SplitPageLayout/SplitPageLayout.d.ts +0 -22
  855. package/lib/SplitPageLayout/SplitPageLayout.d.ts.map +0 -1
  856. package/lib/SplitPageLayout/SplitPageLayout.js +0 -239
  857. package/lib/SplitPageLayout/index.d.ts +0 -2
  858. package/lib/Stack/Stack-83ac2229.css +0 -2
  859. package/lib/Stack/Stack-83ac2229.css.map +0 -1
  860. package/lib/Stack/Stack.d.ts +0 -69
  861. package/lib/Stack/Stack.d.ts.map +0 -1
  862. package/lib/Stack/Stack.js +0 -220
  863. package/lib/Stack/Stack.module.css.js +0 -7
  864. package/lib/Stack/index.d.ts +0 -5
  865. package/lib/Stack/index.js +0 -9
  866. package/lib/StateLabel/StateLabel.d.ts +0 -25
  867. package/lib/StateLabel/StateLabel.d.ts.map +0 -1
  868. package/lib/StateLabel/StateLabel.js +0 -202
  869. package/lib/StateLabel/index.d.ts +0 -3
  870. package/lib/SubNav/SubNav-88128e5c.css +0 -2
  871. package/lib/SubNav/SubNav-88128e5c.css.map +0 -1
  872. package/lib/SubNav/SubNav.d.ts +0 -27
  873. package/lib/SubNav/SubNav.d.ts.map +0 -1
  874. package/lib/SubNav/SubNav.js +0 -348
  875. package/lib/SubNav/SubNav.module.css.js +0 -7
  876. package/lib/SubNav/index.d.ts +0 -3
  877. package/lib/TabNav/TabNav-9753d6ed.css +0 -2
  878. package/lib/TabNav/TabNav-9753d6ed.css.map +0 -1
  879. package/lib/TabNav/TabNav.d.ts +0 -29
  880. package/lib/TabNav/TabNav.js +0 -216
  881. package/lib/TabNav/TabNav.module.css.js +0 -7
  882. package/lib/TabNav/index.d.ts +0 -3
  883. package/lib/Text/Text-ca7603b7.css +0 -2
  884. package/lib/Text/Text-ca7603b7.css.map +0 -1
  885. package/lib/Text/Text.d.ts +0 -13
  886. package/lib/Text/Text.d.ts.map +0 -1
  887. package/lib/Text/Text.js +0 -78
  888. package/lib/Text/Text.module.css.js +0 -7
  889. package/lib/Text/index.d.ts +0 -3
  890. package/lib/TextInput/TextInput.d.ts +0 -43
  891. package/lib/TextInput/TextInput.d.ts.map +0 -1
  892. package/lib/TextInput/TextInput.js +0 -125
  893. package/lib/TextInput/index.d.ts +0 -3
  894. package/lib/TextInputWithTokens/TextInputWithTokens-fb9b5109.css +0 -2
  895. package/lib/TextInputWithTokens/TextInputWithTokens-fb9b5109.css.map +0 -1
  896. package/lib/TextInputWithTokens/TextInputWithTokens.d.ts +0 -86
  897. package/lib/TextInputWithTokens/TextInputWithTokens.d.ts.map +0 -1
  898. package/lib/TextInputWithTokens/TextInputWithTokens.js +0 -633
  899. package/lib/TextInputWithTokens/TextInputWithTokens.module.css.js +0 -7
  900. package/lib/TextInputWithTokens/index.d.ts +0 -3
  901. package/lib/Textarea/TextArea-54099020.css +0 -2
  902. package/lib/Textarea/TextArea-54099020.css.map +0 -1
  903. package/lib/Textarea/TextArea.module.css.js +0 -7
  904. package/lib/Textarea/Textarea.d.ts +0 -65
  905. package/lib/Textarea/Textarea.d.ts.map +0 -1
  906. package/lib/Textarea/Textarea.js +0 -138
  907. package/lib/Textarea/index.d.ts +0 -3
  908. package/lib/ThemeProvider.d.ts +0 -30
  909. package/lib/ThemeProvider.js +0 -233
  910. package/lib/Timeline/Timeline-e8e88a13.css +0 -2
  911. package/lib/Timeline/Timeline-e8e88a13.css.map +0 -1
  912. package/lib/Timeline/Timeline.d.ts +0 -51
  913. package/lib/Timeline/Timeline.d.ts.map +0 -1
  914. package/lib/Timeline/Timeline.js +0 -418
  915. package/lib/Timeline/Timeline.module.css.js +0 -7
  916. package/lib/Timeline/index.d.ts +0 -3
  917. package/lib/ToggleSwitch/ToggleSwitch.d.ts +0 -31
  918. package/lib/ToggleSwitch/ToggleSwitch.d.ts.map +0 -1
  919. package/lib/ToggleSwitch/ToggleSwitch.js +0 -480
  920. package/lib/ToggleSwitch/ToggleSwitchStoryWrapper.d.ts +0 -4
  921. package/lib/ToggleSwitch/ToggleSwitchStoryWrapper.d.ts.map +0 -1
  922. package/lib/ToggleSwitch/index.d.ts +0 -3
  923. package/lib/Token/AvatarToken-ff45cc85.css +0 -2
  924. package/lib/Token/AvatarToken-ff45cc85.css.map +0 -1
  925. package/lib/Token/AvatarToken.d.ts +0 -8
  926. package/lib/Token/AvatarToken.d.ts.map +0 -1
  927. package/lib/Token/AvatarToken.js +0 -99
  928. package/lib/Token/AvatarToken.module.css.js +0 -7
  929. package/lib/Token/IssueLabelToken-99c9b914.css +0 -2
  930. package/lib/Token/IssueLabelToken-99c9b914.css.map +0 -1
  931. package/lib/Token/IssueLabelToken.d.ts +0 -11
  932. package/lib/Token/IssueLabelToken.d.ts.map +0 -1
  933. package/lib/Token/IssueLabelToken.js +0 -141
  934. package/lib/Token/IssueLabelToken.module.css.js +0 -7
  935. package/lib/Token/Token-942271b0.css +0 -2
  936. package/lib/Token/Token-942271b0.css.map +0 -1
  937. package/lib/Token/Token.d.ts +0 -13
  938. package/lib/Token/Token.d.ts.map +0 -1
  939. package/lib/Token/Token.js +0 -294
  940. package/lib/Token/Token.module.css.js +0 -7
  941. package/lib/Token/TokenBase-0386597b.css +0 -2
  942. package/lib/Token/TokenBase-0386597b.css.map +0 -1
  943. package/lib/Token/TokenBase.d.ts +0 -42
  944. package/lib/Token/TokenBase.js +0 -150
  945. package/lib/Token/TokenBase.module.css.js +0 -7
  946. package/lib/Token/_RemoveTokenButton-d7f5985b.css +0 -2
  947. package/lib/Token/_RemoveTokenButton-d7f5985b.css.map +0 -1
  948. package/lib/Token/_RemoveTokenButton.d.ts +0 -14
  949. package/lib/Token/_RemoveTokenButton.js +0 -39
  950. package/lib/Token/_RemoveTokenButton.module.css.js +0 -7
  951. package/lib/Token/_TokenTextContainer-2ab10996.css +0 -2
  952. package/lib/Token/_TokenTextContainer-2ab10996.css.map +0 -1
  953. package/lib/Token/_TokenTextContainer.d.ts +0 -5
  954. package/lib/Token/_TokenTextContainer.js +0 -49
  955. package/lib/Token/_TokenTextContainer.module.css.js +0 -7
  956. package/lib/Token/index.d.ts +0 -7
  957. package/lib/Token/index.d.ts.map +0 -1
  958. package/lib/Tooltip/Tooltip.d.ts +0 -27
  959. package/lib/Tooltip/Tooltip.js +0 -146
  960. package/lib/Tooltip/index.d.ts +0 -3
  961. package/lib/TooltipV2/Tooltip-59734b6f.css +0 -2
  962. package/lib/TooltipV2/Tooltip-59734b6f.css.map +0 -1
  963. package/lib/TooltipV2/Tooltip.d.ts +0 -22
  964. package/lib/TooltipV2/Tooltip.d.ts.map +0 -1
  965. package/lib/TooltipV2/Tooltip.js +0 -301
  966. package/lib/TooltipV2/Tooltip.module.css.js +0 -7
  967. package/lib/TooltipV2/index.d.ts +0 -3
  968. package/lib/TreeView/TreeView-cd08cabc.css +0 -2
  969. package/lib/TreeView/TreeView-cd08cabc.css.map +0 -1
  970. package/lib/TreeView/TreeView.d.ts +0 -55
  971. package/lib/TreeView/TreeView.js +0 -1166
  972. package/lib/TreeView/TreeView.module.css.js +0 -7
  973. package/lib/TreeView/index.d.ts +0 -2
  974. package/lib/TreeView/shared.d.ts +0 -5
  975. package/lib/TreeView/shared.js +0 -15
  976. package/lib/TreeView/useRovingTabIndex.d.ts +0 -13
  977. package/lib/TreeView/useRovingTabIndex.js +0 -236
  978. package/lib/TreeView/useTypeahead.d.ts +0 -8
  979. package/lib/TreeView/useTypeahead.js +0 -122
  980. package/lib/Truncate/Truncate-030d5f52.css +0 -2
  981. package/lib/Truncate/Truncate-030d5f52.css.map +0 -1
  982. package/lib/Truncate/Truncate.d.ts +0 -13
  983. package/lib/Truncate/Truncate.js +0 -45
  984. package/lib/Truncate/Truncate.module.css.js +0 -7
  985. package/lib/Truncate/index.d.ts +0 -3
  986. package/lib/UnderlineNav/UnderlineNav.d.ts +0 -25
  987. package/lib/UnderlineNav/UnderlineNav.js +0 -374
  988. package/lib/UnderlineNav/UnderlineNavContext.d.ts +0 -16
  989. package/lib/UnderlineNav/UnderlineNavContext.js +0 -13
  990. package/lib/UnderlineNav/UnderlineNavItem.d.ts +0 -43
  991. package/lib/UnderlineNav/UnderlineNavItem.js +0 -183
  992. package/lib/UnderlineNav/index.d.ts +0 -8
  993. package/lib/UnderlineNav/index.js +0 -10
  994. package/lib/UnderlineNav/styles.d.ts +0 -38
  995. package/lib/UnderlineNav/styles.js +0 -81
  996. package/lib/UnderlineNav/types.d.ts +0 -10
  997. package/lib/VisuallyHidden/VisuallyHidden-ce2a3270.css +0 -2
  998. package/lib/VisuallyHidden/VisuallyHidden-ce2a3270.css.map +0 -1
  999. package/lib/VisuallyHidden/VisuallyHidden.d.ts +0 -18
  1000. package/lib/VisuallyHidden/VisuallyHidden.d.ts.map +0 -1
  1001. package/lib/VisuallyHidden/VisuallyHidden.js +0 -87
  1002. package/lib/VisuallyHidden/VisuallyHidden.module.css.js +0 -7
  1003. package/lib/VisuallyHidden/index.d.ts +0 -3
  1004. package/lib/_VisuallyHidden.d.ts +0 -7
  1005. package/lib/_VisuallyHidden.d.ts.map +0 -1
  1006. package/lib/_VisuallyHidden.js +0 -32
  1007. package/lib/constants.d.ts +0 -15
  1008. package/lib/constants.js +0 -52
  1009. package/lib/deprecated/ActionList/Divider.d.ts +0 -9
  1010. package/lib/deprecated/ActionList/Divider.js +0 -41
  1011. package/lib/deprecated/ActionList/Group.d.ts +0 -29
  1012. package/lib/deprecated/ActionList/Group.js +0 -67
  1013. package/lib/deprecated/ActionList/Header.d.ts +0 -30
  1014. package/lib/deprecated/ActionList/Header.js +0 -83
  1015. package/lib/deprecated/ActionList/Item.d.ts +0 -98
  1016. package/lib/deprecated/ActionList/Item.js +0 -457
  1017. package/lib/deprecated/ActionList/List.d.ts +0 -94
  1018. package/lib/deprecated/ActionList/List.d.ts.map +0 -1
  1019. package/lib/deprecated/ActionList/List.js +0 -228
  1020. package/lib/deprecated/ActionList/index.d.ts +0 -17
  1021. package/lib/deprecated/ActionList/index.js +0 -20
  1022. package/lib/deprecated/ActionMenu.d.ts +0 -44
  1023. package/lib/deprecated/ActionMenu.js +0 -201
  1024. package/lib/deprecated/FilteredSearch/FilteredSearch.d.ts +0 -10
  1025. package/lib/deprecated/FilteredSearch/FilteredSearch.js +0 -20
  1026. package/lib/deprecated/FilteredSearch/index.d.ts +0 -3
  1027. package/lib/deprecated/UnderlineNav/UnderlineNav.d.ts +0 -26
  1028. package/lib/deprecated/UnderlineNav/UnderlineNav.d.ts.map +0 -1
  1029. package/lib/deprecated/UnderlineNav/UnderlineNav.js +0 -131
  1030. package/lib/deprecated/UnderlineNav/index.d.ts +0 -3
  1031. package/lib/deprecated/index.d.ts +0 -26
  1032. package/lib/deprecated/index.d.ts.map +0 -1
  1033. package/lib/deprecated/index.js +0 -24
  1034. package/lib/deprecated/utils/create-slots.d.ts +0 -21
  1035. package/lib/experimental/CSSComponent/index.d.ts +0 -3
  1036. package/lib/experimental/IssueLabel/IssueLabel-5507fbf3.css +0 -2
  1037. package/lib/experimental/IssueLabel/IssueLabel-5507fbf3.css.map +0 -1
  1038. package/lib/experimental/IssueLabel/IssueLabel.d.ts +0 -17
  1039. package/lib/experimental/IssueLabel/IssueLabel.d.ts.map +0 -1
  1040. package/lib/experimental/IssueLabel/IssueLabel.js +0 -186
  1041. package/lib/experimental/IssueLabel/IssueLabel.module.css.js +0 -7
  1042. package/lib/experimental/IssueLabel/getColorFromHex.d.ts +0 -10
  1043. package/lib/experimental/IssueLabel/getColorFromHex.js +0 -155
  1044. package/lib/experimental/IssueLabel/index.d.ts +0 -3
  1045. package/lib/experimental/SelectPanel2/SelectPanel-e919f619.css +0 -2
  1046. package/lib/experimental/SelectPanel2/SelectPanel-e919f619.css.map +0 -1
  1047. package/lib/experimental/SelectPanel2/SelectPanel.d.ts +0 -76
  1048. package/lib/experimental/SelectPanel2/SelectPanel.js +0 -971
  1049. package/lib/experimental/SelectPanel2/SelectPanel.module.css.js +0 -7
  1050. package/lib/experimental/SelectPanel2/index.d.ts +0 -2
  1051. package/lib/experimental/SelectPanel2/mock-story-data.d.ts +0 -67
  1052. package/lib/experimental/Skeleton/SkeletonAvatar-e00fff32.css +0 -2
  1053. package/lib/experimental/Skeleton/SkeletonAvatar-e00fff32.css.map +0 -1
  1054. package/lib/experimental/Skeleton/SkeletonAvatar.d.ts +0 -8
  1055. package/lib/experimental/Skeleton/SkeletonAvatar.d.ts.map +0 -1
  1056. package/lib/experimental/Skeleton/SkeletonAvatar.js +0 -130
  1057. package/lib/experimental/Skeleton/SkeletonAvatar.module.css.js +0 -7
  1058. package/lib/experimental/Skeleton/SkeletonText-5cf908c1.css +0 -2
  1059. package/lib/experimental/Skeleton/SkeletonText-5cf908c1.css.map +0 -1
  1060. package/lib/experimental/Skeleton/SkeletonText.d.ts +0 -15
  1061. package/lib/experimental/Skeleton/SkeletonText.d.ts.map +0 -1
  1062. package/lib/experimental/Skeleton/SkeletonText.js +0 -149
  1063. package/lib/experimental/Skeleton/SkeletonText.module.css.js +0 -7
  1064. package/lib/experimental/Skeleton/index.d.ts +0 -4
  1065. package/lib/experimental/Skeleton/index.d.ts.map +0 -1
  1066. package/lib/experimental/UnderlinePanels/UnderlinePanels-e4b325b9.css +0 -2
  1067. package/lib/experimental/UnderlinePanels/UnderlinePanels-e4b325b9.css.map +0 -1
  1068. package/lib/experimental/UnderlinePanels/UnderlinePanels.d.ts +0 -55
  1069. package/lib/experimental/UnderlinePanels/UnderlinePanels.d.ts.map +0 -1
  1070. package/lib/experimental/UnderlinePanels/UnderlinePanels.js +0 -218
  1071. package/lib/experimental/UnderlinePanels/UnderlinePanels.module.css.js +0 -7
  1072. package/lib/experimental/UnderlinePanels/index.d.ts +0 -4
  1073. package/lib/experimental/hooks/index.d.ts +0 -3
  1074. package/lib/experimental/index.d.ts +0 -44
  1075. package/lib/experimental/index.d.ts.map +0 -1
  1076. package/lib/experimental/index.js +0 -69
  1077. package/lib/hooks/index.d.ts +0 -19
  1078. package/lib/hooks/useAnchoredPosition.d.ts +0 -23
  1079. package/lib/hooks/useAnchoredPosition.js +0 -93
  1080. package/lib/hooks/useControllableState.d.ts +0 -35
  1081. package/lib/hooks/useControllableState.js +0 -66
  1082. package/lib/hooks/useDetails.d.ts +0 -17
  1083. package/lib/hooks/useDetails.js +0 -104
  1084. package/lib/hooks/useDialog.d.ts +0 -16
  1085. package/lib/hooks/useDialog.js +0 -188
  1086. package/lib/hooks/useFocusTrap.d.ts +0 -40
  1087. package/lib/hooks/useFocusTrap.js +0 -63
  1088. package/lib/hooks/useFocusZone.d.ts +0 -26
  1089. package/lib/hooks/useFocusZone.js +0 -50
  1090. package/lib/hooks/useId.d.ts +0 -9
  1091. package/lib/hooks/useId.js +0 -20
  1092. package/lib/hooks/useIsMacOS.d.ts +0 -7
  1093. package/lib/hooks/useIsMacOS.js +0 -34
  1094. package/lib/hooks/useMedia.d.ts +0 -39
  1095. package/lib/hooks/useMedia.js +0 -92
  1096. package/lib/hooks/useMenuInitialFocus.d.ts +0 -3
  1097. package/lib/hooks/useMenuInitialFocus.js +0 -72
  1098. package/lib/hooks/useMenuKeyboardNavigation.d.ts +0 -11
  1099. package/lib/hooks/useMenuKeyboardNavigation.js +0 -165
  1100. package/lib/hooks/useMnemonics.d.ts +0 -5
  1101. package/lib/hooks/useMnemonics.js +0 -119
  1102. package/lib/hooks/useOnEscapePress.d.ts +0 -23
  1103. package/lib/hooks/useOnEscapePress.js +0 -72
  1104. package/lib/hooks/useOnOutsideClick.d.ts +0 -9
  1105. package/lib/hooks/useOnOutsideClick.js +0 -77
  1106. package/lib/hooks/useOpenAndCloseFocus.d.ts +0 -9
  1107. package/lib/hooks/useOpenAndCloseFocus.js +0 -55
  1108. package/lib/hooks/useOverflow.d.ts +0 -2
  1109. package/lib/hooks/useOverflow.js +0 -45
  1110. package/lib/hooks/useOverlay.d.ts +0 -15
  1111. package/lib/hooks/useOverlay.js +0 -79
  1112. package/lib/hooks/useProvidedRefOrCreate.d.ts +0 -11
  1113. package/lib/hooks/useProvidedRefOrCreate.js +0 -22
  1114. package/lib/hooks/useProvidedStateOrCreate.d.ts +0 -11
  1115. package/lib/hooks/useProvidedStateOrCreate.js +0 -45
  1116. package/lib/hooks/useRefObjectAsForwardedRef.d.ts +0 -10
  1117. package/lib/hooks/useRefObjectAsForwardedRef.js +0 -26
  1118. package/lib/hooks/useRenderForcingRef.d.ts +0 -9
  1119. package/lib/hooks/useRenderForcingRef.js +0 -22
  1120. package/lib/hooks/useResizeObserver.d.ts +0 -7
  1121. package/lib/hooks/useResizeObserver.js +0 -49
  1122. package/lib/hooks/useResponsiveValue.d.ts +0 -31
  1123. package/lib/hooks/useResponsiveValue.js +0 -69
  1124. package/lib/hooks/useSafeTimeout.d.ts +0 -13
  1125. package/lib/hooks/useSafeTimeout.js +0 -36
  1126. package/lib/hooks/useScrollFlash.d.ts +0 -7
  1127. package/lib/hooks/useScrollFlash.js +0 -26
  1128. package/lib/hooks/useSlots.d.ts +0 -20
  1129. package/lib/hooks/useSlots.js +0 -77
  1130. package/lib/hooks/useSyncedState.d.ts +0 -15
  1131. package/lib/hooks/useSyncedState.js +0 -43
  1132. package/lib/index.d.ts +0 -148
  1133. package/lib/index.d.ts.map +0 -1
  1134. package/lib/index.js +0 -196
  1135. package/lib/internal/components/BoxWithFallback.d.ts +0 -6
  1136. package/lib/internal/components/BoxWithFallback.js +0 -71
  1137. package/lib/internal/components/ButtonReset.d.ts +0 -6
  1138. package/lib/internal/components/ButtonReset.d.ts.map +0 -1
  1139. package/lib/internal/components/ButtonReset.js +0 -18
  1140. package/lib/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroup-e38b5339.css +0 -2
  1141. package/lib/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroup-e38b5339.css.map +0 -1
  1142. package/lib/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroup.d.ts +0 -35
  1143. package/lib/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroup.js +0 -107
  1144. package/lib/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroup.module.css.js +0 -7
  1145. package/lib/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupCaption.d.ts +0 -8
  1146. package/lib/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupCaption.js +0 -31
  1147. package/lib/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupContext.d.ts +0 -9
  1148. package/lib/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupContext.js +0 -11
  1149. package/lib/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupLabel.d.ts +0 -13
  1150. package/lib/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupLabel.js +0 -45
  1151. package/lib/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupValidation.d.ts +0 -10
  1152. package/lib/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupValidation.js +0 -29
  1153. package/lib/internal/components/CheckboxOrRadioGroup/index.d.ts +0 -4
  1154. package/lib/internal/components/ConditionalWrapper.d.ts +0 -6
  1155. package/lib/internal/components/ConditionalWrapper.js +0 -52
  1156. package/lib/internal/components/InputLabel-eb267c58.css +0 -2
  1157. package/lib/internal/components/InputLabel-eb267c58.css.map +0 -1
  1158. package/lib/internal/components/InputLabel.d.ts +0 -23
  1159. package/lib/internal/components/InputLabel.js +0 -125
  1160. package/lib/internal/components/InputLabel.module.css.js +0 -7
  1161. package/lib/internal/components/InputValidation-057236a4.css +0 -2
  1162. package/lib/internal/components/InputValidation-057236a4.css.map +0 -1
  1163. package/lib/internal/components/InputValidation.d.ts +0 -11
  1164. package/lib/internal/components/InputValidation.js +0 -93
  1165. package/lib/internal/components/InputValidation.module.css.js +0 -7
  1166. package/lib/internal/components/LiveRegion.d.ts +0 -14
  1167. package/lib/internal/components/LiveRegion.js +0 -141
  1168. package/lib/internal/components/TextInputInnerAction-477e9b99.css +0 -2
  1169. package/lib/internal/components/TextInputInnerAction-477e9b99.css.map +0 -1
  1170. package/lib/internal/components/TextInputInnerAction.d.ts +0 -21
  1171. package/lib/internal/components/TextInputInnerAction.js +0 -191
  1172. package/lib/internal/components/TextInputInnerAction.module.css.js +0 -7
  1173. package/lib/internal/components/TextInputInnerVisualSlot-4a14b955.css +0 -2
  1174. package/lib/internal/components/TextInputInnerVisualSlot-4a14b955.css.map +0 -1
  1175. package/lib/internal/components/TextInputInnerVisualSlot.d.ts +0 -14
  1176. package/lib/internal/components/TextInputInnerVisualSlot.js +0 -98
  1177. package/lib/internal/components/TextInputInnerVisualSlot.module.css.js +0 -7
  1178. package/lib/internal/components/TextInputWrapper-ca608f70.css +0 -2
  1179. package/lib/internal/components/TextInputWrapper-ca608f70.css.map +0 -1
  1180. package/lib/internal/components/TextInputWrapper.d.ts +0 -59
  1181. package/lib/internal/components/TextInputWrapper.js +0 -212
  1182. package/lib/internal/components/TextInputWrapper.module.css.js +0 -7
  1183. package/lib/internal/components/UnderlineTabbedInterface-addc90dd.css +0 -2
  1184. package/lib/internal/components/UnderlineTabbedInterface-addc90dd.css.map +0 -1
  1185. package/lib/internal/components/UnderlineTabbedInterface.d.ts +0 -28
  1186. package/lib/internal/components/UnderlineTabbedInterface.d.ts.map +0 -1
  1187. package/lib/internal/components/UnderlineTabbedInterface.js +0 -270
  1188. package/lib/internal/components/UnderlineTabbedInterface.module.css.js +0 -7
  1189. package/lib/internal/components/UnstyledTextInput-8270f063.css +0 -2
  1190. package/lib/internal/components/UnstyledTextInput-8270f063.css.map +0 -1
  1191. package/lib/internal/components/UnstyledTextInput.d.ts +0 -5
  1192. package/lib/internal/components/UnstyledTextInput.js +0 -57
  1193. package/lib/internal/components/UnstyledTextInput.module.css.js +0 -7
  1194. package/lib/internal/components/ValidationAnimationContainer.d.ts +0 -8
  1195. package/lib/internal/components/ValidationAnimationContainer.js +0 -78
  1196. package/lib/internal/hooks/useEffectCallback.d.ts +0 -8
  1197. package/lib/internal/hooks/useEffectCallback.js +0 -44
  1198. package/lib/internal/hooks/useEffectOnce.d.ts +0 -2
  1199. package/lib/internal/hooks/useEffectOnce.js +0 -30
  1200. package/lib/internal/hooks/useFocus.d.ts +0 -3
  1201. package/lib/internal/hooks/useMergedRefs.d.ts +0 -2
  1202. package/lib/internal/hooks/useMergedRefs.js +0 -19
  1203. package/lib/internal/internal-types.d.ts +0 -4
  1204. package/lib/internal/utils/__tests__/getResponsiveAttributes.test.d.ts +0 -2
  1205. package/lib/internal/utils/__tests__/hasInteractiveNodes.test.d.ts +0 -2
  1206. package/lib/internal/utils/getGlobalFocusStyles.d.ts +0 -4
  1207. package/lib/internal/utils/getGlobalFocusStyles.js +0 -9
  1208. package/lib/internal/utils/getResponsiveAttributes.d.ts +0 -19
  1209. package/lib/internal/utils/getResponsiveAttributes.js +0 -34
  1210. package/lib/internal/utils/getResponsiveControlValues.d.ts +0 -8
  1211. package/lib/internal/utils/hasInteractiveNodes.d.ts +0 -11
  1212. package/lib/internal/utils/hasInteractiveNodes.js +0 -50
  1213. package/lib/internal/utils/sharedCheckboxAndRadioStyles.d.ts +0 -2
  1214. package/lib/internal/utils/toggleStyledComponent.d.ts +0 -20
  1215. package/lib/internal/utils/toggleStyledComponent.d.ts.map +0 -1
  1216. package/lib/internal/utils/toggleSxComponent.d.ts +0 -15
  1217. package/lib/internal/utils/toggleSxComponent.d.ts.map +0 -1
  1218. package/lib/internal/utils/toggleSxComponent.js +0 -83
  1219. package/lib/legacy-theme/ts/color-schemes.d.ts +0 -4733
  1220. package/lib/legacy-theme/ts/color-schemes.js +0 -4736
  1221. package/lib/legacy-theme/ts/colors/dark.d.ts +0 -517
  1222. package/lib/legacy-theme/ts/colors/dark_colorblind.d.ts +0 -517
  1223. package/lib/legacy-theme/ts/colors/dark_dimmed.d.ts +0 -517
  1224. package/lib/legacy-theme/ts/colors/dark_high_contrast.d.ts +0 -517
  1225. package/lib/legacy-theme/ts/colors/dark_tritanopia.d.ts +0 -517
  1226. package/lib/legacy-theme/ts/colors/index.d.ts +0 -4638
  1227. package/lib/legacy-theme/ts/colors/light.d.ts +0 -517
  1228. package/lib/legacy-theme/ts/colors/light_colorblind.d.ts +0 -517
  1229. package/lib/legacy-theme/ts/colors/light_high_contrast.d.ts +0 -517
  1230. package/lib/legacy-theme/ts/colors/light_tritanopia.d.ts +0 -517
  1231. package/lib/legacy-theme/ts/index.d.ts +0 -2
  1232. package/lib/live-region/Announce.d.ts +0 -32
  1233. package/lib/live-region/Announce.d.ts.map +0 -1
  1234. package/lib/live-region/Announce.js +0 -183
  1235. package/lib/live-region/AriaAlert.d.ts +0 -22
  1236. package/lib/live-region/AriaAlert.d.ts.map +0 -1
  1237. package/lib/live-region/AriaAlert.js +0 -46
  1238. package/lib/live-region/AriaStatus.d.ts +0 -26
  1239. package/lib/live-region/AriaStatus.d.ts.map +0 -1
  1240. package/lib/live-region/AriaStatus.js +0 -46
  1241. package/lib/live-region/__tests__/test-helpers.d.ts +0 -3
  1242. package/lib/live-region/index.d.ts +0 -7
  1243. package/lib/next/index.d.ts +0 -3
  1244. package/lib/next/index.js +0 -8
  1245. package/lib/node_modules/@github/mini-throttle/dist/index.js +0 -43
  1246. package/lib/node_modules/@github/relative-time-element/dist/duration-format-ponyfill.js +0 -105
  1247. package/lib/node_modules/@github/relative-time-element/dist/duration.js +0 -204
  1248. package/lib/node_modules/@github/relative-time-element/dist/relative-time-element-define.js +0 -20
  1249. package/lib/node_modules/@github/relative-time-element/dist/relative-time-element.js +0 -462
  1250. package/lib/node_modules/@github/tab-container-element/dist/tab-container-element-define.js +0 -20
  1251. package/lib/node_modules/@github/tab-container-element/dist/tab-container-element.js +0 -392
  1252. package/lib/node_modules/@lit-labs/react/create-component.js +0 -10
  1253. package/lib/packages/react/node_modules/@oddbird/popover-polyfill/dist/popover-fn.js +0 -667
  1254. package/lib/polyfills/eventListenerSignal.d.ts +0 -7
  1255. package/lib/sx.d.ts +0 -26
  1256. package/lib/sx.js +0 -21
  1257. package/lib/test-helpers.js +0 -71
  1258. package/lib/theme.d.ts +0 -1173
  1259. package/lib/theme.js +0 -52
  1260. package/lib/utils/StressTest.d.ts +0 -10
  1261. package/lib/utils/__tests__/invariant.test.d.ts +0 -2
  1262. package/lib/utils/__tests__/warning.test.d.ts +0 -2
  1263. package/lib/utils/create-component.d.ts +0 -7
  1264. package/lib/utils/create-component.js +0 -32
  1265. package/lib/utils/defaultSxProp.d.ts +0 -3
  1266. package/lib/utils/defaultSxProp.js +0 -5
  1267. package/lib/utils/deprecate.d.ts +0 -19
  1268. package/lib/utils/environment.d.ts +0 -7
  1269. package/lib/utils/environment.js +0 -11
  1270. package/lib/utils/form-story-helpers.d.ts +0 -62
  1271. package/lib/utils/form-story-helpers.d.ts.map +0 -1
  1272. package/lib/utils/getBreakpointDeclarations.d.ts +0 -4
  1273. package/lib/utils/getBreakpointDeclarations.js +0 -18
  1274. package/lib/utils/includeSystemProps.d.ts +0 -7
  1275. package/lib/utils/includeSystemProps.js +0 -16
  1276. package/lib/utils/invariant.d.ts +0 -3
  1277. package/lib/utils/invariant.js +0 -26
  1278. package/lib/utils/isNumeric.d.ts +0 -2
  1279. package/lib/utils/isNumeric.js +0 -8
  1280. package/lib/utils/layout.d.ts +0 -21
  1281. package/lib/utils/polymorphic.d.ts +0 -38
  1282. package/lib/utils/scroll.d.ts +0 -6
  1283. package/lib/utils/scroll.js +0 -20
  1284. package/lib/utils/theme.d.ts +0 -20
  1285. package/lib/utils/theme.js +0 -15
  1286. package/lib/utils/types/AriaRole.d.ts +0 -2
  1287. package/lib/utils/types/ComponentProps.d.ts +0 -9
  1288. package/lib/utils/types/Flatten.d.ts +0 -5
  1289. package/lib/utils/types/FormValidationStatus.d.ts +0 -2
  1290. package/lib/utils/types/KeyPaths.d.ts +0 -4
  1291. package/lib/utils/types/MandateProps.d.ts +0 -4
  1292. package/lib/utils/types/Merge.d.ts +0 -20
  1293. package/lib/utils/types/ViewportRangeKeys.d.ts +0 -3
  1294. package/lib/utils/types/index.d.ts +0 -6
  1295. package/lib/utils/use-force-update.d.ts +0 -2
  1296. package/lib/utils/useIsomorphicLayoutEffect.d.ts +0 -4
  1297. package/lib/utils/useIsomorphicLayoutEffect.js +0 -12
  1298. package/lib/utils/warning.d.ts +0 -4
  1299. package/lib/utils/warning.js +0 -24
  1300. package/lib-esm/ActionList/ActionList-49cba224.css +0 -2
  1301. package/lib-esm/ActionList/ActionList-49cba224.css.map +0 -1
  1302. package/lib-esm/ActionList/ActionList.module.css.js +0 -5
  1303. package/lib-esm/ActionList/ActionListContainerContext.d.ts +0 -16
  1304. package/lib-esm/ActionList/Description.js +0 -56
  1305. package/lib-esm/ActionList/Divider.js +0 -24
  1306. package/lib-esm/ActionList/Group.js +0 -190
  1307. package/lib-esm/ActionList/Item.js +0 -272
  1308. package/lib-esm/ActionList/LinkItem.d.ts +0 -19
  1309. package/lib-esm/ActionList/LinkItem.js +0 -49
  1310. package/lib-esm/ActionList/List.js +0 -75
  1311. package/lib-esm/ActionList/Selection.js +0 -66
  1312. package/lib-esm/ActionList/Visuals.js +0 -103
  1313. package/lib-esm/ActionList/shared.d.ts +0 -116
  1314. package/lib-esm/Autocomplete/AutocompleteMenu.js +0 -245
  1315. package/lib-esm/Avatar/Avatar.js +0 -136
  1316. package/lib-esm/AvatarPair/AvatarPair-68990abe.css +0 -2
  1317. package/lib-esm/AvatarPair/AvatarPair-68990abe.css.map +0 -1
  1318. package/lib-esm/AvatarPair/AvatarPair.d.ts +0 -8
  1319. package/lib-esm/AvatarPair/AvatarPair.js +0 -86
  1320. package/lib-esm/AvatarPair/AvatarPair.module.css.js +0 -5
  1321. package/lib-esm/AvatarPair/index.d.ts +0 -3
  1322. package/lib-esm/AvatarStack/AvatarStack-f0712fca.css +0 -2
  1323. package/lib-esm/AvatarStack/AvatarStack-f0712fca.css.map +0 -1
  1324. package/lib-esm/AvatarStack/AvatarStack.d.ts +0 -14
  1325. package/lib-esm/AvatarStack/AvatarStack.js +0 -146
  1326. package/lib-esm/AvatarStack/AvatarStack.module.css.js +0 -5
  1327. package/lib-esm/Banner/Banner-43e2cd6a.css +0 -2
  1328. package/lib-esm/Banner/Banner-43e2cd6a.css.map +0 -1
  1329. package/lib-esm/Banner/Banner.d.ts +0 -117
  1330. package/lib-esm/Banner/Banner.js +0 -345
  1331. package/lib-esm/Banner/Banner.module.css.js +0 -5
  1332. package/lib-esm/Banner/index.d.ts +0 -21
  1333. package/lib-esm/BaseStyles-7880c337.css +0 -2
  1334. package/lib-esm/BaseStyles-7880c337.css.map +0 -1
  1335. package/lib-esm/BaseStyles.module.css.js +0 -5
  1336. package/lib-esm/Blankslate/Blankslate-a68ed307.css +0 -2
  1337. package/lib-esm/Blankslate/Blankslate-a68ed307.css.map +0 -1
  1338. package/lib-esm/Blankslate/Blankslate.js +0 -343
  1339. package/lib-esm/Blankslate/Blankslate.module.css.js +0 -5
  1340. package/lib-esm/BranchName/BranchName.d.ts +0 -12
  1341. package/lib-esm/BranchName/BranchName.js +0 -72
  1342. package/lib-esm/Breadcrumbs/Breadcrumbs-99078f17.css +0 -2
  1343. package/lib-esm/Breadcrumbs/Breadcrumbs-99078f17.css.map +0 -1
  1344. package/lib-esm/Breadcrumbs/Breadcrumbs.d.ts +0 -38
  1345. package/lib-esm/Breadcrumbs/Breadcrumbs.js +0 -159
  1346. package/lib-esm/Breadcrumbs/Breadcrumbs.module.css.js +0 -5
  1347. package/lib-esm/Button/ButtonBase-ec78dde7.css +0 -2
  1348. package/lib-esm/Button/ButtonBase-ec78dde7.css.map +0 -1
  1349. package/lib-esm/Button/ButtonBase.js +0 -226
  1350. package/lib-esm/Button/ButtonBase.module.css.js +0 -5
  1351. package/lib-esm/ButtonGroup/ButtonGroup.js +0 -134
  1352. package/lib-esm/Caret.d.ts +0 -17
  1353. package/lib-esm/Caret.js +0 -117
  1354. package/lib-esm/Checkbox/Checkbox.js +0 -81
  1355. package/lib-esm/CircleBadge/CircleBadge.d.ts +0 -27
  1356. package/lib-esm/CircleBadge/CircleBadge.js +0 -37
  1357. package/lib-esm/CircleOcticon/CircleOcticon.d.ts +0 -13
  1358. package/lib-esm/CircleOcticon/CircleOcticon.js +0 -94
  1359. package/lib-esm/CircleOcticon/index.d.ts +0 -3
  1360. package/lib-esm/ConfirmationDialog/ConfirmationDialog.d.ts +0 -66
  1361. package/lib-esm/ConfirmationDialog/ConfirmationDialog.js +0 -166
  1362. package/lib-esm/CounterLabel/CounterLabel.js +0 -143
  1363. package/lib-esm/DataTable/Pagination.js +0 -398
  1364. package/lib-esm/DataTable/Table.d.ts +0 -135
  1365. package/lib-esm/DataTable/Table.js +0 -732
  1366. package/lib-esm/DataTable/storyHelpers.d.ts +0 -4
  1367. package/lib-esm/DataTable/useTable.js +0 -314
  1368. package/lib-esm/Details/Details.d.ts +0 -20
  1369. package/lib-esm/Details/Details.js +0 -198
  1370. package/lib-esm/FeatureFlags/DefaultFeatureFlags.js +0 -13
  1371. package/lib-esm/FeatureFlags/FeatureFlags.js +0 -42
  1372. package/lib-esm/FilteredActionList/FilteredActionList-e1dde781.css +0 -2
  1373. package/lib-esm/FilteredActionList/FilteredActionList-e1dde781.css.map +0 -1
  1374. package/lib-esm/FilteredActionList/FilteredActionList.module.css.js +0 -5
  1375. package/lib-esm/FilteredActionList/FilteredActionListEntry.d.ts +0 -7
  1376. package/lib-esm/FilteredActionList/FilteredActionListEntry.js +0 -38
  1377. package/lib-esm/FilteredActionList/FilteredActionListLoaders.js +0 -178
  1378. package/lib-esm/FilteredActionList/FilteredActionListWithDeprecatedActionList.d.ts +0 -23
  1379. package/lib-esm/FilteredActionList/FilteredActionListWithDeprecatedActionList.js +0 -213
  1380. package/lib-esm/FilteredActionList/FilteredActionListWithModernActionList.d.ts +0 -25
  1381. package/lib-esm/FilteredActionList/FilteredActionListWithModernActionList.js +0 -347
  1382. package/lib-esm/FilteredActionList/index.d.ts +0 -3
  1383. package/lib-esm/FilteredActionList/useAnnouncements.d.ts +0 -3
  1384. package/lib-esm/FilteredActionList/useAnnouncements.js +0 -147
  1385. package/lib-esm/FormControl/FormControl.js +0 -223
  1386. package/lib-esm/Header/Header.js +0 -280
  1387. package/lib-esm/InlineMessage/InlineMessage.d.ts +0 -16
  1388. package/lib-esm/InlineMessage/InlineMessage.js +0 -153
  1389. package/lib-esm/Label/Label.js +0 -98
  1390. package/lib-esm/LabelGroup/LabelGroup.d.ts +0 -14
  1391. package/lib-esm/LabelGroup/LabelGroup.js +0 -360
  1392. package/lib-esm/NavList/NavList.js +0 -744
  1393. package/lib-esm/Overlay/Overlay-aeb12fc3.css +0 -2
  1394. package/lib-esm/Overlay/Overlay-aeb12fc3.css.map +0 -1
  1395. package/lib-esm/Overlay/Overlay.module.css.js +0 -5
  1396. package/lib-esm/PageHeader/PageHeader.js +0 -1026
  1397. package/lib-esm/PageLayout/PageLayout.js +0 -1254
  1398. package/lib-esm/Pagehead/Pagehead.d.ts +0 -11
  1399. package/lib-esm/Pagehead/Pagehead.js +0 -26
  1400. package/lib-esm/PointerBox/PointerBox.d.ts +0 -20
  1401. package/lib-esm/PointerBox/PointerBox.js +0 -61
  1402. package/lib-esm/Popover/Popover-e16fd997.css +0 -2
  1403. package/lib-esm/Popover/Popover-e16fd997.css.map +0 -1
  1404. package/lib-esm/Popover/Popover.d.ts +0 -24
  1405. package/lib-esm/Popover/Popover.js +0 -115
  1406. package/lib-esm/Popover/Popover.module.css.js +0 -5
  1407. package/lib-esm/Portal/Portal.d.ts +0 -26
  1408. package/lib-esm/Portal/Portal.js +0 -83
  1409. package/lib-esm/Portal/index.d.ts +0 -6
  1410. package/lib-esm/Portal/index.js +0 -6
  1411. package/lib-esm/ProgressBar/ProgressBar-430cdef7.css +0 -2
  1412. package/lib-esm/ProgressBar/ProgressBar-430cdef7.css.map +0 -1
  1413. package/lib-esm/ProgressBar/ProgressBar.d.ts +0 -35
  1414. package/lib-esm/ProgressBar/ProgressBar.js +0 -259
  1415. package/lib-esm/ProgressBar/ProgressBar.module.css.js +0 -5
  1416. package/lib-esm/ProgressBar/index.d.ts +0 -26
  1417. package/lib-esm/Radio/Radio-b2a92b7d.css +0 -2
  1418. package/lib-esm/Radio/Radio-b2a92b7d.css.map +0 -1
  1419. package/lib-esm/Radio/Radio.js +0 -170
  1420. package/lib-esm/Radio/Radio.module.css.js +0 -5
  1421. package/lib-esm/SegmentedControl/SegmentedControl-459caec8.css +0 -2
  1422. package/lib-esm/SegmentedControl/SegmentedControl-459caec8.css.map +0 -1
  1423. package/lib-esm/SegmentedControl/SegmentedControl.d.ts +0 -26
  1424. package/lib-esm/SegmentedControl/SegmentedControl.js +0 -247
  1425. package/lib-esm/SegmentedControl/SegmentedControl.module.css.js +0 -5
  1426. package/lib-esm/SegmentedControl/SegmentedControlButton.d.ts +0 -17
  1427. package/lib-esm/SegmentedControl/SegmentedControlButton.js +0 -151
  1428. package/lib-esm/SegmentedControl/SegmentedControlIconButton.d.ts +0 -21
  1429. package/lib-esm/SegmentedControl/SegmentedControlIconButton.js +0 -233
  1430. package/lib-esm/SegmentedControl/index.d.ts +0 -2
  1431. package/lib-esm/Select/Select.d.ts +0 -14
  1432. package/lib-esm/Select/Select.js +0 -243
  1433. package/lib-esm/SelectPanel/SelectPanel-bfde365c.css +0 -2
  1434. package/lib-esm/SelectPanel/SelectPanel-bfde365c.css.map +0 -1
  1435. package/lib-esm/SelectPanel/SelectPanel.d.ts +0 -83
  1436. package/lib-esm/SelectPanel/SelectPanel.js +0 -712
  1437. package/lib-esm/SelectPanel/SelectPanel.module.css.js +0 -5
  1438. package/lib-esm/SelectPanel/SelectPanelMessage.d.ts +0 -9
  1439. package/lib-esm/SelectPanel/SelectPanelMessage.js +0 -31
  1440. package/lib-esm/SelectPanel/index.d.ts +0 -3
  1441. package/lib-esm/SelectPanel/types.d.ts +0 -4
  1442. package/lib-esm/SideNav.d.ts +0 -35
  1443. package/lib-esm/SideNav.js +0 -60
  1444. package/lib-esm/Skeleton/SkeletonBox.d.ts +0 -12
  1445. package/lib-esm/Skeleton/SkeletonBox.js +0 -78
  1446. package/lib-esm/Spinner/Spinner.d.ts +0 -24
  1447. package/lib-esm/Spinner/Spinner.js +0 -206
  1448. package/lib-esm/SplitPageLayout/SplitPageLayout.d.ts +0 -22
  1449. package/lib-esm/Stack/Stack-83ac2229.css +0 -2
  1450. package/lib-esm/Stack/Stack-83ac2229.css.map +0 -1
  1451. package/lib-esm/Stack/Stack.d.ts +0 -69
  1452. package/lib-esm/Stack/Stack.js +0 -217
  1453. package/lib-esm/Stack/Stack.module.css.js +0 -5
  1454. package/lib-esm/StateLabel/StateLabel.d.ts +0 -25
  1455. package/lib-esm/StateLabel/StateLabel.js +0 -196
  1456. package/lib-esm/SubNav/SubNav.d.ts +0 -27
  1457. package/lib-esm/SubNav/SubNav.js +0 -342
  1458. package/lib-esm/TabNav/TabNav-9753d6ed.css +0 -2
  1459. package/lib-esm/TabNav/TabNav-9753d6ed.css.map +0 -1
  1460. package/lib-esm/TabNav/TabNav.module.css.js +0 -5
  1461. package/lib-esm/Text/Text.js +0 -72
  1462. package/lib-esm/TextInput/TextInput.d.ts +0 -43
  1463. package/lib-esm/TextInputWithTokens/TextInputWithTokens.d.ts +0 -86
  1464. package/lib-esm/TextInputWithTokens/TextInputWithTokens.js +0 -627
  1465. package/lib-esm/Textarea/Textarea.d.ts +0 -65
  1466. package/lib-esm/Textarea/Textarea.js +0 -127
  1467. package/lib-esm/Timeline/Timeline.d.ts +0 -51
  1468. package/lib-esm/Timeline/Timeline.js +0 -412
  1469. package/lib-esm/ToggleSwitch/ToggleSwitch.d.ts +0 -31
  1470. package/lib-esm/ToggleSwitch/ToggleSwitch.js +0 -473
  1471. package/lib-esm/Token/AvatarToken-ff45cc85.css +0 -2
  1472. package/lib-esm/Token/AvatarToken-ff45cc85.css.map +0 -1
  1473. package/lib-esm/Token/AvatarToken.d.ts +0 -8
  1474. package/lib-esm/Token/AvatarToken.js +0 -97
  1475. package/lib-esm/Token/AvatarToken.module.css.js +0 -5
  1476. package/lib-esm/Token/IssueLabelToken-99c9b914.css +0 -2
  1477. package/lib-esm/Token/IssueLabelToken-99c9b914.css.map +0 -1
  1478. package/lib-esm/Token/IssueLabelToken.js +0 -139
  1479. package/lib-esm/Token/IssueLabelToken.module.css.js +0 -5
  1480. package/lib-esm/Token/Token.js +0 -292
  1481. package/lib-esm/Token/TokenBase.js +0 -139
  1482. package/lib-esm/Token/_RemoveTokenButton.js +0 -37
  1483. package/lib-esm/Token/index.d.ts +0 -7
  1484. package/lib-esm/Tooltip/Tooltip.js +0 -136
  1485. package/lib-esm/TooltipV2/Tooltip-59734b6f.css +0 -2
  1486. package/lib-esm/TooltipV2/Tooltip-59734b6f.css.map +0 -1
  1487. package/lib-esm/TooltipV2/Tooltip.js +0 -294
  1488. package/lib-esm/TooltipV2/Tooltip.module.css.js +0 -5
  1489. package/lib-esm/TreeView/TreeView.js +0 -1160
  1490. package/lib-esm/TreeView/shared.js +0 -13
  1491. package/lib-esm/VisuallyHidden/VisuallyHidden.d.ts +0 -18
  1492. package/lib-esm/VisuallyHidden/VisuallyHidden.js +0 -85
  1493. package/lib-esm/_VisuallyHidden.d.ts +0 -7
  1494. package/lib-esm/_VisuallyHidden.js +0 -26
  1495. package/lib-esm/deprecated/ActionList/List.js +0 -221
  1496. package/lib-esm/deprecated/ActionMenu.js +0 -199
  1497. package/lib-esm/deprecated/UnderlineNav/UnderlineNav.d.ts +0 -26
  1498. package/lib-esm/deprecated/UnderlineNav/UnderlineNav.js +0 -125
  1499. package/lib-esm/deprecated/index.d.ts +0 -26
  1500. package/lib-esm/deprecated/index.js +0 -10
  1501. package/lib-esm/experimental/IssueLabel/IssueLabel-5507fbf3.css +0 -2
  1502. package/lib-esm/experimental/IssueLabel/IssueLabel-5507fbf3.css.map +0 -1
  1503. package/lib-esm/experimental/IssueLabel/IssueLabel.d.ts +0 -17
  1504. package/lib-esm/experimental/IssueLabel/IssueLabel.js +0 -184
  1505. package/lib-esm/experimental/IssueLabel/IssueLabel.module.css.js +0 -5
  1506. package/lib-esm/experimental/Skeleton/SkeletonAvatar-e00fff32.css +0 -2
  1507. package/lib-esm/experimental/Skeleton/SkeletonAvatar-e00fff32.css.map +0 -1
  1508. package/lib-esm/experimental/Skeleton/SkeletonAvatar.d.ts +0 -8
  1509. package/lib-esm/experimental/Skeleton/SkeletonAvatar.js +0 -124
  1510. package/lib-esm/experimental/Skeleton/SkeletonAvatar.module.css.js +0 -5
  1511. package/lib-esm/experimental/Skeleton/SkeletonText-5cf908c1.css +0 -2
  1512. package/lib-esm/experimental/Skeleton/SkeletonText-5cf908c1.css.map +0 -1
  1513. package/lib-esm/experimental/Skeleton/SkeletonText.d.ts +0 -15
  1514. package/lib-esm/experimental/Skeleton/SkeletonText.js +0 -143
  1515. package/lib-esm/experimental/Skeleton/SkeletonText.module.css.js +0 -5
  1516. package/lib-esm/experimental/Skeleton/index.d.ts +0 -4
  1517. package/lib-esm/experimental/UnderlinePanels/UnderlinePanels.js +0 -211
  1518. package/lib-esm/experimental/index.d.ts +0 -44
  1519. package/lib-esm/experimental/index.js +0 -32
  1520. package/lib-esm/hooks/useMenuKeyboardNavigation.js +0 -159
  1521. package/lib-esm/hooks/useMnemonics.js +0 -113
  1522. package/lib-esm/hooks/useOpenAndCloseFocus.js +0 -53
  1523. package/lib-esm/hooks/useOverflow.js +0 -43
  1524. package/lib-esm/hooks/useScrollFlash.js +0 -24
  1525. package/lib-esm/index.d.ts +0 -148
  1526. package/lib-esm/index.js +0 -90
  1527. package/lib-esm/internal/components/BoxWithFallback.js +0 -65
  1528. package/lib-esm/internal/components/ButtonReset.d.ts +0 -6
  1529. package/lib-esm/internal/components/ButtonReset.js +0 -12
  1530. package/lib-esm/internal/components/LiveRegion.js +0 -132
  1531. package/lib-esm/internal/components/TextInputWrapper-ca608f70.css +0 -2
  1532. package/lib-esm/internal/components/TextInputWrapper-ca608f70.css.map +0 -1
  1533. package/lib-esm/internal/components/TextInputWrapper.module.css.js +0 -5
  1534. package/lib-esm/internal/components/UnderlineTabbedInterface.js +0 -264
  1535. package/lib-esm/internal/utils/getGlobalFocusStyles.js +0 -7
  1536. package/lib-esm/internal/utils/toggleStyledComponent.d.ts +0 -20
  1537. package/lib-esm/internal/utils/toggleSxComponent.d.ts +0 -15
  1538. package/lib-esm/internal/utils/toggleSxComponent.js +0 -77
  1539. package/lib-esm/live-region/Announce.d.ts +0 -32
  1540. package/lib-esm/live-region/Announce.js +0 -181
  1541. package/lib-esm/live-region/AriaAlert.d.ts +0 -22
  1542. package/lib-esm/live-region/AriaStatus.d.ts +0 -26
  1543. package/lib-esm/node_modules/@github/mini-throttle/dist/index.js +0 -40
  1544. package/lib-esm/test-helpers.js +0 -69
  1545. package/lib-esm/utils/form-story-helpers.d.ts +0 -62
  1546. /package/{lib-esm → dist}/ActionBar/ActionBar-e6a5d54e.css +0 -0
  1547. /package/{lib-esm → dist}/ActionBar/ActionBar-e6a5d54e.css.map +0 -0
  1548. /package/{lib-esm → dist}/ActionBar/ActionBar.d.ts +0 -0
  1549. /package/{lib → dist}/ActionBar/ActionBar.d.ts.map +0 -0
  1550. /package/{lib-esm → dist}/ActionBar/ActionBar.js +0 -0
  1551. /package/{lib-esm → dist}/ActionBar/ActionBar.module.css.js +0 -0
  1552. /package/{lib-esm → dist}/ActionBar/disabled.ActionBar.Figma.d.ts +0 -0
  1553. /package/{lib → dist}/ActionBar/disabled.ActionBar.Figma.d.ts.map +0 -0
  1554. /package/{lib-esm → dist}/ActionBar/index.d.ts +0 -0
  1555. /package/{lib → dist}/ActionBar/index.d.ts.map +0 -0
  1556. /package/{lib-esm → dist}/ActionBar/index.js +0 -0
  1557. /package/{lib-esm → dist}/ActionList/ActionListContainerContext.js +0 -0
  1558. /package/{lib-esm → dist}/ActionList/Description.d.ts +0 -0
  1559. /package/{lib-esm → dist}/ActionList/Divider.d.ts +0 -0
  1560. /package/{lib-esm → dist}/ActionList/Group-2c8b5711.css +0 -0
  1561. /package/{lib-esm → dist}/ActionList/Group-2c8b5711.css.map +0 -0
  1562. /package/{lib-esm → dist}/ActionList/Group.d.ts +0 -0
  1563. /package/{lib-esm → dist}/ActionList/Group.module.css.js +0 -0
  1564. /package/{lib-esm → dist}/ActionList/Heading-b9360636.css +0 -0
  1565. /package/{lib-esm → dist}/ActionList/Heading-b9360636.css.map +0 -0
  1566. /package/{lib-esm → dist}/ActionList/Heading.d.ts +0 -0
  1567. /package/{lib → dist}/ActionList/Heading.d.ts.map +0 -0
  1568. /package/{lib-esm → dist}/ActionList/Heading.js +0 -0
  1569. /package/{lib-esm → dist}/ActionList/Heading.module.css.js +0 -0
  1570. /package/{lib-esm → dist}/ActionList/Item.d.ts +0 -0
  1571. /package/{lib-esm → dist}/ActionList/List.d.ts +0 -0
  1572. /package/{lib-esm → dist}/ActionList/Selection.d.ts +0 -0
  1573. /package/{lib → dist}/ActionList/Selection.d.ts.map +0 -0
  1574. /package/{lib-esm → dist}/ActionList/TrailingAction.d.ts +0 -0
  1575. /package/{lib → dist}/ActionList/TrailingAction.d.ts.map +0 -0
  1576. /package/{lib-esm → dist}/ActionList/TrailingAction.js +0 -0
  1577. /package/{lib-esm → dist}/ActionList/Visuals.d.ts +0 -0
  1578. /package/{lib-esm → dist}/ActionList/index.d.ts +0 -0
  1579. /package/{lib → dist}/ActionList/index.d.ts.map +0 -0
  1580. /package/{lib-esm → dist}/ActionList/index.js +0 -0
  1581. /package/{lib-esm → dist}/ActionList/shared.js +0 -0
  1582. /package/{lib-esm → dist}/ActionMenu/ActionMenu-5fe972e2.css +0 -0
  1583. /package/{lib-esm → dist}/ActionMenu/ActionMenu-5fe972e2.css.map +0 -0
  1584. /package/{lib-esm → dist}/ActionMenu/ActionMenu.d.ts +0 -0
  1585. /package/{lib → dist}/ActionMenu/ActionMenu.d.ts.map +0 -0
  1586. /package/{lib-esm → dist}/ActionMenu/ActionMenu.js +0 -0
  1587. /package/{lib-esm → dist}/ActionMenu/ActionMenu.module.css.js +0 -0
  1588. /package/{lib-esm → dist}/ActionMenu/index.d.ts +0 -0
  1589. /package/{lib → dist}/ActionMenu/index.d.ts.map +0 -0
  1590. /package/{lib-esm → dist}/AnchoredOverlay/AnchoredOverlay-73c1b2d1.css +0 -0
  1591. /package/{lib-esm → dist}/AnchoredOverlay/AnchoredOverlay-73c1b2d1.css.map +0 -0
  1592. /package/{lib-esm → dist}/AnchoredOverlay/AnchoredOverlay.d.ts +0 -0
  1593. /package/{lib → dist}/AnchoredOverlay/AnchoredOverlay.d.ts.map +0 -0
  1594. /package/{lib-esm → dist}/AnchoredOverlay/AnchoredOverlay.js +0 -0
  1595. /package/{lib-esm → dist}/AnchoredOverlay/AnchoredOverlay.module.css.js +0 -0
  1596. /package/{lib-esm → dist}/AnchoredOverlay/index.d.ts +0 -0
  1597. /package/{lib → dist}/AnchoredOverlay/index.d.ts.map +0 -0
  1598. /package/{lib-esm → dist}/Autocomplete/Autocomplete.d.ts +0 -0
  1599. /package/{lib → dist}/Autocomplete/Autocomplete.d.ts.map +0 -0
  1600. /package/{lib-esm → dist}/Autocomplete/Autocomplete.js +0 -0
  1601. /package/{lib-esm → dist}/Autocomplete/AutocompleteContext.d.ts +0 -0
  1602. /package/{lib → dist}/Autocomplete/AutocompleteContext.d.ts.map +0 -0
  1603. /package/{lib-esm → dist}/Autocomplete/AutocompleteContext.js +0 -0
  1604. /package/{lib-esm → dist}/Autocomplete/AutocompleteInput.d.ts +0 -0
  1605. /package/{lib → dist}/Autocomplete/AutocompleteInput.d.ts.map +0 -0
  1606. /package/{lib-esm → dist}/Autocomplete/AutocompleteInput.js +0 -0
  1607. /package/{lib-esm → dist}/Autocomplete/AutocompleteMenu-7f135c03.css +0 -0
  1608. /package/{lib-esm → dist}/Autocomplete/AutocompleteMenu-7f135c03.css.map +0 -0
  1609. /package/{lib-esm → dist}/Autocomplete/AutocompleteMenu.d.ts +0 -0
  1610. /package/{lib → dist}/Autocomplete/AutocompleteMenu.d.ts.map +0 -0
  1611. /package/{lib-esm → dist}/Autocomplete/AutocompleteMenu.module.css.js +0 -0
  1612. /package/{lib-esm → dist}/Autocomplete/AutocompleteOverlay-d99d778c.css +0 -0
  1613. /package/{lib-esm → dist}/Autocomplete/AutocompleteOverlay-d99d778c.css.map +0 -0
  1614. /package/{lib-esm → dist}/Autocomplete/AutocompleteOverlay.d.ts +0 -0
  1615. /package/{lib → dist}/Autocomplete/AutocompleteOverlay.d.ts.map +0 -0
  1616. /package/{lib-esm → dist}/Autocomplete/AutocompleteOverlay.js +0 -0
  1617. /package/{lib-esm → dist}/Autocomplete/AutocompleteOverlay.module.css.js +0 -0
  1618. /package/{lib-esm → dist}/Autocomplete/index.d.ts +0 -0
  1619. /package/{lib → dist}/Autocomplete/index.d.ts.map +0 -0
  1620. /package/{lib-esm → dist}/Avatar/Avatar-61b19061.css +0 -0
  1621. /package/{lib-esm → dist}/Avatar/Avatar-61b19061.css.map +0 -0
  1622. /package/{lib-esm → dist}/Avatar/Avatar.d.ts +0 -0
  1623. /package/{lib-esm → dist}/Avatar/Avatar.module.css.js +0 -0
  1624. /package/{lib-esm → dist}/Avatar/index.d.ts +0 -0
  1625. /package/{lib → dist}/Avatar/index.d.ts.map +0 -0
  1626. /package/{lib-esm → dist}/Avatar/storyHelpers.d.ts +0 -0
  1627. /package/{lib → dist}/Avatar/storyHelpers.d.ts.map +0 -0
  1628. /package/{lib-esm → dist}/AvatarStack/index.d.ts +0 -0
  1629. /package/{lib → dist}/AvatarStack/index.d.ts.map +0 -0
  1630. /package/{lib-esm → dist}/Banner/index.js +0 -0
  1631. /package/{lib-esm → dist}/BaseStyles.d.ts +0 -0
  1632. /package/{lib → dist}/BaseStyles.d.ts.map +0 -0
  1633. /package/{lib-esm → dist}/BaseStyles.js +0 -0
  1634. /package/{lib-esm → dist}/Blankslate/Blankslate.d.ts +0 -0
  1635. /package/{lib → dist}/Blankslate/Blankslate.d.ts.map +0 -0
  1636. /package/{lib-esm → dist}/Blankslate/BlankslateContext.d.ts +0 -0
  1637. /package/{lib → dist}/Blankslate/BlankslateContext.d.ts.map +0 -0
  1638. /package/{lib-esm → dist}/Blankslate/BlankslateContext.js +0 -0
  1639. /package/{lib-esm → dist}/Blankslate/index.d.ts +0 -0
  1640. /package/{lib → dist}/Blankslate/index.d.ts.map +0 -0
  1641. /package/{lib-esm → dist}/Blankslate/index.js +0 -0
  1642. /package/{lib-esm → dist}/Box/Box.d.ts +0 -0
  1643. /package/{lib → dist}/Box/Box.d.ts.map +0 -0
  1644. /package/{lib-esm → dist}/Box/Box.js +0 -0
  1645. /package/{lib-esm → dist}/Box/index.d.ts +0 -0
  1646. /package/{lib → dist}/Box/index.d.ts.map +0 -0
  1647. /package/{lib-esm → dist}/BranchName/BranchName-2fad4f4b.css +0 -0
  1648. /package/{lib-esm → dist}/BranchName/BranchName-2fad4f4b.css.map +0 -0
  1649. /package/{lib-esm → dist}/BranchName/BranchName.module.css.js +0 -0
  1650. /package/{lib-esm → dist}/BranchName/index.d.ts +0 -0
  1651. /package/{lib → dist}/BranchName/index.d.ts.map +0 -0
  1652. /package/{lib-esm → dist}/Breadcrumbs/index.d.ts +0 -0
  1653. /package/{lib → dist}/Breadcrumbs/index.d.ts.map +0 -0
  1654. /package/{lib-esm → dist}/Button/Button.d.ts +0 -0
  1655. /package/{lib → dist}/Button/Button.d.ts.map +0 -0
  1656. /package/{lib-esm → dist}/Button/Button.js +0 -0
  1657. /package/{lib-esm → dist}/Button/ButtonBase.d.ts +0 -0
  1658. /package/{lib → dist}/Button/ButtonBase.d.ts.map +0 -0
  1659. /package/{lib-esm → dist}/Button/IconButton.d.ts +0 -0
  1660. /package/{lib → dist}/Button/IconButton.d.ts.map +0 -0
  1661. /package/{lib-esm → dist}/Button/IconButton.js +0 -0
  1662. /package/{lib-esm → dist}/Button/LinkButton.d.ts +0 -0
  1663. /package/{lib → dist}/Button/LinkButton.d.ts.map +0 -0
  1664. /package/{lib-esm → dist}/Button/LinkButton.js +0 -0
  1665. /package/{lib-esm → dist}/Button/index.d.ts +0 -0
  1666. /package/{lib → dist}/Button/index.d.ts.map +0 -0
  1667. /package/{lib-esm → dist}/Button/styles.d.ts +0 -0
  1668. /package/{lib → dist}/Button/styles.d.ts.map +0 -0
  1669. /package/{lib-esm → dist}/Button/styles.js +0 -0
  1670. /package/{lib-esm → dist}/Button/types.d.ts +0 -0
  1671. /package/{lib → dist}/Button/types.d.ts.map +0 -0
  1672. /package/{lib-esm → dist}/ButtonGroup/ButtonGroup-10292330.css +0 -0
  1673. /package/{lib-esm → dist}/ButtonGroup/ButtonGroup-10292330.css.map +0 -0
  1674. /package/{lib-esm → dist}/ButtonGroup/ButtonGroup.d.ts +0 -0
  1675. /package/{lib-esm → dist}/ButtonGroup/ButtonGroup.module.css.js +0 -0
  1676. /package/{lib-esm → dist}/ButtonGroup/index.d.ts +0 -0
  1677. /package/{lib → dist}/ButtonGroup/index.d.ts.map +0 -0
  1678. /package/{lib-esm → dist}/Checkbox/Checkbox-2aef6693.css +0 -0
  1679. /package/{lib-esm → dist}/Checkbox/Checkbox-2aef6693.css.map +0 -0
  1680. /package/{lib-esm → dist}/Checkbox/Checkbox.d.ts +0 -0
  1681. /package/{lib → dist}/Checkbox/Checkbox.d.ts.map +0 -0
  1682. /package/{lib-esm → dist}/Checkbox/Checkbox.module.css.js +0 -0
  1683. /package/{lib-esm → dist}/Checkbox/index.d.ts +0 -0
  1684. /package/{lib → dist}/Checkbox/index.d.ts.map +0 -0
  1685. /package/{lib-esm → dist}/Checkbox/shared-edc41e16.css +0 -0
  1686. /package/{lib-esm → dist}/Checkbox/shared-edc41e16.css.map +0 -0
  1687. /package/{lib-esm → dist}/Checkbox/shared.module.css.js +0 -0
  1688. /package/{lib-esm → dist}/CheckboxGroup/CheckboxGroup.d.ts +0 -0
  1689. /package/{lib → dist}/CheckboxGroup/CheckboxGroup.d.ts.map +0 -0
  1690. /package/{lib-esm → dist}/CheckboxGroup/CheckboxGroup.js +0 -0
  1691. /package/{lib-esm → dist}/CheckboxGroup/CheckboxGroupContext.d.ts +0 -0
  1692. /package/{lib → dist}/CheckboxGroup/CheckboxGroupContext.d.ts.map +0 -0
  1693. /package/{lib-esm → dist}/CheckboxGroup/CheckboxGroupContext.js +0 -0
  1694. /package/{lib-esm → dist}/CheckboxGroup/index.d.ts +0 -0
  1695. /package/{lib → dist}/CheckboxGroup/index.d.ts.map +0 -0
  1696. /package/{lib-esm → dist}/CircleBadge/index.d.ts +0 -0
  1697. /package/{lib → dist}/CircleBadge/index.d.ts.map +0 -0
  1698. /package/{lib-esm → dist}/ConfirmationDialog/ConfirmationDialog-de0401ff.css +0 -0
  1699. /package/{lib-esm → dist}/ConfirmationDialog/ConfirmationDialog-de0401ff.css.map +0 -0
  1700. /package/{lib-esm → dist}/ConfirmationDialog/ConfirmationDialog.module.css.js +0 -0
  1701. /package/{lib-esm → dist}/CounterLabel/CounterLabel-44fb5d16.css +0 -0
  1702. /package/{lib-esm → dist}/CounterLabel/CounterLabel-44fb5d16.css.map +0 -0
  1703. /package/{lib-esm → dist}/CounterLabel/CounterLabel.d.ts +0 -0
  1704. /package/{lib-esm → dist}/CounterLabel/CounterLabel.module.css.js +0 -0
  1705. /package/{lib-esm → dist}/CounterLabel/index.d.ts +0 -0
  1706. /package/{lib → dist}/CounterLabel/index.d.ts.map +0 -0
  1707. /package/{lib-esm → dist}/DataTable/DataTable.d.ts +0 -0
  1708. /package/{lib → dist}/DataTable/DataTable.d.ts.map +0 -0
  1709. /package/{lib-esm → dist}/DataTable/DataTable.js +0 -0
  1710. /package/{lib-esm → dist}/DataTable/ErrorDialog.d.ts +0 -0
  1711. /package/{lib → dist}/DataTable/ErrorDialog.d.ts.map +0 -0
  1712. /package/{lib-esm → dist}/DataTable/ErrorDialog.js +0 -0
  1713. /package/{lib-esm → dist}/DataTable/Pagination.d.ts +0 -0
  1714. /package/{lib-esm → dist}/DataTable/Table-87f4043f.css +0 -0
  1715. /package/{lib-esm → dist}/DataTable/Table-87f4043f.css.map +0 -0
  1716. /package/{lib-esm → dist}/DataTable/Table.module.css.js +0 -0
  1717. /package/{lib-esm → dist}/DataTable/__tests__/sorting.test.d.ts +0 -0
  1718. /package/{lib → dist}/DataTable/__tests__/sorting.test.d.ts.map +0 -0
  1719. /package/{lib-esm → dist}/DataTable/column.d.ts +0 -0
  1720. /package/{lib → dist}/DataTable/column.d.ts.map +0 -0
  1721. /package/{lib-esm → dist}/DataTable/column.js +0 -0
  1722. /package/{lib-esm → dist}/DataTable/index.d.ts +0 -0
  1723. /package/{lib → dist}/DataTable/index.d.ts.map +0 -0
  1724. /package/{lib-esm → dist}/DataTable/index.js +0 -0
  1725. /package/{lib-esm → dist}/DataTable/row.d.ts +0 -0
  1726. /package/{lib → dist}/DataTable/row.d.ts.map +0 -0
  1727. /package/{lib-esm → dist}/DataTable/sorting.d.ts +0 -0
  1728. /package/{lib → dist}/DataTable/sorting.d.ts.map +0 -0
  1729. /package/{lib-esm → dist}/DataTable/sorting.js +0 -0
  1730. /package/{lib-esm → dist}/DataTable/storybook/data.d.ts +0 -0
  1731. /package/{lib → dist}/DataTable/storybook/data.d.ts.map +0 -0
  1732. /package/{lib-esm → dist}/DataTable/useTable.d.ts +0 -0
  1733. /package/{lib → dist}/DataTable/useTable.d.ts.map +0 -0
  1734. /package/{lib-esm → dist}/DataTable/utils.d.ts +0 -0
  1735. /package/{lib → dist}/DataTable/utils.d.ts.map +0 -0
  1736. /package/{lib-esm → dist}/Details/Details-8093044f.css +0 -0
  1737. /package/{lib-esm → dist}/Details/Details-8093044f.css.map +0 -0
  1738. /package/{lib-esm → dist}/Details/Details.module.css.js +0 -0
  1739. /package/{lib-esm → dist}/Details/index.d.ts +0 -0
  1740. /package/{lib → dist}/Details/index.d.ts.map +0 -0
  1741. /package/{lib-esm → dist}/Dialog/Dialog-8a809d11.css +0 -0
  1742. /package/{lib-esm → dist}/Dialog/Dialog-8a809d11.css.map +0 -0
  1743. /package/{lib-esm → dist}/Dialog/Dialog.d.ts +0 -0
  1744. /package/{lib → dist}/Dialog/Dialog.d.ts.map +0 -0
  1745. /package/{lib-esm → dist}/Dialog/Dialog.js +0 -0
  1746. /package/{lib-esm → dist}/Dialog/Dialog.module.css.js +0 -0
  1747. /package/{lib-esm → dist}/DialogV1/Dialog-dce13989.css +0 -0
  1748. /package/{lib-esm → dist}/DialogV1/Dialog-dce13989.css.map +0 -0
  1749. /package/{lib-esm → dist}/DialogV1/Dialog.d.ts +0 -0
  1750. /package/{lib → dist}/DialogV1/Dialog.d.ts.map +0 -0
  1751. /package/{lib-esm → dist}/DialogV1/Dialog.js +0 -0
  1752. /package/{lib-esm → dist}/DialogV1/Dialog.module.css.js +0 -0
  1753. /package/{lib-esm → dist}/DialogV1/index.d.ts +0 -0
  1754. /package/{lib → dist}/DialogV1/index.d.ts.map +0 -0
  1755. /package/{lib-esm → dist}/DropdownStyles.d.ts +0 -0
  1756. /package/{lib → dist}/DropdownStyles.d.ts.map +0 -0
  1757. /package/{lib-esm → dist}/FeatureFlags/DefaultFeatureFlags.d.ts +0 -0
  1758. /package/{lib → dist}/FeatureFlags/DefaultFeatureFlags.d.ts.map +0 -0
  1759. /package/{lib-esm → dist}/FeatureFlags/FeatureFlagContext.d.ts +0 -0
  1760. /package/{lib → dist}/FeatureFlags/FeatureFlagContext.d.ts.map +0 -0
  1761. /package/{lib-esm → dist}/FeatureFlags/FeatureFlagContext.js +0 -0
  1762. /package/{lib-esm → dist}/FeatureFlags/FeatureFlagScope.d.ts +0 -0
  1763. /package/{lib → dist}/FeatureFlags/FeatureFlagScope.d.ts.map +0 -0
  1764. /package/{lib-esm → dist}/FeatureFlags/FeatureFlagScope.js +0 -0
  1765. /package/{lib-esm → dist}/FeatureFlags/FeatureFlags.d.ts +0 -0
  1766. /package/{lib → dist}/FeatureFlags/FeatureFlags.d.ts.map +0 -0
  1767. /package/{lib-esm → dist}/FeatureFlags/index.d.ts +0 -0
  1768. /package/{lib → dist}/FeatureFlags/index.d.ts.map +0 -0
  1769. /package/{lib-esm → dist}/FeatureFlags/useFeatureFlag.d.ts +0 -0
  1770. /package/{lib → dist}/FeatureFlags/useFeatureFlag.d.ts.map +0 -0
  1771. /package/{lib-esm → dist}/FeatureFlags/useFeatureFlag.js +0 -0
  1772. /package/{lib-esm → dist}/FilteredActionList/FilteredActionListLoaders-6f14c45b.css +0 -0
  1773. /package/{lib-esm → dist}/FilteredActionList/FilteredActionListLoaders-6f14c45b.css.map +0 -0
  1774. /package/{lib-esm → dist}/FilteredActionList/FilteredActionListLoaders.d.ts +0 -0
  1775. /package/{lib → dist}/FilteredActionList/FilteredActionListLoaders.d.ts.map +0 -0
  1776. /package/{lib-esm → dist}/FilteredActionList/FilteredActionListLoaders.module.css.js +0 -0
  1777. /package/{lib-esm → dist}/Flash/Flash-a3596568.css +0 -0
  1778. /package/{lib-esm → dist}/Flash/Flash-a3596568.css.map +0 -0
  1779. /package/{lib-esm → dist}/Flash/Flash.d.ts +0 -0
  1780. /package/{lib → dist}/Flash/Flash.d.ts.map +0 -0
  1781. /package/{lib-esm → dist}/Flash/Flash.js +0 -0
  1782. /package/{lib-esm → dist}/Flash/Flash.module.css.js +0 -0
  1783. /package/{lib-esm → dist}/Flash/index.d.ts +0 -0
  1784. /package/{lib → dist}/Flash/index.d.ts.map +0 -0
  1785. /package/{lib-esm → dist}/FormControl/FormControl-fa33984d.css +0 -0
  1786. /package/{lib-esm → dist}/FormControl/FormControl-fa33984d.css.map +0 -0
  1787. /package/{lib-esm → dist}/FormControl/FormControl.d.ts +0 -0
  1788. /package/{lib-esm → dist}/FormControl/FormControl.module.css.js +0 -0
  1789. /package/{lib-esm → dist}/FormControl/FormControlCaption-f58db5f7.css +0 -0
  1790. /package/{lib-esm → dist}/FormControl/FormControlCaption-f58db5f7.css.map +0 -0
  1791. /package/{lib-esm → dist}/FormControl/FormControlCaption.d.ts +0 -0
  1792. /package/{lib → dist}/FormControl/FormControlCaption.d.ts.map +0 -0
  1793. /package/{lib-esm → dist}/FormControl/FormControlCaption.js +0 -0
  1794. /package/{lib-esm → dist}/FormControl/FormControlCaption.module.css.js +0 -0
  1795. /package/{lib-esm → dist}/FormControl/FormControlLabel.d.ts +0 -0
  1796. /package/{lib → dist}/FormControl/FormControlLabel.d.ts.map +0 -0
  1797. /package/{lib-esm → dist}/FormControl/FormControlLabel.js +0 -0
  1798. /package/{lib-esm → dist}/FormControl/FormControlLeadingVisual.d.ts +0 -0
  1799. /package/{lib → dist}/FormControl/FormControlLeadingVisual.d.ts.map +0 -0
  1800. /package/{lib-esm → dist}/FormControl/FormControlLeadingVisual.js +0 -0
  1801. /package/{lib-esm → dist}/FormControl/_FormControlContext.d.ts +0 -0
  1802. /package/{lib → dist}/FormControl/_FormControlContext.d.ts.map +0 -0
  1803. /package/{lib-esm → dist}/FormControl/_FormControlContext.js +0 -0
  1804. /package/{lib-esm → dist}/FormControl/_FormControlValidation.d.ts +0 -0
  1805. /package/{lib → dist}/FormControl/_FormControlValidation.d.ts.map +0 -0
  1806. /package/{lib-esm → dist}/FormControl/_FormControlValidation.js +0 -0
  1807. /package/{lib-esm → dist}/FormControl/index.d.ts +0 -0
  1808. /package/{lib → dist}/FormControl/index.d.ts.map +0 -0
  1809. /package/{lib-esm → dist}/Header/Header-aff64597.css +0 -0
  1810. /package/{lib-esm → dist}/Header/Header-aff64597.css.map +0 -0
  1811. /package/{lib-esm → dist}/Header/Header.d.ts +0 -0
  1812. /package/{lib-esm → dist}/Header/Header.module.css.js +0 -0
  1813. /package/{lib-esm → dist}/Header/index.d.ts +0 -0
  1814. /package/{lib → dist}/Header/index.d.ts.map +0 -0
  1815. /package/{lib-esm → dist}/Heading/Heading-26b4879b.css +0 -0
  1816. /package/{lib-esm → dist}/Heading/Heading-26b4879b.css.map +0 -0
  1817. /package/{lib-esm → dist}/Heading/Heading.d.ts +0 -0
  1818. /package/{lib → dist}/Heading/Heading.d.ts.map +0 -0
  1819. /package/{lib-esm → dist}/Heading/Heading.js +0 -0
  1820. /package/{lib-esm → dist}/Heading/Heading.module.css.js +0 -0
  1821. /package/{lib-esm → dist}/Heading/index.d.ts +0 -0
  1822. /package/{lib → dist}/Heading/index.d.ts.map +0 -0
  1823. /package/{lib-esm → dist}/Hidden/Hidden-b3896306.css +0 -0
  1824. /package/{lib-esm → dist}/Hidden/Hidden-b3896306.css.map +0 -0
  1825. /package/{lib-esm → dist}/Hidden/Hidden.d.ts +0 -0
  1826. /package/{lib → dist}/Hidden/Hidden.d.ts.map +0 -0
  1827. /package/{lib-esm → dist}/Hidden/Hidden.js +0 -0
  1828. /package/{lib-esm → dist}/Hidden/Hidden.module.css.js +0 -0
  1829. /package/{lib-esm → dist}/Hidden/index.d.ts +0 -0
  1830. /package/{lib → dist}/Hidden/index.d.ts.map +0 -0
  1831. /package/{lib-esm → dist}/InlineMessage/InlineMessage-80d97643.css +0 -0
  1832. /package/{lib-esm → dist}/InlineMessage/InlineMessage-80d97643.css.map +0 -0
  1833. /package/{lib-esm → dist}/InlineMessage/InlineMessage.module.css.js +0 -0
  1834. /package/{lib-esm → dist}/InlineMessage/index.d.ts +0 -0
  1835. /package/{lib → dist}/InlineMessage/index.d.ts.map +0 -0
  1836. /package/{lib-esm → dist}/KeybindingHint/KeybindingHint-0856c11b.css +0 -0
  1837. /package/{lib-esm → dist}/KeybindingHint/KeybindingHint-0856c11b.css.map +0 -0
  1838. /package/{lib-esm → dist}/KeybindingHint/KeybindingHint.d.ts +0 -0
  1839. /package/{lib → dist}/KeybindingHint/KeybindingHint.d.ts.map +0 -0
  1840. /package/{lib-esm → dist}/KeybindingHint/KeybindingHint.js +0 -0
  1841. /package/{lib-esm → dist}/KeybindingHint/KeybindingHint.module.css.js +0 -0
  1842. /package/{lib-esm → dist}/KeybindingHint/components/Chord.d.ts +0 -0
  1843. /package/{lib → dist}/KeybindingHint/components/Chord.d.ts.map +0 -0
  1844. /package/{lib-esm → dist}/KeybindingHint/components/Chord.js +0 -0
  1845. /package/{lib-esm → dist}/KeybindingHint/components/Key.d.ts +0 -0
  1846. /package/{lib → dist}/KeybindingHint/components/Key.d.ts.map +0 -0
  1847. /package/{lib-esm → dist}/KeybindingHint/components/Key.js +0 -0
  1848. /package/{lib-esm → dist}/KeybindingHint/components/Sequence.d.ts +0 -0
  1849. /package/{lib → dist}/KeybindingHint/components/Sequence.d.ts.map +0 -0
  1850. /package/{lib-esm → dist}/KeybindingHint/components/Sequence.js +0 -0
  1851. /package/{lib-esm → dist}/KeybindingHint/index.d.ts +0 -0
  1852. /package/{lib → dist}/KeybindingHint/index.d.ts.map +0 -0
  1853. /package/{lib-esm → dist}/KeybindingHint/key-names.d.ts +0 -0
  1854. /package/{lib → dist}/KeybindingHint/key-names.d.ts.map +0 -0
  1855. /package/{lib-esm → dist}/KeybindingHint/key-names.js +0 -0
  1856. /package/{lib-esm → dist}/KeybindingHint/props.d.ts +0 -0
  1857. /package/{lib → dist}/KeybindingHint/props.d.ts.map +0 -0
  1858. /package/{lib-esm → dist}/Label/Label-7904957c.css +0 -0
  1859. /package/{lib-esm → dist}/Label/Label-7904957c.css.map +0 -0
  1860. /package/{lib-esm → dist}/Label/Label.d.ts +0 -0
  1861. /package/{lib-esm → dist}/Label/Label.module.css.js +0 -0
  1862. /package/{lib-esm → dist}/Label/index.d.ts +0 -0
  1863. /package/{lib → dist}/Label/index.d.ts.map +0 -0
  1864. /package/{lib-esm → dist}/Label/index.js +0 -0
  1865. /package/{lib-esm → dist}/LabelGroup/index.d.ts +0 -0
  1866. /package/{lib → dist}/LabelGroup/index.d.ts.map +0 -0
  1867. /package/{lib-esm → dist}/Link/Link-948b910e.css +0 -0
  1868. /package/{lib-esm → dist}/Link/Link-948b910e.css.map +0 -0
  1869. /package/{lib-esm → dist}/Link/Link.d.ts +0 -0
  1870. /package/{lib → dist}/Link/Link.d.ts.map +0 -0
  1871. /package/{lib-esm → dist}/Link/Link.js +0 -0
  1872. /package/{lib-esm → dist}/Link/Link.module.css.js +0 -0
  1873. /package/{lib-esm → dist}/Link/index.d.ts +0 -0
  1874. /package/{lib → dist}/Link/index.d.ts.map +0 -0
  1875. /package/{lib-esm → dist}/NavList/NavList.d.ts +0 -0
  1876. /package/{lib → dist}/NavList/NavList.d.ts.map +0 -0
  1877. /package/{lib-esm → dist}/NavList/index.d.ts +0 -0
  1878. /package/{lib → dist}/NavList/index.d.ts.map +0 -0
  1879. /package/{lib-esm → dist}/Octicon/Octicon.d.ts +0 -0
  1880. /package/{lib → dist}/Octicon/Octicon.d.ts.map +0 -0
  1881. /package/{lib-esm → dist}/Octicon/Octicon.js +0 -0
  1882. /package/{lib-esm → dist}/Octicon/index.d.ts +0 -0
  1883. /package/{lib → dist}/Octicon/index.d.ts.map +0 -0
  1884. /package/{lib-esm → dist}/Overlay/Overlay.d.ts +0 -0
  1885. /package/{lib → dist}/Overlay/Overlay.d.ts.map +0 -0
  1886. /package/{lib-esm → dist}/Overlay/Overlay.js +0 -0
  1887. /package/{lib-esm → dist}/Overlay/index.d.ts +0 -0
  1888. /package/{lib → dist}/Overlay/index.d.ts.map +0 -0
  1889. /package/{lib-esm → dist}/PageHeader/PageHeader-4e1d8fee.css +0 -0
  1890. /package/{lib-esm → dist}/PageHeader/PageHeader-4e1d8fee.css.map +0 -0
  1891. /package/{lib-esm → dist}/PageHeader/PageHeader.d.ts +0 -0
  1892. /package/{lib-esm → dist}/PageHeader/PageHeader.module.css.js +0 -0
  1893. /package/{lib-esm → dist}/PageHeader/index.d.ts +0 -0
  1894. /package/{lib → dist}/PageHeader/index.d.ts.map +0 -0
  1895. /package/{lib-esm → dist}/PageLayout/PageLayout-8a294e74.css +0 -0
  1896. /package/{lib-esm → dist}/PageLayout/PageLayout-8a294e74.css.map +0 -0
  1897. /package/{lib-esm → dist}/PageLayout/PageLayout.d.ts +0 -0
  1898. /package/{lib-esm → dist}/PageLayout/PageLayout.module.css.js +0 -0
  1899. /package/{lib-esm → dist}/PageLayout/index.d.ts +0 -0
  1900. /package/{lib → dist}/PageLayout/index.d.ts.map +0 -0
  1901. /package/{lib-esm → dist}/Pagehead/Pagehead-0744ffce.css +0 -0
  1902. /package/{lib-esm → dist}/Pagehead/Pagehead-0744ffce.css.map +0 -0
  1903. /package/{lib-esm → dist}/Pagehead/Pagehead.module.css.js +0 -0
  1904. /package/{lib-esm → dist}/Pagehead/index.d.ts +0 -0
  1905. /package/{lib → dist}/Pagehead/index.d.ts.map +0 -0
  1906. /package/{lib-esm → dist}/Pagination/Pagination-e98833e8.css +0 -0
  1907. /package/{lib-esm → dist}/Pagination/Pagination-e98833e8.css.map +0 -0
  1908. /package/{lib-esm → dist}/Pagination/Pagination.d.ts +0 -0
  1909. /package/{lib → dist}/Pagination/Pagination.d.ts.map +0 -0
  1910. /package/{lib-esm → dist}/Pagination/Pagination.js +0 -0
  1911. /package/{lib-esm → dist}/Pagination/Pagination.module.css.js +0 -0
  1912. /package/{lib-esm → dist}/Pagination/index.d.ts +0 -0
  1913. /package/{lib → dist}/Pagination/index.d.ts.map +0 -0
  1914. /package/{lib-esm → dist}/Pagination/index.js +0 -0
  1915. /package/{lib-esm → dist}/Pagination/mocks/ReactRouterLink.d.ts +0 -0
  1916. /package/{lib → dist}/Pagination/mocks/ReactRouterLink.d.ts.map +0 -0
  1917. /package/{lib-esm → dist}/Pagination/model.d.ts +0 -0
  1918. /package/{lib → dist}/Pagination/model.d.ts.map +0 -0
  1919. /package/{lib-esm → dist}/Pagination/model.js +0 -0
  1920. /package/{lib-esm → dist}/Placeholder.d.ts +0 -0
  1921. /package/{lib → dist}/Placeholder.d.ts.map +0 -0
  1922. /package/{lib-esm → dist}/PointerBox/index.d.ts +0 -0
  1923. /package/{lib → dist}/PointerBox/index.d.ts.map +0 -0
  1924. /package/{lib-esm → dist}/Popover/index.d.ts +0 -0
  1925. /package/{lib → dist}/Popover/index.d.ts.map +0 -0
  1926. /package/{lib-esm → dist}/ProgressBar/index.js +0 -0
  1927. /package/{lib-esm → dist}/Radio/Radio.d.ts +0 -0
  1928. /package/{lib-esm → dist}/Radio/index.d.ts +0 -0
  1929. /package/{lib → dist}/Radio/index.d.ts.map +0 -0
  1930. /package/{lib-esm → dist}/RadioGroup/RadioGroup.d.ts +0 -0
  1931. /package/{lib → dist}/RadioGroup/RadioGroup.d.ts.map +0 -0
  1932. /package/{lib-esm → dist}/RadioGroup/RadioGroup.js +0 -0
  1933. /package/{lib-esm → dist}/RadioGroup/index.d.ts +0 -0
  1934. /package/{lib → dist}/RadioGroup/index.d.ts.map +0 -0
  1935. /package/{lib-esm → dist}/RelativeTime/RelativeTime.d.ts +0 -0
  1936. /package/{lib → dist}/RelativeTime/RelativeTime.d.ts.map +0 -0
  1937. /package/{lib-esm → dist}/RelativeTime/RelativeTime.js +0 -0
  1938. /package/{lib-esm → dist}/RelativeTime/index.d.ts +0 -0
  1939. /package/{lib → dist}/RelativeTime/index.d.ts.map +0 -0
  1940. /package/{lib-esm → dist}/ScrollableRegion/ScrollableRegion.d.ts +0 -0
  1941. /package/{lib → dist}/ScrollableRegion/ScrollableRegion.d.ts.map +0 -0
  1942. /package/{lib-esm → dist}/ScrollableRegion/ScrollableRegion.js +0 -0
  1943. /package/{lib-esm → dist}/ScrollableRegion/index.d.ts +0 -0
  1944. /package/{lib → dist}/ScrollableRegion/index.d.ts.map +0 -0
  1945. /package/{lib-esm → dist}/Select/Select-ab428dc7.css +0 -0
  1946. /package/{lib-esm → dist}/Select/Select-ab428dc7.css.map +0 -0
  1947. /package/{lib-esm → dist}/Select/Select.module.css.js +0 -0
  1948. /package/{lib-esm → dist}/Select/index.d.ts +0 -0
  1949. /package/{lib → dist}/Select/index.d.ts.map +0 -0
  1950. /package/{lib-esm → dist}/SideNav-baa2364d.css +0 -0
  1951. /package/{lib-esm → dist}/SideNav-baa2364d.css.map +0 -0
  1952. /package/{lib-esm → dist}/SideNav.module.css.js +0 -0
  1953. /package/{lib-esm → dist}/Skeleton/SkeletonBox-248bfcc3.css +0 -0
  1954. /package/{lib-esm → dist}/Skeleton/SkeletonBox-248bfcc3.css.map +0 -0
  1955. /package/{lib-esm → dist}/Skeleton/SkeletonBox.module.css.js +0 -0
  1956. /package/{lib-esm → dist}/Skeleton/index.d.ts +0 -0
  1957. /package/{lib → dist}/Skeleton/index.d.ts.map +0 -0
  1958. /package/{lib-esm → dist}/Spinner/Spinner-2dbceeca.css +0 -0
  1959. /package/{lib-esm → dist}/Spinner/Spinner-2dbceeca.css.map +0 -0
  1960. /package/{lib-esm → dist}/Spinner/Spinner.module.css.js +0 -0
  1961. /package/{lib-esm → dist}/Spinner/index.d.ts +0 -0
  1962. /package/{lib → dist}/Spinner/index.d.ts.map +0 -0
  1963. /package/{lib-esm → dist}/SplitPageLayout/SplitPageLayout.js +0 -0
  1964. /package/{lib-esm → dist}/SplitPageLayout/index.d.ts +0 -0
  1965. /package/{lib → dist}/SplitPageLayout/index.d.ts.map +0 -0
  1966. /package/{lib-esm → dist}/Stack/index.d.ts +0 -0
  1967. /package/{lib → dist}/Stack/index.d.ts.map +0 -0
  1968. /package/{lib-esm → dist}/Stack/index.js +0 -0
  1969. /package/{lib-esm → dist}/StateLabel/index.d.ts +0 -0
  1970. /package/{lib → dist}/StateLabel/index.d.ts.map +0 -0
  1971. /package/{lib-esm → dist}/SubNav/SubNav-88128e5c.css +0 -0
  1972. /package/{lib-esm → dist}/SubNav/SubNav-88128e5c.css.map +0 -0
  1973. /package/{lib-esm → dist}/SubNav/SubNav.module.css.js +0 -0
  1974. /package/{lib-esm → dist}/SubNav/index.d.ts +0 -0
  1975. /package/{lib → dist}/SubNav/index.d.ts.map +0 -0
  1976. /package/{lib-esm → dist}/TabNav/TabNav.d.ts +0 -0
  1977. /package/{lib → dist}/TabNav/TabNav.d.ts.map +0 -0
  1978. /package/{lib-esm → dist}/TabNav/TabNav.js +0 -0
  1979. /package/{lib-esm → dist}/TabNav/index.d.ts +0 -0
  1980. /package/{lib → dist}/TabNav/index.d.ts.map +0 -0
  1981. /package/{lib-esm → dist}/Text/Text-ca7603b7.css +0 -0
  1982. /package/{lib-esm → dist}/Text/Text-ca7603b7.css.map +0 -0
  1983. /package/{lib-esm → dist}/Text/Text.d.ts +0 -0
  1984. /package/{lib-esm → dist}/Text/Text.module.css.js +0 -0
  1985. /package/{lib-esm → dist}/Text/index.d.ts +0 -0
  1986. /package/{lib → dist}/Text/index.d.ts.map +0 -0
  1987. /package/{lib-esm → dist}/TextInput/TextInput.js +0 -0
  1988. /package/{lib-esm → dist}/TextInput/index.d.ts +0 -0
  1989. /package/{lib → dist}/TextInput/index.d.ts.map +0 -0
  1990. /package/{lib-esm → dist}/TextInputWithTokens/TextInputWithTokens-fb9b5109.css +0 -0
  1991. /package/{lib-esm → dist}/TextInputWithTokens/TextInputWithTokens-fb9b5109.css.map +0 -0
  1992. /package/{lib-esm → dist}/TextInputWithTokens/TextInputWithTokens.module.css.js +0 -0
  1993. /package/{lib-esm → dist}/TextInputWithTokens/index.d.ts +0 -0
  1994. /package/{lib → dist}/TextInputWithTokens/index.d.ts.map +0 -0
  1995. /package/{lib-esm → dist}/Textarea/TextArea-54099020.css +0 -0
  1996. /package/{lib-esm → dist}/Textarea/TextArea-54099020.css.map +0 -0
  1997. /package/{lib-esm → dist}/Textarea/TextArea.module.css.js +0 -0
  1998. /package/{lib-esm → dist}/Textarea/index.d.ts +0 -0
  1999. /package/{lib → dist}/Textarea/index.d.ts.map +0 -0
  2000. /package/{lib-esm → dist}/ThemeProvider.d.ts +0 -0
  2001. /package/{lib → dist}/ThemeProvider.d.ts.map +0 -0
  2002. /package/{lib-esm → dist}/ThemeProvider.js +0 -0
  2003. /package/{lib-esm → dist}/Timeline/Timeline-e8e88a13.css +0 -0
  2004. /package/{lib-esm → dist}/Timeline/Timeline-e8e88a13.css.map +0 -0
  2005. /package/{lib-esm → dist}/Timeline/Timeline.module.css.js +0 -0
  2006. /package/{lib-esm → dist}/Timeline/index.d.ts +0 -0
  2007. /package/{lib → dist}/Timeline/index.d.ts.map +0 -0
  2008. /package/{lib-esm → dist}/ToggleSwitch/ToggleSwitchStoryWrapper.d.ts +0 -0
  2009. /package/{lib-esm → dist}/ToggleSwitch/index.d.ts +0 -0
  2010. /package/{lib → dist}/ToggleSwitch/index.d.ts.map +0 -0
  2011. /package/{lib-esm → dist}/Token/IssueLabelToken.d.ts +0 -0
  2012. /package/{lib-esm → dist}/Token/Token-942271b0.css +0 -0
  2013. /package/{lib-esm → dist}/Token/Token-942271b0.css.map +0 -0
  2014. /package/{lib-esm → dist}/Token/Token.d.ts +0 -0
  2015. /package/{lib-esm → dist}/Token/Token.module.css.js +0 -0
  2016. /package/{lib-esm → dist}/Token/TokenBase-0386597b.css +0 -0
  2017. /package/{lib-esm → dist}/Token/TokenBase-0386597b.css.map +0 -0
  2018. /package/{lib-esm → dist}/Token/TokenBase.d.ts +0 -0
  2019. /package/{lib → dist}/Token/TokenBase.d.ts.map +0 -0
  2020. /package/{lib-esm → dist}/Token/TokenBase.module.css.js +0 -0
  2021. /package/{lib-esm → dist}/Token/_RemoveTokenButton-d7f5985b.css +0 -0
  2022. /package/{lib-esm → dist}/Token/_RemoveTokenButton-d7f5985b.css.map +0 -0
  2023. /package/{lib-esm → dist}/Token/_RemoveTokenButton.d.ts +0 -0
  2024. /package/{lib → dist}/Token/_RemoveTokenButton.d.ts.map +0 -0
  2025. /package/{lib-esm → dist}/Token/_RemoveTokenButton.module.css.js +0 -0
  2026. /package/{lib-esm → dist}/Token/_TokenTextContainer-2ab10996.css +0 -0
  2027. /package/{lib-esm → dist}/Token/_TokenTextContainer-2ab10996.css.map +0 -0
  2028. /package/{lib-esm → dist}/Token/_TokenTextContainer.d.ts +0 -0
  2029. /package/{lib → dist}/Token/_TokenTextContainer.d.ts.map +0 -0
  2030. /package/{lib-esm → dist}/Token/_TokenTextContainer.js +0 -0
  2031. /package/{lib-esm → dist}/Token/_TokenTextContainer.module.css.js +0 -0
  2032. /package/{lib-esm → dist}/Tooltip/Tooltip.d.ts +0 -0
  2033. /package/{lib → dist}/Tooltip/Tooltip.d.ts.map +0 -0
  2034. /package/{lib-esm → dist}/Tooltip/index.d.ts +0 -0
  2035. /package/{lib → dist}/Tooltip/index.d.ts.map +0 -0
  2036. /package/{lib-esm → dist}/TooltipV2/Tooltip.d.ts +0 -0
  2037. /package/{lib-esm → dist}/TooltipV2/index.d.ts +0 -0
  2038. /package/{lib → dist}/TooltipV2/index.d.ts.map +0 -0
  2039. /package/{lib-esm → dist}/TreeView/TreeView-cd08cabc.css +0 -0
  2040. /package/{lib-esm → dist}/TreeView/TreeView-cd08cabc.css.map +0 -0
  2041. /package/{lib-esm → dist}/TreeView/TreeView.d.ts +0 -0
  2042. /package/{lib → dist}/TreeView/TreeView.d.ts.map +0 -0
  2043. /package/{lib-esm → dist}/TreeView/TreeView.module.css.js +0 -0
  2044. /package/{lib-esm → dist}/TreeView/index.d.ts +0 -0
  2045. /package/{lib → dist}/TreeView/index.d.ts.map +0 -0
  2046. /package/{lib-esm → dist}/TreeView/shared.d.ts +0 -0
  2047. /package/{lib → dist}/TreeView/shared.d.ts.map +0 -0
  2048. /package/{lib-esm → dist}/TreeView/useRovingTabIndex.d.ts +0 -0
  2049. /package/{lib → dist}/TreeView/useRovingTabIndex.d.ts.map +0 -0
  2050. /package/{lib-esm → dist}/TreeView/useRovingTabIndex.js +0 -0
  2051. /package/{lib-esm → dist}/TreeView/useTypeahead.d.ts +0 -0
  2052. /package/{lib → dist}/TreeView/useTypeahead.d.ts.map +0 -0
  2053. /package/{lib-esm → dist}/TreeView/useTypeahead.js +0 -0
  2054. /package/{lib-esm → dist}/Truncate/Truncate-030d5f52.css +0 -0
  2055. /package/{lib-esm → dist}/Truncate/Truncate-030d5f52.css.map +0 -0
  2056. /package/{lib-esm → dist}/Truncate/Truncate.d.ts +0 -0
  2057. /package/{lib → dist}/Truncate/Truncate.d.ts.map +0 -0
  2058. /package/{lib-esm → dist}/Truncate/Truncate.js +0 -0
  2059. /package/{lib-esm → dist}/Truncate/Truncate.module.css.js +0 -0
  2060. /package/{lib-esm → dist}/Truncate/index.d.ts +0 -0
  2061. /package/{lib → dist}/Truncate/index.d.ts.map +0 -0
  2062. /package/{lib-esm → dist}/UnderlineNav/UnderlineNav.d.ts +0 -0
  2063. /package/{lib → dist}/UnderlineNav/UnderlineNav.d.ts.map +0 -0
  2064. /package/{lib-esm → dist}/UnderlineNav/UnderlineNav.js +0 -0
  2065. /package/{lib-esm → dist}/UnderlineNav/UnderlineNavContext.d.ts +0 -0
  2066. /package/{lib → dist}/UnderlineNav/UnderlineNavContext.d.ts.map +0 -0
  2067. /package/{lib-esm → dist}/UnderlineNav/UnderlineNavContext.js +0 -0
  2068. /package/{lib-esm → dist}/UnderlineNav/UnderlineNavItem.d.ts +0 -0
  2069. /package/{lib → dist}/UnderlineNav/UnderlineNavItem.d.ts.map +0 -0
  2070. /package/{lib-esm → dist}/UnderlineNav/UnderlineNavItem.js +0 -0
  2071. /package/{lib-esm → dist}/UnderlineNav/index.d.ts +0 -0
  2072. /package/{lib → dist}/UnderlineNav/index.d.ts.map +0 -0
  2073. /package/{lib-esm → dist}/UnderlineNav/index.js +0 -0
  2074. /package/{lib-esm → dist}/UnderlineNav/styles.d.ts +0 -0
  2075. /package/{lib → dist}/UnderlineNav/styles.d.ts.map +0 -0
  2076. /package/{lib-esm → dist}/UnderlineNav/styles.js +0 -0
  2077. /package/{lib-esm → dist}/UnderlineNav/types.d.ts +0 -0
  2078. /package/{lib → dist}/UnderlineNav/types.d.ts.map +0 -0
  2079. /package/{lib-esm → dist}/VisuallyHidden/VisuallyHidden-ce2a3270.css +0 -0
  2080. /package/{lib-esm → dist}/VisuallyHidden/VisuallyHidden-ce2a3270.css.map +0 -0
  2081. /package/{lib-esm → dist}/VisuallyHidden/VisuallyHidden.module.css.js +0 -0
  2082. /package/{lib-esm → dist}/VisuallyHidden/index.d.ts +0 -0
  2083. /package/{lib → dist}/VisuallyHidden/index.d.ts.map +0 -0
  2084. /package/{lib-esm → dist}/constants.d.ts +0 -0
  2085. /package/{lib → dist}/constants.d.ts.map +0 -0
  2086. /package/{lib-esm → dist}/constants.js +0 -0
  2087. /package/{lib-esm → dist}/deprecated/ActionList/Divider.d.ts +0 -0
  2088. /package/{lib → dist}/deprecated/ActionList/Divider.d.ts.map +0 -0
  2089. /package/{lib-esm → dist}/deprecated/ActionList/Divider.js +0 -0
  2090. /package/{lib-esm → dist}/deprecated/ActionList/Group.d.ts +0 -0
  2091. /package/{lib → dist}/deprecated/ActionList/Group.d.ts.map +0 -0
  2092. /package/{lib-esm → dist}/deprecated/ActionList/Group.js +0 -0
  2093. /package/{lib-esm → dist}/deprecated/ActionList/Header.d.ts +0 -0
  2094. /package/{lib → dist}/deprecated/ActionList/Header.d.ts.map +0 -0
  2095. /package/{lib-esm → dist}/deprecated/ActionList/Header.js +0 -0
  2096. /package/{lib-esm → dist}/deprecated/ActionList/Item.d.ts +0 -0
  2097. /package/{lib → dist}/deprecated/ActionList/Item.d.ts.map +0 -0
  2098. /package/{lib-esm → dist}/deprecated/ActionList/Item.js +0 -0
  2099. /package/{lib-esm → dist}/deprecated/ActionList/List.d.ts +0 -0
  2100. /package/{lib-esm → dist}/deprecated/ActionList/index.d.ts +0 -0
  2101. /package/{lib → dist}/deprecated/ActionList/index.d.ts.map +0 -0
  2102. /package/{lib-esm → dist}/deprecated/ActionList/index.js +0 -0
  2103. /package/{lib-esm → dist}/deprecated/ActionMenu.d.ts +0 -0
  2104. /package/{lib → dist}/deprecated/ActionMenu.d.ts.map +0 -0
  2105. /package/{lib-esm → dist}/deprecated/FilteredSearch/FilteredSearch.d.ts +0 -0
  2106. /package/{lib → dist}/deprecated/FilteredSearch/FilteredSearch.d.ts.map +0 -0
  2107. /package/{lib-esm → dist}/deprecated/FilteredSearch/FilteredSearch.js +0 -0
  2108. /package/{lib-esm → dist}/deprecated/FilteredSearch/index.d.ts +0 -0
  2109. /package/{lib → dist}/deprecated/FilteredSearch/index.d.ts.map +0 -0
  2110. /package/{lib-esm → dist}/deprecated/UnderlineNav/index.d.ts +0 -0
  2111. /package/{lib → dist}/deprecated/UnderlineNav/index.d.ts.map +0 -0
  2112. /package/{lib-esm → dist}/deprecated/utils/create-slots.d.ts +0 -0
  2113. /package/{lib → dist}/deprecated/utils/create-slots.d.ts.map +0 -0
  2114. /package/{lib-esm → dist}/experimental/CSSComponent/index.d.ts +0 -0
  2115. /package/{lib → dist}/experimental/CSSComponent/index.d.ts.map +0 -0
  2116. /package/{lib-esm → dist}/experimental/IssueLabel/getColorFromHex.d.ts +0 -0
  2117. /package/{lib → dist}/experimental/IssueLabel/getColorFromHex.d.ts.map +0 -0
  2118. /package/{lib-esm → dist}/experimental/IssueLabel/getColorFromHex.js +0 -0
  2119. /package/{lib-esm → dist}/experimental/IssueLabel/index.d.ts +0 -0
  2120. /package/{lib → dist}/experimental/IssueLabel/index.d.ts.map +0 -0
  2121. /package/{lib-esm → dist}/experimental/SelectPanel2/SelectPanel-e919f619.css +0 -0
  2122. /package/{lib-esm → dist}/experimental/SelectPanel2/SelectPanel-e919f619.css.map +0 -0
  2123. /package/{lib-esm → dist}/experimental/SelectPanel2/SelectPanel.d.ts +0 -0
  2124. /package/{lib → dist}/experimental/SelectPanel2/SelectPanel.d.ts.map +0 -0
  2125. /package/{lib-esm → dist}/experimental/SelectPanel2/SelectPanel.js +0 -0
  2126. /package/{lib-esm → dist}/experimental/SelectPanel2/SelectPanel.module.css.js +0 -0
  2127. /package/{lib-esm → dist}/experimental/SelectPanel2/index.d.ts +0 -0
  2128. /package/{lib → dist}/experimental/SelectPanel2/index.d.ts.map +0 -0
  2129. /package/{lib-esm → dist}/experimental/SelectPanel2/mock-story-data.d.ts +0 -0
  2130. /package/{lib → dist}/experimental/SelectPanel2/mock-story-data.d.ts.map +0 -0
  2131. /package/{lib-esm → dist}/experimental/UnderlinePanels/UnderlinePanels-e4b325b9.css +0 -0
  2132. /package/{lib-esm → dist}/experimental/UnderlinePanels/UnderlinePanels-e4b325b9.css.map +0 -0
  2133. /package/{lib-esm → dist}/experimental/UnderlinePanels/UnderlinePanels.d.ts +0 -0
  2134. /package/{lib-esm → dist}/experimental/UnderlinePanels/UnderlinePanels.module.css.js +0 -0
  2135. /package/{lib-esm → dist}/experimental/UnderlinePanels/index.d.ts +0 -0
  2136. /package/{lib → dist}/experimental/UnderlinePanels/index.d.ts.map +0 -0
  2137. /package/{lib-esm → dist}/experimental/hooks/index.d.ts +0 -0
  2138. /package/{lib → dist}/experimental/hooks/index.d.ts.map +0 -0
  2139. /package/{lib-esm → dist}/hooks/index.d.ts +0 -0
  2140. /package/{lib → dist}/hooks/index.d.ts.map +0 -0
  2141. /package/{lib-esm → dist}/hooks/useAnchoredPosition.d.ts +0 -0
  2142. /package/{lib → dist}/hooks/useAnchoredPosition.d.ts.map +0 -0
  2143. /package/{lib-esm → dist}/hooks/useAnchoredPosition.js +0 -0
  2144. /package/{lib-esm → dist}/hooks/useControllableState.d.ts +0 -0
  2145. /package/{lib → dist}/hooks/useControllableState.d.ts.map +0 -0
  2146. /package/{lib-esm → dist}/hooks/useControllableState.js +0 -0
  2147. /package/{lib-esm → dist}/hooks/useDetails.d.ts +0 -0
  2148. /package/{lib → dist}/hooks/useDetails.d.ts.map +0 -0
  2149. /package/{lib-esm → dist}/hooks/useDetails.js +0 -0
  2150. /package/{lib-esm → dist}/hooks/useDialog.d.ts +0 -0
  2151. /package/{lib → dist}/hooks/useDialog.d.ts.map +0 -0
  2152. /package/{lib-esm → dist}/hooks/useDialog.js +0 -0
  2153. /package/{lib-esm → dist}/hooks/useFocusTrap.d.ts +0 -0
  2154. /package/{lib → dist}/hooks/useFocusTrap.d.ts.map +0 -0
  2155. /package/{lib-esm → dist}/hooks/useFocusTrap.js +0 -0
  2156. /package/{lib-esm → dist}/hooks/useFocusZone.d.ts +0 -0
  2157. /package/{lib → dist}/hooks/useFocusZone.d.ts.map +0 -0
  2158. /package/{lib-esm → dist}/hooks/useFocusZone.js +0 -0
  2159. /package/{lib-esm → dist}/hooks/useId.d.ts +0 -0
  2160. /package/{lib → dist}/hooks/useId.d.ts.map +0 -0
  2161. /package/{lib-esm → dist}/hooks/useId.js +0 -0
  2162. /package/{lib-esm → dist}/hooks/useIsMacOS.d.ts +0 -0
  2163. /package/{lib → dist}/hooks/useIsMacOS.d.ts.map +0 -0
  2164. /package/{lib-esm → dist}/hooks/useIsMacOS.js +0 -0
  2165. /package/{lib-esm → dist}/hooks/useMedia.d.ts +0 -0
  2166. /package/{lib → dist}/hooks/useMedia.d.ts.map +0 -0
  2167. /package/{lib-esm → dist}/hooks/useMedia.js +0 -0
  2168. /package/{lib-esm → dist}/hooks/useMenuInitialFocus.d.ts +0 -0
  2169. /package/{lib → dist}/hooks/useMenuInitialFocus.d.ts.map +0 -0
  2170. /package/{lib-esm → dist}/hooks/useMenuInitialFocus.js +0 -0
  2171. /package/{lib-esm → dist}/hooks/useMenuKeyboardNavigation.d.ts +0 -0
  2172. /package/{lib → dist}/hooks/useMenuKeyboardNavigation.d.ts.map +0 -0
  2173. /package/{lib-esm → dist}/hooks/useMnemonics.d.ts +0 -0
  2174. /package/{lib → dist}/hooks/useMnemonics.d.ts.map +0 -0
  2175. /package/{lib-esm → dist}/hooks/useOnEscapePress.d.ts +0 -0
  2176. /package/{lib → dist}/hooks/useOnEscapePress.d.ts.map +0 -0
  2177. /package/{lib-esm → dist}/hooks/useOnEscapePress.js +0 -0
  2178. /package/{lib-esm → dist}/hooks/useOnOutsideClick.d.ts +0 -0
  2179. /package/{lib → dist}/hooks/useOnOutsideClick.d.ts.map +0 -0
  2180. /package/{lib-esm → dist}/hooks/useOnOutsideClick.js +0 -0
  2181. /package/{lib-esm → dist}/hooks/useOpenAndCloseFocus.d.ts +0 -0
  2182. /package/{lib → dist}/hooks/useOpenAndCloseFocus.d.ts.map +0 -0
  2183. /package/{lib-esm → dist}/hooks/useOverflow.d.ts +0 -0
  2184. /package/{lib → dist}/hooks/useOverflow.d.ts.map +0 -0
  2185. /package/{lib-esm → dist}/hooks/useOverlay.d.ts +0 -0
  2186. /package/{lib → dist}/hooks/useOverlay.d.ts.map +0 -0
  2187. /package/{lib-esm → dist}/hooks/useOverlay.js +0 -0
  2188. /package/{lib-esm → dist}/hooks/useProvidedRefOrCreate.d.ts +0 -0
  2189. /package/{lib → dist}/hooks/useProvidedRefOrCreate.d.ts.map +0 -0
  2190. /package/{lib-esm → dist}/hooks/useProvidedRefOrCreate.js +0 -0
  2191. /package/{lib-esm → dist}/hooks/useProvidedStateOrCreate.d.ts +0 -0
  2192. /package/{lib → dist}/hooks/useProvidedStateOrCreate.d.ts.map +0 -0
  2193. /package/{lib-esm → dist}/hooks/useProvidedStateOrCreate.js +0 -0
  2194. /package/{lib-esm → dist}/hooks/useRefObjectAsForwardedRef.d.ts +0 -0
  2195. /package/{lib → dist}/hooks/useRefObjectAsForwardedRef.d.ts.map +0 -0
  2196. /package/{lib-esm → dist}/hooks/useRefObjectAsForwardedRef.js +0 -0
  2197. /package/{lib-esm → dist}/hooks/useRenderForcingRef.d.ts +0 -0
  2198. /package/{lib → dist}/hooks/useRenderForcingRef.d.ts.map +0 -0
  2199. /package/{lib-esm → dist}/hooks/useRenderForcingRef.js +0 -0
  2200. /package/{lib-esm → dist}/hooks/useResizeObserver.d.ts +0 -0
  2201. /package/{lib → dist}/hooks/useResizeObserver.d.ts.map +0 -0
  2202. /package/{lib-esm → dist}/hooks/useResizeObserver.js +0 -0
  2203. /package/{lib-esm → dist}/hooks/useResponsiveValue.d.ts +0 -0
  2204. /package/{lib → dist}/hooks/useResponsiveValue.d.ts.map +0 -0
  2205. /package/{lib-esm → dist}/hooks/useResponsiveValue.js +0 -0
  2206. /package/{lib-esm → dist}/hooks/useSafeTimeout.d.ts +0 -0
  2207. /package/{lib → dist}/hooks/useSafeTimeout.d.ts.map +0 -0
  2208. /package/{lib-esm → dist}/hooks/useSafeTimeout.js +0 -0
  2209. /package/{lib-esm → dist}/hooks/useScrollFlash.d.ts +0 -0
  2210. /package/{lib → dist}/hooks/useScrollFlash.d.ts.map +0 -0
  2211. /package/{lib-esm → dist}/hooks/useSlots.d.ts +0 -0
  2212. /package/{lib → dist}/hooks/useSlots.d.ts.map +0 -0
  2213. /package/{lib-esm → dist}/hooks/useSlots.js +0 -0
  2214. /package/{lib-esm → dist}/hooks/useSyncedState.d.ts +0 -0
  2215. /package/{lib → dist}/hooks/useSyncedState.d.ts.map +0 -0
  2216. /package/{lib-esm → dist}/hooks/useSyncedState.js +0 -0
  2217. /package/{lib-esm → dist}/internal/components/BoxWithFallback.d.ts +0 -0
  2218. /package/{lib → dist}/internal/components/BoxWithFallback.d.ts.map +0 -0
  2219. /package/{lib-esm → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroup-e38b5339.css +0 -0
  2220. /package/{lib-esm → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroup-e38b5339.css.map +0 -0
  2221. /package/{lib-esm → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroup.d.ts +0 -0
  2222. /package/{lib → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroup.d.ts.map +0 -0
  2223. /package/{lib-esm → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroup.js +0 -0
  2224. /package/{lib-esm → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroup.module.css.js +0 -0
  2225. /package/{lib-esm → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupCaption.d.ts +0 -0
  2226. /package/{lib → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupCaption.d.ts.map +0 -0
  2227. /package/{lib-esm → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupCaption.js +0 -0
  2228. /package/{lib-esm → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupContext.d.ts +0 -0
  2229. /package/{lib → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupContext.d.ts.map +0 -0
  2230. /package/{lib-esm → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupContext.js +0 -0
  2231. /package/{lib-esm → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupLabel.d.ts +0 -0
  2232. /package/{lib → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupLabel.d.ts.map +0 -0
  2233. /package/{lib-esm → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupLabel.js +0 -0
  2234. /package/{lib-esm → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupValidation.d.ts +0 -0
  2235. /package/{lib → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupValidation.d.ts.map +0 -0
  2236. /package/{lib-esm → dist}/internal/components/CheckboxOrRadioGroup/CheckboxOrRadioGroupValidation.js +0 -0
  2237. /package/{lib-esm → dist}/internal/components/CheckboxOrRadioGroup/index.d.ts +0 -0
  2238. /package/{lib → dist}/internal/components/CheckboxOrRadioGroup/index.d.ts.map +0 -0
  2239. /package/{lib-esm → dist}/internal/components/ConditionalWrapper.d.ts +0 -0
  2240. /package/{lib → dist}/internal/components/ConditionalWrapper.d.ts.map +0 -0
  2241. /package/{lib-esm → dist}/internal/components/ConditionalWrapper.js +0 -0
  2242. /package/{lib-esm → dist}/internal/components/InputLabel-eb267c58.css +0 -0
  2243. /package/{lib-esm → dist}/internal/components/InputLabel-eb267c58.css.map +0 -0
  2244. /package/{lib-esm → dist}/internal/components/InputLabel.d.ts +0 -0
  2245. /package/{lib → dist}/internal/components/InputLabel.d.ts.map +0 -0
  2246. /package/{lib-esm → dist}/internal/components/InputLabel.js +0 -0
  2247. /package/{lib-esm → dist}/internal/components/InputLabel.module.css.js +0 -0
  2248. /package/{lib-esm → dist}/internal/components/InputValidation-057236a4.css +0 -0
  2249. /package/{lib-esm → dist}/internal/components/InputValidation-057236a4.css.map +0 -0
  2250. /package/{lib-esm → dist}/internal/components/InputValidation.d.ts +0 -0
  2251. /package/{lib → dist}/internal/components/InputValidation.d.ts.map +0 -0
  2252. /package/{lib-esm → dist}/internal/components/InputValidation.js +0 -0
  2253. /package/{lib-esm → dist}/internal/components/InputValidation.module.css.js +0 -0
  2254. /package/{lib-esm → dist}/internal/components/LiveRegion.d.ts +0 -0
  2255. /package/{lib → dist}/internal/components/LiveRegion.d.ts.map +0 -0
  2256. /package/{lib-esm → dist}/internal/components/TextInputInnerAction-477e9b99.css +0 -0
  2257. /package/{lib-esm → dist}/internal/components/TextInputInnerAction-477e9b99.css.map +0 -0
  2258. /package/{lib-esm → dist}/internal/components/TextInputInnerAction.d.ts +0 -0
  2259. /package/{lib → dist}/internal/components/TextInputInnerAction.d.ts.map +0 -0
  2260. /package/{lib-esm → dist}/internal/components/TextInputInnerAction.js +0 -0
  2261. /package/{lib-esm → dist}/internal/components/TextInputInnerAction.module.css.js +0 -0
  2262. /package/{lib-esm → dist}/internal/components/TextInputInnerVisualSlot-4a14b955.css +0 -0
  2263. /package/{lib-esm → dist}/internal/components/TextInputInnerVisualSlot-4a14b955.css.map +0 -0
  2264. /package/{lib-esm → dist}/internal/components/TextInputInnerVisualSlot.d.ts +0 -0
  2265. /package/{lib → dist}/internal/components/TextInputInnerVisualSlot.d.ts.map +0 -0
  2266. /package/{lib-esm → dist}/internal/components/TextInputInnerVisualSlot.js +0 -0
  2267. /package/{lib-esm → dist}/internal/components/TextInputInnerVisualSlot.module.css.js +0 -0
  2268. /package/{lib-esm → dist}/internal/components/TextInputWrapper.d.ts +0 -0
  2269. /package/{lib → dist}/internal/components/TextInputWrapper.d.ts.map +0 -0
  2270. /package/{lib-esm → dist}/internal/components/TextInputWrapper.js +0 -0
  2271. /package/{lib-esm → dist}/internal/components/UnderlineTabbedInterface-addc90dd.css +0 -0
  2272. /package/{lib-esm → dist}/internal/components/UnderlineTabbedInterface-addc90dd.css.map +0 -0
  2273. /package/{lib-esm → dist}/internal/components/UnderlineTabbedInterface.d.ts +0 -0
  2274. /package/{lib-esm → dist}/internal/components/UnderlineTabbedInterface.module.css.js +0 -0
  2275. /package/{lib-esm → dist}/internal/components/UnstyledTextInput-8270f063.css +0 -0
  2276. /package/{lib-esm → dist}/internal/components/UnstyledTextInput-8270f063.css.map +0 -0
  2277. /package/{lib-esm → dist}/internal/components/UnstyledTextInput.d.ts +0 -0
  2278. /package/{lib → dist}/internal/components/UnstyledTextInput.d.ts.map +0 -0
  2279. /package/{lib-esm → dist}/internal/components/UnstyledTextInput.js +0 -0
  2280. /package/{lib-esm → dist}/internal/components/UnstyledTextInput.module.css.js +0 -0
  2281. /package/{lib-esm → dist}/internal/components/ValidationAnimationContainer.d.ts +0 -0
  2282. /package/{lib → dist}/internal/components/ValidationAnimationContainer.d.ts.map +0 -0
  2283. /package/{lib-esm → dist}/internal/components/ValidationAnimationContainer.js +0 -0
  2284. /package/{lib-esm → dist}/internal/hooks/useEffectCallback.d.ts +0 -0
  2285. /package/{lib → dist}/internal/hooks/useEffectCallback.d.ts.map +0 -0
  2286. /package/{lib-esm → dist}/internal/hooks/useEffectCallback.js +0 -0
  2287. /package/{lib-esm → dist}/internal/hooks/useEffectOnce.d.ts +0 -0
  2288. /package/{lib → dist}/internal/hooks/useEffectOnce.d.ts.map +0 -0
  2289. /package/{lib-esm → dist}/internal/hooks/useEffectOnce.js +0 -0
  2290. /package/{lib-esm → dist}/internal/hooks/useFocus.d.ts +0 -0
  2291. /package/{lib → dist}/internal/hooks/useFocus.d.ts.map +0 -0
  2292. /package/{lib-esm → dist}/internal/hooks/useMergedRefs.d.ts +0 -0
  2293. /package/{lib → dist}/internal/hooks/useMergedRefs.d.ts.map +0 -0
  2294. /package/{lib-esm → dist}/internal/hooks/useMergedRefs.js +0 -0
  2295. /package/{lib-esm → dist}/internal/internal-types.d.ts +0 -0
  2296. /package/{lib → dist}/internal/internal-types.d.ts.map +0 -0
  2297. /package/{lib-esm → dist}/internal/utils/__tests__/getResponsiveAttributes.test.d.ts +0 -0
  2298. /package/{lib → dist}/internal/utils/__tests__/getResponsiveAttributes.test.d.ts.map +0 -0
  2299. /package/{lib-esm → dist}/internal/utils/__tests__/hasInteractiveNodes.test.d.ts +0 -0
  2300. /package/{lib → dist}/internal/utils/__tests__/hasInteractiveNodes.test.d.ts.map +0 -0
  2301. /package/{lib-esm → dist}/internal/utils/getGlobalFocusStyles.d.ts +0 -0
  2302. /package/{lib → dist}/internal/utils/getGlobalFocusStyles.d.ts.map +0 -0
  2303. /package/{lib-esm → dist}/internal/utils/getResponsiveAttributes.d.ts +0 -0
  2304. /package/{lib → dist}/internal/utils/getResponsiveAttributes.d.ts.map +0 -0
  2305. /package/{lib-esm → dist}/internal/utils/getResponsiveAttributes.js +0 -0
  2306. /package/{lib-esm → dist}/internal/utils/getResponsiveControlValues.d.ts +0 -0
  2307. /package/{lib → dist}/internal/utils/getResponsiveControlValues.d.ts.map +0 -0
  2308. /package/{lib-esm → dist}/internal/utils/hasInteractiveNodes.d.ts +0 -0
  2309. /package/{lib → dist}/internal/utils/hasInteractiveNodes.d.ts.map +0 -0
  2310. /package/{lib-esm → dist}/internal/utils/hasInteractiveNodes.js +0 -0
  2311. /package/{lib-esm → dist}/internal/utils/sharedCheckboxAndRadioStyles.d.ts +0 -0
  2312. /package/{lib → dist}/internal/utils/sharedCheckboxAndRadioStyles.d.ts.map +0 -0
  2313. /package/{lib-esm → dist}/legacy-theme/ts/color-schemes.d.ts +0 -0
  2314. /package/{lib → dist}/legacy-theme/ts/color-schemes.d.ts.map +0 -0
  2315. /package/{lib-esm → dist}/legacy-theme/ts/color-schemes.js +0 -0
  2316. /package/{lib-esm → dist}/legacy-theme/ts/colors/dark.d.ts +0 -0
  2317. /package/{lib → dist}/legacy-theme/ts/colors/dark.d.ts.map +0 -0
  2318. /package/{lib-esm → dist}/legacy-theme/ts/colors/dark_colorblind.d.ts +0 -0
  2319. /package/{lib → dist}/legacy-theme/ts/colors/dark_colorblind.d.ts.map +0 -0
  2320. /package/{lib-esm → dist}/legacy-theme/ts/colors/dark_dimmed.d.ts +0 -0
  2321. /package/{lib → dist}/legacy-theme/ts/colors/dark_dimmed.d.ts.map +0 -0
  2322. /package/{lib-esm → dist}/legacy-theme/ts/colors/dark_high_contrast.d.ts +0 -0
  2323. /package/{lib → dist}/legacy-theme/ts/colors/dark_high_contrast.d.ts.map +0 -0
  2324. /package/{lib-esm → dist}/legacy-theme/ts/colors/dark_tritanopia.d.ts +0 -0
  2325. /package/{lib → dist}/legacy-theme/ts/colors/dark_tritanopia.d.ts.map +0 -0
  2326. /package/{lib-esm → dist}/legacy-theme/ts/colors/index.d.ts +0 -0
  2327. /package/{lib → dist}/legacy-theme/ts/colors/index.d.ts.map +0 -0
  2328. /package/{lib-esm → dist}/legacy-theme/ts/colors/light.d.ts +0 -0
  2329. /package/{lib → dist}/legacy-theme/ts/colors/light.d.ts.map +0 -0
  2330. /package/{lib-esm → dist}/legacy-theme/ts/colors/light_colorblind.d.ts +0 -0
  2331. /package/{lib → dist}/legacy-theme/ts/colors/light_colorblind.d.ts.map +0 -0
  2332. /package/{lib-esm → dist}/legacy-theme/ts/colors/light_high_contrast.d.ts +0 -0
  2333. /package/{lib → dist}/legacy-theme/ts/colors/light_high_contrast.d.ts.map +0 -0
  2334. /package/{lib-esm → dist}/legacy-theme/ts/colors/light_tritanopia.d.ts +0 -0
  2335. /package/{lib → dist}/legacy-theme/ts/colors/light_tritanopia.d.ts.map +0 -0
  2336. /package/{lib-esm → dist}/legacy-theme/ts/index.d.ts +0 -0
  2337. /package/{lib → dist}/legacy-theme/ts/index.d.ts.map +0 -0
  2338. /package/{lib-esm → dist}/live-region/AriaAlert.js +0 -0
  2339. /package/{lib-esm → dist}/live-region/AriaStatus.js +0 -0
  2340. /package/{lib-esm → dist}/live-region/__tests__/test-helpers.d.ts +0 -0
  2341. /package/{lib → dist}/live-region/__tests__/test-helpers.d.ts.map +0 -0
  2342. /package/{lib-esm → dist}/live-region/index.d.ts +0 -0
  2343. /package/{lib → dist}/live-region/index.d.ts.map +0 -0
  2344. /package/{lib-esm → dist}/next/index.d.ts +0 -0
  2345. /package/{lib → dist}/next/index.d.ts.map +0 -0
  2346. /package/{lib-esm → dist}/next/index.js +0 -0
  2347. /package/{lib-esm → dist}/polyfills/eventListenerSignal.d.ts +0 -0
  2348. /package/{lib → dist}/polyfills/eventListenerSignal.d.ts.map +0 -0
  2349. /package/{lib-esm → dist}/sx.d.ts +0 -0
  2350. /package/{lib → dist}/sx.d.ts.map +0 -0
  2351. /package/{lib-esm → dist}/sx.js +0 -0
  2352. /package/{lib-esm → dist}/theme.d.ts +0 -0
  2353. /package/{lib → dist}/theme.d.ts.map +0 -0
  2354. /package/{lib-esm → dist}/theme.js +0 -0
  2355. /package/{lib-esm → dist}/utils/StressTest.d.ts +0 -0
  2356. /package/{lib → dist}/utils/StressTest.d.ts.map +0 -0
  2357. /package/{lib-esm → dist}/utils/__tests__/invariant.test.d.ts +0 -0
  2358. /package/{lib → dist}/utils/__tests__/invariant.test.d.ts.map +0 -0
  2359. /package/{lib-esm → dist}/utils/__tests__/warning.test.d.ts +0 -0
  2360. /package/{lib → dist}/utils/__tests__/warning.test.d.ts.map +0 -0
  2361. /package/{lib-esm → dist}/utils/create-component.d.ts +0 -0
  2362. /package/{lib → dist}/utils/create-component.d.ts.map +0 -0
  2363. /package/{lib-esm → dist}/utils/create-component.js +0 -0
  2364. /package/{lib-esm → dist}/utils/defaultSxProp.d.ts +0 -0
  2365. /package/{lib → dist}/utils/defaultSxProp.d.ts.map +0 -0
  2366. /package/{lib-esm → dist}/utils/defaultSxProp.js +0 -0
  2367. /package/{lib-esm → dist}/utils/deprecate.d.ts +0 -0
  2368. /package/{lib → dist}/utils/deprecate.d.ts.map +0 -0
  2369. /package/{lib-esm → dist}/utils/environment.d.ts +0 -0
  2370. /package/{lib → dist}/utils/environment.d.ts.map +0 -0
  2371. /package/{lib-esm → dist}/utils/environment.js +0 -0
  2372. /package/{lib-esm → dist}/utils/getBreakpointDeclarations.d.ts +0 -0
  2373. /package/{lib → dist}/utils/getBreakpointDeclarations.d.ts.map +0 -0
  2374. /package/{lib-esm → dist}/utils/getBreakpointDeclarations.js +0 -0
  2375. /package/{lib-esm → dist}/utils/includeSystemProps.d.ts +0 -0
  2376. /package/{lib → dist}/utils/includeSystemProps.d.ts.map +0 -0
  2377. /package/{lib-esm → dist}/utils/includeSystemProps.js +0 -0
  2378. /package/{lib-esm → dist}/utils/invariant.d.ts +0 -0
  2379. /package/{lib → dist}/utils/invariant.d.ts.map +0 -0
  2380. /package/{lib-esm → dist}/utils/invariant.js +0 -0
  2381. /package/{lib-esm → dist}/utils/isNumeric.d.ts +0 -0
  2382. /package/{lib → dist}/utils/isNumeric.d.ts.map +0 -0
  2383. /package/{lib-esm → dist}/utils/isNumeric.js +0 -0
  2384. /package/{lib-esm → dist}/utils/layout.d.ts +0 -0
  2385. /package/{lib → dist}/utils/layout.d.ts.map +0 -0
  2386. /package/{lib-esm → dist}/utils/polymorphic.d.ts +0 -0
  2387. /package/{lib → dist}/utils/polymorphic.d.ts.map +0 -0
  2388. /package/{lib-esm → dist}/utils/scroll.d.ts +0 -0
  2389. /package/{lib → dist}/utils/scroll.d.ts.map +0 -0
  2390. /package/{lib-esm → dist}/utils/scroll.js +0 -0
  2391. /package/{lib-esm → dist}/utils/theme.d.ts +0 -0
  2392. /package/{lib → dist}/utils/theme.d.ts.map +0 -0
  2393. /package/{lib-esm → dist}/utils/theme.js +0 -0
  2394. /package/{lib-esm → dist}/utils/types/AriaRole.d.ts +0 -0
  2395. /package/{lib → dist}/utils/types/AriaRole.d.ts.map +0 -0
  2396. /package/{lib-esm → dist}/utils/types/ComponentProps.d.ts +0 -0
  2397. /package/{lib → dist}/utils/types/ComponentProps.d.ts.map +0 -0
  2398. /package/{lib-esm → dist}/utils/types/Flatten.d.ts +0 -0
  2399. /package/{lib → dist}/utils/types/Flatten.d.ts.map +0 -0
  2400. /package/{lib-esm → dist}/utils/types/FormValidationStatus.d.ts +0 -0
  2401. /package/{lib → dist}/utils/types/FormValidationStatus.d.ts.map +0 -0
  2402. /package/{lib-esm → dist}/utils/types/KeyPaths.d.ts +0 -0
  2403. /package/{lib → dist}/utils/types/KeyPaths.d.ts.map +0 -0
  2404. /package/{lib-esm → dist}/utils/types/MandateProps.d.ts +0 -0
  2405. /package/{lib → dist}/utils/types/MandateProps.d.ts.map +0 -0
  2406. /package/{lib-esm → dist}/utils/types/Merge.d.ts +0 -0
  2407. /package/{lib → dist}/utils/types/Merge.d.ts.map +0 -0
  2408. /package/{lib-esm → dist}/utils/types/ViewportRangeKeys.d.ts +0 -0
  2409. /package/{lib → dist}/utils/types/ViewportRangeKeys.d.ts.map +0 -0
  2410. /package/{lib-esm → dist}/utils/types/index.d.ts +0 -0
  2411. /package/{lib → dist}/utils/types/index.d.ts.map +0 -0
  2412. /package/{lib-esm → dist}/utils/use-force-update.d.ts +0 -0
  2413. /package/{lib → dist}/utils/use-force-update.d.ts.map +0 -0
  2414. /package/{lib-esm → dist}/utils/useIsomorphicLayoutEffect.d.ts +0 -0
  2415. /package/{lib → dist}/utils/useIsomorphicLayoutEffect.d.ts.map +0 -0
  2416. /package/{lib-esm → dist}/utils/useIsomorphicLayoutEffect.js +0 -0
  2417. /package/{lib-esm → dist}/utils/warning.d.ts +0 -0
  2418. /package/{lib → dist}/utils/warning.d.ts.map +0 -0
  2419. /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,67 +1298,67 @@
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",
1361
+ "id": "components-banner-examples--with-announcement",
1397
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 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}"
1398
1363
  }
1399
1364
  ],
@@ -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",
@@ -2168,27 +2168,27 @@
2168
2168
  "id": "checkbox",
2169
2169
  "name": "Checkbox",
2170
2170
  "status": "alpha",
2171
- "a11yReviewed": false,
2171
+ "a11yReviewed": "2025-01-08",
2172
2172
  "stories": [
2173
2173
  {
2174
2174
  "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)"
2175
+ "code": "() => (\n <form>\n <FormControl>\n <Checkbox value=\"default\" />\n <FormControl.Label>Default label</FormControl.Label>\n </FormControl>\n </form>\n)"
2176
2176
  },
2177
2177
  {
2178
2178
  "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}"
2179
+ "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
2180
  },
2181
2181
  {
2182
2182
  "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}"
2183
+ "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
2184
  },
2185
2185
  {
2186
2186
  "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}"
2187
+ "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
2188
  },
2189
2189
  {
2190
2190
  "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)"
2191
+ "code": "() => (\n <form>\n <FormControl>\n <Checkbox value=\"default\" indeterminate />\n <FormControl.Label>Default label</FormControl.Label>\n </FormControl>\n </form>\n)"
2192
2192
  }
2193
2193
  ],
2194
2194
  "importPath": "@primer/react",
@@ -2257,7 +2257,7 @@
2257
2257
  "id": "checkbox_group",
2258
2258
  "name": "CheckboxGroup",
2259
2259
  "status": "alpha",
2260
- "a11yReviewed": false,
2260
+ "a11yReviewed": "2025-01-08",
2261
2261
  "stories": [
2262
2262
  {
2263
2263
  "id": "components-checkboxgroup--default",
@@ -2269,7 +2269,7 @@
2269
2269
  },
2270
2270
  {
2271
2271
  "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)"
2272
+ "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
2273
  },
2274
2274
  {
2275
2275
  "id": "components-checkboxgroup-features--error",
@@ -2391,11 +2391,11 @@
2391
2391
  "source": "https://github.com/primer/react/tree/main/packages/react/src/CircleBadge",
2392
2392
  "id": "circle_badge",
2393
2393
  "name": "CircleBadge",
2394
- "status": "alpha",
2395
- "a11yReviewed": false,
2394
+ "status": "deprecated",
2395
+ "a11yReviewed": "2025-01-08",
2396
2396
  "stories": [
2397
2397
  {
2398
- "id": "components-circlebadge--default",
2398
+ "id": "deprecated-components-circlebadge--default",
2399
2399
  "code": "() => (\n <CircleBadge>\n <CircleBadge.Icon icon={ZapIcon} aria-label=\"User badge\" />\n </CircleBadge>\n)"
2400
2400
  }
2401
2401
  ],
@@ -2451,45 +2451,13 @@
2451
2451
  }
2452
2452
  ]
2453
2453
  },
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
2454
  "confirmationdialog": {
2487
2455
  "source": "https://github.com/primer/react/tree/main/packages/react/src/ConfirmationDialog",
2488
2456
  "id": "confirmationdialog",
2489
2457
  "docsId": "confirmationdialog",
2490
2458
  "name": "ConfirmationDialog",
2491
2459
  "status": "alpha",
2492
- "a11yReviewed": false,
2460
+ "a11yReviewed": "2025-01-08",
2493
2461
  "importPath": "@primer/react",
2494
2462
  "stories": [
2495
2463
  {
@@ -2498,11 +2466,15 @@
2498
2466
  },
2499
2467
  {
2500
2468
  "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}"
2469
+ "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
2470
  },
2503
2471
  {
2504
2472
  "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}"
2473
+ "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}"
2474
+ },
2475
+ {
2476
+ "id": "components-confirmationdialog-features--loading-states",
2477
+ "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
2478
  }
2507
2479
  ],
2508
2480
  "props": [
@@ -2536,6 +2508,11 @@
2536
2508
  "defaultValue": "normal",
2537
2509
  "description": "The type of button to use for the confirm button."
2538
2510
  },
2511
+ {
2512
+ "name": "overrideButtonFocus",
2513
+ "type": "'confirm' | 'cancel'",
2514
+ "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."
2515
+ },
2539
2516
  {
2540
2517
  "name": "className",
2541
2518
  "type": "string",
@@ -2559,7 +2536,7 @@
2559
2536
  "id": "counter_label",
2560
2537
  "name": "CounterLabel",
2561
2538
  "status": "alpha",
2562
- "a11yReviewed": false,
2539
+ "a11yReviewed": "2025-01-08",
2563
2540
  "stories": [
2564
2541
  {
2565
2542
  "id": "components-counterlabel--default",
@@ -2601,7 +2578,7 @@
2601
2578
  "id": "data_table",
2602
2579
  "name": "DataTable",
2603
2580
  "status": "alpha",
2604
- "a11yReviewed": true,
2581
+ "a11yReviewed": "2025-01-08",
2605
2582
  "stories": [
2606
2583
  {
2607
2584
  "id": "experimental-components-datatable--default",
@@ -3042,7 +3019,7 @@
3042
3019
  "id": "details",
3043
3020
  "name": "Details",
3044
3021
  "status": "alpha",
3045
- "a11yReviewed": false,
3022
+ "a11yReviewed": "2025-01-08",
3046
3023
  "stories": [
3047
3024
  {
3048
3025
  "id": "components-details--default",
@@ -3050,13 +3027,7 @@
3050
3027
  }
3051
3028
  ],
3052
3029
  "importPath": "@primer/react",
3053
- "props": [
3054
- {
3055
- "name": "sx",
3056
- "type": "SystemStyleObject",
3057
- "deprecated": true
3058
- }
3059
- ],
3030
+ "props": [],
3060
3031
  "subcomponents": [
3061
3032
  {
3062
3033
  "name": "Details.Summary",
@@ -3071,11 +3042,6 @@
3071
3042
  {
3072
3043
  "name": "children",
3073
3044
  "type": "React.ReactNode"
3074
- },
3075
- {
3076
- "name": "sx",
3077
- "type": "SystemStyleObject",
3078
- "deprecated": true
3079
3045
  }
3080
3046
  ]
3081
3047
  }
@@ -3087,7 +3053,7 @@
3087
3053
  "docsId": "dialog",
3088
3054
  "name": "Dialog",
3089
3055
  "status": "alpha",
3090
- "a11yReviewed": false,
3056
+ "a11yReviewed": "2025-01-08",
3091
3057
  "stories": [
3092
3058
  {
3093
3059
  "id": "components-dialog--default",
@@ -3103,7 +3069,7 @@
3103
3069
  },
3104
3070
  {
3105
3071
  "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}"
3072
+ "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
3073
  },
3108
3074
  {
3109
3075
  "id": "components-dialog-features--bottom-sheet-narrow",
@@ -3127,7 +3093,7 @@
3127
3093
  },
3128
3094
  {
3129
3095
  "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}"
3096
+ "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
3097
  }
3132
3098
  ],
3133
3099
  "importPath": "@primer/react",
@@ -3283,7 +3249,7 @@
3283
3249
  "stories": [
3284
3250
  {
3285
3251
  "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}"
3252
+ "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
3253
  }
3288
3254
  ],
3289
3255
  "importPath": "@primer/react/deprecated",
@@ -3368,7 +3334,7 @@
3368
3334
  "id": "flash",
3369
3335
  "name": "Flash",
3370
3336
  "status": "alpha",
3371
- "a11yReviewed": false,
3337
+ "a11yReviewed": "2025-01-08",
3372
3338
  "stories": [
3373
3339
  {
3374
3340
  "id": "components-flash--default",
@@ -3376,27 +3342,27 @@
3376
3342
  },
3377
3343
  {
3378
3344
  "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)"
3345
+ "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 <div className={classes.Visual}>\n <Octicon icon={CheckCircleIcon} aria-label=\"Success\" />\n </div>\n <div className={classes.Message}>Success</div>\n </Flash>\n)"
3380
3346
  },
3381
3347
  {
3382
3348
  "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)"
3349
+ "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 <div className={classes.Visual}>\n <Octicon icon={InfoIcon} aria-label=\"Danger\" />\n </div>\n <div className={classes.Message}>Danger</div>\n </Flash>\n)"
3384
3350
  },
3385
3351
  {
3386
3352
  "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)"
3353
+ "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 <div className={classes.Visual}>\n <Octicon icon={AlertIcon} aria-label=\"Warning\" />\n </div>\n <div className={classes.Message}>Warning</div>\n </Flash>\n)"
3388
3354
  },
3389
3355
  {
3390
3356
  "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)"
3357
+ "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 <div className={classes.Visual}>\n <Octicon icon={InfoIcon} aria-label=\"Info\" />\n </div>\n <div className={classes.Message}>Full</div>\n </Flash>\n)"
3392
3358
  },
3393
3359
  {
3394
3360
  "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)"
3361
+ "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 <div className={classes.Visual}>\n <Octicon icon={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
3362
  },
3397
3363
  {
3398
3364
  "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)"
3365
+ "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 <div className={classes.Visual}>\n <Octicon icon={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\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 </div>\n </Flash>\n)"
3400
3366
  }
3401
3367
  ],
3402
3368
  "importPath": "@primer/react",
@@ -3435,7 +3401,7 @@
3435
3401
  "id": "form_control",
3436
3402
  "name": "FormControl",
3437
3403
  "status": "alpha",
3438
- "a11yReviewed": false,
3404
+ "a11yReviewed": "2025-01-08",
3439
3405
  "stories": [
3440
3406
  {
3441
3407
  "id": "components-formcontrol--default",
@@ -3443,15 +3409,15 @@
3443
3409
  },
3444
3410
  {
3445
3411
  "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}"
3412
+ "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
3413
  },
3448
3414
  {
3449
3415
  "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}"
3416
+ "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
3417
  },
3452
3418
  {
3453
3419
  "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}"
3420
+ "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
3421
  },
3456
3422
  {
3457
3423
  "id": "components-formcontrol-features--single-input",
@@ -3471,11 +3437,11 @@
3471
3437
  },
3472
3438
  {
3473
3439
  "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)"
3440
+ "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
3441
  },
3476
3442
  {
3477
3443
  "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)"
3444
+ "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
3445
  },
3480
3446
  {
3481
3447
  "id": "components-formcontrol-features--with-caption",
@@ -3683,7 +3649,7 @@
3683
3649
  "id": "header",
3684
3650
  "name": "Header",
3685
3651
  "status": "alpha",
3686
- "a11yReviewed": false,
3652
+ "a11yReviewed": "2025-01-08",
3687
3653
  "stories": [
3688
3654
  {
3689
3655
  "id": "components-header--default",
@@ -3759,7 +3725,7 @@
3759
3725
  "id": "heading",
3760
3726
  "name": "Heading",
3761
3727
  "status": "alpha",
3762
- "a11yReviewed": false,
3728
+ "a11yReviewed": "2025-01-08",
3763
3729
  "stories": [
3764
3730
  {
3765
3731
  "id": "components-heading--default",
@@ -3805,7 +3771,7 @@
3805
3771
  "id": "hidden",
3806
3772
  "name": "Hidden",
3807
3773
  "status": "draft",
3808
- "a11yReviewed": false,
3774
+ "a11yReviewed": "2025-01-08",
3809
3775
  "stories": [
3810
3776
  {
3811
3777
  "id": "experimental-components-hidden--default",
@@ -3813,11 +3779,11 @@
3813
3779
  },
3814
3780
  {
3815
3781
  "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)"
3782
+ "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
3783
  },
3818
3784
  {
3819
3785
  "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)"
3786
+ "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
3787
  }
3822
3788
  ],
3823
3789
  "importPath": "@primer/react/experimental",
@@ -3836,7 +3802,7 @@
3836
3802
  "id": "inline_message",
3837
3803
  "name": "InlineMessage",
3838
3804
  "status": "alpha",
3839
- "a11yReviewed": false,
3805
+ "a11yReviewed": "2025-01-08",
3840
3806
  "importPath": "@primer/react/experimental",
3841
3807
  "stories": [
3842
3808
  {
@@ -3885,15 +3851,15 @@
3885
3851
  "id": "KeybindingHint",
3886
3852
  "name": "KeybindingHint",
3887
3853
  "status": "draft",
3888
- "a11yReviewed": false,
3854
+ "a11yReviewed": "2025-01-08",
3889
3855
  "stories": [
3890
3856
  {
3891
3857
  "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)"
3858
+ "code": "(args) => (\n <div className={classes.EmphasisBackground}>\n <KeybindingHint {...args} />\n </div>\n)"
3893
3859
  },
3894
3860
  {
3895
3861
  "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)"
3862
+ "code": "(args) => (\n <div className={classes.PrimaryBackground}>\n <KeybindingHint {...args} />\n </div>\n)"
3897
3863
  }
3898
3864
  ],
3899
3865
  "importPath": "@primer/react",
@@ -3929,7 +3895,7 @@
3929
3895
  "id": "label",
3930
3896
  "name": "Label",
3931
3897
  "status": "alpha",
3932
- "a11yReviewed": false,
3898
+ "a11yReviewed": "2025-01-08",
3933
3899
  "stories": [
3934
3900
  {
3935
3901
  "id": "components-label--default",
@@ -4002,7 +3968,7 @@
4002
3968
  "id": "label_group",
4003
3969
  "name": "LabelGroup",
4004
3970
  "status": "alpha",
4005
- "a11yReviewed": false,
3971
+ "a11yReviewed": "2025-01-08",
4006
3972
  "stories": [
4007
3973
  {
4008
3974
  "id": "components-labelgroup--default",
@@ -4057,7 +4023,7 @@
4057
4023
  "id": "link",
4058
4024
  "name": "Link",
4059
4025
  "status": "alpha",
4060
- "a11yReviewed": false,
4026
+ "a11yReviewed": "2025-01-08",
4061
4027
  "stories": [
4062
4028
  {
4063
4029
  "id": "components-link--default",
@@ -4131,7 +4097,7 @@
4131
4097
  "id": "nav_list",
4132
4098
  "name": "NavList",
4133
4099
  "status": "alpha",
4134
- "a11yReviewed": false,
4100
+ "a11yReviewed": "2025-01-08",
4135
4101
  "stories": [],
4136
4102
  "importPath": "@primer/react",
4137
4103
  "props": [
@@ -4451,19 +4417,19 @@
4451
4417
  "id": "overlay",
4452
4418
  "name": "Overlay",
4453
4419
  "status": "alpha",
4454
- "a11yReviewed": false,
4420
+ "a11yReviewed": "2025-01-08",
4455
4421
  "stories": [
4456
4422
  {
4457
4423
  "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}"
4424
+ "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
4425
  },
4460
4426
  {
4461
4427
  "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}"
4428
+ "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
4429
  },
4464
4430
  {
4465
4431
  "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}"
4432
+ "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
4433
  }
4468
4434
  ],
4469
4435
  "importPath": "@primer/react",
@@ -4516,7 +4482,7 @@
4516
4482
  {
4517
4483
  "name": "maxHeight",
4518
4484
  "type": "| 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge'",
4519
- "defaultValue": "",
4485
+ "defaultValue": "100vh",
4520
4486
  "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
4487
  },
4522
4488
  {
@@ -4576,7 +4542,7 @@
4576
4542
  "type": "'hidden' | 'scroll' | 'auto' | 'visible'",
4577
4543
  "required": false,
4578
4544
  "description": "",
4579
- "defaultValue": ""
4545
+ "defaultValue": "hidden"
4580
4546
  },
4581
4547
  {
4582
4548
  "name": "preventOverflow",
@@ -4618,55 +4584,55 @@
4618
4584
  "id": "page_header",
4619
4585
  "name": "PageHeader",
4620
4586
  "status": "beta",
4621
- "a11yReviewed": true,
4587
+ "a11yReviewed": "2025-01-08",
4622
4588
  "stories": [
4623
4589
  {
4624
4590
  "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)"
4591
+ "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
4592
  },
4627
4593
  {
4628
4594
  "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)"
4595
+ "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
4596
  },
4631
4597
  {
4632
4598
  "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)"
4599
+ "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
4600
  },
4635
4601
  {
4636
4602
  "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)"
4603
+ "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
4604
  },
4639
4605
  {
4640
4606
  "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)"
4607
+ "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
4608
  },
4643
4609
  {
4644
4610
  "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)"
4611
+ "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
4612
  },
4647
4613
  {
4648
4614
  "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)"
4615
+ "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
4616
  },
4651
4617
  {
4652
4618
  "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)"
4619
+ "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
4620
  },
4655
4621
  {
4656
4622
  "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)"
4623
+ "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
4624
  },
4659
4625
  {
4660
4626
  "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)"
4627
+ "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
4628
  },
4663
4629
  {
4664
4630
  "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)"
4631
+ "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
4632
  },
4667
4633
  {
4668
4634
  "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)"
4635
+ "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
4636
  }
4671
4637
  ],
4672
4638
  "importPath": "@primer/react",
@@ -5065,7 +5031,7 @@
5065
5031
  "id": "page_layout",
5066
5032
  "name": "PageLayout",
5067
5033
  "status": "alpha",
5068
- "a11yReviewed": true,
5034
+ "a11yReviewed": "2025-01-08",
5069
5035
  "stories": [
5070
5036
  {
5071
5037
  "id": "components-pagelayout--default",
@@ -5073,19 +5039,19 @@
5073
5039
  },
5074
5040
  {
5075
5041
  "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)"
5042
+ "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
5043
  },
5078
5044
  {
5079
5045
  "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)"
5046
+ "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
5047
  },
5082
5048
  {
5083
5049
  "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)"
5050
+ "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
5051
  },
5086
5052
  {
5087
5053
  "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)"
5054
+ "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
5055
  },
5090
5056
  {
5091
5057
  "id": "components-pagelayout-features--resizable-pane",
@@ -5093,7 +5059,7 @@
5093
5059
  },
5094
5060
  {
5095
5061
  "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)"
5062
+ "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
5063
  },
5098
5064
  {
5099
5065
  "id": "components-pagelayout-features--custom-pane-widths",
@@ -5101,7 +5067,7 @@
5101
5067
  },
5102
5068
  {
5103
5069
  "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)"
5070
+ "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
5071
  }
5106
5072
  ],
5107
5073
  "importPath": "@primer/react",
@@ -5397,7 +5363,7 @@
5397
5363
  "id": "pagination",
5398
5364
  "name": "Pagination",
5399
5365
  "status": "alpha",
5400
- "a11yReviewed": false,
5366
+ "a11yReviewed": "2025-01-08",
5401
5367
  "stories": [
5402
5368
  {
5403
5369
  "id": "components-pagination--default",
@@ -5471,11 +5437,6 @@
5471
5437
  "type": "function",
5472
5438
  "defaultValue": "(props: PageProps) => ReactNode",
5473
5439
  "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
5440
  }
5480
5441
  ],
5481
5442
  "subcomponents": []
@@ -5484,15 +5445,15 @@
5484
5445
  "source": "https://github.com/primer/react/tree/main/packages/react/src/PointerBox",
5485
5446
  "id": "pointer_box",
5486
5447
  "name": "PointerBox",
5487
- "status": "alpha",
5488
- "a11yReviewed": false,
5448
+ "status": "deprecated",
5449
+ "a11yReviewed": "2025-01-08",
5489
5450
  "stories": [
5490
5451
  {
5491
- "id": "components-pointerbox--default",
5452
+ "id": "deprecated-components-pointerbox--default",
5492
5453
  "code": "() => <PointerBox>Pointer box content</PointerBox>"
5493
5454
  }
5494
5455
  ],
5495
- "importPath": "@primer/react",
5456
+ "importPath": "@primer/react/deprecated",
5496
5457
  "props": [
5497
5458
  {
5498
5459
  "name": "bg",
@@ -5526,11 +5487,11 @@
5526
5487
  "id": "popover",
5527
5488
  "name": "Popover",
5528
5489
  "status": "alpha",
5529
- "a11yReviewed": false,
5490
+ "a11yReviewed": "2025-01-08",
5530
5491
  "stories": [
5531
5492
  {
5532
5493
  "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)"
5494
+ "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
5495
  }
5535
5496
  ],
5536
5497
  "importPath": "@primer/react",
@@ -5579,6 +5540,24 @@
5579
5540
  "name": "sx",
5580
5541
  "type": "SystemStyleObject",
5581
5542
  "deprecated": true
5543
+ },
5544
+ {
5545
+ "name": "width",
5546
+ "type": "| 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'auto'",
5547
+ "defaultValue": "'small'",
5548
+ "description": "Sets the width of the popover content."
5549
+ },
5550
+ {
5551
+ "name": "height",
5552
+ "type": "| 'small' | 'medium' | 'large' | 'xlarge' | 'fit-content' | 'auto'",
5553
+ "defaultValue": "'fit-content'",
5554
+ "description": "Sets the height of the popover content."
5555
+ },
5556
+ {
5557
+ "name": "overflow",
5558
+ "type": "| 'auto' | 'hidden' | 'scroll' | 'visible'",
5559
+ "defaultValue": "'auto'",
5560
+ "description": "Sets the overflow behavior of the popover content."
5582
5561
  }
5583
5562
  ]
5584
5563
  }
@@ -5593,19 +5572,19 @@
5593
5572
  "stories": [
5594
5573
  {
5595
5574
  "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)"
5575
+ "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
5576
  },
5598
5577
  {
5599
5578
  "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)"
5579
+ "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
5580
  },
5602
5581
  {
5603
5582
  "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}"
5583
+ "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
5584
  },
5606
5585
  {
5607
5586
  "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}"
5587
+ "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
5588
  }
5610
5589
  ],
5611
5590
  "importPath": "@primer/react",
@@ -5630,7 +5609,7 @@
5630
5609
  "id": "progress_bar",
5631
5610
  "name": "ProgressBar",
5632
5611
  "status": "alpha",
5633
- "a11yReviewed": false,
5612
+ "a11yReviewed": "2025-01-08",
5634
5613
  "stories": [
5635
5614
  {
5636
5615
  "id": "components-progressbar--default",
@@ -5658,15 +5637,15 @@
5658
5637
  },
5659
5638
  {
5660
5639
  "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)"
5640
+ "code": "() => (\n <ProgressBar\n inline\n progress=\"66\"\n style={{\n width: '100px',\n }}\n aria-label=\"Upload test.png\"\n />\n)"
5662
5641
  },
5663
5642
  {
5664
- "id": "components-progressbar-features--color",
5665
- "code": "() => (\n <ProgressBar progress=\"66\" bg=\"done.emphasis\" aria-label=\"Upload test.png\" />\n)"
5643
+ "id": "components-progressbar-features--all-colors",
5644
+ "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
5645
  },
5667
5646
  {
5668
5647
  "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)"
5648
+ "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
5649
  },
5671
5650
  {
5672
5651
  "id": "components-progressbar-features--animated",
@@ -5746,23 +5725,23 @@
5746
5725
  "id": "radio",
5747
5726
  "name": "Radio",
5748
5727
  "status": "alpha",
5749
- "a11yReviewed": false,
5728
+ "a11yReviewed": "2025-01-08",
5750
5729
  "stories": [
5751
5730
  {
5752
5731
  "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)"
5732
+ "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
5733
  },
5755
5734
  {
5756
5735
  "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}"
5736
+ "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
5737
  },
5759
5738
  {
5760
5739
  "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}"
5740
+ "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
5741
  },
5763
5742
  {
5764
5743
  "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}"
5744
+ "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
5745
  }
5767
5746
  ],
5768
5747
  "importPath": "@primer/react",
@@ -5826,7 +5805,7 @@
5826
5805
  "id": "radio_group",
5827
5806
  "name": "RadioGroup",
5828
5807
  "status": "alpha",
5829
- "a11yReviewed": false,
5808
+ "a11yReviewed": "2025-01-08",
5830
5809
  "stories": [
5831
5810
  {
5832
5811
  "id": "components-radiogroup--default",
@@ -5838,7 +5817,7 @@
5838
5817
  },
5839
5818
  {
5840
5819
  "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)"
5820
+ "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
5821
  },
5843
5822
  {
5844
5823
  "id": "components-radiogroup-features--error",
@@ -5968,7 +5947,7 @@
5968
5947
  "id": "relative_time",
5969
5948
  "name": "RelativeTime",
5970
5949
  "status": "alpha",
5971
- "a11yReviewed": false,
5950
+ "a11yReviewed": "2025-01-08",
5972
5951
  "stories": [
5973
5952
  {
5974
5953
  "id": "components-relativetime--default",
@@ -6132,7 +6111,7 @@
6132
6111
  "id": "segmented_control",
6133
6112
  "name": "SegmentedControl",
6134
6113
  "status": "alpha",
6135
- "a11yReviewed": false,
6114
+ "a11yReviewed": "2025-01-08",
6136
6115
  "stories": [
6137
6116
  {
6138
6117
  "id": "components-segmentedcontrol--default",
@@ -6172,7 +6151,7 @@
6172
6151
  },
6173
6152
  {
6174
6153
  "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)"
6154
+ "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
6155
  }
6177
6156
  ],
6178
6157
  "importPath": "@primer/react",
@@ -6219,11 +6198,6 @@
6219
6198
  "description": "The size of the buttons",
6220
6199
  "defaultValue": ""
6221
6200
  },
6222
- {
6223
- "name": "sx",
6224
- "type": "SystemStyleObject",
6225
- "deprecated": true
6226
- },
6227
6201
  {
6228
6202
  "name": "ref",
6229
6203
  "type": "React.RefObject<HTMLDivElement>"
@@ -6252,9 +6226,10 @@
6252
6226
  "description": "Whether the segment is selected. This is used for uncontrolled SegmentedControls to pick one SegmentedControlButton that is selected on the initial render."
6253
6227
  },
6254
6228
  {
6255
- "name": "sx",
6256
- "type": "SystemStyleObject",
6257
- "deprecated": true
6229
+ "name": "count",
6230
+ "type": "number | string",
6231
+ "defaultValue": "",
6232
+ "description": "The number to display in the counter label."
6258
6233
  },
6259
6234
  {
6260
6235
  "name": "ref",
@@ -6297,11 +6272,6 @@
6297
6272
  "defaultValue": "",
6298
6273
  "description": "Whether the segment is selected. This is used for uncontrolled SegmentedControls to pick one SegmentedControlButton that is selected on the initial render."
6299
6274
  },
6300
- {
6301
- "name": "sx",
6302
- "type": "SystemStyleObject",
6303
- "deprecated": true
6304
- },
6305
6275
  {
6306
6276
  "name": "ref",
6307
6277
  "type": "React.RefObject<HTMLButtonElement>"
@@ -6327,55 +6297,55 @@
6327
6297
  "id": "select",
6328
6298
  "name": "Select",
6329
6299
  "status": "alpha",
6330
- "a11yReviewed": true,
6300
+ "a11yReviewed": "2025-01-08",
6331
6301
  "stories": [
6332
6302
  {
6333
6303
  "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)"
6304
+ "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
6305
  },
6336
6306
  {
6337
6307
  "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)"
6308
+ "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
6309
  },
6340
6310
  {
6341
6311
  "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)"
6312
+ "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
6313
  },
6344
6314
  {
6345
6315
  "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)"
6316
+ "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
6317
  },
6348
6318
  {
6349
6319
  "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)"
6320
+ "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
6321
  },
6352
6322
  {
6353
6323
  "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)"
6324
+ "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
6325
  },
6356
6326
  {
6357
6327
  "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)"
6328
+ "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
6329
  },
6360
6330
  {
6361
6331
  "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)"
6332
+ "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
6333
  },
6364
6334
  {
6365
6335
  "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)"
6336
+ "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
6337
  },
6368
6338
  {
6369
6339
  "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)"
6340
+ "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
6341
  },
6372
6342
  {
6373
6343
  "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)"
6344
+ "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
6345
  },
6376
6346
  {
6377
6347
  "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)"
6348
+ "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
6349
  }
6380
6350
  ],
6381
6351
  "importPath": "@primer/react",
@@ -6419,11 +6389,11 @@
6419
6389
  "docsId": "select_panel",
6420
6390
  "name": "SelectPanel",
6421
6391
  "status": "alpha",
6422
- "a11yReviewed": false,
6392
+ "a11yReviewed": "2025-01-08",
6423
6393
  "stories": [
6424
6394
  {
6425
6395
  "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}"
6396
+ "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
6397
  },
6428
6398
  {
6429
6399
  "id": "components-selectpanel-features--with-item-dividers",
@@ -6588,8 +6558,8 @@
6588
6558
  },
6589
6559
  {
6590
6560
  "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",
6561
+ "type": "{title: string | React.ReactElement; variant: 'empty' | 'error' | 'warning'; body: React.ReactNode; icon?:React.ComponentType<IconProps>;action?: React.ReactElement;}",
6562
+ "defaultValue": "A default empty message is provided if this option is not configured. Supply a custom empty message to override the default.",
6593
6563
  "description": "Message to display in the panel in case of error or empty results"
6594
6564
  },
6595
6565
  {
@@ -6609,6 +6579,12 @@
6609
6579
  "description": "Whether to display the selected items at the top of the list",
6610
6580
  "default": "true"
6611
6581
  },
6582
+ {
6583
+ "name": "showSelectAll",
6584
+ "type": "boolean",
6585
+ "defaultValue": "false",
6586
+ "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."
6587
+ },
6612
6588
  {
6613
6589
  "name": "disableFullscreenOnNarrow",
6614
6590
  "type": "boolean",
@@ -6635,7 +6611,7 @@
6635
6611
  "id": "skeleton_box",
6636
6612
  "name": "SkeletonBox",
6637
6613
  "status": "alpha",
6638
- "a11yReviewed": false,
6614
+ "a11yReviewed": "2025-01-08",
6639
6615
  "stories": [
6640
6616
  {
6641
6617
  "id": "components-skeleton-skeletonbox--default",
@@ -6668,66 +6644,190 @@
6668
6644
  "type": "string",
6669
6645
  "description": "The className of the skeleton box",
6670
6646
  "defaultValue": ""
6671
- },
6672
- {
6673
- "name": "sx",
6674
- "type": "SystemStyleObject",
6675
- "deprecated": true
6676
6647
  }
6677
6648
  ],
6678
6649
  "subcomponents": []
6679
6650
  },
6680
- "spinner": {
6681
- "source": "https://github.com/primer/react/tree/main/packages/react/src/Spinner",
6682
- "id": "spinner",
6683
- "name": "Spinner",
6651
+ "skeleton_avatar": {
6652
+ "source": "https://github.com/primer/react/tree/main/packages/react/src/SkeletonAvatar",
6653
+ "id": "skeleton_avatar",
6654
+ "name": "SkeletonAvatar",
6684
6655
  "status": "alpha",
6685
- "a11yReviewed": false,
6656
+ "a11yReviewed": "2025-01-08",
6686
6657
  "stories": [
6687
6658
  {
6688
- "id": "components-spinner--default",
6689
- "code": "() => <Spinner />"
6659
+ "id": "components-skeleton-skeletonavatar--default",
6660
+ "code": "() => <SkeletonAvatar />"
6690
6661
  },
6691
6662
  {
6692
- "id": "components-spinner-features--small",
6693
- "code": "() => <Spinner size=\"small\" />"
6663
+ "id": "components-skeleton-skeletonavatar-features--square",
6664
+ "code": "() => <SkeletonAvatar square />"
6694
6665
  },
6695
6666
  {
6696
- "id": "components-spinner-features--large",
6697
- "code": "() => <Spinner size=\"large\" />"
6667
+ "id": "components-skeleton-skeletonavatar-features--size",
6668
+ "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)"
6698
6669
  },
6699
6670
  {
6700
- "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)"
6671
+ "id": "components-skeleton-skeletonavatar-features--size-responsive",
6672
+ "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)"
6673
+ },
6674
+ {
6675
+ "id": "components-skeleton-skeletonavatar-features--in-a-stack",
6676
+ "code": "() => (\n <AvatarStack>\n <SkeletonAvatar />\n <SkeletonAvatar />\n <SkeletonAvatar />\n <SkeletonAvatar />\n </AvatarStack>\n)"
6702
6677
  }
6703
6678
  ],
6704
- "importPath": "@primer/react",
6679
+ "importPath": "@primer/react/experimental",
6705
6680
  "props": [
6706
6681
  {
6707
6682
  "name": "size",
6708
- "type": "'small' | 'medium' | 'large'",
6709
- "description": "Sets the width and height of the spinner."
6710
- },
6711
- {
6712
- "name": "srText",
6713
- "type": "string | null",
6714
- "defaultValue": "Loading",
6715
- "description": "Sets the text conveyed by assistive technologies such as screen readers. Set to `null` if the loading state is displayed in a text node somewhere else on the page."
6683
+ "type": "number | { narrow?: number; regular?: number; wide?: number; }",
6684
+ "defaultValue": "20",
6685
+ "description": "The size of the avatar in pixels."
6716
6686
  },
6717
6687
  {
6718
- "name": "aria-label",
6719
- "type": "string",
6720
- "description": "Sets the text conveyed by assistive technologies such as screen readers.",
6721
- "deprecated": true
6688
+ "name": "square",
6689
+ "type": "boolean",
6690
+ "defaultValue": "false",
6691
+ "description": "If true, the avatar will be square instead of circular."
6722
6692
  },
6723
6693
  {
6724
6694
  "name": "className",
6725
6695
  "type": "string",
6726
- "description": "",
6727
- "defaultValue": ""
6728
- },
6729
- {
6730
- "name": "data-*",
6696
+ "description": "Class name for custom styling."
6697
+ }
6698
+ ],
6699
+ "subcomponents": []
6700
+ },
6701
+ "skeleton_text": {
6702
+ "source": "https://github.com/primer/react/tree/main/packages/react/src/SkeletonText",
6703
+ "id": "skeleton_text",
6704
+ "name": "SkeletonText",
6705
+ "status": "alpha",
6706
+ "a11yReviewed": "2025-01-08",
6707
+ "stories": [
6708
+ {
6709
+ "id": "components-skeleton-skeletontext--default",
6710
+ "code": "() => <SkeletonText />"
6711
+ },
6712
+ {
6713
+ "id": "components-skeleton-skeletontext-features--with-max-width",
6714
+ "code": "() => <SkeletonText maxWidth={200} />"
6715
+ },
6716
+ {
6717
+ "id": "components-skeleton-skeletontext-features--with-multiple-lines",
6718
+ "code": "() => <SkeletonText lines={3} />"
6719
+ },
6720
+ {
6721
+ "id": "components-skeleton-skeletontext-features--display",
6722
+ "code": "() => <SkeletonText size=\"display\" />"
6723
+ },
6724
+ {
6725
+ "id": "components-skeleton-skeletontext-features--subtitle",
6726
+ "code": "() => <SkeletonText size=\"subtitle\" />"
6727
+ },
6728
+ {
6729
+ "id": "components-skeleton-skeletontext-features--title-large",
6730
+ "code": "() => <SkeletonText size=\"titleLarge\" />"
6731
+ },
6732
+ {
6733
+ "id": "components-skeleton-skeletontext-features--title-medium",
6734
+ "code": "() => <SkeletonText size=\"titleMedium\" />"
6735
+ },
6736
+ {
6737
+ "id": "components-skeleton-skeletontext-features--title-small",
6738
+ "code": "() => <SkeletonText size=\"titleSmall\" />"
6739
+ },
6740
+ {
6741
+ "id": "components-skeleton-skeletontext-features--body-large",
6742
+ "code": "() => <SkeletonText size=\"bodyLarge\" />"
6743
+ },
6744
+ {
6745
+ "id": "components-skeleton-skeletontext-features--body-medium",
6746
+ "code": "() => <SkeletonText size=\"bodyMedium\" />"
6747
+ },
6748
+ {
6749
+ "id": "components-skeleton-skeletontext-features--body-small",
6750
+ "code": "() => <SkeletonText size=\"bodySmall\" />"
6751
+ }
6752
+ ],
6753
+ "importPath": "@primer/react/experimental",
6754
+ "props": [
6755
+ {
6756
+ "name": "size",
6757
+ "defaultValue": "'bodyMedium'",
6758
+ "type": "'display' | 'titleLarge' | 'titleMedium' | 'titleSmall' | 'bodyLarge' | 'bodyMedium' | 'bodySmall' | 'subtitle'",
6759
+ "description": "Size of the text that the skeleton is replacing."
6760
+ },
6761
+ {
6762
+ "name": "lines",
6763
+ "defaultValue": "1",
6764
+ "type": "number",
6765
+ "description": "Number of lines of skeleton text to render."
6766
+ },
6767
+ {
6768
+ "name": "maxWidth",
6769
+ "type": "string",
6770
+ "description": "Maximum width that the line(s) of skeleton text can take up. Accepts any valid CSS `max-width` value."
6771
+ },
6772
+ {
6773
+ "name": "className",
6774
+ "type": "string",
6775
+ "description": "Class name for custom styling."
6776
+ }
6777
+ ],
6778
+ "subcomponents": []
6779
+ },
6780
+ "spinner": {
6781
+ "source": "https://github.com/primer/react/tree/main/packages/react/src/Spinner",
6782
+ "id": "spinner",
6783
+ "name": "Spinner",
6784
+ "status": "alpha",
6785
+ "a11yReviewed": "2025-01-08",
6786
+ "stories": [
6787
+ {
6788
+ "id": "components-spinner--default",
6789
+ "code": "() => <Spinner />"
6790
+ },
6791
+ {
6792
+ "id": "components-spinner-features--small",
6793
+ "code": "() => <Spinner size=\"small\" />"
6794
+ },
6795
+ {
6796
+ "id": "components-spinner-features--large",
6797
+ "code": "() => <Spinner size=\"large\" />"
6798
+ },
6799
+ {
6800
+ "id": "components-spinner-features--suppress-screen-reader-text",
6801
+ "code": "() => (\n <Stack direction=\"horizontal\" className={classes.SuppressScreenReaderText}>\n <Spinner size=\"small\" srText={null} />\n <AriaStatus>Loading...</AriaStatus>\n </Stack>\n)"
6802
+ }
6803
+ ],
6804
+ "importPath": "@primer/react",
6805
+ "props": [
6806
+ {
6807
+ "name": "size",
6808
+ "type": "'small' | 'medium' | 'large'",
6809
+ "description": "Sets the width and height of the spinner."
6810
+ },
6811
+ {
6812
+ "name": "srText",
6813
+ "type": "string | null",
6814
+ "defaultValue": "Loading",
6815
+ "description": "Sets the text conveyed by assistive technologies such as screen readers. Set to `null` if the loading state is displayed in a text node somewhere else on the page."
6816
+ },
6817
+ {
6818
+ "name": "aria-label",
6819
+ "type": "string",
6820
+ "description": "Sets the text conveyed by assistive technologies such as screen readers.",
6821
+ "deprecated": true
6822
+ },
6823
+ {
6824
+ "name": "className",
6825
+ "type": "string",
6826
+ "description": "",
6827
+ "defaultValue": ""
6828
+ },
6829
+ {
6830
+ "name": "data-*",
6731
6831
  "type": "string"
6732
6832
  },
6733
6833
  {
@@ -6743,7 +6843,7 @@
6743
6843
  "id": "split_page_layout",
6744
6844
  "name": "SplitPageLayout",
6745
6845
  "status": "alpha",
6746
- "a11yReviewed": true,
6846
+ "a11yReviewed": "2025-01-08",
6747
6847
  "stories": [
6748
6848
  {
6749
6849
  "id": "components-splitpagelayout--default",
@@ -6751,15 +6851,14 @@
6751
6851
  },
6752
6852
  {
6753
6853
  "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)"
6854
+ "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
6855
  }
6756
6856
  ],
6757
6857
  "importPath": "@primer/react",
6758
6858
  "props": [
6759
6859
  {
6760
- "name": "sx",
6761
- "type": "SystemStyleObject",
6762
- "deprecated": true
6860
+ "name": "className",
6861
+ "type": "string"
6763
6862
  }
6764
6863
  ],
6765
6864
  "subcomponents": [
@@ -6795,11 +6894,6 @@
6795
6894
  "type": "| boolean | { narrow?: boolean regular?: boolean wide?: boolean }",
6796
6895
  "defaultValue": "false",
6797
6896
  "description": "Whether the header is hidden."
6798
- },
6799
- {
6800
- "name": "sx",
6801
- "type": "SystemStyleObject",
6802
- "deprecated": true
6803
6897
  }
6804
6898
  ]
6805
6899
  },
@@ -6835,11 +6929,6 @@
6835
6929
  "type": "| boolean | { narrow?: boolean regular?: boolean wide?: boolean }",
6836
6930
  "defaultValue": "false",
6837
6931
  "description": "Whether the content is hidden."
6838
- },
6839
- {
6840
- "name": "sx",
6841
- "type": "SystemStyleObject",
6842
- "deprecated": true
6843
6932
  }
6844
6933
  ]
6845
6934
  },
@@ -6915,11 +7004,6 @@
6915
7004
  "type": "'end' | 'start' | {narrow?: 'end' | 'start', narrow?: 'end' | 'start', wide?: 'end' | 'start'}",
6916
7005
  "description": "Which side of the page the pane should be on. Can be changed for different viewport widths.",
6917
7006
  "defaultValue": "start"
6918
- },
6919
- {
6920
- "name": "sx",
6921
- "type": "SystemStyleObject",
6922
- "deprecated": true
6923
7007
  }
6924
7008
  ]
6925
7009
  },
@@ -6955,11 +7039,6 @@
6955
7039
  "type": "| boolean | { narrow?: boolean regular?: boolean wide?: boolean }",
6956
7040
  "defaultValue": "false",
6957
7041
  "description": "Whether the footer is hidden."
6958
- },
6959
- {
6960
- "name": "sx",
6961
- "type": "SystemStyleObject",
6962
- "deprecated": true
6963
7042
  }
6964
7043
  ]
6965
7044
  }
@@ -6970,11 +7049,15 @@
6970
7049
  "id": "stack",
6971
7050
  "name": "Stack",
6972
7051
  "status": "alpha",
6973
- "a11yReviewed": false,
7052
+ "a11yReviewed": "2025-01-08",
6974
7053
  "stories": [
6975
7054
  {
6976
7055
  "id": "components-stack--default",
6977
7056
  "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)"
7057
+ },
7058
+ {
7059
+ "id": "components-stack-features--shrinking-stack-items",
7060
+ "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
7061
  }
6979
7062
  ],
6980
7063
  "importPath": "@primer/react",
@@ -7023,6 +7106,11 @@
7023
7106
  "type": "boolean | ResponsiveValue<boolean>",
7024
7107
  "description": "Allow item to keep size or expand to fill the available space."
7025
7108
  },
7109
+ {
7110
+ "name": "shrink",
7111
+ "type": "boolean | ResponsiveValue<boolean>",
7112
+ "description": "Allow item to keep size or shrink to fit the available space."
7113
+ },
7026
7114
  {
7027
7115
  "name": "className",
7028
7116
  "type": "string"
@@ -7036,7 +7124,7 @@
7036
7124
  "id": "state_label",
7037
7125
  "name": "StateLabel",
7038
7126
  "status": "alpha",
7039
- "a11yReviewed": false,
7127
+ "a11yReviewed": "2025-01-08",
7040
7128
  "stories": [
7041
7129
  {
7042
7130
  "id": "components-statelabel-features--issue-opened",
@@ -7102,11 +7190,6 @@
7102
7190
  "name": "status",
7103
7191
  "type": "'issueOpened' | 'issueClosed' | 'issueClosedNotPlanned' | 'pullOpened' | 'pullClosed' | 'pullMerged' | 'draft' | 'issueDraft' | 'unavailable' | 'open' | 'closed'",
7104
7192
  "required": true
7105
- },
7106
- {
7107
- "name": "sx",
7108
- "type": "SystemStyleObject",
7109
- "deprecated": true
7110
7193
  }
7111
7194
  ],
7112
7195
  "subcomponents": []
@@ -7116,7 +7199,7 @@
7116
7199
  "id": "sub_nav",
7117
7200
  "name": "SubNav",
7118
7201
  "status": "alpha",
7119
- "a11yReviewed": false,
7202
+ "a11yReviewed": "2025-01-08",
7120
7203
  "stories": [
7121
7204
  {
7122
7205
  "id": "components-subnav-features--selected",
@@ -7264,7 +7347,7 @@
7264
7347
  "id": "text",
7265
7348
  "name": "Text",
7266
7349
  "status": "alpha",
7267
- "a11yReviewed": true,
7350
+ "a11yReviewed": "2025-01-08",
7268
7351
  "stories": [
7269
7352
  {
7270
7353
  "id": "components-text--default",
@@ -7272,11 +7355,11 @@
7272
7355
  },
7273
7356
  {
7274
7357
  "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)"
7358
+ "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
7359
  },
7277
7360
  {
7278
7361
  "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)"
7362
+ "code": "() => (\n <Text as=\"p\" className={classes.StyledText} size=\"small\">\n Stylized text\n </Text>\n)"
7280
7363
  },
7281
7364
  {
7282
7365
  "id": "components-text-features--size-small",
@@ -7339,71 +7422,71 @@
7339
7422
  "id": "text_input",
7340
7423
  "name": "TextInput",
7341
7424
  "status": "alpha",
7342
- "a11yReviewed": false,
7425
+ "a11yReviewed": "2025-01-08",
7343
7426
  "stories": [
7344
7427
  {
7345
7428
  "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)"
7429
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput />\n </FormControl>\n </form>\n)"
7347
7430
  },
7348
7431
  {
7349
7432
  "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)"
7433
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput disabled />\n </FormControl>\n </form>\n)"
7351
7434
  },
7352
7435
  {
7353
7436
  "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)"
7437
+ "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
7438
  },
7356
7439
  {
7357
7440
  "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)"
7441
+ "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
7442
  },
7360
7443
  {
7361
7444
  "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)"
7445
+ "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
7446
  },
7364
7447
  {
7365
7448
  "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)"
7449
+ "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
7450
  },
7368
7451
  {
7369
7452
  "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)"
7453
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput block />\n </FormControl>\n </form>\n)"
7371
7454
  },
7372
7455
  {
7373
7456
  "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)"
7457
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput size=\"small\" />\n </FormControl>\n </form>\n)"
7375
7458
  },
7376
7459
  {
7377
7460
  "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)"
7461
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput size=\"large\" />\n </FormControl>\n </form>\n)"
7379
7462
  },
7380
7463
  {
7381
7464
  "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)"
7465
+ "code": "() => (\n <form>\n <FormControl required>\n <FormControl.Label>Default label</FormControl.Label>\n <TextInput size=\"large\" />\n </FormControl>\n </form>\n)"
7383
7466
  },
7384
7467
  {
7385
7468
  "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}"
7469
+ "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
7470
  },
7388
7471
  {
7389
7472
  "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}"
7473
+ "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
7474
  },
7392
7475
  {
7393
7476
  "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}"
7477
+ "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
7478
  },
7396
7479
  {
7397
7480
  "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}"
7481
+ "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
7482
  },
7400
7483
  {
7401
7484
  "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}"
7485
+ "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
7486
  },
7404
7487
  {
7405
7488
  "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)"
7489
+ "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
7490
  }
7408
7491
  ],
7409
7492
  "importPath": "@primer/react",
@@ -7586,48 +7669,48 @@
7586
7669
  "source": "https://github.com/primer/react/tree/main/packages/react/src/TextInputWithTokens",
7587
7670
  "id": "text_input_with_tokens",
7588
7671
  "name": "TextInputWithTokens",
7589
- "status": "alpha",
7590
- "a11yReviewed": false,
7672
+ "status": "deprecated",
7673
+ "a11yReviewed": "2025-01-08",
7591
7674
  "stories": [
7592
7675
  {
7593
- "id": "components-textinputwithtokens--default",
7676
+ "id": "deprecated-components-textinputwithtokens--default",
7594
7677
  "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
7678
  },
7596
7679
  {
7597
- "id": "components-textinputwithtokens-features--with-leading-visual",
7680
+ "id": "deprecated-components-textinputwithtokens-features--with-leading-visual",
7598
7681
  "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
7682
  },
7600
7683
  {
7601
- "id": "components-textinputwithtokens-features--with-trailing-visual",
7684
+ "id": "deprecated-components-textinputwithtokens-features--with-trailing-visual",
7602
7685
  "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
7686
  },
7604
7687
  {
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}"
7688
+ "id": "deprecated-components-textinputwithtokens-features--with-loading-indicator",
7689
+ "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
7690
  },
7608
7691
  {
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}"
7692
+ "id": "deprecated-components-textinputwithtokens-features--using-issue-label-tokens",
7693
+ "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
7694
  },
7612
7695
  {
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}"
7696
+ "id": "deprecated-components-textinputwithtokens-features--unstyled",
7697
+ "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
7698
  },
7616
7699
  {
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}"
7700
+ "id": "deprecated-components-textinputwithtokens-features--prevent-tokens-from-wrapping",
7701
+ "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
7702
  },
7620
7703
  {
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}"
7704
+ "id": "deprecated-components-textinputwithtokens-features--max-height",
7705
+ "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
7706
  },
7624
7707
  {
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}"
7708
+ "id": "deprecated-components-textinputwithtokens-features--size",
7709
+ "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
7710
  },
7628
7711
  {
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}"
7712
+ "id": "deprecated-components-textinputwithtokens-features--truncated",
7713
+ "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
7714
  }
7632
7715
  ],
7633
7716
  "importPath": "@primer/react",
@@ -7700,43 +7783,43 @@
7700
7783
  "id": "textarea",
7701
7784
  "name": "Textarea",
7702
7785
  "status": "alpha",
7703
- "a11yReviewed": false,
7786
+ "a11yReviewed": "2025-01-08",
7704
7787
  "stories": [
7705
7788
  {
7706
7789
  "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)"
7790
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Textarea />\n </FormControl>\n </form>\n)"
7708
7791
  },
7709
7792
  {
7710
7793
  "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)"
7794
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Textarea disabled />\n </FormControl>\n </form>\n)"
7712
7795
  },
7713
7796
  {
7714
7797
  "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)"
7798
+ "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
7799
  },
7717
7800
  {
7718
7801
  "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)"
7802
+ "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
7803
  },
7721
7804
  {
7722
7805
  "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)"
7806
+ "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
7807
  },
7725
7808
  {
7726
7809
  "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)"
7810
+ "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
7811
  },
7729
7812
  {
7730
7813
  "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)"
7814
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Textarea block />\n </FormControl>\n </form>\n)"
7732
7815
  },
7733
7816
  {
7734
7817
  "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)"
7818
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Textarea rows={3} />\n </FormControl>\n </form>\n)"
7736
7819
  },
7737
7820
  {
7738
7821
  "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)"
7822
+ "code": "() => (\n <form>\n <FormControl>\n <FormControl.Label>Default label</FormControl.Label>\n <Textarea cols={60} />\n </FormControl>\n </form>\n)"
7740
7823
  },
7741
7824
  {
7742
7825
  "id": "components-textarea-features--custom-resize-behavior",
@@ -7805,6 +7888,16 @@
7805
7888
  "name": "className",
7806
7889
  "type": "string | undefined",
7807
7890
  "description": "The className to apply to the wrapper element"
7891
+ },
7892
+ {
7893
+ "name": "minHeight",
7894
+ "type": "number",
7895
+ "description": "The minimum height of the textarea"
7896
+ },
7897
+ {
7898
+ "name": "maxHeight",
7899
+ "type": "number",
7900
+ "description": "The maximum height of the textarea"
7808
7901
  }
7809
7902
  ],
7810
7903
  "subcomponents": []
@@ -7814,7 +7907,7 @@
7814
7907
  "id": "timeline",
7815
7908
  "name": "Timeline",
7816
7909
  "status": "alpha",
7817
- "a11yReviewed": false,
7910
+ "a11yReviewed": "2025-01-08",
7818
7911
  "stories": [
7819
7912
  {
7820
7913
  "id": "components-timeline--default",
@@ -7903,7 +7996,7 @@
7903
7996
  "id": "toggle_switch",
7904
7997
  "name": "ToggleSwitch",
7905
7998
  "status": "alpha",
7906
- "a11yReviewed": false,
7999
+ "a11yReviewed": "2025-01-08",
7907
8000
  "stories": [
7908
8001
  {
7909
8002
  "id": "components-toggleswitch--default",
@@ -7911,35 +8004,35 @@
7911
8004
  },
7912
8005
  {
7913
8006
  "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)"
8007
+ "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
8008
  },
7916
8009
  {
7917
8010
  "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)"
8011
+ "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
8012
  },
7920
8013
  {
7921
8014
  "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)"
8015
+ "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
8016
  },
7924
8017
  {
7925
8018
  "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)"
8019
+ "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
8020
  },
7928
8021
  {
7929
8022
  "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)"
8023
+ "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
8024
  },
7932
8025
  {
7933
8026
  "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)"
8027
+ "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
8028
  },
7936
8029
  {
7937
8030
  "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)"
8031
+ "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
8032
  },
7940
8033
  {
7941
8034
  "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}"
8035
+ "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}"
7943
8036
  }
7944
8037
  ],
7945
8038
  "importPath": "@primer/react",
@@ -8005,6 +8098,18 @@
8005
8098
  "defaultValue": "'start'",
8006
8099
  "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
8100
  },
8101
+ {
8102
+ "name": "loadingLabelDelay",
8103
+ "type": "number",
8104
+ "defaultValue": "2000",
8105
+ "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."
8106
+ },
8107
+ {
8108
+ "name": "loadingLabel",
8109
+ "type": "string",
8110
+ "defaultValue": "'Loading'",
8111
+ "description": "The text that is announced to AT such as screen readers when the switch is in a loading state."
8112
+ },
8008
8113
  {
8009
8114
  "name": "buttonType",
8010
8115
  "type": "'button' | 'submit' | 'reset'",
@@ -8019,7 +8124,7 @@
8019
8124
  "id": "token",
8020
8125
  "name": "Token",
8021
8126
  "status": "alpha",
8022
- "a11yReviewed": false,
8127
+ "a11yReviewed": "2025-01-08",
8023
8128
  "stories": [
8024
8129
  {
8025
8130
  "id": "components-token--default",
@@ -8027,7 +8132,7 @@
8027
8132
  },
8028
8133
  {
8029
8134
  "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}"
8135
+ "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
8136
  },
8032
8137
  {
8033
8138
  "id": "components-token-features--token-with-leading-visual",
@@ -8035,7 +8140,7 @@
8035
8140
  },
8036
8141
  {
8037
8142
  "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}"
8143
+ "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
8144
  },
8040
8145
  {
8041
8146
  "id": "components-token-features--default-issue-label-token",
@@ -8043,11 +8148,11 @@
8043
8148
  },
8044
8149
  {
8045
8150
  "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}"
8151
+ "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
8152
  },
8048
8153
  {
8049
8154
  "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}"
8155
+ "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
8156
  },
8052
8157
  {
8053
8158
  "id": "components-token-features--small-token",
@@ -8063,7 +8168,7 @@
8063
8168
  },
8064
8169
  {
8065
8170
  "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}"
8171
+ "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
8172
  }
8068
8173
  ],
8069
8174
  "importPath": "@primer/react",
@@ -8166,56 +8271,6 @@
8166
8271
  "deprecated": true
8167
8272
  }
8168
8273
  ]
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
8274
  }
8220
8275
  ]
8221
8276
  },
@@ -8229,15 +8284,15 @@
8229
8284
  "stories": [
8230
8285
  {
8231
8286
  "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)"
8287
+ "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
8288
  },
8234
8289
  {
8235
8290
  "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)"
8291
+ "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
8292
  },
8238
8293
  {
8239
8294
  "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)"
8295
+ "code": "() => (\n <div className={classes.PaddedContainer}>\n <Tooltip aria-label=\"Search\">\n <IconButton icon={SearchIcon} aria-label=\"Search\" />\n </Tooltip>\n </div>\n)"
8241
8296
  }
8242
8297
  ],
8243
8298
  "importPath": "@primer/react/deprecated",
@@ -8281,44 +8336,44 @@
8281
8336
  "name": "Tooltip",
8282
8337
  "docsId": "tooltip",
8283
8338
  "status": "beta",
8284
- "a11yReviewed": true,
8339
+ "a11yReviewed": "2025-01-08",
8285
8340
  "importPath": "@primer/react/next",
8286
8341
  "stories": [
8287
8342
  {
8288
8343
  "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)"
8344
+ "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
8345
  },
8291
8346
  {
8292
8347
  "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)"
8348
+ "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
8349
  },
8295
8350
  {
8296
8351
  "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)"
8352
+ "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
8353
  },
8299
8354
  {
8300
8355
  "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)"
8356
+ "code": "() => (\n <div className={classes.PaddedContainer}>\n <Tooltip text=\"Supplementary text\" direction=\"n\">\n <Button>Save</Button>\n </Tooltip>\n </div>\n)"
8302
8357
  },
8303
8358
  {
8304
8359
  "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)"
8360
+ "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
8361
  },
8307
8362
  {
8308
8363
  "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)"
8364
+ "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
8365
  },
8311
8366
  {
8312
8367
  "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)"
8368
+ "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
8369
  },
8315
8370
  {
8316
8371
  "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)"
8372
+ "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
8373
  },
8319
8374
  {
8320
8375
  "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)"
8376
+ "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
8377
  }
8323
8378
  ],
8324
8379
  "props": [
@@ -8358,7 +8413,7 @@
8358
8413
  "id": "tree_view",
8359
8414
  "name": "TreeView",
8360
8415
  "status": "beta",
8361
- "a11yReviewed": true,
8416
+ "a11yReviewed": "2025-01-08",
8362
8417
  "stories": [
8363
8418
  {
8364
8419
  "id": "components-treeview--default",
@@ -8386,7 +8441,7 @@
8386
8441
  },
8387
8442
  {
8388
8443
  "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}"
8444
+ "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
8445
  }
8391
8446
  ],
8392
8447
  "importPath": "@primer/react",
@@ -8593,7 +8648,7 @@
8593
8648
  "id": "truncate",
8594
8649
  "name": "Truncate",
8595
8650
  "status": "alpha",
8596
- "a11yReviewed": false,
8651
+ "a11yReviewed": "2025-01-08",
8597
8652
  "stories": [
8598
8653
  {
8599
8654
  "id": "components-truncate--default",
@@ -8650,7 +8705,7 @@
8650
8705
  "id": "underline_nav",
8651
8706
  "name": "UnderlineNav",
8652
8707
  "status": "beta",
8653
- "a11yReviewed": true,
8708
+ "a11yReviewed": "2025-01-08",
8654
8709
  "stories": [
8655
8710
  {
8656
8711
  "id": "components-underlinenav-features--default",
@@ -8798,7 +8853,7 @@
8798
8853
  "id": "legacy_underline_nav",
8799
8854
  "name": "UnderlineNav",
8800
8855
  "status": "deprecated",
8801
- "a11yReviewed": false,
8856
+ "a11yReviewed": "2025-01-08",
8802
8857
  "stories": [
8803
8858
  {
8804
8859
  "id": "deprecated-components-underlinenav--default",
@@ -8830,11 +8885,6 @@
8830
8885
  "name": "aria-label",
8831
8886
  "type": "string",
8832
8887
  "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
8888
  }
8839
8889
  ],
8840
8890
  "subcomponents": [
@@ -8867,146 +8917,44 @@
8867
8917
  "source": "https://github.com/primer/react/tree/main/packages/react/src/experimental/IssueLabel",
8868
8918
  "id": "issue_label",
8869
8919
  "name": "IssueLabel",
8870
- "status": "draft",
8871
- "a11yReviewed": false,
8920
+ "status": "alpha",
8921
+ "a11yReviewed": "2025-01-08",
8872
8922
  "stories": [
8873
8923
  {
8874
8924
  "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\" />"
8925
+ "code": "() => <IssueLabel>Issue label</IssueLabel>"
8884
8926
  },
8885
8927
  {
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\" />"
8928
- },
8929
- {
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\" />"
8928
+ "id": "experimental-components-issuelabel-features--group-of-labels",
8929
+ "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
8930
  },
8953
8931
  {
8954
8932
  "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)"
8933
+ "code": "(args: { fillColor: `#${string}` }) => {\n return <IssueLabel fillColor={args.fillColor}>Issue label</IssueLabel>\n}"
8972
8934
  }
8973
8935
  ],
8974
8936
  "importPath": "@primer/react/experimental",
8975
8937
  "props": [
8976
8938
  {
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"
8939
+ "name": "as",
8940
+ "type": "React.ElementType",
8941
+ "description": "The HTML element or React component to render as the root element"
8986
8942
  },
8987
8943
  {
8988
8944
  "name": "className",
8989
8945
  "type": "string",
8990
- "description": "Class name for custom styling."
8946
+ "description": "Class name for custom styling"
8991
8947
  },
8992
8948
  {
8993
- "name": "href",
8994
- "type": "string"
8995
- },
8996
- {
8997
- "name": "as",
8998
- "type": "React.ElementType",
8999
- "defaultValue": "'span'"
9000
- },
9001
- {
9002
- "name": "text",
8949
+ "name": "fillColor",
9003
8950
  "type": "string",
9004
- "description": "Label text."
8951
+ "description": "The hex code for a custom background color"
9005
8952
  },
9006
8953
  {
9007
- "name": "id",
9008
- "type": "string",
9009
- "description": "A unique identifier that can be associated with the label."
8954
+ "name": "variant",
8955
+ "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'",
8956
+ "defaultValue": "'gray'",
8957
+ "description": "Color variant for the background and text color"
9010
8958
  }
9011
8959
  ],
9012
8960
  "subcomponents": []
@@ -9021,7 +8969,7 @@
9021
8969
  "stories": [
9022
8970
  {
9023
8971
  "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}"
8972
+ "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
8973
  },
9026
8974
  {
9027
8975
  "id": "deprecated-components-selectpanel-examples--minimal",
@@ -9029,7 +8977,7 @@
9029
8977
  },
9030
8978
  {
9031
8979
  "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}"
8980
+ "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
8981
  },
9034
8982
  {
9035
8983
  "id": "deprecated-components-selectpanel-features--instant-selection-variant",
@@ -9037,7 +8985,7 @@
9037
8985
  },
9038
8986
  {
9039
8987
  "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}"
8988
+ "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
8989
  },
9042
8990
  {
9043
8991
  "id": "deprecated-components-selectpanel-examples--open-from-menu",
@@ -9057,7 +9005,7 @@
9057
9005
  },
9058
9006
  {
9059
9007
  "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}"
9008
+ "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
9009
  }
9062
9010
  ],
9063
9011
  "importPath": "@primer/react/experimental",
@@ -9242,145 +9190,12 @@
9242
9190
  }
9243
9191
  ]
9244
9192
  },
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
9193
  "underline_panels": {
9379
9194
  "source": "https://github.com/primer/react/tree/main/packages/react/src/experimental/UnderlinePanels",
9380
9195
  "id": "underline_panels",
9381
9196
  "name": "UnderlinePanels",
9382
9197
  "status": "draft",
9383
- "a11yReviewed": false,
9198
+ "a11yReviewed": "2025-01-08",
9384
9199
  "stories": [
9385
9200
  {
9386
9201
  "id": "experimental-components-underlinepanels--default",