@primer/components 31.2.1-rc.48ecca6e → 32.0.0-next.0

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 (1197) hide show
  1. package/CHANGELOG.md +67 -3
  2. package/dist/browser.esm.js +307 -365
  3. package/dist/browser.esm.js.map +1 -1
  4. package/dist/browser.umd.js +298 -356
  5. package/dist/browser.umd.js.map +1 -1
  6. package/lib/ActionList/Item.js +27 -52
  7. package/lib/ActionList/Item.jsx +17 -40
  8. package/lib/ActionList2/Group.d.ts +28 -2
  9. package/lib/ActionList2/Group.js +55 -6
  10. package/lib/ActionList2/Group.jsx +33 -4
  11. package/lib/ActionList2/List.d.ts +1 -1
  12. package/lib/Autocomplete/Autocomplete.d.ts +3 -3
  13. package/lib/Autocomplete/AutocompleteInput.d.ts +3 -3
  14. package/lib/Breadcrumbs.d.ts +8 -7
  15. package/lib/Breadcrumbs.js +7 -12
  16. package/lib/Breadcrumbs.jsx +3 -6
  17. package/lib/Button/Button.d.ts +2 -3
  18. package/lib/Button/Button.js +2 -6
  19. package/lib/Button/Button.jsx +1 -21
  20. package/lib/Button/ButtonBase.d.ts +5 -8
  21. package/lib/Button/ButtonBase.js +1 -5
  22. package/lib/Button/ButtonBase.jsx +0 -3
  23. package/lib/Button/ButtonClose.d.ts +3 -46
  24. package/lib/Button/ButtonClose.js +1 -1
  25. package/lib/Button/ButtonClose.jsx +0 -2
  26. package/lib/Button/ButtonDanger.d.ts +2 -3
  27. package/lib/Button/ButtonDanger.js +2 -6
  28. package/lib/Button/ButtonDanger.jsx +1 -21
  29. package/lib/Button/ButtonInvisible.d.ts +2 -3
  30. package/lib/Button/ButtonInvisible.js +2 -6
  31. package/lib/Button/ButtonInvisible.jsx +1 -21
  32. package/lib/Button/ButtonOutline.d.ts +2 -3
  33. package/lib/Button/ButtonOutline.js +2 -6
  34. package/lib/Button/ButtonOutline.jsx +1 -21
  35. package/lib/Button/ButtonPrimary.d.ts +2 -3
  36. package/lib/Button/ButtonPrimary.js +2 -6
  37. package/lib/Button/ButtonPrimary.jsx +1 -21
  38. package/lib/Button/ButtonTableList.d.ts +1 -2
  39. package/lib/Button/ButtonTableList.js +1 -1
  40. package/lib/Button/ButtonTableList.jsx +0 -3
  41. package/lib/CircleBadge.d.ts +4 -5
  42. package/lib/CircleBadge.js +1 -1
  43. package/lib/CircleBadge.jsx +0 -1
  44. package/lib/CircleOcticon.d.ts +1 -1
  45. package/lib/CounterLabel.d.ts +1 -2
  46. package/lib/CounterLabel.js +1 -1
  47. package/lib/CounterLabel.jsx +0 -1
  48. package/lib/Dialog/Dialog.d.ts +5 -9
  49. package/lib/Dialog/Dialog.js +17 -11
  50. package/lib/Dialog/Dialog.jsx +13 -7
  51. package/lib/Dialog.d.ts +4 -5
  52. package/lib/Dialog.js +1 -1
  53. package/lib/Dialog.jsx +0 -2
  54. package/lib/Dropdown.d.ts +10 -99
  55. package/lib/Dropdown.js +3 -3
  56. package/lib/Dropdown.jsx +0 -3
  57. package/lib/DropdownMenu/DropdownButton.d.ts +3 -47
  58. package/lib/DropdownMenu/DropdownButton.js +3 -1
  59. package/lib/DropdownMenu/DropdownButton.jsx +1 -1
  60. package/lib/FilterList.d.ts +264 -303
  61. package/lib/FilterList.js +2 -6
  62. package/lib/FilterList.jsx +2 -6
  63. package/lib/FilteredSearch.d.ts +1 -2
  64. package/lib/FilteredSearch.js +1 -1
  65. package/lib/FilteredSearch.jsx +0 -1
  66. package/lib/Flash.d.ts +1 -2
  67. package/lib/Flash.js +1 -1
  68. package/lib/Flash.jsx +0 -1
  69. package/lib/FormGroup.d.ts +4 -5
  70. package/lib/FormGroup.js +2 -2
  71. package/lib/FormGroup.jsx +0 -3
  72. package/lib/Header.d.ts +6 -7
  73. package/lib/Header.js +4 -4
  74. package/lib/Header.jsx +0 -7
  75. package/lib/Label.d.ts +1 -2
  76. package/lib/Label.js +2 -3
  77. package/lib/Label.jsx +1 -3
  78. package/lib/LabelGroup.d.ts +1 -2
  79. package/lib/LabelGroup.js +1 -1
  80. package/lib/LabelGroup.jsx +0 -1
  81. package/lib/Link.d.ts +1 -2
  82. package/lib/Link.js +1 -1
  83. package/lib/Link.jsx +0 -2
  84. package/lib/NewButton/button.js +34 -42
  85. package/lib/NewButton/button.jsx +24 -23
  86. package/lib/Overlay.d.ts +11 -10
  87. package/lib/Overlay.js +3 -4
  88. package/lib/Overlay.jsx +1 -3
  89. package/lib/Pagehead.d.ts +1 -2
  90. package/lib/Pagehead.js +1 -1
  91. package/lib/Pagehead.jsx +0 -1
  92. package/lib/Pagination/Pagination.js +1 -1
  93. package/lib/Pagination/Pagination.jsx +0 -2
  94. package/lib/Popover.d.ts +4 -5
  95. package/lib/Popover.js +4 -5
  96. package/lib/Popover.jsx +1 -9
  97. package/lib/Position.d.ts +4 -4
  98. package/lib/SelectMenu/SelectMenu.d.ts +21 -189
  99. package/lib/SelectMenu/SelectMenu.js +1 -3
  100. package/lib/SelectMenu/SelectMenu.jsx +0 -2
  101. package/lib/SelectMenu/SelectMenuDivider.d.ts +1 -2
  102. package/lib/SelectMenu/SelectMenuDivider.js +1 -1
  103. package/lib/SelectMenu/SelectMenuDivider.jsx +0 -1
  104. package/lib/SelectMenu/SelectMenuFilter.js +1 -1
  105. package/lib/SelectMenu/SelectMenuFilter.jsx +0 -1
  106. package/lib/SelectMenu/SelectMenuFooter.d.ts +1 -2
  107. package/lib/SelectMenu/SelectMenuFooter.js +1 -1
  108. package/lib/SelectMenu/SelectMenuFooter.jsx +0 -1
  109. package/lib/SelectMenu/SelectMenuHeader.d.ts +1 -2
  110. package/lib/SelectMenu/SelectMenuHeader.js +1 -1
  111. package/lib/SelectMenu/SelectMenuHeader.jsx +0 -2
  112. package/lib/SelectMenu/SelectMenuItem.d.ts +2 -3
  113. package/lib/SelectMenu/SelectMenuItem.js +1 -1
  114. package/lib/SelectMenu/SelectMenuItem.jsx +0 -1
  115. package/lib/SelectMenu/SelectMenuList.d.ts +1 -2
  116. package/lib/SelectMenu/SelectMenuList.js +1 -1
  117. package/lib/SelectMenu/SelectMenuList.jsx +0 -1
  118. package/lib/SelectMenu/SelectMenuLoadingAnimation.d.ts +2 -2
  119. package/lib/SelectMenu/SelectMenuLoadingAnimation.js +3 -1
  120. package/lib/SelectMenu/SelectMenuLoadingAnimation.jsx +2 -1
  121. package/lib/SelectMenu/SelectMenuModal.d.ts +2 -3
  122. package/lib/SelectMenu/SelectMenuModal.js +1 -1
  123. package/lib/SelectMenu/SelectMenuModal.jsx +0 -1
  124. package/lib/SelectMenu/SelectMenuTab.d.ts +1 -2
  125. package/lib/SelectMenu/SelectMenuTab.js +1 -1
  126. package/lib/SelectMenu/SelectMenuTab.jsx +0 -1
  127. package/lib/SelectMenu/SelectMenuTabPanel.d.ts +1 -2
  128. package/lib/SelectMenu/SelectMenuTabPanel.js +1 -1
  129. package/lib/SelectMenu/SelectMenuTabPanel.jsx +0 -1
  130. package/lib/SelectMenu/SelectMenuTabs.d.ts +1 -2
  131. package/lib/SelectMenu/SelectMenuTabs.js +1 -1
  132. package/lib/SelectMenu/SelectMenuTabs.jsx +0 -1
  133. package/lib/SideNav.d.ts +11 -8
  134. package/lib/SideNav.js +8 -15
  135. package/lib/SideNav.jsx +2 -6
  136. package/lib/StateLabel.d.ts +1 -2
  137. package/lib/StateLabel.js +6 -5
  138. package/lib/StateLabel.jsx +1 -2
  139. package/lib/StyledOcticon.d.ts +1 -2
  140. package/lib/StyledOcticon.js +1 -3
  141. package/lib/StyledOcticon.jsx +0 -2
  142. package/lib/SubNav.d.ts +5 -11
  143. package/lib/SubNav.js +7 -12
  144. package/lib/SubNav.jsx +4 -7
  145. package/lib/TabNav.d.ts +3 -4
  146. package/lib/TabNav.js +2 -2
  147. package/lib/TabNav.jsx +0 -2
  148. package/lib/TextInputWithTokens.d.ts +3 -3
  149. package/lib/Timeline.d.ts +19 -393
  150. package/lib/Timeline.js +16 -13
  151. package/lib/Timeline.jsx +9 -10
  152. package/lib/Token/Token.d.ts +1 -1
  153. package/lib/Tooltip.d.ts +1 -2
  154. package/lib/Tooltip.js +1 -1
  155. package/lib/Tooltip.jsx +1 -1
  156. package/lib/Truncate.d.ts +1 -2
  157. package/lib/Truncate.js +1 -3
  158. package/lib/Truncate.jsx +0 -3
  159. package/lib/UnderlineNav.d.ts +2 -3
  160. package/lib/UnderlineNav.js +2 -2
  161. package/lib/UnderlineNav.jsx +0 -2
  162. package/lib/utils/testing.d.ts +6 -60
  163. package/lib-esm/ActionList/Item.js +28 -53
  164. package/lib-esm/ActionList2/Group.d.ts +28 -2
  165. package/lib-esm/ActionList2/Group.js +52 -5
  166. package/lib-esm/ActionList2/List.d.ts +1 -1
  167. package/lib-esm/Autocomplete/Autocomplete.d.ts +3 -3
  168. package/lib-esm/Autocomplete/AutocompleteInput.d.ts +3 -3
  169. package/lib-esm/Breadcrumbs.d.ts +8 -7
  170. package/lib-esm/Breadcrumbs.js +8 -13
  171. package/lib-esm/Button/Button.d.ts +2 -3
  172. package/lib-esm/Button/Button.js +2 -2
  173. package/lib-esm/Button/ButtonBase.d.ts +5 -8
  174. package/lib-esm/Button/ButtonBase.js +1 -3
  175. package/lib-esm/Button/ButtonClose.d.ts +3 -46
  176. package/lib-esm/Button/ButtonClose.js +2 -2
  177. package/lib-esm/Button/ButtonDanger.d.ts +2 -3
  178. package/lib-esm/Button/ButtonDanger.js +2 -2
  179. package/lib-esm/Button/ButtonInvisible.d.ts +2 -3
  180. package/lib-esm/Button/ButtonInvisible.js +2 -2
  181. package/lib-esm/Button/ButtonOutline.d.ts +2 -3
  182. package/lib-esm/Button/ButtonOutline.js +2 -2
  183. package/lib-esm/Button/ButtonPrimary.d.ts +2 -3
  184. package/lib-esm/Button/ButtonPrimary.js +2 -2
  185. package/lib-esm/Button/ButtonTableList.d.ts +1 -2
  186. package/lib-esm/Button/ButtonTableList.js +2 -2
  187. package/lib-esm/CircleBadge.d.ts +4 -5
  188. package/lib-esm/CircleBadge.js +2 -2
  189. package/lib-esm/CircleOcticon.d.ts +1 -1
  190. package/lib-esm/CounterLabel.d.ts +1 -2
  191. package/lib-esm/CounterLabel.js +2 -2
  192. package/lib-esm/Dialog/Dialog.d.ts +5 -9
  193. package/lib-esm/Dialog/Dialog.js +12 -12
  194. package/lib-esm/Dialog.d.ts +4 -5
  195. package/lib-esm/Dialog.js +2 -2
  196. package/lib-esm/Dropdown.d.ts +10 -99
  197. package/lib-esm/Dropdown.js +4 -4
  198. package/lib-esm/DropdownMenu/DropdownButton.d.ts +3 -47
  199. package/lib-esm/DropdownMenu/DropdownButton.js +3 -1
  200. package/lib-esm/FilterList.d.ts +264 -303
  201. package/lib-esm/FilterList.js +3 -7
  202. package/lib-esm/FilteredSearch.d.ts +1 -2
  203. package/lib-esm/FilteredSearch.js +2 -2
  204. package/lib-esm/Flash.d.ts +1 -2
  205. package/lib-esm/Flash.js +2 -2
  206. package/lib-esm/FormGroup.d.ts +4 -5
  207. package/lib-esm/FormGroup.js +3 -3
  208. package/lib-esm/Header.d.ts +6 -7
  209. package/lib-esm/Header.js +5 -5
  210. package/lib-esm/Label.d.ts +1 -2
  211. package/lib-esm/Label.js +3 -4
  212. package/lib-esm/LabelGroup.d.ts +1 -2
  213. package/lib-esm/LabelGroup.js +2 -2
  214. package/lib-esm/Link.d.ts +1 -2
  215. package/lib-esm/Link.js +2 -2
  216. package/lib-esm/NewButton/button.js +31 -42
  217. package/lib-esm/Overlay.d.ts +11 -10
  218. package/lib-esm/Overlay.js +2 -3
  219. package/lib-esm/Pagehead.d.ts +1 -2
  220. package/lib-esm/Pagehead.js +2 -2
  221. package/lib-esm/Pagination/Pagination.js +2 -2
  222. package/lib-esm/Popover.d.ts +4 -5
  223. package/lib-esm/Popover.js +4 -5
  224. package/lib-esm/Position.d.ts +4 -4
  225. package/lib-esm/SelectMenu/SelectMenu.d.ts +21 -189
  226. package/lib-esm/SelectMenu/SelectMenu.js +1 -2
  227. package/lib-esm/SelectMenu/SelectMenuDivider.d.ts +1 -2
  228. package/lib-esm/SelectMenu/SelectMenuDivider.js +2 -2
  229. package/lib-esm/SelectMenu/SelectMenuFilter.js +2 -2
  230. package/lib-esm/SelectMenu/SelectMenuFooter.d.ts +1 -2
  231. package/lib-esm/SelectMenu/SelectMenuFooter.js +2 -2
  232. package/lib-esm/SelectMenu/SelectMenuHeader.d.ts +1 -2
  233. package/lib-esm/SelectMenu/SelectMenuHeader.js +2 -2
  234. package/lib-esm/SelectMenu/SelectMenuItem.d.ts +2 -3
  235. package/lib-esm/SelectMenu/SelectMenuItem.js +2 -2
  236. package/lib-esm/SelectMenu/SelectMenuList.d.ts +1 -2
  237. package/lib-esm/SelectMenu/SelectMenuList.js +2 -2
  238. package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.d.ts +2 -2
  239. package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.js +3 -2
  240. package/lib-esm/SelectMenu/SelectMenuModal.d.ts +2 -3
  241. package/lib-esm/SelectMenu/SelectMenuModal.js +2 -2
  242. package/lib-esm/SelectMenu/SelectMenuTab.d.ts +1 -2
  243. package/lib-esm/SelectMenu/SelectMenuTab.js +2 -2
  244. package/lib-esm/SelectMenu/SelectMenuTabPanel.d.ts +1 -2
  245. package/lib-esm/SelectMenu/SelectMenuTabPanel.js +2 -2
  246. package/lib-esm/SelectMenu/SelectMenuTabs.d.ts +1 -2
  247. package/lib-esm/SelectMenu/SelectMenuTabs.js +2 -2
  248. package/lib-esm/SideNav.d.ts +11 -8
  249. package/lib-esm/SideNav.js +8 -16
  250. package/lib-esm/StateLabel.d.ts +1 -2
  251. package/lib-esm/StateLabel.js +7 -6
  252. package/lib-esm/StyledOcticon.d.ts +1 -2
  253. package/lib-esm/StyledOcticon.js +1 -2
  254. package/lib-esm/SubNav.d.ts +5 -11
  255. package/lib-esm/SubNav.js +8 -13
  256. package/lib-esm/TabNav.d.ts +3 -4
  257. package/lib-esm/TabNav.js +3 -3
  258. package/lib-esm/TextInputWithTokens.d.ts +3 -3
  259. package/lib-esm/Timeline.d.ts +19 -393
  260. package/lib-esm/Timeline.js +12 -13
  261. package/lib-esm/Token/Token.d.ts +1 -1
  262. package/lib-esm/Tooltip.d.ts +1 -2
  263. package/lib-esm/Tooltip.js +2 -2
  264. package/lib-esm/Truncate.d.ts +1 -2
  265. package/lib-esm/Truncate.js +1 -2
  266. package/lib-esm/UnderlineNav.d.ts +2 -3
  267. package/lib-esm/UnderlineNav.js +3 -3
  268. package/lib-esm/theme-preval.js +66 -366
  269. package/lib-esm/utils/testing.d.ts +6 -60
  270. package/package.json +4 -4
  271. package/.changeset/README.md +0 -8
  272. package/.changeset/config.json +0 -10
  273. package/.devcontainer/devcontainer.json +0 -8
  274. package/.eslintrc.json +0 -137
  275. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
  276. package/.github/ISSUE_TEMPLATE/new_component_proposal_template.md +0 -41
  277. package/.github/dependabot.yml +0 -18
  278. package/.github/pull_request_template.md +0 -18
  279. package/.github/workflows/check_for_changeset.yml +0 -25
  280. package/.github/workflows/ci.yml +0 -34
  281. package/.github/workflows/deploy_preview.yml +0 -47
  282. package/.github/workflows/deploy_production.yml +0 -70
  283. package/.github/workflows/release.yml +0 -36
  284. package/.github/workflows/release_canary.yml +0 -71
  285. package/.github/workflows/release_candidate.yml +0 -60
  286. package/.github/workflows/size.yml +0 -13
  287. package/.github/workflows/stale.yml +0 -26
  288. package/.gitignore +0 -10
  289. package/.npmrc +0 -4
  290. package/.nvmrc +0 -1
  291. package/.storybook/main.js +0 -9
  292. package/.storybook/preview.js +0 -117
  293. package/.vscode/launch.json +0 -21
  294. package/.vscode/settings.json +0 -13
  295. package/@types/@styled-system/index.d.ts +0 -0
  296. package/@types/@styled-system/prop-types/index.d.ts +0 -1
  297. package/@types/@styled-system/props/index.d.ts +0 -1
  298. package/@types/jest-styled-components/index.d.ts +0 -1
  299. package/CODEOWNERS +0 -2
  300. package/babel-defines.js +0 -13
  301. package/babel.config.js +0 -39
  302. package/contributor-docs/CODE_OF_CONDUCT.md +0 -76
  303. package/contributor-docs/CONTRIBUTING.md +0 -274
  304. package/contributor-docs/adrs/adr-001-typescript.md +0 -23
  305. package/contributor-docs/adrs/adr-002-behavior-isolation.md +0 -108
  306. package/contributor-docs/adrs/adr-003-prop-norms.md +0 -72
  307. package/contributor-docs/behaviors.md +0 -132
  308. package/contributor-docs/component-contents-api-patterns.md +0 -316
  309. package/contributor-docs/principles.md +0 -39
  310. package/docs/.eslintrc +0 -0
  311. package/docs/.gitignore +0 -91
  312. package/docs/components/PropsList.js +0 -5
  313. package/docs/components/State.js +0 -9
  314. package/docs/components/constants.js +0 -34
  315. package/docs/components/index.js +0 -2
  316. package/docs/content/ActionList.mdx +0 -99
  317. package/docs/content/ActionList2.mdx +0 -358
  318. package/docs/content/ActionMenu.mdx +0 -80
  319. package/docs/content/AnchoredOverlay.mdx +0 -37
  320. package/docs/content/Autocomplete.mdx +0 -657
  321. package/docs/content/Avatar.mdx +0 -33
  322. package/docs/content/AvatarStack.mdx +0 -37
  323. package/docs/content/BorderBox.md +0 -46
  324. package/docs/content/Box.mdx +0 -96
  325. package/docs/content/BranchName.md +0 -18
  326. package/docs/content/Breadcrumbs.md +0 -52
  327. package/docs/content/Buttons.md +0 -56
  328. package/docs/content/CircleBadge.md +0 -45
  329. package/docs/content/CircleOcticon.md +0 -18
  330. package/docs/content/CounterLabel.md +0 -32
  331. package/docs/content/Details.md +0 -105
  332. package/docs/content/Dialog.md +0 -108
  333. package/docs/content/Dialog2.mdx +0 -179
  334. package/docs/content/Dropdown.md +0 -72
  335. package/docs/content/DropdownMenu.mdx +0 -49
  336. package/docs/content/FilterList.md +0 -44
  337. package/docs/content/FilteredSearch.md +0 -39
  338. package/docs/content/Flash.md +0 -44
  339. package/docs/content/Flex.md +0 -58
  340. package/docs/content/FormGroup.md +0 -46
  341. package/docs/content/Grid.md +0 -59
  342. package/docs/content/Header.md +0 -79
  343. package/docs/content/Heading.md +0 -22
  344. package/docs/content/Label.md +0 -42
  345. package/docs/content/LabelGroup.md +0 -31
  346. package/docs/content/Link.md +0 -37
  347. package/docs/content/Overlay.mdx +0 -94
  348. package/docs/content/Pagehead.md +0 -27
  349. package/docs/content/Pagination.md +0 -187
  350. package/docs/content/PointerBox.md +0 -81
  351. package/docs/content/Popover.md +0 -137
  352. package/docs/content/Portal.mdx +0 -78
  353. package/docs/content/Position.md +0 -100
  354. package/docs/content/ProgressBar.mdx +0 -29
  355. package/docs/content/SelectMenu.md +0 -435
  356. package/docs/content/SelectPanel.mdx +0 -67
  357. package/docs/content/SideNav.md +0 -179
  358. package/docs/content/Spinner.mdx +0 -32
  359. package/docs/content/StateLabel.md +0 -36
  360. package/docs/content/StyledOcticon.md +0 -36
  361. package/docs/content/SubNav.md +0 -102
  362. package/docs/content/TabNav.md +0 -50
  363. package/docs/content/Text.md +0 -31
  364. package/docs/content/TextInput.md +0 -34
  365. package/docs/content/TextInputTokens.mdx +0 -89
  366. package/docs/content/TextInputWithTokens.mdx +0 -211
  367. package/docs/content/Timeline.md +0 -138
  368. package/docs/content/Token.mdx +0 -381
  369. package/docs/content/Tooltip.md +0 -41
  370. package/docs/content/Truncate.md +0 -64
  371. package/docs/content/UnderlineNav.md +0 -53
  372. package/docs/content/anchoredPosition.mdx +0 -163
  373. package/docs/content/core-concepts.md +0 -70
  374. package/docs/content/focusTrap.mdx +0 -103
  375. package/docs/content/focusZone.mdx +0 -145
  376. package/docs/content/getting-started.md +0 -138
  377. package/docs/content/index.md +0 -33
  378. package/docs/content/linting.md +0 -35
  379. package/docs/content/overriding-styles.mdx +0 -82
  380. package/docs/content/philosophy.md +0 -23
  381. package/docs/content/primer-theme.md +0 -89
  382. package/docs/content/ssr.mdx +0 -43
  383. package/docs/content/system-props.mdx +0 -37
  384. package/docs/content/theme-reference.md +0 -16
  385. package/docs/content/theming.md +0 -272
  386. package/docs/content/useOnEscapePress.mdx +0 -56
  387. package/docs/content/useOnOutsideClick.mdx +0 -57
  388. package/docs/content/useOpenAndCloseFocus.mdx +0 -49
  389. package/docs/content/useOverlay.mdx +0 -62
  390. package/docs/content/useSafeTimeout.mdx +0 -32
  391. package/docs/gatsby-config.js +0 -30
  392. package/docs/gatsby-node.js +0 -101
  393. package/docs/package-lock.json +0 -20756
  394. package/docs/package.json +0 -36
  395. package/docs/src/@primer/gatsby-theme-doctocat/components/hero.js +0 -21
  396. package/docs/src/@primer/gatsby-theme-doctocat/components/live-preview-wrapper.js +0 -41
  397. package/docs/src/@primer/gatsby-theme-doctocat/live-code-scope.js +0 -73
  398. package/docs/src/@primer/gatsby-theme-doctocat/nav.yml +0 -133
  399. package/docs/src/@primer/gatsby-theme-doctocat/primer-components-hero.svg +0 -1411
  400. package/docs/src/component-checklist.js +0 -81
  401. package/docs/src/props.js +0 -77
  402. package/jest.config.js +0 -13
  403. package/lib/__tests__/ActionList.test.d.ts +0 -1
  404. package/lib/__tests__/ActionList.test.js +0 -69
  405. package/lib/__tests__/ActionList.test.jsx +0 -49
  406. package/lib/__tests__/ActionList.types.test.d.ts +0 -6
  407. package/lib/__tests__/ActionList.types.test.js +0 -69
  408. package/lib/__tests__/ActionList.types.test.jsx +0 -45
  409. package/lib/__tests__/ActionList2.test.d.ts +0 -1
  410. package/lib/__tests__/ActionList2.test.js +0 -53
  411. package/lib/__tests__/ActionList2.test.jsx +0 -46
  412. package/lib/__tests__/ActionMenu.test.d.ts +0 -1
  413. package/lib/__tests__/ActionMenu.test.js +0 -151
  414. package/lib/__tests__/ActionMenu.test.jsx +0 -124
  415. package/lib/__tests__/AnchoredOverlay.test.d.ts +0 -1
  416. package/lib/__tests__/AnchoredOverlay.test.js +0 -162
  417. package/lib/__tests__/AnchoredOverlay.test.jsx +0 -121
  418. package/lib/__tests__/Autocomplete.test.d.ts +0 -1
  419. package/lib/__tests__/Autocomplete.test.js +0 -528
  420. package/lib/__tests__/Autocomplete.test.jsx +0 -299
  421. package/lib/__tests__/Avatar.test.d.ts +0 -1
  422. package/lib/__tests__/Avatar.test.js +0 -67
  423. package/lib/__tests__/Avatar.test.jsx +0 -42
  424. package/lib/__tests__/AvatarStack.test.d.ts +0 -1
  425. package/lib/__tests__/AvatarStack.test.js +0 -71
  426. package/lib/__tests__/AvatarStack.test.jsx +0 -43
  427. package/lib/__tests__/BorderBox.test.d.ts +0 -1
  428. package/lib/__tests__/BorderBox.test.js +0 -58
  429. package/lib/__tests__/BorderBox.test.jsx +0 -36
  430. package/lib/__tests__/Box.test.d.ts +0 -1
  431. package/lib/__tests__/Box.test.js +0 -78
  432. package/lib/__tests__/Box.test.jsx +0 -41
  433. package/lib/__tests__/BranchName.test.d.ts +0 -1
  434. package/lib/__tests__/BranchName.test.js +0 -36
  435. package/lib/__tests__/BranchName.test.jsx +0 -27
  436. package/lib/__tests__/Breadcrumbs.test.d.ts +0 -1
  437. package/lib/__tests__/Breadcrumbs.test.js +0 -37
  438. package/lib/__tests__/Breadcrumbs.test.jsx +0 -28
  439. package/lib/__tests__/BreadcrumbsItem.test.d.ts +0 -1
  440. package/lib/__tests__/BreadcrumbsItem.test.js +0 -49
  441. package/lib/__tests__/BreadcrumbsItem.test.jsx +0 -31
  442. package/lib/__tests__/Button.test.d.ts +0 -1
  443. package/lib/__tests__/Button.test.js +0 -143
  444. package/lib/__tests__/Button.test.jsx +0 -100
  445. package/lib/__tests__/Caret.test.d.ts +0 -1
  446. package/lib/__tests__/Caret.test.js +0 -52
  447. package/lib/__tests__/Caret.test.jsx +0 -37
  448. package/lib/__tests__/CircleBadge.test.d.ts +0 -1
  449. package/lib/__tests__/CircleBadge.test.js +0 -83
  450. package/lib/__tests__/CircleBadge.test.jsx +0 -55
  451. package/lib/__tests__/CircleOcticon.test.d.ts +0 -1
  452. package/lib/__tests__/CircleOcticon.test.js +0 -71
  453. package/lib/__tests__/CircleOcticon.test.jsx +0 -45
  454. package/lib/__tests__/ConfirmationDialog.test.d.ts +0 -1
  455. package/lib/__tests__/ConfirmationDialog.test.js +0 -134
  456. package/lib/__tests__/ConfirmationDialog.test.jsx +0 -119
  457. package/lib/__tests__/CounterLabel.test.d.ts +0 -1
  458. package/lib/__tests__/CounterLabel.test.js +0 -58
  459. package/lib/__tests__/CounterLabel.test.jsx +0 -36
  460. package/lib/__tests__/Details.test.d.ts +0 -1
  461. package/lib/__tests__/Details.test.js +0 -117
  462. package/lib/__tests__/Details.test.jsx +0 -85
  463. package/lib/__tests__/Dialog.test.d.ts +0 -1
  464. package/lib/__tests__/Dialog.test.js +0 -184
  465. package/lib/__tests__/Dialog.test.jsx +0 -139
  466. package/lib/__tests__/Dropdown.test.d.ts +0 -1
  467. package/lib/__tests__/Dropdown.test.js +0 -63
  468. package/lib/__tests__/Dropdown.test.jsx +0 -49
  469. package/lib/__tests__/DropdownMenu.test.d.ts +0 -1
  470. package/lib/__tests__/DropdownMenu.test.js +0 -150
  471. package/lib/__tests__/DropdownMenu.test.jsx +0 -119
  472. package/lib/__tests__/FilterList.test.d.ts +0 -1
  473. package/lib/__tests__/FilterList.test.js +0 -36
  474. package/lib/__tests__/FilterList.test.jsx +0 -27
  475. package/lib/__tests__/FilterListItem.test.d.ts +0 -1
  476. package/lib/__tests__/FilterListItem.test.js +0 -46
  477. package/lib/__tests__/FilterListItem.test.jsx +0 -31
  478. package/lib/__tests__/FilteredSearch.test.d.ts +0 -1
  479. package/lib/__tests__/FilteredSearch.test.js +0 -36
  480. package/lib/__tests__/FilteredSearch.test.jsx +0 -27
  481. package/lib/__tests__/Flash.test.d.ts +0 -1
  482. package/lib/__tests__/Flash.test.js +0 -62
  483. package/lib/__tests__/Flash.test.jsx +0 -36
  484. package/lib/__tests__/Flex.test.d.ts +0 -1
  485. package/lib/__tests__/Flex.test.js +0 -74
  486. package/lib/__tests__/Flex.test.jsx +0 -51
  487. package/lib/__tests__/FormGroup.test.d.ts +0 -1
  488. package/lib/__tests__/FormGroup.test.js +0 -54
  489. package/lib/__tests__/FormGroup.test.jsx +0 -36
  490. package/lib/__tests__/Grid.test.d.ts +0 -1
  491. package/lib/__tests__/Grid.test.js +0 -104
  492. package/lib/__tests__/Grid.test.jsx +0 -69
  493. package/lib/__tests__/Header.test.d.ts +0 -1
  494. package/lib/__tests__/Header.test.js +0 -58
  495. package/lib/__tests__/Header.test.jsx +0 -45
  496. package/lib/__tests__/Heading.test.d.ts +0 -1
  497. package/lib/__tests__/Heading.test.js +0 -109
  498. package/lib/__tests__/Heading.test.jsx +0 -71
  499. package/lib/__tests__/KeyPaths.types.test.d.ts +0 -11
  500. package/lib/__tests__/KeyPaths.types.test.js +0 -7
  501. package/lib/__tests__/Label.test.d.ts +0 -1
  502. package/lib/__tests__/Label.test.js +0 -46
  503. package/lib/__tests__/Label.test.jsx +0 -33
  504. package/lib/__tests__/LabelGroup.test.d.ts +0 -1
  505. package/lib/__tests__/LabelGroup.test.js +0 -38
  506. package/lib/__tests__/LabelGroup.test.jsx +0 -29
  507. package/lib/__tests__/Link.test.d.ts +0 -1
  508. package/lib/__tests__/Link.test.js +0 -70
  509. package/lib/__tests__/Link.test.jsx +0 -43
  510. package/lib/__tests__/Merge.types.test.d.ts +0 -30
  511. package/lib/__tests__/Merge.types.test.js +0 -21
  512. package/lib/__tests__/NewButton.test.d.ts +0 -1
  513. package/lib/__tests__/NewButton.test.js +0 -95
  514. package/lib/__tests__/NewButton.test.jsx +0 -61
  515. package/lib/__tests__/Overlay.test.d.ts +0 -1
  516. package/lib/__tests__/Overlay.test.js +0 -145
  517. package/lib/__tests__/Overlay.test.jsx +0 -105
  518. package/lib/__tests__/Pagehead.test.d.ts +0 -1
  519. package/lib/__tests__/Pagehead.test.js +0 -37
  520. package/lib/__tests__/Pagehead.test.jsx +0 -25
  521. package/lib/__tests__/Pagination/Pagination.test.d.ts +0 -1
  522. package/lib/__tests__/Pagination/Pagination.test.js +0 -47
  523. package/lib/__tests__/Pagination/Pagination.test.jsx +0 -32
  524. package/lib/__tests__/Pagination/PaginationModel.test.d.ts +0 -1
  525. package/lib/__tests__/Pagination/PaginationModel.test.js +0 -186
  526. package/lib/__tests__/Pagination/PaginationModel.test.jsx +0 -118
  527. package/lib/__tests__/PointerBox.test.d.ts +0 -1
  528. package/lib/__tests__/PointerBox.test.js +0 -46
  529. package/lib/__tests__/PointerBox.test.jsx +0 -33
  530. package/lib/__tests__/Popover.test.d.ts +0 -1
  531. package/lib/__tests__/Popover.test.js +0 -66
  532. package/lib/__tests__/Popover.test.jsx +0 -58
  533. package/lib/__tests__/Portal.test.d.ts +0 -1
  534. package/lib/__tests__/Portal.test.js +0 -124
  535. package/lib/__tests__/Portal.test.jsx +0 -102
  536. package/lib/__tests__/Position.test.d.ts +0 -1
  537. package/lib/__tests__/Position.test.js +0 -143
  538. package/lib/__tests__/Position.test.jsx +0 -96
  539. package/lib/__tests__/ProgressBar.test.d.ts +0 -1
  540. package/lib/__tests__/ProgressBar.test.js +0 -68
  541. package/lib/__tests__/ProgressBar.test.jsx +0 -38
  542. package/lib/__tests__/SelectMenu.test.d.ts +0 -1
  543. package/lib/__tests__/SelectMenu.test.js +0 -155
  544. package/lib/__tests__/SelectMenu.test.jsx +0 -120
  545. package/lib/__tests__/SelectPanel.test.d.ts +0 -1
  546. package/lib/__tests__/SelectPanel.test.js +0 -80
  547. package/lib/__tests__/SelectPanel.test.jsx +0 -48
  548. package/lib/__tests__/SideNav.test.d.ts +0 -1
  549. package/lib/__tests__/SideNav.test.js +0 -71
  550. package/lib/__tests__/SideNav.test.jsx +0 -55
  551. package/lib/__tests__/Spinner.test.d.ts +0 -1
  552. package/lib/__tests__/Spinner.test.js +0 -53
  553. package/lib/__tests__/Spinner.test.jsx +0 -41
  554. package/lib/__tests__/StateLabel.test.d.ts +0 -1
  555. package/lib/__tests__/StateLabel.test.js +0 -71
  556. package/lib/__tests__/StateLabel.test.jsx +0 -46
  557. package/lib/__tests__/StyledOcticon.test.d.ts +0 -1
  558. package/lib/__tests__/StyledOcticon.test.js +0 -40
  559. package/lib/__tests__/StyledOcticon.test.jsx +0 -28
  560. package/lib/__tests__/SubNav.test.d.ts +0 -1
  561. package/lib/__tests__/SubNav.test.js +0 -62
  562. package/lib/__tests__/SubNav.test.jsx +0 -47
  563. package/lib/__tests__/SubNavLink.test.d.ts +0 -1
  564. package/lib/__tests__/SubNavLink.test.js +0 -49
  565. package/lib/__tests__/SubNavLink.test.jsx +0 -31
  566. package/lib/__tests__/TabNav.test.d.ts +0 -1
  567. package/lib/__tests__/TabNav.test.js +0 -49
  568. package/lib/__tests__/TabNav.test.jsx +0 -32
  569. package/lib/__tests__/Text.test.d.ts +0 -1
  570. package/lib/__tests__/Text.test.js +0 -105
  571. package/lib/__tests__/Text.test.jsx +0 -71
  572. package/lib/__tests__/TextInput.test.d.ts +0 -1
  573. package/lib/__tests__/TextInput.test.js +0 -78
  574. package/lib/__tests__/TextInput.test.jsx +0 -45
  575. package/lib/__tests__/TextInputWithTokens.test.d.ts +0 -1
  576. package/lib/__tests__/TextInputWithTokens.test.js +0 -572
  577. package/lib/__tests__/TextInputWithTokens.test.jsx +0 -302
  578. package/lib/__tests__/ThemeProvider.test.d.ts +0 -1
  579. package/lib/__tests__/ThemeProvider.test.js +0 -444
  580. package/lib/__tests__/ThemeProvider.test.jsx +0 -314
  581. package/lib/__tests__/Timeline.test.d.ts +0 -1
  582. package/lib/__tests__/Timeline.test.js +0 -75
  583. package/lib/__tests__/Timeline.test.jsx +0 -51
  584. package/lib/__tests__/Token.test.d.ts +0 -1
  585. package/lib/__tests__/Token.test.js +0 -180
  586. package/lib/__tests__/Token.test.jsx +0 -93
  587. package/lib/__tests__/Tooltip.test.d.ts +0 -1
  588. package/lib/__tests__/Tooltip.test.js +0 -69
  589. package/lib/__tests__/Tooltip.test.jsx +0 -46
  590. package/lib/__tests__/Truncate.test.d.ts +0 -1
  591. package/lib/__tests__/Truncate.test.js +0 -63
  592. package/lib/__tests__/Truncate.test.jsx +0 -41
  593. package/lib/__tests__/UnderlineNav.test.d.ts +0 -1
  594. package/lib/__tests__/UnderlineNav.test.js +0 -72
  595. package/lib/__tests__/UnderlineNav.test.jsx +0 -53
  596. package/lib/__tests__/UnderlineNavLink.test.d.ts +0 -1
  597. package/lib/__tests__/UnderlineNavLink.test.js +0 -51
  598. package/lib/__tests__/UnderlineNavLink.test.jsx +0 -31
  599. package/lib/__tests__/behaviors/anchoredPosition.test.d.ts +0 -1
  600. package/lib/__tests__/behaviors/anchoredPosition.test.js +0 -243
  601. package/lib/__tests__/behaviors/focusTrap.test.d.ts +0 -1
  602. package/lib/__tests__/behaviors/focusTrap.test.js +0 -234
  603. package/lib/__tests__/behaviors/focusTrap.test.jsx +0 -184
  604. package/lib/__tests__/behaviors/focusZone.test.d.ts +0 -1
  605. package/lib/__tests__/behaviors/focusZone.test.js +0 -570
  606. package/lib/__tests__/behaviors/focusZone.test.jsx +0 -406
  607. package/lib/__tests__/behaviors/iterateFocusableElements.test.d.ts +0 -1
  608. package/lib/__tests__/behaviors/iterateFocusableElements.test.js +0 -55
  609. package/lib/__tests__/behaviors/iterateFocusableElements.test.jsx +0 -58
  610. package/lib/__tests__/behaviors/scrollIntoViewingArea.test.d.ts +0 -1
  611. package/lib/__tests__/behaviors/scrollIntoViewingArea.test.js +0 -155
  612. package/lib/__tests__/filterObject.test.d.ts +0 -1
  613. package/lib/__tests__/filterObject.test.js +0 -51
  614. package/lib/__tests__/hooks/useAnchoredPosition.test.d.ts +0 -1
  615. package/lib/__tests__/hooks/useAnchoredPosition.test.js +0 -54
  616. package/lib/__tests__/hooks/useAnchoredPosition.test.jsx +0 -29
  617. package/lib/__tests__/hooks/useOnEscapePress.test.d.ts +0 -1
  618. package/lib/__tests__/hooks/useOnEscapePress.test.js +0 -32
  619. package/lib/__tests__/hooks/useOnEscapePress.test.jsx +0 -19
  620. package/lib/__tests__/hooks/useOnOutsideClick.test.d.ts +0 -1
  621. package/lib/__tests__/hooks/useOnOutsideClick.test.js +0 -87
  622. package/lib/__tests__/hooks/useOnOutsideClick.test.jsx +0 -63
  623. package/lib/__tests__/hooks/useOpenAndCloseFocus.test.d.ts +0 -1
  624. package/lib/__tests__/hooks/useOpenAndCloseFocus.test.js +0 -60
  625. package/lib/__tests__/hooks/useOpenAndCloseFocus.test.jsx +0 -61
  626. package/lib/__tests__/hooks/useProvidedStateOrCreate.test.d.ts +0 -1
  627. package/lib/__tests__/hooks/useProvidedStateOrCreate.test.js +0 -45
  628. package/lib/__tests__/hooks/useProvidedStateOrCreate.test.jsx +0 -56
  629. package/lib/__tests__/theme.test.d.ts +0 -1
  630. package/lib/__tests__/theme.test.js +0 -35
  631. package/lib/__tests__/themeGet.test.d.ts +0 -1
  632. package/lib/__tests__/themeGet.test.js +0 -14
  633. package/lib/__tests__/useSafeTimeout.test.d.ts +0 -1
  634. package/lib/__tests__/useSafeTimeout.test.js +0 -45
  635. package/lib/__tests__/useSafeTimeout.test.jsx +0 -36
  636. package/lib/__tests__/utils/createSlots.test.d.ts +0 -1
  637. package/lib/__tests__/utils/createSlots.test.js +0 -75
  638. package/lib/__tests__/utils/createSlots.test.jsx +0 -57
  639. package/lib/stories/ActionList.stories.js +0 -454
  640. package/lib/stories/ActionList2.stories.js +0 -908
  641. package/lib/stories/ActionMenu.stories.js +0 -350
  642. package/lib/stories/AnchoredOverlay.stories.js +0 -127
  643. package/lib/stories/Autocomplete.stories.js +0 -619
  644. package/lib/stories/AvatarStack.stories.js +0 -49
  645. package/lib/stories/Button.stories.js +0 -125
  646. package/lib/stories/ConfirmationDialog.stories.js +0 -111
  647. package/lib/stories/Dialog.stories.js +0 -265
  648. package/lib/stories/DropdownMenu.stories.js +0 -122
  649. package/lib/stories/IssueLabelToken.stories.js +0 -165
  650. package/lib/stories/NewButton.stories.js +0 -230
  651. package/lib/stories/Overlay.stories.js +0 -204
  652. package/lib/stories/Portal.stories.js +0 -104
  653. package/lib/stories/ProfileToken.stories.js +0 -162
  654. package/lib/stories/SelectPanel.stories.js +0 -399
  655. package/lib/stories/TextInput.stories.js +0 -144
  656. package/lib/stories/TextInputWithTokens.stories.js +0 -252
  657. package/lib/stories/ThemeProvider.stories.js +0 -102
  658. package/lib/stories/Token.stories.js +0 -176
  659. package/lib/stories/useAnchoredPosition.stories.js +0 -351
  660. package/lib/stories/useFocusTrap.stories.js +0 -356
  661. package/lib/stories/useFocusZone.stories.js +0 -599
  662. package/lib-esm/__tests__/ActionList.test.d.ts +0 -1
  663. package/lib-esm/__tests__/ActionList.test.js +0 -57
  664. package/lib-esm/__tests__/ActionList.types.test.d.ts +0 -6
  665. package/lib-esm/__tests__/ActionList.types.test.js +0 -45
  666. package/lib-esm/__tests__/ActionList2.test.d.ts +0 -1
  667. package/lib-esm/__tests__/ActionList2.test.js +0 -41
  668. package/lib-esm/__tests__/ActionMenu.test.d.ts +0 -1
  669. package/lib-esm/__tests__/ActionMenu.test.js +0 -139
  670. package/lib-esm/__tests__/AnchoredOverlay.test.d.ts +0 -1
  671. package/lib-esm/__tests__/AnchoredOverlay.test.js +0 -136
  672. package/lib-esm/__tests__/Autocomplete.test.d.ts +0 -1
  673. package/lib-esm/__tests__/Autocomplete.test.js +0 -494
  674. package/lib-esm/__tests__/Avatar.test.d.ts +0 -1
  675. package/lib-esm/__tests__/Avatar.test.js +0 -56
  676. package/lib-esm/__tests__/AvatarStack.test.d.ts +0 -1
  677. package/lib-esm/__tests__/AvatarStack.test.js +0 -58
  678. package/lib-esm/__tests__/BorderBox.test.d.ts +0 -1
  679. package/lib-esm/__tests__/BorderBox.test.js +0 -47
  680. package/lib-esm/__tests__/Box.test.d.ts +0 -1
  681. package/lib-esm/__tests__/Box.test.js +0 -67
  682. package/lib-esm/__tests__/BranchName.test.d.ts +0 -1
  683. package/lib-esm/__tests__/BranchName.test.js +0 -26
  684. package/lib-esm/__tests__/Breadcrumbs.test.d.ts +0 -1
  685. package/lib-esm/__tests__/Breadcrumbs.test.js +0 -27
  686. package/lib-esm/__tests__/BreadcrumbsItem.test.d.ts +0 -1
  687. package/lib-esm/__tests__/BreadcrumbsItem.test.js +0 -39
  688. package/lib-esm/__tests__/Button.test.d.ts +0 -1
  689. package/lib-esm/__tests__/Button.test.js +0 -133
  690. package/lib-esm/__tests__/Caret.test.d.ts +0 -1
  691. package/lib-esm/__tests__/Caret.test.js +0 -42
  692. package/lib-esm/__tests__/CircleBadge.test.d.ts +0 -1
  693. package/lib-esm/__tests__/CircleBadge.test.js +0 -70
  694. package/lib-esm/__tests__/CircleOcticon.test.d.ts +0 -1
  695. package/lib-esm/__tests__/CircleOcticon.test.js +0 -59
  696. package/lib-esm/__tests__/ConfirmationDialog.test.d.ts +0 -1
  697. package/lib-esm/__tests__/ConfirmationDialog.test.js +0 -113
  698. package/lib-esm/__tests__/CounterLabel.test.d.ts +0 -1
  699. package/lib-esm/__tests__/CounterLabel.test.js +0 -47
  700. package/lib-esm/__tests__/Details.test.d.ts +0 -1
  701. package/lib-esm/__tests__/Details.test.js +0 -107
  702. package/lib-esm/__tests__/Dialog.test.d.ts +0 -1
  703. package/lib-esm/__tests__/Dialog.test.js +0 -171
  704. package/lib-esm/__tests__/Dropdown.test.d.ts +0 -1
  705. package/lib-esm/__tests__/Dropdown.test.js +0 -53
  706. package/lib-esm/__tests__/DropdownMenu.test.d.ts +0 -1
  707. package/lib-esm/__tests__/DropdownMenu.test.js +0 -137
  708. package/lib-esm/__tests__/FilterList.test.d.ts +0 -1
  709. package/lib-esm/__tests__/FilterList.test.js +0 -26
  710. package/lib-esm/__tests__/FilterListItem.test.d.ts +0 -1
  711. package/lib-esm/__tests__/FilterListItem.test.js +0 -36
  712. package/lib-esm/__tests__/FilteredSearch.test.d.ts +0 -1
  713. package/lib-esm/__tests__/FilteredSearch.test.js +0 -26
  714. package/lib-esm/__tests__/Flash.test.d.ts +0 -1
  715. package/lib-esm/__tests__/Flash.test.js +0 -51
  716. package/lib-esm/__tests__/Flex.test.d.ts +0 -1
  717. package/lib-esm/__tests__/Flex.test.js +0 -64
  718. package/lib-esm/__tests__/FormGroup.test.d.ts +0 -1
  719. package/lib-esm/__tests__/FormGroup.test.js +0 -44
  720. package/lib-esm/__tests__/Grid.test.d.ts +0 -1
  721. package/lib-esm/__tests__/Grid.test.js +0 -94
  722. package/lib-esm/__tests__/Header.test.d.ts +0 -1
  723. package/lib-esm/__tests__/Header.test.js +0 -48
  724. package/lib-esm/__tests__/Heading.test.d.ts +0 -1
  725. package/lib-esm/__tests__/Heading.test.js +0 -99
  726. package/lib-esm/__tests__/KeyPaths.types.test.d.ts +0 -11
  727. package/lib-esm/__tests__/KeyPaths.types.test.js +0 -3
  728. package/lib-esm/__tests__/Label.test.d.ts +0 -1
  729. package/lib-esm/__tests__/Label.test.js +0 -36
  730. package/lib-esm/__tests__/LabelGroup.test.d.ts +0 -1
  731. package/lib-esm/__tests__/LabelGroup.test.js +0 -26
  732. package/lib-esm/__tests__/Link.test.d.ts +0 -1
  733. package/lib-esm/__tests__/Link.test.js +0 -60
  734. package/lib-esm/__tests__/Merge.types.test.d.ts +0 -30
  735. package/lib-esm/__tests__/Merge.types.test.js +0 -14
  736. package/lib-esm/__tests__/NewButton.test.d.ts +0 -1
  737. package/lib-esm/__tests__/NewButton.test.js +0 -84
  738. package/lib-esm/__tests__/Overlay.test.d.ts +0 -1
  739. package/lib-esm/__tests__/Overlay.test.js +0 -123
  740. package/lib-esm/__tests__/Pagehead.test.d.ts +0 -1
  741. package/lib-esm/__tests__/Pagehead.test.js +0 -26
  742. package/lib-esm/__tests__/Pagination/Pagination.test.d.ts +0 -1
  743. package/lib-esm/__tests__/Pagination/Pagination.test.js +0 -35
  744. package/lib-esm/__tests__/Pagination/PaginationModel.test.d.ts +0 -1
  745. package/lib-esm/__tests__/Pagination/PaginationModel.test.js +0 -182
  746. package/lib-esm/__tests__/PointerBox.test.d.ts +0 -1
  747. package/lib-esm/__tests__/PointerBox.test.js +0 -36
  748. package/lib-esm/__tests__/Popover.test.d.ts +0 -1
  749. package/lib-esm/__tests__/Popover.test.js +0 -53
  750. package/lib-esm/__tests__/Portal.test.d.ts +0 -1
  751. package/lib-esm/__tests__/Portal.test.js +0 -104
  752. package/lib-esm/__tests__/Position.test.d.ts +0 -1
  753. package/lib-esm/__tests__/Position.test.js +0 -133
  754. package/lib-esm/__tests__/ProgressBar.test.d.ts +0 -1
  755. package/lib-esm/__tests__/ProgressBar.test.js +0 -58
  756. package/lib-esm/__tests__/SelectMenu.test.d.ts +0 -1
  757. package/lib-esm/__tests__/SelectMenu.test.js +0 -145
  758. package/lib-esm/__tests__/SelectPanel.test.d.ts +0 -1
  759. package/lib-esm/__tests__/SelectPanel.test.js +0 -65
  760. package/lib-esm/__tests__/SideNav.test.d.ts +0 -1
  761. package/lib-esm/__tests__/SideNav.test.js +0 -60
  762. package/lib-esm/__tests__/Spinner.test.d.ts +0 -1
  763. package/lib-esm/__tests__/Spinner.test.js +0 -43
  764. package/lib-esm/__tests__/StateLabel.test.d.ts +0 -1
  765. package/lib-esm/__tests__/StateLabel.test.js +0 -61
  766. package/lib-esm/__tests__/StyledOcticon.test.d.ts +0 -1
  767. package/lib-esm/__tests__/StyledOcticon.test.js +0 -29
  768. package/lib-esm/__tests__/SubNav.test.d.ts +0 -1
  769. package/lib-esm/__tests__/SubNav.test.js +0 -50
  770. package/lib-esm/__tests__/SubNavLink.test.d.ts +0 -1
  771. package/lib-esm/__tests__/SubNavLink.test.js +0 -39
  772. package/lib-esm/__tests__/TabNav.test.d.ts +0 -1
  773. package/lib-esm/__tests__/TabNav.test.js +0 -39
  774. package/lib-esm/__tests__/Text.test.d.ts +0 -1
  775. package/lib-esm/__tests__/Text.test.js +0 -93
  776. package/lib-esm/__tests__/TextInput.test.d.ts +0 -1
  777. package/lib-esm/__tests__/TextInput.test.js +0 -68
  778. package/lib-esm/__tests__/TextInputWithTokens.test.d.ts +0 -1
  779. package/lib-esm/__tests__/TextInputWithTokens.test.js +0 -511
  780. package/lib-esm/__tests__/ThemeProvider.test.d.ts +0 -1
  781. package/lib-esm/__tests__/ThemeProvider.test.js +0 -408
  782. package/lib-esm/__tests__/Timeline.test.d.ts +0 -1
  783. package/lib-esm/__tests__/Timeline.test.js +0 -65
  784. package/lib-esm/__tests__/Token.test.d.ts +0 -1
  785. package/lib-esm/__tests__/Token.test.js +0 -166
  786. package/lib-esm/__tests__/Tooltip.test.d.ts +0 -1
  787. package/lib-esm/__tests__/Tooltip.test.js +0 -59
  788. package/lib-esm/__tests__/Truncate.test.d.ts +0 -1
  789. package/lib-esm/__tests__/Truncate.test.js +0 -53
  790. package/lib-esm/__tests__/UnderlineNav.test.d.ts +0 -1
  791. package/lib-esm/__tests__/UnderlineNav.test.js +0 -60
  792. package/lib-esm/__tests__/UnderlineNavLink.test.d.ts +0 -1
  793. package/lib-esm/__tests__/UnderlineNavLink.test.js +0 -41
  794. package/lib-esm/__tests__/behaviors/anchoredPosition.test.d.ts +0 -1
  795. package/lib-esm/__tests__/behaviors/anchoredPosition.test.js +0 -388
  796. package/lib-esm/__tests__/behaviors/focusTrap.test.d.ts +0 -1
  797. package/lib-esm/__tests__/behaviors/focusTrap.test.js +0 -227
  798. package/lib-esm/__tests__/behaviors/focusZone.test.d.ts +0 -1
  799. package/lib-esm/__tests__/behaviors/focusZone.test.js +0 -487
  800. package/lib-esm/__tests__/behaviors/iterateFocusableElements.test.d.ts +0 -1
  801. package/lib-esm/__tests__/behaviors/iterateFocusableElements.test.js +0 -48
  802. package/lib-esm/__tests__/behaviors/scrollIntoViewingArea.test.d.ts +0 -1
  803. package/lib-esm/__tests__/behaviors/scrollIntoViewingArea.test.js +0 -224
  804. package/lib-esm/__tests__/filterObject.test.d.ts +0 -1
  805. package/lib-esm/__tests__/filterObject.test.js +0 -27
  806. package/lib-esm/__tests__/hooks/useAnchoredPosition.test.d.ts +0 -1
  807. package/lib-esm/__tests__/hooks/useAnchoredPosition.test.js +0 -46
  808. package/lib-esm/__tests__/hooks/useOnEscapePress.test.d.ts +0 -1
  809. package/lib-esm/__tests__/hooks/useOnEscapePress.test.js +0 -23
  810. package/lib-esm/__tests__/hooks/useOnOutsideClick.test.d.ts +0 -1
  811. package/lib-esm/__tests__/hooks/useOnOutsideClick.test.js +0 -68
  812. package/lib-esm/__tests__/hooks/useOpenAndCloseFocus.test.d.ts +0 -1
  813. package/lib-esm/__tests__/hooks/useOpenAndCloseFocus.test.js +0 -52
  814. package/lib-esm/__tests__/hooks/useProvidedStateOrCreate.test.d.ts +0 -1
  815. package/lib-esm/__tests__/hooks/useProvidedStateOrCreate.test.js +0 -36
  816. package/lib-esm/__tests__/theme.test.d.ts +0 -1
  817. package/lib-esm/__tests__/theme.test.js +0 -33
  818. package/lib-esm/__tests__/themeGet.test.d.ts +0 -1
  819. package/lib-esm/__tests__/themeGet.test.js +0 -22
  820. package/lib-esm/__tests__/useSafeTimeout.test.d.ts +0 -1
  821. package/lib-esm/__tests__/useSafeTimeout.test.js +0 -39
  822. package/lib-esm/__tests__/utils/createSlots.test.d.ts +0 -1
  823. package/lib-esm/__tests__/utils/createSlots.test.js +0 -67
  824. package/lib-esm/stories/ActionList.stories.js +0 -395
  825. package/lib-esm/stories/ActionList2.stories.js +0 -796
  826. package/lib-esm/stories/ActionMenu.stories.js +0 -305
  827. package/lib-esm/stories/AnchoredOverlay.stories.js +0 -101
  828. package/lib-esm/stories/Autocomplete.stories.js +0 -560
  829. package/lib-esm/stories/AvatarStack.stories.js +0 -32
  830. package/lib-esm/stories/Button.stories.js +0 -86
  831. package/lib-esm/stories/ConfirmationDialog.stories.js +0 -86
  832. package/lib-esm/stories/Dialog.stories.js +0 -240
  833. package/lib-esm/stories/DropdownMenu.stories.js +0 -94
  834. package/lib-esm/stories/IssueLabelToken.stories.js +0 -139
  835. package/lib-esm/stories/NewButton.stories.js +0 -178
  836. package/lib-esm/stories/Overlay.stories.js +0 -173
  837. package/lib-esm/stories/Portal.stories.js +0 -68
  838. package/lib-esm/stories/ProfileToken.stories.js +0 -136
  839. package/lib-esm/stories/SelectPanel.stories.js +0 -334
  840. package/lib-esm/stories/TextInput.stories.js +0 -117
  841. package/lib-esm/stories/TextInputWithTokens.stories.js +0 -210
  842. package/lib-esm/stories/ThemeProvider.stories.js +0 -83
  843. package/lib-esm/stories/Token.stories.js +0 -146
  844. package/lib-esm/stories/useAnchoredPosition.stories.js +0 -313
  845. package/lib-esm/stories/useFocusTrap.stories.js +0 -309
  846. package/lib-esm/stories/useFocusZone.stories.js +0 -554
  847. package/migrating.md +0 -250
  848. package/now.json +0 -17
  849. package/package-lock.json +0 -66509
  850. package/rollup.config.js +0 -36
  851. package/script/build +0 -21
  852. package/script/build-storybook +0 -10
  853. package/script/setup +0 -12
  854. package/src/ActionList/Divider.tsx +0 -25
  855. package/src/ActionList/Group.tsx +0 -45
  856. package/src/ActionList/Header.tsx +0 -74
  857. package/src/ActionList/Item.tsx +0 -509
  858. package/src/ActionList/List.tsx +0 -258
  859. package/src/ActionList/index.ts +0 -21
  860. package/src/ActionList2/Description.tsx +0 -52
  861. package/src/ActionList2/Divider.tsx +0 -24
  862. package/src/ActionList2/Group.tsx +0 -34
  863. package/src/ActionList2/Header.tsx +0 -58
  864. package/src/ActionList2/Item.tsx +0 -246
  865. package/src/ActionList2/LinkItem.tsx +0 -49
  866. package/src/ActionList2/List.tsx +0 -55
  867. package/src/ActionList2/Selection.tsx +0 -60
  868. package/src/ActionList2/Visuals.tsx +0 -76
  869. package/src/ActionList2/index.ts +0 -39
  870. package/src/ActionMenu.tsx +0 -106
  871. package/src/AnchoredOverlay/AnchoredOverlay.tsx +0 -191
  872. package/src/AnchoredOverlay/index.ts +0 -2
  873. package/src/Autocomplete/Autocomplete.tsx +0 -103
  874. package/src/Autocomplete/AutocompleteContext.tsx +0 -19
  875. package/src/Autocomplete/AutocompleteInput.tsx +0 -179
  876. package/src/Autocomplete/AutocompleteMenu.tsx +0 -341
  877. package/src/Autocomplete/AutocompleteOverlay.tsx +0 -68
  878. package/src/Autocomplete/index.ts +0 -2
  879. package/src/Avatar.tsx +0 -46
  880. package/src/AvatarPair.tsx +0 -35
  881. package/src/AvatarStack.tsx +0 -159
  882. package/src/BaseStyles.tsx +0 -53
  883. package/src/BorderBox.tsx +0 -18
  884. package/src/Box.tsx +0 -54
  885. package/src/BranchName.tsx +0 -19
  886. package/src/Breadcrumbs.tsx +0 -101
  887. package/src/Button/Button.tsx +0 -40
  888. package/src/Button/ButtonBase.tsx +0 -43
  889. package/src/Button/ButtonClose.tsx +0 -40
  890. package/src/Button/ButtonDanger.tsx +0 -43
  891. package/src/Button/ButtonGroup.tsx +0 -55
  892. package/src/Button/ButtonInvisible.tsx +0 -32
  893. package/src/Button/ButtonOutline.tsx +0 -43
  894. package/src/Button/ButtonPrimary.tsx +0 -41
  895. package/src/Button/ButtonStyles.tsx +0 -36
  896. package/src/Button/ButtonTableList.tsx +0 -58
  897. package/src/Button/index.ts +0 -16
  898. package/src/Caret.tsx +0 -133
  899. package/src/CircleBadge.tsx +0 -55
  900. package/src/CircleOcticon.tsx +0 -37
  901. package/src/CounterLabel.tsx +0 -52
  902. package/src/Details.tsx +0 -23
  903. package/src/Dialog/ConfirmationDialog.tsx +0 -184
  904. package/src/Dialog/Dialog.tsx +0 -433
  905. package/src/Dialog.tsx +0 -149
  906. package/src/Dropdown.tsx +0 -158
  907. package/src/DropdownMenu/DropdownButton.tsx +0 -15
  908. package/src/DropdownMenu/DropdownMenu.tsx +0 -115
  909. package/src/DropdownMenu/index.ts +0 -4
  910. package/src/DropdownStyles.ts +0 -128
  911. package/src/FilterList.tsx +0 -81
  912. package/src/FilteredActionList/FilteredActionList.tsx +0 -142
  913. package/src/FilteredActionList/index.ts +0 -2
  914. package/src/FilteredSearch.tsx +0 -28
  915. package/src/Flash.tsx +0 -77
  916. package/src/Flex.tsx +0 -15
  917. package/src/FormGroup.tsx +0 -27
  918. package/src/Grid.tsx +0 -15
  919. package/src/Header.tsx +0 -84
  920. package/src/Heading.tsx +0 -21
  921. package/src/Label.tsx +0 -75
  922. package/src/LabelGroup.tsx +0 -18
  923. package/src/Link.tsx +0 -46
  924. package/src/NewButton/button-counter.tsx +0 -15
  925. package/src/NewButton/button.tsx +0 -279
  926. package/src/NewButton/index.ts +0 -10
  927. package/src/NewButton/types.ts +0 -36
  928. package/src/Overlay.tsx +0 -198
  929. package/src/Pagehead.tsx +0 -17
  930. package/src/Pagination/Pagination.tsx +0 -214
  931. package/src/Pagination/index.ts +0 -4
  932. package/src/Pagination/model.tsx +0 -187
  933. package/src/PointerBox.tsx +0 -31
  934. package/src/Popover.tsx +0 -236
  935. package/src/Portal/Portal.tsx +0 -97
  936. package/src/Portal/index.ts +0 -5
  937. package/src/Position.tsx +0 -63
  938. package/src/ProgressBar.tsx +0 -52
  939. package/src/SelectMenu/SelectMenu.tsx +0 -125
  940. package/src/SelectMenu/SelectMenuContext.tsx +0 -9
  941. package/src/SelectMenu/SelectMenuDivider.tsx +0 -25
  942. package/src/SelectMenu/SelectMenuFilter.tsx +0 -51
  943. package/src/SelectMenu/SelectMenuFooter.tsx +0 -28
  944. package/src/SelectMenu/SelectMenuHeader.tsx +0 -50
  945. package/src/SelectMenu/SelectMenuItem.tsx +0 -137
  946. package/src/SelectMenu/SelectMenuList.tsx +0 -42
  947. package/src/SelectMenu/SelectMenuLoadingAnimation.tsx +0 -24
  948. package/src/SelectMenu/SelectMenuModal.tsx +0 -121
  949. package/src/SelectMenu/SelectMenuTab.tsx +0 -88
  950. package/src/SelectMenu/SelectMenuTabPanel.tsx +0 -30
  951. package/src/SelectMenu/SelectMenuTabs.tsx +0 -44
  952. package/src/SelectMenu/hooks/useKeyboardNav.js +0 -90
  953. package/src/SelectMenu/index.ts +0 -15
  954. package/src/SelectPanel/SelectPanel.tsx +0 -173
  955. package/src/SelectPanel/index.ts +0 -2
  956. package/src/SideNav.tsx +0 -193
  957. package/src/Spinner.tsx +0 -59
  958. package/src/StateLabel.tsx +0 -114
  959. package/src/StyledOcticon.tsx +0 -24
  960. package/src/SubNav.tsx +0 -129
  961. package/src/TabNav.tsx +0 -77
  962. package/src/Text.tsx +0 -13
  963. package/src/TextInput.tsx +0 -68
  964. package/src/TextInputWithTokens.tsx +0 -351
  965. package/src/ThemeProvider.tsx +0 -176
  966. package/src/Timeline.tsx +0 -141
  967. package/src/Token/AvatarToken.tsx +0 -54
  968. package/src/Token/IssueLabelToken.tsx +0 -150
  969. package/src/Token/Token.tsx +0 -126
  970. package/src/Token/TokenBase.tsx +0 -129
  971. package/src/Token/_RemoveTokenButton.tsx +0 -111
  972. package/src/Token/_TokenTextContainer.tsx +0 -47
  973. package/src/Token/index.ts +0 -3
  974. package/src/Tooltip.tsx +0 -263
  975. package/src/Truncate.tsx +0 -36
  976. package/src/UnderlineNav.tsx +0 -110
  977. package/src/_TextInputWrapper.tsx +0 -113
  978. package/src/_UnstyledTextInput.tsx +0 -19
  979. package/src/__tests__/.eslintrc.json +0 -11
  980. package/src/__tests__/ActionList.test.tsx +0 -53
  981. package/src/__tests__/ActionList.types.test.tsx +0 -51
  982. package/src/__tests__/ActionList2.test.tsx +0 -47
  983. package/src/__tests__/ActionMenu.test.tsx +0 -136
  984. package/src/__tests__/AnchoredOverlay.test.tsx +0 -150
  985. package/src/__tests__/Autocomplete.test.tsx +0 -444
  986. package/src/__tests__/Avatar.test.tsx +0 -44
  987. package/src/__tests__/AvatarStack.test.tsx +0 -48
  988. package/src/__tests__/BorderBox.test.tsx +0 -43
  989. package/src/__tests__/Box.test.tsx +0 -42
  990. package/src/__tests__/BranchName.test.tsx +0 -26
  991. package/src/__tests__/Breadcrumbs.test.tsx +0 -27
  992. package/src/__tests__/BreadcrumbsItem.test.tsx +0 -31
  993. package/src/__tests__/Button.test.tsx +0 -128
  994. package/src/__tests__/Caret.test.tsx +0 -36
  995. package/src/__tests__/CircleBadge.test.tsx +0 -66
  996. package/src/__tests__/CircleOcticon.test.tsx +0 -50
  997. package/src/__tests__/ConfirmationDialog.test.tsx +0 -120
  998. package/src/__tests__/CounterLabel.test.tsx +0 -50
  999. package/src/__tests__/Details.test.tsx +0 -115
  1000. package/src/__tests__/Dialog.test.tsx +0 -155
  1001. package/src/__tests__/Dropdown.test.tsx +0 -53
  1002. package/src/__tests__/DropdownMenu.test.tsx +0 -136
  1003. package/src/__tests__/FilterList.test.tsx +0 -26
  1004. package/src/__tests__/FilterListItem.test.tsx +0 -31
  1005. package/src/__tests__/FilteredSearch.test.tsx +0 -26
  1006. package/src/__tests__/Flash.test.tsx +0 -45
  1007. package/src/__tests__/Flex.test.tsx +0 -58
  1008. package/src/__tests__/FormGroup.test.tsx +0 -38
  1009. package/src/__tests__/Grid.test.tsx +0 -82
  1010. package/src/__tests__/Header.test.tsx +0 -49
  1011. package/src/__tests__/Heading.test.tsx +0 -91
  1012. package/src/__tests__/KeyPaths.types.test.ts +0 -14
  1013. package/src/__tests__/Label.test.tsx +0 -34
  1014. package/src/__tests__/LabelGroup.test.tsx +0 -30
  1015. package/src/__tests__/Link.test.tsx +0 -47
  1016. package/src/__tests__/Merge.types.test.ts +0 -39
  1017. package/src/__tests__/NewButton.test.tsx +0 -70
  1018. package/src/__tests__/Overlay.test.tsx +0 -103
  1019. package/src/__tests__/Pagehead.test.tsx +0 -23
  1020. package/src/__tests__/Pagination/Pagination.test.tsx +0 -30
  1021. package/src/__tests__/Pagination/PaginationModel.test.tsx +0 -133
  1022. package/src/__tests__/Pagination/__snapshots__/Pagination.test.tsx.snap +0 -184
  1023. package/src/__tests__/PointerBox.test.tsx +0 -34
  1024. package/src/__tests__/Popover.test.tsx +0 -68
  1025. package/src/__tests__/Portal.test.tsx +0 -103
  1026. package/src/__tests__/Position.test.tsx +0 -117
  1027. package/src/__tests__/ProgressBar.test.tsx +0 -40
  1028. package/src/__tests__/SelectMenu.test.tsx +0 -142
  1029. package/src/__tests__/SelectPanel.test.tsx +0 -63
  1030. package/src/__tests__/SideNav.test.tsx +0 -62
  1031. package/src/__tests__/Spinner.test.tsx +0 -42
  1032. package/src/__tests__/StateLabel.test.tsx +0 -48
  1033. package/src/__tests__/StyledOcticon.test.tsx +0 -26
  1034. package/src/__tests__/SubNav.test.tsx +0 -50
  1035. package/src/__tests__/SubNavLink.test.tsx +0 -31
  1036. package/src/__tests__/TabNav.test.tsx +0 -32
  1037. package/src/__tests__/Text.test.tsx +0 -78
  1038. package/src/__tests__/TextInput.test.tsx +0 -49
  1039. package/src/__tests__/TextInputWithTokens.test.tsx +0 -422
  1040. package/src/__tests__/ThemeProvider.test.tsx +0 -441
  1041. package/src/__tests__/Timeline.test.tsx +0 -58
  1042. package/src/__tests__/Token.test.tsx +0 -118
  1043. package/src/__tests__/Tooltip.test.tsx +0 -52
  1044. package/src/__tests__/Truncate.test.tsx +0 -43
  1045. package/src/__tests__/UnderlineNav.test.tsx +0 -58
  1046. package/src/__tests__/UnderlineNavLink.test.tsx +0 -31
  1047. package/src/__tests__/__snapshots__/ActionList.test.tsx.snap +0 -223
  1048. package/src/__tests__/__snapshots__/ActionList2.test.tsx.snap +0 -14
  1049. package/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap +0 -80
  1050. package/src/__tests__/__snapshots__/AnchoredOverlay.test.tsx.snap +0 -232
  1051. package/src/__tests__/__snapshots__/Autocomplete.test.tsx.snap +0 -3888
  1052. package/src/__tests__/__snapshots__/Avatar.test.tsx.snap +0 -19
  1053. package/src/__tests__/__snapshots__/AvatarStack.test.tsx.snap +0 -377
  1054. package/src/__tests__/__snapshots__/BorderBox.test.tsx.snap +0 -14
  1055. package/src/__tests__/__snapshots__/Box.test.tsx.snap +0 -201
  1056. package/src/__tests__/__snapshots__/BranchName.test.tsx.snap +0 -17
  1057. package/src/__tests__/__snapshots__/Breadcrumbs.test.tsx.snap +0 -29
  1058. package/src/__tests__/__snapshots__/BreadcrumbsItem.test.tsx.snap +0 -79
  1059. package/src/__tests__/__snapshots__/Button.test.tsx.snap +0 -840
  1060. package/src/__tests__/__snapshots__/Caret.test.tsx.snap +0 -373
  1061. package/src/__tests__/__snapshots__/CircleBadge.test.tsx.snap +0 -142
  1062. package/src/__tests__/__snapshots__/CircleOcticon.test.tsx.snap +0 -65
  1063. package/src/__tests__/__snapshots__/ConfirmationDialog.test.tsx.snap +0 -89
  1064. package/src/__tests__/__snapshots__/CounterLabel.test.tsx.snap +0 -22
  1065. package/src/__tests__/__snapshots__/Details.test.tsx.snap +0 -15
  1066. package/src/__tests__/__snapshots__/Dialog.test.tsx.snap +0 -201
  1067. package/src/__tests__/__snapshots__/Dropdown.test.tsx.snap +0 -249
  1068. package/src/__tests__/__snapshots__/DropdownMenu.test.tsx.snap +0 -107
  1069. package/src/__tests__/__snapshots__/FilterList.test.tsx.snap +0 -13
  1070. package/src/__tests__/__snapshots__/FilterListItem.test.tsx.snap +0 -80
  1071. package/src/__tests__/__snapshots__/FilteredSearch.test.tsx.snap +0 -32
  1072. package/src/__tests__/__snapshots__/Flash.test.tsx.snap +0 -32
  1073. package/src/__tests__/__snapshots__/Flex.test.tsx.snap +0 -130
  1074. package/src/__tests__/__snapshots__/FormGroup.test.tsx.snap +0 -25
  1075. package/src/__tests__/__snapshots__/Grid.test.tsx.snap +0 -178
  1076. package/src/__tests__/__snapshots__/Header.test.tsx.snap +0 -79
  1077. package/src/__tests__/__snapshots__/Heading.test.tsx.snap +0 -13
  1078. package/src/__tests__/__snapshots__/Label.test.tsx.snap +0 -74
  1079. package/src/__tests__/__snapshots__/LabelGroup.test.tsx.snap +0 -15
  1080. package/src/__tests__/__snapshots__/Link.test.tsx.snap +0 -213
  1081. package/src/__tests__/__snapshots__/NewButton.test.tsx.snap +0 -300
  1082. package/src/__tests__/__snapshots__/Pagehead.test.tsx.snap +0 -15
  1083. package/src/__tests__/__snapshots__/PointerBox.test.tsx.snap +0 -174
  1084. package/src/__tests__/__snapshots__/Popover.test.tsx.snap +0 -4687
  1085. package/src/__tests__/__snapshots__/Position.test.tsx.snap +0 -44
  1086. package/src/__tests__/__snapshots__/ProgressBar.test.tsx.snap +0 -53
  1087. package/src/__tests__/__snapshots__/SelectMenu.test.tsx.snap +0 -473
  1088. package/src/__tests__/__snapshots__/SelectPanel.test.tsx.snap +0 -124
  1089. package/src/__tests__/__snapshots__/SideNav.test.tsx.snap +0 -143
  1090. package/src/__tests__/__snapshots__/Spinner.test.tsx.snap +0 -33
  1091. package/src/__tests__/__snapshots__/StateLabel.test.tsx.snap +0 -395
  1092. package/src/__tests__/__snapshots__/StyledOcticon.test.tsx.snap +0 -26
  1093. package/src/__tests__/__snapshots__/SubNav.test.tsx.snap +0 -44
  1094. package/src/__tests__/__snapshots__/SubNavLink.test.tsx.snap +0 -199
  1095. package/src/__tests__/__snapshots__/TabNav.test.tsx.snap +0 -58
  1096. package/src/__tests__/__snapshots__/Text.test.tsx.snap +0 -7
  1097. package/src/__tests__/__snapshots__/TextInput.test.tsx.snap +0 -446
  1098. package/src/__tests__/__snapshots__/TextInputWithTokens.test.tsx.snap +0 -6045
  1099. package/src/__tests__/__snapshots__/ThemeProvider.test.tsx.snap +0 -15
  1100. package/src/__tests__/__snapshots__/Timeline.test.tsx.snap +0 -159
  1101. package/src/__tests__/__snapshots__/Token.test.tsx.snap +0 -3811
  1102. package/src/__tests__/__snapshots__/Tooltip.test.tsx.snap +0 -227
  1103. package/src/__tests__/__snapshots__/Truncate.test.tsx.snap +0 -17
  1104. package/src/__tests__/__snapshots__/UnderlineNav.test.tsx.snap +0 -59
  1105. package/src/__tests__/__snapshots__/UnderlineNavLink.test.tsx.snap +0 -130
  1106. package/src/__tests__/behaviors/anchoredPosition.test.ts +0 -295
  1107. package/src/__tests__/behaviors/focusTrap.test.tsx +0 -236
  1108. package/src/__tests__/behaviors/focusZone.test.tsx +0 -549
  1109. package/src/__tests__/behaviors/iterateFocusableElements.test.tsx +0 -61
  1110. package/src/__tests__/behaviors/scrollIntoViewingArea.test.ts +0 -195
  1111. package/src/__tests__/filterObject.test.ts +0 -54
  1112. package/src/__tests__/hooks/useAnchoredPosition.test.tsx +0 -31
  1113. package/src/__tests__/hooks/useOnEscapePress.test.tsx +0 -16
  1114. package/src/__tests__/hooks/useOnOutsideClick.test.tsx +0 -48
  1115. package/src/__tests__/hooks/useOpenAndCloseFocus.test.tsx +0 -48
  1116. package/src/__tests__/hooks/useProvidedStateOrCreate.test.tsx +0 -39
  1117. package/src/__tests__/theme.test.ts +0 -41
  1118. package/src/__tests__/themeGet.test.ts +0 -15
  1119. package/src/__tests__/useSafeTimeout.test.tsx +0 -36
  1120. package/src/__tests__/utils/__snapshots__/createSlots.test.tsx.snap +0 -55
  1121. package/src/__tests__/utils/createSlots.test.tsx +0 -74
  1122. package/src/behaviors/anchoredPosition.ts +0 -442
  1123. package/src/behaviors/focusTrap.ts +0 -184
  1124. package/src/behaviors/focusZone.ts +0 -713
  1125. package/src/behaviors/scrollIntoViewingArea.ts +0 -27
  1126. package/src/constants.ts +0 -62
  1127. package/src/drafts.ts +0 -10
  1128. package/src/hooks/index.ts +0 -11
  1129. package/src/hooks/useAnchoredPosition.ts +0 -54
  1130. package/src/hooks/useCombinedRefs.ts +0 -40
  1131. package/src/hooks/useDetails.tsx +0 -54
  1132. package/src/hooks/useDialog.ts +0 -121
  1133. package/src/hooks/useFocusTrap.ts +0 -80
  1134. package/src/hooks/useFocusZone.ts +0 -64
  1135. package/src/hooks/useOnEscapePress.ts +0 -63
  1136. package/src/hooks/useOnOutsideClick.tsx +0 -82
  1137. package/src/hooks/useOpenAndCloseFocus.ts +0 -32
  1138. package/src/hooks/useOverlay.tsx +0 -34
  1139. package/src/hooks/useProvidedRefOrCreate.ts +0 -14
  1140. package/src/hooks/useProvidedStateOrCreate.ts +0 -27
  1141. package/src/hooks/useRenderForcingRef.ts +0 -22
  1142. package/src/hooks/useResizeObserver.ts +0 -11
  1143. package/src/hooks/useSafeTimeout.ts +0 -38
  1144. package/src/hooks/useScrollFlash.ts +0 -21
  1145. package/src/index.ts +0 -172
  1146. package/src/polyfills/eventListenerSignal.ts +0 -66
  1147. package/src/stories/ActionList.stories.tsx +0 -436
  1148. package/src/stories/ActionList2.stories.tsx +0 -1291
  1149. package/src/stories/ActionMenu.stories.tsx +0 -334
  1150. package/src/stories/AnchoredOverlay.stories.tsx +0 -117
  1151. package/src/stories/Autocomplete.stories.tsx +0 -655
  1152. package/src/stories/AvatarStack.stories.tsx +0 -37
  1153. package/src/stories/Button.stories.tsx +0 -92
  1154. package/src/stories/ConfirmationDialog.stories.tsx +0 -105
  1155. package/src/stories/Dialog.stories.tsx +0 -240
  1156. package/src/stories/DropdownMenu.stories.tsx +0 -84
  1157. package/src/stories/IssueLabelToken.stories.tsx +0 -138
  1158. package/src/stories/NewButton.stories.tsx +0 -201
  1159. package/src/stories/Overlay.stories.tsx +0 -213
  1160. package/src/stories/Portal.stories.tsx +0 -109
  1161. package/src/stories/ProfileToken.stories.tsx +0 -129
  1162. package/src/stories/SelectPanel.stories.tsx +0 -353
  1163. package/src/stories/TextInput.stories.tsx +0 -113
  1164. package/src/stories/TextInputWithTokens.stories.tsx +0 -155
  1165. package/src/stories/ThemeProvider.stories.tsx +0 -104
  1166. package/src/stories/Token.stories.tsx +0 -137
  1167. package/src/stories/useAnchoredPosition.stories.tsx +0 -332
  1168. package/src/stories/useFocusTrap.stories.tsx +0 -400
  1169. package/src/stories/useFocusZone.stories.tsx +0 -663
  1170. package/src/sx.ts +0 -24
  1171. package/src/theme-preval.js +0 -80
  1172. package/src/theme.ts +0 -89
  1173. package/src/utils/create-slots.tsx +0 -96
  1174. package/src/utils/deprecate.tsx +0 -73
  1175. package/src/utils/isNumeric.tsx +0 -4
  1176. package/src/utils/iterateFocusableElements.ts +0 -121
  1177. package/src/utils/ssr.tsx +0 -1
  1178. package/src/utils/test-deprecations.tsx +0 -19
  1179. package/src/utils/test-helpers.tsx +0 -7
  1180. package/src/utils/test-matchers.tsx +0 -109
  1181. package/src/utils/testing.tsx +0 -242
  1182. package/src/utils/theme.js +0 -64
  1183. package/src/utils/types/AriaRole.ts +0 -71
  1184. package/src/utils/types/ComponentProps.ts +0 -13
  1185. package/src/utils/types/Flatten.ts +0 -4
  1186. package/src/utils/types/KeyPaths.ts +0 -10
  1187. package/src/utils/types/MandateProps.ts +0 -19
  1188. package/src/utils/types/Merge.ts +0 -20
  1189. package/src/utils/types/index.ts +0 -5
  1190. package/src/utils/uniqueId.ts +0 -6
  1191. package/src/utils/use-force-update.ts +0 -7
  1192. package/src/utils/useIsomorphicLayoutEffect.ts +0 -10
  1193. package/src/utils/userAgent.ts +0 -7
  1194. package/stats.html +0 -3279
  1195. package/tsconfig.base.json +0 -20
  1196. package/tsconfig.build.json +0 -7
  1197. package/tsconfig.json +0 -7
