@primer/components 32.0.1-rc.c4c2c50a → 32.1.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 (1284) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/browser.esm.js +7 -1
  3. package/dist/browser.esm.js.map +1 -1
  4. package/dist/browser.umd.js +7 -1
  5. package/dist/browser.umd.js.map +1 -1
  6. package/lib/ActionList/index.js +23 -12
  7. package/lib/ActionList2/index.js +41 -23
  8. package/lib/AnchoredOverlay/index.js +12 -4
  9. package/lib/Autocomplete/index.js +14 -7
  10. package/lib/Button/index.js +70 -21
  11. package/lib/Checkbox.d.ts +29 -0
  12. package/lib/Checkbox.js +64 -0
  13. package/lib/DropdownMenu/index.js +20 -6
  14. package/lib/DropdownStyles.js +26 -18
  15. package/lib/FilteredActionList/index.js +12 -4
  16. package/lib/NewButton/index.js +12 -5
  17. package/lib/NewButton/types.js +1 -2
  18. package/lib/Overlay.d.ts +5 -3
  19. package/lib/Pagination/index.js +12 -6
  20. package/lib/Portal/index.js +16 -5
  21. package/lib/SelectMenu/hooks/useKeyboardNav.js +96 -80
  22. package/lib/SelectMenu/index.js +14 -7
  23. package/lib/SelectPanel/index.js +12 -4
  24. package/lib/Token/index.js +30 -11
  25. package/lib/behaviors/anchoredPosition.js +234 -205
  26. package/lib/behaviors/focusTrap.js +157 -121
  27. package/lib/behaviors/focusZone.js +509 -434
  28. package/lib/behaviors/scrollIntoViewingArea.js +35 -18
  29. package/lib/constants.js +43 -39
  30. package/lib/drafts.js +30 -20
  31. package/lib/hooks/index.js +60 -16
  32. package/lib/hooks/useAnchoredPosition.js +40 -32
  33. package/lib/hooks/useCombinedRefs.js +36 -32
  34. package/lib/hooks/useDialog.js +96 -72
  35. package/lib/hooks/useFocusTrap.js +60 -43
  36. package/lib/hooks/useFocusZone.js +50 -54
  37. package/lib/hooks/useOnEscapePress.js +36 -25
  38. package/lib/hooks/useOpenAndCloseFocus.js +34 -22
  39. package/lib/hooks/useProvidedRefOrCreate.js +14 -10
  40. package/lib/hooks/useProvidedStateOrCreate.js +16 -13
  41. package/lib/hooks/useRenderForcingRef.js +17 -13
  42. package/lib/hooks/useResizeObserver.js +18 -15
  43. package/lib/hooks/useSafeTimeout.js +30 -22
  44. package/lib/hooks/useScrollFlash.js +23 -16
  45. package/lib/index.d.ts +2 -0
  46. package/lib/index.js +652 -163
  47. package/lib/polyfills/eventListenerSignal.js +45 -37
  48. package/lib/sx.js +22 -10
  49. package/lib/theme-preval.js +3169 -64
  50. package/lib/theme.js +12 -3
  51. package/lib/utils/iterateFocusableElements.js +85 -63
  52. package/lib/utils/theme.js +47 -33
  53. package/lib/utils/types/AriaRole.js +1 -2
  54. package/lib/utils/types/ComponentProps.js +1 -2
  55. package/lib/utils/types/Flatten.js +1 -2
  56. package/lib/utils/types/KeyPaths.js +1 -2
  57. package/lib/utils/types/MandateProps.js +1 -16
  58. package/lib/utils/types/Merge.js +1 -2
  59. package/lib/utils/types/index.js +69 -16
  60. package/lib/utils/uniqueId.js +8 -5
  61. package/lib/utils/use-force-update.js +14 -8
  62. package/lib/utils/useIsomorphicLayoutEffect.js +11 -8
  63. package/lib/utils/userAgent.js +12 -8
  64. package/lib-esm/Checkbox.d.ts +29 -0
  65. package/lib-esm/Checkbox.js +44 -0
  66. package/lib-esm/Overlay.d.ts +5 -3
  67. package/lib-esm/index.d.ts +2 -0
  68. package/lib-esm/index.js +1 -0
  69. package/package.json +2 -3
  70. package/.changeset/README.md +0 -8
  71. package/.changeset/config.json +0 -10
  72. package/.devcontainer/devcontainer.json +0 -8
  73. package/.eslintrc.json +0 -137
  74. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
  75. package/.github/ISSUE_TEMPLATE/new_component_proposal_template.md +0 -41
  76. package/.github/dependabot.yml +0 -18
  77. package/.github/pull_request_template.md +0 -18
  78. package/.github/workflows/check_for_changeset.yml +0 -25
  79. package/.github/workflows/ci.yml +0 -34
  80. package/.github/workflows/deploy_preview.yml +0 -47
  81. package/.github/workflows/deploy_production.yml +0 -70
  82. package/.github/workflows/release.yml +0 -35
  83. package/.github/workflows/release_canary.yml +0 -70
  84. package/.github/workflows/release_candidate.yml +0 -60
  85. package/.github/workflows/size.yml +0 -13
  86. package/.github/workflows/stale.yml +0 -26
  87. package/.gitignore +0 -10
  88. package/.npmrc +0 -4
  89. package/.nvmrc +0 -1
  90. package/.storybook/main.js +0 -9
  91. package/.storybook/preview.js +0 -117
  92. package/.vscode/launch.json +0 -21
  93. package/.vscode/settings.json +0 -13
  94. package/@types/@styled-system/index.d.ts +0 -0
  95. package/@types/@styled-system/prop-types/index.d.ts +0 -1
  96. package/@types/@styled-system/props/index.d.ts +0 -1
  97. package/@types/jest-styled-components/index.d.ts +0 -1
  98. package/CODEOWNERS +0 -2
  99. package/babel-defines.js +0 -13
  100. package/babel.config.js +0 -39
  101. package/contributor-docs/CODE_OF_CONDUCT.md +0 -76
  102. package/contributor-docs/CONTRIBUTING.md +0 -274
  103. package/contributor-docs/adrs/adr-001-typescript.md +0 -23
  104. package/contributor-docs/adrs/adr-002-behavior-isolation.md +0 -108
  105. package/contributor-docs/adrs/adr-003-prop-norms.md +0 -72
  106. package/contributor-docs/behaviors.md +0 -132
  107. package/contributor-docs/component-contents-api-patterns.md +0 -316
  108. package/contributor-docs/principles.md +0 -39
  109. package/docs/.eslintrc +0 -0
  110. package/docs/.gitignore +0 -91
  111. package/docs/components/PropsList.js +0 -5
  112. package/docs/components/State.js +0 -9
  113. package/docs/components/constants.js +0 -34
  114. package/docs/components/index.js +0 -2
  115. package/docs/content/ActionList.mdx +0 -99
  116. package/docs/content/ActionList2.mdx +0 -359
  117. package/docs/content/ActionMenu.mdx +0 -80
  118. package/docs/content/AnchoredOverlay.mdx +0 -37
  119. package/docs/content/Autocomplete.mdx +0 -657
  120. package/docs/content/Avatar.mdx +0 -33
  121. package/docs/content/AvatarStack.mdx +0 -37
  122. package/docs/content/BorderBox.md +0 -46
  123. package/docs/content/Box.mdx +0 -96
  124. package/docs/content/BranchName.md +0 -18
  125. package/docs/content/Breadcrumbs.md +0 -47
  126. package/docs/content/Buttons.md +0 -46
  127. package/docs/content/CircleBadge.md +0 -35
  128. package/docs/content/CircleOcticon.md +0 -18
  129. package/docs/content/CounterLabel.md +0 -22
  130. package/docs/content/Details.md +0 -105
  131. package/docs/content/Dialog.md +0 -105
  132. package/docs/content/Dialog2.mdx +0 -180
  133. package/docs/content/Dropdown.md +0 -65
  134. package/docs/content/DropdownMenu.mdx +0 -49
  135. package/docs/content/FilterList.md +0 -37
  136. package/docs/content/FilteredSearch.md +0 -32
  137. package/docs/content/Flash.md +0 -35
  138. package/docs/content/Flex.md +0 -58
  139. package/docs/content/FormGroup.md +0 -38
  140. package/docs/content/Grid.md +0 -59
  141. package/docs/content/Header.md +0 -77
  142. package/docs/content/Heading.md +0 -22
  143. package/docs/content/Label.md +0 -49
  144. package/docs/content/LabelGroup.md +0 -21
  145. package/docs/content/Link.md +0 -28
  146. package/docs/content/Overlay.mdx +0 -85
  147. package/docs/content/Pagehead.md +0 -18
  148. package/docs/content/Pagination.md +0 -178
  149. package/docs/content/PointerBox.md +0 -81
  150. package/docs/content/Popover.md +0 -129
  151. package/docs/content/Portal.mdx +0 -78
  152. package/docs/content/Position.md +0 -100
  153. package/docs/content/ProgressBar.mdx +0 -29
  154. package/docs/content/SelectMenu.md +0 -371
  155. package/docs/content/SelectPanel.mdx +0 -67
  156. package/docs/content/SideNav.md +0 -171
  157. package/docs/content/Spinner.mdx +0 -32
  158. package/docs/content/StateLabel.md +0 -27
  159. package/docs/content/StyledOcticon.md +0 -27
  160. package/docs/content/SubNav.md +0 -100
  161. package/docs/content/TabNav.md +0 -42
  162. package/docs/content/Text.md +0 -31
  163. package/docs/content/TextInput.md +0 -34
  164. package/docs/content/TextInputTokens.mdx +0 -89
  165. package/docs/content/TextInputWithTokens.mdx +0 -211
  166. package/docs/content/Timeline.md +0 -148
  167. package/docs/content/Token.mdx +0 -381
  168. package/docs/content/Tooltip.md +0 -32
  169. package/docs/content/Truncate.md +0 -55
  170. package/docs/content/UnderlineNav.md +0 -45
  171. package/docs/content/anchoredPosition.mdx +0 -163
  172. package/docs/content/core-concepts.md +0 -70
  173. package/docs/content/focusTrap.mdx +0 -103
  174. package/docs/content/focusZone.mdx +0 -145
  175. package/docs/content/getting-started.md +0 -138
  176. package/docs/content/index.md +0 -33
  177. package/docs/content/linting.md +0 -35
  178. package/docs/content/overriding-styles.mdx +0 -82
  179. package/docs/content/philosophy.md +0 -23
  180. package/docs/content/primer-theme.md +0 -89
  181. package/docs/content/ssr.mdx +0 -43
  182. package/docs/content/system-props.mdx +0 -37
  183. package/docs/content/theme-reference.md +0 -16
  184. package/docs/content/theming.md +0 -272
  185. package/docs/content/useOnEscapePress.mdx +0 -56
  186. package/docs/content/useOnOutsideClick.mdx +0 -57
  187. package/docs/content/useOpenAndCloseFocus.mdx +0 -49
  188. package/docs/content/useOverlay.mdx +0 -62
  189. package/docs/content/useSafeTimeout.mdx +0 -32
  190. package/docs/gatsby-config.js +0 -30
  191. package/docs/gatsby-node.js +0 -101
  192. package/docs/package-lock.json +0 -20867
  193. package/docs/package.json +0 -36
  194. package/docs/src/@primer/gatsby-theme-doctocat/components/hero.js +0 -21
  195. package/docs/src/@primer/gatsby-theme-doctocat/components/live-preview-wrapper.js +0 -41
  196. package/docs/src/@primer/gatsby-theme-doctocat/live-code-scope.js +0 -73
  197. package/docs/src/@primer/gatsby-theme-doctocat/nav.yml +0 -133
  198. package/docs/src/@primer/gatsby-theme-doctocat/primer-components-hero.svg +0 -1411
  199. package/docs/src/component-checklist.js +0 -81
  200. package/docs/src/props.js +0 -77
  201. package/jest.config.js +0 -13
  202. package/lib/ActionList/Divider.jsx +0 -29
  203. package/lib/ActionList/Group.jsx +0 -23
  204. package/lib/ActionList/Header.jsx +0 -66
  205. package/lib/ActionList/Item.jsx +0 -288
  206. package/lib/ActionList/List.jsx +0 -138
  207. package/lib/ActionList2/Description.jsx +0 -29
  208. package/lib/ActionList2/Divider.jsx +0 -22
  209. package/lib/ActionList2/Group.jsx +0 -54
  210. package/lib/ActionList2/Header.jsx +0 -36
  211. package/lib/ActionList2/Item.jsx +0 -174
  212. package/lib/ActionList2/LinkItem.jsx +0 -28
  213. package/lib/ActionList2/List.jsx +0 -41
  214. package/lib/ActionList2/Selection.jsx +0 -50
  215. package/lib/ActionList2/Visuals.jsx +0 -48
  216. package/lib/ActionMenu.jsx +0 -73
  217. package/lib/AnchoredOverlay/AnchoredOverlay.jsx +0 -100
  218. package/lib/Autocomplete/Autocomplete.jsx +0 -100
  219. package/lib/Autocomplete/AutocompleteContext.jsx +0 -5
  220. package/lib/Autocomplete/AutocompleteInput.jsx +0 -113
  221. package/lib/Autocomplete/AutocompleteMenu.jsx +0 -190
  222. package/lib/Autocomplete/AutocompleteOverlay.jsx +0 -55
  223. package/lib/Avatar.jsx +0 -34
  224. package/lib/AvatarPair.jsx +0 -29
  225. package/lib/AvatarStack.jsx +0 -151
  226. package/lib/BaseStyles.jsx +0 -65
  227. package/lib/BorderBox.jsx +0 -18
  228. package/lib/Box.jsx +0 -10
  229. package/lib/BranchName.jsx +0 -20
  230. package/lib/Breadcrumbs.jsx +0 -71
  231. package/lib/Button/Button.jsx +0 -40
  232. package/lib/Button/ButtonBase.jsx +0 -33
  233. package/lib/Button/ButtonClose.jsx +0 -53
  234. package/lib/Button/ButtonDanger.jsx +0 -43
  235. package/lib/Button/ButtonGroup.jsx +0 -55
  236. package/lib/Button/ButtonInvisible.jsx +0 -32
  237. package/lib/Button/ButtonOutline.jsx +0 -43
  238. package/lib/Button/ButtonPrimary.jsx +0 -42
  239. package/lib/Button/ButtonStyles.jsx +0 -37
  240. package/lib/Button/ButtonTableList.jsx +0 -46
  241. package/lib/Caret.jsx +0 -93
  242. package/lib/CircleBadge.jsx +0 -42
  243. package/lib/CircleOcticon.jsx +0 -21
  244. package/lib/CounterLabel.jsx +0 -43
  245. package/lib/Details.jsx +0 -21
  246. package/lib/Dialog/ConfirmationDialog.jsx +0 -146
  247. package/lib/Dialog/Dialog.jsx +0 -279
  248. package/lib/Dialog.jsx +0 -129
  249. package/lib/Dropdown.jsx +0 -131
  250. package/lib/DropdownMenu/DropdownButton.jsx +0 -14
  251. package/lib/DropdownMenu/DropdownMenu.jsx +0 -70
  252. package/lib/FilterList.jsx +0 -59
  253. package/lib/FilteredActionList/FilteredActionList.jsx +0 -100
  254. package/lib/FilteredSearch.jsx +0 -28
  255. package/lib/Flash.jsx +0 -69
  256. package/lib/Flex.jsx +0 -15
  257. package/lib/FormGroup.jsx +0 -22
  258. package/lib/Grid.jsx +0 -15
  259. package/lib/Header.jsx +0 -83
  260. package/lib/Heading.jsx +0 -21
  261. package/lib/Label.jsx +0 -82
  262. package/lib/LabelGroup.jsx +0 -18
  263. package/lib/Link.jsx +0 -36
  264. package/lib/NewButton/button-counter.jsx +0 -14
  265. package/lib/NewButton/button.jsx +0 -279
  266. package/lib/Overlay.jsx +0 -154
  267. package/lib/Pagehead.jsx +0 -17
  268. package/lib/Pagination/Pagination.jsx +0 -161
  269. package/lib/Pagination/model.jsx +0 -174
  270. package/lib/PointerBox.jsx +0 -25
  271. package/lib/Popover.jsx +0 -202
  272. package/lib/Portal/Portal.jsx +0 -79
  273. package/lib/Position.jsx +0 -46
  274. package/lib/ProgressBar.jsx +0 -39
  275. package/lib/SelectMenu/SelectMenu.jsx +0 -112
  276. package/lib/SelectMenu/SelectMenuContext.jsx +0 -5
  277. package/lib/SelectMenu/SelectMenuDivider.jsx +0 -42
  278. package/lib/SelectMenu/SelectMenuFilter.jsx +0 -58
  279. package/lib/SelectMenu/SelectMenuFooter.jsx +0 -45
  280. package/lib/SelectMenu/SelectMenuHeader.jsx +0 -42
  281. package/lib/SelectMenu/SelectMenuItem.jsx +0 -142
  282. package/lib/SelectMenu/SelectMenuList.jsx +0 -59
  283. package/lib/SelectMenu/SelectMenuLoadingAnimation.jsx +0 -22
  284. package/lib/SelectMenu/SelectMenuModal.jsx +0 -118
  285. package/lib/SelectMenu/SelectMenuTab.jsx +0 -92
  286. package/lib/SelectMenu/SelectMenuTabPanel.jsx +0 -42
  287. package/lib/SelectMenu/SelectMenuTabs.jsx +0 -57
  288. package/lib/SelectPanel/SelectPanel.jsx +0 -105
  289. package/lib/SideNav.jsx +0 -173
  290. package/lib/Spinner.jsx +0 -35
  291. package/lib/StateLabel.jsx +0 -93
  292. package/lib/StyledOcticon.jsx +0 -18
  293. package/lib/SubNav.jsx +0 -101
  294. package/lib/TabNav.jsx +0 -58
  295. package/lib/Text.jsx +0 -14
  296. package/lib/TextInput.jsx +0 -23
  297. package/lib/TextInputWithTokens.jsx +0 -218
  298. package/lib/ThemeProvider.jsx +0 -130
  299. package/lib/Timeline.jsx +0 -123
  300. package/lib/Token/AvatarToken.jsx +0 -54
  301. package/lib/Token/IssueLabelToken.jsx +0 -125
  302. package/lib/Token/Token.jsx +0 -103
  303. package/lib/Token/TokenBase.jsx +0 -88
  304. package/lib/Token/_RemoveTokenButton.jsx +0 -108
  305. package/lib/Token/_TokenTextContainer.jsx +0 -49
  306. package/lib/Tooltip.jsx +0 -246
  307. package/lib/Truncate.jsx +0 -24
  308. package/lib/UnderlineNav.jsx +0 -88
  309. package/lib/_TextInputWrapper.jsx +0 -120
  310. package/lib/_UnstyledTextInput.jsx +0 -22
  311. package/lib/__tests__/ActionList.test.d.ts +0 -1
  312. package/lib/__tests__/ActionList.test.js +0 -69
  313. package/lib/__tests__/ActionList.test.jsx +0 -49
  314. package/lib/__tests__/ActionList.types.test.d.ts +0 -6
  315. package/lib/__tests__/ActionList.types.test.js +0 -69
  316. package/lib/__tests__/ActionList.types.test.jsx +0 -45
  317. package/lib/__tests__/ActionList2.test.d.ts +0 -1
  318. package/lib/__tests__/ActionList2.test.js +0 -53
  319. package/lib/__tests__/ActionList2.test.jsx +0 -46
  320. package/lib/__tests__/ActionMenu.test.d.ts +0 -1
  321. package/lib/__tests__/ActionMenu.test.js +0 -151
  322. package/lib/__tests__/ActionMenu.test.jsx +0 -124
  323. package/lib/__tests__/AnchoredOverlay.test.d.ts +0 -1
  324. package/lib/__tests__/AnchoredOverlay.test.js +0 -162
  325. package/lib/__tests__/AnchoredOverlay.test.jsx +0 -121
  326. package/lib/__tests__/Autocomplete.test.d.ts +0 -1
  327. package/lib/__tests__/Autocomplete.test.js +0 -528
  328. package/lib/__tests__/Autocomplete.test.jsx +0 -299
  329. package/lib/__tests__/Avatar.test.d.ts +0 -1
  330. package/lib/__tests__/Avatar.test.js +0 -67
  331. package/lib/__tests__/Avatar.test.jsx +0 -42
  332. package/lib/__tests__/AvatarStack.test.d.ts +0 -1
  333. package/lib/__tests__/AvatarStack.test.js +0 -71
  334. package/lib/__tests__/AvatarStack.test.jsx +0 -43
  335. package/lib/__tests__/BorderBox.test.d.ts +0 -1
  336. package/lib/__tests__/BorderBox.test.js +0 -58
  337. package/lib/__tests__/BorderBox.test.jsx +0 -36
  338. package/lib/__tests__/Box.test.d.ts +0 -1
  339. package/lib/__tests__/Box.test.js +0 -78
  340. package/lib/__tests__/Box.test.jsx +0 -41
  341. package/lib/__tests__/BranchName.test.d.ts +0 -1
  342. package/lib/__tests__/BranchName.test.js +0 -36
  343. package/lib/__tests__/BranchName.test.jsx +0 -27
  344. package/lib/__tests__/Breadcrumbs.test.d.ts +0 -1
  345. package/lib/__tests__/Breadcrumbs.test.js +0 -40
  346. package/lib/__tests__/Breadcrumbs.test.jsx +0 -28
  347. package/lib/__tests__/Breadcrumbs.types.test.d.ts +0 -3
  348. package/lib/__tests__/Breadcrumbs.types.test.js +0 -25
  349. package/lib/__tests__/Breadcrumbs.types.test.jsx +0 -24
  350. package/lib/__tests__/BreadcrumbsItem.test.d.ts +0 -1
  351. package/lib/__tests__/BreadcrumbsItem.test.js +0 -49
  352. package/lib/__tests__/BreadcrumbsItem.test.jsx +0 -31
  353. package/lib/__tests__/Button.test.d.ts +0 -1
  354. package/lib/__tests__/Button.test.js +0 -147
  355. package/lib/__tests__/Button.test.jsx +0 -100
  356. package/lib/__tests__/Caret.test.d.ts +0 -1
  357. package/lib/__tests__/Caret.test.js +0 -52
  358. package/lib/__tests__/Caret.test.jsx +0 -37
  359. package/lib/__tests__/CircleBadge.test.d.ts +0 -1
  360. package/lib/__tests__/CircleBadge.test.js +0 -83
  361. package/lib/__tests__/CircleBadge.test.jsx +0 -55
  362. package/lib/__tests__/CircleBadge.types.test.d.ts +0 -3
  363. package/lib/__tests__/CircleBadge.types.test.js +0 -28
  364. package/lib/__tests__/CircleBadge.types.test.jsx +0 -17
  365. package/lib/__tests__/CircleOcticon.test.d.ts +0 -1
  366. package/lib/__tests__/CircleOcticon.test.js +0 -71
  367. package/lib/__tests__/CircleOcticon.test.jsx +0 -45
  368. package/lib/__tests__/ConfirmationDialog.test.d.ts +0 -1
  369. package/lib/__tests__/ConfirmationDialog.test.js +0 -134
  370. package/lib/__tests__/ConfirmationDialog.test.jsx +0 -119
  371. package/lib/__tests__/CounterLabel.test.d.ts +0 -1
  372. package/lib/__tests__/CounterLabel.test.js +0 -58
  373. package/lib/__tests__/CounterLabel.test.jsx +0 -36
  374. package/lib/__tests__/CounterLabel.types.test.d.ts +0 -3
  375. package/lib/__tests__/CounterLabel.types.test.js +0 -28
  376. package/lib/__tests__/CounterLabel.types.test.jsx +0 -17
  377. package/lib/__tests__/Details.test.d.ts +0 -1
  378. package/lib/__tests__/Details.test.js +0 -117
  379. package/lib/__tests__/Details.test.jsx +0 -85
  380. package/lib/__tests__/Dialog.test.d.ts +0 -1
  381. package/lib/__tests__/Dialog.test.js +0 -184
  382. package/lib/__tests__/Dialog.test.jsx +0 -139
  383. package/lib/__tests__/Dialog.types.test.d.ts +0 -3
  384. package/lib/__tests__/Dialog.types.test.js +0 -28
  385. package/lib/__tests__/Dialog.types.test.jsx +0 -17
  386. package/lib/__tests__/Dialog2.types.test.d.ts +0 -3
  387. package/lib/__tests__/Dialog2.types.test.js +0 -31
  388. package/lib/__tests__/Dialog2.types.test.jsx +0 -17
  389. package/lib/__tests__/Dropdown.test.d.ts +0 -1
  390. package/lib/__tests__/Dropdown.test.js +0 -63
  391. package/lib/__tests__/Dropdown.test.jsx +0 -49
  392. package/lib/__tests__/Dropdown.types.test.d.ts +0 -3
  393. package/lib/__tests__/Dropdown.types.test.js +0 -31
  394. package/lib/__tests__/Dropdown.types.test.jsx +0 -25
  395. package/lib/__tests__/DropdownMenu.test.d.ts +0 -1
  396. package/lib/__tests__/DropdownMenu.test.js +0 -150
  397. package/lib/__tests__/DropdownMenu.test.jsx +0 -119
  398. package/lib/__tests__/FilterList.test.d.ts +0 -1
  399. package/lib/__tests__/FilterList.test.js +0 -36
  400. package/lib/__tests__/FilterList.test.jsx +0 -27
  401. package/lib/__tests__/FilterList.types.test.d.ts +0 -3
  402. package/lib/__tests__/FilterList.types.test.js +0 -27
  403. package/lib/__tests__/FilterList.types.test.jsx +0 -21
  404. package/lib/__tests__/FilterListItem.test.d.ts +0 -1
  405. package/lib/__tests__/FilterListItem.test.js +0 -46
  406. package/lib/__tests__/FilterListItem.test.jsx +0 -31
  407. package/lib/__tests__/FilteredSearch.test.d.ts +0 -1
  408. package/lib/__tests__/FilteredSearch.test.js +0 -36
  409. package/lib/__tests__/FilteredSearch.test.jsx +0 -27
  410. package/lib/__tests__/FilteredSearch.types.test.d.ts +0 -3
  411. package/lib/__tests__/FilteredSearch.types.test.js +0 -28
  412. package/lib/__tests__/FilteredSearch.types.test.jsx +0 -17
  413. package/lib/__tests__/Flash.test.d.ts +0 -1
  414. package/lib/__tests__/Flash.test.js +0 -62
  415. package/lib/__tests__/Flash.test.jsx +0 -36
  416. package/lib/__tests__/Flash.types.test.d.ts +0 -3
  417. package/lib/__tests__/Flash.types.test.js +0 -28
  418. package/lib/__tests__/Flash.types.test.jsx +0 -17
  419. package/lib/__tests__/Flex.test.d.ts +0 -1
  420. package/lib/__tests__/Flex.test.js +0 -74
  421. package/lib/__tests__/Flex.test.jsx +0 -51
  422. package/lib/__tests__/FormGroup.test.d.ts +0 -1
  423. package/lib/__tests__/FormGroup.test.js +0 -54
  424. package/lib/__tests__/FormGroup.test.jsx +0 -36
  425. package/lib/__tests__/FormGroup.types.test.d.ts +0 -3
  426. package/lib/__tests__/FormGroup.types.test.js +0 -28
  427. package/lib/__tests__/FormGroup.types.test.jsx +0 -17
  428. package/lib/__tests__/Grid.test.d.ts +0 -1
  429. package/lib/__tests__/Grid.test.js +0 -104
  430. package/lib/__tests__/Grid.test.jsx +0 -69
  431. package/lib/__tests__/Header.test.d.ts +0 -1
  432. package/lib/__tests__/Header.test.js +0 -58
  433. package/lib/__tests__/Header.test.jsx +0 -45
  434. package/lib/__tests__/Header.types.test.d.ts +0 -3
  435. package/lib/__tests__/Header.types.test.js +0 -29
  436. package/lib/__tests__/Header.types.test.jsx +0 -23
  437. package/lib/__tests__/Heading.test.d.ts +0 -1
  438. package/lib/__tests__/Heading.test.js +0 -109
  439. package/lib/__tests__/Heading.test.jsx +0 -71
  440. package/lib/__tests__/KeyPaths.types.test.d.ts +0 -11
  441. package/lib/__tests__/KeyPaths.types.test.js +0 -7
  442. package/lib/__tests__/Label.test.d.ts +0 -1
  443. package/lib/__tests__/Label.test.js +0 -46
  444. package/lib/__tests__/Label.test.jsx +0 -33
  445. package/lib/__tests__/Label.types.test.d.ts +0 -3
  446. package/lib/__tests__/Label.types.test.js +0 -28
  447. package/lib/__tests__/Label.types.test.jsx +0 -17
  448. package/lib/__tests__/LabelGroup.test.d.ts +0 -1
  449. package/lib/__tests__/LabelGroup.test.js +0 -38
  450. package/lib/__tests__/LabelGroup.test.jsx +0 -29
  451. package/lib/__tests__/LabelGroup.types.test.d.ts +0 -3
  452. package/lib/__tests__/LabelGroup.types.test.js +0 -28
  453. package/lib/__tests__/LabelGroup.types.test.jsx +0 -17
  454. package/lib/__tests__/Link.test.d.ts +0 -1
  455. package/lib/__tests__/Link.test.js +0 -76
  456. package/lib/__tests__/Link.test.jsx +0 -43
  457. package/lib/__tests__/Link.types.test.d.ts +0 -3
  458. package/lib/__tests__/Link.types.test.js +0 -28
  459. package/lib/__tests__/Link.types.test.jsx +0 -17
  460. package/lib/__tests__/Merge.types.test.d.ts +0 -30
  461. package/lib/__tests__/Merge.types.test.js +0 -21
  462. package/lib/__tests__/NewButton.test.d.ts +0 -1
  463. package/lib/__tests__/NewButton.test.js +0 -95
  464. package/lib/__tests__/NewButton.test.jsx +0 -61
  465. package/lib/__tests__/Overlay.test.d.ts +0 -1
  466. package/lib/__tests__/Overlay.test.js +0 -145
  467. package/lib/__tests__/Overlay.test.jsx +0 -105
  468. package/lib/__tests__/Overlay.types.test.d.ts +0 -3
  469. package/lib/__tests__/Overlay.types.test.js +0 -35
  470. package/lib/__tests__/Overlay.types.test.jsx +0 -18
  471. package/lib/__tests__/Pagehead.test.d.ts +0 -1
  472. package/lib/__tests__/Pagehead.test.js +0 -37
  473. package/lib/__tests__/Pagehead.test.jsx +0 -25
  474. package/lib/__tests__/Pagehead.types.test.d.ts +0 -3
  475. package/lib/__tests__/Pagehead.types.test.js +0 -28
  476. package/lib/__tests__/Pagehead.types.test.jsx +0 -17
  477. package/lib/__tests__/Pagination/Pagination.test.d.ts +0 -1
  478. package/lib/__tests__/Pagination/Pagination.test.js +0 -47
  479. package/lib/__tests__/Pagination/Pagination.test.jsx +0 -32
  480. package/lib/__tests__/Pagination/PaginationModel.test.d.ts +0 -1
  481. package/lib/__tests__/Pagination/PaginationModel.test.js +0 -186
  482. package/lib/__tests__/Pagination/PaginationModel.test.jsx +0 -118
  483. package/lib/__tests__/Pagination.types.test.d.ts +0 -3
  484. package/lib/__tests__/Pagination.types.test.js +0 -33
  485. package/lib/__tests__/Pagination.types.test.jsx +0 -17
  486. package/lib/__tests__/PointerBox.test.d.ts +0 -1
  487. package/lib/__tests__/PointerBox.test.js +0 -46
  488. package/lib/__tests__/PointerBox.test.jsx +0 -33
  489. package/lib/__tests__/Popover.test.d.ts +0 -1
  490. package/lib/__tests__/Popover.test.js +0 -66
  491. package/lib/__tests__/Popover.test.jsx +0 -58
  492. package/lib/__tests__/Popover.types.test.d.ts +0 -3
  493. package/lib/__tests__/Popover.types.test.js +0 -27
  494. package/lib/__tests__/Popover.types.test.jsx +0 -21
  495. package/lib/__tests__/Portal.test.d.ts +0 -1
  496. package/lib/__tests__/Portal.test.js +0 -124
  497. package/lib/__tests__/Portal.test.jsx +0 -102
  498. package/lib/__tests__/Position.test.d.ts +0 -1
  499. package/lib/__tests__/Position.test.js +0 -143
  500. package/lib/__tests__/Position.test.jsx +0 -96
  501. package/lib/__tests__/ProgressBar.test.d.ts +0 -1
  502. package/lib/__tests__/ProgressBar.test.js +0 -68
  503. package/lib/__tests__/ProgressBar.test.jsx +0 -38
  504. package/lib/__tests__/SelectMenu.test.d.ts +0 -1
  505. package/lib/__tests__/SelectMenu.test.js +0 -155
  506. package/lib/__tests__/SelectMenu.test.jsx +0 -120
  507. package/lib/__tests__/SelectMenu.types.test.d.ts +0 -3
  508. package/lib/__tests__/SelectMenu.types.test.js +0 -47
  509. package/lib/__tests__/SelectMenu.types.test.jsx +0 -41
  510. package/lib/__tests__/SelectPanel.test.d.ts +0 -1
  511. package/lib/__tests__/SelectPanel.test.js +0 -80
  512. package/lib/__tests__/SelectPanel.test.jsx +0 -48
  513. package/lib/__tests__/SideNav.test.d.ts +0 -1
  514. package/lib/__tests__/SideNav.test.js +0 -71
  515. package/lib/__tests__/SideNav.test.jsx +0 -55
  516. package/lib/__tests__/SideNav.types.test.d.ts +0 -3
  517. package/lib/__tests__/SideNav.types.test.js +0 -28
  518. package/lib/__tests__/SideNav.types.test.jsx +0 -17
  519. package/lib/__tests__/Spinner.test.d.ts +0 -1
  520. package/lib/__tests__/Spinner.test.js +0 -53
  521. package/lib/__tests__/Spinner.test.jsx +0 -41
  522. package/lib/__tests__/StateLabel.test.d.ts +0 -1
  523. package/lib/__tests__/StateLabel.test.js +0 -71
  524. package/lib/__tests__/StateLabel.test.jsx +0 -46
  525. package/lib/__tests__/StateLabel.types.test.d.ts +0 -3
  526. package/lib/__tests__/StateLabel.types.test.js +0 -28
  527. package/lib/__tests__/StateLabel.types.test.jsx +0 -17
  528. package/lib/__tests__/StyledOcticon.test.d.ts +0 -1
  529. package/lib/__tests__/StyledOcticon.test.js +0 -40
  530. package/lib/__tests__/StyledOcticon.test.jsx +0 -28
  531. package/lib/__tests__/StyledOcticon.types.test.d.ts +0 -3
  532. package/lib/__tests__/StyledOcticon.types.test.js +0 -32
  533. package/lib/__tests__/StyledOcticon.types.test.jsx +0 -18
  534. package/lib/__tests__/SubNav.test.d.ts +0 -1
  535. package/lib/__tests__/SubNav.test.js +0 -62
  536. package/lib/__tests__/SubNav.test.jsx +0 -47
  537. package/lib/__tests__/SubNav.types.test.d.ts +0 -3
  538. package/lib/__tests__/SubNav.types.test.js +0 -27
  539. package/lib/__tests__/SubNav.types.test.jsx +0 -27
  540. package/lib/__tests__/SubNavLink.test.d.ts +0 -1
  541. package/lib/__tests__/SubNavLink.test.js +0 -49
  542. package/lib/__tests__/SubNavLink.test.jsx +0 -31
  543. package/lib/__tests__/TabNav.test.d.ts +0 -1
  544. package/lib/__tests__/TabNav.test.js +0 -49
  545. package/lib/__tests__/TabNav.test.jsx +0 -32
  546. package/lib/__tests__/TabNav.types.test.d.ts +0 -3
  547. package/lib/__tests__/TabNav.types.test.js +0 -25
  548. package/lib/__tests__/TabNav.types.test.jsx +0 -24
  549. package/lib/__tests__/Text.test.d.ts +0 -1
  550. package/lib/__tests__/Text.test.js +0 -105
  551. package/lib/__tests__/Text.test.jsx +0 -71
  552. package/lib/__tests__/TextInput.test.d.ts +0 -1
  553. package/lib/__tests__/TextInput.test.js +0 -78
  554. package/lib/__tests__/TextInput.test.jsx +0 -45
  555. package/lib/__tests__/TextInputWithTokens.test.d.ts +0 -1
  556. package/lib/__tests__/TextInputWithTokens.test.js +0 -572
  557. package/lib/__tests__/TextInputWithTokens.test.jsx +0 -302
  558. package/lib/__tests__/ThemeProvider.test.d.ts +0 -1
  559. package/lib/__tests__/ThemeProvider.test.js +0 -444
  560. package/lib/__tests__/ThemeProvider.test.jsx +0 -314
  561. package/lib/__tests__/Timeline.test.d.ts +0 -1
  562. package/lib/__tests__/Timeline.test.js +0 -75
  563. package/lib/__tests__/Timeline.test.jsx +0 -51
  564. package/lib/__tests__/Timeline.types.test.d.ts +0 -3
  565. package/lib/__tests__/Timeline.types.test.js +0 -31
  566. package/lib/__tests__/Timeline.types.test.jsx +0 -33
  567. package/lib/__tests__/Token.test.d.ts +0 -1
  568. package/lib/__tests__/Token.test.js +0 -180
  569. package/lib/__tests__/Token.test.jsx +0 -93
  570. package/lib/__tests__/Tooltip.test.d.ts +0 -1
  571. package/lib/__tests__/Tooltip.test.js +0 -69
  572. package/lib/__tests__/Tooltip.test.jsx +0 -46
  573. package/lib/__tests__/Tooltip.types.test.d.ts +0 -3
  574. package/lib/__tests__/Tooltip.types.test.js +0 -28
  575. package/lib/__tests__/Tooltip.types.test.jsx +0 -17
  576. package/lib/__tests__/Truncate.test.d.ts +0 -1
  577. package/lib/__tests__/Truncate.test.js +0 -63
  578. package/lib/__tests__/Truncate.test.jsx +0 -41
  579. package/lib/__tests__/Truncate.types.test.d.ts +0 -3
  580. package/lib/__tests__/Truncate.types.test.js +0 -31
  581. package/lib/__tests__/Truncate.types.test.jsx +0 -17
  582. package/lib/__tests__/UnderlineNav.test.d.ts +0 -1
  583. package/lib/__tests__/UnderlineNav.test.js +0 -72
  584. package/lib/__tests__/UnderlineNav.test.jsx +0 -53
  585. package/lib/__tests__/UnderlineNav.types.test.d.ts +0 -3
  586. package/lib/__tests__/UnderlineNav.types.test.js +0 -25
  587. package/lib/__tests__/UnderlineNav.types.test.jsx +0 -24
  588. package/lib/__tests__/UnderlineNavLink.test.d.ts +0 -1
  589. package/lib/__tests__/UnderlineNavLink.test.js +0 -51
  590. package/lib/__tests__/UnderlineNavLink.test.jsx +0 -31
  591. package/lib/__tests__/behaviors/anchoredPosition.test.d.ts +0 -1
  592. package/lib/__tests__/behaviors/anchoredPosition.test.js +0 -243
  593. package/lib/__tests__/behaviors/focusTrap.test.d.ts +0 -1
  594. package/lib/__tests__/behaviors/focusTrap.test.js +0 -234
  595. package/lib/__tests__/behaviors/focusTrap.test.jsx +0 -184
  596. package/lib/__tests__/behaviors/focusZone.test.d.ts +0 -1
  597. package/lib/__tests__/behaviors/focusZone.test.js +0 -570
  598. package/lib/__tests__/behaviors/focusZone.test.jsx +0 -406
  599. package/lib/__tests__/behaviors/iterateFocusableElements.test.d.ts +0 -1
  600. package/lib/__tests__/behaviors/iterateFocusableElements.test.js +0 -55
  601. package/lib/__tests__/behaviors/iterateFocusableElements.test.jsx +0 -58
  602. package/lib/__tests__/behaviors/scrollIntoViewingArea.test.d.ts +0 -1
  603. package/lib/__tests__/behaviors/scrollIntoViewingArea.test.js +0 -155
  604. package/lib/__tests__/filterObject.test.d.ts +0 -1
  605. package/lib/__tests__/filterObject.test.js +0 -51
  606. package/lib/__tests__/hooks/useAnchoredPosition.test.d.ts +0 -1
  607. package/lib/__tests__/hooks/useAnchoredPosition.test.js +0 -54
  608. package/lib/__tests__/hooks/useAnchoredPosition.test.jsx +0 -29
  609. package/lib/__tests__/hooks/useOnEscapePress.test.d.ts +0 -1
  610. package/lib/__tests__/hooks/useOnEscapePress.test.js +0 -32
  611. package/lib/__tests__/hooks/useOnEscapePress.test.jsx +0 -19
  612. package/lib/__tests__/hooks/useOnOutsideClick.test.d.ts +0 -1
  613. package/lib/__tests__/hooks/useOnOutsideClick.test.js +0 -87
  614. package/lib/__tests__/hooks/useOnOutsideClick.test.jsx +0 -63
  615. package/lib/__tests__/hooks/useOpenAndCloseFocus.test.d.ts +0 -1
  616. package/lib/__tests__/hooks/useOpenAndCloseFocus.test.js +0 -60
  617. package/lib/__tests__/hooks/useOpenAndCloseFocus.test.jsx +0 -61
  618. package/lib/__tests__/hooks/useProvidedStateOrCreate.test.d.ts +0 -1
  619. package/lib/__tests__/hooks/useProvidedStateOrCreate.test.js +0 -45
  620. package/lib/__tests__/hooks/useProvidedStateOrCreate.test.jsx +0 -56
  621. package/lib/__tests__/theme.test.d.ts +0 -1
  622. package/lib/__tests__/theme.test.js +0 -35
  623. package/lib/__tests__/themeGet.test.d.ts +0 -1
  624. package/lib/__tests__/themeGet.test.js +0 -14
  625. package/lib/__tests__/useSafeTimeout.test.d.ts +0 -1
  626. package/lib/__tests__/useSafeTimeout.test.js +0 -45
  627. package/lib/__tests__/useSafeTimeout.test.jsx +0 -36
  628. package/lib/__tests__/utils/createSlots.test.d.ts +0 -1
  629. package/lib/__tests__/utils/createSlots.test.js +0 -75
  630. package/lib/__tests__/utils/createSlots.test.jsx +0 -57
  631. package/lib/hooks/useDetails.jsx +0 -39
  632. package/lib/hooks/useOnOutsideClick.jsx +0 -61
  633. package/lib/hooks/useOverlay.jsx +0 -15
  634. package/lib/stories/ActionList.stories.js +0 -454
  635. package/lib/stories/ActionList2.stories.js +0 -909
  636. package/lib/stories/ActionMenu.stories.js +0 -348
  637. package/lib/stories/AnchoredOverlay.stories.js +0 -127
  638. package/lib/stories/Autocomplete.stories.js +0 -619
  639. package/lib/stories/AvatarStack.stories.js +0 -49
  640. package/lib/stories/Button.stories.js +0 -125
  641. package/lib/stories/ConfirmationDialog.stories.js +0 -119
  642. package/lib/stories/Dialog.stories.js +0 -269
  643. package/lib/stories/DropdownMenu.stories.js +0 -122
  644. package/lib/stories/IssueLabelToken.stories.js +0 -165
  645. package/lib/stories/NewButton.stories.js +0 -230
  646. package/lib/stories/Overlay.stories.js +0 -204
  647. package/lib/stories/Portal.stories.js +0 -104
  648. package/lib/stories/ProfileToken.stories.js +0 -162
  649. package/lib/stories/SelectPanel.stories.js +0 -399
  650. package/lib/stories/TextInput.stories.js +0 -144
  651. package/lib/stories/TextInputWithTokens.stories.js +0 -252
  652. package/lib/stories/ThemeProvider.stories.js +0 -102
  653. package/lib/stories/Token.stories.js +0 -176
  654. package/lib/stories/useAnchoredPosition.stories.js +0 -351
  655. package/lib/stories/useFocusTrap.stories.js +0 -360
  656. package/lib/stories/useFocusZone.stories.js +0 -607
  657. package/lib/utils/create-slots.jsx +0 -65
  658. package/lib/utils/deprecate.jsx +0 -59
  659. package/lib/utils/isNumeric.jsx +0 -7
  660. package/lib/utils/ssr.jsx +0 -6
  661. package/lib/utils/test-deprecations.jsx +0 -20
  662. package/lib/utils/test-helpers.jsx +0 -8
  663. package/lib/utils/test-matchers.jsx +0 -100
  664. package/lib/utils/testing.jsx +0 -206
  665. package/lib-esm/__tests__/ActionList.test.d.ts +0 -1
  666. package/lib-esm/__tests__/ActionList.test.js +0 -57
  667. package/lib-esm/__tests__/ActionList.types.test.d.ts +0 -6
  668. package/lib-esm/__tests__/ActionList.types.test.js +0 -45
  669. package/lib-esm/__tests__/ActionList2.test.d.ts +0 -1
  670. package/lib-esm/__tests__/ActionList2.test.js +0 -41
  671. package/lib-esm/__tests__/ActionMenu.test.d.ts +0 -1
  672. package/lib-esm/__tests__/ActionMenu.test.js +0 -139
  673. package/lib-esm/__tests__/AnchoredOverlay.test.d.ts +0 -1
  674. package/lib-esm/__tests__/AnchoredOverlay.test.js +0 -136
  675. package/lib-esm/__tests__/Autocomplete.test.d.ts +0 -1
  676. package/lib-esm/__tests__/Autocomplete.test.js +0 -494
  677. package/lib-esm/__tests__/Avatar.test.d.ts +0 -1
  678. package/lib-esm/__tests__/Avatar.test.js +0 -56
  679. package/lib-esm/__tests__/AvatarStack.test.d.ts +0 -1
  680. package/lib-esm/__tests__/AvatarStack.test.js +0 -58
  681. package/lib-esm/__tests__/BorderBox.test.d.ts +0 -1
  682. package/lib-esm/__tests__/BorderBox.test.js +0 -47
  683. package/lib-esm/__tests__/Box.test.d.ts +0 -1
  684. package/lib-esm/__tests__/Box.test.js +0 -67
  685. package/lib-esm/__tests__/BranchName.test.d.ts +0 -1
  686. package/lib-esm/__tests__/BranchName.test.js +0 -26
  687. package/lib-esm/__tests__/Breadcrumbs.test.d.ts +0 -1
  688. package/lib-esm/__tests__/Breadcrumbs.test.js +0 -30
  689. package/lib-esm/__tests__/Breadcrumbs.types.test.d.ts +0 -3
  690. package/lib-esm/__tests__/Breadcrumbs.types.test.js +0 -12
  691. package/lib-esm/__tests__/BreadcrumbsItem.test.d.ts +0 -1
  692. package/lib-esm/__tests__/BreadcrumbsItem.test.js +0 -39
  693. package/lib-esm/__tests__/Button.test.d.ts +0 -1
  694. package/lib-esm/__tests__/Button.test.js +0 -137
  695. package/lib-esm/__tests__/Caret.test.d.ts +0 -1
  696. package/lib-esm/__tests__/Caret.test.js +0 -42
  697. package/lib-esm/__tests__/CircleBadge.test.d.ts +0 -1
  698. package/lib-esm/__tests__/CircleBadge.test.js +0 -70
  699. package/lib-esm/__tests__/CircleBadge.types.test.d.ts +0 -3
  700. package/lib-esm/__tests__/CircleBadge.types.test.js +0 -13
  701. package/lib-esm/__tests__/CircleOcticon.test.d.ts +0 -1
  702. package/lib-esm/__tests__/CircleOcticon.test.js +0 -59
  703. package/lib-esm/__tests__/ConfirmationDialog.test.d.ts +0 -1
  704. package/lib-esm/__tests__/ConfirmationDialog.test.js +0 -113
  705. package/lib-esm/__tests__/CounterLabel.test.d.ts +0 -1
  706. package/lib-esm/__tests__/CounterLabel.test.js +0 -47
  707. package/lib-esm/__tests__/CounterLabel.types.test.d.ts +0 -3
  708. package/lib-esm/__tests__/CounterLabel.types.test.js +0 -13
  709. package/lib-esm/__tests__/Details.test.d.ts +0 -1
  710. package/lib-esm/__tests__/Details.test.js +0 -107
  711. package/lib-esm/__tests__/Dialog.test.d.ts +0 -1
  712. package/lib-esm/__tests__/Dialog.test.js +0 -171
  713. package/lib-esm/__tests__/Dialog.types.test.d.ts +0 -3
  714. package/lib-esm/__tests__/Dialog.types.test.js +0 -13
  715. package/lib-esm/__tests__/Dialog2.types.test.d.ts +0 -3
  716. package/lib-esm/__tests__/Dialog2.types.test.js +0 -16
  717. package/lib-esm/__tests__/Dropdown.test.d.ts +0 -1
  718. package/lib-esm/__tests__/Dropdown.test.js +0 -53
  719. package/lib-esm/__tests__/Dropdown.types.test.d.ts +0 -3
  720. package/lib-esm/__tests__/Dropdown.types.test.js +0 -17
  721. package/lib-esm/__tests__/DropdownMenu.test.d.ts +0 -1
  722. package/lib-esm/__tests__/DropdownMenu.test.js +0 -137
  723. package/lib-esm/__tests__/FilterList.test.d.ts +0 -1
  724. package/lib-esm/__tests__/FilterList.test.js +0 -26
  725. package/lib-esm/__tests__/FilterList.types.test.d.ts +0 -3
  726. package/lib-esm/__tests__/FilterList.types.test.js +0 -13
  727. package/lib-esm/__tests__/FilterListItem.test.d.ts +0 -1
  728. package/lib-esm/__tests__/FilterListItem.test.js +0 -36
  729. package/lib-esm/__tests__/FilteredSearch.test.d.ts +0 -1
  730. package/lib-esm/__tests__/FilteredSearch.test.js +0 -26
  731. package/lib-esm/__tests__/FilteredSearch.types.test.d.ts +0 -3
  732. package/lib-esm/__tests__/FilteredSearch.types.test.js +0 -13
  733. package/lib-esm/__tests__/Flash.test.d.ts +0 -1
  734. package/lib-esm/__tests__/Flash.test.js +0 -51
  735. package/lib-esm/__tests__/Flash.types.test.d.ts +0 -3
  736. package/lib-esm/__tests__/Flash.types.test.js +0 -13
  737. package/lib-esm/__tests__/Flex.test.d.ts +0 -1
  738. package/lib-esm/__tests__/Flex.test.js +0 -64
  739. package/lib-esm/__tests__/FormGroup.test.d.ts +0 -1
  740. package/lib-esm/__tests__/FormGroup.test.js +0 -44
  741. package/lib-esm/__tests__/FormGroup.types.test.d.ts +0 -3
  742. package/lib-esm/__tests__/FormGroup.types.test.js +0 -13
  743. package/lib-esm/__tests__/Grid.test.d.ts +0 -1
  744. package/lib-esm/__tests__/Grid.test.js +0 -94
  745. package/lib-esm/__tests__/Header.test.d.ts +0 -1
  746. package/lib-esm/__tests__/Header.test.js +0 -48
  747. package/lib-esm/__tests__/Header.types.test.d.ts +0 -3
  748. package/lib-esm/__tests__/Header.types.test.js +0 -15
  749. package/lib-esm/__tests__/Heading.test.d.ts +0 -1
  750. package/lib-esm/__tests__/Heading.test.js +0 -99
  751. package/lib-esm/__tests__/KeyPaths.types.test.d.ts +0 -11
  752. package/lib-esm/__tests__/KeyPaths.types.test.js +0 -3
  753. package/lib-esm/__tests__/Label.test.d.ts +0 -1
  754. package/lib-esm/__tests__/Label.test.js +0 -36
  755. package/lib-esm/__tests__/Label.types.test.d.ts +0 -3
  756. package/lib-esm/__tests__/Label.types.test.js +0 -13
  757. package/lib-esm/__tests__/LabelGroup.test.d.ts +0 -1
  758. package/lib-esm/__tests__/LabelGroup.test.js +0 -26
  759. package/lib-esm/__tests__/LabelGroup.types.test.d.ts +0 -3
  760. package/lib-esm/__tests__/LabelGroup.types.test.js +0 -13
  761. package/lib-esm/__tests__/Link.test.d.ts +0 -1
  762. package/lib-esm/__tests__/Link.test.js +0 -66
  763. package/lib-esm/__tests__/Link.types.test.d.ts +0 -3
  764. package/lib-esm/__tests__/Link.types.test.js +0 -13
  765. package/lib-esm/__tests__/Merge.types.test.d.ts +0 -30
  766. package/lib-esm/__tests__/Merge.types.test.js +0 -14
  767. package/lib-esm/__tests__/NewButton.test.d.ts +0 -1
  768. package/lib-esm/__tests__/NewButton.test.js +0 -84
  769. package/lib-esm/__tests__/Overlay.test.d.ts +0 -1
  770. package/lib-esm/__tests__/Overlay.test.js +0 -123
  771. package/lib-esm/__tests__/Overlay.types.test.d.ts +0 -3
  772. package/lib-esm/__tests__/Overlay.types.test.js +0 -20
  773. package/lib-esm/__tests__/Pagehead.test.d.ts +0 -1
  774. package/lib-esm/__tests__/Pagehead.test.js +0 -26
  775. package/lib-esm/__tests__/Pagehead.types.test.d.ts +0 -3
  776. package/lib-esm/__tests__/Pagehead.types.test.js +0 -13
  777. package/lib-esm/__tests__/Pagination/Pagination.test.d.ts +0 -1
  778. package/lib-esm/__tests__/Pagination/Pagination.test.js +0 -35
  779. package/lib-esm/__tests__/Pagination/PaginationModel.test.d.ts +0 -1
  780. package/lib-esm/__tests__/Pagination/PaginationModel.test.js +0 -182
  781. package/lib-esm/__tests__/Pagination.types.test.d.ts +0 -3
  782. package/lib-esm/__tests__/Pagination.types.test.js +0 -18
  783. package/lib-esm/__tests__/PointerBox.test.d.ts +0 -1
  784. package/lib-esm/__tests__/PointerBox.test.js +0 -36
  785. package/lib-esm/__tests__/Popover.test.d.ts +0 -1
  786. package/lib-esm/__tests__/Popover.test.js +0 -53
  787. package/lib-esm/__tests__/Popover.types.test.d.ts +0 -3
  788. package/lib-esm/__tests__/Popover.types.test.js +0 -13
  789. package/lib-esm/__tests__/Portal.test.d.ts +0 -1
  790. package/lib-esm/__tests__/Portal.test.js +0 -104
  791. package/lib-esm/__tests__/Position.test.d.ts +0 -1
  792. package/lib-esm/__tests__/Position.test.js +0 -133
  793. package/lib-esm/__tests__/ProgressBar.test.d.ts +0 -1
  794. package/lib-esm/__tests__/ProgressBar.test.js +0 -58
  795. package/lib-esm/__tests__/SelectMenu.test.d.ts +0 -1
  796. package/lib-esm/__tests__/SelectMenu.test.js +0 -145
  797. package/lib-esm/__tests__/SelectMenu.types.test.d.ts +0 -3
  798. package/lib-esm/__tests__/SelectMenu.types.test.js +0 -33
  799. package/lib-esm/__tests__/SelectPanel.test.d.ts +0 -1
  800. package/lib-esm/__tests__/SelectPanel.test.js +0 -65
  801. package/lib-esm/__tests__/SideNav.test.d.ts +0 -1
  802. package/lib-esm/__tests__/SideNav.test.js +0 -60
  803. package/lib-esm/__tests__/SideNav.types.test.d.ts +0 -3
  804. package/lib-esm/__tests__/SideNav.types.test.js +0 -13
  805. package/lib-esm/__tests__/Spinner.test.d.ts +0 -1
  806. package/lib-esm/__tests__/Spinner.test.js +0 -43
  807. package/lib-esm/__tests__/StateLabel.test.d.ts +0 -1
  808. package/lib-esm/__tests__/StateLabel.test.js +0 -61
  809. package/lib-esm/__tests__/StateLabel.types.test.d.ts +0 -3
  810. package/lib-esm/__tests__/StateLabel.types.test.js +0 -13
  811. package/lib-esm/__tests__/StyledOcticon.test.d.ts +0 -1
  812. package/lib-esm/__tests__/StyledOcticon.test.js +0 -29
  813. package/lib-esm/__tests__/StyledOcticon.types.test.d.ts +0 -3
  814. package/lib-esm/__tests__/StyledOcticon.types.test.js +0 -16
  815. package/lib-esm/__tests__/SubNav.test.d.ts +0 -1
  816. package/lib-esm/__tests__/SubNav.test.js +0 -50
  817. package/lib-esm/__tests__/SubNav.types.test.d.ts +0 -3
  818. package/lib-esm/__tests__/SubNav.types.test.js +0 -14
  819. package/lib-esm/__tests__/SubNavLink.test.d.ts +0 -1
  820. package/lib-esm/__tests__/SubNavLink.test.js +0 -39
  821. package/lib-esm/__tests__/TabNav.test.d.ts +0 -1
  822. package/lib-esm/__tests__/TabNav.test.js +0 -39
  823. package/lib-esm/__tests__/TabNav.types.test.d.ts +0 -3
  824. package/lib-esm/__tests__/TabNav.types.test.js +0 -12
  825. package/lib-esm/__tests__/Text.test.d.ts +0 -1
  826. package/lib-esm/__tests__/Text.test.js +0 -93
  827. package/lib-esm/__tests__/TextInput.test.d.ts +0 -1
  828. package/lib-esm/__tests__/TextInput.test.js +0 -68
  829. package/lib-esm/__tests__/TextInputWithTokens.test.d.ts +0 -1
  830. package/lib-esm/__tests__/TextInputWithTokens.test.js +0 -511
  831. package/lib-esm/__tests__/ThemeProvider.test.d.ts +0 -1
  832. package/lib-esm/__tests__/ThemeProvider.test.js +0 -408
  833. package/lib-esm/__tests__/Timeline.test.d.ts +0 -1
  834. package/lib-esm/__tests__/Timeline.test.js +0 -65
  835. package/lib-esm/__tests__/Timeline.types.test.d.ts +0 -3
  836. package/lib-esm/__tests__/Timeline.types.test.js +0 -18
  837. package/lib-esm/__tests__/Token.test.d.ts +0 -1
  838. package/lib-esm/__tests__/Token.test.js +0 -166
  839. package/lib-esm/__tests__/Tooltip.test.d.ts +0 -1
  840. package/lib-esm/__tests__/Tooltip.test.js +0 -59
  841. package/lib-esm/__tests__/Tooltip.types.test.d.ts +0 -3
  842. package/lib-esm/__tests__/Tooltip.types.test.js +0 -13
  843. package/lib-esm/__tests__/Truncate.test.d.ts +0 -1
  844. package/lib-esm/__tests__/Truncate.test.js +0 -53
  845. package/lib-esm/__tests__/Truncate.types.test.d.ts +0 -3
  846. package/lib-esm/__tests__/Truncate.types.test.js +0 -16
  847. package/lib-esm/__tests__/UnderlineNav.test.d.ts +0 -1
  848. package/lib-esm/__tests__/UnderlineNav.test.js +0 -60
  849. package/lib-esm/__tests__/UnderlineNav.types.test.d.ts +0 -3
  850. package/lib-esm/__tests__/UnderlineNav.types.test.js +0 -12
  851. package/lib-esm/__tests__/UnderlineNavLink.test.d.ts +0 -1
  852. package/lib-esm/__tests__/UnderlineNavLink.test.js +0 -41
  853. package/lib-esm/__tests__/behaviors/anchoredPosition.test.d.ts +0 -1
  854. package/lib-esm/__tests__/behaviors/anchoredPosition.test.js +0 -388
  855. package/lib-esm/__tests__/behaviors/focusTrap.test.d.ts +0 -1
  856. package/lib-esm/__tests__/behaviors/focusTrap.test.js +0 -227
  857. package/lib-esm/__tests__/behaviors/focusZone.test.d.ts +0 -1
  858. package/lib-esm/__tests__/behaviors/focusZone.test.js +0 -487
  859. package/lib-esm/__tests__/behaviors/iterateFocusableElements.test.d.ts +0 -1
  860. package/lib-esm/__tests__/behaviors/iterateFocusableElements.test.js +0 -48
  861. package/lib-esm/__tests__/behaviors/scrollIntoViewingArea.test.d.ts +0 -1
  862. package/lib-esm/__tests__/behaviors/scrollIntoViewingArea.test.js +0 -224
  863. package/lib-esm/__tests__/filterObject.test.d.ts +0 -1
  864. package/lib-esm/__tests__/filterObject.test.js +0 -27
  865. package/lib-esm/__tests__/hooks/useAnchoredPosition.test.d.ts +0 -1
  866. package/lib-esm/__tests__/hooks/useAnchoredPosition.test.js +0 -46
  867. package/lib-esm/__tests__/hooks/useOnEscapePress.test.d.ts +0 -1
  868. package/lib-esm/__tests__/hooks/useOnEscapePress.test.js +0 -23
  869. package/lib-esm/__tests__/hooks/useOnOutsideClick.test.d.ts +0 -1
  870. package/lib-esm/__tests__/hooks/useOnOutsideClick.test.js +0 -68
  871. package/lib-esm/__tests__/hooks/useOpenAndCloseFocus.test.d.ts +0 -1
  872. package/lib-esm/__tests__/hooks/useOpenAndCloseFocus.test.js +0 -52
  873. package/lib-esm/__tests__/hooks/useProvidedStateOrCreate.test.d.ts +0 -1
  874. package/lib-esm/__tests__/hooks/useProvidedStateOrCreate.test.js +0 -36
  875. package/lib-esm/__tests__/theme.test.d.ts +0 -1
  876. package/lib-esm/__tests__/theme.test.js +0 -33
  877. package/lib-esm/__tests__/themeGet.test.d.ts +0 -1
  878. package/lib-esm/__tests__/themeGet.test.js +0 -22
  879. package/lib-esm/__tests__/useSafeTimeout.test.d.ts +0 -1
  880. package/lib-esm/__tests__/useSafeTimeout.test.js +0 -39
  881. package/lib-esm/__tests__/utils/createSlots.test.d.ts +0 -1
  882. package/lib-esm/__tests__/utils/createSlots.test.js +0 -67
  883. package/lib-esm/stories/ActionList.stories.js +0 -395
  884. package/lib-esm/stories/ActionList2.stories.js +0 -797
  885. package/lib-esm/stories/ActionMenu.stories.js +0 -303
  886. package/lib-esm/stories/AnchoredOverlay.stories.js +0 -101
  887. package/lib-esm/stories/Autocomplete.stories.js +0 -560
  888. package/lib-esm/stories/AvatarStack.stories.js +0 -32
  889. package/lib-esm/stories/Button.stories.js +0 -86
  890. package/lib-esm/stories/ConfirmationDialog.stories.js +0 -94
  891. package/lib-esm/stories/Dialog.stories.js +0 -244
  892. package/lib-esm/stories/DropdownMenu.stories.js +0 -94
  893. package/lib-esm/stories/IssueLabelToken.stories.js +0 -139
  894. package/lib-esm/stories/NewButton.stories.js +0 -178
  895. package/lib-esm/stories/Overlay.stories.js +0 -173
  896. package/lib-esm/stories/Portal.stories.js +0 -68
  897. package/lib-esm/stories/ProfileToken.stories.js +0 -136
  898. package/lib-esm/stories/SelectPanel.stories.js +0 -334
  899. package/lib-esm/stories/TextInput.stories.js +0 -117
  900. package/lib-esm/stories/TextInputWithTokens.stories.js +0 -210
  901. package/lib-esm/stories/ThemeProvider.stories.js +0 -83
  902. package/lib-esm/stories/Token.stories.js +0 -146
  903. package/lib-esm/stories/useAnchoredPosition.stories.js +0 -313
  904. package/lib-esm/stories/useFocusTrap.stories.js +0 -313
  905. package/lib-esm/stories/useFocusZone.stories.js +0 -562
  906. package/migrating.md +0 -250
  907. package/now.json +0 -17
  908. package/package-lock.json +0 -66509
  909. package/rollup.config.js +0 -36
  910. package/script/build +0 -21
  911. package/script/build-storybook +0 -10
  912. package/script/setup +0 -12
  913. package/src/ActionList/Divider.tsx +0 -25
  914. package/src/ActionList/Group.tsx +0 -45
  915. package/src/ActionList/Header.tsx +0 -74
  916. package/src/ActionList/Item.tsx +0 -480
  917. package/src/ActionList/List.tsx +0 -258
  918. package/src/ActionList/index.ts +0 -21
  919. package/src/ActionList2/Description.tsx +0 -52
  920. package/src/ActionList2/Divider.tsx +0 -24
  921. package/src/ActionList2/Group.tsx +0 -103
  922. package/src/ActionList2/Header.tsx +0 -58
  923. package/src/ActionList2/Item.tsx +0 -246
  924. package/src/ActionList2/LinkItem.tsx +0 -49
  925. package/src/ActionList2/List.tsx +0 -55
  926. package/src/ActionList2/Selection.tsx +0 -60
  927. package/src/ActionList2/Visuals.tsx +0 -76
  928. package/src/ActionList2/index.ts +0 -39
  929. package/src/ActionMenu.tsx +0 -106
  930. package/src/AnchoredOverlay/AnchoredOverlay.tsx +0 -191
  931. package/src/AnchoredOverlay/index.ts +0 -2
  932. package/src/Autocomplete/Autocomplete.tsx +0 -103
  933. package/src/Autocomplete/AutocompleteContext.tsx +0 -19
  934. package/src/Autocomplete/AutocompleteInput.tsx +0 -179
  935. package/src/Autocomplete/AutocompleteMenu.tsx +0 -341
  936. package/src/Autocomplete/AutocompleteOverlay.tsx +0 -68
  937. package/src/Autocomplete/index.ts +0 -2
  938. package/src/Avatar.tsx +0 -46
  939. package/src/AvatarPair.tsx +0 -35
  940. package/src/AvatarStack.tsx +0 -159
  941. package/src/BaseStyles.tsx +0 -53
  942. package/src/BorderBox.tsx +0 -18
  943. package/src/Box.tsx +0 -54
  944. package/src/BranchName.tsx +0 -19
  945. package/src/Breadcrumbs.tsx +0 -101
  946. package/src/Button/Button.tsx +0 -39
  947. package/src/Button/ButtonBase.tsx +0 -39
  948. package/src/Button/ButtonClose.tsx +0 -36
  949. package/src/Button/ButtonDanger.tsx +0 -42
  950. package/src/Button/ButtonGroup.tsx +0 -55
  951. package/src/Button/ButtonInvisible.tsx +0 -31
  952. package/src/Button/ButtonOutline.tsx +0 -42
  953. package/src/Button/ButtonPrimary.tsx +0 -40
  954. package/src/Button/ButtonStyles.tsx +0 -36
  955. package/src/Button/ButtonTableList.tsx +0 -45
  956. package/src/Button/index.ts +0 -16
  957. package/src/Caret.tsx +0 -133
  958. package/src/CircleBadge.tsx +0 -53
  959. package/src/CircleOcticon.tsx +0 -37
  960. package/src/CounterLabel.tsx +0 -50
  961. package/src/Details.tsx +0 -23
  962. package/src/Dialog/ConfirmationDialog.tsx +0 -184
  963. package/src/Dialog/Dialog.tsx +0 -444
  964. package/src/Dialog.tsx +0 -145
  965. package/src/Dropdown.tsx +0 -154
  966. package/src/DropdownMenu/DropdownButton.tsx +0 -15
  967. package/src/DropdownMenu/DropdownMenu.tsx +0 -115
  968. package/src/DropdownMenu/index.ts +0 -4
  969. package/src/DropdownStyles.ts +0 -128
  970. package/src/FilterList.tsx +0 -75
  971. package/src/FilteredActionList/FilteredActionList.tsx +0 -142
  972. package/src/FilteredActionList/index.ts +0 -2
  973. package/src/FilteredSearch.tsx +0 -27
  974. package/src/Flash.tsx +0 -75
  975. package/src/Flex.tsx +0 -15
  976. package/src/FormGroup.tsx +0 -24
  977. package/src/Grid.tsx +0 -15
  978. package/src/Header.tsx +0 -74
  979. package/src/Heading.tsx +0 -21
  980. package/src/Label.tsx +0 -72
  981. package/src/LabelGroup.tsx +0 -17
  982. package/src/Link.tsx +0 -42
  983. package/src/NewButton/button-counter.tsx +0 -15
  984. package/src/NewButton/button.tsx +0 -283
  985. package/src/NewButton/index.ts +0 -10
  986. package/src/NewButton/types.ts +0 -36
  987. package/src/Overlay.tsx +0 -200
  988. package/src/Pagehead.tsx +0 -16
  989. package/src/Pagination/Pagination.tsx +0 -212
  990. package/src/Pagination/index.ts +0 -4
  991. package/src/Pagination/model.tsx +0 -187
  992. package/src/PointerBox.tsx +0 -31
  993. package/src/Popover.tsx +0 -225
  994. package/src/Portal/Portal.tsx +0 -97
  995. package/src/Portal/index.ts +0 -5
  996. package/src/Position.tsx +0 -63
  997. package/src/ProgressBar.tsx +0 -52
  998. package/src/SelectMenu/SelectMenu.tsx +0 -123
  999. package/src/SelectMenu/SelectMenuContext.tsx +0 -9
  1000. package/src/SelectMenu/SelectMenuDivider.tsx +0 -24
  1001. package/src/SelectMenu/SelectMenuFilter.tsx +0 -50
  1002. package/src/SelectMenu/SelectMenuFooter.tsx +0 -27
  1003. package/src/SelectMenu/SelectMenuHeader.tsx +0 -48
  1004. package/src/SelectMenu/SelectMenuItem.tsx +0 -136
  1005. package/src/SelectMenu/SelectMenuList.tsx +0 -41
  1006. package/src/SelectMenu/SelectMenuLoadingAnimation.tsx +0 -25
  1007. package/src/SelectMenu/SelectMenuModal.tsx +0 -119
  1008. package/src/SelectMenu/SelectMenuTab.tsx +0 -87
  1009. package/src/SelectMenu/SelectMenuTabPanel.tsx +0 -29
  1010. package/src/SelectMenu/SelectMenuTabs.tsx +0 -43
  1011. package/src/SelectMenu/hooks/useKeyboardNav.js +0 -90
  1012. package/src/SelectMenu/index.ts +0 -15
  1013. package/src/SelectPanel/SelectPanel.tsx +0 -173
  1014. package/src/SelectPanel/index.ts +0 -2
  1015. package/src/SideNav.tsx +0 -191
  1016. package/src/Spinner.tsx +0 -59
  1017. package/src/StateLabel.tsx +0 -112
  1018. package/src/StyledOcticon.tsx +0 -22
  1019. package/src/SubNav.tsx +0 -124
  1020. package/src/TabNav.tsx +0 -73
  1021. package/src/Text.tsx +0 -13
  1022. package/src/TextInput.tsx +0 -68
  1023. package/src/TextInputWithTokens.tsx +0 -351
  1024. package/src/ThemeProvider.tsx +0 -176
  1025. package/src/Timeline.tsx +0 -140
  1026. package/src/Token/AvatarToken.tsx +0 -54
  1027. package/src/Token/IssueLabelToken.tsx +0 -150
  1028. package/src/Token/Token.tsx +0 -126
  1029. package/src/Token/TokenBase.tsx +0 -129
  1030. package/src/Token/_RemoveTokenButton.tsx +0 -111
  1031. package/src/Token/_TokenTextContainer.tsx +0 -47
  1032. package/src/Token/index.ts +0 -3
  1033. package/src/Tooltip.tsx +0 -263
  1034. package/src/Truncate.tsx +0 -31
  1035. package/src/UnderlineNav.tsx +0 -107
  1036. package/src/_TextInputWrapper.tsx +0 -113
  1037. package/src/_UnstyledTextInput.tsx +0 -19
  1038. package/src/__tests__/.eslintrc.json +0 -11
  1039. package/src/__tests__/ActionList.test.tsx +0 -53
  1040. package/src/__tests__/ActionList.types.test.tsx +0 -51
  1041. package/src/__tests__/ActionList2.test.tsx +0 -47
  1042. package/src/__tests__/ActionMenu.test.tsx +0 -136
  1043. package/src/__tests__/AnchoredOverlay.test.tsx +0 -150
  1044. package/src/__tests__/Autocomplete.test.tsx +0 -444
  1045. package/src/__tests__/Avatar.test.tsx +0 -44
  1046. package/src/__tests__/AvatarStack.test.tsx +0 -48
  1047. package/src/__tests__/BorderBox.test.tsx +0 -43
  1048. package/src/__tests__/Box.test.tsx +0 -42
  1049. package/src/__tests__/BranchName.test.tsx +0 -26
  1050. package/src/__tests__/Breadcrumbs.test.tsx +0 -27
  1051. package/src/__tests__/Breadcrumbs.types.test.tsx +0 -22
  1052. package/src/__tests__/BreadcrumbsItem.test.tsx +0 -31
  1053. package/src/__tests__/Button.test.tsx +0 -128
  1054. package/src/__tests__/Caret.test.tsx +0 -36
  1055. package/src/__tests__/CircleBadge.test.tsx +0 -66
  1056. package/src/__tests__/CircleBadge.types.test.tsx +0 -11
  1057. package/src/__tests__/CircleOcticon.test.tsx +0 -50
  1058. package/src/__tests__/ConfirmationDialog.test.tsx +0 -120
  1059. package/src/__tests__/CounterLabel.test.tsx +0 -50
  1060. package/src/__tests__/CounterLabel.types.test.tsx +0 -11
  1061. package/src/__tests__/Details.test.tsx +0 -115
  1062. package/src/__tests__/Dialog.test.tsx +0 -155
  1063. package/src/__tests__/Dialog.types.test.tsx +0 -11
  1064. package/src/__tests__/Dialog2.types.test.tsx +0 -11
  1065. package/src/__tests__/Dropdown.test.tsx +0 -53
  1066. package/src/__tests__/Dropdown.types.test.tsx +0 -21
  1067. package/src/__tests__/DropdownMenu.test.tsx +0 -136
  1068. package/src/__tests__/FilterList.test.tsx +0 -26
  1069. package/src/__tests__/FilterList.types.test.tsx +0 -17
  1070. package/src/__tests__/FilterListItem.test.tsx +0 -31
  1071. package/src/__tests__/FilteredSearch.test.tsx +0 -26
  1072. package/src/__tests__/FilteredSearch.types.test.tsx +0 -11
  1073. package/src/__tests__/Flash.test.tsx +0 -45
  1074. package/src/__tests__/Flash.types.test.tsx +0 -11
  1075. package/src/__tests__/Flex.test.tsx +0 -58
  1076. package/src/__tests__/FormGroup.test.tsx +0 -38
  1077. package/src/__tests__/FormGroup.types.test.tsx +0 -11
  1078. package/src/__tests__/Grid.test.tsx +0 -82
  1079. package/src/__tests__/Header.test.tsx +0 -49
  1080. package/src/__tests__/Header.types.test.tsx +0 -19
  1081. package/src/__tests__/Heading.test.tsx +0 -91
  1082. package/src/__tests__/KeyPaths.types.test.ts +0 -14
  1083. package/src/__tests__/Label.test.tsx +0 -34
  1084. package/src/__tests__/Label.types.test.tsx +0 -11
  1085. package/src/__tests__/LabelGroup.test.tsx +0 -30
  1086. package/src/__tests__/LabelGroup.types.test.tsx +0 -11
  1087. package/src/__tests__/Link.test.tsx +0 -47
  1088. package/src/__tests__/Link.types.test.tsx +0 -11
  1089. package/src/__tests__/Merge.types.test.ts +0 -39
  1090. package/src/__tests__/NewButton.test.tsx +0 -70
  1091. package/src/__tests__/Overlay.test.tsx +0 -103
  1092. package/src/__tests__/Overlay.types.test.tsx +0 -18
  1093. package/src/__tests__/Pagehead.test.tsx +0 -23
  1094. package/src/__tests__/Pagehead.types.test.tsx +0 -11
  1095. package/src/__tests__/Pagination/Pagination.test.tsx +0 -30
  1096. package/src/__tests__/Pagination/PaginationModel.test.tsx +0 -133
  1097. package/src/__tests__/Pagination/__snapshots__/Pagination.test.tsx.snap +0 -184
  1098. package/src/__tests__/Pagination.types.test.tsx +0 -11
  1099. package/src/__tests__/PointerBox.test.tsx +0 -34
  1100. package/src/__tests__/Popover.test.tsx +0 -68
  1101. package/src/__tests__/Popover.types.test.tsx +0 -17
  1102. package/src/__tests__/Portal.test.tsx +0 -103
  1103. package/src/__tests__/Position.test.tsx +0 -117
  1104. package/src/__tests__/ProgressBar.test.tsx +0 -40
  1105. package/src/__tests__/SelectMenu.test.tsx +0 -142
  1106. package/src/__tests__/SelectMenu.types.test.tsx +0 -37
  1107. package/src/__tests__/SelectPanel.test.tsx +0 -63
  1108. package/src/__tests__/SideNav.test.tsx +0 -62
  1109. package/src/__tests__/SideNav.types.test.tsx +0 -11
  1110. package/src/__tests__/Spinner.test.tsx +0 -42
  1111. package/src/__tests__/StateLabel.test.tsx +0 -48
  1112. package/src/__tests__/StateLabel.types.test.tsx +0 -11
  1113. package/src/__tests__/StyledOcticon.test.tsx +0 -26
  1114. package/src/__tests__/StyledOcticon.types.test.tsx +0 -12
  1115. package/src/__tests__/SubNav.test.tsx +0 -50
  1116. package/src/__tests__/SubNav.types.test.tsx +0 -25
  1117. package/src/__tests__/SubNavLink.test.tsx +0 -31
  1118. package/src/__tests__/TabNav.test.tsx +0 -32
  1119. package/src/__tests__/TabNav.types.test.tsx +0 -22
  1120. package/src/__tests__/Text.test.tsx +0 -78
  1121. package/src/__tests__/TextInput.test.tsx +0 -49
  1122. package/src/__tests__/TextInputWithTokens.test.tsx +0 -422
  1123. package/src/__tests__/ThemeProvider.test.tsx +0 -441
  1124. package/src/__tests__/Timeline.test.tsx +0 -58
  1125. package/src/__tests__/Timeline.types.test.tsx +0 -31
  1126. package/src/__tests__/Token.test.tsx +0 -118
  1127. package/src/__tests__/Tooltip.test.tsx +0 -52
  1128. package/src/__tests__/Tooltip.types.test.tsx +0 -11
  1129. package/src/__tests__/Truncate.test.tsx +0 -43
  1130. package/src/__tests__/Truncate.types.test.tsx +0 -11
  1131. package/src/__tests__/UnderlineNav.test.tsx +0 -58
  1132. package/src/__tests__/UnderlineNav.types.test.tsx +0 -22
  1133. package/src/__tests__/UnderlineNavLink.test.tsx +0 -31
  1134. package/src/__tests__/__snapshots__/ActionList.test.tsx.snap +0 -223
  1135. package/src/__tests__/__snapshots__/ActionList2.test.tsx.snap +0 -14
  1136. package/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap +0 -80
  1137. package/src/__tests__/__snapshots__/AnchoredOverlay.test.tsx.snap +0 -232
  1138. package/src/__tests__/__snapshots__/Autocomplete.test.tsx.snap +0 -3888
  1139. package/src/__tests__/__snapshots__/Avatar.test.tsx.snap +0 -19
  1140. package/src/__tests__/__snapshots__/AvatarStack.test.tsx.snap +0 -377
  1141. package/src/__tests__/__snapshots__/BorderBox.test.tsx.snap +0 -14
  1142. package/src/__tests__/__snapshots__/Box.test.tsx.snap +0 -201
  1143. package/src/__tests__/__snapshots__/BranchName.test.tsx.snap +0 -17
  1144. package/src/__tests__/__snapshots__/Breadcrumbs.test.tsx.snap +0 -29
  1145. package/src/__tests__/__snapshots__/BreadcrumbsItem.test.tsx.snap +0 -79
  1146. package/src/__tests__/__snapshots__/Button.test.tsx.snap +0 -840
  1147. package/src/__tests__/__snapshots__/Caret.test.tsx.snap +0 -373
  1148. package/src/__tests__/__snapshots__/CircleBadge.test.tsx.snap +0 -142
  1149. package/src/__tests__/__snapshots__/CircleOcticon.test.tsx.snap +0 -65
  1150. package/src/__tests__/__snapshots__/ConfirmationDialog.test.tsx.snap +0 -89
  1151. package/src/__tests__/__snapshots__/CounterLabel.test.tsx.snap +0 -22
  1152. package/src/__tests__/__snapshots__/Details.test.tsx.snap +0 -15
  1153. package/src/__tests__/__snapshots__/Dialog.test.tsx.snap +0 -201
  1154. package/src/__tests__/__snapshots__/Dropdown.test.tsx.snap +0 -249
  1155. package/src/__tests__/__snapshots__/DropdownMenu.test.tsx.snap +0 -107
  1156. package/src/__tests__/__snapshots__/FilterList.test.tsx.snap +0 -13
  1157. package/src/__tests__/__snapshots__/FilterListItem.test.tsx.snap +0 -80
  1158. package/src/__tests__/__snapshots__/FilteredSearch.test.tsx.snap +0 -32
  1159. package/src/__tests__/__snapshots__/Flash.test.tsx.snap +0 -32
  1160. package/src/__tests__/__snapshots__/Flex.test.tsx.snap +0 -130
  1161. package/src/__tests__/__snapshots__/FormGroup.test.tsx.snap +0 -25
  1162. package/src/__tests__/__snapshots__/Grid.test.tsx.snap +0 -178
  1163. package/src/__tests__/__snapshots__/Header.test.tsx.snap +0 -79
  1164. package/src/__tests__/__snapshots__/Heading.test.tsx.snap +0 -13
  1165. package/src/__tests__/__snapshots__/Label.test.tsx.snap +0 -73
  1166. package/src/__tests__/__snapshots__/LabelGroup.test.tsx.snap +0 -15
  1167. package/src/__tests__/__snapshots__/Link.test.tsx.snap +0 -212
  1168. package/src/__tests__/__snapshots__/NewButton.test.tsx.snap +0 -305
  1169. package/src/__tests__/__snapshots__/Pagehead.test.tsx.snap +0 -15
  1170. package/src/__tests__/__snapshots__/PointerBox.test.tsx.snap +0 -174
  1171. package/src/__tests__/__snapshots__/Popover.test.tsx.snap +0 -4687
  1172. package/src/__tests__/__snapshots__/Position.test.tsx.snap +0 -44
  1173. package/src/__tests__/__snapshots__/ProgressBar.test.tsx.snap +0 -53
  1174. package/src/__tests__/__snapshots__/SelectMenu.test.tsx.snap +0 -473
  1175. package/src/__tests__/__snapshots__/SelectPanel.test.tsx.snap +0 -124
  1176. package/src/__tests__/__snapshots__/SideNav.test.tsx.snap +0 -143
  1177. package/src/__tests__/__snapshots__/Spinner.test.tsx.snap +0 -33
  1178. package/src/__tests__/__snapshots__/StateLabel.test.tsx.snap +0 -395
  1179. package/src/__tests__/__snapshots__/StyledOcticon.test.tsx.snap +0 -26
  1180. package/src/__tests__/__snapshots__/SubNav.test.tsx.snap +0 -44
  1181. package/src/__tests__/__snapshots__/SubNavLink.test.tsx.snap +0 -199
  1182. package/src/__tests__/__snapshots__/TabNav.test.tsx.snap +0 -58
  1183. package/src/__tests__/__snapshots__/Text.test.tsx.snap +0 -7
  1184. package/src/__tests__/__snapshots__/TextInput.test.tsx.snap +0 -446
  1185. package/src/__tests__/__snapshots__/TextInputWithTokens.test.tsx.snap +0 -6045
  1186. package/src/__tests__/__snapshots__/ThemeProvider.test.tsx.snap +0 -15
  1187. package/src/__tests__/__snapshots__/Timeline.test.tsx.snap +0 -159
  1188. package/src/__tests__/__snapshots__/Token.test.tsx.snap +0 -3811
  1189. package/src/__tests__/__snapshots__/Tooltip.test.tsx.snap +0 -227
  1190. package/src/__tests__/__snapshots__/Truncate.test.tsx.snap +0 -17
  1191. package/src/__tests__/__snapshots__/UnderlineNav.test.tsx.snap +0 -59
  1192. package/src/__tests__/__snapshots__/UnderlineNavLink.test.tsx.snap +0 -130
  1193. package/src/__tests__/behaviors/anchoredPosition.test.ts +0 -295
  1194. package/src/__tests__/behaviors/focusTrap.test.tsx +0 -236
  1195. package/src/__tests__/behaviors/focusZone.test.tsx +0 -549
  1196. package/src/__tests__/behaviors/iterateFocusableElements.test.tsx +0 -61
  1197. package/src/__tests__/behaviors/scrollIntoViewingArea.test.ts +0 -195
  1198. package/src/__tests__/filterObject.test.ts +0 -54
  1199. package/src/__tests__/hooks/useAnchoredPosition.test.tsx +0 -31
  1200. package/src/__tests__/hooks/useOnEscapePress.test.tsx +0 -16
  1201. package/src/__tests__/hooks/useOnOutsideClick.test.tsx +0 -48
  1202. package/src/__tests__/hooks/useOpenAndCloseFocus.test.tsx +0 -48
  1203. package/src/__tests__/hooks/useProvidedStateOrCreate.test.tsx +0 -39
  1204. package/src/__tests__/theme.test.ts +0 -41
  1205. package/src/__tests__/themeGet.test.ts +0 -15
  1206. package/src/__tests__/useSafeTimeout.test.tsx +0 -36
  1207. package/src/__tests__/utils/__snapshots__/createSlots.test.tsx.snap +0 -55
  1208. package/src/__tests__/utils/createSlots.test.tsx +0 -74
  1209. package/src/behaviors/anchoredPosition.ts +0 -442
  1210. package/src/behaviors/focusTrap.ts +0 -184
  1211. package/src/behaviors/focusZone.ts +0 -713
  1212. package/src/behaviors/scrollIntoViewingArea.ts +0 -27
  1213. package/src/constants.ts +0 -62
  1214. package/src/drafts.ts +0 -10
  1215. package/src/hooks/index.ts +0 -11
  1216. package/src/hooks/useAnchoredPosition.ts +0 -54
  1217. package/src/hooks/useCombinedRefs.ts +0 -40
  1218. package/src/hooks/useDetails.tsx +0 -54
  1219. package/src/hooks/useDialog.ts +0 -121
  1220. package/src/hooks/useFocusTrap.ts +0 -80
  1221. package/src/hooks/useFocusZone.ts +0 -64
  1222. package/src/hooks/useOnEscapePress.ts +0 -63
  1223. package/src/hooks/useOnOutsideClick.tsx +0 -82
  1224. package/src/hooks/useOpenAndCloseFocus.ts +0 -32
  1225. package/src/hooks/useOverlay.tsx +0 -34
  1226. package/src/hooks/useProvidedRefOrCreate.ts +0 -14
  1227. package/src/hooks/useProvidedStateOrCreate.ts +0 -27
  1228. package/src/hooks/useRenderForcingRef.ts +0 -22
  1229. package/src/hooks/useResizeObserver.ts +0 -11
  1230. package/src/hooks/useSafeTimeout.ts +0 -38
  1231. package/src/hooks/useScrollFlash.ts +0 -21
  1232. package/src/index.ts +0 -172
  1233. package/src/polyfills/eventListenerSignal.ts +0 -66
  1234. package/src/stories/ActionList.stories.tsx +0 -436
  1235. package/src/stories/ActionList2.stories.tsx +0 -1291
  1236. package/src/stories/ActionMenu.stories.tsx +0 -331
  1237. package/src/stories/AnchoredOverlay.stories.tsx +0 -117
  1238. package/src/stories/Autocomplete.stories.tsx +0 -655
  1239. package/src/stories/AvatarStack.stories.tsx +0 -37
  1240. package/src/stories/Button.stories.tsx +0 -92
  1241. package/src/stories/ConfirmationDialog.stories.tsx +0 -105
  1242. package/src/stories/Dialog.stories.tsx +0 -240
  1243. package/src/stories/DropdownMenu.stories.tsx +0 -84
  1244. package/src/stories/IssueLabelToken.stories.tsx +0 -138
  1245. package/src/stories/NewButton.stories.tsx +0 -201
  1246. package/src/stories/Overlay.stories.tsx +0 -213
  1247. package/src/stories/Portal.stories.tsx +0 -109
  1248. package/src/stories/ProfileToken.stories.tsx +0 -129
  1249. package/src/stories/SelectPanel.stories.tsx +0 -353
  1250. package/src/stories/TextInput.stories.tsx +0 -113
  1251. package/src/stories/TextInputWithTokens.stories.tsx +0 -155
  1252. package/src/stories/ThemeProvider.stories.tsx +0 -104
  1253. package/src/stories/Token.stories.tsx +0 -137
  1254. package/src/stories/useAnchoredPosition.stories.tsx +0 -332
  1255. package/src/stories/useFocusTrap.stories.tsx +0 -400
  1256. package/src/stories/useFocusZone.stories.tsx +0 -663
  1257. package/src/sx.ts +0 -24
  1258. package/src/theme-preval.js +0 -80
  1259. package/src/theme.ts +0 -89
  1260. package/src/utils/create-slots.tsx +0 -96
  1261. package/src/utils/deprecate.tsx +0 -73
  1262. package/src/utils/isNumeric.tsx +0 -4
  1263. package/src/utils/iterateFocusableElements.ts +0 -121
  1264. package/src/utils/ssr.tsx +0 -1
  1265. package/src/utils/test-deprecations.tsx +0 -19
  1266. package/src/utils/test-helpers.tsx +0 -7
  1267. package/src/utils/test-matchers.tsx +0 -109
  1268. package/src/utils/testing.tsx +0 -242
  1269. package/src/utils/theme.js +0 -64
  1270. package/src/utils/types/AriaRole.ts +0 -71
  1271. package/src/utils/types/ComponentProps.ts +0 -13
  1272. package/src/utils/types/Flatten.ts +0 -4
  1273. package/src/utils/types/KeyPaths.ts +0 -10
  1274. package/src/utils/types/MandateProps.ts +0 -19
  1275. package/src/utils/types/Merge.ts +0 -20
  1276. package/src/utils/types/index.ts +0 -5
  1277. package/src/utils/uniqueId.ts +0 -6
  1278. package/src/utils/use-force-update.ts +0 -7
  1279. package/src/utils/useIsomorphicLayoutEffect.ts +0 -10
  1280. package/src/utils/userAgent.ts +0 -7
  1281. package/stats.html +0 -3279
  1282. package/tsconfig.base.json +0 -20
  1283. package/tsconfig.build.json +0 -7
  1284. package/tsconfig.json +0 -7
