@primer/components 29.0.0-rc.f749c85e → 29.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (856) hide show
  1. package/CHANGELOG.md +13 -1
  2. package/dist/browser.esm.js +240 -194
  3. package/dist/browser.esm.js.map +1 -1
  4. package/dist/browser.umd.js +339 -293
  5. package/dist/browser.umd.js.map +1 -1
  6. package/lib/ActionList/Divider.js +1 -1
  7. package/lib/ActionList/Header.js +2 -2
  8. package/lib/ActionList/Item.js +10 -10
  9. package/lib/ActionList/List.js +1 -1
  10. package/lib/AvatarPair.js +1 -1
  11. package/lib/AvatarStack.js +1 -1
  12. package/lib/BranchName.js +1 -1
  13. package/lib/Breadcrumb.js +2 -2
  14. package/lib/Button/Button.js +1 -1
  15. package/lib/Button/ButtonClose.js +1 -1
  16. package/lib/Button/ButtonInvisible.js +1 -1
  17. package/lib/Button/ButtonTableList.js +1 -1
  18. package/lib/CircleBadge.js +1 -1
  19. package/lib/CircleOcticon.js +1 -1
  20. package/lib/CounterLabel.js +2 -2
  21. package/lib/Dialog/ConfirmationDialog.js +1 -1
  22. package/lib/Dialog/Dialog.js +5 -5
  23. package/lib/Dialog.js +4 -4
  24. package/lib/Dropdown.js +2 -2
  25. package/lib/DropdownStyles.js +6 -6
  26. package/lib/FilterList.js +1 -1
  27. package/lib/FilteredActionList/FilteredActionList.js +2 -2
  28. package/lib/Flash.js +1 -1
  29. package/lib/Label.js +2 -2
  30. package/lib/Link.js +1 -1
  31. package/lib/Overlay.js +1 -1
  32. package/lib/Pagehead.js +1 -1
  33. package/lib/Pagination/Pagination.js +1 -1
  34. package/lib/Popover.js +1 -1
  35. package/lib/ProgressBar.js +1 -1
  36. package/lib/SelectMenu/SelectMenuDivider.js +1 -1
  37. package/lib/SelectMenu/SelectMenuFilter.js +1 -1
  38. package/lib/SelectMenu/SelectMenuFooter.js +1 -1
  39. package/lib/SelectMenu/SelectMenuHeader.js +2 -2
  40. package/lib/SelectMenu/SelectMenuItem.js +1 -1
  41. package/lib/SelectMenu/SelectMenuList.js +1 -1
  42. package/lib/SelectMenu/SelectMenuLoadingAnimation.js +1 -1
  43. package/lib/SelectMenu/SelectMenuModal.js +2 -2
  44. package/lib/SelectMenu/SelectMenuTab.js +1 -1
  45. package/lib/SelectMenu/SelectMenuTabPanel.js +1 -1
  46. package/lib/SideNav.js +5 -5
  47. package/lib/StateLabel.js +1 -1
  48. package/lib/SubNav.js +1 -1
  49. package/lib/TabNav.js +2 -2
  50. package/lib/TextInput.js +2 -2
  51. package/lib/Timeline.js +16 -19
  52. package/lib/Tooltip.js +1 -1
  53. package/lib/UnderlineNav.js +2 -2
  54. package/lib/theme-preval.d.ts +12 -6
  55. package/lib/theme-preval.js +2930 -1738
  56. package/lib/utils/testing.d.ts +4707 -2355
  57. package/lib-esm/ActionList/Divider.js +1 -1
  58. package/lib-esm/ActionList/Header.js +2 -2
  59. package/lib-esm/ActionList/Item.js +10 -10
  60. package/lib-esm/ActionList/List.js +1 -1
  61. package/lib-esm/AvatarPair.js +1 -1
  62. package/lib-esm/AvatarStack.js +1 -1
  63. package/lib-esm/BranchName.js +1 -1
  64. package/lib-esm/Breadcrumb.js +2 -2
  65. package/lib-esm/Button/Button.js +1 -1
  66. package/lib-esm/Button/ButtonClose.js +1 -1
  67. package/lib-esm/Button/ButtonInvisible.js +1 -1
  68. package/lib-esm/Button/ButtonTableList.js +1 -1
  69. package/lib-esm/CircleBadge.js +1 -1
  70. package/lib-esm/CircleOcticon.js +1 -1
  71. package/lib-esm/CounterLabel.js +2 -2
  72. package/lib-esm/Dialog/ConfirmationDialog.js +1 -1
  73. package/lib-esm/Dialog/Dialog.js +5 -5
  74. package/lib-esm/Dialog.js +4 -4
  75. package/lib-esm/Dropdown.js +2 -2
  76. package/lib-esm/DropdownStyles.js +6 -6
  77. package/lib-esm/FilterList.js +1 -1
  78. package/lib-esm/FilteredActionList/FilteredActionList.js +2 -2
  79. package/lib-esm/Flash.js +1 -1
  80. package/lib-esm/Label.js +2 -2
  81. package/lib-esm/Link.js +1 -1
  82. package/lib-esm/Overlay.js +1 -1
  83. package/lib-esm/Pagehead.js +1 -1
  84. package/lib-esm/Pagination/Pagination.js +1 -1
  85. package/lib-esm/Popover.js +1 -1
  86. package/lib-esm/ProgressBar.js +1 -1
  87. package/lib-esm/SelectMenu/SelectMenuDivider.js +1 -1
  88. package/lib-esm/SelectMenu/SelectMenuFilter.js +1 -1
  89. package/lib-esm/SelectMenu/SelectMenuFooter.js +1 -1
  90. package/lib-esm/SelectMenu/SelectMenuHeader.js +2 -2
  91. package/lib-esm/SelectMenu/SelectMenuItem.js +1 -1
  92. package/lib-esm/SelectMenu/SelectMenuList.js +1 -1
  93. package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.js +1 -1
  94. package/lib-esm/SelectMenu/SelectMenuModal.js +2 -2
  95. package/lib-esm/SelectMenu/SelectMenuTab.js +1 -1
  96. package/lib-esm/SelectMenu/SelectMenuTabPanel.js +1 -1
  97. package/lib-esm/SideNav.js +5 -5
  98. package/lib-esm/StateLabel.js +1 -1
  99. package/lib-esm/SubNav.js +1 -1
  100. package/lib-esm/TabNav.js +2 -2
  101. package/lib-esm/TextInput.js +2 -2
  102. package/lib-esm/Timeline.js +12 -17
  103. package/lib-esm/Tooltip.js +1 -1
  104. package/lib-esm/UnderlineNav.js +2 -2
  105. package/lib-esm/theme-preval.d.ts +12 -6
  106. package/lib-esm/theme-preval.js +2930 -1738
  107. package/lib-esm/utils/testing.d.ts +4707 -2355
  108. package/package.json +3 -2
  109. package/.changeset/README.md +0 -8
  110. package/.changeset/config.json +0 -10
  111. package/.devcontainer/devcontainer.json +0 -8
  112. package/.eslintrc.json +0 -105
  113. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
  114. package/.github/ISSUE_TEMPLATE/new_component_proposal_template.md +0 -41
  115. package/.github/dependabot.yml +0 -18
  116. package/.github/pull_request_template.md +0 -18
  117. package/.github/workflows/ci.yml +0 -31
  118. package/.github/workflows/deploy_preview.yml +0 -47
  119. package/.github/workflows/deploy_production.yml +0 -70
  120. package/.github/workflows/release.yml +0 -35
  121. package/.github/workflows/release_canary.yml +0 -70
  122. package/.github/workflows/release_candidate.yml +0 -60
  123. package/.github/workflows/size.yml +0 -13
  124. package/.github/workflows/stale.yml +0 -26
  125. package/.gitignore +0 -10
  126. package/.npmrc +0 -4
  127. package/.nvmrc +0 -1
  128. package/.storybook/main.js +0 -11
  129. package/.storybook/preview.js +0 -11
  130. package/.vscode/launch.json +0 -21
  131. package/.vscode/settings.json +0 -13
  132. package/@types/@styled-system/index.d.ts +0 -0
  133. package/@types/@styled-system/prop-types/index.d.ts +0 -1
  134. package/@types/@styled-system/props/index.d.ts +0 -1
  135. package/@types/jest-styled-components/index.d.ts +0 -1
  136. package/CODEOWNERS +0 -2
  137. package/babel-defines.js +0 -13
  138. package/babel.config.js +0 -39
  139. package/contributor-docs/CODE_OF_CONDUCT.md +0 -76
  140. package/contributor-docs/CONTRIBUTING.md +0 -274
  141. package/contributor-docs/adrs/adr-001-typescript.md +0 -23
  142. package/contributor-docs/adrs/adr-002-behavior-isolation.md +0 -106
  143. package/contributor-docs/behaviors.md +0 -132
  144. package/contributor-docs/component-contents-api-patterns.md +0 -315
  145. package/contributor-docs/principles.md +0 -39
  146. package/docs/.eslintrc +0 -0
  147. package/docs/.gitignore +0 -91
  148. package/docs/components/PropsList.js +0 -5
  149. package/docs/components/State.js +0 -9
  150. package/docs/components/constants.js +0 -34
  151. package/docs/components/index.js +0 -2
  152. package/docs/content/ActionList.mdx +0 -72
  153. package/docs/content/ActionMenu.mdx +0 -80
  154. package/docs/content/AnchoredOverlay.mdx +0 -35
  155. package/docs/content/Avatar.mdx +0 -33
  156. package/docs/content/AvatarStack.mdx +0 -43
  157. package/docs/content/BorderBox.md +0 -46
  158. package/docs/content/Box.md +0 -74
  159. package/docs/content/BranchName.md +0 -18
  160. package/docs/content/Breadcrumbs.md +0 -52
  161. package/docs/content/Buttons.md +0 -54
  162. package/docs/content/CircleBadge.md +0 -45
  163. package/docs/content/CircleOcticon.md +0 -18
  164. package/docs/content/CounterLabel.md +0 -30
  165. package/docs/content/Details.md +0 -105
  166. package/docs/content/Dialog.md +0 -108
  167. package/docs/content/Dialog2.mdx +0 -179
  168. package/docs/content/Dropdown.md +0 -72
  169. package/docs/content/DropdownMenu.mdx +0 -49
  170. package/docs/content/FilterList.md +0 -44
  171. package/docs/content/FilteredSearch.md +0 -39
  172. package/docs/content/Flash.md +0 -42
  173. package/docs/content/Flex.md +0 -58
  174. package/docs/content/FormGroup.md +0 -44
  175. package/docs/content/Grid.md +0 -59
  176. package/docs/content/Header.md +0 -79
  177. package/docs/content/Heading.md +0 -22
  178. package/docs/content/Label.md +0 -40
  179. package/docs/content/LabelGroup.md +0 -31
  180. package/docs/content/Link.md +0 -37
  181. package/docs/content/Overlay.mdx +0 -90
  182. package/docs/content/Pagehead.md +0 -27
  183. package/docs/content/Pagination.md +0 -187
  184. package/docs/content/PointerBox.md +0 -81
  185. package/docs/content/Popover.md +0 -137
  186. package/docs/content/Portal.mdx +0 -71
  187. package/docs/content/Position.md +0 -97
  188. package/docs/content/ProgressBar.mdx +0 -29
  189. package/docs/content/SelectMenu.md +0 -433
  190. package/docs/content/SelectPanel.mdx +0 -67
  191. package/docs/content/SideNav.md +0 -179
  192. package/docs/content/Spinner.mdx +0 -32
  193. package/docs/content/StateLabel.md +0 -33
  194. package/docs/content/StyledOcticon.md +0 -34
  195. package/docs/content/SubNav.md +0 -102
  196. package/docs/content/TabNav.md +0 -50
  197. package/docs/content/Text.md +0 -29
  198. package/docs/content/TextInput.md +0 -32
  199. package/docs/content/Timeline.md +0 -138
  200. package/docs/content/Tooltip.md +0 -41
  201. package/docs/content/Truncate.md +0 -65
  202. package/docs/content/UnderlineNav.md +0 -53
  203. package/docs/content/anchoredPosition.mdx +0 -163
  204. package/docs/content/core-concepts.md +0 -70
  205. package/docs/content/focusTrap.mdx +0 -103
  206. package/docs/content/focusZone.mdx +0 -145
  207. package/docs/content/getting-started.md +0 -134
  208. package/docs/content/index.md +0 -33
  209. package/docs/content/linting.md +0 -35
  210. package/docs/content/overriding-styles.mdx +0 -80
  211. package/docs/content/philosophy.md +0 -23
  212. package/docs/content/primer-theme.md +0 -89
  213. package/docs/content/ssr.mdx +0 -41
  214. package/docs/content/system-props.mdx +0 -37
  215. package/docs/content/theme-reference.md +0 -8
  216. package/docs/content/theming.md +0 -250
  217. package/docs/content/useOnEscapePress.mdx +0 -56
  218. package/docs/content/useOnOutsideClick.mdx +0 -57
  219. package/docs/content/useOpenAndCloseFocus.mdx +0 -49
  220. package/docs/content/useOverlay.mdx +0 -62
  221. package/docs/content/useSafeTimeout.mdx +0 -32
  222. package/docs/gatsby-config.js +0 -30
  223. package/docs/gatsby-node.js +0 -101
  224. package/docs/package-lock.json +0 -20979
  225. package/docs/package.json +0 -35
  226. package/docs/src/@primer/gatsby-theme-doctocat/components/hero.js +0 -21
  227. package/docs/src/@primer/gatsby-theme-doctocat/components/live-code.js +0 -84
  228. package/docs/src/@primer/gatsby-theme-doctocat/components/live-preview-wrapper.js +0 -39
  229. package/docs/src/@primer/gatsby-theme-doctocat/components/nav-dropdown.js +0 -48
  230. package/docs/src/@primer/gatsby-theme-doctocat/components/wrap-page-element.js +0 -25
  231. package/docs/src/@primer/gatsby-theme-doctocat/live-code-scope.js +0 -54
  232. package/docs/src/@primer/gatsby-theme-doctocat/nav.yml +0 -132
  233. package/docs/src/@primer/gatsby-theme-doctocat/primer-components-hero.svg +0 -1411
  234. package/docs/src/props.js +0 -77
  235. package/jest.config.js +0 -13
  236. package/lib/__tests__/ActionList.d.ts +0 -1
  237. package/lib/__tests__/ActionList.js +0 -67
  238. package/lib/__tests__/ActionMenu.d.ts +0 -1
  239. package/lib/__tests__/ActionMenu.js +0 -154
  240. package/lib/__tests__/AnchoredOverlay.d.ts +0 -1
  241. package/lib/__tests__/AnchoredOverlay.js +0 -161
  242. package/lib/__tests__/Avatar.d.ts +0 -1
  243. package/lib/__tests__/Avatar.js +0 -70
  244. package/lib/__tests__/AvatarStack.d.ts +0 -1
  245. package/lib/__tests__/AvatarStack.js +0 -71
  246. package/lib/__tests__/BorderBox.d.ts +0 -1
  247. package/lib/__tests__/BorderBox.js +0 -61
  248. package/lib/__tests__/Box.d.ts +0 -1
  249. package/lib/__tests__/Box.js +0 -81
  250. package/lib/__tests__/BranchName.d.ts +0 -1
  251. package/lib/__tests__/BranchName.js +0 -39
  252. package/lib/__tests__/Breadcrumb.d.ts +0 -1
  253. package/lib/__tests__/Breadcrumb.js +0 -42
  254. package/lib/__tests__/BreadcrumbItem.d.ts +0 -1
  255. package/lib/__tests__/BreadcrumbItem.js +0 -52
  256. package/lib/__tests__/Button.d.ts +0 -1
  257. package/lib/__tests__/Button.js +0 -152
  258. package/lib/__tests__/Caret.d.ts +0 -1
  259. package/lib/__tests__/Caret.js +0 -52
  260. package/lib/__tests__/CircleBadge.d.ts +0 -1
  261. package/lib/__tests__/CircleBadge.js +0 -87
  262. package/lib/__tests__/CircleOcticon.d.ts +0 -1
  263. package/lib/__tests__/CircleOcticon.js +0 -74
  264. package/lib/__tests__/CounterLabel.d.ts +0 -1
  265. package/lib/__tests__/CounterLabel.js +0 -61
  266. package/lib/__tests__/Details.d.ts +0 -1
  267. package/lib/__tests__/Details.js +0 -120
  268. package/lib/__tests__/Dialog.d.ts +0 -1
  269. package/lib/__tests__/Dialog.js +0 -188
  270. package/lib/__tests__/Dropdown.d.ts +0 -1
  271. package/lib/__tests__/Dropdown.js +0 -70
  272. package/lib/__tests__/DropdownMenu.d.ts +0 -1
  273. package/lib/__tests__/DropdownMenu.js +0 -153
  274. package/lib/__tests__/FilterList.d.ts +0 -1
  275. package/lib/__tests__/FilterList.js +0 -39
  276. package/lib/__tests__/FilterListItem.d.ts +0 -1
  277. package/lib/__tests__/FilterListItem.js +0 -49
  278. package/lib/__tests__/FilteredSearch.d.ts +0 -1
  279. package/lib/__tests__/FilteredSearch.js +0 -39
  280. package/lib/__tests__/Flash.d.ts +0 -1
  281. package/lib/__tests__/Flash.js +0 -65
  282. package/lib/__tests__/Flex.d.ts +0 -1
  283. package/lib/__tests__/Flex.js +0 -77
  284. package/lib/__tests__/FormGroup.d.ts +0 -1
  285. package/lib/__tests__/FormGroup.js +0 -58
  286. package/lib/__tests__/Grid.d.ts +0 -1
  287. package/lib/__tests__/Grid.js +0 -107
  288. package/lib/__tests__/Header.d.ts +0 -1
  289. package/lib/__tests__/Header.js +0 -63
  290. package/lib/__tests__/Heading.d.ts +0 -1
  291. package/lib/__tests__/Heading.js +0 -112
  292. package/lib/__tests__/Label.d.ts +0 -1
  293. package/lib/__tests__/Label.js +0 -49
  294. package/lib/__tests__/LabelGroup.d.ts +0 -1
  295. package/lib/__tests__/LabelGroup.js +0 -41
  296. package/lib/__tests__/Link.d.ts +0 -1
  297. package/lib/__tests__/Link.js +0 -73
  298. package/lib/__tests__/Overlay.d.ts +0 -1
  299. package/lib/__tests__/Overlay.js +0 -145
  300. package/lib/__tests__/Pagehead.d.ts +0 -1
  301. package/lib/__tests__/Pagehead.js +0 -40
  302. package/lib/__tests__/Pagination/Pagination.d.ts +0 -1
  303. package/lib/__tests__/Pagination/Pagination.js +0 -50
  304. package/lib/__tests__/Pagination/PaginationModel.d.ts +0 -1
  305. package/lib/__tests__/Pagination/PaginationModel.js +0 -186
  306. package/lib/__tests__/PointerBox.d.ts +0 -1
  307. package/lib/__tests__/PointerBox.js +0 -49
  308. package/lib/__tests__/Popover.d.ts +0 -1
  309. package/lib/__tests__/Popover.js +0 -70
  310. package/lib/__tests__/Portal.d.ts +0 -1
  311. package/lib/__tests__/Portal.js +0 -124
  312. package/lib/__tests__/Position.d.ts +0 -1
  313. package/lib/__tests__/Position.js +0 -149
  314. package/lib/__tests__/ProgressBar.d.ts +0 -1
  315. package/lib/__tests__/ProgressBar.js +0 -71
  316. package/lib/__tests__/SelectMenu.d.ts +0 -1
  317. package/lib/__tests__/SelectMenu.js +0 -155
  318. package/lib/__tests__/SelectPanel.d.ts +0 -1
  319. package/lib/__tests__/SelectPanel.js +0 -83
  320. package/lib/__tests__/SideNav.d.ts +0 -1
  321. package/lib/__tests__/SideNav.js +0 -75
  322. package/lib/__tests__/Spinner.d.ts +0 -1
  323. package/lib/__tests__/Spinner.js +0 -56
  324. package/lib/__tests__/StateLabel.d.ts +0 -1
  325. package/lib/__tests__/StateLabel.js +0 -74
  326. package/lib/__tests__/StyledOcticon.d.ts +0 -1
  327. package/lib/__tests__/StyledOcticon.js +0 -43
  328. package/lib/__tests__/SubNav.d.ts +0 -1
  329. package/lib/__tests__/SubNav.js +0 -65
  330. package/lib/__tests__/SubNavLink.d.ts +0 -1
  331. package/lib/__tests__/SubNavLink.js +0 -52
  332. package/lib/__tests__/TabNav.d.ts +0 -1
  333. package/lib/__tests__/TabNav.js +0 -53
  334. package/lib/__tests__/Text.d.ts +0 -1
  335. package/lib/__tests__/Text.js +0 -108
  336. package/lib/__tests__/TextInput.d.ts +0 -1
  337. package/lib/__tests__/TextInput.js +0 -81
  338. package/lib/__tests__/ThemeProvider.d.ts +0 -1
  339. package/lib/__tests__/ThemeProvider.js +0 -444
  340. package/lib/__tests__/Timeline.d.ts +0 -1
  341. package/lib/__tests__/Timeline.js +0 -80
  342. package/lib/__tests__/Tooltip.d.ts +0 -1
  343. package/lib/__tests__/Tooltip.js +0 -72
  344. package/lib/__tests__/Truncate.d.ts +0 -1
  345. package/lib/__tests__/Truncate.js +0 -66
  346. package/lib/__tests__/UnderlineNav.d.ts +0 -1
  347. package/lib/__tests__/UnderlineNav.js +0 -75
  348. package/lib/__tests__/UnderlineNavLink.d.ts +0 -1
  349. package/lib/__tests__/UnderlineNavLink.js +0 -54
  350. package/lib/__tests__/behaviors/anchoredPosition.d.ts +0 -1
  351. package/lib/__tests__/behaviors/anchoredPosition.js +0 -390
  352. package/lib/__tests__/behaviors/focusTrap.d.ts +0 -1
  353. package/lib/__tests__/behaviors/focusTrap.js +0 -234
  354. package/lib/__tests__/behaviors/focusZone.d.ts +0 -1
  355. package/lib/__tests__/behaviors/focusZone.js +0 -570
  356. package/lib/__tests__/behaviors/iterateFocusableElements.d.ts +0 -1
  357. package/lib/__tests__/behaviors/iterateFocusableElements.js +0 -55
  358. package/lib/__tests__/filterObject.d.ts +0 -1
  359. package/lib/__tests__/filterObject.js +0 -30
  360. package/lib/__tests__/hooks/useAnchoredPosition.d.ts +0 -1
  361. package/lib/__tests__/hooks/useAnchoredPosition.js +0 -54
  362. package/lib/__tests__/hooks/useOnEscapePress.d.ts +0 -1
  363. package/lib/__tests__/hooks/useOnEscapePress.js +0 -32
  364. package/lib/__tests__/hooks/useOnOutsideClick.d.ts +0 -1
  365. package/lib/__tests__/hooks/useOnOutsideClick.js +0 -87
  366. package/lib/__tests__/hooks/useOpenAndCloseFocus.d.ts +0 -1
  367. package/lib/__tests__/hooks/useOpenAndCloseFocus.js +0 -60
  368. package/lib/__tests__/hooks/useProvidedStateOrCreate.d.ts +0 -1
  369. package/lib/__tests__/hooks/useProvidedStateOrCreate.js +0 -45
  370. package/lib/__tests__/theme.d.ts +0 -1
  371. package/lib/__tests__/theme.js +0 -36
  372. package/lib/__tests__/themeGet.d.ts +0 -1
  373. package/lib/__tests__/themeGet.js +0 -25
  374. package/lib/__tests__/useSafeTimeout.d.ts +0 -1
  375. package/lib/__tests__/useSafeTimeout.js +0 -45
  376. package/lib/stories/ActionList.stories.d.ts +0 -40
  377. package/lib/stories/ActionList.stories.js +0 -382
  378. package/lib/stories/ActionMenu.stories.d.ts +0 -29
  379. package/lib/stories/ActionMenu.stories.js +0 -338
  380. package/lib/stories/AnchoredOverlay.stories.d.ts +0 -6
  381. package/lib/stories/AnchoredOverlay.stories.js +0 -127
  382. package/lib/stories/AvatarStack.stories.d.ts +0 -8
  383. package/lib/stories/AvatarStack.stories.js +0 -49
  384. package/lib/stories/Button.stories.d.ts +0 -57
  385. package/lib/stories/Button.stories.js +0 -114
  386. package/lib/stories/ConfirmationDialog.stories.d.ts +0 -7
  387. package/lib/stories/ConfirmationDialog.stories.js +0 -111
  388. package/lib/stories/Dialog.stories.d.ts +0 -13
  389. package/lib/stories/Dialog.stories.js +0 -265
  390. package/lib/stories/DropdownMenu.stories.d.ts +0 -12
  391. package/lib/stories/DropdownMenu.stories.js +0 -122
  392. package/lib/stories/Overlay.stories.d.ts +0 -7
  393. package/lib/stories/Overlay.stories.js +0 -185
  394. package/lib/stories/Portal.stories.d.ts +0 -8
  395. package/lib/stories/Portal.stories.js +0 -104
  396. package/lib/stories/SelectPanel.stories.d.ts +0 -32
  397. package/lib/stories/SelectPanel.stories.js +0 -342
  398. package/lib/stories/ThemeProvider.stories.d.ts +0 -6
  399. package/lib/stories/ThemeProvider.stories.js +0 -102
  400. package/lib/stories/useAnchoredPosition.stories.d.ts +0 -8
  401. package/lib/stories/useAnchoredPosition.stories.js +0 -351
  402. package/lib/stories/useFocusTrap.stories.d.ts +0 -9
  403. package/lib/stories/useFocusTrap.stories.js +0 -356
  404. package/lib/stories/useFocusZone.stories.d.ts +0 -12
  405. package/lib/stories/useFocusZone.stories.js +0 -599
  406. package/lib-esm/__tests__/ActionList.d.ts +0 -1
  407. package/lib-esm/__tests__/ActionList.js +0 -54
  408. package/lib-esm/__tests__/ActionMenu.d.ts +0 -1
  409. package/lib-esm/__tests__/ActionMenu.js +0 -141
  410. package/lib-esm/__tests__/AnchoredOverlay.d.ts +0 -1
  411. package/lib-esm/__tests__/AnchoredOverlay.js +0 -135
  412. package/lib-esm/__tests__/Avatar.d.ts +0 -1
  413. package/lib-esm/__tests__/Avatar.js +0 -58
  414. package/lib-esm/__tests__/AvatarStack.d.ts +0 -1
  415. package/lib-esm/__tests__/AvatarStack.js +0 -57
  416. package/lib-esm/__tests__/BorderBox.d.ts +0 -1
  417. package/lib-esm/__tests__/BorderBox.js +0 -49
  418. package/lib-esm/__tests__/Box.d.ts +0 -1
  419. package/lib-esm/__tests__/Box.js +0 -69
  420. package/lib-esm/__tests__/BranchName.d.ts +0 -1
  421. package/lib-esm/__tests__/BranchName.js +0 -28
  422. package/lib-esm/__tests__/Breadcrumb.d.ts +0 -1
  423. package/lib-esm/__tests__/Breadcrumb.js +0 -31
  424. package/lib-esm/__tests__/BreadcrumbItem.d.ts +0 -1
  425. package/lib-esm/__tests__/BreadcrumbItem.js +0 -41
  426. package/lib-esm/__tests__/Button.d.ts +0 -1
  427. package/lib-esm/__tests__/Button.js +0 -141
  428. package/lib-esm/__tests__/Caret.d.ts +0 -1
  429. package/lib-esm/__tests__/Caret.js +0 -42
  430. package/lib-esm/__tests__/CircleBadge.d.ts +0 -1
  431. package/lib-esm/__tests__/CircleBadge.js +0 -73
  432. package/lib-esm/__tests__/CircleOcticon.d.ts +0 -1
  433. package/lib-esm/__tests__/CircleOcticon.js +0 -61
  434. package/lib-esm/__tests__/CounterLabel.d.ts +0 -1
  435. package/lib-esm/__tests__/CounterLabel.js +0 -49
  436. package/lib-esm/__tests__/Details.d.ts +0 -1
  437. package/lib-esm/__tests__/Details.js +0 -109
  438. package/lib-esm/__tests__/Dialog.d.ts +0 -1
  439. package/lib-esm/__tests__/Dialog.js +0 -174
  440. package/lib-esm/__tests__/Dropdown.d.ts +0 -1
  441. package/lib-esm/__tests__/Dropdown.js +0 -59
  442. package/lib-esm/__tests__/DropdownMenu.d.ts +0 -1
  443. package/lib-esm/__tests__/DropdownMenu.js +0 -139
  444. package/lib-esm/__tests__/FilterList.d.ts +0 -1
  445. package/lib-esm/__tests__/FilterList.js +0 -28
  446. package/lib-esm/__tests__/FilterListItem.d.ts +0 -1
  447. package/lib-esm/__tests__/FilterListItem.js +0 -38
  448. package/lib-esm/__tests__/FilteredSearch.d.ts +0 -1
  449. package/lib-esm/__tests__/FilteredSearch.js +0 -28
  450. package/lib-esm/__tests__/Flash.d.ts +0 -1
  451. package/lib-esm/__tests__/Flash.js +0 -53
  452. package/lib-esm/__tests__/Flex.d.ts +0 -1
  453. package/lib-esm/__tests__/Flex.js +0 -66
  454. package/lib-esm/__tests__/FormGroup.d.ts +0 -1
  455. package/lib-esm/__tests__/FormGroup.js +0 -47
  456. package/lib-esm/__tests__/Grid.d.ts +0 -1
  457. package/lib-esm/__tests__/Grid.js +0 -96
  458. package/lib-esm/__tests__/Header.d.ts +0 -1
  459. package/lib-esm/__tests__/Header.js +0 -52
  460. package/lib-esm/__tests__/Heading.d.ts +0 -1
  461. package/lib-esm/__tests__/Heading.js +0 -101
  462. package/lib-esm/__tests__/Label.d.ts +0 -1
  463. package/lib-esm/__tests__/Label.js +0 -38
  464. package/lib-esm/__tests__/LabelGroup.d.ts +0 -1
  465. package/lib-esm/__tests__/LabelGroup.js +0 -28
  466. package/lib-esm/__tests__/Link.d.ts +0 -1
  467. package/lib-esm/__tests__/Link.js +0 -62
  468. package/lib-esm/__tests__/Overlay.d.ts +0 -1
  469. package/lib-esm/__tests__/Overlay.js +0 -123
  470. package/lib-esm/__tests__/Pagehead.d.ts +0 -1
  471. package/lib-esm/__tests__/Pagehead.js +0 -28
  472. package/lib-esm/__tests__/Pagination/Pagination.d.ts +0 -1
  473. package/lib-esm/__tests__/Pagination/Pagination.js +0 -37
  474. package/lib-esm/__tests__/Pagination/PaginationModel.d.ts +0 -1
  475. package/lib-esm/__tests__/Pagination/PaginationModel.js +0 -182
  476. package/lib-esm/__tests__/PointerBox.d.ts +0 -1
  477. package/lib-esm/__tests__/PointerBox.js +0 -38
  478. package/lib-esm/__tests__/Popover.d.ts +0 -1
  479. package/lib-esm/__tests__/Popover.js +0 -56
  480. package/lib-esm/__tests__/Portal.d.ts +0 -1
  481. package/lib-esm/__tests__/Portal.js +0 -104
  482. package/lib-esm/__tests__/Position.d.ts +0 -1
  483. package/lib-esm/__tests__/Position.js +0 -138
  484. package/lib-esm/__tests__/ProgressBar.d.ts +0 -1
  485. package/lib-esm/__tests__/ProgressBar.js +0 -60
  486. package/lib-esm/__tests__/SelectMenu.d.ts +0 -1
  487. package/lib-esm/__tests__/SelectMenu.js +0 -145
  488. package/lib-esm/__tests__/SelectPanel.d.ts +0 -1
  489. package/lib-esm/__tests__/SelectPanel.js +0 -67
  490. package/lib-esm/__tests__/SideNav.d.ts +0 -1
  491. package/lib-esm/__tests__/SideNav.js +0 -63
  492. package/lib-esm/__tests__/Spinner.d.ts +0 -1
  493. package/lib-esm/__tests__/Spinner.js +0 -45
  494. package/lib-esm/__tests__/StateLabel.d.ts +0 -1
  495. package/lib-esm/__tests__/StateLabel.js +0 -63
  496. package/lib-esm/__tests__/StyledOcticon.d.ts +0 -1
  497. package/lib-esm/__tests__/StyledOcticon.js +0 -31
  498. package/lib-esm/__tests__/SubNav.d.ts +0 -1
  499. package/lib-esm/__tests__/SubNav.js +0 -52
  500. package/lib-esm/__tests__/SubNavLink.d.ts +0 -1
  501. package/lib-esm/__tests__/SubNavLink.js +0 -41
  502. package/lib-esm/__tests__/TabNav.d.ts +0 -1
  503. package/lib-esm/__tests__/TabNav.js +0 -42
  504. package/lib-esm/__tests__/Text.d.ts +0 -1
  505. package/lib-esm/__tests__/Text.js +0 -95
  506. package/lib-esm/__tests__/TextInput.d.ts +0 -1
  507. package/lib-esm/__tests__/TextInput.js +0 -70
  508. package/lib-esm/__tests__/ThemeProvider.d.ts +0 -1
  509. package/lib-esm/__tests__/ThemeProvider.js +0 -408
  510. package/lib-esm/__tests__/Timeline.d.ts +0 -1
  511. package/lib-esm/__tests__/Timeline.js +0 -69
  512. package/lib-esm/__tests__/Tooltip.d.ts +0 -1
  513. package/lib-esm/__tests__/Tooltip.js +0 -61
  514. package/lib-esm/__tests__/Truncate.d.ts +0 -1
  515. package/lib-esm/__tests__/Truncate.js +0 -55
  516. package/lib-esm/__tests__/UnderlineNav.d.ts +0 -1
  517. package/lib-esm/__tests__/UnderlineNav.js +0 -62
  518. package/lib-esm/__tests__/UnderlineNavLink.d.ts +0 -1
  519. package/lib-esm/__tests__/UnderlineNavLink.js +0 -43
  520. package/lib-esm/__tests__/behaviors/anchoredPosition.d.ts +0 -1
  521. package/lib-esm/__tests__/behaviors/anchoredPosition.js +0 -388
  522. package/lib-esm/__tests__/behaviors/focusTrap.d.ts +0 -1
  523. package/lib-esm/__tests__/behaviors/focusTrap.js +0 -227
  524. package/lib-esm/__tests__/behaviors/focusZone.d.ts +0 -1
  525. package/lib-esm/__tests__/behaviors/focusZone.js +0 -487
  526. package/lib-esm/__tests__/behaviors/iterateFocusableElements.d.ts +0 -1
  527. package/lib-esm/__tests__/behaviors/iterateFocusableElements.js +0 -48
  528. package/lib-esm/__tests__/filterObject.d.ts +0 -1
  529. package/lib-esm/__tests__/filterObject.js +0 -27
  530. package/lib-esm/__tests__/hooks/useAnchoredPosition.d.ts +0 -1
  531. package/lib-esm/__tests__/hooks/useAnchoredPosition.js +0 -46
  532. package/lib-esm/__tests__/hooks/useOnEscapePress.d.ts +0 -1
  533. package/lib-esm/__tests__/hooks/useOnEscapePress.js +0 -23
  534. package/lib-esm/__tests__/hooks/useOnOutsideClick.d.ts +0 -1
  535. package/lib-esm/__tests__/hooks/useOnOutsideClick.js +0 -68
  536. package/lib-esm/__tests__/hooks/useOpenAndCloseFocus.d.ts +0 -1
  537. package/lib-esm/__tests__/hooks/useOpenAndCloseFocus.js +0 -52
  538. package/lib-esm/__tests__/hooks/useProvidedStateOrCreate.d.ts +0 -1
  539. package/lib-esm/__tests__/hooks/useProvidedStateOrCreate.js +0 -36
  540. package/lib-esm/__tests__/theme.d.ts +0 -1
  541. package/lib-esm/__tests__/theme.js +0 -33
  542. package/lib-esm/__tests__/themeGet.d.ts +0 -1
  543. package/lib-esm/__tests__/themeGet.js +0 -22
  544. package/lib-esm/__tests__/useSafeTimeout.d.ts +0 -1
  545. package/lib-esm/__tests__/useSafeTimeout.js +0 -39
  546. package/lib-esm/stories/ActionList.stories.d.ts +0 -40
  547. package/lib-esm/stories/ActionList.stories.js +0 -334
  548. package/lib-esm/stories/ActionMenu.stories.d.ts +0 -29
  549. package/lib-esm/stories/ActionMenu.stories.js +0 -293
  550. package/lib-esm/stories/AnchoredOverlay.stories.d.ts +0 -6
  551. package/lib-esm/stories/AnchoredOverlay.stories.js +0 -101
  552. package/lib-esm/stories/AvatarStack.stories.d.ts +0 -8
  553. package/lib-esm/stories/AvatarStack.stories.js +0 -32
  554. package/lib-esm/stories/Button.stories.d.ts +0 -57
  555. package/lib-esm/stories/Button.stories.js +0 -78
  556. package/lib-esm/stories/ConfirmationDialog.stories.d.ts +0 -7
  557. package/lib-esm/stories/ConfirmationDialog.stories.js +0 -86
  558. package/lib-esm/stories/Dialog.stories.d.ts +0 -13
  559. package/lib-esm/stories/Dialog.stories.js +0 -240
  560. package/lib-esm/stories/DropdownMenu.stories.d.ts +0 -12
  561. package/lib-esm/stories/DropdownMenu.stories.js +0 -94
  562. package/lib-esm/stories/Overlay.stories.d.ts +0 -7
  563. package/lib-esm/stories/Overlay.stories.js +0 -154
  564. package/lib-esm/stories/Portal.stories.d.ts +0 -8
  565. package/lib-esm/stories/Portal.stories.js +0 -68
  566. package/lib-esm/stories/SelectPanel.stories.d.ts +0 -32
  567. package/lib-esm/stories/SelectPanel.stories.js +0 -284
  568. package/lib-esm/stories/ThemeProvider.stories.d.ts +0 -6
  569. package/lib-esm/stories/ThemeProvider.stories.js +0 -83
  570. package/lib-esm/stories/useAnchoredPosition.stories.d.ts +0 -8
  571. package/lib-esm/stories/useAnchoredPosition.stories.js +0 -313
  572. package/lib-esm/stories/useFocusTrap.stories.d.ts +0 -9
  573. package/lib-esm/stories/useFocusTrap.stories.js +0 -309
  574. package/lib-esm/stories/useFocusZone.stories.d.ts +0 -12
  575. package/lib-esm/stories/useFocusZone.stories.js +0 -554
  576. package/migrating.md +0 -250
  577. package/now.json +0 -17
  578. package/package-lock.json +0 -28656
  579. package/rollup.config.js +0 -36
  580. package/script/build +0 -19
  581. package/script/setup +0 -12
  582. package/src/ActionList/Divider.tsx +0 -25
  583. package/src/ActionList/Group.tsx +0 -45
  584. package/src/ActionList/Header.tsx +0 -74
  585. package/src/ActionList/Item.tsx +0 -460
  586. package/src/ActionList/List.tsx +0 -253
  587. package/src/ActionList/index.ts +0 -21
  588. package/src/ActionMenu.tsx +0 -106
  589. package/src/AnchoredOverlay/AnchoredOverlay.tsx +0 -180
  590. package/src/AnchoredOverlay/index.ts +0 -2
  591. package/src/Avatar.tsx +0 -46
  592. package/src/AvatarPair.tsx +0 -31
  593. package/src/AvatarStack.tsx +0 -161
  594. package/src/BaseStyles.tsx +0 -53
  595. package/src/BorderBox.tsx +0 -18
  596. package/src/Box.tsx +0 -54
  597. package/src/BranchName.tsx +0 -19
  598. package/src/Breadcrumb.tsx +0 -87
  599. package/src/Button/Button.tsx +0 -40
  600. package/src/Button/ButtonBase.tsx +0 -43
  601. package/src/Button/ButtonClose.tsx +0 -40
  602. package/src/Button/ButtonDanger.tsx +0 -43
  603. package/src/Button/ButtonGroup.tsx +0 -55
  604. package/src/Button/ButtonInvisible.tsx +0 -27
  605. package/src/Button/ButtonOutline.tsx +0 -43
  606. package/src/Button/ButtonPrimary.tsx +0 -41
  607. package/src/Button/ButtonStyles.tsx +0 -36
  608. package/src/Button/ButtonTableList.tsx +0 -58
  609. package/src/Button/index.ts +0 -16
  610. package/src/Caret.tsx +0 -133
  611. package/src/CircleBadge.tsx +0 -55
  612. package/src/CircleOcticon.tsx +0 -37
  613. package/src/CounterLabel.tsx +0 -52
  614. package/src/Details.tsx +0 -23
  615. package/src/Dialog/ConfirmationDialog.tsx +0 -184
  616. package/src/Dialog/Dialog.tsx +0 -419
  617. package/src/Dialog.tsx +0 -149
  618. package/src/Dropdown.tsx +0 -158
  619. package/src/DropdownMenu/DropdownButton.tsx +0 -15
  620. package/src/DropdownMenu/DropdownMenu.tsx +0 -115
  621. package/src/DropdownMenu/index.ts +0 -4
  622. package/src/DropdownStyles.ts +0 -128
  623. package/src/FilterList.tsx +0 -81
  624. package/src/FilteredActionList/FilteredActionList.tsx +0 -152
  625. package/src/FilteredActionList/index.ts +0 -2
  626. package/src/FilteredSearch.tsx +0 -28
  627. package/src/Flash.tsx +0 -77
  628. package/src/Flex.tsx +0 -15
  629. package/src/FormGroup.tsx +0 -27
  630. package/src/Grid.tsx +0 -15
  631. package/src/Header.tsx +0 -84
  632. package/src/Heading.tsx +0 -21
  633. package/src/Label.tsx +0 -75
  634. package/src/LabelGroup.tsx +0 -18
  635. package/src/Link.tsx +0 -46
  636. package/src/Overlay.tsx +0 -194
  637. package/src/Pagehead.tsx +0 -17
  638. package/src/Pagination/Pagination.tsx +0 -214
  639. package/src/Pagination/index.ts +0 -4
  640. package/src/Pagination/model.tsx +0 -187
  641. package/src/PointerBox.tsx +0 -31
  642. package/src/Popover.tsx +0 -236
  643. package/src/Portal/Portal.tsx +0 -96
  644. package/src/Portal/index.ts +0 -5
  645. package/src/Position.tsx +0 -63
  646. package/src/ProgressBar.tsx +0 -52
  647. package/src/SelectMenu/SelectMenu.tsx +0 -125
  648. package/src/SelectMenu/SelectMenuContext.tsx +0 -9
  649. package/src/SelectMenu/SelectMenuDivider.tsx +0 -25
  650. package/src/SelectMenu/SelectMenuFilter.tsx +0 -51
  651. package/src/SelectMenu/SelectMenuFooter.tsx +0 -28
  652. package/src/SelectMenu/SelectMenuHeader.tsx +0 -50
  653. package/src/SelectMenu/SelectMenuItem.tsx +0 -137
  654. package/src/SelectMenu/SelectMenuList.tsx +0 -42
  655. package/src/SelectMenu/SelectMenuLoadingAnimation.tsx +0 -24
  656. package/src/SelectMenu/SelectMenuModal.tsx +0 -121
  657. package/src/SelectMenu/SelectMenuTab.tsx +0 -88
  658. package/src/SelectMenu/SelectMenuTabPanel.tsx +0 -30
  659. package/src/SelectMenu/SelectMenuTabs.tsx +0 -44
  660. package/src/SelectMenu/hooks/useKeyboardNav.js +0 -90
  661. package/src/SelectMenu/index.ts +0 -15
  662. package/src/SelectPanel/SelectPanel.tsx +0 -173
  663. package/src/SelectPanel/index.ts +0 -2
  664. package/src/SideNav.tsx +0 -193
  665. package/src/Spinner.tsx +0 -59
  666. package/src/StateLabel.tsx +0 -110
  667. package/src/StyledOcticon.tsx +0 -24
  668. package/src/SubNav.tsx +0 -129
  669. package/src/TabNav.tsx +0 -77
  670. package/src/Text.tsx +0 -13
  671. package/src/TextInput.tsx +0 -183
  672. package/src/ThemeProvider.tsx +0 -176
  673. package/src/Timeline.tsx +0 -141
  674. package/src/Tooltip.tsx +0 -263
  675. package/src/Truncate.tsx +0 -36
  676. package/src/UnderlineNav.tsx +0 -110
  677. package/src/__tests__/.eslintrc.json +0 -11
  678. package/src/__tests__/ActionList.tsx +0 -49
  679. package/src/__tests__/ActionMenu.tsx +0 -138
  680. package/src/__tests__/AnchoredOverlay.tsx +0 -151
  681. package/src/__tests__/Avatar.tsx +0 -45
  682. package/src/__tests__/AvatarStack.tsx +0 -45
  683. package/src/__tests__/BorderBox.tsx +0 -44
  684. package/src/__tests__/Box.tsx +0 -43
  685. package/src/__tests__/BranchName.tsx +0 -27
  686. package/src/__tests__/Breadcrumb.tsx +0 -31
  687. package/src/__tests__/BreadcrumbItem.tsx +0 -32
  688. package/src/__tests__/Button.tsx +0 -129
  689. package/src/__tests__/Caret.tsx +0 -36
  690. package/src/__tests__/CircleBadge.tsx +0 -69
  691. package/src/__tests__/CircleOcticon.tsx +0 -52
  692. package/src/__tests__/CounterLabel.tsx +0 -51
  693. package/src/__tests__/Details.tsx +0 -116
  694. package/src/__tests__/Dialog.tsx +0 -157
  695. package/src/__tests__/Dropdown.tsx +0 -57
  696. package/src/__tests__/DropdownMenu.tsx +0 -138
  697. package/src/__tests__/FilterList.tsx +0 -27
  698. package/src/__tests__/FilterListItem.tsx +0 -32
  699. package/src/__tests__/FilteredSearch.tsx +0 -27
  700. package/src/__tests__/Flash.tsx +0 -46
  701. package/src/__tests__/Flex.tsx +0 -59
  702. package/src/__tests__/FormGroup.tsx +0 -39
  703. package/src/__tests__/Grid.tsx +0 -83
  704. package/src/__tests__/Header.tsx +0 -50
  705. package/src/__tests__/Heading.tsx +0 -92
  706. package/src/__tests__/Label.tsx +0 -35
  707. package/src/__tests__/LabelGroup.tsx +0 -31
  708. package/src/__tests__/Link.tsx +0 -48
  709. package/src/__tests__/Overlay.tsx +0 -103
  710. package/src/__tests__/Pagehead.tsx +0 -24
  711. package/src/__tests__/Pagination/Pagination.tsx +0 -31
  712. package/src/__tests__/Pagination/PaginationModel.tsx +0 -133
  713. package/src/__tests__/Pagination/__snapshots__/Pagination.tsx.snap +0 -184
  714. package/src/__tests__/PointerBox.tsx +0 -35
  715. package/src/__tests__/Popover.tsx +0 -69
  716. package/src/__tests__/Portal.tsx +0 -103
  717. package/src/__tests__/Position.tsx +0 -118
  718. package/src/__tests__/ProgressBar.tsx +0 -41
  719. package/src/__tests__/SelectMenu.tsx +0 -142
  720. package/src/__tests__/SelectPanel.tsx +0 -65
  721. package/src/__tests__/SideNav.tsx +0 -63
  722. package/src/__tests__/Spinner.tsx +0 -44
  723. package/src/__tests__/StateLabel.tsx +0 -50
  724. package/src/__tests__/StyledOcticon.tsx +0 -28
  725. package/src/__tests__/SubNav.tsx +0 -51
  726. package/src/__tests__/SubNavLink.tsx +0 -32
  727. package/src/__tests__/TabNav.tsx +0 -33
  728. package/src/__tests__/Text.tsx +0 -79
  729. package/src/__tests__/TextInput.tsx +0 -50
  730. package/src/__tests__/ThemeProvider.tsx +0 -441
  731. package/src/__tests__/Timeline.tsx +0 -59
  732. package/src/__tests__/Tooltip.tsx +0 -53
  733. package/src/__tests__/Truncate.tsx +0 -45
  734. package/src/__tests__/UnderlineNav.tsx +0 -59
  735. package/src/__tests__/UnderlineNavLink.tsx +0 -32
  736. package/src/__tests__/__snapshots__/ActionList.tsx.snap +0 -27
  737. package/src/__tests__/__snapshots__/ActionMenu.tsx.snap +0 -80
  738. package/src/__tests__/__snapshots__/AnchoredOverlay.tsx.snap +0 -332
  739. package/src/__tests__/__snapshots__/Avatar.tsx.snap +0 -19
  740. package/src/__tests__/__snapshots__/AvatarStack.tsx.snap +0 -377
  741. package/src/__tests__/__snapshots__/BorderBox.tsx.snap +0 -14
  742. package/src/__tests__/__snapshots__/Box.tsx.snap +0 -201
  743. package/src/__tests__/__snapshots__/BranchName.tsx.snap +0 -17
  744. package/src/__tests__/__snapshots__/Breadcrumb.tsx.snap +0 -29
  745. package/src/__tests__/__snapshots__/BreadcrumbItem.tsx.snap +0 -79
  746. package/src/__tests__/__snapshots__/Button.tsx.snap +0 -832
  747. package/src/__tests__/__snapshots__/Caret.tsx.snap +0 -373
  748. package/src/__tests__/__snapshots__/CircleBadge.tsx.snap +0 -141
  749. package/src/__tests__/__snapshots__/CircleOcticon.tsx.snap +0 -64
  750. package/src/__tests__/__snapshots__/CounterLabel.tsx.snap +0 -22
  751. package/src/__tests__/__snapshots__/Details.tsx.snap +0 -15
  752. package/src/__tests__/__snapshots__/Dialog.tsx.snap +0 -200
  753. package/src/__tests__/__snapshots__/Dropdown.tsx.snap +0 -249
  754. package/src/__tests__/__snapshots__/DropdownMenu.tsx.snap +0 -106
  755. package/src/__tests__/__snapshots__/FilterList.tsx.snap +0 -13
  756. package/src/__tests__/__snapshots__/FilterListItem.tsx.snap +0 -80
  757. package/src/__tests__/__snapshots__/FilteredSearch.tsx.snap +0 -32
  758. package/src/__tests__/__snapshots__/Flash.tsx.snap +0 -32
  759. package/src/__tests__/__snapshots__/Flex.tsx.snap +0 -130
  760. package/src/__tests__/__snapshots__/FormGroup.tsx.snap +0 -25
  761. package/src/__tests__/__snapshots__/Grid.tsx.snap +0 -178
  762. package/src/__tests__/__snapshots__/Header.tsx.snap +0 -79
  763. package/src/__tests__/__snapshots__/Heading.tsx.snap +0 -13
  764. package/src/__tests__/__snapshots__/Label.tsx.snap +0 -74
  765. package/src/__tests__/__snapshots__/LabelGroup.tsx.snap +0 -15
  766. package/src/__tests__/__snapshots__/Link.tsx.snap +0 -213
  767. package/src/__tests__/__snapshots__/Pagehead.tsx.snap +0 -15
  768. package/src/__tests__/__snapshots__/PointerBox.tsx.snap +0 -174
  769. package/src/__tests__/__snapshots__/Popover.tsx.snap +0 -4687
  770. package/src/__tests__/__snapshots__/Position.tsx.snap +0 -44
  771. package/src/__tests__/__snapshots__/ProgressBar.tsx.snap +0 -53
  772. package/src/__tests__/__snapshots__/SelectMenu.tsx.snap +0 -469
  773. package/src/__tests__/__snapshots__/SelectPanel.tsx.snap +0 -123
  774. package/src/__tests__/__snapshots__/SideNav.tsx.snap +0 -143
  775. package/src/__tests__/__snapshots__/Spinner.tsx.snap +0 -33
  776. package/src/__tests__/__snapshots__/StateLabel.tsx.snap +0 -409
  777. package/src/__tests__/__snapshots__/StyledOcticon.tsx.snap +0 -25
  778. package/src/__tests__/__snapshots__/SubNav.tsx.snap +0 -44
  779. package/src/__tests__/__snapshots__/SubNavLink.tsx.snap +0 -199
  780. package/src/__tests__/__snapshots__/TabNav.tsx.snap +0 -58
  781. package/src/__tests__/__snapshots__/Text.tsx.snap +0 -7
  782. package/src/__tests__/__snapshots__/TextInput.tsx.snap +0 -440
  783. package/src/__tests__/__snapshots__/ThemeProvider.tsx.snap +0 -15
  784. package/src/__tests__/__snapshots__/Timeline.tsx.snap +0 -157
  785. package/src/__tests__/__snapshots__/Tooltip.tsx.snap +0 -227
  786. package/src/__tests__/__snapshots__/Truncate.tsx.snap +0 -17
  787. package/src/__tests__/__snapshots__/UnderlineNav.tsx.snap +0 -59
  788. package/src/__tests__/__snapshots__/UnderlineNavLink.tsx.snap +0 -130
  789. package/src/__tests__/behaviors/anchoredPosition.ts +0 -295
  790. package/src/__tests__/behaviors/focusTrap.tsx +0 -236
  791. package/src/__tests__/behaviors/focusZone.tsx +0 -549
  792. package/src/__tests__/behaviors/iterateFocusableElements.tsx +0 -61
  793. package/src/__tests__/filterObject.ts +0 -54
  794. package/src/__tests__/hooks/useAnchoredPosition.tsx +0 -31
  795. package/src/__tests__/hooks/useOnEscapePress.tsx +0 -16
  796. package/src/__tests__/hooks/useOnOutsideClick.tsx +0 -48
  797. package/src/__tests__/hooks/useOpenAndCloseFocus.tsx +0 -48
  798. package/src/__tests__/hooks/useProvidedStateOrCreate.tsx +0 -39
  799. package/src/__tests__/theme.ts +0 -41
  800. package/src/__tests__/themeGet.ts +0 -15
  801. package/src/__tests__/useSafeTimeout.tsx +0 -36
  802. package/src/behaviors/anchoredPosition.ts +0 -442
  803. package/src/behaviors/focusTrap.ts +0 -184
  804. package/src/behaviors/focusZone.ts +0 -713
  805. package/src/constants.ts +0 -62
  806. package/src/hooks/index.ts +0 -11
  807. package/src/hooks/useAnchoredPosition.ts +0 -53
  808. package/src/hooks/useCombinedRefs.ts +0 -40
  809. package/src/hooks/useDetails.tsx +0 -54
  810. package/src/hooks/useDialog.ts +0 -121
  811. package/src/hooks/useFocusTrap.ts +0 -80
  812. package/src/hooks/useFocusZone.ts +0 -64
  813. package/src/hooks/useOnEscapePress.ts +0 -63
  814. package/src/hooks/useOnOutsideClick.tsx +0 -82
  815. package/src/hooks/useOpenAndCloseFocus.ts +0 -27
  816. package/src/hooks/useOverlay.tsx +0 -32
  817. package/src/hooks/useProvidedRefOrCreate.ts +0 -14
  818. package/src/hooks/useProvidedStateOrCreate.ts +0 -27
  819. package/src/hooks/useRenderForcingRef.ts +0 -22
  820. package/src/hooks/useResizeObserver.ts +0 -11
  821. package/src/hooks/useSafeTimeout.ts +0 -38
  822. package/src/hooks/useScrollFlash.ts +0 -21
  823. package/src/index.ts +0 -165
  824. package/src/polyfills/eventListenerSignal.ts +0 -66
  825. package/src/stories/ActionList.stories.tsx +0 -364
  826. package/src/stories/ActionMenu.stories.tsx +0 -322
  827. package/src/stories/AnchoredOverlay.stories.tsx +0 -117
  828. package/src/stories/AvatarStack.stories.tsx +0 -37
  829. package/src/stories/Button.stories.tsx +0 -88
  830. package/src/stories/ConfirmationDialog.stories.tsx +0 -105
  831. package/src/stories/Dialog.stories.tsx +0 -240
  832. package/src/stories/DropdownMenu.stories.tsx +0 -84
  833. package/src/stories/Overlay.stories.tsx +0 -186
  834. package/src/stories/Portal.stories.tsx +0 -109
  835. package/src/stories/SelectPanel.stories.tsx +0 -300
  836. package/src/stories/ThemeProvider.stories.tsx +0 -104
  837. package/src/stories/useAnchoredPosition.stories.tsx +0 -320
  838. package/src/stories/useFocusTrap.stories.tsx +0 -400
  839. package/src/stories/useFocusZone.stories.tsx +0 -663
  840. package/src/sx.ts +0 -9
  841. package/src/theme-preval.js +0 -120
  842. package/src/theme.ts +0 -3
  843. package/src/utils/deprecate.tsx +0 -73
  844. package/src/utils/isNumeric.tsx +0 -4
  845. package/src/utils/iterateFocusableElements.ts +0 -121
  846. package/src/utils/ssr.tsx +0 -1
  847. package/src/utils/test-deprecations.tsx +0 -19
  848. package/src/utils/test-helpers.tsx +0 -7
  849. package/src/utils/test-matchers.tsx +0 -109
  850. package/src/utils/testing.tsx +0 -243
  851. package/src/utils/theme.js +0 -64
  852. package/src/utils/types.ts +0 -90
  853. package/src/utils/uniqueId.ts +0 -6
  854. package/src/utils/userAgent.ts +0 -7
  855. package/stats.html +0 -3279
  856. package/tsconfig.json +0 -20
