@primer/components 33.0.0-rc.dcc047ad → 33.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1122) hide show
  1. package/dist/browser.esm.js +2 -2209
  2. package/dist/browser.esm.js.map +1 -1
  3. package/dist/browser.umd.js +2 -2209
  4. package/dist/browser.umd.js.map +1 -1
  5. package/lib/ActionList/Header.js +1 -1
  6. package/lib/ActionList/Item.js +10 -10
  7. package/lib/ActionList/List.js +1 -1
  8. package/lib/ActionList2/Item.js +1 -1
  9. package/lib/ActionList2/List.js +1 -1
  10. package/lib/BaseStyles.js +2 -20
  11. package/lib/BorderBox.js +1 -1
  12. package/lib/Box.js +1 -1
  13. package/lib/Breadcrumbs.js +3 -3
  14. package/lib/Button/Button.js +1 -1
  15. package/lib/Button/ButtonGroup.js +1 -1
  16. package/lib/Checkbox.js +1 -1
  17. package/lib/Details.js +1 -1
  18. package/lib/FilteredActionList/FilteredActionList.js +1 -1
  19. package/lib/Flex.js +1 -1
  20. package/lib/LabelGroup.js +1 -1
  21. package/lib/Overlay.js +1 -1
  22. package/lib/Pagination/Pagination.js +2 -2
  23. package/lib/Position.js +1 -1
  24. package/lib/SelectMenu/SelectMenu.js +1 -1
  25. package/lib/SelectMenu/SelectMenuFilter.js +1 -1
  26. package/lib/SelectMenu/SelectMenuFooter.js +1 -1
  27. package/lib/SelectMenu/SelectMenuItem.js +1 -1
  28. package/lib/SelectMenu/SelectMenuTab.js +1 -1
  29. package/lib/SelectMenu/SelectMenuTabPanel.js +1 -1
  30. package/lib/SelectMenu/SelectMenuTabs.js +1 -1
  31. package/lib/StateLabel.js +1 -1
  32. package/lib/StyledOcticon.js +1 -1
  33. package/lib/SubNav.js +3 -3
  34. package/lib/ThemeProvider.d.ts +1 -0
  35. package/lib/ThemeProvider.js +17 -4
  36. package/lib/Timeline.js +4 -4
  37. package/lib/Token/AvatarToken.js +1 -1
  38. package/lib/Token/TokenBase.js +1 -1
  39. package/lib/Tooltip.js +1 -1
  40. package/lib/UnderlineNav.js +2 -2
  41. package/lib-esm/ActionList/Header.js +1 -1
  42. package/lib-esm/ActionList/Item.js +10 -10
  43. package/lib-esm/ActionList/List.js +1 -1
  44. package/lib-esm/ActionList2/Item.js +1 -1
  45. package/lib-esm/ActionList2/List.js +1 -1
  46. package/lib-esm/BaseStyles.js +2 -20
  47. package/lib-esm/BorderBox.js +1 -1
  48. package/lib-esm/Box.js +1 -1
  49. package/lib-esm/Breadcrumbs.js +3 -3
  50. package/lib-esm/Button/Button.js +1 -1
  51. package/lib-esm/Button/ButtonGroup.js +1 -1
  52. package/lib-esm/Checkbox.js +1 -1
  53. package/lib-esm/Details.js +1 -1
  54. package/lib-esm/FilteredActionList/FilteredActionList.js +1 -1
  55. package/lib-esm/Flex.js +1 -1
  56. package/lib-esm/LabelGroup.js +1 -1
  57. package/lib-esm/Overlay.js +1 -1
  58. package/lib-esm/Pagination/Pagination.js +2 -2
  59. package/lib-esm/Position.js +1 -1
  60. package/lib-esm/SelectMenu/SelectMenu.js +1 -1
  61. package/lib-esm/SelectMenu/SelectMenuFilter.js +1 -1
  62. package/lib-esm/SelectMenu/SelectMenuFooter.js +1 -1
  63. package/lib-esm/SelectMenu/SelectMenuItem.js +1 -1
  64. package/lib-esm/SelectMenu/SelectMenuTab.js +1 -1
  65. package/lib-esm/SelectMenu/SelectMenuTabPanel.js +1 -1
  66. package/lib-esm/SelectMenu/SelectMenuTabs.js +1 -1
  67. package/lib-esm/StateLabel.js +1 -1
  68. package/lib-esm/StyledOcticon.js +1 -1
  69. package/lib-esm/SubNav.js +3 -3
  70. package/lib-esm/ThemeProvider.d.ts +1 -0
  71. package/lib-esm/ThemeProvider.js +17 -4
  72. package/lib-esm/Timeline.js +4 -4
  73. package/lib-esm/Token/AvatarToken.js +1 -1
  74. package/lib-esm/Token/TokenBase.js +1 -1
  75. package/lib-esm/Tooltip.js +1 -1
  76. package/lib-esm/UnderlineNav.js +2 -2
  77. package/package.json +6 -6
  78. package/.changeset/README.md +0 -8
  79. package/.changeset/config.json +0 -10
  80. package/.devcontainer/devcontainer.json +0 -8
  81. package/.eslintrc.json +0 -137
  82. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
  83. package/.github/ISSUE_TEMPLATE/new_component_proposal_template.md +0 -41
  84. package/.github/dependabot.yml +0 -18
  85. package/.github/pull_request_template.md +0 -18
  86. package/.github/workflows/check_for_changeset.yml +0 -25
  87. package/.github/workflows/ci.yml +0 -31
  88. package/.github/workflows/deploy_preview.yml +0 -47
  89. package/.github/workflows/deploy_production.yml +0 -70
  90. package/.github/workflows/release.yml +0 -35
  91. package/.github/workflows/release_canary.yml +0 -70
  92. package/.github/workflows/release_candidate.yml +0 -60
  93. package/.github/workflows/size.yml +0 -13
  94. package/.github/workflows/stale.yml +0 -26
  95. package/.github/workflows/statuses.yml +0 -32
  96. package/.gitignore +0 -11
  97. package/.npmrc +0 -4
  98. package/.nvmrc +0 -1
  99. package/.storybook/main.js +0 -9
  100. package/.storybook/preview.js +0 -117
  101. package/.vscode/launch.json +0 -21
  102. package/.vscode/settings.json +0 -13
  103. package/@types/@styled-system/index.d.ts +0 -0
  104. package/@types/@styled-system/prop-types/index.d.ts +0 -1
  105. package/@types/@styled-system/props/index.d.ts +0 -1
  106. package/@types/jest-styled-components/index.d.ts +0 -1
  107. package/CHANGELOG.md +0 -996
  108. package/CODEOWNERS +0 -2
  109. package/babel-defines.js +0 -13
  110. package/babel.config.js +0 -39
  111. package/contributor-docs/CODE_OF_CONDUCT.md +0 -76
  112. package/contributor-docs/CONTRIBUTING.md +0 -230
  113. package/contributor-docs/adrs/adr-001-typescript.md +0 -23
  114. package/contributor-docs/adrs/adr-002-behavior-isolation.md +0 -108
  115. package/contributor-docs/adrs/adr-003-prop-norms.md +0 -72
  116. package/contributor-docs/behaviors.md +0 -132
  117. package/contributor-docs/component-contents-api-patterns.md +0 -316
  118. package/contributor-docs/principles.md +0 -39
  119. package/docs/.eslintrc +0 -0
  120. package/docs/.gitignore +0 -91
  121. package/docs/components/PropsList.js +0 -5
  122. package/docs/components/State.js +0 -9
  123. package/docs/components/constants.js +0 -34
  124. package/docs/components/index.js +0 -2
  125. package/docs/content/ActionList.mdx +0 -99
  126. package/docs/content/ActionMenu.mdx +0 -80
  127. package/docs/content/AnchoredOverlay.mdx +0 -37
  128. package/docs/content/Autocomplete.mdx +0 -657
  129. package/docs/content/Avatar.mdx +0 -53
  130. package/docs/content/AvatarStack.mdx +0 -57
  131. package/docs/content/BorderBox.md +0 -46
  132. package/docs/content/Box.mdx +0 -96
  133. package/docs/content/BranchName.md +0 -39
  134. package/docs/content/Breadcrumbs.md +0 -68
  135. package/docs/content/Buttons.md +0 -47
  136. package/docs/content/Checkbox.md +0 -118
  137. package/docs/content/CircleBadge.md +0 -36
  138. package/docs/content/CircleOcticon.md +0 -19
  139. package/docs/content/CounterLabel.md +0 -22
  140. package/docs/content/Details.md +0 -102
  141. package/docs/content/Dialog.md +0 -106
  142. package/docs/content/Dialog2.mdx +0 -181
  143. package/docs/content/Dropdown.md +0 -66
  144. package/docs/content/DropdownMenu.mdx +0 -50
  145. package/docs/content/FilterList.md +0 -38
  146. package/docs/content/FilteredSearch.md +0 -33
  147. package/docs/content/Flash.md +0 -36
  148. package/docs/content/Flex.md +0 -58
  149. package/docs/content/FormGroup.md +0 -39
  150. package/docs/content/Grid.md +0 -59
  151. package/docs/content/Header.md +0 -78
  152. package/docs/content/Heading.md +0 -21
  153. package/docs/content/Label.md +0 -49
  154. package/docs/content/LabelGroup.md +0 -22
  155. package/docs/content/Link.md +0 -29
  156. package/docs/content/Overlay.mdx +0 -86
  157. package/docs/content/Pagehead.md +0 -19
  158. package/docs/content/Pagination.md +0 -179
  159. package/docs/content/PointerBox.md +0 -82
  160. package/docs/content/Popover.md +0 -130
  161. package/docs/content/Portal.mdx +0 -79
  162. package/docs/content/Position.md +0 -93
  163. package/docs/content/ProgressBar.mdx +0 -31
  164. package/docs/content/SelectMenu.md +0 -372
  165. package/docs/content/SelectPanel.mdx +0 -67
  166. package/docs/content/SideNav.md +0 -172
  167. package/docs/content/Spinner.mdx +0 -32
  168. package/docs/content/StateLabel.md +0 -28
  169. package/docs/content/StyledOcticon.md +0 -27
  170. package/docs/content/SubNav.md +0 -101
  171. package/docs/content/TabNav.md +0 -43
  172. package/docs/content/Text.md +0 -32
  173. package/docs/content/TextInput.md +0 -42
  174. package/docs/content/TextInputWithTokens.mdx +0 -211
  175. package/docs/content/Timeline.md +0 -149
  176. package/docs/content/Token.mdx +0 -381
  177. package/docs/content/Tooltip.md +0 -33
  178. package/docs/content/Truncate.md +0 -56
  179. package/docs/content/UnderlineNav.md +0 -46
  180. package/docs/content/anchoredPosition.mdx +0 -163
  181. package/docs/content/core-concepts.md +0 -70
  182. package/docs/content/drafts/ActionList2.mdx +0 -375
  183. package/docs/content/drafts/ActionMenu2.mdx +0 -251
  184. package/docs/content/focusTrap.mdx +0 -103
  185. package/docs/content/focusZone.mdx +0 -145
  186. package/docs/content/getting-started.md +0 -138
  187. package/docs/content/index.md +0 -33
  188. package/docs/content/linting.md +0 -35
  189. package/docs/content/overriding-styles.mdx +0 -82
  190. package/docs/content/philosophy.md +0 -23
  191. package/docs/content/primer-theme.md +0 -89
  192. package/docs/content/ssr.mdx +0 -43
  193. package/docs/content/status.mdx +0 -10
  194. package/docs/content/system-props.mdx +0 -37
  195. package/docs/content/theme-reference.md +0 -16
  196. package/docs/content/theming.md +0 -272
  197. package/docs/content/useOnEscapePress.mdx +0 -56
  198. package/docs/content/useOnOutsideClick.mdx +0 -57
  199. package/docs/content/useOpenAndCloseFocus.mdx +0 -49
  200. package/docs/content/useOverlay.mdx +0 -62
  201. package/docs/content/useSafeTimeout.mdx +0 -32
  202. package/docs/gatsby-config.js +0 -30
  203. package/docs/gatsby-node.js +0 -101
  204. package/docs/package-lock.json +0 -20867
  205. package/docs/package.json +0 -36
  206. package/docs/src/@primer/gatsby-theme-doctocat/components/hero.js +0 -21
  207. package/docs/src/@primer/gatsby-theme-doctocat/components/live-preview-wrapper.js +0 -41
  208. package/docs/src/@primer/gatsby-theme-doctocat/live-code-scope.js +0 -81
  209. package/docs/src/@primer/gatsby-theme-doctocat/mdx-components.js +0 -9
  210. package/docs/src/@primer/gatsby-theme-doctocat/nav.yml +0 -137
  211. package/docs/src/@primer/gatsby-theme-doctocat/primer-components-hero.svg +0 -1411
  212. package/docs/src/component-checklist.js +0 -89
  213. package/docs/src/component-statuses.js +0 -74
  214. package/docs/src/props.js +0 -77
  215. package/jest.config.js +0 -13
  216. package/lib/__tests__/ActionList.test.d.ts +0 -1
  217. package/lib/__tests__/ActionList.test.js +0 -69
  218. package/lib/__tests__/ActionList.types.test.d.ts +0 -6
  219. package/lib/__tests__/ActionList.types.test.js +0 -69
  220. package/lib/__tests__/ActionList2.test.d.ts +0 -2
  221. package/lib/__tests__/ActionList2.test.js +0 -170
  222. package/lib/__tests__/ActionMenu.test.d.ts +0 -1
  223. package/lib/__tests__/ActionMenu.test.js +0 -151
  224. package/lib/__tests__/AnchoredOverlay.test.d.ts +0 -1
  225. package/lib/__tests__/AnchoredOverlay.test.js +0 -162
  226. package/lib/__tests__/Autocomplete.test.d.ts +0 -1
  227. package/lib/__tests__/Autocomplete.test.js +0 -528
  228. package/lib/__tests__/Avatar.test.d.ts +0 -1
  229. package/lib/__tests__/Avatar.test.js +0 -69
  230. package/lib/__tests__/Avatar.types.test.d.ts +0 -3
  231. package/lib/__tests__/Avatar.types.test.js +0 -31
  232. package/lib/__tests__/AvatarStack.test.d.ts +0 -1
  233. package/lib/__tests__/AvatarStack.test.js +0 -71
  234. package/lib/__tests__/BorderBox.test.d.ts +0 -1
  235. package/lib/__tests__/BorderBox.test.js +0 -58
  236. package/lib/__tests__/Box.test.d.ts +0 -1
  237. package/lib/__tests__/Box.test.js +0 -78
  238. package/lib/__tests__/BranchName.test.d.ts +0 -1
  239. package/lib/__tests__/BranchName.test.js +0 -36
  240. package/lib/__tests__/BranchName.types.test.d.ts +0 -3
  241. package/lib/__tests__/BranchName.types.test.js +0 -28
  242. package/lib/__tests__/Breadcrumbs.test.d.ts +0 -1
  243. package/lib/__tests__/Breadcrumbs.test.js +0 -40
  244. package/lib/__tests__/Breadcrumbs.types.test.d.ts +0 -3
  245. package/lib/__tests__/Breadcrumbs.types.test.js +0 -25
  246. package/lib/__tests__/BreadcrumbsItem.test.d.ts +0 -1
  247. package/lib/__tests__/BreadcrumbsItem.test.js +0 -49
  248. package/lib/__tests__/Button.test.d.ts +0 -1
  249. package/lib/__tests__/Button.test.js +0 -147
  250. package/lib/__tests__/Caret.test.d.ts +0 -1
  251. package/lib/__tests__/Caret.test.js +0 -52
  252. package/lib/__tests__/Checkbox.test.d.ts +0 -2
  253. package/lib/__tests__/Checkbox.test.js +0 -189
  254. package/lib/__tests__/CircleBadge.test.d.ts +0 -1
  255. package/lib/__tests__/CircleBadge.test.js +0 -83
  256. package/lib/__tests__/CircleBadge.types.test.d.ts +0 -3
  257. package/lib/__tests__/CircleBadge.types.test.js +0 -28
  258. package/lib/__tests__/CircleOcticon.test.d.ts +0 -1
  259. package/lib/__tests__/CircleOcticon.test.js +0 -71
  260. package/lib/__tests__/ConfirmationDialog.test.d.ts +0 -1
  261. package/lib/__tests__/ConfirmationDialog.test.js +0 -134
  262. package/lib/__tests__/CounterLabel.test.d.ts +0 -1
  263. package/lib/__tests__/CounterLabel.test.js +0 -58
  264. package/lib/__tests__/CounterLabel.types.test.d.ts +0 -3
  265. package/lib/__tests__/CounterLabel.types.test.js +0 -28
  266. package/lib/__tests__/Details.test.d.ts +0 -1
  267. package/lib/__tests__/Details.test.js +0 -117
  268. package/lib/__tests__/Details.types.test.d.ts +0 -3
  269. package/lib/__tests__/Details.types.test.js +0 -28
  270. package/lib/__tests__/Dialog.test.d.ts +0 -1
  271. package/lib/__tests__/Dialog.test.js +0 -184
  272. package/lib/__tests__/Dialog.types.test.d.ts +0 -3
  273. package/lib/__tests__/Dialog.types.test.js +0 -28
  274. package/lib/__tests__/Dialog2.types.test.d.ts +0 -3
  275. package/lib/__tests__/Dialog2.types.test.js +0 -31
  276. package/lib/__tests__/Dropdown.test.d.ts +0 -1
  277. package/lib/__tests__/Dropdown.test.js +0 -63
  278. package/lib/__tests__/Dropdown.types.test.d.ts +0 -3
  279. package/lib/__tests__/Dropdown.types.test.js +0 -31
  280. package/lib/__tests__/DropdownMenu.test.d.ts +0 -1
  281. package/lib/__tests__/DropdownMenu.test.js +0 -150
  282. package/lib/__tests__/FilterList.test.d.ts +0 -1
  283. package/lib/__tests__/FilterList.test.js +0 -36
  284. package/lib/__tests__/FilterList.types.test.d.ts +0 -3
  285. package/lib/__tests__/FilterList.types.test.js +0 -27
  286. package/lib/__tests__/FilterListItem.test.d.ts +0 -1
  287. package/lib/__tests__/FilterListItem.test.js +0 -46
  288. package/lib/__tests__/FilteredSearch.test.d.ts +0 -1
  289. package/lib/__tests__/FilteredSearch.test.js +0 -36
  290. package/lib/__tests__/FilteredSearch.types.test.d.ts +0 -3
  291. package/lib/__tests__/FilteredSearch.types.test.js +0 -28
  292. package/lib/__tests__/Flash.test.d.ts +0 -1
  293. package/lib/__tests__/Flash.test.js +0 -62
  294. package/lib/__tests__/Flash.types.test.d.ts +0 -3
  295. package/lib/__tests__/Flash.types.test.js +0 -28
  296. package/lib/__tests__/Flex.test.d.ts +0 -1
  297. package/lib/__tests__/Flex.test.js +0 -74
  298. package/lib/__tests__/FormGroup.test.d.ts +0 -1
  299. package/lib/__tests__/FormGroup.test.js +0 -54
  300. package/lib/__tests__/FormGroup.types.test.d.ts +0 -3
  301. package/lib/__tests__/FormGroup.types.test.js +0 -28
  302. package/lib/__tests__/Grid.test.d.ts +0 -1
  303. package/lib/__tests__/Grid.test.js +0 -104
  304. package/lib/__tests__/Header.test.d.ts +0 -1
  305. package/lib/__tests__/Header.test.js +0 -58
  306. package/lib/__tests__/Header.types.test.d.ts +0 -3
  307. package/lib/__tests__/Header.types.test.js +0 -29
  308. package/lib/__tests__/Heading.test.d.ts +0 -1
  309. package/lib/__tests__/Heading.test.js +0 -142
  310. package/lib/__tests__/Heading.types.test.d.ts +0 -3
  311. package/lib/__tests__/Heading.types.test.js +0 -28
  312. package/lib/__tests__/KeyPaths.types.test.d.ts +0 -11
  313. package/lib/__tests__/KeyPaths.types.test.js +0 -10
  314. package/lib/__tests__/Label.test.d.ts +0 -1
  315. package/lib/__tests__/Label.test.js +0 -46
  316. package/lib/__tests__/Label.types.test.d.ts +0 -3
  317. package/lib/__tests__/Label.types.test.js +0 -28
  318. package/lib/__tests__/LabelGroup.test.d.ts +0 -1
  319. package/lib/__tests__/LabelGroup.test.js +0 -38
  320. package/lib/__tests__/LabelGroup.types.test.d.ts +0 -3
  321. package/lib/__tests__/LabelGroup.types.test.js +0 -28
  322. package/lib/__tests__/Link.test.d.ts +0 -1
  323. package/lib/__tests__/Link.test.js +0 -76
  324. package/lib/__tests__/Link.types.test.d.ts +0 -3
  325. package/lib/__tests__/Link.types.test.js +0 -28
  326. package/lib/__tests__/Merge.types.test.d.ts +0 -30
  327. package/lib/__tests__/Merge.types.test.js +0 -27
  328. package/lib/__tests__/NewButton.test.d.ts +0 -1
  329. package/lib/__tests__/NewButton.test.js +0 -95
  330. package/lib/__tests__/Overlay.test.d.ts +0 -1
  331. package/lib/__tests__/Overlay.test.js +0 -145
  332. package/lib/__tests__/Overlay.types.test.d.ts +0 -6
  333. package/lib/__tests__/Overlay.types.test.js +0 -73
  334. package/lib/__tests__/Pagehead.test.d.ts +0 -1
  335. package/lib/__tests__/Pagehead.test.js +0 -37
  336. package/lib/__tests__/Pagehead.types.test.d.ts +0 -3
  337. package/lib/__tests__/Pagehead.types.test.js +0 -28
  338. package/lib/__tests__/Pagination/Pagination.test.d.ts +0 -1
  339. package/lib/__tests__/Pagination/Pagination.test.js +0 -47
  340. package/lib/__tests__/Pagination/PaginationModel.test.d.ts +0 -1
  341. package/lib/__tests__/Pagination/PaginationModel.test.js +0 -186
  342. package/lib/__tests__/Pagination.types.test.d.ts +0 -3
  343. package/lib/__tests__/Pagination.types.test.js +0 -33
  344. package/lib/__tests__/PointerBox.test.d.ts +0 -1
  345. package/lib/__tests__/PointerBox.test.js +0 -46
  346. package/lib/__tests__/Popover.test.d.ts +0 -1
  347. package/lib/__tests__/Popover.test.js +0 -66
  348. package/lib/__tests__/Popover.types.test.d.ts +0 -3
  349. package/lib/__tests__/Popover.types.test.js +0 -27
  350. package/lib/__tests__/Portal.test.d.ts +0 -1
  351. package/lib/__tests__/Portal.test.js +0 -124
  352. package/lib/__tests__/Position.test.d.ts +0 -1
  353. package/lib/__tests__/Position.test.js +0 -143
  354. package/lib/__tests__/ProgressBar.test.d.ts +0 -1
  355. package/lib/__tests__/ProgressBar.test.js +0 -68
  356. package/lib/__tests__/SelectMenu.test.d.ts +0 -1
  357. package/lib/__tests__/SelectMenu.test.js +0 -155
  358. package/lib/__tests__/SelectMenu.types.test.d.ts +0 -3
  359. package/lib/__tests__/SelectMenu.types.test.js +0 -47
  360. package/lib/__tests__/SelectPanel.test.d.ts +0 -1
  361. package/lib/__tests__/SelectPanel.test.js +0 -80
  362. package/lib/__tests__/SelectPanel.types.test.d.ts +0 -3
  363. package/lib/__tests__/SelectPanel.types.test.js +0 -44
  364. package/lib/__tests__/SideNav.test.d.ts +0 -1
  365. package/lib/__tests__/SideNav.test.js +0 -71
  366. package/lib/__tests__/SideNav.types.test.d.ts +0 -3
  367. package/lib/__tests__/SideNav.types.test.js +0 -28
  368. package/lib/__tests__/Spinner.test.d.ts +0 -1
  369. package/lib/__tests__/Spinner.test.js +0 -53
  370. package/lib/__tests__/StateLabel.test.d.ts +0 -1
  371. package/lib/__tests__/StateLabel.test.js +0 -71
  372. package/lib/__tests__/StateLabel.types.test.d.ts +0 -3
  373. package/lib/__tests__/StateLabel.types.test.js +0 -28
  374. package/lib/__tests__/StyledOcticon.test.d.ts +0 -1
  375. package/lib/__tests__/StyledOcticon.test.js +0 -40
  376. package/lib/__tests__/StyledOcticon.types.test.d.ts +0 -3
  377. package/lib/__tests__/StyledOcticon.types.test.js +0 -32
  378. package/lib/__tests__/SubNav.test.d.ts +0 -1
  379. package/lib/__tests__/SubNav.test.js +0 -62
  380. package/lib/__tests__/SubNav.types.test.d.ts +0 -3
  381. package/lib/__tests__/SubNav.types.test.js +0 -27
  382. package/lib/__tests__/SubNavLink.test.d.ts +0 -1
  383. package/lib/__tests__/SubNavLink.test.js +0 -49
  384. package/lib/__tests__/TabNav.test.d.ts +0 -1
  385. package/lib/__tests__/TabNav.test.js +0 -49
  386. package/lib/__tests__/TabNav.types.test.d.ts +0 -3
  387. package/lib/__tests__/TabNav.types.test.js +0 -25
  388. package/lib/__tests__/Text.test.d.ts +0 -1
  389. package/lib/__tests__/Text.test.js +0 -105
  390. package/lib/__tests__/TextInput.test.d.ts +0 -1
  391. package/lib/__tests__/TextInput.test.js +0 -78
  392. package/lib/__tests__/TextInputWithTokens.test.d.ts +0 -1
  393. package/lib/__tests__/TextInputWithTokens.test.js +0 -572
  394. package/lib/__tests__/ThemeProvider.test.d.ts +0 -1
  395. package/lib/__tests__/ThemeProvider.test.js +0 -444
  396. package/lib/__tests__/Timeline.test.d.ts +0 -1
  397. package/lib/__tests__/Timeline.test.js +0 -75
  398. package/lib/__tests__/Timeline.types.test.d.ts +0 -3
  399. package/lib/__tests__/Timeline.types.test.js +0 -31
  400. package/lib/__tests__/Token.test.d.ts +0 -1
  401. package/lib/__tests__/Token.test.js +0 -180
  402. package/lib/__tests__/Tooltip.test.d.ts +0 -1
  403. package/lib/__tests__/Tooltip.test.js +0 -69
  404. package/lib/__tests__/Tooltip.types.test.d.ts +0 -3
  405. package/lib/__tests__/Tooltip.types.test.js +0 -28
  406. package/lib/__tests__/Truncate.test.d.ts +0 -1
  407. package/lib/__tests__/Truncate.test.js +0 -63
  408. package/lib/__tests__/Truncate.types.test.d.ts +0 -3
  409. package/lib/__tests__/Truncate.types.test.js +0 -31
  410. package/lib/__tests__/UnderlineNav.test.d.ts +0 -1
  411. package/lib/__tests__/UnderlineNav.test.js +0 -72
  412. package/lib/__tests__/UnderlineNav.types.test.d.ts +0 -3
  413. package/lib/__tests__/UnderlineNav.types.test.js +0 -25
  414. package/lib/__tests__/UnderlineNavLink.test.d.ts +0 -1
  415. package/lib/__tests__/UnderlineNavLink.test.js +0 -51
  416. package/lib/__tests__/behaviors/anchoredPosition.test.d.ts +0 -1
  417. package/lib/__tests__/behaviors/anchoredPosition.test.js +0 -390
  418. package/lib/__tests__/behaviors/focusTrap.test.d.ts +0 -1
  419. package/lib/__tests__/behaviors/focusTrap.test.js +0 -234
  420. package/lib/__tests__/behaviors/focusZone.test.d.ts +0 -1
  421. package/lib/__tests__/behaviors/focusZone.test.js +0 -570
  422. package/lib/__tests__/behaviors/iterateFocusableElements.test.d.ts +0 -1
  423. package/lib/__tests__/behaviors/iterateFocusableElements.test.js +0 -55
  424. package/lib/__tests__/behaviors/scrollIntoViewingArea.test.d.ts +0 -1
  425. package/lib/__tests__/behaviors/scrollIntoViewingArea.test.js +0 -226
  426. package/lib/__tests__/filterObject.test.d.ts +0 -1
  427. package/lib/__tests__/filterObject.test.js +0 -30
  428. package/lib/__tests__/hooks/useAnchoredPosition.test.d.ts +0 -1
  429. package/lib/__tests__/hooks/useAnchoredPosition.test.js +0 -54
  430. package/lib/__tests__/hooks/useOnEscapePress.test.d.ts +0 -1
  431. package/lib/__tests__/hooks/useOnEscapePress.test.js +0 -32
  432. package/lib/__tests__/hooks/useOnOutsideClick.test.d.ts +0 -1
  433. package/lib/__tests__/hooks/useOnOutsideClick.test.js +0 -87
  434. package/lib/__tests__/hooks/useOpenAndCloseFocus.test.d.ts +0 -1
  435. package/lib/__tests__/hooks/useOpenAndCloseFocus.test.js +0 -60
  436. package/lib/__tests__/hooks/useProvidedStateOrCreate.test.d.ts +0 -1
  437. package/lib/__tests__/hooks/useProvidedStateOrCreate.test.js +0 -45
  438. package/lib/__tests__/theme.test.d.ts +0 -1
  439. package/lib/__tests__/theme.test.js +0 -36
  440. package/lib/__tests__/themeGet.test.d.ts +0 -1
  441. package/lib/__tests__/themeGet.test.js +0 -25
  442. package/lib/__tests__/themePreval.test.d.ts +0 -1
  443. package/lib/__tests__/themePreval.test.js +0 -14
  444. package/lib/__tests__/useSafeTimeout.test.d.ts +0 -1
  445. package/lib/__tests__/useSafeTimeout.test.js +0 -45
  446. package/lib/__tests__/utils/createSlots.test.d.ts +0 -1
  447. package/lib/__tests__/utils/createSlots.test.js +0 -75
  448. package/lib/stories/ActionList.stories.js +0 -454
  449. package/lib/stories/ActionList2.stories.js +0 -923
  450. package/lib/stories/ActionMenu.stories.js +0 -348
  451. package/lib/stories/ActionMenu2.stories.js +0 -433
  452. package/lib/stories/AnchoredOverlay.stories.js +0 -127
  453. package/lib/stories/Autocomplete.stories.js +0 -619
  454. package/lib/stories/AvatarStack.stories.js +0 -49
  455. package/lib/stories/Button.stories.js +0 -125
  456. package/lib/stories/Checkbox.stories.js +0 -227
  457. package/lib/stories/ConfirmationDialog.stories.js +0 -119
  458. package/lib/stories/Dialog.stories.js +0 -269
  459. package/lib/stories/DropdownMenu.stories.js +0 -122
  460. package/lib/stories/IssueLabelToken.stories.js +0 -165
  461. package/lib/stories/NewButton.stories.js +0 -230
  462. package/lib/stories/Overlay.stories.js +0 -204
  463. package/lib/stories/Portal.stories.js +0 -104
  464. package/lib/stories/ProfileToken.stories.js +0 -162
  465. package/lib/stories/SelectPanel.stories.js +0 -399
  466. package/lib/stories/TextInput.stories.js +0 -144
  467. package/lib/stories/TextInputWithTokens.stories.js +0 -252
  468. package/lib/stories/ThemeProvider.stories.js +0 -102
  469. package/lib/stories/Token.stories.js +0 -176
  470. package/lib/stories/useAnchoredPosition.stories.js +0 -351
  471. package/lib/stories/useFocusTrap.stories.js +0 -360
  472. package/lib/stories/useFocusZone.stories.js +0 -607
  473. package/lib-esm/__tests__/ActionList.test.d.ts +0 -1
  474. package/lib-esm/__tests__/ActionList.test.js +0 -57
  475. package/lib-esm/__tests__/ActionList.types.test.d.ts +0 -6
  476. package/lib-esm/__tests__/ActionList.types.test.js +0 -45
  477. package/lib-esm/__tests__/ActionList2.test.d.ts +0 -2
  478. package/lib-esm/__tests__/ActionList2.test.js +0 -144
  479. package/lib-esm/__tests__/ActionMenu.test.d.ts +0 -1
  480. package/lib-esm/__tests__/ActionMenu.test.js +0 -139
  481. package/lib-esm/__tests__/AnchoredOverlay.test.d.ts +0 -1
  482. package/lib-esm/__tests__/AnchoredOverlay.test.js +0 -136
  483. package/lib-esm/__tests__/Autocomplete.test.d.ts +0 -1
  484. package/lib-esm/__tests__/Autocomplete.test.js +0 -494
  485. package/lib-esm/__tests__/Avatar.test.d.ts +0 -1
  486. package/lib-esm/__tests__/Avatar.test.js +0 -58
  487. package/lib-esm/__tests__/Avatar.types.test.d.ts +0 -3
  488. package/lib-esm/__tests__/Avatar.types.test.js +0 -16
  489. package/lib-esm/__tests__/AvatarStack.test.d.ts +0 -1
  490. package/lib-esm/__tests__/AvatarStack.test.js +0 -58
  491. package/lib-esm/__tests__/BorderBox.test.d.ts +0 -1
  492. package/lib-esm/__tests__/BorderBox.test.js +0 -47
  493. package/lib-esm/__tests__/Box.test.d.ts +0 -1
  494. package/lib-esm/__tests__/Box.test.js +0 -67
  495. package/lib-esm/__tests__/BranchName.test.d.ts +0 -1
  496. package/lib-esm/__tests__/BranchName.test.js +0 -26
  497. package/lib-esm/__tests__/BranchName.types.test.d.ts +0 -3
  498. package/lib-esm/__tests__/BranchName.types.test.js +0 -13
  499. package/lib-esm/__tests__/Breadcrumbs.test.d.ts +0 -1
  500. package/lib-esm/__tests__/Breadcrumbs.test.js +0 -30
  501. package/lib-esm/__tests__/Breadcrumbs.types.test.d.ts +0 -3
  502. package/lib-esm/__tests__/Breadcrumbs.types.test.js +0 -12
  503. package/lib-esm/__tests__/BreadcrumbsItem.test.d.ts +0 -1
  504. package/lib-esm/__tests__/BreadcrumbsItem.test.js +0 -39
  505. package/lib-esm/__tests__/Button.test.d.ts +0 -1
  506. package/lib-esm/__tests__/Button.test.js +0 -137
  507. package/lib-esm/__tests__/Caret.test.d.ts +0 -1
  508. package/lib-esm/__tests__/Caret.test.js +0 -42
  509. package/lib-esm/__tests__/Checkbox.test.d.ts +0 -2
  510. package/lib-esm/__tests__/Checkbox.test.js +0 -169
  511. package/lib-esm/__tests__/CircleBadge.test.d.ts +0 -1
  512. package/lib-esm/__tests__/CircleBadge.test.js +0 -70
  513. package/lib-esm/__tests__/CircleBadge.types.test.d.ts +0 -3
  514. package/lib-esm/__tests__/CircleBadge.types.test.js +0 -13
  515. package/lib-esm/__tests__/CircleOcticon.test.d.ts +0 -1
  516. package/lib-esm/__tests__/CircleOcticon.test.js +0 -59
  517. package/lib-esm/__tests__/ConfirmationDialog.test.d.ts +0 -1
  518. package/lib-esm/__tests__/ConfirmationDialog.test.js +0 -113
  519. package/lib-esm/__tests__/CounterLabel.test.d.ts +0 -1
  520. package/lib-esm/__tests__/CounterLabel.test.js +0 -47
  521. package/lib-esm/__tests__/CounterLabel.types.test.d.ts +0 -3
  522. package/lib-esm/__tests__/CounterLabel.types.test.js +0 -13
  523. package/lib-esm/__tests__/Details.test.d.ts +0 -1
  524. package/lib-esm/__tests__/Details.test.js +0 -107
  525. package/lib-esm/__tests__/Details.types.test.d.ts +0 -3
  526. package/lib-esm/__tests__/Details.types.test.js +0 -13
  527. package/lib-esm/__tests__/Dialog.test.d.ts +0 -1
  528. package/lib-esm/__tests__/Dialog.test.js +0 -171
  529. package/lib-esm/__tests__/Dialog.types.test.d.ts +0 -3
  530. package/lib-esm/__tests__/Dialog.types.test.js +0 -13
  531. package/lib-esm/__tests__/Dialog2.types.test.d.ts +0 -3
  532. package/lib-esm/__tests__/Dialog2.types.test.js +0 -16
  533. package/lib-esm/__tests__/Dropdown.test.d.ts +0 -1
  534. package/lib-esm/__tests__/Dropdown.test.js +0 -53
  535. package/lib-esm/__tests__/Dropdown.types.test.d.ts +0 -3
  536. package/lib-esm/__tests__/Dropdown.types.test.js +0 -17
  537. package/lib-esm/__tests__/DropdownMenu.test.d.ts +0 -1
  538. package/lib-esm/__tests__/DropdownMenu.test.js +0 -137
  539. package/lib-esm/__tests__/FilterList.test.d.ts +0 -1
  540. package/lib-esm/__tests__/FilterList.test.js +0 -26
  541. package/lib-esm/__tests__/FilterList.types.test.d.ts +0 -3
  542. package/lib-esm/__tests__/FilterList.types.test.js +0 -13
  543. package/lib-esm/__tests__/FilterListItem.test.d.ts +0 -1
  544. package/lib-esm/__tests__/FilterListItem.test.js +0 -36
  545. package/lib-esm/__tests__/FilteredSearch.test.d.ts +0 -1
  546. package/lib-esm/__tests__/FilteredSearch.test.js +0 -26
  547. package/lib-esm/__tests__/FilteredSearch.types.test.d.ts +0 -3
  548. package/lib-esm/__tests__/FilteredSearch.types.test.js +0 -13
  549. package/lib-esm/__tests__/Flash.test.d.ts +0 -1
  550. package/lib-esm/__tests__/Flash.test.js +0 -51
  551. package/lib-esm/__tests__/Flash.types.test.d.ts +0 -3
  552. package/lib-esm/__tests__/Flash.types.test.js +0 -13
  553. package/lib-esm/__tests__/Flex.test.d.ts +0 -1
  554. package/lib-esm/__tests__/Flex.test.js +0 -64
  555. package/lib-esm/__tests__/FormGroup.test.d.ts +0 -1
  556. package/lib-esm/__tests__/FormGroup.test.js +0 -44
  557. package/lib-esm/__tests__/FormGroup.types.test.d.ts +0 -3
  558. package/lib-esm/__tests__/FormGroup.types.test.js +0 -13
  559. package/lib-esm/__tests__/Grid.test.d.ts +0 -1
  560. package/lib-esm/__tests__/Grid.test.js +0 -94
  561. package/lib-esm/__tests__/Header.test.d.ts +0 -1
  562. package/lib-esm/__tests__/Header.test.js +0 -48
  563. package/lib-esm/__tests__/Header.types.test.d.ts +0 -3
  564. package/lib-esm/__tests__/Header.types.test.js +0 -15
  565. package/lib-esm/__tests__/Heading.test.d.ts +0 -1
  566. package/lib-esm/__tests__/Heading.test.js +0 -131
  567. package/lib-esm/__tests__/Heading.types.test.d.ts +0 -3
  568. package/lib-esm/__tests__/Heading.types.test.js +0 -13
  569. package/lib-esm/__tests__/KeyPaths.types.test.d.ts +0 -11
  570. package/lib-esm/__tests__/KeyPaths.types.test.js +0 -3
  571. package/lib-esm/__tests__/Label.test.d.ts +0 -1
  572. package/lib-esm/__tests__/Label.test.js +0 -36
  573. package/lib-esm/__tests__/Label.types.test.d.ts +0 -3
  574. package/lib-esm/__tests__/Label.types.test.js +0 -13
  575. package/lib-esm/__tests__/LabelGroup.test.d.ts +0 -1
  576. package/lib-esm/__tests__/LabelGroup.test.js +0 -26
  577. package/lib-esm/__tests__/LabelGroup.types.test.d.ts +0 -3
  578. package/lib-esm/__tests__/LabelGroup.types.test.js +0 -13
  579. package/lib-esm/__tests__/Link.test.d.ts +0 -1
  580. package/lib-esm/__tests__/Link.test.js +0 -66
  581. package/lib-esm/__tests__/Link.types.test.d.ts +0 -3
  582. package/lib-esm/__tests__/Link.types.test.js +0 -13
  583. package/lib-esm/__tests__/Merge.types.test.d.ts +0 -30
  584. package/lib-esm/__tests__/Merge.types.test.js +0 -14
  585. package/lib-esm/__tests__/NewButton.test.d.ts +0 -1
  586. package/lib-esm/__tests__/NewButton.test.js +0 -84
  587. package/lib-esm/__tests__/Overlay.test.d.ts +0 -1
  588. package/lib-esm/__tests__/Overlay.test.js +0 -123
  589. package/lib-esm/__tests__/Overlay.types.test.d.ts +0 -6
  590. package/lib-esm/__tests__/Overlay.types.test.js +0 -49
  591. package/lib-esm/__tests__/Pagehead.test.d.ts +0 -1
  592. package/lib-esm/__tests__/Pagehead.test.js +0 -26
  593. package/lib-esm/__tests__/Pagehead.types.test.d.ts +0 -3
  594. package/lib-esm/__tests__/Pagehead.types.test.js +0 -13
  595. package/lib-esm/__tests__/Pagination/Pagination.test.d.ts +0 -1
  596. package/lib-esm/__tests__/Pagination/Pagination.test.js +0 -35
  597. package/lib-esm/__tests__/Pagination/PaginationModel.test.d.ts +0 -1
  598. package/lib-esm/__tests__/Pagination/PaginationModel.test.js +0 -182
  599. package/lib-esm/__tests__/Pagination.types.test.d.ts +0 -3
  600. package/lib-esm/__tests__/Pagination.types.test.js +0 -18
  601. package/lib-esm/__tests__/PointerBox.test.d.ts +0 -1
  602. package/lib-esm/__tests__/PointerBox.test.js +0 -36
  603. package/lib-esm/__tests__/Popover.test.d.ts +0 -1
  604. package/lib-esm/__tests__/Popover.test.js +0 -53
  605. package/lib-esm/__tests__/Popover.types.test.d.ts +0 -3
  606. package/lib-esm/__tests__/Popover.types.test.js +0 -13
  607. package/lib-esm/__tests__/Portal.test.d.ts +0 -1
  608. package/lib-esm/__tests__/Portal.test.js +0 -104
  609. package/lib-esm/__tests__/Position.test.d.ts +0 -1
  610. package/lib-esm/__tests__/Position.test.js +0 -133
  611. package/lib-esm/__tests__/ProgressBar.test.d.ts +0 -1
  612. package/lib-esm/__tests__/ProgressBar.test.js +0 -58
  613. package/lib-esm/__tests__/SelectMenu.test.d.ts +0 -1
  614. package/lib-esm/__tests__/SelectMenu.test.js +0 -145
  615. package/lib-esm/__tests__/SelectMenu.types.test.d.ts +0 -3
  616. package/lib-esm/__tests__/SelectMenu.types.test.js +0 -33
  617. package/lib-esm/__tests__/SelectPanel.test.d.ts +0 -1
  618. package/lib-esm/__tests__/SelectPanel.test.js +0 -65
  619. package/lib-esm/__tests__/SelectPanel.types.test.d.ts +0 -3
  620. package/lib-esm/__tests__/SelectPanel.types.test.js +0 -29
  621. package/lib-esm/__tests__/SideNav.test.d.ts +0 -1
  622. package/lib-esm/__tests__/SideNav.test.js +0 -60
  623. package/lib-esm/__tests__/SideNav.types.test.d.ts +0 -3
  624. package/lib-esm/__tests__/SideNav.types.test.js +0 -13
  625. package/lib-esm/__tests__/Spinner.test.d.ts +0 -1
  626. package/lib-esm/__tests__/Spinner.test.js +0 -43
  627. package/lib-esm/__tests__/StateLabel.test.d.ts +0 -1
  628. package/lib-esm/__tests__/StateLabel.test.js +0 -61
  629. package/lib-esm/__tests__/StateLabel.types.test.d.ts +0 -3
  630. package/lib-esm/__tests__/StateLabel.types.test.js +0 -13
  631. package/lib-esm/__tests__/StyledOcticon.test.d.ts +0 -1
  632. package/lib-esm/__tests__/StyledOcticon.test.js +0 -29
  633. package/lib-esm/__tests__/StyledOcticon.types.test.d.ts +0 -3
  634. package/lib-esm/__tests__/StyledOcticon.types.test.js +0 -16
  635. package/lib-esm/__tests__/SubNav.test.d.ts +0 -1
  636. package/lib-esm/__tests__/SubNav.test.js +0 -50
  637. package/lib-esm/__tests__/SubNav.types.test.d.ts +0 -3
  638. package/lib-esm/__tests__/SubNav.types.test.js +0 -14
  639. package/lib-esm/__tests__/SubNavLink.test.d.ts +0 -1
  640. package/lib-esm/__tests__/SubNavLink.test.js +0 -39
  641. package/lib-esm/__tests__/TabNav.test.d.ts +0 -1
  642. package/lib-esm/__tests__/TabNav.test.js +0 -39
  643. package/lib-esm/__tests__/TabNav.types.test.d.ts +0 -3
  644. package/lib-esm/__tests__/TabNav.types.test.js +0 -12
  645. package/lib-esm/__tests__/Text.test.d.ts +0 -1
  646. package/lib-esm/__tests__/Text.test.js +0 -93
  647. package/lib-esm/__tests__/TextInput.test.d.ts +0 -1
  648. package/lib-esm/__tests__/TextInput.test.js +0 -68
  649. package/lib-esm/__tests__/TextInputWithTokens.test.d.ts +0 -1
  650. package/lib-esm/__tests__/TextInputWithTokens.test.js +0 -511
  651. package/lib-esm/__tests__/ThemeProvider.test.d.ts +0 -1
  652. package/lib-esm/__tests__/ThemeProvider.test.js +0 -408
  653. package/lib-esm/__tests__/Timeline.test.d.ts +0 -1
  654. package/lib-esm/__tests__/Timeline.test.js +0 -65
  655. package/lib-esm/__tests__/Timeline.types.test.d.ts +0 -3
  656. package/lib-esm/__tests__/Timeline.types.test.js +0 -18
  657. package/lib-esm/__tests__/Token.test.d.ts +0 -1
  658. package/lib-esm/__tests__/Token.test.js +0 -166
  659. package/lib-esm/__tests__/Tooltip.test.d.ts +0 -1
  660. package/lib-esm/__tests__/Tooltip.test.js +0 -59
  661. package/lib-esm/__tests__/Tooltip.types.test.d.ts +0 -3
  662. package/lib-esm/__tests__/Tooltip.types.test.js +0 -13
  663. package/lib-esm/__tests__/Truncate.test.d.ts +0 -1
  664. package/lib-esm/__tests__/Truncate.test.js +0 -53
  665. package/lib-esm/__tests__/Truncate.types.test.d.ts +0 -3
  666. package/lib-esm/__tests__/Truncate.types.test.js +0 -16
  667. package/lib-esm/__tests__/UnderlineNav.test.d.ts +0 -1
  668. package/lib-esm/__tests__/UnderlineNav.test.js +0 -60
  669. package/lib-esm/__tests__/UnderlineNav.types.test.d.ts +0 -3
  670. package/lib-esm/__tests__/UnderlineNav.types.test.js +0 -12
  671. package/lib-esm/__tests__/UnderlineNavLink.test.d.ts +0 -1
  672. package/lib-esm/__tests__/UnderlineNavLink.test.js +0 -41
  673. package/lib-esm/__tests__/behaviors/anchoredPosition.test.d.ts +0 -1
  674. package/lib-esm/__tests__/behaviors/anchoredPosition.test.js +0 -388
  675. package/lib-esm/__tests__/behaviors/focusTrap.test.d.ts +0 -1
  676. package/lib-esm/__tests__/behaviors/focusTrap.test.js +0 -227
  677. package/lib-esm/__tests__/behaviors/focusZone.test.d.ts +0 -1
  678. package/lib-esm/__tests__/behaviors/focusZone.test.js +0 -487
  679. package/lib-esm/__tests__/behaviors/iterateFocusableElements.test.d.ts +0 -1
  680. package/lib-esm/__tests__/behaviors/iterateFocusableElements.test.js +0 -48
  681. package/lib-esm/__tests__/behaviors/scrollIntoViewingArea.test.d.ts +0 -1
  682. package/lib-esm/__tests__/behaviors/scrollIntoViewingArea.test.js +0 -224
  683. package/lib-esm/__tests__/filterObject.test.d.ts +0 -1
  684. package/lib-esm/__tests__/filterObject.test.js +0 -27
  685. package/lib-esm/__tests__/hooks/useAnchoredPosition.test.d.ts +0 -1
  686. package/lib-esm/__tests__/hooks/useAnchoredPosition.test.js +0 -46
  687. package/lib-esm/__tests__/hooks/useOnEscapePress.test.d.ts +0 -1
  688. package/lib-esm/__tests__/hooks/useOnEscapePress.test.js +0 -23
  689. package/lib-esm/__tests__/hooks/useOnOutsideClick.test.d.ts +0 -1
  690. package/lib-esm/__tests__/hooks/useOnOutsideClick.test.js +0 -68
  691. package/lib-esm/__tests__/hooks/useOpenAndCloseFocus.test.d.ts +0 -1
  692. package/lib-esm/__tests__/hooks/useOpenAndCloseFocus.test.js +0 -52
  693. package/lib-esm/__tests__/hooks/useProvidedStateOrCreate.test.d.ts +0 -1
  694. package/lib-esm/__tests__/hooks/useProvidedStateOrCreate.test.js +0 -36
  695. package/lib-esm/__tests__/theme.test.d.ts +0 -1
  696. package/lib-esm/__tests__/theme.test.js +0 -33
  697. package/lib-esm/__tests__/themeGet.test.d.ts +0 -1
  698. package/lib-esm/__tests__/themeGet.test.js +0 -22
  699. package/lib-esm/__tests__/themePreval.test.d.ts +0 -1
  700. package/lib-esm/__tests__/themePreval.test.js +0 -7
  701. package/lib-esm/__tests__/useSafeTimeout.test.d.ts +0 -1
  702. package/lib-esm/__tests__/useSafeTimeout.test.js +0 -39
  703. package/lib-esm/__tests__/utils/createSlots.test.d.ts +0 -1
  704. package/lib-esm/__tests__/utils/createSlots.test.js +0 -67
  705. package/lib-esm/stories/ActionList.stories.js +0 -395
  706. package/lib-esm/stories/ActionList2.stories.js +0 -811
  707. package/lib-esm/stories/ActionMenu.stories.js +0 -303
  708. package/lib-esm/stories/ActionMenu2.stories.js +0 -376
  709. package/lib-esm/stories/AnchoredOverlay.stories.js +0 -101
  710. package/lib-esm/stories/Autocomplete.stories.js +0 -560
  711. package/lib-esm/stories/AvatarStack.stories.js +0 -32
  712. package/lib-esm/stories/Button.stories.js +0 -86
  713. package/lib-esm/stories/Checkbox.stories.js +0 -197
  714. package/lib-esm/stories/ConfirmationDialog.stories.js +0 -94
  715. package/lib-esm/stories/Dialog.stories.js +0 -244
  716. package/lib-esm/stories/DropdownMenu.stories.js +0 -94
  717. package/lib-esm/stories/IssueLabelToken.stories.js +0 -139
  718. package/lib-esm/stories/NewButton.stories.js +0 -178
  719. package/lib-esm/stories/Overlay.stories.js +0 -173
  720. package/lib-esm/stories/Portal.stories.js +0 -68
  721. package/lib-esm/stories/ProfileToken.stories.js +0 -136
  722. package/lib-esm/stories/SelectPanel.stories.js +0 -334
  723. package/lib-esm/stories/TextInput.stories.js +0 -117
  724. package/lib-esm/stories/TextInputWithTokens.stories.js +0 -210
  725. package/lib-esm/stories/ThemeProvider.stories.js +0 -83
  726. package/lib-esm/stories/Token.stories.js +0 -146
  727. package/lib-esm/stories/useAnchoredPosition.stories.js +0 -313
  728. package/lib-esm/stories/useFocusTrap.stories.js +0 -313
  729. package/lib-esm/stories/useFocusZone.stories.js +0 -562
  730. package/migrating.md +0 -250
  731. package/now.json +0 -17
  732. package/package-lock.json +0 -66716
  733. package/rollup.config.js +0 -36
  734. package/script/build +0 -21
  735. package/script/build-storybook +0 -10
  736. package/script/component-status-project/build.ts +0 -100
  737. package/script/component-status-project/deploy.rb +0 -142
  738. package/script/setup +0 -12
  739. package/src/ActionList/Divider.tsx +0 -25
  740. package/src/ActionList/Group.tsx +0 -45
  741. package/src/ActionList/Header.tsx +0 -74
  742. package/src/ActionList/Item.tsx +0 -481
  743. package/src/ActionList/List.tsx +0 -258
  744. package/src/ActionList/index.ts +0 -21
  745. package/src/ActionList2/Description.tsx +0 -52
  746. package/src/ActionList2/Divider.tsx +0 -29
  747. package/src/ActionList2/Group.tsx +0 -103
  748. package/src/ActionList2/Item.tsx +0 -257
  749. package/src/ActionList2/LinkItem.tsx +0 -49
  750. package/src/ActionList2/List.tsx +0 -54
  751. package/src/ActionList2/MenuContext.tsx +0 -6
  752. package/src/ActionList2/Selection.tsx +0 -70
  753. package/src/ActionList2/Visuals.tsx +0 -76
  754. package/src/ActionList2/index.ts +0 -39
  755. package/src/ActionMenu.tsx +0 -106
  756. package/src/ActionMenu2.tsx +0 -94
  757. package/src/AnchoredOverlay/AnchoredOverlay.tsx +0 -191
  758. package/src/AnchoredOverlay/index.ts +0 -2
  759. package/src/Autocomplete/Autocomplete.tsx +0 -103
  760. package/src/Autocomplete/AutocompleteContext.tsx +0 -19
  761. package/src/Autocomplete/AutocompleteInput.tsx +0 -179
  762. package/src/Autocomplete/AutocompleteMenu.tsx +0 -341
  763. package/src/Autocomplete/AutocompleteOverlay.tsx +0 -68
  764. package/src/Autocomplete/index.ts +0 -2
  765. package/src/Avatar.tsx +0 -44
  766. package/src/AvatarPair.tsx +0 -35
  767. package/src/AvatarStack.tsx +0 -159
  768. package/src/BaseStyles.tsx +0 -53
  769. package/src/BorderBox.tsx +0 -18
  770. package/src/Box.tsx +0 -54
  771. package/src/BranchName.tsx +0 -19
  772. package/src/Breadcrumbs.tsx +0 -101
  773. package/src/Button/Button.tsx +0 -39
  774. package/src/Button/ButtonBase.tsx +0 -39
  775. package/src/Button/ButtonClose.tsx +0 -36
  776. package/src/Button/ButtonDanger.tsx +0 -42
  777. package/src/Button/ButtonGroup.tsx +0 -55
  778. package/src/Button/ButtonInvisible.tsx +0 -31
  779. package/src/Button/ButtonOutline.tsx +0 -42
  780. package/src/Button/ButtonPrimary.tsx +0 -40
  781. package/src/Button/ButtonStyles.tsx +0 -36
  782. package/src/Button/ButtonTableList.tsx +0 -45
  783. package/src/Button/index.ts +0 -16
  784. package/src/Caret.tsx +0 -133
  785. package/src/Checkbox.tsx +0 -75
  786. package/src/CircleBadge.tsx +0 -53
  787. package/src/CircleOcticon.tsx +0 -37
  788. package/src/CounterLabel.tsx +0 -50
  789. package/src/Details.tsx +0 -19
  790. package/src/Dialog/ConfirmationDialog.tsx +0 -184
  791. package/src/Dialog/Dialog.tsx +0 -444
  792. package/src/Dialog.tsx +0 -145
  793. package/src/Dropdown.tsx +0 -154
  794. package/src/DropdownMenu/DropdownButton.tsx +0 -15
  795. package/src/DropdownMenu/DropdownMenu.tsx +0 -115
  796. package/src/DropdownMenu/index.ts +0 -4
  797. package/src/DropdownStyles.ts +0 -128
  798. package/src/FilterList.tsx +0 -75
  799. package/src/FilteredActionList/FilteredActionList.tsx +0 -142
  800. package/src/FilteredActionList/index.ts +0 -2
  801. package/src/FilteredSearch.tsx +0 -27
  802. package/src/Flash.tsx +0 -75
  803. package/src/Flex.tsx +0 -15
  804. package/src/FormGroup.tsx +0 -24
  805. package/src/Grid.tsx +0 -15
  806. package/src/Header.tsx +0 -74
  807. package/src/Heading.tsx +0 -14
  808. package/src/Label.tsx +0 -72
  809. package/src/LabelGroup.tsx +0 -17
  810. package/src/Link.tsx +0 -42
  811. package/src/NewButton/button-counter.tsx +0 -15
  812. package/src/NewButton/button.tsx +0 -283
  813. package/src/NewButton/index.ts +0 -10
  814. package/src/NewButton/types.ts +0 -36
  815. package/src/Overlay.tsx +0 -203
  816. package/src/Pagehead.tsx +0 -16
  817. package/src/Pagination/Pagination.tsx +0 -212
  818. package/src/Pagination/index.ts +0 -4
  819. package/src/Pagination/model.tsx +0 -187
  820. package/src/PointerBox.tsx +0 -31
  821. package/src/Popover.tsx +0 -225
  822. package/src/Portal/Portal.tsx +0 -97
  823. package/src/Portal/index.ts +0 -5
  824. package/src/Position.tsx +0 -63
  825. package/src/ProgressBar.tsx +0 -53
  826. package/src/SelectMenu/SelectMenu.tsx +0 -123
  827. package/src/SelectMenu/SelectMenuContext.tsx +0 -9
  828. package/src/SelectMenu/SelectMenuDivider.tsx +0 -24
  829. package/src/SelectMenu/SelectMenuFilter.tsx +0 -50
  830. package/src/SelectMenu/SelectMenuFooter.tsx +0 -27
  831. package/src/SelectMenu/SelectMenuHeader.tsx +0 -48
  832. package/src/SelectMenu/SelectMenuItem.tsx +0 -136
  833. package/src/SelectMenu/SelectMenuList.tsx +0 -41
  834. package/src/SelectMenu/SelectMenuLoadingAnimation.tsx +0 -25
  835. package/src/SelectMenu/SelectMenuModal.tsx +0 -119
  836. package/src/SelectMenu/SelectMenuTab.tsx +0 -87
  837. package/src/SelectMenu/SelectMenuTabPanel.tsx +0 -29
  838. package/src/SelectMenu/SelectMenuTabs.tsx +0 -43
  839. package/src/SelectMenu/hooks/useKeyboardNav.js +0 -90
  840. package/src/SelectMenu/index.ts +0 -15
  841. package/src/SelectPanel/SelectPanel.tsx +0 -173
  842. package/src/SelectPanel/index.ts +0 -2
  843. package/src/SideNav.tsx +0 -191
  844. package/src/Spinner.tsx +0 -57
  845. package/src/StateLabel.tsx +0 -112
  846. package/src/StyledOcticon.tsx +0 -22
  847. package/src/SubNav.tsx +0 -124
  848. package/src/TabNav.tsx +0 -73
  849. package/src/Text.tsx +0 -13
  850. package/src/TextInput.tsx +0 -68
  851. package/src/TextInputWithTokens.tsx +0 -351
  852. package/src/ThemeProvider.tsx +0 -176
  853. package/src/Timeline.tsx +0 -140
  854. package/src/Token/AvatarToken.tsx +0 -54
  855. package/src/Token/IssueLabelToken.tsx +0 -150
  856. package/src/Token/Token.tsx +0 -126
  857. package/src/Token/TokenBase.tsx +0 -129
  858. package/src/Token/_RemoveTokenButton.tsx +0 -111
  859. package/src/Token/_TokenTextContainer.tsx +0 -47
  860. package/src/Token/index.ts +0 -3
  861. package/src/Tooltip.tsx +0 -263
  862. package/src/Truncate.tsx +0 -31
  863. package/src/UnderlineNav.tsx +0 -107
  864. package/src/_TextInputWrapper.tsx +0 -113
  865. package/src/_UnstyledTextInput.tsx +0 -19
  866. package/src/__tests__/.eslintrc.json +0 -11
  867. package/src/__tests__/ActionList.test.tsx +0 -53
  868. package/src/__tests__/ActionList.types.test.tsx +0 -51
  869. package/src/__tests__/ActionList2.test.tsx +0 -156
  870. package/src/__tests__/ActionMenu.test.tsx +0 -136
  871. package/src/__tests__/AnchoredOverlay.test.tsx +0 -150
  872. package/src/__tests__/Autocomplete.test.tsx +0 -444
  873. package/src/__tests__/Avatar.test.tsx +0 -44
  874. package/src/__tests__/Avatar.types.test.tsx +0 -11
  875. package/src/__tests__/AvatarStack.test.tsx +0 -48
  876. package/src/__tests__/BorderBox.test.tsx +0 -43
  877. package/src/__tests__/Box.test.tsx +0 -42
  878. package/src/__tests__/BranchName.test.tsx +0 -26
  879. package/src/__tests__/BranchName.types.test.tsx +0 -11
  880. package/src/__tests__/Breadcrumbs.test.tsx +0 -27
  881. package/src/__tests__/Breadcrumbs.types.test.tsx +0 -22
  882. package/src/__tests__/BreadcrumbsItem.test.tsx +0 -31
  883. package/src/__tests__/Button.test.tsx +0 -128
  884. package/src/__tests__/Caret.test.tsx +0 -36
  885. package/src/__tests__/Checkbox.test.tsx +0 -155
  886. package/src/__tests__/CircleBadge.test.tsx +0 -66
  887. package/src/__tests__/CircleBadge.types.test.tsx +0 -11
  888. package/src/__tests__/CircleOcticon.test.tsx +0 -50
  889. package/src/__tests__/ConfirmationDialog.test.tsx +0 -120
  890. package/src/__tests__/CounterLabel.test.tsx +0 -50
  891. package/src/__tests__/CounterLabel.types.test.tsx +0 -11
  892. package/src/__tests__/Details.test.tsx +0 -115
  893. package/src/__tests__/Details.types.test.tsx +0 -11
  894. package/src/__tests__/Dialog.test.tsx +0 -155
  895. package/src/__tests__/Dialog.types.test.tsx +0 -11
  896. package/src/__tests__/Dialog2.types.test.tsx +0 -11
  897. package/src/__tests__/Dropdown.test.tsx +0 -53
  898. package/src/__tests__/Dropdown.types.test.tsx +0 -21
  899. package/src/__tests__/DropdownMenu.test.tsx +0 -136
  900. package/src/__tests__/FilterList.test.tsx +0 -26
  901. package/src/__tests__/FilterList.types.test.tsx +0 -17
  902. package/src/__tests__/FilterListItem.test.tsx +0 -31
  903. package/src/__tests__/FilteredSearch.test.tsx +0 -26
  904. package/src/__tests__/FilteredSearch.types.test.tsx +0 -11
  905. package/src/__tests__/Flash.test.tsx +0 -45
  906. package/src/__tests__/Flash.types.test.tsx +0 -11
  907. package/src/__tests__/Flex.test.tsx +0 -58
  908. package/src/__tests__/FormGroup.test.tsx +0 -38
  909. package/src/__tests__/FormGroup.types.test.tsx +0 -11
  910. package/src/__tests__/Grid.test.tsx +0 -82
  911. package/src/__tests__/Header.test.tsx +0 -49
  912. package/src/__tests__/Header.types.test.tsx +0 -19
  913. package/src/__tests__/Heading.test.tsx +0 -137
  914. package/src/__tests__/Heading.types.test.tsx +0 -11
  915. package/src/__tests__/KeyPaths.types.test.ts +0 -14
  916. package/src/__tests__/Label.test.tsx +0 -34
  917. package/src/__tests__/Label.types.test.tsx +0 -11
  918. package/src/__tests__/LabelGroup.test.tsx +0 -30
  919. package/src/__tests__/LabelGroup.types.test.tsx +0 -11
  920. package/src/__tests__/Link.test.tsx +0 -47
  921. package/src/__tests__/Link.types.test.tsx +0 -11
  922. package/src/__tests__/Merge.types.test.ts +0 -39
  923. package/src/__tests__/NewButton.test.tsx +0 -70
  924. package/src/__tests__/Overlay.test.tsx +0 -103
  925. package/src/__tests__/Overlay.types.test.tsx +0 -33
  926. package/src/__tests__/Pagehead.test.tsx +0 -23
  927. package/src/__tests__/Pagehead.types.test.tsx +0 -11
  928. package/src/__tests__/Pagination/Pagination.test.tsx +0 -30
  929. package/src/__tests__/Pagination/PaginationModel.test.tsx +0 -133
  930. package/src/__tests__/Pagination/__snapshots__/Pagination.test.tsx.snap +0 -184
  931. package/src/__tests__/Pagination.types.test.tsx +0 -11
  932. package/src/__tests__/PointerBox.test.tsx +0 -34
  933. package/src/__tests__/Popover.test.tsx +0 -68
  934. package/src/__tests__/Popover.types.test.tsx +0 -17
  935. package/src/__tests__/Portal.test.tsx +0 -103
  936. package/src/__tests__/Position.test.tsx +0 -117
  937. package/src/__tests__/ProgressBar.test.tsx +0 -40
  938. package/src/__tests__/SelectMenu.test.tsx +0 -142
  939. package/src/__tests__/SelectMenu.types.test.tsx +0 -37
  940. package/src/__tests__/SelectPanel.test.tsx +0 -63
  941. package/src/__tests__/SelectPanel.types.test.tsx +0 -31
  942. package/src/__tests__/SideNav.test.tsx +0 -62
  943. package/src/__tests__/SideNav.types.test.tsx +0 -11
  944. package/src/__tests__/Spinner.test.tsx +0 -42
  945. package/src/__tests__/StateLabel.test.tsx +0 -48
  946. package/src/__tests__/StateLabel.types.test.tsx +0 -11
  947. package/src/__tests__/StyledOcticon.test.tsx +0 -26
  948. package/src/__tests__/StyledOcticon.types.test.tsx +0 -12
  949. package/src/__tests__/SubNav.test.tsx +0 -50
  950. package/src/__tests__/SubNav.types.test.tsx +0 -25
  951. package/src/__tests__/SubNavLink.test.tsx +0 -31
  952. package/src/__tests__/TabNav.test.tsx +0 -32
  953. package/src/__tests__/TabNav.types.test.tsx +0 -22
  954. package/src/__tests__/Text.test.tsx +0 -78
  955. package/src/__tests__/TextInput.test.tsx +0 -49
  956. package/src/__tests__/TextInputWithTokens.test.tsx +0 -422
  957. package/src/__tests__/ThemeProvider.test.tsx +0 -441
  958. package/src/__tests__/Timeline.test.tsx +0 -58
  959. package/src/__tests__/Timeline.types.test.tsx +0 -31
  960. package/src/__tests__/Token.test.tsx +0 -118
  961. package/src/__tests__/Tooltip.test.tsx +0 -52
  962. package/src/__tests__/Tooltip.types.test.tsx +0 -11
  963. package/src/__tests__/Truncate.test.tsx +0 -43
  964. package/src/__tests__/Truncate.types.test.tsx +0 -11
  965. package/src/__tests__/UnderlineNav.test.tsx +0 -58
  966. package/src/__tests__/UnderlineNav.types.test.tsx +0 -22
  967. package/src/__tests__/UnderlineNavLink.test.tsx +0 -31
  968. package/src/__tests__/__snapshots__/ActionList.test.tsx.snap +0 -223
  969. package/src/__tests__/__snapshots__/ActionList2.test.tsx.snap +0 -14
  970. package/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap +0 -80
  971. package/src/__tests__/__snapshots__/AnchoredOverlay.test.tsx.snap +0 -232
  972. package/src/__tests__/__snapshots__/Autocomplete.test.tsx.snap +0 -3901
  973. package/src/__tests__/__snapshots__/Avatar.test.tsx.snap +0 -19
  974. package/src/__tests__/__snapshots__/AvatarStack.test.tsx.snap +0 -377
  975. package/src/__tests__/__snapshots__/BorderBox.test.tsx.snap +0 -14
  976. package/src/__tests__/__snapshots__/Box.test.tsx.snap +0 -201
  977. package/src/__tests__/__snapshots__/BranchName.test.tsx.snap +0 -17
  978. package/src/__tests__/__snapshots__/Breadcrumbs.test.tsx.snap +0 -29
  979. package/src/__tests__/__snapshots__/BreadcrumbsItem.test.tsx.snap +0 -79
  980. package/src/__tests__/__snapshots__/Button.test.tsx.snap +0 -840
  981. package/src/__tests__/__snapshots__/Caret.test.tsx.snap +0 -373
  982. package/src/__tests__/__snapshots__/Checkbox.test.tsx.snap +0 -16
  983. package/src/__tests__/__snapshots__/CircleBadge.test.tsx.snap +0 -142
  984. package/src/__tests__/__snapshots__/CircleOcticon.test.tsx.snap +0 -65
  985. package/src/__tests__/__snapshots__/ConfirmationDialog.test.tsx.snap +0 -89
  986. package/src/__tests__/__snapshots__/CounterLabel.test.tsx.snap +0 -22
  987. package/src/__tests__/__snapshots__/Details.test.tsx.snap +0 -15
  988. package/src/__tests__/__snapshots__/Dialog.test.tsx.snap +0 -201
  989. package/src/__tests__/__snapshots__/Dropdown.test.tsx.snap +0 -249
  990. package/src/__tests__/__snapshots__/DropdownMenu.test.tsx.snap +0 -107
  991. package/src/__tests__/__snapshots__/FilterList.test.tsx.snap +0 -13
  992. package/src/__tests__/__snapshots__/FilterListItem.test.tsx.snap +0 -80
  993. package/src/__tests__/__snapshots__/FilteredSearch.test.tsx.snap +0 -32
  994. package/src/__tests__/__snapshots__/Flash.test.tsx.snap +0 -32
  995. package/src/__tests__/__snapshots__/Flex.test.tsx.snap +0 -130
  996. package/src/__tests__/__snapshots__/FormGroup.test.tsx.snap +0 -25
  997. package/src/__tests__/__snapshots__/Grid.test.tsx.snap +0 -178
  998. package/src/__tests__/__snapshots__/Header.test.tsx.snap +0 -79
  999. package/src/__tests__/__snapshots__/Heading.test.tsx.snap +0 -13
  1000. package/src/__tests__/__snapshots__/Label.test.tsx.snap +0 -73
  1001. package/src/__tests__/__snapshots__/LabelGroup.test.tsx.snap +0 -15
  1002. package/src/__tests__/__snapshots__/Link.test.tsx.snap +0 -212
  1003. package/src/__tests__/__snapshots__/NewButton.test.tsx.snap +0 -305
  1004. package/src/__tests__/__snapshots__/Pagehead.test.tsx.snap +0 -15
  1005. package/src/__tests__/__snapshots__/PointerBox.test.tsx.snap +0 -174
  1006. package/src/__tests__/__snapshots__/Popover.test.tsx.snap +0 -4687
  1007. package/src/__tests__/__snapshots__/Position.test.tsx.snap +0 -44
  1008. package/src/__tests__/__snapshots__/ProgressBar.test.tsx.snap +0 -53
  1009. package/src/__tests__/__snapshots__/SelectMenu.test.tsx.snap +0 -473
  1010. package/src/__tests__/__snapshots__/SelectPanel.test.tsx.snap +0 -124
  1011. package/src/__tests__/__snapshots__/SideNav.test.tsx.snap +0 -143
  1012. package/src/__tests__/__snapshots__/Spinner.test.tsx.snap +0 -33
  1013. package/src/__tests__/__snapshots__/StateLabel.test.tsx.snap +0 -395
  1014. package/src/__tests__/__snapshots__/StyledOcticon.test.tsx.snap +0 -26
  1015. package/src/__tests__/__snapshots__/SubNav.test.tsx.snap +0 -44
  1016. package/src/__tests__/__snapshots__/SubNavLink.test.tsx.snap +0 -199
  1017. package/src/__tests__/__snapshots__/TabNav.test.tsx.snap +0 -58
  1018. package/src/__tests__/__snapshots__/Text.test.tsx.snap +0 -7
  1019. package/src/__tests__/__snapshots__/TextInput.test.tsx.snap +0 -446
  1020. package/src/__tests__/__snapshots__/TextInputWithTokens.test.tsx.snap +0 -6045
  1021. package/src/__tests__/__snapshots__/ThemeProvider.test.tsx.snap +0 -15
  1022. package/src/__tests__/__snapshots__/Timeline.test.tsx.snap +0 -159
  1023. package/src/__tests__/__snapshots__/Token.test.tsx.snap +0 -3811
  1024. package/src/__tests__/__snapshots__/Tooltip.test.tsx.snap +0 -227
  1025. package/src/__tests__/__snapshots__/Truncate.test.tsx.snap +0 -17
  1026. package/src/__tests__/__snapshots__/UnderlineNav.test.tsx.snap +0 -59
  1027. package/src/__tests__/__snapshots__/UnderlineNavLink.test.tsx.snap +0 -130
  1028. package/src/__tests__/__snapshots__/themePreval.test.ts.snap +0 -3176
  1029. package/src/__tests__/behaviors/anchoredPosition.test.ts +0 -295
  1030. package/src/__tests__/behaviors/focusTrap.test.tsx +0 -236
  1031. package/src/__tests__/behaviors/focusZone.test.tsx +0 -549
  1032. package/src/__tests__/behaviors/iterateFocusableElements.test.tsx +0 -61
  1033. package/src/__tests__/behaviors/scrollIntoViewingArea.test.ts +0 -195
  1034. package/src/__tests__/filterObject.test.ts +0 -54
  1035. package/src/__tests__/hooks/useAnchoredPosition.test.tsx +0 -31
  1036. package/src/__tests__/hooks/useOnEscapePress.test.tsx +0 -16
  1037. package/src/__tests__/hooks/useOnOutsideClick.test.tsx +0 -48
  1038. package/src/__tests__/hooks/useOpenAndCloseFocus.test.tsx +0 -48
  1039. package/src/__tests__/hooks/useProvidedStateOrCreate.test.tsx +0 -39
  1040. package/src/__tests__/theme.test.ts +0 -41
  1041. package/src/__tests__/themeGet.test.ts +0 -15
  1042. package/src/__tests__/themePreval.test.ts +0 -8
  1043. package/src/__tests__/useSafeTimeout.test.tsx +0 -36
  1044. package/src/__tests__/utils/__snapshots__/createSlots.test.tsx.snap +0 -55
  1045. package/src/__tests__/utils/createSlots.test.tsx +0 -74
  1046. package/src/behaviors/anchoredPosition.ts +0 -442
  1047. package/src/behaviors/focusTrap.ts +0 -184
  1048. package/src/behaviors/focusZone.ts +0 -713
  1049. package/src/behaviors/scrollIntoViewingArea.ts +0 -27
  1050. package/src/constants.ts +0 -62
  1051. package/src/drafts.ts +0 -11
  1052. package/src/hooks/index.ts +0 -11
  1053. package/src/hooks/useAnchoredPosition.ts +0 -54
  1054. package/src/hooks/useCombinedRefs.ts +0 -40
  1055. package/src/hooks/useDetails.tsx +0 -54
  1056. package/src/hooks/useDialog.ts +0 -121
  1057. package/src/hooks/useFocusTrap.ts +0 -80
  1058. package/src/hooks/useFocusZone.ts +0 -64
  1059. package/src/hooks/useOnEscapePress.ts +0 -63
  1060. package/src/hooks/useOnOutsideClick.tsx +0 -82
  1061. package/src/hooks/useOpenAndCloseFocus.ts +0 -32
  1062. package/src/hooks/useOverlay.tsx +0 -34
  1063. package/src/hooks/useProvidedRefOrCreate.ts +0 -14
  1064. package/src/hooks/useProvidedStateOrCreate.ts +0 -27
  1065. package/src/hooks/useRenderForcingRef.ts +0 -22
  1066. package/src/hooks/useResizeObserver.ts +0 -11
  1067. package/src/hooks/useSafeTimeout.ts +0 -38
  1068. package/src/hooks/useScrollFlash.ts +0 -21
  1069. package/src/index.ts +0 -175
  1070. package/src/polyfills/eventListenerSignal.ts +0 -66
  1071. package/src/stories/ActionList.stories.tsx +0 -436
  1072. package/src/stories/ActionList2.stories.tsx +0 -1305
  1073. package/src/stories/ActionMenu.stories.tsx +0 -331
  1074. package/src/stories/ActionMenu2.stories.tsx +0 -551
  1075. package/src/stories/AnchoredOverlay.stories.tsx +0 -117
  1076. package/src/stories/Autocomplete.stories.tsx +0 -655
  1077. package/src/stories/AvatarStack.stories.tsx +0 -37
  1078. package/src/stories/Button.stories.tsx +0 -92
  1079. package/src/stories/Checkbox.stories.tsx +0 -164
  1080. package/src/stories/ConfirmationDialog.stories.tsx +0 -105
  1081. package/src/stories/Dialog.stories.tsx +0 -240
  1082. package/src/stories/DropdownMenu.stories.tsx +0 -84
  1083. package/src/stories/IssueLabelToken.stories.tsx +0 -138
  1084. package/src/stories/NewButton.stories.tsx +0 -201
  1085. package/src/stories/Overlay.stories.tsx +0 -213
  1086. package/src/stories/Portal.stories.tsx +0 -109
  1087. package/src/stories/ProfileToken.stories.tsx +0 -129
  1088. package/src/stories/SelectPanel.stories.tsx +0 -353
  1089. package/src/stories/TextInput.stories.tsx +0 -113
  1090. package/src/stories/TextInputWithTokens.stories.tsx +0 -155
  1091. package/src/stories/ThemeProvider.stories.tsx +0 -104
  1092. package/src/stories/Token.stories.tsx +0 -137
  1093. package/src/stories/useAnchoredPosition.stories.tsx +0 -332
  1094. package/src/stories/useFocusTrap.stories.tsx +0 -400
  1095. package/src/stories/useFocusZone.stories.tsx +0 -663
  1096. package/src/sx.ts +0 -24
  1097. package/src/theme-preval.js +0 -80
  1098. package/src/theme.ts +0 -89
  1099. package/src/utils/create-slots.tsx +0 -96
  1100. package/src/utils/deprecate.tsx +0 -73
  1101. package/src/utils/isNumeric.tsx +0 -4
  1102. package/src/utils/iterateFocusableElements.ts +0 -121
  1103. package/src/utils/ssr.tsx +0 -1
  1104. package/src/utils/test-deprecations.tsx +0 -19
  1105. package/src/utils/test-helpers.tsx +0 -7
  1106. package/src/utils/test-matchers.tsx +0 -109
  1107. package/src/utils/testing.tsx +0 -264
  1108. package/src/utils/theme.js +0 -64
  1109. package/src/utils/types/AriaRole.ts +0 -71
  1110. package/src/utils/types/ComponentProps.ts +0 -13
  1111. package/src/utils/types/Flatten.ts +0 -4
  1112. package/src/utils/types/KeyPaths.ts +0 -10
  1113. package/src/utils/types/MandateProps.ts +0 -19
  1114. package/src/utils/types/Merge.ts +0 -20
  1115. package/src/utils/types/index.ts +0 -5
  1116. package/src/utils/uniqueId.ts +0 -6
  1117. package/src/utils/use-force-update.ts +0 -7
  1118. package/src/utils/useIsomorphicLayoutEffect.ts +0 -10
  1119. package/src/utils/userAgent.ts +0 -7
  1120. package/stats.html +0 -3279
  1121. package/tsconfig.build.json +0 -7
  1122. package/tsconfig.json +0 -20
@@ -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
- }