@@ -1,442 +0,0 @@
1
- export type AnchorAlignment = 'start' | 'center' | 'end'
2
-
3
- // When prettier supports template literal types...
4
- // export type AnchorSide = `${'inside' | 'outside'}-${'top' | 'bottom' | 'right' | 'left'}` | 'inside-center'
5
- export type AnchorSide =
6
- | 'inside-top'
7
- | 'inside-bottom'
8
- | 'inside-left'
9
- | 'inside-right'
10
- | 'inside-center'
11
- | 'outside-top'
12
- | 'outside-bottom'
13
- | 'outside-left'
14
- | 'outside-right'
15
-
16
- /**
17
- * Settings that customize how a floating element is positioned
18
- * with respect to an anchor element.
19
- */
20
- export interface PositionSettings {
21
- /**
22
- * Sets the side of the anchor element that the floating element should be
23
- * pinned to. This side is given by a string starting with either "inside" or
24
- * "outside", followed by a hyphen, followed by either "top", "right", "bottom",
25
- * or "left". Additionally, "inside-center" is an allowed value.
26
- *
27
- * The first part of this string, "inside" or "outside", determines whether the
28
- * floating element should be attempted to be placed "inside" the anchor element
29
- * or "outside" of it. Using "inside" is useful for making it appear that the
30
- * anchor _contains_ the floating element, and it can be used for implementing a
31
- * dialog that is centered on the screen. The "outside" value is more common and
32
- * can be used for tooltips, popovers, menus, etc.
33
- *
34
- * The second part of this string determines the _edge_ on the anchor element that
35
- * the floating element will be anchored to. If side is "inside-center", then
36
- * the floating element will be centered in the X-direction (while align is used
37
- * to position it in the Y-direction).
38
- * Note: "outside-center" is _not_ a valid value for this property.
39
- */
40
- side: AnchorSide
41
-
42
- /**
43
- * Determines how the floating element should align with the anchor element. If
44
- * set to "start", the floating element's first edge (top or left) will align
45
- * with the anchor element's first edge. If set to "center", the floating
46
- * element will be centered along the axis of the anchor edge. If set to "end",
47
- * the floating element's last edge will align with the anchor element's last edge.
48
- */
49
- align: AnchorAlignment
50
-
51
- /**
52
- * The number of pixels between the anchor edge and the floating element.
53
- *
54
- * Positive values move the floating element farther from the anchor element
55
- * (for outside positioning) or further inside the anchor element (for inside
56
- * positioning). Negative values have the opposite effect.
57
- */
58
- anchorOffset: number
59
-
60
- /**
61
- * An additional offset, in pixels, to move the floating element from
62
- * the aligning edge.
63
- *
64
- * Positive values move the floating element in the direction of center-
65
- * alignment. Negative values move the floating element away from center-
66
- * alignment. When align is "center", positive offsets move the floating
67
- * element right (top or bottom anchor side) or down (left or right
68
- * anchor side).
69
- */
70
- alignmentOffset: number
71
-
72
- /**
73
- * If false, when the above settings result in rendering the floating element
74
- * wholly or partially outside of the bounds of the containing element, attempt
75
- * to adjust the settings to prevent this. Only applies to "outside" positioning.
76
- *
77
- * First, attempt to flip to the opposite edge of the anchor if the floating
78
- * element is getting clipped in that direction. If flipping results in a
79
- * similar clipping, try moving to the adjacent sides.
80
- *
81
- * Once we find a side that does not clip the overlay in its own dimension,
82
- * check the rest of the sides to see if we need to adjust the alignment offset
83
- * to fit in other dimensions.
84
- *
85
- * If we try all four sides and get clipped each time, settle for overflowing
86
- * and use the "bottom" side, since the ability to scroll is most likely in
87
- * this direction.
88
- */
89
- allowOutOfBounds: boolean
90
- }
91
-
92
- // For each outside anchor position, list the order of alternate positions to try in
93
- // the event that the original position overflows. See comment on `allowOutOfBounds`
94
- // for a more detailed description.
95
- const alternateOrders: Partial<Record<AnchorSide, [AnchorSide, AnchorSide, AnchorSide, AnchorSide]>> = {
96
- 'outside-top': ['outside-bottom', 'outside-right', 'outside-left', 'outside-bottom'],
97
- 'outside-bottom': ['outside-top', 'outside-right', 'outside-left', 'outside-bottom'],
98
- 'outside-left': ['outside-right', 'outside-bottom', 'outside-top', 'outside-bottom'],
99
- 'outside-right': ['outside-left', 'outside-bottom', 'outside-top', 'outside-bottom']
100
- }
101
-
102
- interface Size {
103
- width: number
104
- height: number
105
- }
106
-
107
- interface Position {
108
- top: number
109
- left: number
110
- }
111
-
112
- export interface AnchorPosition {
113
- top: number
114
- left: number
115
- anchorSide: AnchorSide
116
- }
117
-
118
- interface BoxPosition extends Size, Position {}
119
-
120
- /**
121
- * Given a floating element and an anchor element, return coordinates for the top-left
122
- * of the floating element in order to absolutely position it such that it appears
123
- * near the anchor element.
124
- *
125
- * @param floatingElement Element intended to be positioned near or within an anchor
126
- * @param anchorElement The element to serve as the position anchor
127
- * @param settings Settings to determine the rules for positioning the floating element
128
- * @returns {top: number, left: number} coordinates for the floating element
129
- */
130
- export function getAnchoredPosition(
131
- floatingElement: Element,
132
- anchorElement: Element | DOMRect,
133
- settings: Partial<PositionSettings> = {}
134
- ): AnchorPosition {
135
- const parentElement = getPositionedParent(floatingElement)
136
- const clippingRect = getClippingRect(parentElement)
137
-
138
- const parentElementStyle = getComputedStyle(parentElement)
139
- const parentElementRect = parentElement.getBoundingClientRect()
140
- const [borderTop, borderLeft] = [parentElementStyle.borderTopWidth, parentElementStyle.borderLeftWidth].map(
141
- v => parseInt(v, 10) || 0
142
- )
143
- const relativeRect = {
144
- top: parentElementRect.top + borderTop,
145
- left: parentElementRect.left + borderLeft
146
- }
147
-
148
- return pureCalculateAnchoredPosition(
149
- clippingRect,
150
- relativeRect,
151
- floatingElement.getBoundingClientRect(),
152
- anchorElement instanceof Element ? anchorElement.getBoundingClientRect() : anchorElement,
153
- getDefaultSettings(settings)
154
- )
155
- }
156
-
157
- /**
158
- * Returns the nearest proper HTMLElement parent of `element` whose
159
- * position is not "static", or document.body, whichever is closer
160
- */
161
- function getPositionedParent(element: Element) {
162
- let parentNode = element.parentNode
163
- while (parentNode !== null) {
164
- if (parentNode instanceof HTMLElement && getComputedStyle(parentNode).position !== 'static') {
165
- return parentNode
166
- }
167
- parentNode = parentNode.parentNode
168
- }
169
- return document.body
170
- }
171
-
172
- /**
173
- * Returns the rectangle (relative to the window) that will clip the given element
174
- * if it is rendered outside of its bounds.
175
- * @param element
176
- * @returns
177
- */
178
- function getClippingRect(element: Element): BoxPosition {
179
- let parentNode: typeof element.parentNode = element
180
- while (parentNode !== null) {
181
- if (parentNode === document.body) {
182
- break
183
- }
184
- const parentNodeStyle = getComputedStyle(parentNode as Element)
185
- if (parentNodeStyle.overflow !== 'visible') {
186
- break
187
- }
188
- parentNode = parentNode.parentNode
189
- }
190
- const clippingNode = parentNode === document.body || !(parentNode instanceof HTMLElement) ? document.body : parentNode
191
-
192
- const elemRect = clippingNode.getBoundingClientRect()
193
- const elemStyle = getComputedStyle(clippingNode)
194
-
195
- const [borderTop, borderLeft, borderRight, borderBottom] = [
196
- elemStyle.borderTopWidth,
197
- elemStyle.borderLeftWidth,
198
- elemStyle.borderRightWidth,
199
- elemStyle.borderBottomWidth
200
- ].map(v => parseInt(v, 10) || 0)
201
-
202
- return {
203
- top: elemRect.top + borderTop,
204
- left: elemRect.left + borderLeft,
205
- width: elemRect.width - borderRight - borderLeft,
206
-
207
- // If the clipping node is document.body, it can expand to the full height of the window
208
- height: Math.max(
209
- elemRect.height - borderTop - borderBottom,
210
- clippingNode === document.body ? window.innerHeight : -Infinity
211
- )
212
- }
213
- }
214
-
215
- // Default settings to position a floating element
216
- const positionDefaults: PositionSettings = {
217
- side: 'outside-bottom',
218
- align: 'start',
219
-
220
- // note: the following default is not applied if side === "inside-center"
221
- anchorOffset: 4,
222
-
223
- // note: the following default is only applied if side starts with "inside"
224
- // and align is not center
225
- alignmentOffset: 4,
226
-
227
- allowOutOfBounds: false
228
- }
229
-
230
- /**
231
- * Compute a full PositionSettings object from the given partial PositionSettings object
232
- * by filling in with defaults where applicable.
233
- * @param settings Partial settings - any omissions will be defaulted
234
- */
235
- function getDefaultSettings(settings: Partial<PositionSettings> = {}): PositionSettings {
236
- const side = settings.side ?? positionDefaults.side
237
- const align = settings.align ?? positionDefaults.align
238
- return {
239
- side,
240
- align,
241
- // offsets always default to 0 if their respective side/alignment is centered
242
- anchorOffset: settings.anchorOffset ?? (side === 'inside-center' ? 0 : positionDefaults.anchorOffset),
243
- alignmentOffset:
244
- settings.alignmentOffset ??
245
- (align !== 'center' && side.startsWith('inside') ? positionDefaults.alignmentOffset : 0),
246
- allowOutOfBounds: settings.allowOutOfBounds ?? positionDefaults.allowOutOfBounds
247
- }
248
- }
249
-
250
- /**
251
- * Note: This is a pure function with no dependency on DOM APIs.
252
- * @see getAnchoredPosition
253
- * @see getDefaultSettings
254
- * @param viewportRect BoxPosition for the rectangle that will clip the floating element if it is
255
- * rendered outside of the boundsof the rectangle.
256
- * @param relativePosition Position for the closest positioned proper parent of the floating element
257
- * @param floatingRect WidthAndHeight for the floating element
258
- * @param anchorRect BoxPosition for the anchor element
259
- * @param PositionSettings to customize the calculated position for the floating element.
260
- */
261
- function pureCalculateAnchoredPosition(
262
- viewportRect: BoxPosition,
263
- relativePosition: Position,
264
- floatingRect: Size,
265
- anchorRect: BoxPosition,
266
- {side, align, allowOutOfBounds, anchorOffset, alignmentOffset}: PositionSettings
267
- ): AnchorPosition {
268
- // Compute the relative viewport rect, to bring it into the same coordinate space as `pos`
269
- const relativeViewportRect: BoxPosition = {
270
- top: viewportRect.top - relativePosition.top,
271
- left: viewportRect.left - relativePosition.left,
272
- width: viewportRect.width,
273
- height: viewportRect.height
274
- }
275
-
276
- let pos = calculatePosition(floatingRect, anchorRect, side, align, anchorOffset, alignmentOffset)
277
- let anchorSide = side
278
- pos.top -= relativePosition.top
279
- pos.left -= relativePosition.left
280
-
281
- // Handle screen overflow
282
- if (!allowOutOfBounds) {
283
- const alternateOrder = alternateOrders[side]
284
- let positionAttempt = 0
285
- if (alternateOrder) {
286
- let prevSide = side
287
-
288
- // Try all the alternate sides until one does not overflow
289
- while (
290
- positionAttempt < alternateOrder.length &&
291
- shouldRecalculatePosition(prevSide, pos, relativeViewportRect, floatingRect)
292
- ) {
293
- const nextSide = alternateOrder[positionAttempt++]
294
- prevSide = nextSide
295
-
296
- // If we have cut off in the same dimension as the "side" option, try flipping to the opposite side.
297
- pos = calculatePosition(floatingRect, anchorRect, nextSide, align, anchorOffset, alignmentOffset)
298
- pos.top -= relativePosition.top
299
- pos.left -= relativePosition.left
300
- anchorSide = nextSide
301
- }
302
- }
303
- // At this point we've flipped the position if applicable. Now just nudge until it's on-screen.
304
- if (pos.top < relativeViewportRect.top) {
305
- pos.top = relativeViewportRect.top
306
- }
307
- if (pos.left < relativeViewportRect.left) {
308
- pos.left = relativeViewportRect.left
309
- }
310
- if (pos.left + floatingRect.width > viewportRect.width + relativeViewportRect.left) {
311
- pos.left = viewportRect.width + relativeViewportRect.left - floatingRect.width
312
- }
313
- // If we have exhausted all possible positions and none of them worked, we
314
- // say that overflowing the bottom of the screen is acceptable since it is
315
- // likely to be able to scroll.
316
- if (alternateOrder && positionAttempt < alternateOrder.length) {
317
- if (pos.top + floatingRect.height > viewportRect.height + relativeViewportRect.top) {
318
- pos.top = viewportRect.height + relativeViewportRect.top - floatingRect.height
319
- }
320
- }
321
- }
322
-
323
- return {...pos, anchorSide}
324
- }
325
-
326
- /**
327
- * Given a floating element and an anchor element, return coordinates for the
328
- * top-left of the floating element in order to absolutely position it such
329
- * that it appears near the anchor element.
330
- *
331
- * @param elementDimensions Dimensions of the floating element
332
- * @param anchorPosition Position of the anchor element
333
- * @param side Side of the anchor to position the floating element
334
- * @param align How to align the floating element with the anchor element
335
- * @param anchorOffset Absolute pixel offset for anchor positioning
336
- * @param alignmentOffset Absolute pixel offset for alignment
337
- * @returns {top: number, left: number} coordinates for the floating element
338
- */
339
- function calculatePosition(
340
- elementDimensions: Size,
341
- anchorPosition: BoxPosition,
342
- side: AnchorSide,
343
- align: AnchorAlignment,
344
- anchorOffset: number,
345
- alignmentOffset: number
346
- ) {
347
- const anchorRight = anchorPosition.left + anchorPosition.width
348
- const anchorBottom = anchorPosition.top + anchorPosition.height
349
- let top = -1
350
- let left = -1
351
- if (side === 'outside-top') {
352
- top = anchorPosition.top - anchorOffset - elementDimensions.height
353
- } else if (side === 'outside-bottom') {
354
- top = anchorBottom + anchorOffset
355
- } else if (side === 'outside-left') {
356
- left = anchorPosition.left - anchorOffset - elementDimensions.width
357
- } else if (side === 'outside-right') {
358
- left = anchorRight + anchorOffset
359
- }
360
-
361
- if (side === 'outside-top' || side === 'outside-bottom') {
362
- if (align === 'start') {
363
- left = anchorPosition.left + alignmentOffset
364
- } else if (align === 'center') {
365
- left = anchorPosition.left - (elementDimensions.width - anchorPosition.width) / 2 + alignmentOffset
366
- } else {
367
- // end
368
- left = anchorRight - elementDimensions.width - alignmentOffset
369
- }
370
- }
371
-
372
- if (side === 'outside-left' || side === 'outside-right') {
373
- if (align === 'start') {
374
- top = anchorPosition.top + alignmentOffset
375
- } else if (align === 'center') {
376
- top = anchorPosition.top - (elementDimensions.height - anchorPosition.height) / 2 + alignmentOffset
377
- } else {
378
- // end
379
- top = anchorBottom - elementDimensions.height - alignmentOffset
380
- }
381
- }
382
-
383
- if (side === 'inside-top') {
384
- top = anchorPosition.top + anchorOffset
385
- } else if (side === 'inside-bottom') {
386
- top = anchorBottom - anchorOffset - elementDimensions.height
387
- } else if (side === 'inside-left') {
388
- left = anchorPosition.left + anchorOffset
389
- } else if (side === 'inside-right') {
390
- left = anchorRight - anchorOffset - elementDimensions.width
391
- } else if (side === 'inside-center') {
392
- left = (anchorRight + anchorPosition.left) / 2 - elementDimensions.width / 2 + anchorOffset
393
- }
394
-
395
- if (side === 'inside-top' || side === 'inside-bottom') {
396
- if (align === 'start') {
397
- left = anchorPosition.left + alignmentOffset
398
- } else if (align === 'center') {
399
- left = anchorPosition.left - (elementDimensions.width - anchorPosition.width) / 2 + alignmentOffset
400
- } else {
401
- // end
402
- left = anchorRight - elementDimensions.width - alignmentOffset
403
- }
404
- } else if (side === 'inside-left' || side === 'inside-right' || side === 'inside-center') {
405
- if (align === 'start') {
406
- top = anchorPosition.top + alignmentOffset
407
- } else if (align === 'center') {
408
- top = anchorPosition.top - (elementDimensions.height - anchorPosition.height) / 2 + alignmentOffset
409
- } else {
410
- // end
411
- top = anchorBottom - elementDimensions.height - alignmentOffset
412
- }
413
- }
414
-
415
- return {top, left}
416
- }
417
-
418
- /**
419
- * Determines if there is an overflow
420
- * @param side
421
- * @param currentPos
422
- * @param containerDimensions
423
- * @param elementDimensions
424
- */
425
- function shouldRecalculatePosition(
426
- side: AnchorSide,
427
- currentPos: Position,
428
- containerDimensions: BoxPosition,
429
- elementDimensions: Size
430
- ) {
431
- if (side === 'outside-top' || side === 'outside-bottom') {
432
- return (
433
- currentPos.top < containerDimensions.top ||
434
- currentPos.top + elementDimensions.height > containerDimensions.height + containerDimensions.top
435
- )
436
- } else {
437
- return (
438
- currentPos.left < containerDimensions.left ||
439
- currentPos.left + elementDimensions.width > containerDimensions.width + containerDimensions.left
440
- )
441
- }
442
- }
@@ -1,184 +0,0 @@
1
- import {isTabbable, iterateFocusableElements} from '../utils/iterateFocusableElements'
2
- import {polyfill as eventListenerSignalPolyfill} from '../polyfills/eventListenerSignal'
3
-
4
- eventListenerSignalPolyfill()
5
-
6
- interface FocusTrapMetadata {
7
- container: HTMLElement
8
- controller: AbortController
9
- initialFocus?: HTMLElement
10
- originalSignal: AbortSignal
11
- }
12
-
13
- const suspendedTrapStack: FocusTrapMetadata[] = []
14
- let activeTrap: FocusTrapMetadata | undefined = undefined
15
-
16
- function tryReactivate() {
17
- const trapToReactivate = suspendedTrapStack.pop()
18
- if (trapToReactivate) {
19
- focusTrap(trapToReactivate.container, trapToReactivate.initialFocus, trapToReactivate.originalSignal)
20
- }
21
- }
22
-
23
- // @todo If AbortController.prototype.follow is ever implemented, that
24
- // could replace this function. @see https://github.com/whatwg/dom/issues/920
25
- function followSignal(signal: AbortSignal): AbortController {
26
- const controller = new AbortController()
27
- signal.addEventListener('abort', () => {
28
- controller.abort()
29
- })
30
- return controller
31
- }
32
-
33
- /**
34
- * Returns the first focusable child of `container`. If `lastChild` is true,
35
- * returns the last focusable child of `container`.
36
- * @param container
37
- * @param lastChild
38
- */
39
- function getFocusableChild(container: HTMLElement, lastChild = false) {
40
- return iterateFocusableElements(container, {reverse: lastChild, strict: true, onlyTabbable: true}).next().value
41
- }
42
-
43
- /**
44
- * Traps focus within the given container.
45
- * @param container The container in which to trap focus
46
- * @returns AbortController - call `.abort()` to disable the focus trap
47
- */
48
- export function focusTrap(container: HTMLElement, initialFocus?: HTMLElement): AbortController
49
-
50
- /**
51
- * Traps focus within the given container.
52
- * @param container The container in which to trap focus
53
- * @param abortSignal An AbortSignal to control the focus trap.
54
- */
55
- export function focusTrap(container: HTMLElement, initialFocus: HTMLElement | undefined, abortSignal: AbortSignal): void
56
- export function focusTrap(
57
- container: HTMLElement,
58
- initialFocus?: HTMLElement,
59
- abortSignal?: AbortSignal
60
- ): AbortController | void {
61
- // Set up an abort controller if a signal was not passed in
62
- const controller = new AbortController()
63
- const signal = abortSignal ?? controller.signal
64
-
65
- container.setAttribute('data-focus-trap', 'active')
66
- let lastFocusedChild: HTMLElement | undefined = undefined
67
-
68
- // Ensure focus remains in the trap zone by checking that a given recently-focused
69
- // element is inside the trap zone. If it isn't, redirect focus to a suitable
70
- // element within the trap zone. If need to redirect focus and a suitable element
71
- // is not found, focus the container.
72
- function ensureTrapZoneHasFocus(focusedElement: EventTarget | null) {
73
- if (focusedElement instanceof HTMLElement && document.contains(container)) {
74
- if (container.contains(focusedElement)) {
75
- // If a child of the trap zone was focused, remember it
76
- lastFocusedChild = focusedElement
77
- return
78
- } else {
79
- if (lastFocusedChild && isTabbable(lastFocusedChild) && container.contains(lastFocusedChild)) {
80
- lastFocusedChild.focus()
81
- return
82
- } else if (initialFocus && container.contains(initialFocus)) {
83
- initialFocus.focus()
84
- return
85
- } else {
86
- // Ensure the container is focusable:
87
- // - Either the container already has a `tabIndex`
88
- // - Or provide a temporary `tabIndex`
89
- const containerNeedsTemporaryTabIndex = container.getAttribute('tabindex') === null
90
- if (containerNeedsTemporaryTabIndex) {
91
- container.setAttribute('tabindex', '-1')
92
- }
93
- // Focus the container.
94
- container.focus()
95
- // If a temporary `tabIndex` was provided, remove it.
96
- if (containerNeedsTemporaryTabIndex) {
97
- // Once focus has moved from the container to a child within the FocusTrap,
98
- // the container can be made un-refocusable by removing `tabIndex`.
99
- container.addEventListener('blur', () => container.removeAttribute('tabindex'), {once: true})
100
- // NB: If `tabIndex` was removed *before* `blur`, then certain browsers (e.g. Chrome)
101
- // would consider `body` the `activeElement`, and as a result, keyboard navigation
102
- // between children would break, since `body` is outside the `FocusTrap`.
103
- }
104
- return
105
- }
106
- }
107
- }
108
- }
109
-
110
- const wrappingController = followSignal(signal)
111
-
112
- container.addEventListener(
113
- 'keydown',
114
- event => {
115
- if (event.key !== 'Tab' || event.defaultPrevented) {
116
- return
117
- }
118
-
119
- const {target} = event
120
- const firstFocusableChild = getFocusableChild(container)
121
- const lastFocusableChild = getFocusableChild(container, true)
122
- if (target === firstFocusableChild && event.shiftKey) {
123
- event.preventDefault()
124
- lastFocusableChild?.focus()
125
- } else if (target === lastFocusableChild && !event.shiftKey) {
126
- event.preventDefault()
127
- firstFocusableChild?.focus()
128
- }
129
- },
130
- {signal: wrappingController.signal}
131
- )
132
-
133
- if (activeTrap) {
134
- const suspendedTrap = activeTrap
135
- activeTrap.container.setAttribute('data-focus-trap', 'suspended')
136
- activeTrap.controller.abort()
137
- suspendedTrapStack.push(suspendedTrap)
138
- }
139
-
140
- // When this trap is canceled, either by the user or by us for suspension
141
- wrappingController.signal.addEventListener('abort', () => {
142
- activeTrap = undefined
143
- })
144
-
145
- // Only when user-canceled
146
- signal.addEventListener('abort', () => {
147
- container.removeAttribute('data-focus-trap')
148
- const suspendedTrapIndex = suspendedTrapStack.findIndex(t => t.container === container)
149
- if (suspendedTrapIndex >= 0) {
150
- suspendedTrapStack.splice(suspendedTrapIndex, 1)
151
- }
152
- tryReactivate()
153
- })
154
-
155
- // Prevent focus leaving the trap container
156
- document.addEventListener(
157
- 'focus',
158
- event => {
159
- ensureTrapZoneHasFocus(event.target)
160
- },
161
- // use capture to ensure we get all events. focus events do not bubble
162
- {signal: wrappingController.signal, capture: true}
163
- )
164
-
165
- // focus the first element
166
- ensureTrapZoneHasFocus(document.activeElement)
167
-
168
- activeTrap = {
169
- container,
170
- controller: wrappingController,
171
- initialFocus,
172
- originalSignal: signal
173
- }
174
-
175
- // If we are activating a focus trap for a container that was previously
176
- // suspended, just remove it from the suspended list.
177
- const suspendedTrapIndex = suspendedTrapStack.findIndex(t => t.container === container)
178
- if (suspendedTrapIndex >= 0) {
179
- suspendedTrapStack.splice(suspendedTrapIndex, 1)
180
- }
181
- if (!abortSignal) {
182
- return controller
183
- }
184
- }