@primer/components 31.2.1-rc.7fa29a87 → 32.0.0-rc.7200a6a6

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 (544) hide show
  1. package/.github/workflows/release_canary.yml +1 -0
  2. package/CHANGELOG.md +66 -4
  3. package/dist/browser.esm.js +289 -351
  4. package/dist/browser.esm.js.map +1 -1
  5. package/dist/browser.umd.js +294 -356
  6. package/dist/browser.umd.js.map +1 -1
  7. package/docs/content/ActionList2.mdx +8 -7
  8. package/docs/content/Breadcrumbs.md +11 -16
  9. package/docs/content/Buttons.md +7 -17
  10. package/docs/content/CircleBadge.md +0 -10
  11. package/docs/content/CounterLabel.md +0 -10
  12. package/docs/content/Dialog.md +15 -18
  13. package/docs/content/Dialog2.mdx +1 -0
  14. package/docs/content/Dropdown.md +11 -18
  15. package/docs/content/FilterList.md +10 -17
  16. package/docs/content/FilteredSearch.md +4 -11
  17. package/docs/content/Flash.md +5 -14
  18. package/docs/content/FormGroup.md +9 -17
  19. package/docs/content/Header.md +14 -16
  20. package/docs/content/Label.md +32 -25
  21. package/docs/content/LabelGroup.md +4 -14
  22. package/docs/content/Link.md +8 -17
  23. package/docs/content/Overlay.mdx +1 -10
  24. package/docs/content/Pagehead.md +4 -13
  25. package/docs/content/Pagination.md +10 -19
  26. package/docs/content/Popover.md +11 -19
  27. package/docs/content/SelectMenu.md +50 -114
  28. package/docs/content/SideNav.md +15 -23
  29. package/docs/content/StateLabel.md +5 -14
  30. package/docs/content/StyledOcticon.md +7 -16
  31. package/docs/content/SubNav.md +19 -21
  32. package/docs/content/TabNav.md +10 -18
  33. package/docs/content/Timeline.md +34 -24
  34. package/docs/content/Tooltip.md +8 -17
  35. package/docs/content/Truncate.md +7 -16
  36. package/docs/content/UnderlineNav.md +13 -21
  37. package/lib/ActionList2/Group.d.ts +28 -2
  38. package/lib/ActionList2/Group.js +55 -6
  39. package/lib/ActionList2/Group.jsx +33 -4
  40. package/lib/ActionList2/List.d.ts +1 -1
  41. package/lib/Autocomplete/Autocomplete.d.ts +3 -3
  42. package/lib/Autocomplete/AutocompleteInput.d.ts +3 -3
  43. package/lib/Breadcrumbs.d.ts +8 -7
  44. package/lib/Breadcrumbs.js +7 -12
  45. package/lib/Breadcrumbs.jsx +3 -6
  46. package/lib/Button/Button.d.ts +2 -3
  47. package/lib/Button/Button.js +2 -6
  48. package/lib/Button/Button.jsx +1 -21
  49. package/lib/Button/ButtonBase.d.ts +5 -8
  50. package/lib/Button/ButtonBase.js +1 -5
  51. package/lib/Button/ButtonBase.jsx +0 -3
  52. package/lib/Button/ButtonClose.d.ts +3 -46
  53. package/lib/Button/ButtonClose.js +1 -1
  54. package/lib/Button/ButtonClose.jsx +0 -2
  55. package/lib/Button/ButtonDanger.d.ts +2 -3
  56. package/lib/Button/ButtonDanger.js +2 -6
  57. package/lib/Button/ButtonDanger.jsx +1 -21
  58. package/lib/Button/ButtonInvisible.d.ts +2 -3
  59. package/lib/Button/ButtonInvisible.js +2 -6
  60. package/lib/Button/ButtonInvisible.jsx +1 -21
  61. package/lib/Button/ButtonOutline.d.ts +2 -3
  62. package/lib/Button/ButtonOutline.js +2 -6
  63. package/lib/Button/ButtonOutline.jsx +1 -21
  64. package/lib/Button/ButtonPrimary.d.ts +2 -3
  65. package/lib/Button/ButtonPrimary.js +2 -6
  66. package/lib/Button/ButtonPrimary.jsx +1 -21
  67. package/lib/Button/ButtonTableList.d.ts +1 -2
  68. package/lib/Button/ButtonTableList.js +1 -1
  69. package/lib/Button/ButtonTableList.jsx +0 -3
  70. package/lib/CircleBadge.d.ts +4 -5
  71. package/lib/CircleBadge.js +1 -1
  72. package/lib/CircleBadge.jsx +0 -1
  73. package/lib/CircleOcticon.d.ts +1 -1
  74. package/lib/CounterLabel.d.ts +1 -2
  75. package/lib/CounterLabel.js +1 -1
  76. package/lib/CounterLabel.jsx +0 -1
  77. package/lib/Dialog/Dialog.d.ts +5 -9
  78. package/lib/Dialog/Dialog.js +17 -11
  79. package/lib/Dialog/Dialog.jsx +13 -7
  80. package/lib/Dialog.d.ts +4 -5
  81. package/lib/Dialog.js +1 -1
  82. package/lib/Dialog.jsx +0 -2
  83. package/lib/Dropdown.d.ts +10 -99
  84. package/lib/Dropdown.js +3 -3
  85. package/lib/Dropdown.jsx +0 -3
  86. package/lib/DropdownMenu/DropdownButton.d.ts +3 -47
  87. package/lib/DropdownMenu/DropdownButton.js +3 -1
  88. package/lib/DropdownMenu/DropdownButton.jsx +1 -1
  89. package/lib/FilterList.d.ts +264 -303
  90. package/lib/FilterList.js +2 -6
  91. package/lib/FilterList.jsx +2 -6
  92. package/lib/FilteredSearch.d.ts +1 -2
  93. package/lib/FilteredSearch.js +1 -1
  94. package/lib/FilteredSearch.jsx +0 -1
  95. package/lib/Flash.d.ts +1 -2
  96. package/lib/Flash.js +1 -1
  97. package/lib/Flash.jsx +0 -1
  98. package/lib/FormGroup.d.ts +4 -5
  99. package/lib/FormGroup.js +2 -2
  100. package/lib/FormGroup.jsx +0 -3
  101. package/lib/Header.d.ts +6 -7
  102. package/lib/Header.js +4 -4
  103. package/lib/Header.jsx +0 -7
  104. package/lib/Label.d.ts +1 -2
  105. package/lib/Label.js +2 -3
  106. package/lib/Label.jsx +1 -3
  107. package/lib/LabelGroup.d.ts +1 -2
  108. package/lib/LabelGroup.js +1 -1
  109. package/lib/LabelGroup.jsx +0 -1
  110. package/lib/Link.d.ts +1 -2
  111. package/lib/Link.js +1 -1
  112. package/lib/Link.jsx +0 -2
  113. package/lib/Overlay.d.ts +11 -10
  114. package/lib/Overlay.js +3 -4
  115. package/lib/Overlay.jsx +1 -3
  116. package/lib/Pagehead.d.ts +1 -2
  117. package/lib/Pagehead.js +1 -1
  118. package/lib/Pagehead.jsx +0 -1
  119. package/lib/Pagination/Pagination.js +1 -1
  120. package/lib/Pagination/Pagination.jsx +0 -2
  121. package/lib/Popover.d.ts +4 -5
  122. package/lib/Popover.js +4 -5
  123. package/lib/Popover.jsx +1 -9
  124. package/lib/Position.d.ts +4 -4
  125. package/lib/SelectMenu/SelectMenu.d.ts +21 -189
  126. package/lib/SelectMenu/SelectMenu.js +1 -3
  127. package/lib/SelectMenu/SelectMenu.jsx +0 -2
  128. package/lib/SelectMenu/SelectMenuDivider.d.ts +1 -2
  129. package/lib/SelectMenu/SelectMenuDivider.js +1 -1
  130. package/lib/SelectMenu/SelectMenuDivider.jsx +0 -1
  131. package/lib/SelectMenu/SelectMenuFilter.js +1 -1
  132. package/lib/SelectMenu/SelectMenuFilter.jsx +0 -1
  133. package/lib/SelectMenu/SelectMenuFooter.d.ts +1 -2
  134. package/lib/SelectMenu/SelectMenuFooter.js +1 -1
  135. package/lib/SelectMenu/SelectMenuFooter.jsx +0 -1
  136. package/lib/SelectMenu/SelectMenuHeader.d.ts +1 -2
  137. package/lib/SelectMenu/SelectMenuHeader.js +1 -1
  138. package/lib/SelectMenu/SelectMenuHeader.jsx +0 -2
  139. package/lib/SelectMenu/SelectMenuItem.d.ts +2 -3
  140. package/lib/SelectMenu/SelectMenuItem.js +1 -1
  141. package/lib/SelectMenu/SelectMenuItem.jsx +0 -1
  142. package/lib/SelectMenu/SelectMenuList.d.ts +1 -2
  143. package/lib/SelectMenu/SelectMenuList.js +1 -1
  144. package/lib/SelectMenu/SelectMenuList.jsx +0 -1
  145. package/lib/SelectMenu/SelectMenuLoadingAnimation.d.ts +2 -2
  146. package/lib/SelectMenu/SelectMenuLoadingAnimation.js +3 -1
  147. package/lib/SelectMenu/SelectMenuLoadingAnimation.jsx +2 -1
  148. package/lib/SelectMenu/SelectMenuModal.d.ts +2 -3
  149. package/lib/SelectMenu/SelectMenuModal.js +1 -1
  150. package/lib/SelectMenu/SelectMenuModal.jsx +0 -1
  151. package/lib/SelectMenu/SelectMenuTab.d.ts +1 -2
  152. package/lib/SelectMenu/SelectMenuTab.js +1 -1
  153. package/lib/SelectMenu/SelectMenuTab.jsx +0 -1
  154. package/lib/SelectMenu/SelectMenuTabPanel.d.ts +1 -2
  155. package/lib/SelectMenu/SelectMenuTabPanel.js +1 -1
  156. package/lib/SelectMenu/SelectMenuTabPanel.jsx +0 -1
  157. package/lib/SelectMenu/SelectMenuTabs.d.ts +1 -2
  158. package/lib/SelectMenu/SelectMenuTabs.js +1 -1
  159. package/lib/SelectMenu/SelectMenuTabs.jsx +0 -1
  160. package/lib/SideNav.d.ts +11 -8
  161. package/lib/SideNav.js +8 -15
  162. package/lib/SideNav.jsx +2 -6
  163. package/lib/StateLabel.d.ts +1 -2
  164. package/lib/StateLabel.js +6 -5
  165. package/lib/StateLabel.jsx +1 -2
  166. package/lib/StyledOcticon.d.ts +1 -2
  167. package/lib/StyledOcticon.js +1 -3
  168. package/lib/StyledOcticon.jsx +0 -2
  169. package/lib/SubNav.d.ts +5 -11
  170. package/lib/SubNav.js +7 -12
  171. package/lib/SubNav.jsx +4 -7
  172. package/lib/TabNav.d.ts +3 -4
  173. package/lib/TabNav.js +2 -2
  174. package/lib/TabNav.jsx +0 -2
  175. package/lib/TextInputWithTokens.d.ts +3 -3
  176. package/lib/Timeline.d.ts +19 -393
  177. package/lib/Timeline.js +16 -13
  178. package/lib/Timeline.jsx +9 -10
  179. package/lib/Token/Token.d.ts +1 -1
  180. package/lib/Tooltip.d.ts +1 -2
  181. package/lib/Tooltip.js +1 -1
  182. package/lib/Tooltip.jsx +1 -1
  183. package/lib/Truncate.d.ts +1 -2
  184. package/lib/Truncate.js +1 -3
  185. package/lib/Truncate.jsx +0 -3
  186. package/lib/UnderlineNav.d.ts +2 -3
  187. package/lib/UnderlineNav.js +2 -2
  188. package/lib/UnderlineNav.jsx +0 -2
  189. package/lib/__tests__/Breadcrumbs.test.js +4 -1
  190. package/lib/__tests__/Breadcrumbs.test.jsx +1 -1
  191. package/lib/__tests__/Breadcrumbs.types.test.d.ts +3 -0
  192. package/lib/__tests__/Breadcrumbs.types.test.js +25 -0
  193. package/lib/__tests__/Breadcrumbs.types.test.jsx +24 -0
  194. package/lib/__tests__/Button.test.js +6 -2
  195. package/lib/__tests__/Button.test.jsx +2 -2
  196. package/lib/__tests__/CircleBadge.types.test.d.ts +3 -0
  197. package/lib/__tests__/CircleBadge.types.test.js +28 -0
  198. package/lib/__tests__/CircleBadge.types.test.jsx +17 -0
  199. package/lib/__tests__/CounterLabel.types.test.d.ts +3 -0
  200. package/lib/__tests__/CounterLabel.types.test.js +28 -0
  201. package/lib/__tests__/CounterLabel.types.test.jsx +17 -0
  202. package/lib/__tests__/Dialog.types.test.d.ts +3 -0
  203. package/lib/__tests__/Dialog.types.test.js +28 -0
  204. package/lib/__tests__/Dialog.types.test.jsx +17 -0
  205. package/lib/__tests__/Dialog2.types.test.d.ts +3 -0
  206. package/lib/__tests__/Dialog2.types.test.js +31 -0
  207. package/lib/__tests__/Dialog2.types.test.jsx +17 -0
  208. package/lib/__tests__/Dropdown.types.test.d.ts +3 -0
  209. package/lib/__tests__/Dropdown.types.test.js +31 -0
  210. package/lib/__tests__/Dropdown.types.test.jsx +25 -0
  211. package/lib/__tests__/FilterList.types.test.d.ts +3 -0
  212. package/lib/__tests__/FilterList.types.test.js +27 -0
  213. package/lib/__tests__/FilterList.types.test.jsx +21 -0
  214. package/lib/__tests__/FilteredSearch.types.test.d.ts +3 -0
  215. package/lib/__tests__/FilteredSearch.types.test.js +28 -0
  216. package/lib/__tests__/FilteredSearch.types.test.jsx +17 -0
  217. package/lib/__tests__/Flash.types.test.d.ts +3 -0
  218. package/lib/__tests__/Flash.types.test.js +28 -0
  219. package/lib/__tests__/Flash.types.test.jsx +17 -0
  220. package/lib/__tests__/FormGroup.types.test.d.ts +3 -0
  221. package/lib/__tests__/FormGroup.types.test.js +28 -0
  222. package/lib/__tests__/FormGroup.types.test.jsx +17 -0
  223. package/lib/__tests__/Header.types.test.d.ts +3 -0
  224. package/lib/__tests__/Header.types.test.js +29 -0
  225. package/lib/__tests__/Header.types.test.jsx +23 -0
  226. package/lib/__tests__/Label.types.test.d.ts +3 -0
  227. package/lib/__tests__/Label.types.test.js +28 -0
  228. package/lib/__tests__/Label.types.test.jsx +17 -0
  229. package/lib/__tests__/LabelGroup.types.test.d.ts +3 -0
  230. package/lib/__tests__/LabelGroup.types.test.js +28 -0
  231. package/lib/__tests__/LabelGroup.types.test.jsx +17 -0
  232. package/lib/__tests__/Link.test.js +11 -5
  233. package/lib/__tests__/Link.test.jsx +5 -5
  234. package/lib/__tests__/Link.types.test.d.ts +3 -0
  235. package/lib/__tests__/Link.types.test.js +28 -0
  236. package/lib/__tests__/Link.types.test.jsx +17 -0
  237. package/lib/__tests__/Overlay.types.test.d.ts +3 -0
  238. package/lib/__tests__/Overlay.types.test.js +35 -0
  239. package/lib/__tests__/Overlay.types.test.jsx +18 -0
  240. package/lib/__tests__/Pagehead.types.test.d.ts +3 -0
  241. package/lib/__tests__/Pagehead.types.test.js +28 -0
  242. package/lib/__tests__/Pagehead.types.test.jsx +17 -0
  243. package/lib/__tests__/Pagination.types.test.d.ts +3 -0
  244. package/lib/__tests__/Pagination.types.test.js +33 -0
  245. package/lib/__tests__/Pagination.types.test.jsx +17 -0
  246. package/lib/__tests__/Popover.types.test.d.ts +3 -0
  247. package/lib/__tests__/Popover.types.test.js +27 -0
  248. package/lib/__tests__/Popover.types.test.jsx +21 -0
  249. package/lib/__tests__/SelectMenu.types.test.d.ts +3 -0
  250. package/lib/__tests__/SelectMenu.types.test.js +47 -0
  251. package/lib/__tests__/SelectMenu.types.test.jsx +41 -0
  252. package/lib/__tests__/SideNav.types.test.d.ts +3 -0
  253. package/lib/__tests__/SideNav.types.test.js +28 -0
  254. package/lib/__tests__/SideNav.types.test.jsx +17 -0
  255. package/lib/__tests__/StateLabel.types.test.d.ts +3 -0
  256. package/lib/__tests__/StateLabel.types.test.js +28 -0
  257. package/lib/__tests__/StateLabel.types.test.jsx +17 -0
  258. package/lib/__tests__/StyledOcticon.types.test.d.ts +3 -0
  259. package/lib/__tests__/StyledOcticon.types.test.js +32 -0
  260. package/lib/__tests__/StyledOcticon.types.test.jsx +18 -0
  261. package/lib/__tests__/SubNav.types.test.d.ts +3 -0
  262. package/lib/__tests__/SubNav.types.test.js +27 -0
  263. package/lib/__tests__/SubNav.types.test.jsx +27 -0
  264. package/lib/__tests__/TabNav.types.test.d.ts +3 -0
  265. package/lib/__tests__/TabNav.types.test.js +25 -0
  266. package/lib/__tests__/TabNav.types.test.jsx +24 -0
  267. package/lib/__tests__/Timeline.types.test.d.ts +3 -0
  268. package/lib/__tests__/Timeline.types.test.js +31 -0
  269. package/lib/__tests__/Timeline.types.test.jsx +33 -0
  270. package/lib/__tests__/Tooltip.types.test.d.ts +3 -0
  271. package/lib/__tests__/Tooltip.types.test.js +28 -0
  272. package/lib/__tests__/Tooltip.types.test.jsx +17 -0
  273. package/lib/__tests__/Truncate.types.test.d.ts +3 -0
  274. package/lib/__tests__/Truncate.types.test.js +31 -0
  275. package/lib/__tests__/Truncate.types.test.jsx +17 -0
  276. package/lib/__tests__/UnderlineNav.types.test.d.ts +3 -0
  277. package/lib/__tests__/UnderlineNav.types.test.js +25 -0
  278. package/lib/__tests__/UnderlineNav.types.test.jsx +24 -0
  279. package/lib/stories/ActionList2.stories.js +4 -3
  280. package/lib/stories/ActionMenu.stories.js +1 -3
  281. package/lib/stories/ConfirmationDialog.stories.js +16 -8
  282. package/lib/stories/Dialog.stories.js +6 -2
  283. package/lib/stories/useFocusTrap.stories.js +6 -2
  284. package/lib/stories/useFocusZone.stories.js +13 -5
  285. package/lib-esm/ActionList2/Group.d.ts +28 -2
  286. package/lib-esm/ActionList2/Group.js +52 -5
  287. package/lib-esm/ActionList2/List.d.ts +1 -1
  288. package/lib-esm/Autocomplete/Autocomplete.d.ts +3 -3
  289. package/lib-esm/Autocomplete/AutocompleteInput.d.ts +3 -3
  290. package/lib-esm/Breadcrumbs.d.ts +8 -7
  291. package/lib-esm/Breadcrumbs.js +8 -13
  292. package/lib-esm/Button/Button.d.ts +2 -3
  293. package/lib-esm/Button/Button.js +2 -2
  294. package/lib-esm/Button/ButtonBase.d.ts +5 -8
  295. package/lib-esm/Button/ButtonBase.js +1 -3
  296. package/lib-esm/Button/ButtonClose.d.ts +3 -46
  297. package/lib-esm/Button/ButtonClose.js +2 -2
  298. package/lib-esm/Button/ButtonDanger.d.ts +2 -3
  299. package/lib-esm/Button/ButtonDanger.js +2 -2
  300. package/lib-esm/Button/ButtonInvisible.d.ts +2 -3
  301. package/lib-esm/Button/ButtonInvisible.js +2 -2
  302. package/lib-esm/Button/ButtonOutline.d.ts +2 -3
  303. package/lib-esm/Button/ButtonOutline.js +2 -2
  304. package/lib-esm/Button/ButtonPrimary.d.ts +2 -3
  305. package/lib-esm/Button/ButtonPrimary.js +2 -2
  306. package/lib-esm/Button/ButtonTableList.d.ts +1 -2
  307. package/lib-esm/Button/ButtonTableList.js +2 -2
  308. package/lib-esm/CircleBadge.d.ts +4 -5
  309. package/lib-esm/CircleBadge.js +2 -2
  310. package/lib-esm/CircleOcticon.d.ts +1 -1
  311. package/lib-esm/CounterLabel.d.ts +1 -2
  312. package/lib-esm/CounterLabel.js +2 -2
  313. package/lib-esm/Dialog/Dialog.d.ts +5 -9
  314. package/lib-esm/Dialog/Dialog.js +12 -12
  315. package/lib-esm/Dialog.d.ts +4 -5
  316. package/lib-esm/Dialog.js +2 -2
  317. package/lib-esm/Dropdown.d.ts +10 -99
  318. package/lib-esm/Dropdown.js +4 -4
  319. package/lib-esm/DropdownMenu/DropdownButton.d.ts +3 -47
  320. package/lib-esm/DropdownMenu/DropdownButton.js +3 -1
  321. package/lib-esm/FilterList.d.ts +264 -303
  322. package/lib-esm/FilterList.js +3 -7
  323. package/lib-esm/FilteredSearch.d.ts +1 -2
  324. package/lib-esm/FilteredSearch.js +2 -2
  325. package/lib-esm/Flash.d.ts +1 -2
  326. package/lib-esm/Flash.js +2 -2
  327. package/lib-esm/FormGroup.d.ts +4 -5
  328. package/lib-esm/FormGroup.js +3 -3
  329. package/lib-esm/Header.d.ts +6 -7
  330. package/lib-esm/Header.js +5 -5
  331. package/lib-esm/Label.d.ts +1 -2
  332. package/lib-esm/Label.js +3 -4
  333. package/lib-esm/LabelGroup.d.ts +1 -2
  334. package/lib-esm/LabelGroup.js +2 -2
  335. package/lib-esm/Link.d.ts +1 -2
  336. package/lib-esm/Link.js +2 -2
  337. package/lib-esm/Overlay.d.ts +11 -10
  338. package/lib-esm/Overlay.js +2 -3
  339. package/lib-esm/Pagehead.d.ts +1 -2
  340. package/lib-esm/Pagehead.js +2 -2
  341. package/lib-esm/Pagination/Pagination.js +2 -2
  342. package/lib-esm/Popover.d.ts +4 -5
  343. package/lib-esm/Popover.js +4 -5
  344. package/lib-esm/Position.d.ts +4 -4
  345. package/lib-esm/SelectMenu/SelectMenu.d.ts +21 -189
  346. package/lib-esm/SelectMenu/SelectMenu.js +1 -2
  347. package/lib-esm/SelectMenu/SelectMenuDivider.d.ts +1 -2
  348. package/lib-esm/SelectMenu/SelectMenuDivider.js +2 -2
  349. package/lib-esm/SelectMenu/SelectMenuFilter.js +2 -2
  350. package/lib-esm/SelectMenu/SelectMenuFooter.d.ts +1 -2
  351. package/lib-esm/SelectMenu/SelectMenuFooter.js +2 -2
  352. package/lib-esm/SelectMenu/SelectMenuHeader.d.ts +1 -2
  353. package/lib-esm/SelectMenu/SelectMenuHeader.js +2 -2
  354. package/lib-esm/SelectMenu/SelectMenuItem.d.ts +2 -3
  355. package/lib-esm/SelectMenu/SelectMenuItem.js +2 -2
  356. package/lib-esm/SelectMenu/SelectMenuList.d.ts +1 -2
  357. package/lib-esm/SelectMenu/SelectMenuList.js +2 -2
  358. package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.d.ts +2 -2
  359. package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.js +3 -2
  360. package/lib-esm/SelectMenu/SelectMenuModal.d.ts +2 -3
  361. package/lib-esm/SelectMenu/SelectMenuModal.js +2 -2
  362. package/lib-esm/SelectMenu/SelectMenuTab.d.ts +1 -2
  363. package/lib-esm/SelectMenu/SelectMenuTab.js +2 -2
  364. package/lib-esm/SelectMenu/SelectMenuTabPanel.d.ts +1 -2
  365. package/lib-esm/SelectMenu/SelectMenuTabPanel.js +2 -2
  366. package/lib-esm/SelectMenu/SelectMenuTabs.d.ts +1 -2
  367. package/lib-esm/SelectMenu/SelectMenuTabs.js +2 -2
  368. package/lib-esm/SideNav.d.ts +11 -8
  369. package/lib-esm/SideNav.js +8 -16
  370. package/lib-esm/StateLabel.d.ts +1 -2
  371. package/lib-esm/StateLabel.js +7 -6
  372. package/lib-esm/StyledOcticon.d.ts +1 -2
  373. package/lib-esm/StyledOcticon.js +1 -2
  374. package/lib-esm/SubNav.d.ts +5 -11
  375. package/lib-esm/SubNav.js +8 -13
  376. package/lib-esm/TabNav.d.ts +3 -4
  377. package/lib-esm/TabNav.js +3 -3
  378. package/lib-esm/TextInputWithTokens.d.ts +3 -3
  379. package/lib-esm/Timeline.d.ts +19 -393
  380. package/lib-esm/Timeline.js +12 -13
  381. package/lib-esm/Token/Token.d.ts +1 -1
  382. package/lib-esm/Tooltip.d.ts +1 -2
  383. package/lib-esm/Tooltip.js +2 -2
  384. package/lib-esm/Truncate.d.ts +1 -2
  385. package/lib-esm/Truncate.js +1 -2
  386. package/lib-esm/UnderlineNav.d.ts +2 -3
  387. package/lib-esm/UnderlineNav.js +3 -3
  388. package/lib-esm/__tests__/Breadcrumbs.test.js +4 -1
  389. package/lib-esm/__tests__/Breadcrumbs.types.test.d.ts +3 -0
  390. package/lib-esm/__tests__/Breadcrumbs.types.test.js +12 -0
  391. package/lib-esm/__tests__/Button.test.js +6 -2
  392. package/lib-esm/__tests__/CircleBadge.types.test.d.ts +3 -0
  393. package/lib-esm/__tests__/CircleBadge.types.test.js +13 -0
  394. package/lib-esm/__tests__/CounterLabel.types.test.d.ts +3 -0
  395. package/lib-esm/__tests__/CounterLabel.types.test.js +13 -0
  396. package/lib-esm/__tests__/Dialog.types.test.d.ts +3 -0
  397. package/lib-esm/__tests__/Dialog.types.test.js +13 -0
  398. package/lib-esm/__tests__/Dialog2.types.test.d.ts +3 -0
  399. package/lib-esm/__tests__/Dialog2.types.test.js +16 -0
  400. package/lib-esm/__tests__/Dropdown.types.test.d.ts +3 -0
  401. package/lib-esm/__tests__/Dropdown.types.test.js +17 -0
  402. package/lib-esm/__tests__/FilterList.types.test.d.ts +3 -0
  403. package/lib-esm/__tests__/FilterList.types.test.js +13 -0
  404. package/lib-esm/__tests__/FilteredSearch.types.test.d.ts +3 -0
  405. package/lib-esm/__tests__/FilteredSearch.types.test.js +13 -0
  406. package/lib-esm/__tests__/Flash.types.test.d.ts +3 -0
  407. package/lib-esm/__tests__/Flash.types.test.js +13 -0
  408. package/lib-esm/__tests__/FormGroup.types.test.d.ts +3 -0
  409. package/lib-esm/__tests__/FormGroup.types.test.js +13 -0
  410. package/lib-esm/__tests__/Header.types.test.d.ts +3 -0
  411. package/lib-esm/__tests__/Header.types.test.js +15 -0
  412. package/lib-esm/__tests__/Label.types.test.d.ts +3 -0
  413. package/lib-esm/__tests__/Label.types.test.js +13 -0
  414. package/lib-esm/__tests__/LabelGroup.types.test.d.ts +3 -0
  415. package/lib-esm/__tests__/LabelGroup.types.test.js +13 -0
  416. package/lib-esm/__tests__/Link.test.js +11 -5
  417. package/lib-esm/__tests__/Link.types.test.d.ts +3 -0
  418. package/lib-esm/__tests__/Link.types.test.js +13 -0
  419. package/lib-esm/__tests__/Overlay.types.test.d.ts +3 -0
  420. package/lib-esm/__tests__/Overlay.types.test.js +20 -0
  421. package/lib-esm/__tests__/Pagehead.types.test.d.ts +3 -0
  422. package/lib-esm/__tests__/Pagehead.types.test.js +13 -0
  423. package/lib-esm/__tests__/Pagination.types.test.d.ts +3 -0
  424. package/lib-esm/__tests__/Pagination.types.test.js +18 -0
  425. package/lib-esm/__tests__/Popover.types.test.d.ts +3 -0
  426. package/lib-esm/__tests__/Popover.types.test.js +13 -0
  427. package/lib-esm/__tests__/SelectMenu.types.test.d.ts +3 -0
  428. package/lib-esm/__tests__/SelectMenu.types.test.js +33 -0
  429. package/lib-esm/__tests__/SideNav.types.test.d.ts +3 -0
  430. package/lib-esm/__tests__/SideNav.types.test.js +13 -0
  431. package/lib-esm/__tests__/StateLabel.types.test.d.ts +3 -0
  432. package/lib-esm/__tests__/StateLabel.types.test.js +13 -0
  433. package/lib-esm/__tests__/StyledOcticon.types.test.d.ts +3 -0
  434. package/lib-esm/__tests__/StyledOcticon.types.test.js +16 -0
  435. package/lib-esm/__tests__/SubNav.types.test.d.ts +3 -0
  436. package/lib-esm/__tests__/SubNav.types.test.js +14 -0
  437. package/lib-esm/__tests__/TabNav.types.test.d.ts +3 -0
  438. package/lib-esm/__tests__/TabNav.types.test.js +12 -0
  439. package/lib-esm/__tests__/Timeline.types.test.d.ts +3 -0
  440. package/lib-esm/__tests__/Timeline.types.test.js +18 -0
  441. package/lib-esm/__tests__/Tooltip.types.test.d.ts +3 -0
  442. package/lib-esm/__tests__/Tooltip.types.test.js +13 -0
  443. package/lib-esm/__tests__/Truncate.types.test.d.ts +3 -0
  444. package/lib-esm/__tests__/Truncate.types.test.js +16 -0
  445. package/lib-esm/__tests__/UnderlineNav.types.test.d.ts +3 -0
  446. package/lib-esm/__tests__/UnderlineNav.types.test.js +12 -0
  447. package/lib-esm/stories/ActionList2.stories.js +4 -3
  448. package/lib-esm/stories/ActionMenu.stories.js +1 -3
  449. package/lib-esm/stories/ConfirmationDialog.stories.js +16 -8
  450. package/lib-esm/stories/Dialog.stories.js +6 -2
  451. package/lib-esm/stories/useFocusTrap.stories.js +6 -2
  452. package/lib-esm/stories/useFocusZone.stories.js +13 -5
  453. package/package-lock.json +7 -7
  454. package/package.json +2 -2
  455. package/src/ActionList2/Group.tsx +76 -7
  456. package/src/ActionList2/List.tsx +1 -1
  457. package/src/Breadcrumbs.tsx +11 -11
  458. package/src/Button/Button.tsx +2 -3
  459. package/src/Button/ButtonBase.tsx +2 -6
  460. package/src/Button/ButtonClose.tsx +2 -6
  461. package/src/Button/ButtonDanger.tsx +2 -3
  462. package/src/Button/ButtonInvisible.tsx +2 -3
  463. package/src/Button/ButtonOutline.tsx +2 -3
  464. package/src/Button/ButtonPrimary.tsx +2 -3
  465. package/src/Button/ButtonTableList.tsx +2 -15
  466. package/src/CircleBadge.tsx +2 -4
  467. package/src/CounterLabel.tsx +2 -4
  468. package/src/Dialog/Dialog.tsx +22 -11
  469. package/src/Dialog.tsx +2 -6
  470. package/src/Dropdown.tsx +3 -7
  471. package/src/DropdownMenu/DropdownButton.tsx +1 -1
  472. package/src/FilterList.tsx +5 -11
  473. package/src/FilteredSearch.tsx +2 -3
  474. package/src/Flash.tsx +2 -4
  475. package/src/FormGroup.tsx +3 -6
  476. package/src/Header.tsx +4 -14
  477. package/src/Label.tsx +2 -5
  478. package/src/LabelGroup.tsx +2 -3
  479. package/src/Link.tsx +2 -6
  480. package/src/Overlay.tsx +13 -11
  481. package/src/Pagehead.tsx +2 -3
  482. package/src/Pagination/Pagination.tsx +3 -5
  483. package/src/Popover.tsx +3 -14
  484. package/src/SelectMenu/SelectMenu.tsx +1 -3
  485. package/src/SelectMenu/SelectMenuDivider.tsx +2 -3
  486. package/src/SelectMenu/SelectMenuFilter.tsx +2 -3
  487. package/src/SelectMenu/SelectMenuFooter.tsx +2 -3
  488. package/src/SelectMenu/SelectMenuHeader.tsx +2 -4
  489. package/src/SelectMenu/SelectMenuItem.tsx +2 -3
  490. package/src/SelectMenu/SelectMenuList.tsx +2 -3
  491. package/src/SelectMenu/SelectMenuLoadingAnimation.tsx +4 -3
  492. package/src/SelectMenu/SelectMenuModal.tsx +2 -4
  493. package/src/SelectMenu/SelectMenuTab.tsx +2 -3
  494. package/src/SelectMenu/SelectMenuTabPanel.tsx +2 -3
  495. package/src/SelectMenu/SelectMenuTabs.tsx +2 -3
  496. package/src/SideNav.tsx +11 -13
  497. package/src/StateLabel.tsx +3 -5
  498. package/src/StyledOcticon.tsx +1 -3
  499. package/src/SubNav.tsx +8 -13
  500. package/src/TabNav.tsx +3 -7
  501. package/src/Timeline.tsx +11 -12
  502. package/src/Tooltip.tsx +3 -3
  503. package/src/Truncate.tsx +0 -5
  504. package/src/UnderlineNav.tsx +3 -6
  505. package/src/__tests__/Breadcrumbs.test.tsx +1 -1
  506. package/src/__tests__/Breadcrumbs.types.test.tsx +22 -0
  507. package/src/__tests__/Button.test.tsx +2 -2
  508. package/src/__tests__/CircleBadge.types.test.tsx +11 -0
  509. package/src/__tests__/CounterLabel.types.test.tsx +11 -0
  510. package/src/__tests__/Dialog.types.test.tsx +11 -0
  511. package/src/__tests__/Dialog2.types.test.tsx +11 -0
  512. package/src/__tests__/Dropdown.types.test.tsx +21 -0
  513. package/src/__tests__/FilterList.types.test.tsx +17 -0
  514. package/src/__tests__/FilteredSearch.types.test.tsx +11 -0
  515. package/src/__tests__/Flash.types.test.tsx +11 -0
  516. package/src/__tests__/FormGroup.types.test.tsx +11 -0
  517. package/src/__tests__/Header.types.test.tsx +19 -0
  518. package/src/__tests__/Label.types.test.tsx +11 -0
  519. package/src/__tests__/LabelGroup.types.test.tsx +11 -0
  520. package/src/__tests__/Link.test.tsx +5 -5
  521. package/src/__tests__/Link.types.test.tsx +11 -0
  522. package/src/__tests__/Overlay.types.test.tsx +18 -0
  523. package/src/__tests__/Pagehead.types.test.tsx +11 -0
  524. package/src/__tests__/Pagination.types.test.tsx +11 -0
  525. package/src/__tests__/Popover.types.test.tsx +17 -0
  526. package/src/__tests__/SelectMenu.types.test.tsx +37 -0
  527. package/src/__tests__/SideNav.types.test.tsx +11 -0
  528. package/src/__tests__/StateLabel.types.test.tsx +11 -0
  529. package/src/__tests__/StyledOcticon.types.test.tsx +12 -0
  530. package/src/__tests__/SubNav.types.test.tsx +25 -0
  531. package/src/__tests__/TabNav.types.test.tsx +22 -0
  532. package/src/__tests__/Timeline.types.test.tsx +31 -0
  533. package/src/__tests__/Tooltip.types.test.tsx +11 -0
  534. package/src/__tests__/Truncate.types.test.tsx +11 -0
  535. package/src/__tests__/UnderlineNav.types.test.tsx +22 -0
  536. package/src/__tests__/__snapshots__/Label.test.tsx.snap +3 -4
  537. package/src/__tests__/__snapshots__/Link.test.tsx.snap +1 -2
  538. package/src/stories/ActionList2.stories.tsx +3 -3
  539. package/src/stories/ActionMenu.stories.tsx +1 -4
  540. package/src/stories/ConfirmationDialog.stories.tsx +4 -4
  541. package/src/stories/Dialog.stories.tsx +2 -2
  542. package/src/stories/useFocusTrap.stories.tsx +2 -2
  543. package/src/stories/useFocusZone.stories.tsx +4 -4
  544. package/stats.html +1 -1
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ export declare function shouldAcceptCallWithNoProps(): JSX.Element;
3
+ export declare function shouldNotAcceptSystemProps(): JSX.Element;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import Pagehead from '../Pagehead';
3
+ export function shouldAcceptCallWithNoProps() {
4
+ return /*#__PURE__*/React.createElement(Pagehead, null);
5
+ }
6
+ shouldAcceptCallWithNoProps.displayName = "shouldAcceptCallWithNoProps";
7
+ export function shouldNotAcceptSystemProps() {
8
+ // @ts-expect-error system props should not be accepted
9
+ return /*#__PURE__*/React.createElement(Pagehead, {
10
+ backgroundColor: "orchid"
11
+ });
12
+ }
13
+ shouldNotAcceptSystemProps.displayName = "shouldNotAcceptSystemProps";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ export declare function shouldAcceptCallWithNoProps(): JSX.Element;
3
+ export declare function shouldNotAcceptSystemProps(): JSX.Element;
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import Pagination from '../Pagination';
3
+ export function shouldAcceptCallWithNoProps() {
4
+ return /*#__PURE__*/React.createElement(Pagination, {
5
+ currentPage: 1,
6
+ pageCount: 2
7
+ });
8
+ }
9
+ shouldAcceptCallWithNoProps.displayName = "shouldAcceptCallWithNoProps";
10
+ export function shouldNotAcceptSystemProps() {
11
+ // @ts-expect-error system props should not be accepted
12
+ return /*#__PURE__*/React.createElement(Pagination, {
13
+ currentPage: 1,
14
+ pageCount: 2,
15
+ backgroundColor: "palegoldenrod"
16
+ });
17
+ }
18
+ shouldNotAcceptSystemProps.displayName = "shouldNotAcceptSystemProps";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ export declare function shouldAcceptCallWithNoProps(): JSX.Element;
3
+ export declare function shouldNotAcceptSystemProps(): JSX.Element;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import Popover from '../Popover';
3
+ export function shouldAcceptCallWithNoProps() {
4
+ return /*#__PURE__*/React.createElement(Popover, null);
5
+ }
6
+ shouldAcceptCallWithNoProps.displayName = "shouldAcceptCallWithNoProps";
7
+ export function shouldNotAcceptSystemProps() {
8
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Popover, {
9
+ backgroundColor: "palegreen"
10
+ }), /*#__PURE__*/React.createElement(Popover.Content, {
11
+ backgroundColor: "paleturquoise"
12
+ }));
13
+ }
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ export declare function shouldAcceptCallWithNoProps(): JSX.Element;
3
+ export declare function shouldNotAcceptSystemProps(): JSX.Element;
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import SelectMenu from '../SelectMenu';
3
+ export function shouldAcceptCallWithNoProps() {
4
+ return /*#__PURE__*/React.createElement(SelectMenu, null);
5
+ }
6
+ shouldAcceptCallWithNoProps.displayName = "shouldAcceptCallWithNoProps";
7
+ export function shouldNotAcceptSystemProps() {
8
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SelectMenu, {
9
+ backgroundColor: "lightgray"
10
+ }), /*#__PURE__*/React.createElement(SelectMenu.List, {
11
+ backgroundColor: "lightgreen"
12
+ }), /*#__PURE__*/React.createElement(SelectMenu.Divider, {
13
+ backgroundColor: "lightgrey"
14
+ }), /*#__PURE__*/React.createElement(SelectMenu.Filter, {
15
+ backgroundColor: "lightpink"
16
+ }), /*#__PURE__*/React.createElement(SelectMenu.Footer, {
17
+ backgroundColor: "lightsalmon"
18
+ }), /*#__PURE__*/React.createElement(SelectMenu.Item, {
19
+ backgroundColor: "lightseagreen"
20
+ }), /*#__PURE__*/React.createElement(SelectMenu.Modal, {
21
+ backgroundColor: "lightskyblue"
22
+ }), /*#__PURE__*/React.createElement(SelectMenu.Tabs, {
23
+ backgroundColor: "lightslategray"
24
+ }), /*#__PURE__*/React.createElement(SelectMenu.Tab, {
25
+ backgroundColor: "lightslategrey"
26
+ }), /*#__PURE__*/React.createElement(SelectMenu.TabPanel, {
27
+ backgroundColor: "lightsteelblue"
28
+ }), /*#__PURE__*/React.createElement(SelectMenu.Header, {
29
+ backgroundColor: "lightyellow"
30
+ }), /*#__PURE__*/React.createElement(SelectMenu.LoadingAnimation, {
31
+ backgroundColor: "lightcyan"
32
+ }));
33
+ }
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ export declare function shouldAcceptCallWithNoProps(): JSX.Element;
3
+ export declare function shouldNotAcceptSystemProps(): JSX.Element;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import SideNav from '../SideNav';
3
+ export function shouldAcceptCallWithNoProps() {
4
+ return /*#__PURE__*/React.createElement(SideNav, null);
5
+ }
6
+ shouldAcceptCallWithNoProps.displayName = "shouldAcceptCallWithNoProps";
7
+ export function shouldNotAcceptSystemProps() {
8
+ // @ts-expect-error system props should not be accepted
9
+ return /*#__PURE__*/React.createElement(SideNav, {
10
+ backgroundColor: "aliceblue"
11
+ });
12
+ }
13
+ shouldNotAcceptSystemProps.displayName = "shouldNotAcceptSystemProps";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ export declare function shouldAcceptCallWithNoProps(): JSX.Element;
3
+ export declare function shouldNotAcceptSystemProps(): JSX.Element;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import StateLabel from '../StateLabel';
3
+ export function shouldAcceptCallWithNoProps() {
4
+ return /*#__PURE__*/React.createElement(StateLabel, null);
5
+ }
6
+ shouldAcceptCallWithNoProps.displayName = "shouldAcceptCallWithNoProps";
7
+ export function shouldNotAcceptSystemProps() {
8
+ // @ts-expect-error system props should not be accepted
9
+ return /*#__PURE__*/React.createElement(StateLabel, {
10
+ backgroundColor: "bisque"
11
+ });
12
+ }
13
+ shouldNotAcceptSystemProps.displayName = "shouldNotAcceptSystemProps";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ export declare function shouldAcceptCallWithNoProps(): JSX.Element;
3
+ export declare function shouldNotAcceptSystemProps(): JSX.Element;
@@ -0,0 +1,16 @@
1
+ import { MoonIcon } from '@primer/octicons-react';
2
+ import React from 'react';
3
+ import StyledOcticon from '../StyledOcticon';
4
+ export function shouldAcceptCallWithNoProps() {
5
+ return /*#__PURE__*/React.createElement(StyledOcticon, {
6
+ icon: MoonIcon
7
+ });
8
+ }
9
+ shouldAcceptCallWithNoProps.displayName = "shouldAcceptCallWithNoProps";
10
+ export function shouldNotAcceptSystemProps() {
11
+ // @ts-expect-error system props should not be accepted
12
+ return /*#__PURE__*/React.createElement(StyledOcticon, {
13
+ backgroundColor: "wheat"
14
+ });
15
+ }
16
+ shouldNotAcceptSystemProps.displayName = "shouldNotAcceptSystemProps";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ export declare function shouldAcceptCallWithNoProps(): JSX.Element;
3
+ export declare function shouldNotAcceptSystemProps(): JSX.Element;
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import SubNav from '../SubNav';
3
+ export function shouldAcceptCallWithNoProps() {
4
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SubNav, null), /*#__PURE__*/React.createElement(SubNav.Link, null), /*#__PURE__*/React.createElement(SubNav.Links, null));
5
+ }
6
+ export function shouldNotAcceptSystemProps() {
7
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SubNav, {
8
+ backgroundColor: "thistle"
9
+ }), /*#__PURE__*/React.createElement(SubNav.Link, {
10
+ backgroundColor: "thistle"
11
+ }), /*#__PURE__*/React.createElement(SubNav.Links, {
12
+ backgroundColor: "thistle"
13
+ }));
14
+ }
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ export declare function shouldAcceptCallWithNoProps(): JSX.Element;
3
+ export declare function shouldNotAcceptSystemProps(): JSX.Element;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import TabNav from '../TabNav';
3
+ export function shouldAcceptCallWithNoProps() {
4
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TabNav, null), /*#__PURE__*/React.createElement(TabNav.Link, null));
5
+ }
6
+ export function shouldNotAcceptSystemProps() {
7
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TabNav, {
8
+ backgroundColor: "maroon"
9
+ }), /*#__PURE__*/React.createElement(TabNav.Link, {
10
+ backgroundColor: "fuchsia"
11
+ }));
12
+ }
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ export declare function shouldAcceptCallWithNoProps(): JSX.Element;
3
+ export declare function shouldNotAcceptSystemProps(): JSX.Element;
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import Timeline from '../Timeline';
3
+ export function shouldAcceptCallWithNoProps() {
4
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Timeline, null), /*#__PURE__*/React.createElement(Timeline.Item, null), /*#__PURE__*/React.createElement(Timeline.Badge, null), /*#__PURE__*/React.createElement(Timeline.Body, null), /*#__PURE__*/React.createElement(Timeline.Break, null));
5
+ }
6
+ export function shouldNotAcceptSystemProps() {
7
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Timeline, {
8
+ backgroundColor: "red"
9
+ }), /*#__PURE__*/React.createElement(Timeline.Item, {
10
+ backgroundColor: "orange"
11
+ }), /*#__PURE__*/React.createElement(Timeline.Badge, {
12
+ backgroundColor: "yellow"
13
+ }), /*#__PURE__*/React.createElement(Timeline.Body, {
14
+ backgroundColor: "green"
15
+ }), /*#__PURE__*/React.createElement(Timeline.Break, {
16
+ backgroundColor: "blue"
17
+ }));
18
+ }
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ export declare function shouldAcceptCallWithNoProps(): JSX.Element;
3
+ export declare function shouldNotAcceptSystemProps(): JSX.Element;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import Tooltip from '../Tooltip';
3
+ export function shouldAcceptCallWithNoProps() {
4
+ return /*#__PURE__*/React.createElement(Tooltip, null);
5
+ }
6
+ shouldAcceptCallWithNoProps.displayName = "shouldAcceptCallWithNoProps";
7
+ export function shouldNotAcceptSystemProps() {
8
+ // @ts-expect-error system props should not be accepted
9
+ return /*#__PURE__*/React.createElement(Tooltip, {
10
+ backgroundColor: "thistle"
11
+ });
12
+ }
13
+ shouldNotAcceptSystemProps.displayName = "shouldNotAcceptSystemProps";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ export declare function shouldAcceptCallWithNoProps(): JSX.Element;
3
+ export declare function shouldNotAcceptSystemProps(): JSX.Element;
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import Truncate from '../Truncate';
3
+ export function shouldAcceptCallWithNoProps() {
4
+ return /*#__PURE__*/React.createElement(Truncate, {
5
+ title: "Hello"
6
+ });
7
+ }
8
+ shouldAcceptCallWithNoProps.displayName = "shouldAcceptCallWithNoProps";
9
+ export function shouldNotAcceptSystemProps() {
10
+ // @ts-expect-error system props should not be accepted
11
+ return /*#__PURE__*/React.createElement(Truncate, {
12
+ title: "Hello",
13
+ backgroundColor: "indigo"
14
+ });
15
+ }
16
+ shouldNotAcceptSystemProps.displayName = "shouldNotAcceptSystemProps";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ export declare function shouldAcceptCallWithNoProps(): JSX.Element;
3
+ export declare function shouldNotAcceptSystemProps(): JSX.Element;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import UnderlineNav from '../UnderlineNav';
3
+ export function shouldAcceptCallWithNoProps() {
4
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(UnderlineNav, null), /*#__PURE__*/React.createElement(UnderlineNav.Link, null));
5
+ }
6
+ export function shouldNotAcceptSystemProps() {
7
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(UnderlineNav, {
8
+ backgroundColor: "snow"
9
+ }), /*#__PURE__*/React.createElement(UnderlineNav.Link, {
10
+ backgroundColor: "springgreen"
11
+ }));
12
+ }
@@ -205,11 +205,11 @@ export function GroupsStory() {
205
205
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("h1", null, "Groups"), /*#__PURE__*/React.createElement(ErsatzOverlay, null, /*#__PURE__*/React.createElement(ActionList, {
206
206
  selectionVariant: "multiple",
207
207
  showDividers: true,
208
- role: "listbox",
209
208
  "aria-label": "Select reviewers"
210
209
  }, /*#__PURE__*/React.createElement(ActionList.Group, {
211
210
  title: "Suggestions",
212
- variant: "filled"
211
+ variant: "filled",
212
+ role: "listbox"
213
213
  }, users.slice(0, 2).map(user => /*#__PURE__*/React.createElement(ActionList.Item, {
214
214
  key: user.login,
215
215
  role: "option",
@@ -221,7 +221,8 @@ export function GroupsStory() {
221
221
  variant: "block"
222
222
  }, "Recently edited these files")))), /*#__PURE__*/React.createElement(ActionList.Group, {
223
223
  title: "Everyone",
224
- variant: "filled"
224
+ variant: "filled",
225
+ role: "listbox"
225
226
  }, users.slice(2).map(user => /*#__PURE__*/React.createElement(ActionList.Item, {
226
227
  role: "option",
227
228
  key: user.login,
@@ -64,9 +64,7 @@ export function SimpleListStory() {
64
64
  onAction: onAction,
65
65
  anchorContent: "Menu",
66
66
  overlayProps: {
67
- 'data-test-id': 'some_test_id',
68
- onMouseDown: e => // eslint-disable-next-line no-console
69
- console.log('onMouseDown in the internal Overlay can be useful for controlling event interactions', e)
67
+ 'data-test-id': 'some_test_id'
70
68
  },
71
69
  items: [{
72
70
  text: 'New file',
@@ -46,17 +46,25 @@ export const ShorthandHook = () => {
46
46
  flexDirection: "column",
47
47
  alignItems: "flex-start"
48
48
  }, /*#__PURE__*/React.createElement(Button, {
49
- mb: 2,
50
- onClick: onButtonClick
49
+ onClick: onButtonClick,
50
+ sx: {
51
+ mb: 2
52
+ }
51
53
  }, "Turn me green!"), /*#__PURE__*/React.createElement(Button, {
52
- mb: 2,
53
- onClick: onButtonClick
54
+ onClick: onButtonClick,
55
+ sx: {
56
+ mb: 2
57
+ }
54
58
  }, "Turn me green!"), /*#__PURE__*/React.createElement(Button, {
55
- mb: 2,
56
- onClick: onButtonClick
59
+ onClick: onButtonClick,
60
+ sx: {
61
+ mb: 2
62
+ }
57
63
  }, "Turn me green!"), /*#__PURE__*/React.createElement(Button, {
58
- mb: 2,
59
- onClick: onButtonClick
64
+ onClick: onButtonClick,
65
+ sx: {
66
+ mb: 2
67
+ }
60
68
  }, "Turn me green!"));
61
69
  };
62
70
  ShorthandHook.displayName = "ShorthandHook";
@@ -154,7 +154,9 @@ function CustomBody({
154
154
  children
155
155
  }) {
156
156
  return /*#__PURE__*/React.createElement(Dialog.Body, {
157
- bg: "danger.subtle"
157
+ sx: {
158
+ bg: 'danger.subtle'
159
+ }
158
160
  }, children);
159
161
  }
160
162
 
@@ -164,7 +166,9 @@ function CustomFooter({
164
166
  footerButtons
165
167
  }) {
166
168
  return /*#__PURE__*/React.createElement(Dialog.Footer, {
167
- bg: "attention.subtle"
169
+ sx: {
170
+ bg: 'attention.subtle'
171
+ }
168
172
  }, footerButtons ? /*#__PURE__*/React.createElement(Dialog.Buttons, {
169
173
  buttons: footerButtons
170
174
  }) : null);
@@ -123,7 +123,9 @@ export const CustomInitialFocus = () => {
123
123
  flexDirection: "column",
124
124
  alignItems: "flex-start"
125
125
  }, /*#__PURE__*/React.createElement(Flash, {
126
- mb: 3
126
+ sx: {
127
+ mb: 3
128
+ }
127
129
  }, "This story is the same as the `Focus Trap` story, except, when the trap zone is activated, the \u201CElderberry\u201D button will receive the initial focus (if the trap zone container does not already have focus)."), /*#__PURE__*/React.createElement(MarginButton, null, "Apple"), /*#__PURE__*/React.createElement(MarginButton, null, "Banana"), /*#__PURE__*/React.createElement(MarginButton, null, "Cantaloupe"), /*#__PURE__*/React.createElement(Box, {
128
130
  borderColor: "gray.5",
129
131
  ref: containerRef,
@@ -238,7 +240,9 @@ export const MultipleFocusTraps = () => {
238
240
  flexDirection: "column",
239
241
  alignItems: "flex-start"
240
242
  }, /*#__PURE__*/React.createElement(Flash, {
241
- mb: 3
243
+ sx: {
244
+ mb: 3
245
+ }
242
246
  }, "This story demonstrates the global nature of focus traps. When a focus trap is enabled, if there is already an active focus trap, it becomes suspended and pushed onto a stack. Once the newly-active focus trap is disabled, the most recently-suspended trap will reactivate. Suspended focus traps can be disabled, causing them to be removed from the stack of suspended traps."), /*#__PURE__*/React.createElement(Box, {
243
247
  p: 2,
244
248
  mb: 3,
@@ -51,8 +51,10 @@ export const BasicFocusZone = () => {
51
51
  right: 5,
52
52
  top: 2
53
53
  }, "Last key pressed: ", lastKey), /*#__PURE__*/React.createElement(ToggleButton, {
54
- mb: 3,
55
- onClick: toggleFz
54
+ onClick: toggleFz,
55
+ sx: {
56
+ mb: 3
57
+ }
56
58
  }, fzEnabled ? 'Disable' : 'Enable', " Focus Zone"), /*#__PURE__*/React.createElement(MarginButton, null, "Apple"), /*#__PURE__*/React.createElement(MarginButton, null, "Banana"), /*#__PURE__*/React.createElement(MarginButton, null, "Cantaloupe"), /*#__PURE__*/React.createElement(Box, {
57
59
  borderColor: "gray.5",
58
60
  ref: containerRef,
@@ -334,7 +336,9 @@ export const SpecialSituations = () => {
334
336
  alignItems: "flex-start",
335
337
  onKeyDownCapture: reportKey
336
338
  }, /*#__PURE__*/React.createElement(Flash, {
337
- mb: 3
339
+ sx: {
340
+ mb: 3
341
+ }
338
342
  }, "This story is very esoteric! It only exists to show some of the nuance of the arrow key focus behavior in different situations. Focus treatment within your component should be evaluated for your particular UX using the ", /*#__PURE__*/React.createElement("a", {
339
343
  href: "https://www.w3.org/TR/wai-aria-practices-1.1/#keyboard"
340
344
  }, "ARIA guidelines"), "."), /*#__PURE__*/React.createElement(Box, {
@@ -417,7 +421,9 @@ export const ChangingSubtree = () => {
417
421
  alignItems: "flex-start",
418
422
  onKeyDownCapture: reportKey
419
423
  }, /*#__PURE__*/React.createElement(Flash, {
420
- mb: 3
424
+ sx: {
425
+ mb: 3
426
+ }
421
427
  }, "This story demonstrates that focusZone is consistent even when the container\u2019s subtree changes."), /*#__PURE__*/React.createElement(Box, {
422
428
  position: "absolute",
423
429
  right: 5,
@@ -523,7 +529,9 @@ export const ActiveDescendant = () => {
523
529
  alignItems: "flex-start",
524
530
  onKeyDownCapture: reportKey
525
531
  }, /*#__PURE__*/React.createElement(Flash, {
526
- mb: 3
532
+ sx: {
533
+ mb: 3
534
+ }
527
535
  }, "This story demonstrates using the `aria-activedescendant` pattern for managing both a focused element and an active element. Below, you can focus the input box then use the up/down arrow keys to change the active descendant (dark blue outline)."), /*#__PURE__*/React.createElement(Box, {
528
536
  position: "absolute",
529
537
  right: 5,
package/package-lock.json CHANGED
@@ -79,7 +79,7 @@
79
79
  "eslint-plugin-jsx-a11y": "6.4.1",
80
80
  "eslint-plugin-mdx": "1.15.1",
81
81
  "eslint-plugin-prettier": "3.4.0",
82
- "eslint-plugin-primer-react": "0.6.1",
82
+ "eslint-plugin-primer-react": "0.7.0",
83
83
  "eslint-plugin-react": "7.24.0",
84
84
  "eslint-plugin-react-hooks": "4.2.0",
85
85
  "jest": "27.0.4",
@@ -18504,9 +18504,9 @@
18504
18504
  }
18505
18505
  },
18506
18506
  "node_modules/eslint-plugin-primer-react": {
18507
- "version": "0.6.1",
18508
- "resolved": "https://registry.npmjs.org/eslint-plugin-primer-react/-/eslint-plugin-primer-react-0.6.1.tgz",
18509
- "integrity": "sha512-sinHj+soe1LItPJZDPqK443viPGfuuT3NLk0dH8s2QMvmO0deL77aMD2/N3gP6iYg5eEOkVsp38eFkUSTaXm4w==",
18507
+ "version": "0.7.0",
18508
+ "resolved": "https://registry.npmjs.org/eslint-plugin-primer-react/-/eslint-plugin-primer-react-0.7.0.tgz",
18509
+ "integrity": "sha512-ERzMiCVPBwfG57xpSVjMuPg093GB76xtDLOiHtnYcME+40yOSKsI4lor9QnN7OjnEMj8AHgns4ixpBN8iK23nA==",
18510
18510
  "dev": true,
18511
18511
  "dependencies": {
18512
18512
  "@styled-system/props": "^5.1.5",
@@ -51952,9 +51952,9 @@
51952
51952
  }
51953
51953
  },
51954
51954
  "eslint-plugin-primer-react": {
51955
- "version": "0.6.1",
51956
- "resolved": "https://registry.npmjs.org/eslint-plugin-primer-react/-/eslint-plugin-primer-react-0.6.1.tgz",
51957
- "integrity": "sha512-sinHj+soe1LItPJZDPqK443viPGfuuT3NLk0dH8s2QMvmO0deL77aMD2/N3gP6iYg5eEOkVsp38eFkUSTaXm4w==",
51955
+ "version": "0.7.0",
51956
+ "resolved": "https://registry.npmjs.org/eslint-plugin-primer-react/-/eslint-plugin-primer-react-0.7.0.tgz",
51957
+ "integrity": "sha512-ERzMiCVPBwfG57xpSVjMuPg093GB76xtDLOiHtnYcME+40yOSKsI4lor9QnN7OjnEMj8AHgns4ixpBN8iK23nA==",
51958
51958
  "dev": true,
51959
51959
  "requires": {
51960
51960
  "@styled-system/props": "^5.1.5",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer/components",
3
- "version": "31.2.1-rc.7fa29a87",
3
+ "version": "32.0.0-rc.7200a6a6",
4
4
  "description": "Primer react components",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-esm/index.js",
@@ -114,7 +114,7 @@
114
114
  "eslint-plugin-jsx-a11y": "6.4.1",
115
115
  "eslint-plugin-mdx": "1.15.1",
116
116
  "eslint-plugin-prettier": "3.4.0",
117
- "eslint-plugin-primer-react": "0.6.1",
117
+ "eslint-plugin-primer-react": "0.7.0",
118
118
  "eslint-plugin-react": "7.24.0",
119
119
  "eslint-plugin-react-hooks": "4.2.0",
120
120
  "jest": "27.0.4",
@@ -1,18 +1,51 @@
1
1
  import React from 'react'
2
+ import {useSSRSafeId} from '@react-aria/ssr'
2
3
  import Box from '../Box'
3
4
  import {SxProp} from '../sx'
4
- import {Header, HeaderProps} from './Header'
5
- import {ListProps} from './List'
5
+ import {ListContext, ListProps} from './List'
6
+ import {AriaRole} from '../utils/types'
6
7
 
7
- export type GroupProps = HeaderProps &
8
- SxProp & {
8
+ export type GroupProps = {
9
+ /**
10
+ * Style variations. Usage is discretionary.
11
+ *
12
+ * - `"filled"` - Superimposed on a background, offset from nearby content
13
+ * - `"subtle"` - Relatively less offset from nearby content
14
+ */
15
+ variant?: 'subtle' | 'filled'
16
+ /**
17
+ * Primary text which names a `Group`.
18
+ */
19
+ title?: string
20
+ /**
21
+ * Secondary text which provides additional information about a `Group`.
22
+ */
23
+ auxiliaryText?: string
24
+ /**
25
+ * The ARIA role describing the function of the list inside `Group` component. `listbox` or `menu` are a common values.
26
+ */
27
+ role?: AriaRole
28
+ } & SxProp & {
29
+ /**
30
+ * Whether multiple Items or a single Item can be selected in the Group. Overrides value on ActionList root.
31
+ */
9
32
  selectionVariant?: ListProps['selectionVariant'] | false
10
33
  }
11
34
 
12
35
  type ContextProps = Pick<GroupProps, 'selectionVariant'>
13
36
  export const GroupContext = React.createContext<ContextProps>({})
14
37
 
15
- export const Group: React.FC<GroupProps> = ({title, variant, auxiliaryText, selectionVariant, sx = {}, ...props}) => {
38
+ export const Group: React.FC<GroupProps> = ({
39
+ title,
40
+ variant = 'subtle',
41
+ auxiliaryText,
42
+ selectionVariant,
43
+ role,
44
+ sx = {},
45
+ ...props
46
+ }) => {
47
+ const labelId = useSSRSafeId()
48
+
16
49
  return (
17
50
  <Box
18
51
  as="li"
@@ -23,12 +56,48 @@ export const Group: React.FC<GroupProps> = ({title, variant, auxiliaryText, sele
23
56
  }}
24
57
  {...props}
25
58
  >
26
- {title && <Header title={title} variant={variant} auxiliaryText={auxiliaryText} />}
59
+ {title && <Header title={title} variant={variant} auxiliaryText={auxiliaryText} labelId={labelId} />}
27
60
  <GroupContext.Provider value={{selectionVariant}}>
28
- <Box as="ul" sx={{paddingInlineStart: 0}}>
61
+ <Box as="ul" sx={{paddingInlineStart: 0}} aria-labelledby={title ? labelId : undefined} role={role}>
29
62
  {props.children}
30
63
  </Box>
31
64
  </GroupContext.Provider>
32
65
  </Box>
33
66
  )
34
67
  }
68
+
69
+ export type HeaderProps = Pick<GroupProps, 'variant' | 'title' | 'auxiliaryText'> & {
70
+ labelId: string
71
+ }
72
+
73
+ /**
74
+ * Displays the name and description of a `Group`.
75
+ *
76
+ * For visual presentation only. It's hidden from screen readers.
77
+ */
78
+ const Header: React.FC<HeaderProps> = ({variant, title, auxiliaryText, labelId, ...props}) => {
79
+ const {variant: listVariant} = React.useContext(ListContext)
80
+
81
+ const styles = {
82
+ paddingY: '6px',
83
+ paddingX: listVariant === 'full' ? 2 : 3,
84
+ fontSize: 0,
85
+ fontWeight: 'bold',
86
+ color: 'fg.muted',
87
+ ...(variant === 'filled' && {
88
+ backgroundColor: 'canvas.subtle',
89
+ marginX: 0,
90
+ marginBottom: 2,
91
+ borderTop: '1px solid',
92
+ borderBottom: '1px solid',
93
+ borderColor: 'neutral.muted'
94
+ })
95
+ }
96
+
97
+ return (
98
+ <Box sx={styles} role="presentation" aria-hidden="true" {...props}>
99
+ <span id={labelId}>{title}</span>
100
+ {auxiliaryText && <span>{auxiliaryText}</span>}
101
+ </Box>
102
+ )
103
+ }
@@ -23,7 +23,7 @@ export type ListProps = {
23
23
  role?: AriaRole
24
24
  } & SxProp
25
25
 
26
- type ContextProps = Omit<ListProps, 'sx'>
26
+ type ContextProps = Pick<ListProps, 'variant' | 'selectionVariant' | 'showDividers'>
27
27
  export const ListContext = React.createContext<ContextProps>({})
28
28
 
29
29
  const ListBox = styled.ul<SxProp>(sx)