@primer/components 32.0.1-rc.c4c2c50a → 32.0.1

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