@@ -1,43 +0,0 @@
1
- import React from 'react';
2
- import { UnderlineNav } from '..';
3
- import { COMMON } from '../constants';
4
- import { render, behavesAsComponent } from '../utils/testing';
5
- import { render as HTMLRender, cleanup } from '@testing-library/react';
6
- import { axe, toHaveNoViolations } from 'jest-axe';
7
- import 'babel-polyfill';
8
- expect.extend(toHaveNoViolations);
9
- describe('UnderlineNav.Link', () => {
10
- behavesAsComponent({
11
- Component: UnderlineNav.Link,
12
- systemPropArray: [COMMON]
13
- });
14
- it('renders an <a> by default', () => {
15
- expect(render( /*#__PURE__*/React.createElement(UnderlineNav.Link, null)).type).toEqual('a');
16
- });
17
- it('should have no axe violations', async () => {
18
- const {
19
- container
20
- } = HTMLRender( /*#__PURE__*/React.createElement(UnderlineNav.Link, {
21
- href: "www.github.com"
22
- }, "Go to GitHub"));
23
- const results = await axe(container);
24
- expect(results).toHaveNoViolations();
25
- cleanup();
26
- });
27
- it('respects the "selected" prop', () => {
28
- expect(render( /*#__PURE__*/React.createElement(UnderlineNav.Link, {
29
- selected: true
30
- }))).toMatchSnapshot();
31
- });
32
- it('adds activeClassName={SELECTED_CLASS} when it gets a "to" prop', () => {
33
- const Link = ({
34
- theme: _ignoredTheme,
35
- ...props
36
- }) => /*#__PURE__*/React.createElement("div", props);
37
-
38
- expect(render( /*#__PURE__*/React.createElement(UnderlineNav.Link, {
39
- as: Link,
40
- to: "#"
41
- }))).toMatchSnapshot();
42
- });
43
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,388 +0,0 @@
1
- import { getAnchoredPosition } from '../../behaviors/anchoredPosition';
2
- /*
3
-
4
- Note: In each test below, we check the calculation from getAnchoredPosition against exact
5
- values. For each `expect` call, there is an accompanying comment that distills the effective
6
- calculation from the inputs, which may help debugging in the event of a test failure.
7
-
8
- */
9
- // The DOMRect constructor isn't available in JSDOM, so we improvise here.
10
-
11
- function makeDOMRect(x, y, width, height) {
12
- return {
13
- x,
14
- y,
15
- width,
16
- height,
17
- top: y,
18
- left: x,
19
- right: x + width,
20
- bottom: y + height,
21
-
22
- toJSON() {
23
- return this;
24
- }
25
-
26
- };
27
- } // Since Jest/JSDOM doesn't support layout, we can stub out getBoundingClientRect if we know the
28
- // correct dimensions. JSDOM will handle the rest of the DOM API used by getAnchoredPosition.
29
-
30
-
31
- function createVirtualDOM(parentRect, anchorRect, floatingRect, parentBorders = {
32
- top: 0,
33
- right: 0,
34
- bottom: 0,
35
- left: 0
36
- }) {
37
- const parent = document.createElement('div');
38
- parent.style.overflow = 'hidden';
39
- parent.style.position = 'relative';
40
- parent.style.borderTopWidth = `${parentBorders.top}px`;
41
- parent.style.borderRightWidth = `${parentBorders.right}px`;
42
- parent.style.borderBottomWidth = `${parentBorders.bottom}px`;
43
- parent.style.borderLeftWidth = `${parentBorders.left}px`;
44
- parent.id = 'parent'; // eslint-disable-next-line github/unescaped-html-literal
45
-
46
- parent.innerHTML = '<div id="float"></div><div id="anchor"></div>';
47
- const float = parent.querySelector('#float');
48
- const anchor = parent.querySelector('#anchor');
49
-
50
- anchor.getBoundingClientRect = () => anchorRect;
51
-
52
- parent.getBoundingClientRect = () => parentRect;
53
-
54
- float.getBoundingClientRect = () => floatingRect;
55
-
56
- return {
57
- float,
58
- parent,
59
- anchor
60
- };
61
- }
62
-
63
- describe('getAnchoredPosition', () => {
64
- it('returns the correct position in the default case with no overflow', () => {
65
- const anchorRect = makeDOMRect(300, 200, 50, 50);
66
- const floatingRect = makeDOMRect(NaN, NaN, 100, 100); // eslint-disable-next-line github/unescaped-html-literal
67
-
68
- document.body.innerHTML = '<div id="float"></div><div id="anchor"></div>';
69
- const float = document.querySelector('#float');
70
- const anchor = document.querySelector('#anchor');
71
-
72
- float.getBoundingClientRect = () => floatingRect;
73
-
74
- anchor.getBoundingClientRect = () => anchorRect;
75
-
76
- document.body.getBoundingClientRect = () => makeDOMRect(0, 0, 1920, 0);
77
-
78
- Object.defineProperty(window, 'innerHeight', {
79
- get: () => 1080
80
- });
81
- const settings = {
82
- anchorOffset: 4
83
- };
84
- const {
85
- top,
86
- left
87
- } = getAnchoredPosition(float, anchor, settings);
88
- expect(top).toEqual(254);
89
- expect(left).toEqual(300);
90
- });
91
- it('returns the correct position in the default case with no overflow, inside a clipping parent', () => {
92
- const parentRect = makeDOMRect(20, 20, 500, 500);
93
- const anchorRect = makeDOMRect(300, 200, 50, 50);
94
- const floatingRect = makeDOMRect(NaN, NaN, 100, 100);
95
- const {
96
- float,
97
- anchor
98
- } = createVirtualDOM(parentRect, anchorRect, floatingRect);
99
- const settings = {
100
- anchorOffset: 4
101
- };
102
- const {
103
- top,
104
- left
105
- } = getAnchoredPosition(float, anchor, settings);
106
- expect(top).toEqual(234);
107
- expect(left).toEqual(280);
108
- });
109
- it('returns the correct position for different outside side settings with no overflow', () => {
110
- const parentRect = makeDOMRect(20, 20, 500, 500);
111
- const anchorRect = makeDOMRect(300, 200, 50, 50);
112
- const floatingRect = makeDOMRect(NaN, NaN, 100, 100);
113
- const {
114
- float,
115
- anchor
116
- } = createVirtualDOM(parentRect, anchorRect, floatingRect);
117
- const settings = {};
118
- let top = 0;
119
- let left = 0; // should be the same calculation as the default settings test above
120
-
121
- settings.side = 'outside-bottom';
122
- ({
123
- top,
124
- left
125
- } = getAnchoredPosition(float, anchor, settings));
126
- expect(top).toEqual(234); // anchorRect.top + anchorRect.height + (settings.anchorOffset ?? 4) - parentRect.top
127
-
128
- expect(left).toEqual(280); // anchorRect.left - parentRect.left
129
-
130
- settings.side = 'outside-left';
131
- ({
132
- top,
133
- left
134
- } = getAnchoredPosition(float, anchor, settings));
135
- expect(top).toEqual(180); // anchorRect.top - parentRect.top
136
-
137
- expect(left).toEqual(176); // anchorRect.left - floatingRect.width - (settings.anchorOffset ?? 4) - parentRect.left
138
-
139
- settings.side = 'outside-right';
140
- ({
141
- top,
142
- left
143
- } = getAnchoredPosition(float, anchor, settings));
144
- expect(top).toEqual(180); // anchorRect.top - parentRect.top
145
-
146
- expect(left).toEqual(334); // anchorRect.left + anchorRect.width + (settings.anchorOffset ?? 4) - parentRect.left
147
-
148
- settings.side = 'outside-top';
149
- ({
150
- top,
151
- left
152
- } = getAnchoredPosition(float, anchor, settings));
153
- expect(top).toEqual(76); // anchorRect.top - floatingRect.height - (settings.anchorOffset ?? 4) - parentRect.top
154
-
155
- expect(left).toEqual(280); // anchorRect.left - parentRect.left
156
- });
157
- it('returns the correct position for different inside side settings', () => {
158
- const parentRect = makeDOMRect(20, 20, 500, 500);
159
- const anchorRect = makeDOMRect(300, 200, 50, 50);
160
- const floatingRect = makeDOMRect(NaN, NaN, 100, 100);
161
- const {
162
- float,
163
- anchor
164
- } = createVirtualDOM(parentRect, anchorRect, floatingRect);
165
- const settings = {};
166
- let top = 0;
167
- let left = 0;
168
- settings.side = 'inside-bottom';
169
- ({
170
- top,
171
- left
172
- } = getAnchoredPosition(float, anchor, settings)); // anchorRect.top + anchorRect.height - (settings.anchorOffset ?? 4) - floatingRect.height - parentRect.top
173
-
174
- expect(top).toEqual(126); // anchorRect.left + (settings.alignmentOffset ?? 4) - parentRect.left
175
-
176
- expect(left).toEqual(284);
177
- settings.side = 'inside-left';
178
- ({
179
- top,
180
- left
181
- } = getAnchoredPosition(float, anchor, settings));
182
- expect(top).toEqual(184); // anchorRect.top + (settings.alignmentOffset ?? 4) - parentRect.top
183
-
184
- expect(left).toEqual(284); // anchorRect.left + (settings.anchorOffset ?? 4) - parentRect.left
185
-
186
- settings.side = 'inside-right';
187
- ({
188
- top,
189
- left
190
- } = getAnchoredPosition(float, anchor, settings)); // anchorRect.top + (settings.alignmentOffset ?? 4) - parentRect.top
191
-
192
- expect(top).toEqual(184); // anchorRect.left + anchorRect.width - (settings.anchorOffset ?? 4) - floatingRect.width - parentRect.left
193
-
194
- expect(left).toEqual(226); // almost the same as inside-left, with the exception of offsets
195
-
196
- settings.side = 'inside-top';
197
- ({
198
- top,
199
- left
200
- } = getAnchoredPosition(float, anchor, settings));
201
- expect(top).toEqual(184); // anchorRect.top + (settings.anchorOffset ?? 4) - parentRect.top
202
-
203
- expect(left).toEqual(284); // anchorRect.left + (settings.alignmentOffset ?? 4) - parentRect.left
204
-
205
- settings.side = 'inside-center';
206
- ({
207
- top,
208
- left
209
- } = getAnchoredPosition(float, anchor, settings));
210
- expect(top).toEqual(184); // anchorRect.top + (settings.alignmentOffset ?? 4) - parentRect.top
211
-
212
- expect(left).toEqual(255); // anchorRect.left + anchorRect.width / 2 - floatingRect.width / 2 - parentRect.left
213
- });
214
- it('returns the correct position inside centering along both axes', () => {
215
- const parentRect = makeDOMRect(20, 20, 500, 500);
216
- const anchorRect = makeDOMRect(300, 200, 50, 50);
217
- const floatingRect = makeDOMRect(NaN, NaN, 100, 100);
218
- const {
219
- float,
220
- anchor
221
- } = createVirtualDOM(parentRect, anchorRect, floatingRect);
222
- const settings = {
223
- side: 'inside-center',
224
- align: 'center'
225
- };
226
- const {
227
- top,
228
- left
229
- } = getAnchoredPosition(float, anchor, settings);
230
- expect(top).toEqual(155); // anchorRect.top + anchorRect.height / 2 - floatingRect.height / 2 - parentRect.top
231
-
232
- expect(left).toEqual(255); // anchorRect.left + anchorRect.width / 2 - floatingRect.width / 2 - parentRect.left
233
- });
234
- it('returns the correct position for different alignment settings with no overflow', () => {
235
- const parentRect = makeDOMRect(20, 20, 500, 500);
236
- const anchorRect = makeDOMRect(300, 200, 50, 50);
237
- const floatingRect = makeDOMRect(NaN, NaN, 100, 100);
238
- const {
239
- float,
240
- anchor
241
- } = createVirtualDOM(parentRect, anchorRect, floatingRect);
242
- const settings = {};
243
- let top = 0;
244
- let left = 0;
245
- settings.align = 'start';
246
- ({
247
- top,
248
- left
249
- } = getAnchoredPosition(float, anchor, settings));
250
- expect(top).toEqual(234); // anchorRect.top + anchorRect.height + (settings.anchorOffset ?? 4) - parentRect.top
251
-
252
- expect(left).toEqual(280); // anchorRect.left + (settings.alignmentOffset ?? 0) - parentRect.left
253
-
254
- settings.align = 'center';
255
- ({
256
- top,
257
- left
258
- } = getAnchoredPosition(float, anchor, settings)); // anchorRect.top + anchorRect.height + (settings.anchorOffset ?? 4) - parentRect.top
259
-
260
- expect(top).toEqual(234); // anchorRect.left + anchorRect.width / 2 - floatingRect.width / 2 + (settings.anchorOffset ?? 0) - parentRect.left
261
-
262
- expect(left).toEqual(255);
263
- settings.align = 'end';
264
- ({
265
- top,
266
- left
267
- } = getAnchoredPosition(float, anchor, settings)); // anchorRect.top + anchorRect.height + (settings.anchorOffset ?? 4) - parentRect.top
268
-
269
- expect(top).toEqual(234); // anchorRect.left + anchorRect.width - floatingRect.width - (settings.alignmentOffset ?? 0) - parentRect.left
270
-
271
- expect(left).toEqual(230);
272
- });
273
- it('properly flips to the opposite side if the calculated position overflows along the same axis', () => {
274
- const parentRect = makeDOMRect(20, 20, 500, 500);
275
- const anchorRect = makeDOMRect(300, 400, 50, 50);
276
- const floatingRect = makeDOMRect(NaN, NaN, 100, 100);
277
- const {
278
- float,
279
- anchor
280
- } = createVirtualDOM(parentRect, anchorRect, floatingRect);
281
- const settings = {};
282
- const {
283
- top,
284
- left
285
- } = getAnchoredPosition(float, anchor, settings);
286
- expect(top).toEqual(276); // anchorRect.top - floatingRect.height - (settings.anchorOffset ?? 4) - parentRect.top
287
-
288
- expect(left).toEqual(280); // anchorRect.left - parentRect.left
289
- });
290
- it('properly moves to an adjacent side if overflow happens along side edge and flipped edge', () => {
291
- const parentRect = makeDOMRect(20, 20, 500, 200);
292
- const anchorRect = makeDOMRect(300, 100, 50, 50);
293
- const floatingRect = makeDOMRect(NaN, NaN, 100, 100);
294
- const {
295
- float,
296
- anchor
297
- } = createVirtualDOM(parentRect, anchorRect, floatingRect);
298
- const settings = {};
299
- const {
300
- top,
301
- left
302
- } = getAnchoredPosition(float, anchor, settings);
303
- expect(top).toEqual(80); // anchorRect.top - parentRect.top
304
-
305
- expect(left).toEqual(334); // anchorRect.left + anchorRect.width + (settings.anchorOffset ?? 4) - parentRect.left
306
- });
307
- it('properly adjusts the position using an alignment offset if overflow happens along the alignment edge', () => {
308
- const parentRect = makeDOMRect(20, 20, 500, 500);
309
- const anchorRect = makeDOMRect(300, 200, 50, 50);
310
- const floatingRect = makeDOMRect(NaN, NaN, 400, 100);
311
- const {
312
- float,
313
- anchor
314
- } = createVirtualDOM(parentRect, anchorRect, floatingRect);
315
- const settings = {};
316
- const {
317
- top,
318
- left
319
- } = getAnchoredPosition(float, anchor, settings);
320
- expect(top).toEqual(234); // anchorRect.top + anchorRect.height + (settings.anchorOffset ?? 4) - parentRect.top
321
-
322
- expect(left).toEqual(100); // parentRect.width - floatingRect.width
323
- });
324
- it('properly calculates the position that needs to be flipped and offset-adjusted', () => {
325
- const parentRect = makeDOMRect(20, 20, 500, 500);
326
- const anchorRect = makeDOMRect(300, 400, 50, 50);
327
- const floatingRect = makeDOMRect(NaN, NaN, 400, 100);
328
- const {
329
- float,
330
- anchor
331
- } = createVirtualDOM(parentRect, anchorRect, floatingRect);
332
- const settings = {};
333
- const {
334
- top,
335
- left
336
- } = getAnchoredPosition(float, anchor, settings);
337
- expect(top).toEqual(276); // anchorRect.top - floatingRect.height - (settings.anchorOffset ?? 4) - parentRect.top
338
-
339
- expect(left).toEqual(100); // parentRect.width - floatingRect.width
340
- });
341
- it('properly calculates the outside position with many simultaneous settings interactions (stress test)', () => {
342
- const parentRect = makeDOMRect(20, 20, 200, 500);
343
- const anchorRect = makeDOMRect(95, 295, 100, 200);
344
- const floatingRect = makeDOMRect(NaN, NaN, 175, 200);
345
- const {
346
- float,
347
- anchor
348
- } = createVirtualDOM(parentRect, anchorRect, floatingRect);
349
- const settings = {
350
- side: 'outside-right',
351
- align: 'center',
352
- alignmentOffset: 10,
353
- anchorOffset: -10
354
- };
355
- const {
356
- top,
357
- left
358
- } = getAnchoredPosition(float, anchor, settings); // expect to try right, left, and bottom before ending on top
359
-
360
- expect(top).toEqual(85); // anchorRect.top - floatingRect.height - (settings.anchorOffset ?? 4) - parentRect.top
361
- // expect center alignment to run against edge, so ignored. Also causes alignment offset to be ignored.
362
-
363
- expect(left).toEqual(25); // parentRect.width - floatingRect.width
364
- });
365
- it('properly calculates the inside position with many simultaneous settings interactions (stress test)', () => {
366
- const parentRect = makeDOMRect(20, 20, 500, 500);
367
- const anchorRect = makeDOMRect(100, 100, 300, 300);
368
- const floatingRect = makeDOMRect(NaN, NaN, 100, 200);
369
- const {
370
- float,
371
- anchor
372
- } = createVirtualDOM(parentRect, anchorRect, floatingRect);
373
- const settings = {
374
- side: 'inside-right',
375
- align: 'center',
376
- alignmentOffset: 10,
377
- anchorOffset: -10
378
- };
379
- const {
380
- top,
381
- left
382
- } = getAnchoredPosition(float, anchor, settings); // anchorRect.top + anchorRect.height / 2 - floatingRect.height / 2 + (settings.alignmentOffset ?? 4) - parentRect.top
383
-
384
- expect(top).toEqual(140); // anchorRect.left + anchorRect.width - floatingRect.width - (settings.anchorOffset ?? 4) - parentRect.left
385
-
386
- expect(left).toEqual(290);
387
- });
388
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,227 +0,0 @@
1
- import React from 'react';
2
- import { fireEvent, render } from '@testing-library/react';
3
- import { focusTrap } from '../../behaviors/focusTrap'; // Since we use strict `isTabbable` checks within focus trap, we need to mock these
4
- // properties that Jest does not populate.
5
-
6
- beforeAll(() => {
7
- try {
8
- Object.defineProperties(HTMLElement.prototype, {
9
- offsetHeight: {
10
- get: () => 42
11
- },
12
- offsetWidth: {
13
- get: () => 42
14
- },
15
- getClientRects: {
16
- get: () => () => [42]
17
- }
18
- });
19
- } catch {// ignore
20
- }
21
- });
22
- it('Should initially focus the container when activated', () => {
23
- const {
24
- container
25
- } = render( /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("button", {
26
- tabIndex: 0
27
- }, "Bad Apple"), /*#__PURE__*/React.createElement("div", {
28
- id: "trapContainer"
29
- }, /*#__PURE__*/React.createElement("button", {
30
- tabIndex: 0
31
- }, "Apple"), /*#__PURE__*/React.createElement("button", {
32
- tabIndex: 0
33
- }, "Banana"), /*#__PURE__*/React.createElement("button", {
34
- tabIndex: 0
35
- }, "Cantaloupe"))));
36
- const trapContainer = container.querySelector('#trapContainer');
37
- const controller = focusTrap(trapContainer);
38
- expect(document.activeElement).toEqual(trapContainer);
39
- controller.abort();
40
- });
41
- it('Should initially focus the initialFocus element when specified', () => {
42
- const {
43
- container
44
- } = render( /*#__PURE__*/React.createElement("div", {
45
- id: "trapContainer"
46
- }, /*#__PURE__*/React.createElement("button", {
47
- tabIndex: 0
48
- }, "Apple"), /*#__PURE__*/React.createElement("button", {
49
- tabIndex: 0
50
- }, "Banana"), /*#__PURE__*/React.createElement("button", {
51
- tabIndex: 0
52
- }, "Cantaloupe")));
53
- const trapContainer = container.querySelector('#trapContainer');
54
- const secondButton = trapContainer.querySelectorAll('button')[1];
55
- const controller = focusTrap(trapContainer, secondButton);
56
- expect(document.activeElement).toEqual(secondButton);
57
- controller.abort();
58
- });
59
- it('Should prevent focus from exiting the trap, returns focus to previously-focused element', async () => {
60
- const {
61
- container
62
- } = render( /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
63
- id: "trapContainer"
64
- }, /*#__PURE__*/React.createElement("button", {
65
- tabIndex: 0
66
- }, "Apple"), /*#__PURE__*/React.createElement("button", {
67
- tabIndex: 0
68
- }, "Banana"), /*#__PURE__*/React.createElement("button", {
69
- tabIndex: 0
70
- }, "Cantaloupe")), /*#__PURE__*/React.createElement("button", {
71
- id: "durian",
72
- tabIndex: 0
73
- }, "Durian")));
74
- const trapContainer = container.querySelector('#trapContainer');
75
- const secondButton = trapContainer.querySelectorAll('button')[1];
76
- const durianButton = container.querySelector('#durian');
77
- const controller = focusTrap(trapContainer);
78
- focus(durianButton);
79
- expect(document.activeElement).toEqual(trapContainer);
80
- focus(secondButton);
81
- expect(document.activeElement).toEqual(secondButton);
82
- focus(durianButton);
83
- expect(document.activeElement).toEqual(secondButton);
84
- controller.abort();
85
- });
86
- it('Should prevent focus from exiting the trap if there are no focusable children', async () => {
87
- const {
88
- container
89
- } = render( /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
90
- id: "trapContainer"
91
- }), /*#__PURE__*/React.createElement("button", {
92
- id: "durian",
93
- tabIndex: 0
94
- }, "Durian")));
95
- const trapContainer = container.querySelector('#trapContainer');
96
- const durianButton = container.querySelector('#durian');
97
- const controller = focusTrap(trapContainer);
98
- focus(durianButton);
99
- expect(document.activeElement === durianButton).toEqual(false);
100
- controller.abort();
101
- });
102
- it('Should cycle focus from last element to first element and vice-versa', async () => {
103
- const {
104
- container
105
- } = render( /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
106
- id: "trapContainer"
107
- }, /*#__PURE__*/React.createElement("button", {
108
- tabIndex: 0
109
- }, "Apple"), /*#__PURE__*/React.createElement("button", {
110
- tabIndex: 0
111
- }, "Banana"), /*#__PURE__*/React.createElement("button", {
112
- tabIndex: 0
113
- }, "Cantaloupe")), /*#__PURE__*/React.createElement("button", {
114
- id: "durian",
115
- tabIndex: 0
116
- }, "Durian")));
117
- const trapContainer = container.querySelector('#trapContainer');
118
- const firstButton = trapContainer.querySelector('button');
119
- const lastButton = trapContainer.querySelectorAll('button')[2];
120
- const controller = focusTrap(trapContainer);
121
- lastButton.focus();
122
- fireEvent(lastButton, new KeyboardEvent('keydown', {
123
- bubbles: true,
124
- key: 'Tab'
125
- }));
126
- expect(document.activeElement).toEqual(firstButton);
127
- fireEvent(firstButton, new KeyboardEvent('keydown', {
128
- bubbles: true,
129
- key: 'Tab',
130
- shiftKey: true
131
- }));
132
- expect(document.activeElement).toEqual(lastButton);
133
- controller.abort();
134
- });
135
- it('Should should release the trap when the signal is aborted', async () => {
136
- const {
137
- container
138
- } = render( /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
139
- id: "trapContainer"
140
- }, /*#__PURE__*/React.createElement("button", {
141
- tabIndex: 0
142
- }, "Apple"), /*#__PURE__*/React.createElement("button", {
143
- tabIndex: 0
144
- }, "Banana"), /*#__PURE__*/React.createElement("button", {
145
- tabIndex: 0
146
- }, "Cantaloupe")), /*#__PURE__*/React.createElement("button", {
147
- id: "durian",
148
- tabIndex: 0
149
- }, "Durian")));
150
- const trapContainer = container.querySelector('#trapContainer');
151
- const durianButton = container.querySelector('#durian');
152
- const controller = focusTrap(trapContainer);
153
- focus(durianButton);
154
- expect(document.activeElement).toEqual(trapContainer);
155
- controller.abort();
156
- focus(durianButton);
157
- expect(document.activeElement).toEqual(durianButton);
158
- });
159
- it('Should should release the trap when the container is removed from the DOM', async () => {
160
- var _trapContainer$parent;
161
-
162
- const {
163
- container
164
- } = render( /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
165
- id: "trapContainer"
166
- }, /*#__PURE__*/React.createElement("button", {
167
- tabIndex: 0
168
- }, "Apple")), /*#__PURE__*/React.createElement("button", {
169
- id: "durian",
170
- tabIndex: 0
171
- }, "Durian")));
172
- const trapContainer = container.querySelector('#trapContainer');
173
- const durianButton = container.querySelector('#durian');
174
- const firstButton = trapContainer.querySelector('button');
175
- focusTrap(trapContainer);
176
- focus(durianButton);
177
- expect(document.activeElement).toEqual(trapContainer); // empty trap and remove it from the DOM
178
-
179
- trapContainer.removeChild(firstButton);
180
- (_trapContainer$parent = trapContainer.parentElement) === null || _trapContainer$parent === void 0 ? void 0 : _trapContainer$parent.removeChild(trapContainer);
181
- focus(durianButton);
182
- expect(document.activeElement).toEqual(durianButton);
183
- });
184
- it('Should handle dynamic content', async () => {
185
- const {
186
- container
187
- } = render( /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
188
- id: "trapContainer"
189
- }, /*#__PURE__*/React.createElement("button", {
190
- tabIndex: 0
191
- }, "Apple"), /*#__PURE__*/React.createElement("button", {
192
- tabIndex: 0
193
- }, "Banana"), /*#__PURE__*/React.createElement("button", {
194
- tabIndex: 0
195
- }, "Cantaloupe")), /*#__PURE__*/React.createElement("button", {
196
- id: "durian",
197
- tabIndex: 0
198
- }, "Durian")));
199
- const trapContainer = container.querySelector('#trapContainer');
200
- const [firstButton, secondButton, thirdButton] = trapContainer.querySelectorAll('button');
201
- const controller = focusTrap(trapContainer);
202
- secondButton.focus();
203
- trapContainer.removeChild(thirdButton);
204
- fireEvent(secondButton, new KeyboardEvent('keydown', {
205
- bubbles: true,
206
- key: 'Tab'
207
- }));
208
- expect(document.activeElement).toEqual(firstButton);
209
- fireEvent(firstButton, new KeyboardEvent('keydown', {
210
- bubbles: true,
211
- key: 'Tab',
212
- shiftKey: true
213
- }));
214
- expect(document.activeElement).toEqual(secondButton);
215
- controller.abort();
216
- });
217
- /**
218
- * Helper to handle firing the focusin event, which jest/JSDOM does not do for us.
219
- * @param element
220
- */
221
-
222
- function focus(element) {
223
- element.focus();
224
- fireEvent(element, new FocusEvent('focusin', {
225
- bubbles: true
226
- }));
227
- }
@@ -1 +0,0 @@
1
- export {};