@@ -1,90 +1,100 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.focusZone = exports.hasActiveDescendantAttribute = exports.activeDescendantActivatedIndirectly = exports.activeDescendantActivatedDirectly = exports.isActiveDescendantAttribute = exports.FocusKeys = void 0;
4
- const iterateFocusableElements_1 = require("../utils/iterateFocusableElements");
5
- const eventListenerSignal_1 = require("../polyfills/eventListenerSignal");
6
- const userAgent_1 = require("../utils/userAgent");
7
- const uniqueId_1 = require("../utils/uniqueId");
8
- eventListenerSignal_1.polyfill();
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.focusZone = focusZone;
7
+ exports.hasActiveDescendantAttribute = exports.activeDescendantActivatedIndirectly = exports.activeDescendantActivatedDirectly = exports.isActiveDescendantAttribute = exports.FocusKeys = void 0;
8
+
9
+ var _iterateFocusableElements = require("../utils/iterateFocusableElements");
10
+
11
+ var _eventListenerSignal = require("../polyfills/eventListenerSignal");
12
+
13
+ var _userAgent = require("../utils/userAgent");
14
+
15
+ var _uniqueId = require("../utils/uniqueId");
16
+
17
+ (0, _eventListenerSignal.polyfill)();
9
18
  // eslint-disable-next-line no-shadow
10
- var FocusKeys;
19
+ let FocusKeys;
20
+ exports.FocusKeys = FocusKeys;
21
+
11
22
  (function (FocusKeys) {
12
- // Left and right arrow keys (previous and next, respectively)
13
- FocusKeys[FocusKeys["ArrowHorizontal"] = 1] = "ArrowHorizontal";
14
- // Up and down arrow keys (previous and next, respectively)
15
- FocusKeys[FocusKeys["ArrowVertical"] = 2] = "ArrowVertical";
16
- // The "J" and "K" keys (next and previous, respectively)
17
- FocusKeys[FocusKeys["JK"] = 4] = "JK";
18
- // The "H" and "L" keys (previous and next, respectively)
19
- FocusKeys[FocusKeys["HL"] = 8] = "HL";
20
- // The Home and End keys (previous and next, respectively, to end)
21
- FocusKeys[FocusKeys["HomeAndEnd"] = 16] = "HomeAndEnd";
22
- // The PgUp and PgDn keys (previous and next, respectively, to end)
23
- FocusKeys[FocusKeys["PageUpDown"] = 256] = "PageUpDown";
24
- // The "W" and "S" keys (previous and next, respectively)
25
- FocusKeys[FocusKeys["WS"] = 32] = "WS";
26
- // The "A" and "D" keys (previous and next, respectively)
27
- FocusKeys[FocusKeys["AD"] = 64] = "AD";
28
- // The Tab key (next)
29
- FocusKeys[FocusKeys["Tab"] = 128] = "Tab";
30
- FocusKeys[FocusKeys["ArrowAll"] = 3] = "ArrowAll";
31
- FocusKeys[FocusKeys["HJKL"] = 12] = "HJKL";
32
- FocusKeys[FocusKeys["WASD"] = 96] = "WASD";
33
- FocusKeys[FocusKeys["All"] = 511] = "All";
34
- })(FocusKeys = exports.FocusKeys || (exports.FocusKeys = {}));
23
+ FocusKeys[FocusKeys["ArrowHorizontal"] = 1] = "ArrowHorizontal";
24
+ FocusKeys[FocusKeys["ArrowVertical"] = 2] = "ArrowVertical";
25
+ FocusKeys[FocusKeys["JK"] = 4] = "JK";
26
+ FocusKeys[FocusKeys["HL"] = 8] = "HL";
27
+ FocusKeys[FocusKeys["HomeAndEnd"] = 16] = "HomeAndEnd";
28
+ FocusKeys[FocusKeys["PageUpDown"] = 256] = "PageUpDown";
29
+ FocusKeys[FocusKeys["WS"] = 32] = "WS";
30
+ FocusKeys[FocusKeys["AD"] = 64] = "AD";
31
+ FocusKeys[FocusKeys["Tab"] = 128] = "Tab";
32
+ FocusKeys[FocusKeys["ArrowAll"] = FocusKeys.ArrowHorizontal | FocusKeys.ArrowVertical] = "ArrowAll";
33
+ FocusKeys[FocusKeys["HJKL"] = FocusKeys.HL | FocusKeys.JK] = "HJKL";
34
+ FocusKeys[FocusKeys["WASD"] = FocusKeys.WS | FocusKeys.AD] = "WASD";
35
+ FocusKeys[FocusKeys["All"] = FocusKeys.ArrowAll | FocusKeys.HJKL | FocusKeys.HomeAndEnd | FocusKeys.PageUpDown | FocusKeys.WASD | FocusKeys.Tab] = "All";
36
+ })(FocusKeys || (exports.FocusKeys = FocusKeys = {}));
37
+
35
38
  const KEY_TO_BIT = {
36
- ArrowLeft: FocusKeys.ArrowHorizontal,
37
- ArrowDown: FocusKeys.ArrowVertical,
38
- ArrowUp: FocusKeys.ArrowVertical,
39
- ArrowRight: FocusKeys.ArrowHorizontal,
40
- h: FocusKeys.HL,
41
- j: FocusKeys.JK,
42
- k: FocusKeys.JK,
43
- l: FocusKeys.HL,
44
- a: FocusKeys.AD,
45
- s: FocusKeys.WS,
46
- w: FocusKeys.WS,
47
- d: FocusKeys.AD,
48
- Tab: FocusKeys.Tab,
49
- Home: FocusKeys.HomeAndEnd,
50
- End: FocusKeys.HomeAndEnd,
51
- PageUp: FocusKeys.PageUpDown,
52
- PageDown: FocusKeys.PageUpDown
39
+ ArrowLeft: FocusKeys.ArrowHorizontal,
40
+ ArrowDown: FocusKeys.ArrowVertical,
41
+ ArrowUp: FocusKeys.ArrowVertical,
42
+ ArrowRight: FocusKeys.ArrowHorizontal,
43
+ h: FocusKeys.HL,
44
+ j: FocusKeys.JK,
45
+ k: FocusKeys.JK,
46
+ l: FocusKeys.HL,
47
+ a: FocusKeys.AD,
48
+ s: FocusKeys.WS,
49
+ w: FocusKeys.WS,
50
+ d: FocusKeys.AD,
51
+ Tab: FocusKeys.Tab,
52
+ Home: FocusKeys.HomeAndEnd,
53
+ End: FocusKeys.HomeAndEnd,
54
+ PageUp: FocusKeys.PageUpDown,
55
+ PageDown: FocusKeys.PageUpDown
53
56
  };
54
57
  const KEY_TO_DIRECTION = {
55
- ArrowLeft: 'previous',
56
- ArrowDown: 'next',
57
- ArrowUp: 'previous',
58
- ArrowRight: 'next',
59
- h: 'previous',
60
- j: 'next',
61
- k: 'previous',
62
- l: 'next',
63
- a: 'previous',
64
- s: 'next',
65
- w: 'previous',
66
- d: 'next',
67
- Tab: 'next',
68
- Home: 'start',
69
- End: 'end',
70
- PageUp: 'start',
71
- PageDown: 'end'
58
+ ArrowLeft: 'previous',
59
+ ArrowDown: 'next',
60
+ ArrowUp: 'previous',
61
+ ArrowRight: 'next',
62
+ h: 'previous',
63
+ j: 'next',
64
+ k: 'previous',
65
+ l: 'next',
66
+ a: 'previous',
67
+ s: 'next',
68
+ w: 'previous',
69
+ d: 'next',
70
+ Tab: 'next',
71
+ Home: 'start',
72
+ End: 'end',
73
+ PageUp: 'start',
74
+ PageDown: 'end'
72
75
  };
76
+ /**
77
+ * Options that control the behavior of the arrow focus behavior.
78
+ */
79
+
73
80
  function getDirection(keyboardEvent) {
74
- const direction = KEY_TO_DIRECTION[keyboardEvent.key];
75
- if (keyboardEvent.key === 'Tab' && keyboardEvent.shiftKey) {
76
- return 'previous';
77
- }
78
- const isMac = userAgent_1.isMacOS();
79
- if ((isMac && keyboardEvent.metaKey) || (!isMac && keyboardEvent.ctrlKey)) {
80
- if (keyboardEvent.key === 'ArrowLeft' || keyboardEvent.key === 'ArrowUp') {
81
- return 'start';
82
- }
83
- else if (keyboardEvent.key === 'ArrowRight' || keyboardEvent.key === 'ArrowDown') {
84
- return 'end';
85
- }
81
+ const direction = KEY_TO_DIRECTION[keyboardEvent.key];
82
+
83
+ if (keyboardEvent.key === 'Tab' && keyboardEvent.shiftKey) {
84
+ return 'previous';
85
+ }
86
+
87
+ const isMac = (0, _userAgent.isMacOS)();
88
+
89
+ if (isMac && keyboardEvent.metaKey || !isMac && keyboardEvent.ctrlKey) {
90
+ if (keyboardEvent.key === 'ArrowLeft' || keyboardEvent.key === 'ArrowUp') {
91
+ return 'start';
92
+ } else if (keyboardEvent.key === 'ArrowRight' || keyboardEvent.key === 'ArrowDown') {
93
+ return 'end';
86
94
  }
87
- return direction;
95
+ }
96
+
97
+ return direction;
88
98
  }
89
99
  /**
90
100
  * There are some situations where we do not want various keys to affect focus. This function
@@ -99,405 +109,470 @@ function getDirection(keyboardEvent) {
99
109
  * @param keyboardEvent
100
110
  * @param activeElement
101
111
  */
112
+
113
+
102
114
  function shouldIgnoreFocusHandling(keyboardEvent, activeElement) {
103
- const key = keyboardEvent.key;
104
- // Get the number of characters in `key`, accounting for double-wide UTF-16 chars. If keyLength
105
- // is 1, we can assume it's a "printable" character. Otherwise it's likely a control character.
106
- // One exception is the Tab key, which is technically printable, but browsers generally assign
107
- // its function to move focus rather than type a <TAB> character.
108
- const keyLength = [...key].length;
109
- const isTextInput = (activeElement instanceof HTMLInputElement && activeElement.type === 'text') ||
110
- activeElement instanceof HTMLTextAreaElement;
111
- // If we would normally type a character into an input, ignore
112
- // Also, Home and End keys should never affect focus when in a text input
113
- if (isTextInput && (keyLength === 1 || key === 'Home' || key === 'End')) {
114
- return true;
115
+ const key = keyboardEvent.key; // Get the number of characters in `key`, accounting for double-wide UTF-16 chars. If keyLength
116
+ // is 1, we can assume it's a "printable" character. Otherwise it's likely a control character.
117
+ // One exception is the Tab key, which is technically printable, but browsers generally assign
118
+ // its function to move focus rather than type a <TAB> character.
119
+
120
+ const keyLength = [...key].length;
121
+ const isTextInput = activeElement instanceof HTMLInputElement && activeElement.type === 'text' || activeElement instanceof HTMLTextAreaElement; // If we would normally type a character into an input, ignore
122
+ // Also, Home and End keys should never affect focus when in a text input
123
+
124
+ if (isTextInput && (keyLength === 1 || key === 'Home' || key === 'End')) {
125
+ return true;
126
+ } // Some situations we want to ignore with <select> elements
127
+
128
+
129
+ if (activeElement instanceof HTMLSelectElement) {
130
+ // Regular typeable characters change the selection, so ignore those
131
+ if (keyLength === 1) {
132
+ return true;
133
+ } // On macOS, bare ArrowDown opens the select, so ignore that
134
+
135
+
136
+ if (key === 'ArrowDown' && (0, _userAgent.isMacOS)() && !keyboardEvent.metaKey) {
137
+ return true;
138
+ } // On other platforms, Alt+ArrowDown opens the select, so ignore that
139
+
140
+
141
+ if (key === 'ArrowDown' && !(0, _userAgent.isMacOS)() && keyboardEvent.altKey) {
142
+ return true;
115
143
  }
116
- // Some situations we want to ignore with <select> elements
117
- if (activeElement instanceof HTMLSelectElement) {
118
- // Regular typeable characters change the selection, so ignore those
119
- if (keyLength === 1) {
120
- return true;
121
- }
122
- // On macOS, bare ArrowDown opens the select, so ignore that
123
- if (key === 'ArrowDown' && userAgent_1.isMacOS() && !keyboardEvent.metaKey) {
124
- return true;
125
- }
126
- // On other platforms, Alt+ArrowDown opens the select, so ignore that
127
- if (key === 'ArrowDown' && !userAgent_1.isMacOS() && keyboardEvent.altKey) {
128
- return true;
129
- }
144
+ } // Ignore page up and page down for textareas
145
+
146
+
147
+ if (activeElement instanceof HTMLTextAreaElement && (key === 'PageUp' || key === 'PageDown')) {
148
+ return true;
149
+ }
150
+
151
+ if (isTextInput) {
152
+ const textInput = activeElement;
153
+ const cursorAtStart = textInput.selectionStart === 0 && textInput.selectionEnd === 0;
154
+ const cursorAtEnd = textInput.selectionStart === textInput.value.length && textInput.selectionEnd === textInput.value.length; // When in a text area or text input, only move focus left/right if at beginning/end of the field
155
+
156
+ if (key === 'ArrowLeft' && !cursorAtStart) {
157
+ return true;
130
158
  }
131
- // Ignore page up and page down for textareas
132
- if (activeElement instanceof HTMLTextAreaElement && (key === 'PageUp' || key === 'PageDown')) {
159
+
160
+ if (key === 'ArrowRight' && !cursorAtEnd) {
161
+ return true;
162
+ } // When in a text area, only move focus up/down if at beginning/end of the field
163
+
164
+
165
+ if (textInput instanceof HTMLTextAreaElement) {
166
+ if (key === 'ArrowUp' && !cursorAtStart) {
133
167
  return true;
168
+ }
169
+
170
+ if (key === 'ArrowDown' && !cursorAtEnd) {
171
+ return true;
172
+ }
134
173
  }
135
- if (isTextInput) {
136
- const textInput = activeElement;
137
- const cursorAtStart = textInput.selectionStart === 0 && textInput.selectionEnd === 0;
138
- const cursorAtEnd = textInput.selectionStart === textInput.value.length && textInput.selectionEnd === textInput.value.length;
139
- // When in a text area or text input, only move focus left/right if at beginning/end of the field
140
- if (key === 'ArrowLeft' && !cursorAtStart) {
141
- return true;
142
- }
143
- if (key === 'ArrowRight' && !cursorAtEnd) {
144
- return true;
145
- }
146
- // When in a text area, only move focus up/down if at beginning/end of the field
147
- if (textInput instanceof HTMLTextAreaElement) {
148
- if (key === 'ArrowUp' && !cursorAtStart) {
149
- return true;
150
- }
151
- if (key === 'ArrowDown' && !cursorAtEnd) {
152
- return true;
153
- }
154
- }
155
- }
156
- return false;
174
+ }
175
+
176
+ return false;
157
177
  }
158
- exports.isActiveDescendantAttribute = 'data-is-active-descendant';
178
+
179
+ const isActiveDescendantAttribute = 'data-is-active-descendant';
159
180
  /**
160
181
  * A value of activated-directly for data-is-active-descendant indicates the descendant was activated
161
182
  * by a manual user interaction with intent to move active descendant. This usually translates to the
162
183
  * user pressing one of the bound keys (up/down arrow, etc) to move through the focus zone. This is
163
184
  * intended to be roughly equivalent to the :focus-visible pseudo-class
164
185
  **/
165
- exports.activeDescendantActivatedDirectly = 'activated-directly';
186
+
187
+ exports.isActiveDescendantAttribute = isActiveDescendantAttribute;
188
+ const activeDescendantActivatedDirectly = 'activated-directly';
166
189
  /**
167
190
  * A value of activated-indirectly for data-is-active-descendant indicates the descendant was activated
168
191
  * implicitly, and not by a direct key press. This includes focus zone being created from scratch, focusable
169
192
  * elements being added/removed, and mouseover events. This is intended to be roughly equivalent
170
193
  * to :focus:not(:focus-visible)
171
194
  **/
172
- exports.activeDescendantActivatedIndirectly = 'activated-indirectly';
173
- exports.hasActiveDescendantAttribute = 'data-has-active-descendant';
195
+
196
+ exports.activeDescendantActivatedDirectly = activeDescendantActivatedDirectly;
197
+ const activeDescendantActivatedIndirectly = 'activated-indirectly';
198
+ exports.activeDescendantActivatedIndirectly = activeDescendantActivatedIndirectly;
199
+ const hasActiveDescendantAttribute = 'data-has-active-descendant';
174
200
  /**
175
201
  * Sets up the arrow key focus behavior for all focusable elements in the given `container`.
176
202
  * @param container
177
203
  * @param settings
178
204
  * @returns
179
205
  */
206
+
207
+ exports.hasActiveDescendantAttribute = hasActiveDescendantAttribute;
208
+
180
209
  function focusZone(container, settings) {
181
- const focusableElements = [];
182
- const savedTabIndex = new WeakMap();
183
- const bindKeys = settings?.bindKeys ??
184
- (settings?.getNextFocusable ? FocusKeys.ArrowAll : FocusKeys.ArrowVertical) | FocusKeys.HomeAndEnd;
185
- const focusOutBehavior = settings?.focusOutBehavior ?? 'stop';
186
- const focusInStrategy = settings?.focusInStrategy ?? 'previous';
187
- const activeDescendantControl = settings?.activeDescendantControl;
188
- const activeDescendantCallback = settings?.onActiveDescendantChanged;
189
- let currentFocusedElement;
190
- function getFirstFocusableElement() {
191
- return focusableElements[0];
210
+ var _settings$bindKeys, _settings$focusOutBeh, _settings$focusInStra, _settings$abortSignal;
211
+
212
+ const focusableElements = [];
213
+ const savedTabIndex = new WeakMap();
214
+ const bindKeys = (_settings$bindKeys = settings === null || settings === void 0 ? void 0 : settings.bindKeys) !== null && _settings$bindKeys !== void 0 ? _settings$bindKeys : (settings !== null && settings !== void 0 && settings.getNextFocusable ? FocusKeys.ArrowAll : FocusKeys.ArrowVertical) | FocusKeys.HomeAndEnd;
215
+ const focusOutBehavior = (_settings$focusOutBeh = settings === null || settings === void 0 ? void 0 : settings.focusOutBehavior) !== null && _settings$focusOutBeh !== void 0 ? _settings$focusOutBeh : 'stop';
216
+ const focusInStrategy = (_settings$focusInStra = settings === null || settings === void 0 ? void 0 : settings.focusInStrategy) !== null && _settings$focusInStra !== void 0 ? _settings$focusInStra : 'previous';
217
+ const activeDescendantControl = settings === null || settings === void 0 ? void 0 : settings.activeDescendantControl;
218
+ const activeDescendantCallback = settings === null || settings === void 0 ? void 0 : settings.onActiveDescendantChanged;
219
+ let currentFocusedElement;
220
+
221
+ function getFirstFocusableElement() {
222
+ return focusableElements[0];
223
+ }
224
+
225
+ function isActiveDescendantInputFocused() {
226
+ return document.activeElement === activeDescendantControl;
227
+ }
228
+
229
+ function updateFocusedElement(to, directlyActivated = false) {
230
+ const from = currentFocusedElement;
231
+ currentFocusedElement = to;
232
+
233
+ if (activeDescendantControl) {
234
+ if (to && isActiveDescendantInputFocused()) {
235
+ setActiveDescendant(from, to, directlyActivated);
236
+ } else {
237
+ clearActiveDescendant();
238
+ }
239
+
240
+ return;
192
241
  }
193
- function isActiveDescendantInputFocused() {
194
- return document.activeElement === activeDescendantControl;
242
+
243
+ if (from && from !== to && savedTabIndex.has(from)) {
244
+ from.setAttribute('tabindex', '-1');
195
245
  }
196
- function updateFocusedElement(to, directlyActivated = false) {
197
- const from = currentFocusedElement;
198
- currentFocusedElement = to;
199
- if (activeDescendantControl) {
200
- if (to && isActiveDescendantInputFocused()) {
201
- setActiveDescendant(from, to, directlyActivated);
202
- }
203
- else {
204
- clearActiveDescendant();
205
- }
206
- return;
207
- }
208
- if (from && from !== to && savedTabIndex.has(from)) {
209
- from.setAttribute('tabindex', '-1');
210
- }
211
- to?.setAttribute('tabindex', '0');
246
+
247
+ to === null || to === void 0 ? void 0 : to.setAttribute('tabindex', '0');
248
+ }
249
+
250
+ function setActiveDescendant(from, to, directlyActivated = false) {
251
+ if (!to.id) {
252
+ to.setAttribute('id', (0, _uniqueId.uniqueId)());
212
253
  }
213
- function setActiveDescendant(from, to, directlyActivated = false) {
214
- if (!to.id) {
215
- to.setAttribute('id', uniqueId_1.uniqueId());
216
- }
217
- if (from && from !== to) {
218
- from.removeAttribute(exports.isActiveDescendantAttribute);
219
- }
220
- if (!activeDescendantControl ||
221
- (!directlyActivated && activeDescendantControl.getAttribute('aria-activedescendant') === to.id)) {
222
- // prevent active descendant callback from being called repeatedly if the same element is activated (e.g. via mousemove)
223
- return;
224
- }
225
- activeDescendantControl.setAttribute('aria-activedescendant', to.id);
226
- container.setAttribute(exports.hasActiveDescendantAttribute, to.id);
227
- to.setAttribute(exports.isActiveDescendantAttribute, directlyActivated ? exports.activeDescendantActivatedDirectly : exports.activeDescendantActivatedIndirectly);
228
- activeDescendantCallback?.(to, from, directlyActivated);
254
+
255
+ if (from && from !== to) {
256
+ from.removeAttribute(isActiveDescendantAttribute);
229
257
  }
230
- function clearActiveDescendant(previouslyActiveElement = currentFocusedElement) {
231
- if (focusInStrategy === 'first') {
232
- currentFocusedElement = undefined;
233
- }
234
- activeDescendantControl?.removeAttribute('aria-activedescendant');
235
- container.removeAttribute(exports.hasActiveDescendantAttribute);
236
- previouslyActiveElement?.removeAttribute(exports.isActiveDescendantAttribute);
237
- activeDescendantCallback?.(undefined, previouslyActiveElement, false);
258
+
259
+ if (!activeDescendantControl || !directlyActivated && activeDescendantControl.getAttribute('aria-activedescendant') === to.id) {
260
+ // prevent active descendant callback from being called repeatedly if the same element is activated (e.g. via mousemove)
261
+ return;
238
262
  }
239
- function beginFocusManagement(...elements) {
240
- const filteredElements = elements.filter(e => settings?.focusableElementFilter?.(e) ?? true);
241
- if (filteredElements.length === 0) {
242
- return;
243
- }
244
- // Insert all elements atomically. Assume that all passed elements are well-ordered.
245
- const insertIndex = focusableElements.findIndex(e => (e.compareDocumentPosition(filteredElements[0]) & Node.DOCUMENT_POSITION_PRECEDING) > 0);
246
- focusableElements.splice(insertIndex === -1 ? focusableElements.length : insertIndex, 0, ...filteredElements);
247
- for (const element of filteredElements) {
248
- // Set tabindex="-1" on all tabbable elements, but save the original
249
- // value in case we need to disable the behavior
250
- if (!savedTabIndex.has(element)) {
251
- savedTabIndex.set(element, element.getAttribute('tabindex'));
252
- }
253
- element.setAttribute('tabindex', '-1');
254
- }
255
- if (!currentFocusedElement) {
256
- updateFocusedElement(getFirstFocusableElement());
257
- }
263
+
264
+ activeDescendantControl.setAttribute('aria-activedescendant', to.id);
265
+ container.setAttribute(hasActiveDescendantAttribute, to.id);
266
+ to.setAttribute(isActiveDescendantAttribute, directlyActivated ? activeDescendantActivatedDirectly : activeDescendantActivatedIndirectly);
267
+ activeDescendantCallback === null || activeDescendantCallback === void 0 ? void 0 : activeDescendantCallback(to, from, directlyActivated);
268
+ }
269
+
270
+ function clearActiveDescendant(previouslyActiveElement = currentFocusedElement) {
271
+ if (focusInStrategy === 'first') {
272
+ currentFocusedElement = undefined;
258
273
  }
259
- function endFocusManagement(...elements) {
260
- for (const element of elements) {
261
- const focusableElementIndex = focusableElements.indexOf(element);
262
- if (focusableElementIndex >= 0) {
263
- focusableElements.splice(focusableElementIndex, 1);
264
- }
265
- const savedIndex = savedTabIndex.get(element);
266
- if (savedIndex !== undefined) {
267
- if (savedIndex === null) {
268
- element.removeAttribute('tabindex');
269
- }
270
- else {
271
- element.setAttribute('tabindex', savedIndex);
272
- }
273
- savedTabIndex.delete(element);
274
- }
275
- // If removing the last-focused element, move focus to the first element in the list.
276
- if (element === currentFocusedElement) {
277
- const nextElementToFocus = getFirstFocusableElement();
278
- updateFocusedElement(nextElementToFocus);
279
- }
274
+
275
+ activeDescendantControl === null || activeDescendantControl === void 0 ? void 0 : activeDescendantControl.removeAttribute('aria-activedescendant');
276
+ container.removeAttribute(hasActiveDescendantAttribute);
277
+ previouslyActiveElement === null || previouslyActiveElement === void 0 ? void 0 : previouslyActiveElement.removeAttribute(isActiveDescendantAttribute);
278
+ activeDescendantCallback === null || activeDescendantCallback === void 0 ? void 0 : activeDescendantCallback(undefined, previouslyActiveElement, false);
279
+ }
280
+
281
+ function beginFocusManagement(...elements) {
282
+ const filteredElements = elements.filter(e => {
283
+ var _settings$focusableEl, _settings$focusableEl2;
284
+
285
+ return (_settings$focusableEl = settings === null || settings === void 0 ? void 0 : (_settings$focusableEl2 = settings.focusableElementFilter) === null || _settings$focusableEl2 === void 0 ? void 0 : _settings$focusableEl2.call(settings, e)) !== null && _settings$focusableEl !== void 0 ? _settings$focusableEl : true;
286
+ });
287
+
288
+ if (filteredElements.length === 0) {
289
+ return;
290
+ } // Insert all elements atomically. Assume that all passed elements are well-ordered.
291
+
292
+
293
+ const insertIndex = focusableElements.findIndex(e => (e.compareDocumentPosition(filteredElements[0]) & Node.DOCUMENT_POSITION_PRECEDING) > 0);
294
+ focusableElements.splice(insertIndex === -1 ? focusableElements.length : insertIndex, 0, ...filteredElements);
295
+
296
+ for (const element of filteredElements) {
297
+ // Set tabindex="-1" on all tabbable elements, but save the original
298
+ // value in case we need to disable the behavior
299
+ if (!savedTabIndex.has(element)) {
300
+ savedTabIndex.set(element, element.getAttribute('tabindex'));
301
+ }
302
+
303
+ element.setAttribute('tabindex', '-1');
304
+ }
305
+
306
+ if (!currentFocusedElement) {
307
+ updateFocusedElement(getFirstFocusableElement());
308
+ }
309
+ }
310
+
311
+ function endFocusManagement(...elements) {
312
+ for (const element of elements) {
313
+ const focusableElementIndex = focusableElements.indexOf(element);
314
+
315
+ if (focusableElementIndex >= 0) {
316
+ focusableElements.splice(focusableElementIndex, 1);
317
+ }
318
+
319
+ const savedIndex = savedTabIndex.get(element);
320
+
321
+ if (savedIndex !== undefined) {
322
+ if (savedIndex === null) {
323
+ element.removeAttribute('tabindex');
324
+ } else {
325
+ element.setAttribute('tabindex', savedIndex);
280
326
  }
327
+
328
+ savedTabIndex.delete(element);
329
+ } // If removing the last-focused element, move focus to the first element in the list.
330
+
331
+
332
+ if (element === currentFocusedElement) {
333
+ const nextElementToFocus = getFirstFocusableElement();
334
+ updateFocusedElement(nextElementToFocus);
335
+ }
281
336
  }
282
- // Take all tabbable elements within container under management
283
- beginFocusManagement(...iterateFocusableElements_1.iterateFocusableElements(container));
284
- // Open the first tabbable element for tabbing
285
- updateFocusedElement(getFirstFocusableElement());
286
- // If the DOM structure of the container changes, make sure we keep our state up-to-date
287
- // with respect to the focusable elements cache and its order
288
- const observer = new MutationObserver(mutations => {
289
- // Perform all removals first, in case element order has simply changed
290
- for (const mutation of mutations) {
291
- for (const removedNode of mutation.removedNodes) {
292
- if (removedNode instanceof HTMLElement) {
293
- endFocusManagement(...iterateFocusableElements_1.iterateFocusableElements(removedNode));
294
- }
295
- }
337
+ } // Take all tabbable elements within container under management
338
+
339
+
340
+ beginFocusManagement(...(0, _iterateFocusableElements.iterateFocusableElements)(container)); // Open the first tabbable element for tabbing
341
+
342
+ updateFocusedElement(getFirstFocusableElement()); // If the DOM structure of the container changes, make sure we keep our state up-to-date
343
+ // with respect to the focusable elements cache and its order
344
+
345
+ const observer = new MutationObserver(mutations => {
346
+ // Perform all removals first, in case element order has simply changed
347
+ for (const mutation of mutations) {
348
+ for (const removedNode of mutation.removedNodes) {
349
+ if (removedNode instanceof HTMLElement) {
350
+ endFocusManagement(...(0, _iterateFocusableElements.iterateFocusableElements)(removedNode));
296
351
  }
297
- for (const mutation of mutations) {
298
- for (const addedNode of mutation.addedNodes) {
299
- if (addedNode instanceof HTMLElement) {
300
- beginFocusManagement(...iterateFocusableElements_1.iterateFocusableElements(addedNode));
301
- }
302
- }
352
+ }
353
+ }
354
+
355
+ for (const mutation of mutations) {
356
+ for (const addedNode of mutation.addedNodes) {
357
+ if (addedNode instanceof HTMLElement) {
358
+ beginFocusManagement(...(0, _iterateFocusableElements.iterateFocusableElements)(addedNode));
303
359
  }
360
+ }
361
+ }
362
+ });
363
+ observer.observe(container, {
364
+ subtree: true,
365
+ childList: true
366
+ });
367
+ const controller = new AbortController();
368
+ const signal = (_settings$abortSignal = settings === null || settings === void 0 ? void 0 : settings.abortSignal) !== null && _settings$abortSignal !== void 0 ? _settings$abortSignal : controller.signal;
369
+ signal.addEventListener('abort', () => {
370
+ // Clean up any modifications
371
+ endFocusManagement(...focusableElements);
372
+ });
373
+ let elementIndexFocusedByClick = undefined;
374
+ container.addEventListener('mousedown', event => {
375
+ // Since focusin is only called when focus changes, we need to make sure the clicked
376
+ // element isn't already focused.
377
+ if (event.target instanceof HTMLElement && event.target !== document.activeElement) {
378
+ elementIndexFocusedByClick = focusableElements.indexOf(event.target);
379
+ }
380
+ }, {
381
+ signal
382
+ });
383
+
384
+ if (activeDescendantControl) {
385
+ container.addEventListener('focusin', event => {
386
+ if (event.target instanceof HTMLElement && focusableElements.includes(event.target)) {
387
+ // Move focus to the activeDescendantControl if one of the descendants is focused
388
+ activeDescendantControl.focus();
389
+ updateFocusedElement(event.target);
390
+ }
304
391
  });
305
- observer.observe(container, {
306
- subtree: true,
307
- childList: true
392
+ container.addEventListener('mousemove', ({
393
+ target
394
+ }) => {
395
+ if (!(target instanceof Node)) {
396
+ return;
397
+ }
398
+
399
+ const focusableElement = focusableElements.find(element => element.contains(target));
400
+
401
+ if (focusableElement) {
402
+ updateFocusedElement(focusableElement);
403
+ }
404
+ }, {
405
+ signal,
406
+ capture: true
407
+ }); // Listeners specifically on the controlling element
408
+
409
+ activeDescendantControl.addEventListener('focusin', () => {
410
+ // Focus moved into the active descendant input. Activate current or first descendant.
411
+ if (!currentFocusedElement) {
412
+ updateFocusedElement(getFirstFocusableElement());
413
+ } else {
414
+ setActiveDescendant(undefined, currentFocusedElement);
415
+ }
308
416
  });
309
- const controller = new AbortController();
310
- const signal = settings?.abortSignal ?? controller.signal;
311
- signal.addEventListener('abort', () => {
312
- // Clean up any modifications
313
- endFocusManagement(...focusableElements);
417
+ activeDescendantControl.addEventListener('focusout', () => {
418
+ clearActiveDescendant();
314
419
  });
315
- let elementIndexFocusedByClick = undefined;
316
- container.addEventListener('mousedown', event => {
317
- // Since focusin is only called when focus changes, we need to make sure the clicked
318
- // element isn't already focused.
319
- if (event.target instanceof HTMLElement && event.target !== document.activeElement) {
320
- elementIndexFocusedByClick = focusableElements.indexOf(event.target);
321
- }
322
- }, { signal });
323
- if (activeDescendantControl) {
324
- container.addEventListener('focusin', event => {
325
- if (event.target instanceof HTMLElement && focusableElements.includes(event.target)) {
326
- // Move focus to the activeDescendantControl if one of the descendants is focused
327
- activeDescendantControl.focus();
328
- updateFocusedElement(event.target);
329
- }
330
- });
331
- container.addEventListener('mousemove', ({ target }) => {
332
- if (!(target instanceof Node)) {
333
- return;
334
- }
335
- const focusableElement = focusableElements.find(element => element.contains(target));
336
- if (focusableElement) {
337
- updateFocusedElement(focusableElement);
420
+ } else {
421
+ // This is called whenever focus enters an element in the container
422
+ container.addEventListener('focusin', event => {
423
+ if (event.target instanceof HTMLElement) {
424
+ // If a click initiated the focus movement, we always want to set our internal state
425
+ // to reflect the clicked element as the currently focused one.
426
+ if (elementIndexFocusedByClick !== undefined) {
427
+ if (elementIndexFocusedByClick >= 0) {
428
+ if (focusableElements[elementIndexFocusedByClick] !== currentFocusedElement) {
429
+ updateFocusedElement(focusableElements[elementIndexFocusedByClick]);
338
430
  }
339
- }, { signal, capture: true });
340
- // Listeners specifically on the controlling element
341
- activeDescendantControl.addEventListener('focusin', () => {
342
- // Focus moved into the active descendant input. Activate current or first descendant.
343
- if (!currentFocusedElement) {
344
- updateFocusedElement(getFirstFocusableElement());
431
+ }
432
+
433
+ elementIndexFocusedByClick = undefined;
434
+ } else {
435
+ // Set tab indexes and internal state based on the focus handling strategy
436
+ if (focusInStrategy === 'previous') {
437
+ updateFocusedElement(event.target);
438
+ } else if (focusInStrategy === 'closest' || focusInStrategy === 'first') {
439
+ if (event.relatedTarget instanceof Element && !container.contains(event.relatedTarget)) {
440
+ // Regardless of the previously focused element, if we're coming from outside the
441
+ // container, put focus onto the first encountered element (from above, it's The
442
+ // first element of the container; from below, it's the last). If the
443
+ // focusInStrategy is set to "first", lastKeyboardFocusDirection will always
444
+ // be undefined.
445
+ const targetElementIndex = lastKeyboardFocusDirection === 'previous' ? focusableElements.length - 1 : 0;
446
+ const targetElement = focusableElements[targetElementIndex];
447
+ targetElement === null || targetElement === void 0 ? void 0 : targetElement.focus();
448
+ return;
449
+ } else {
450
+ updateFocusedElement(event.target);
345
451
  }
346
- else {
347
- setActiveDescendant(undefined, currentFocusedElement);
452
+ } else if (typeof focusInStrategy === 'function') {
453
+ if (event.relatedTarget instanceof Element && !container.contains(event.relatedTarget)) {
454
+ const elementToFocus = focusInStrategy(event.relatedTarget);
455
+ const requestedFocusElementIndex = elementToFocus ? focusableElements.indexOf(elementToFocus) : -1;
456
+
457
+ if (requestedFocusElementIndex >= 0 && elementToFocus instanceof HTMLElement) {
458
+ // Since we are calling focus() this handler will run again synchronously. Therefore,
459
+ // we don't want to let this invocation finish since it will clobber the value of
460
+ // currentFocusedElement.
461
+ elementToFocus.focus();
462
+ return;
463
+ } else {
464
+ // eslint-disable-next-line no-console
465
+ console.warn('Element requested is not a known focusable element.');
466
+ }
467
+ } else {
468
+ updateFocusedElement(event.target);
348
469
  }
349
- });
350
- activeDescendantControl.addEventListener('focusout', () => {
351
- clearActiveDescendant();
352
- });
470
+ }
471
+ }
472
+ }
473
+
474
+ lastKeyboardFocusDirection = undefined;
475
+ }, {
476
+ signal
477
+ });
478
+ }
479
+
480
+ const keyboardEventRecipient = activeDescendantControl !== null && activeDescendantControl !== void 0 ? activeDescendantControl : container; // If the strategy is "closest", we need to capture the direction that the user
481
+ // is trying to move focus before our focusin handler is executed.
482
+
483
+ let lastKeyboardFocusDirection = undefined;
484
+
485
+ if (focusInStrategy === 'closest') {
486
+ document.addEventListener('keydown', event => {
487
+ if (event.key === 'Tab') {
488
+ lastKeyboardFocusDirection = getDirection(event);
489
+ }
490
+ }, {
491
+ signal,
492
+ capture: true
493
+ });
494
+ }
495
+
496
+ function getCurrentFocusedIndex() {
497
+ if (!currentFocusedElement) {
498
+ return 0;
353
499
  }
354
- else {
355
- // This is called whenever focus enters an element in the container
356
- container.addEventListener('focusin', event => {
357
- if (event.target instanceof HTMLElement) {
358
- // If a click initiated the focus movement, we always want to set our internal state
359
- // to reflect the clicked element as the currently focused one.
360
- if (elementIndexFocusedByClick !== undefined) {
361
- if (elementIndexFocusedByClick >= 0) {
362
- if (focusableElements[elementIndexFocusedByClick] !== currentFocusedElement) {
363
- updateFocusedElement(focusableElements[elementIndexFocusedByClick]);
364
- }
365
- }
366
- elementIndexFocusedByClick = undefined;
367
- }
368
- else {
369
- // Set tab indexes and internal state based on the focus handling strategy
370
- if (focusInStrategy === 'previous') {
371
- updateFocusedElement(event.target);
372
- }
373
- else if (focusInStrategy === 'closest' || focusInStrategy === 'first') {
374
- if (event.relatedTarget instanceof Element && !container.contains(event.relatedTarget)) {
375
- // Regardless of the previously focused element, if we're coming from outside the
376
- // container, put focus onto the first encountered element (from above, it's The
377
- // first element of the container; from below, it's the last). If the
378
- // focusInStrategy is set to "first", lastKeyboardFocusDirection will always
379
- // be undefined.
380
- const targetElementIndex = lastKeyboardFocusDirection === 'previous' ? focusableElements.length - 1 : 0;
381
- const targetElement = focusableElements[targetElementIndex];
382
- targetElement?.focus();
383
- return;
384
- }
385
- else {
386
- updateFocusedElement(event.target);
387
- }
388
- }
389
- else if (typeof focusInStrategy === 'function') {
390
- if (event.relatedTarget instanceof Element && !container.contains(event.relatedTarget)) {
391
- const elementToFocus = focusInStrategy(event.relatedTarget);
392
- const requestedFocusElementIndex = elementToFocus ? focusableElements.indexOf(elementToFocus) : -1;
393
- if (requestedFocusElementIndex >= 0 && elementToFocus instanceof HTMLElement) {
394
- // Since we are calling focus() this handler will run again synchronously. Therefore,
395
- // we don't want to let this invocation finish since it will clobber the value of
396
- // currentFocusedElement.
397
- elementToFocus.focus();
398
- return;
399
- }
400
- else {
401
- // eslint-disable-next-line no-console
402
- console.warn('Element requested is not a known focusable element.');
403
- }
404
- }
405
- else {
406
- updateFocusedElement(event.target);
407
- }
408
- }
409
- }
500
+
501
+ const focusedIndex = focusableElements.indexOf(currentFocusedElement);
502
+ const fallbackIndex = currentFocusedElement === container ? -1 : 0;
503
+ return focusedIndex !== -1 ? focusedIndex : fallbackIndex;
504
+ } // "keydown" is the event that triggers DOM focus change, so that is what we use here
505
+
506
+
507
+ keyboardEventRecipient.addEventListener('keydown', event => {
508
+ if (event.key in KEY_TO_DIRECTION) {
509
+ const keyBit = KEY_TO_BIT[event.key]; // Check if the pressed key (keyBit) is one that is being used for focus (bindKeys)
510
+
511
+ if (!event.defaultPrevented && (keyBit & bindKeys) > 0 && !shouldIgnoreFocusHandling(event, document.activeElement)) {
512
+ // Moving forward or backward?
513
+ const direction = getDirection(event);
514
+ let nextElementToFocus = undefined; // If there is a custom function that retrieves the next focusable element, try calling that first.
515
+
516
+ if (settings !== null && settings !== void 0 && settings.getNextFocusable) {
517
+ var _document$activeEleme;
518
+
519
+ nextElementToFocus = settings.getNextFocusable(direction, (_document$activeEleme = document.activeElement) !== null && _document$activeEleme !== void 0 ? _document$activeEleme : undefined, event);
520
+ }
521
+
522
+ if (!nextElementToFocus) {
523
+ const lastFocusedIndex = getCurrentFocusedIndex();
524
+ let nextFocusedIndex = lastFocusedIndex;
525
+
526
+ if (direction === 'previous') {
527
+ nextFocusedIndex -= 1;
528
+ } else if (direction === 'start') {
529
+ nextFocusedIndex = 0;
530
+ } else if (direction === 'next') {
531
+ nextFocusedIndex += 1;
532
+ } else {
533
+ // end
534
+ nextFocusedIndex = focusableElements.length - 1;
535
+ }
536
+
537
+ if (nextFocusedIndex < 0) {
538
+ // Tab should never cause focus to wrap. Use focusTrap for that behavior.
539
+ if (focusOutBehavior === 'wrap' && event.key !== 'Tab') {
540
+ nextFocusedIndex = focusableElements.length - 1;
541
+ } else {
542
+ nextFocusedIndex = 0;
410
543
  }
411
- lastKeyboardFocusDirection = undefined;
412
- }, { signal });
413
- }
414
- const keyboardEventRecipient = activeDescendantControl ?? container;
415
- // If the strategy is "closest", we need to capture the direction that the user
416
- // is trying to move focus before our focusin handler is executed.
417
- let lastKeyboardFocusDirection = undefined;
418
- if (focusInStrategy === 'closest') {
419
- document.addEventListener('keydown', event => {
420
- if (event.key === 'Tab') {
421
- lastKeyboardFocusDirection = getDirection(event);
544
+ }
545
+
546
+ if (nextFocusedIndex >= focusableElements.length) {
547
+ if (focusOutBehavior === 'wrap' && event.key !== 'Tab') {
548
+ nextFocusedIndex = 0;
549
+ } else {
550
+ nextFocusedIndex = focusableElements.length - 1;
422
551
  }
423
- }, { signal, capture: true });
424
- }
425
- function getCurrentFocusedIndex() {
426
- if (!currentFocusedElement) {
427
- return 0;
552
+ }
553
+
554
+ if (lastFocusedIndex !== nextFocusedIndex) {
555
+ nextElementToFocus = focusableElements[nextFocusedIndex];
556
+ }
428
557
  }
429
- const focusedIndex = focusableElements.indexOf(currentFocusedElement);
430
- const fallbackIndex = currentFocusedElement === container ? -1 : 0;
431
- return focusedIndex !== -1 ? focusedIndex : fallbackIndex;
432
- }
433
- // "keydown" is the event that triggers DOM focus change, so that is what we use here
434
- keyboardEventRecipient.addEventListener('keydown', event => {
435
- if (event.key in KEY_TO_DIRECTION) {
436
- const keyBit = KEY_TO_BIT[event.key];
437
- // Check if the pressed key (keyBit) is one that is being used for focus (bindKeys)
438
- if (!event.defaultPrevented &&
439
- (keyBit & bindKeys) > 0 &&
440
- !shouldIgnoreFocusHandling(event, document.activeElement)) {
441
- // Moving forward or backward?
442
- const direction = getDirection(event);
443
- let nextElementToFocus = undefined;
444
- // If there is a custom function that retrieves the next focusable element, try calling that first.
445
- if (settings?.getNextFocusable) {
446
- nextElementToFocus = settings.getNextFocusable(direction, document.activeElement ?? undefined, event);
447
- }
448
- if (!nextElementToFocus) {
449
- const lastFocusedIndex = getCurrentFocusedIndex();
450
- let nextFocusedIndex = lastFocusedIndex;
451
- if (direction === 'previous') {
452
- nextFocusedIndex -= 1;
453
- }
454
- else if (direction === 'start') {
455
- nextFocusedIndex = 0;
456
- }
457
- else if (direction === 'next') {
458
- nextFocusedIndex += 1;
459
- }
460
- else {
461
- // end
462
- nextFocusedIndex = focusableElements.length - 1;
463
- }
464
- if (nextFocusedIndex < 0) {
465
- // Tab should never cause focus to wrap. Use focusTrap for that behavior.
466
- if (focusOutBehavior === 'wrap' && event.key !== 'Tab') {
467
- nextFocusedIndex = focusableElements.length - 1;
468
- }
469
- else {
470
- nextFocusedIndex = 0;
471
- }
472
- }
473
- if (nextFocusedIndex >= focusableElements.length) {
474
- if (focusOutBehavior === 'wrap' && event.key !== 'Tab') {
475
- nextFocusedIndex = 0;
476
- }
477
- else {
478
- nextFocusedIndex = focusableElements.length - 1;
479
- }
480
- }
481
- if (lastFocusedIndex !== nextFocusedIndex) {
482
- nextElementToFocus = focusableElements[nextFocusedIndex];
483
- }
484
- }
485
- if (activeDescendantControl) {
486
- updateFocusedElement(nextElementToFocus || currentFocusedElement, true);
487
- }
488
- else if (nextElementToFocus) {
489
- lastKeyboardFocusDirection = direction;
490
- // updateFocusedElement will be called implicitly when focus moves, as long as the event isn't prevented somehow
491
- nextElementToFocus.focus();
492
- }
493
- // Tab should always allow escaping from this container, so only
494
- // preventDefault if tab key press already resulted in a focus movement
495
- if (event.key !== 'Tab' || nextElementToFocus) {
496
- event.preventDefault();
497
- }
498
- }
558
+
559
+ if (activeDescendantControl) {
560
+ updateFocusedElement(nextElementToFocus || currentFocusedElement, true);
561
+ } else if (nextElementToFocus) {
562
+ lastKeyboardFocusDirection = direction; // updateFocusedElement will be called implicitly when focus moves, as long as the event isn't prevented somehow
563
+
564
+ nextElementToFocus.focus();
565
+ } // Tab should always allow escaping from this container, so only
566
+ // preventDefault if tab key press already resulted in a focus movement
567
+
568
+
569
+ if (event.key !== 'Tab' || nextElementToFocus) {
570
+ event.preventDefault();
499
571
  }
500
- }, { signal });
501
- return controller;
502
- }
503
- exports.focusZone = focusZone;
572
+ }
573
+ }
574
+ }, {
575
+ signal
576
+ });
577
+ return controller;
578
+ }