@primer/components 33.1.0-rc.6856bcf5 → 33.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1059) hide show
  1. package/package.json +1 -1
  2. package/.changeset/README.md +0 -8
  3. package/.changeset/config.json +0 -10
  4. package/.devcontainer/devcontainer.json +0 -8
  5. package/.eslintrc.json +0 -137
  6. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
  7. package/.github/ISSUE_TEMPLATE/new_component_proposal_template.md +0 -41
  8. package/.github/dependabot.yml +0 -18
  9. package/.github/pull_request_template.md +0 -18
  10. package/.github/workflows/check_for_changeset.yml +0 -25
  11. package/.github/workflows/ci.yml +0 -31
  12. package/.github/workflows/deploy_preview.yml +0 -47
  13. package/.github/workflows/deploy_production.yml +0 -70
  14. package/.github/workflows/release.yml +0 -14
  15. package/.github/workflows/release_canary.yml +0 -14
  16. package/.github/workflows/release_candidate.yml +0 -14
  17. package/.github/workflows/size.yml +0 -13
  18. package/.github/workflows/stale.yml +0 -26
  19. package/.github/workflows/statuses.yml +0 -32
  20. package/.gitignore +0 -11
  21. package/.npmrc +0 -4
  22. package/.nvmrc +0 -1
  23. package/.storybook/main.js +0 -9
  24. package/.storybook/preview.js +0 -117
  25. package/.vscode/launch.json +0 -21
  26. package/.vscode/settings.json +0 -13
  27. package/@types/@styled-system/index.d.ts +0 -0
  28. package/@types/@styled-system/prop-types/index.d.ts +0 -1
  29. package/@types/@styled-system/props/index.d.ts +0 -1
  30. package/@types/jest-styled-components/index.d.ts +0 -1
  31. package/CHANGELOG.md +0 -1010
  32. package/CODEOWNERS +0 -2
  33. package/babel-defines.js +0 -13
  34. package/babel.config.js +0 -39
  35. package/contributor-docs/CODE_OF_CONDUCT.md +0 -76
  36. package/contributor-docs/CONTRIBUTING.md +0 -227
  37. package/contributor-docs/adrs/adr-001-typescript.md +0 -23
  38. package/contributor-docs/adrs/adr-002-behavior-isolation.md +0 -108
  39. package/contributor-docs/adrs/adr-003-prop-norms.md +0 -72
  40. package/contributor-docs/behaviors.md +0 -132
  41. package/contributor-docs/component-contents-api-patterns.md +0 -316
  42. package/contributor-docs/principles.md +0 -39
  43. package/docs/.eslintrc +0 -0
  44. package/docs/.gitignore +0 -91
  45. package/docs/components/PropsList.js +0 -5
  46. package/docs/components/State.js +0 -9
  47. package/docs/components/constants.js +0 -34
  48. package/docs/components/index.js +0 -2
  49. package/docs/content/ActionList.mdx +0 -99
  50. package/docs/content/ActionMenu.mdx +0 -80
  51. package/docs/content/AnchoredOverlay.mdx +0 -157
  52. package/docs/content/Autocomplete.mdx +0 -657
  53. package/docs/content/Avatar.mdx +0 -68
  54. package/docs/content/AvatarPair.mdx +0 -47
  55. package/docs/content/AvatarStack.mdx +0 -65
  56. package/docs/content/BorderBox.md +0 -46
  57. package/docs/content/Box.mdx +0 -98
  58. package/docs/content/BranchName.mdx +0 -52
  59. package/docs/content/Breadcrumbs.mdx +0 -76
  60. package/docs/content/Buttons.md +0 -47
  61. package/docs/content/Checkbox.md +0 -118
  62. package/docs/content/CircleBadge.md +0 -36
  63. package/docs/content/CircleOcticon.md +0 -19
  64. package/docs/content/CounterLabel.md +0 -22
  65. package/docs/content/Details.md +0 -102
  66. package/docs/content/Dialog.md +0 -106
  67. package/docs/content/Dialog2.mdx +0 -181
  68. package/docs/content/Dropdown.md +0 -66
  69. package/docs/content/DropdownMenu.mdx +0 -50
  70. package/docs/content/FilterList.md +0 -38
  71. package/docs/content/FilteredSearch.md +0 -33
  72. package/docs/content/Flash.md +0 -36
  73. package/docs/content/Flex.md +0 -58
  74. package/docs/content/FormGroup.md +0 -39
  75. package/docs/content/Grid.md +0 -59
  76. package/docs/content/Header.md +0 -78
  77. package/docs/content/Heading.md +0 -21
  78. package/docs/content/Label.md +0 -49
  79. package/docs/content/LabelGroup.md +0 -22
  80. package/docs/content/Link.mdx +0 -75
  81. package/docs/content/Overlay.mdx +0 -86
  82. package/docs/content/Pagehead.md +0 -19
  83. package/docs/content/Pagination.md +0 -179
  84. package/docs/content/PointerBox.md +0 -82
  85. package/docs/content/Popover.md +0 -130
  86. package/docs/content/Portal.mdx +0 -79
  87. package/docs/content/Position.md +0 -93
  88. package/docs/content/ProgressBar.mdx +0 -31
  89. package/docs/content/Radio.md +0 -90
  90. package/docs/content/SelectMenu.md +0 -372
  91. package/docs/content/SelectPanel.mdx +0 -67
  92. package/docs/content/SideNav.md +0 -172
  93. package/docs/content/Spinner.mdx +0 -32
  94. package/docs/content/StateLabel.md +0 -28
  95. package/docs/content/StyledOcticon.md +0 -27
  96. package/docs/content/SubNav.md +0 -101
  97. package/docs/content/TabNav.md +0 -43
  98. package/docs/content/Text.md +0 -32
  99. package/docs/content/TextInput.mdx +0 -125
  100. package/docs/content/TextInputWithTokens.mdx +0 -211
  101. package/docs/content/Timeline.md +0 -149
  102. package/docs/content/Token.mdx +0 -381
  103. package/docs/content/Tooltip.md +0 -33
  104. package/docs/content/Truncate.md +0 -56
  105. package/docs/content/UnderlineNav.md +0 -46
  106. package/docs/content/anchoredPosition.mdx +0 -163
  107. package/docs/content/core-concepts.md +0 -70
  108. package/docs/content/drafts/ActionList2.mdx +0 -484
  109. package/docs/content/drafts/ActionMenu2.mdx +0 -302
  110. package/docs/content/focusTrap.mdx +0 -103
  111. package/docs/content/focusZone.mdx +0 -145
  112. package/docs/content/getting-started.md +0 -138
  113. package/docs/content/index.md +0 -33
  114. package/docs/content/linting.md +0 -35
  115. package/docs/content/overriding-styles.mdx +0 -82
  116. package/docs/content/philosophy.md +0 -23
  117. package/docs/content/primer-theme.md +0 -89
  118. package/docs/content/ssr.mdx +0 -43
  119. package/docs/content/status.mdx +0 -10
  120. package/docs/content/system-props.mdx +0 -37
  121. package/docs/content/theme-reference.md +0 -16
  122. package/docs/content/theming.md +0 -272
  123. package/docs/content/useOnEscapePress.mdx +0 -56
  124. package/docs/content/useOnOutsideClick.mdx +0 -57
  125. package/docs/content/useOpenAndCloseFocus.mdx +0 -49
  126. package/docs/content/useOverlay.mdx +0 -62
  127. package/docs/content/useSafeTimeout.mdx +0 -32
  128. package/docs/gatsby-config.js +0 -30
  129. package/docs/gatsby-node.js +0 -101
  130. package/docs/package-lock.json +0 -20867
  131. package/docs/package.json +0 -36
  132. package/docs/src/@primer/gatsby-theme-doctocat/components/hero.js +0 -21
  133. package/docs/src/@primer/gatsby-theme-doctocat/components/live-preview-wrapper.js +0 -41
  134. package/docs/src/@primer/gatsby-theme-doctocat/live-code-scope.js +0 -81
  135. package/docs/src/@primer/gatsby-theme-doctocat/mdx-components.js +0 -22
  136. package/docs/src/@primer/gatsby-theme-doctocat/nav.yml +0 -141
  137. package/docs/src/@primer/gatsby-theme-doctocat/primer-components-hero.svg +0 -1411
  138. package/docs/src/component-checklist.js +0 -89
  139. package/docs/src/component-statuses.js +0 -74
  140. package/docs/src/props-table.js +0 -165
  141. package/docs/src/props.js +0 -63
  142. package/jest.config.js +0 -13
  143. package/lib/__tests__/ActionList.test.d.ts +0 -1
  144. package/lib/__tests__/ActionList.test.js +0 -69
  145. package/lib/__tests__/ActionList.types.test.d.ts +0 -6
  146. package/lib/__tests__/ActionList.types.test.js +0 -69
  147. package/lib/__tests__/ActionList2.test.d.ts +0 -2
  148. package/lib/__tests__/ActionList2.test.js +0 -170
  149. package/lib/__tests__/ActionMenu.test.d.ts +0 -1
  150. package/lib/__tests__/ActionMenu.test.js +0 -151
  151. package/lib/__tests__/AnchoredOverlay.test.d.ts +0 -1
  152. package/lib/__tests__/AnchoredOverlay.test.js +0 -162
  153. package/lib/__tests__/Autocomplete.test.d.ts +0 -1
  154. package/lib/__tests__/Autocomplete.test.js +0 -528
  155. package/lib/__tests__/Avatar.test.d.ts +0 -1
  156. package/lib/__tests__/Avatar.test.js +0 -69
  157. package/lib/__tests__/Avatar.types.test.d.ts +0 -3
  158. package/lib/__tests__/Avatar.types.test.js +0 -31
  159. package/lib/__tests__/AvatarStack.test.d.ts +0 -1
  160. package/lib/__tests__/AvatarStack.test.js +0 -71
  161. package/lib/__tests__/BorderBox.test.d.ts +0 -1
  162. package/lib/__tests__/BorderBox.test.js +0 -58
  163. package/lib/__tests__/Box.test.d.ts +0 -1
  164. package/lib/__tests__/Box.test.js +0 -78
  165. package/lib/__tests__/BranchName.test.d.ts +0 -1
  166. package/lib/__tests__/BranchName.test.js +0 -36
  167. package/lib/__tests__/BranchName.types.test.d.ts +0 -3
  168. package/lib/__tests__/BranchName.types.test.js +0 -28
  169. package/lib/__tests__/Breadcrumbs.test.d.ts +0 -1
  170. package/lib/__tests__/Breadcrumbs.test.js +0 -40
  171. package/lib/__tests__/Breadcrumbs.types.test.d.ts +0 -3
  172. package/lib/__tests__/Breadcrumbs.types.test.js +0 -25
  173. package/lib/__tests__/BreadcrumbsItem.test.d.ts +0 -1
  174. package/lib/__tests__/BreadcrumbsItem.test.js +0 -49
  175. package/lib/__tests__/Button.test.d.ts +0 -1
  176. package/lib/__tests__/Button.test.js +0 -147
  177. package/lib/__tests__/Caret.test.d.ts +0 -1
  178. package/lib/__tests__/Caret.test.js +0 -52
  179. package/lib/__tests__/Checkbox.test.d.ts +0 -2
  180. package/lib/__tests__/Checkbox.test.js +0 -189
  181. package/lib/__tests__/CircleBadge.test.d.ts +0 -1
  182. package/lib/__tests__/CircleBadge.test.js +0 -83
  183. package/lib/__tests__/CircleBadge.types.test.d.ts +0 -3
  184. package/lib/__tests__/CircleBadge.types.test.js +0 -28
  185. package/lib/__tests__/CircleOcticon.test.d.ts +0 -1
  186. package/lib/__tests__/CircleOcticon.test.js +0 -71
  187. package/lib/__tests__/ConfirmationDialog.test.d.ts +0 -1
  188. package/lib/__tests__/ConfirmationDialog.test.js +0 -134
  189. package/lib/__tests__/CounterLabel.test.d.ts +0 -1
  190. package/lib/__tests__/CounterLabel.test.js +0 -58
  191. package/lib/__tests__/CounterLabel.types.test.d.ts +0 -3
  192. package/lib/__tests__/CounterLabel.types.test.js +0 -28
  193. package/lib/__tests__/Details.test.d.ts +0 -1
  194. package/lib/__tests__/Details.test.js +0 -117
  195. package/lib/__tests__/Details.types.test.d.ts +0 -3
  196. package/lib/__tests__/Details.types.test.js +0 -28
  197. package/lib/__tests__/Dialog.test.d.ts +0 -1
  198. package/lib/__tests__/Dialog.test.js +0 -184
  199. package/lib/__tests__/Dialog.types.test.d.ts +0 -3
  200. package/lib/__tests__/Dialog.types.test.js +0 -28
  201. package/lib/__tests__/Dialog2.types.test.d.ts +0 -3
  202. package/lib/__tests__/Dialog2.types.test.js +0 -31
  203. package/lib/__tests__/Dropdown.test.d.ts +0 -1
  204. package/lib/__tests__/Dropdown.test.js +0 -63
  205. package/lib/__tests__/Dropdown.types.test.d.ts +0 -3
  206. package/lib/__tests__/Dropdown.types.test.js +0 -31
  207. package/lib/__tests__/DropdownMenu.test.d.ts +0 -1
  208. package/lib/__tests__/DropdownMenu.test.js +0 -150
  209. package/lib/__tests__/FilterList.test.d.ts +0 -1
  210. package/lib/__tests__/FilterList.test.js +0 -36
  211. package/lib/__tests__/FilterList.types.test.d.ts +0 -3
  212. package/lib/__tests__/FilterList.types.test.js +0 -27
  213. package/lib/__tests__/FilterListItem.test.d.ts +0 -1
  214. package/lib/__tests__/FilterListItem.test.js +0 -46
  215. package/lib/__tests__/FilteredSearch.test.d.ts +0 -1
  216. package/lib/__tests__/FilteredSearch.test.js +0 -36
  217. package/lib/__tests__/FilteredSearch.types.test.d.ts +0 -3
  218. package/lib/__tests__/FilteredSearch.types.test.js +0 -28
  219. package/lib/__tests__/Flash.test.d.ts +0 -1
  220. package/lib/__tests__/Flash.test.js +0 -62
  221. package/lib/__tests__/Flash.types.test.d.ts +0 -3
  222. package/lib/__tests__/Flash.types.test.js +0 -28
  223. package/lib/__tests__/Flex.test.d.ts +0 -1
  224. package/lib/__tests__/Flex.test.js +0 -74
  225. package/lib/__tests__/FormGroup.test.d.ts +0 -1
  226. package/lib/__tests__/FormGroup.test.js +0 -54
  227. package/lib/__tests__/FormGroup.types.test.d.ts +0 -3
  228. package/lib/__tests__/FormGroup.types.test.js +0 -28
  229. package/lib/__tests__/Grid.test.d.ts +0 -1
  230. package/lib/__tests__/Grid.test.js +0 -104
  231. package/lib/__tests__/Header.test.d.ts +0 -1
  232. package/lib/__tests__/Header.test.js +0 -58
  233. package/lib/__tests__/Header.types.test.d.ts +0 -3
  234. package/lib/__tests__/Header.types.test.js +0 -29
  235. package/lib/__tests__/Heading.test.d.ts +0 -1
  236. package/lib/__tests__/Heading.test.js +0 -142
  237. package/lib/__tests__/Heading.types.test.d.ts +0 -3
  238. package/lib/__tests__/Heading.types.test.js +0 -28
  239. package/lib/__tests__/KeyPaths.types.test.d.ts +0 -11
  240. package/lib/__tests__/KeyPaths.types.test.js +0 -10
  241. package/lib/__tests__/Label.test.d.ts +0 -1
  242. package/lib/__tests__/Label.test.js +0 -46
  243. package/lib/__tests__/Label.types.test.d.ts +0 -3
  244. package/lib/__tests__/Label.types.test.js +0 -28
  245. package/lib/__tests__/LabelGroup.test.d.ts +0 -1
  246. package/lib/__tests__/LabelGroup.test.js +0 -38
  247. package/lib/__tests__/LabelGroup.types.test.d.ts +0 -3
  248. package/lib/__tests__/LabelGroup.types.test.js +0 -28
  249. package/lib/__tests__/Link.test.d.ts +0 -1
  250. package/lib/__tests__/Link.test.js +0 -76
  251. package/lib/__tests__/Link.types.test.d.ts +0 -3
  252. package/lib/__tests__/Link.types.test.js +0 -28
  253. package/lib/__tests__/Merge.types.test.d.ts +0 -30
  254. package/lib/__tests__/Merge.types.test.js +0 -27
  255. package/lib/__tests__/NewButton.test.d.ts +0 -1
  256. package/lib/__tests__/NewButton.test.js +0 -95
  257. package/lib/__tests__/Overlay.test.d.ts +0 -1
  258. package/lib/__tests__/Overlay.test.js +0 -145
  259. package/lib/__tests__/Overlay.types.test.d.ts +0 -6
  260. package/lib/__tests__/Overlay.types.test.js +0 -73
  261. package/lib/__tests__/Pagehead.test.d.ts +0 -1
  262. package/lib/__tests__/Pagehead.test.js +0 -37
  263. package/lib/__tests__/Pagehead.types.test.d.ts +0 -3
  264. package/lib/__tests__/Pagehead.types.test.js +0 -28
  265. package/lib/__tests__/Pagination/Pagination.test.d.ts +0 -1
  266. package/lib/__tests__/Pagination/Pagination.test.js +0 -47
  267. package/lib/__tests__/Pagination/PaginationModel.test.d.ts +0 -1
  268. package/lib/__tests__/Pagination/PaginationModel.test.js +0 -186
  269. package/lib/__tests__/Pagination.types.test.d.ts +0 -3
  270. package/lib/__tests__/Pagination.types.test.js +0 -33
  271. package/lib/__tests__/PointerBox.test.d.ts +0 -1
  272. package/lib/__tests__/PointerBox.test.js +0 -46
  273. package/lib/__tests__/Popover.test.d.ts +0 -1
  274. package/lib/__tests__/Popover.test.js +0 -66
  275. package/lib/__tests__/Popover.types.test.d.ts +0 -3
  276. package/lib/__tests__/Popover.types.test.js +0 -27
  277. package/lib/__tests__/Portal.test.d.ts +0 -1
  278. package/lib/__tests__/Portal.test.js +0 -124
  279. package/lib/__tests__/Position.test.d.ts +0 -1
  280. package/lib/__tests__/Position.test.js +0 -143
  281. package/lib/__tests__/ProgressBar.test.d.ts +0 -1
  282. package/lib/__tests__/ProgressBar.test.js +0 -68
  283. package/lib/__tests__/Radio.test.d.ts +0 -2
  284. package/lib/__tests__/Radio.test.js +0 -202
  285. package/lib/__tests__/SelectMenu.test.d.ts +0 -1
  286. package/lib/__tests__/SelectMenu.test.js +0 -155
  287. package/lib/__tests__/SelectMenu.types.test.d.ts +0 -3
  288. package/lib/__tests__/SelectMenu.types.test.js +0 -47
  289. package/lib/__tests__/SelectPanel.test.d.ts +0 -1
  290. package/lib/__tests__/SelectPanel.test.js +0 -80
  291. package/lib/__tests__/SelectPanel.types.test.d.ts +0 -3
  292. package/lib/__tests__/SelectPanel.types.test.js +0 -44
  293. package/lib/__tests__/SideNav.test.d.ts +0 -1
  294. package/lib/__tests__/SideNav.test.js +0 -71
  295. package/lib/__tests__/SideNav.types.test.d.ts +0 -3
  296. package/lib/__tests__/SideNav.types.test.js +0 -28
  297. package/lib/__tests__/Spinner.test.d.ts +0 -1
  298. package/lib/__tests__/Spinner.test.js +0 -53
  299. package/lib/__tests__/StateLabel.test.d.ts +0 -1
  300. package/lib/__tests__/StateLabel.test.js +0 -71
  301. package/lib/__tests__/StateLabel.types.test.d.ts +0 -3
  302. package/lib/__tests__/StateLabel.types.test.js +0 -28
  303. package/lib/__tests__/StyledOcticon.test.d.ts +0 -1
  304. package/lib/__tests__/StyledOcticon.test.js +0 -40
  305. package/lib/__tests__/StyledOcticon.types.test.d.ts +0 -3
  306. package/lib/__tests__/StyledOcticon.types.test.js +0 -32
  307. package/lib/__tests__/SubNav.test.d.ts +0 -1
  308. package/lib/__tests__/SubNav.test.js +0 -62
  309. package/lib/__tests__/SubNav.types.test.d.ts +0 -3
  310. package/lib/__tests__/SubNav.types.test.js +0 -27
  311. package/lib/__tests__/SubNavLink.test.d.ts +0 -1
  312. package/lib/__tests__/SubNavLink.test.js +0 -49
  313. package/lib/__tests__/TabNav.test.d.ts +0 -1
  314. package/lib/__tests__/TabNav.test.js +0 -49
  315. package/lib/__tests__/TabNav.types.test.d.ts +0 -3
  316. package/lib/__tests__/TabNav.types.test.js +0 -25
  317. package/lib/__tests__/Text.test.d.ts +0 -1
  318. package/lib/__tests__/Text.test.js +0 -105
  319. package/lib/__tests__/TextInput.test.d.ts +0 -1
  320. package/lib/__tests__/TextInput.test.js +0 -78
  321. package/lib/__tests__/TextInputWithTokens.test.d.ts +0 -1
  322. package/lib/__tests__/TextInputWithTokens.test.js +0 -572
  323. package/lib/__tests__/ThemeProvider.test.d.ts +0 -1
  324. package/lib/__tests__/ThemeProvider.test.js +0 -558
  325. package/lib/__tests__/Timeline.test.d.ts +0 -1
  326. package/lib/__tests__/Timeline.test.js +0 -75
  327. package/lib/__tests__/Timeline.types.test.d.ts +0 -3
  328. package/lib/__tests__/Timeline.types.test.js +0 -31
  329. package/lib/__tests__/Token.test.d.ts +0 -1
  330. package/lib/__tests__/Token.test.js +0 -180
  331. package/lib/__tests__/Tooltip.test.d.ts +0 -1
  332. package/lib/__tests__/Tooltip.test.js +0 -69
  333. package/lib/__tests__/Tooltip.types.test.d.ts +0 -3
  334. package/lib/__tests__/Tooltip.types.test.js +0 -28
  335. package/lib/__tests__/Truncate.test.d.ts +0 -1
  336. package/lib/__tests__/Truncate.test.js +0 -63
  337. package/lib/__tests__/Truncate.types.test.d.ts +0 -3
  338. package/lib/__tests__/Truncate.types.test.js +0 -31
  339. package/lib/__tests__/UnderlineNav.test.d.ts +0 -1
  340. package/lib/__tests__/UnderlineNav.test.js +0 -72
  341. package/lib/__tests__/UnderlineNav.types.test.d.ts +0 -3
  342. package/lib/__tests__/UnderlineNav.types.test.js +0 -25
  343. package/lib/__tests__/UnderlineNavLink.test.d.ts +0 -1
  344. package/lib/__tests__/UnderlineNavLink.test.js +0 -51
  345. package/lib/__tests__/behaviors/anchoredPosition.test.d.ts +0 -1
  346. package/lib/__tests__/behaviors/anchoredPosition.test.js +0 -390
  347. package/lib/__tests__/behaviors/focusTrap.test.d.ts +0 -1
  348. package/lib/__tests__/behaviors/focusTrap.test.js +0 -234
  349. package/lib/__tests__/behaviors/focusZone.test.d.ts +0 -1
  350. package/lib/__tests__/behaviors/focusZone.test.js +0 -570
  351. package/lib/__tests__/behaviors/iterateFocusableElements.test.d.ts +0 -1
  352. package/lib/__tests__/behaviors/iterateFocusableElements.test.js +0 -55
  353. package/lib/__tests__/behaviors/scrollIntoViewingArea.test.d.ts +0 -1
  354. package/lib/__tests__/behaviors/scrollIntoViewingArea.test.js +0 -226
  355. package/lib/__tests__/filterObject.test.d.ts +0 -1
  356. package/lib/__tests__/filterObject.test.js +0 -30
  357. package/lib/__tests__/hooks/useAnchoredPosition.test.d.ts +0 -1
  358. package/lib/__tests__/hooks/useAnchoredPosition.test.js +0 -54
  359. package/lib/__tests__/hooks/useOnEscapePress.test.d.ts +0 -1
  360. package/lib/__tests__/hooks/useOnEscapePress.test.js +0 -32
  361. package/lib/__tests__/hooks/useOnOutsideClick.test.d.ts +0 -1
  362. package/lib/__tests__/hooks/useOnOutsideClick.test.js +0 -87
  363. package/lib/__tests__/hooks/useOpenAndCloseFocus.test.d.ts +0 -1
  364. package/lib/__tests__/hooks/useOpenAndCloseFocus.test.js +0 -60
  365. package/lib/__tests__/hooks/useProvidedStateOrCreate.test.d.ts +0 -1
  366. package/lib/__tests__/hooks/useProvidedStateOrCreate.test.js +0 -45
  367. package/lib/__tests__/theme.test.d.ts +0 -1
  368. package/lib/__tests__/theme.test.js +0 -36
  369. package/lib/__tests__/themeGet.test.d.ts +0 -1
  370. package/lib/__tests__/themeGet.test.js +0 -25
  371. package/lib/__tests__/themePreval.test.d.ts +0 -1
  372. package/lib/__tests__/themePreval.test.js +0 -14
  373. package/lib/__tests__/useSafeTimeout.test.d.ts +0 -1
  374. package/lib/__tests__/useSafeTimeout.test.js +0 -45
  375. package/lib/__tests__/utils/createSlots.test.d.ts +0 -1
  376. package/lib/__tests__/utils/createSlots.test.js +0 -75
  377. package/lib/stories/ActionList.stories.js +0 -454
  378. package/lib/stories/ActionList2.stories.js +0 -923
  379. package/lib/stories/ActionMenu.stories.js +0 -348
  380. package/lib/stories/ActionMenu2.stories.js +0 -455
  381. package/lib/stories/AnchoredOverlay.stories.js +0 -127
  382. package/lib/stories/Autocomplete.stories.js +0 -619
  383. package/lib/stories/AvatarStack.stories.js +0 -49
  384. package/lib/stories/Button.stories.js +0 -125
  385. package/lib/stories/Checkbox.stories.js +0 -227
  386. package/lib/stories/ConfirmationDialog.stories.js +0 -119
  387. package/lib/stories/Dialog.stories.js +0 -269
  388. package/lib/stories/DropdownMenu.stories.js +0 -122
  389. package/lib/stories/IssueLabelToken.stories.js +0 -165
  390. package/lib/stories/NewButton.stories.js +0 -230
  391. package/lib/stories/Overlay.stories.js +0 -204
  392. package/lib/stories/Portal.stories.js +0 -104
  393. package/lib/stories/ProfileToken.stories.js +0 -162
  394. package/lib/stories/Radio.stories.js +0 -146
  395. package/lib/stories/SelectPanel.stories.js +0 -399
  396. package/lib/stories/TextInput.stories.js +0 -144
  397. package/lib/stories/TextInputWithTokens.stories.js +0 -252
  398. package/lib/stories/ThemeProvider.stories.js +0 -98
  399. package/lib/stories/Token.stories.js +0 -176
  400. package/lib/stories/useAnchoredPosition.stories.js +0 -351
  401. package/lib/stories/useFocusTrap.stories.js +0 -350
  402. package/lib/stories/useFocusZone.stories.js +0 -603
  403. package/lib-esm/__tests__/ActionList.test.d.ts +0 -1
  404. package/lib-esm/__tests__/ActionList.test.js +0 -57
  405. package/lib-esm/__tests__/ActionList.types.test.d.ts +0 -6
  406. package/lib-esm/__tests__/ActionList.types.test.js +0 -45
  407. package/lib-esm/__tests__/ActionList2.test.d.ts +0 -2
  408. package/lib-esm/__tests__/ActionList2.test.js +0 -144
  409. package/lib-esm/__tests__/ActionMenu.test.d.ts +0 -1
  410. package/lib-esm/__tests__/ActionMenu.test.js +0 -139
  411. package/lib-esm/__tests__/AnchoredOverlay.test.d.ts +0 -1
  412. package/lib-esm/__tests__/AnchoredOverlay.test.js +0 -136
  413. package/lib-esm/__tests__/Autocomplete.test.d.ts +0 -1
  414. package/lib-esm/__tests__/Autocomplete.test.js +0 -494
  415. package/lib-esm/__tests__/Avatar.test.d.ts +0 -1
  416. package/lib-esm/__tests__/Avatar.test.js +0 -58
  417. package/lib-esm/__tests__/Avatar.types.test.d.ts +0 -3
  418. package/lib-esm/__tests__/Avatar.types.test.js +0 -16
  419. package/lib-esm/__tests__/AvatarStack.test.d.ts +0 -1
  420. package/lib-esm/__tests__/AvatarStack.test.js +0 -58
  421. package/lib-esm/__tests__/BorderBox.test.d.ts +0 -1
  422. package/lib-esm/__tests__/BorderBox.test.js +0 -47
  423. package/lib-esm/__tests__/Box.test.d.ts +0 -1
  424. package/lib-esm/__tests__/Box.test.js +0 -67
  425. package/lib-esm/__tests__/BranchName.test.d.ts +0 -1
  426. package/lib-esm/__tests__/BranchName.test.js +0 -26
  427. package/lib-esm/__tests__/BranchName.types.test.d.ts +0 -3
  428. package/lib-esm/__tests__/BranchName.types.test.js +0 -13
  429. package/lib-esm/__tests__/Breadcrumbs.test.d.ts +0 -1
  430. package/lib-esm/__tests__/Breadcrumbs.test.js +0 -30
  431. package/lib-esm/__tests__/Breadcrumbs.types.test.d.ts +0 -3
  432. package/lib-esm/__tests__/Breadcrumbs.types.test.js +0 -12
  433. package/lib-esm/__tests__/BreadcrumbsItem.test.d.ts +0 -1
  434. package/lib-esm/__tests__/BreadcrumbsItem.test.js +0 -39
  435. package/lib-esm/__tests__/Button.test.d.ts +0 -1
  436. package/lib-esm/__tests__/Button.test.js +0 -137
  437. package/lib-esm/__tests__/Caret.test.d.ts +0 -1
  438. package/lib-esm/__tests__/Caret.test.js +0 -42
  439. package/lib-esm/__tests__/Checkbox.test.d.ts +0 -2
  440. package/lib-esm/__tests__/Checkbox.test.js +0 -169
  441. package/lib-esm/__tests__/CircleBadge.test.d.ts +0 -1
  442. package/lib-esm/__tests__/CircleBadge.test.js +0 -70
  443. package/lib-esm/__tests__/CircleBadge.types.test.d.ts +0 -3
  444. package/lib-esm/__tests__/CircleBadge.types.test.js +0 -13
  445. package/lib-esm/__tests__/CircleOcticon.test.d.ts +0 -1
  446. package/lib-esm/__tests__/CircleOcticon.test.js +0 -59
  447. package/lib-esm/__tests__/ConfirmationDialog.test.d.ts +0 -1
  448. package/lib-esm/__tests__/ConfirmationDialog.test.js +0 -113
  449. package/lib-esm/__tests__/CounterLabel.test.d.ts +0 -1
  450. package/lib-esm/__tests__/CounterLabel.test.js +0 -47
  451. package/lib-esm/__tests__/CounterLabel.types.test.d.ts +0 -3
  452. package/lib-esm/__tests__/CounterLabel.types.test.js +0 -13
  453. package/lib-esm/__tests__/Details.test.d.ts +0 -1
  454. package/lib-esm/__tests__/Details.test.js +0 -107
  455. package/lib-esm/__tests__/Details.types.test.d.ts +0 -3
  456. package/lib-esm/__tests__/Details.types.test.js +0 -13
  457. package/lib-esm/__tests__/Dialog.test.d.ts +0 -1
  458. package/lib-esm/__tests__/Dialog.test.js +0 -171
  459. package/lib-esm/__tests__/Dialog.types.test.d.ts +0 -3
  460. package/lib-esm/__tests__/Dialog.types.test.js +0 -13
  461. package/lib-esm/__tests__/Dialog2.types.test.d.ts +0 -3
  462. package/lib-esm/__tests__/Dialog2.types.test.js +0 -16
  463. package/lib-esm/__tests__/Dropdown.test.d.ts +0 -1
  464. package/lib-esm/__tests__/Dropdown.test.js +0 -53
  465. package/lib-esm/__tests__/Dropdown.types.test.d.ts +0 -3
  466. package/lib-esm/__tests__/Dropdown.types.test.js +0 -17
  467. package/lib-esm/__tests__/DropdownMenu.test.d.ts +0 -1
  468. package/lib-esm/__tests__/DropdownMenu.test.js +0 -137
  469. package/lib-esm/__tests__/FilterList.test.d.ts +0 -1
  470. package/lib-esm/__tests__/FilterList.test.js +0 -26
  471. package/lib-esm/__tests__/FilterList.types.test.d.ts +0 -3
  472. package/lib-esm/__tests__/FilterList.types.test.js +0 -13
  473. package/lib-esm/__tests__/FilterListItem.test.d.ts +0 -1
  474. package/lib-esm/__tests__/FilterListItem.test.js +0 -36
  475. package/lib-esm/__tests__/FilteredSearch.test.d.ts +0 -1
  476. package/lib-esm/__tests__/FilteredSearch.test.js +0 -26
  477. package/lib-esm/__tests__/FilteredSearch.types.test.d.ts +0 -3
  478. package/lib-esm/__tests__/FilteredSearch.types.test.js +0 -13
  479. package/lib-esm/__tests__/Flash.test.d.ts +0 -1
  480. package/lib-esm/__tests__/Flash.test.js +0 -51
  481. package/lib-esm/__tests__/Flash.types.test.d.ts +0 -3
  482. package/lib-esm/__tests__/Flash.types.test.js +0 -13
  483. package/lib-esm/__tests__/Flex.test.d.ts +0 -1
  484. package/lib-esm/__tests__/Flex.test.js +0 -64
  485. package/lib-esm/__tests__/FormGroup.test.d.ts +0 -1
  486. package/lib-esm/__tests__/FormGroup.test.js +0 -44
  487. package/lib-esm/__tests__/FormGroup.types.test.d.ts +0 -3
  488. package/lib-esm/__tests__/FormGroup.types.test.js +0 -13
  489. package/lib-esm/__tests__/Grid.test.d.ts +0 -1
  490. package/lib-esm/__tests__/Grid.test.js +0 -94
  491. package/lib-esm/__tests__/Header.test.d.ts +0 -1
  492. package/lib-esm/__tests__/Header.test.js +0 -48
  493. package/lib-esm/__tests__/Header.types.test.d.ts +0 -3
  494. package/lib-esm/__tests__/Header.types.test.js +0 -15
  495. package/lib-esm/__tests__/Heading.test.d.ts +0 -1
  496. package/lib-esm/__tests__/Heading.test.js +0 -131
  497. package/lib-esm/__tests__/Heading.types.test.d.ts +0 -3
  498. package/lib-esm/__tests__/Heading.types.test.js +0 -13
  499. package/lib-esm/__tests__/KeyPaths.types.test.d.ts +0 -11
  500. package/lib-esm/__tests__/KeyPaths.types.test.js +0 -3
  501. package/lib-esm/__tests__/Label.test.d.ts +0 -1
  502. package/lib-esm/__tests__/Label.test.js +0 -36
  503. package/lib-esm/__tests__/Label.types.test.d.ts +0 -3
  504. package/lib-esm/__tests__/Label.types.test.js +0 -13
  505. package/lib-esm/__tests__/LabelGroup.test.d.ts +0 -1
  506. package/lib-esm/__tests__/LabelGroup.test.js +0 -26
  507. package/lib-esm/__tests__/LabelGroup.types.test.d.ts +0 -3
  508. package/lib-esm/__tests__/LabelGroup.types.test.js +0 -13
  509. package/lib-esm/__tests__/Link.test.d.ts +0 -1
  510. package/lib-esm/__tests__/Link.test.js +0 -66
  511. package/lib-esm/__tests__/Link.types.test.d.ts +0 -3
  512. package/lib-esm/__tests__/Link.types.test.js +0 -13
  513. package/lib-esm/__tests__/Merge.types.test.d.ts +0 -30
  514. package/lib-esm/__tests__/Merge.types.test.js +0 -14
  515. package/lib-esm/__tests__/NewButton.test.d.ts +0 -1
  516. package/lib-esm/__tests__/NewButton.test.js +0 -84
  517. package/lib-esm/__tests__/Overlay.test.d.ts +0 -1
  518. package/lib-esm/__tests__/Overlay.test.js +0 -123
  519. package/lib-esm/__tests__/Overlay.types.test.d.ts +0 -6
  520. package/lib-esm/__tests__/Overlay.types.test.js +0 -49
  521. package/lib-esm/__tests__/Pagehead.test.d.ts +0 -1
  522. package/lib-esm/__tests__/Pagehead.test.js +0 -26
  523. package/lib-esm/__tests__/Pagehead.types.test.d.ts +0 -3
  524. package/lib-esm/__tests__/Pagehead.types.test.js +0 -13
  525. package/lib-esm/__tests__/Pagination/Pagination.test.d.ts +0 -1
  526. package/lib-esm/__tests__/Pagination/Pagination.test.js +0 -35
  527. package/lib-esm/__tests__/Pagination/PaginationModel.test.d.ts +0 -1
  528. package/lib-esm/__tests__/Pagination/PaginationModel.test.js +0 -182
  529. package/lib-esm/__tests__/Pagination.types.test.d.ts +0 -3
  530. package/lib-esm/__tests__/Pagination.types.test.js +0 -18
  531. package/lib-esm/__tests__/PointerBox.test.d.ts +0 -1
  532. package/lib-esm/__tests__/PointerBox.test.js +0 -36
  533. package/lib-esm/__tests__/Popover.test.d.ts +0 -1
  534. package/lib-esm/__tests__/Popover.test.js +0 -53
  535. package/lib-esm/__tests__/Popover.types.test.d.ts +0 -3
  536. package/lib-esm/__tests__/Popover.types.test.js +0 -13
  537. package/lib-esm/__tests__/Portal.test.d.ts +0 -1
  538. package/lib-esm/__tests__/Portal.test.js +0 -104
  539. package/lib-esm/__tests__/Position.test.d.ts +0 -1
  540. package/lib-esm/__tests__/Position.test.js +0 -133
  541. package/lib-esm/__tests__/ProgressBar.test.d.ts +0 -1
  542. package/lib-esm/__tests__/ProgressBar.test.js +0 -58
  543. package/lib-esm/__tests__/Radio.test.d.ts +0 -2
  544. package/lib-esm/__tests__/Radio.test.js +0 -183
  545. package/lib-esm/__tests__/SelectMenu.test.d.ts +0 -1
  546. package/lib-esm/__tests__/SelectMenu.test.js +0 -145
  547. package/lib-esm/__tests__/SelectMenu.types.test.d.ts +0 -3
  548. package/lib-esm/__tests__/SelectMenu.types.test.js +0 -33
  549. package/lib-esm/__tests__/SelectPanel.test.d.ts +0 -1
  550. package/lib-esm/__tests__/SelectPanel.test.js +0 -65
  551. package/lib-esm/__tests__/SelectPanel.types.test.d.ts +0 -3
  552. package/lib-esm/__tests__/SelectPanel.types.test.js +0 -29
  553. package/lib-esm/__tests__/SideNav.test.d.ts +0 -1
  554. package/lib-esm/__tests__/SideNav.test.js +0 -60
  555. package/lib-esm/__tests__/SideNav.types.test.d.ts +0 -3
  556. package/lib-esm/__tests__/SideNav.types.test.js +0 -13
  557. package/lib-esm/__tests__/Spinner.test.d.ts +0 -1
  558. package/lib-esm/__tests__/Spinner.test.js +0 -43
  559. package/lib-esm/__tests__/StateLabel.test.d.ts +0 -1
  560. package/lib-esm/__tests__/StateLabel.test.js +0 -61
  561. package/lib-esm/__tests__/StateLabel.types.test.d.ts +0 -3
  562. package/lib-esm/__tests__/StateLabel.types.test.js +0 -13
  563. package/lib-esm/__tests__/StyledOcticon.test.d.ts +0 -1
  564. package/lib-esm/__tests__/StyledOcticon.test.js +0 -29
  565. package/lib-esm/__tests__/StyledOcticon.types.test.d.ts +0 -3
  566. package/lib-esm/__tests__/StyledOcticon.types.test.js +0 -16
  567. package/lib-esm/__tests__/SubNav.test.d.ts +0 -1
  568. package/lib-esm/__tests__/SubNav.test.js +0 -50
  569. package/lib-esm/__tests__/SubNav.types.test.d.ts +0 -3
  570. package/lib-esm/__tests__/SubNav.types.test.js +0 -14
  571. package/lib-esm/__tests__/SubNavLink.test.d.ts +0 -1
  572. package/lib-esm/__tests__/SubNavLink.test.js +0 -39
  573. package/lib-esm/__tests__/TabNav.test.d.ts +0 -1
  574. package/lib-esm/__tests__/TabNav.test.js +0 -39
  575. package/lib-esm/__tests__/TabNav.types.test.d.ts +0 -3
  576. package/lib-esm/__tests__/TabNav.types.test.js +0 -12
  577. package/lib-esm/__tests__/Text.test.d.ts +0 -1
  578. package/lib-esm/__tests__/Text.test.js +0 -93
  579. package/lib-esm/__tests__/TextInput.test.d.ts +0 -1
  580. package/lib-esm/__tests__/TextInput.test.js +0 -68
  581. package/lib-esm/__tests__/TextInputWithTokens.test.d.ts +0 -1
  582. package/lib-esm/__tests__/TextInputWithTokens.test.js +0 -511
  583. package/lib-esm/__tests__/ThemeProvider.test.d.ts +0 -1
  584. package/lib-esm/__tests__/ThemeProvider.test.js +0 -522
  585. package/lib-esm/__tests__/Timeline.test.d.ts +0 -1
  586. package/lib-esm/__tests__/Timeline.test.js +0 -65
  587. package/lib-esm/__tests__/Timeline.types.test.d.ts +0 -3
  588. package/lib-esm/__tests__/Timeline.types.test.js +0 -18
  589. package/lib-esm/__tests__/Token.test.d.ts +0 -1
  590. package/lib-esm/__tests__/Token.test.js +0 -166
  591. package/lib-esm/__tests__/Tooltip.test.d.ts +0 -1
  592. package/lib-esm/__tests__/Tooltip.test.js +0 -59
  593. package/lib-esm/__tests__/Tooltip.types.test.d.ts +0 -3
  594. package/lib-esm/__tests__/Tooltip.types.test.js +0 -13
  595. package/lib-esm/__tests__/Truncate.test.d.ts +0 -1
  596. package/lib-esm/__tests__/Truncate.test.js +0 -53
  597. package/lib-esm/__tests__/Truncate.types.test.d.ts +0 -3
  598. package/lib-esm/__tests__/Truncate.types.test.js +0 -16
  599. package/lib-esm/__tests__/UnderlineNav.test.d.ts +0 -1
  600. package/lib-esm/__tests__/UnderlineNav.test.js +0 -60
  601. package/lib-esm/__tests__/UnderlineNav.types.test.d.ts +0 -3
  602. package/lib-esm/__tests__/UnderlineNav.types.test.js +0 -12
  603. package/lib-esm/__tests__/UnderlineNavLink.test.d.ts +0 -1
  604. package/lib-esm/__tests__/UnderlineNavLink.test.js +0 -41
  605. package/lib-esm/__tests__/behaviors/anchoredPosition.test.d.ts +0 -1
  606. package/lib-esm/__tests__/behaviors/anchoredPosition.test.js +0 -388
  607. package/lib-esm/__tests__/behaviors/focusTrap.test.d.ts +0 -1
  608. package/lib-esm/__tests__/behaviors/focusTrap.test.js +0 -227
  609. package/lib-esm/__tests__/behaviors/focusZone.test.d.ts +0 -1
  610. package/lib-esm/__tests__/behaviors/focusZone.test.js +0 -487
  611. package/lib-esm/__tests__/behaviors/iterateFocusableElements.test.d.ts +0 -1
  612. package/lib-esm/__tests__/behaviors/iterateFocusableElements.test.js +0 -48
  613. package/lib-esm/__tests__/behaviors/scrollIntoViewingArea.test.d.ts +0 -1
  614. package/lib-esm/__tests__/behaviors/scrollIntoViewingArea.test.js +0 -224
  615. package/lib-esm/__tests__/filterObject.test.d.ts +0 -1
  616. package/lib-esm/__tests__/filterObject.test.js +0 -27
  617. package/lib-esm/__tests__/hooks/useAnchoredPosition.test.d.ts +0 -1
  618. package/lib-esm/__tests__/hooks/useAnchoredPosition.test.js +0 -46
  619. package/lib-esm/__tests__/hooks/useOnEscapePress.test.d.ts +0 -1
  620. package/lib-esm/__tests__/hooks/useOnEscapePress.test.js +0 -23
  621. package/lib-esm/__tests__/hooks/useOnOutsideClick.test.d.ts +0 -1
  622. package/lib-esm/__tests__/hooks/useOnOutsideClick.test.js +0 -68
  623. package/lib-esm/__tests__/hooks/useOpenAndCloseFocus.test.d.ts +0 -1
  624. package/lib-esm/__tests__/hooks/useOpenAndCloseFocus.test.js +0 -52
  625. package/lib-esm/__tests__/hooks/useProvidedStateOrCreate.test.d.ts +0 -1
  626. package/lib-esm/__tests__/hooks/useProvidedStateOrCreate.test.js +0 -36
  627. package/lib-esm/__tests__/theme.test.d.ts +0 -1
  628. package/lib-esm/__tests__/theme.test.js +0 -33
  629. package/lib-esm/__tests__/themeGet.test.d.ts +0 -1
  630. package/lib-esm/__tests__/themeGet.test.js +0 -22
  631. package/lib-esm/__tests__/themePreval.test.d.ts +0 -1
  632. package/lib-esm/__tests__/themePreval.test.js +0 -7
  633. package/lib-esm/__tests__/useSafeTimeout.test.d.ts +0 -1
  634. package/lib-esm/__tests__/useSafeTimeout.test.js +0 -39
  635. package/lib-esm/__tests__/utils/createSlots.test.d.ts +0 -1
  636. package/lib-esm/__tests__/utils/createSlots.test.js +0 -67
  637. package/lib-esm/stories/ActionList.stories.js +0 -395
  638. package/lib-esm/stories/ActionList2.stories.js +0 -811
  639. package/lib-esm/stories/ActionMenu.stories.js +0 -303
  640. package/lib-esm/stories/ActionMenu2.stories.js +0 -393
  641. package/lib-esm/stories/AnchoredOverlay.stories.js +0 -101
  642. package/lib-esm/stories/Autocomplete.stories.js +0 -560
  643. package/lib-esm/stories/AvatarStack.stories.js +0 -32
  644. package/lib-esm/stories/Button.stories.js +0 -86
  645. package/lib-esm/stories/Checkbox.stories.js +0 -197
  646. package/lib-esm/stories/ConfirmationDialog.stories.js +0 -94
  647. package/lib-esm/stories/Dialog.stories.js +0 -244
  648. package/lib-esm/stories/DropdownMenu.stories.js +0 -94
  649. package/lib-esm/stories/IssueLabelToken.stories.js +0 -139
  650. package/lib-esm/stories/NewButton.stories.js +0 -178
  651. package/lib-esm/stories/Overlay.stories.js +0 -173
  652. package/lib-esm/stories/Portal.stories.js +0 -68
  653. package/lib-esm/stories/ProfileToken.stories.js +0 -136
  654. package/lib-esm/stories/Radio.stories.js +0 -121
  655. package/lib-esm/stories/SelectPanel.stories.js +0 -334
  656. package/lib-esm/stories/TextInput.stories.js +0 -117
  657. package/lib-esm/stories/TextInputWithTokens.stories.js +0 -210
  658. package/lib-esm/stories/ThemeProvider.stories.js +0 -79
  659. package/lib-esm/stories/Token.stories.js +0 -146
  660. package/lib-esm/stories/useAnchoredPosition.stories.js +0 -313
  661. package/lib-esm/stories/useFocusTrap.stories.js +0 -303
  662. package/lib-esm/stories/useFocusZone.stories.js +0 -558
  663. package/migrating.md +0 -250
  664. package/now.json +0 -17
  665. package/package-lock.json +0 -64490
  666. package/rollup.config.js +0 -36
  667. package/script/build +0 -21
  668. package/script/build-storybook +0 -10
  669. package/script/component-status-project/build.ts +0 -100
  670. package/script/component-status-project/deploy.rb +0 -142
  671. package/script/setup +0 -12
  672. package/src/ActionList/Divider.tsx +0 -25
  673. package/src/ActionList/Group.tsx +0 -45
  674. package/src/ActionList/Header.tsx +0 -74
  675. package/src/ActionList/Item.tsx +0 -481
  676. package/src/ActionList/List.tsx +0 -258
  677. package/src/ActionList/index.ts +0 -21
  678. package/src/ActionList2/ActionListContainerContext.tsx +0 -14
  679. package/src/ActionList2/Description.tsx +0 -52
  680. package/src/ActionList2/Divider.tsx +0 -29
  681. package/src/ActionList2/Group.tsx +0 -103
  682. package/src/ActionList2/Item.tsx +0 -255
  683. package/src/ActionList2/LinkItem.tsx +0 -49
  684. package/src/ActionList2/List.tsx +0 -54
  685. package/src/ActionList2/Selection.tsx +0 -70
  686. package/src/ActionList2/Visuals.tsx +0 -76
  687. package/src/ActionList2/index.ts +0 -39
  688. package/src/ActionMenu.tsx +0 -106
  689. package/src/ActionMenu2.tsx +0 -116
  690. package/src/AnchoredOverlay/AnchoredOverlay.tsx +0 -191
  691. package/src/AnchoredOverlay/index.ts +0 -2
  692. package/src/Autocomplete/Autocomplete.tsx +0 -103
  693. package/src/Autocomplete/AutocompleteContext.tsx +0 -19
  694. package/src/Autocomplete/AutocompleteInput.tsx +0 -179
  695. package/src/Autocomplete/AutocompleteMenu.tsx +0 -341
  696. package/src/Autocomplete/AutocompleteOverlay.tsx +0 -68
  697. package/src/Autocomplete/index.ts +0 -2
  698. package/src/Avatar.tsx +0 -44
  699. package/src/AvatarPair.tsx +0 -35
  700. package/src/AvatarStack.tsx +0 -159
  701. package/src/BaseStyles.tsx +0 -53
  702. package/src/BorderBox.tsx +0 -18
  703. package/src/Box.tsx +0 -54
  704. package/src/BranchName.tsx +0 -20
  705. package/src/Breadcrumbs.tsx +0 -101
  706. package/src/Button/Button.tsx +0 -39
  707. package/src/Button/ButtonBase.tsx +0 -39
  708. package/src/Button/ButtonClose.tsx +0 -36
  709. package/src/Button/ButtonDanger.tsx +0 -42
  710. package/src/Button/ButtonGroup.tsx +0 -55
  711. package/src/Button/ButtonInvisible.tsx +0 -31
  712. package/src/Button/ButtonOutline.tsx +0 -42
  713. package/src/Button/ButtonPrimary.tsx +0 -40
  714. package/src/Button/ButtonStyles.tsx +0 -36
  715. package/src/Button/ButtonTableList.tsx +0 -45
  716. package/src/Button/index.ts +0 -16
  717. package/src/Caret.tsx +0 -133
  718. package/src/Checkbox.tsx +0 -75
  719. package/src/CircleBadge.tsx +0 -53
  720. package/src/CircleOcticon.tsx +0 -37
  721. package/src/CounterLabel.tsx +0 -50
  722. package/src/Details.tsx +0 -19
  723. package/src/Dialog/ConfirmationDialog.tsx +0 -184
  724. package/src/Dialog/Dialog.tsx +0 -444
  725. package/src/Dialog.tsx +0 -145
  726. package/src/Dropdown.tsx +0 -154
  727. package/src/DropdownMenu/DropdownButton.tsx +0 -15
  728. package/src/DropdownMenu/DropdownMenu.tsx +0 -115
  729. package/src/DropdownMenu/index.ts +0 -4
  730. package/src/DropdownStyles.ts +0 -128
  731. package/src/FilterList.tsx +0 -75
  732. package/src/FilteredActionList/FilteredActionList.tsx +0 -142
  733. package/src/FilteredActionList/index.ts +0 -2
  734. package/src/FilteredSearch.tsx +0 -27
  735. package/src/Flash.tsx +0 -75
  736. package/src/Flex.tsx +0 -15
  737. package/src/FormGroup.tsx +0 -24
  738. package/src/Grid.tsx +0 -15
  739. package/src/Header.tsx +0 -74
  740. package/src/Heading.tsx +0 -14
  741. package/src/Label.tsx +0 -72
  742. package/src/LabelGroup.tsx +0 -17
  743. package/src/Link.tsx +0 -42
  744. package/src/NewButton/button-counter.tsx +0 -15
  745. package/src/NewButton/button.tsx +0 -283
  746. package/src/NewButton/index.ts +0 -10
  747. package/src/NewButton/types.ts +0 -36
  748. package/src/Overlay.tsx +0 -203
  749. package/src/Pagehead.tsx +0 -16
  750. package/src/Pagination/Pagination.tsx +0 -212
  751. package/src/Pagination/index.ts +0 -4
  752. package/src/Pagination/model.tsx +0 -187
  753. package/src/PointerBox.tsx +0 -31
  754. package/src/Popover.tsx +0 -225
  755. package/src/Portal/Portal.tsx +0 -97
  756. package/src/Portal/index.ts +0 -5
  757. package/src/Position.tsx +0 -63
  758. package/src/ProgressBar.tsx +0 -53
  759. package/src/Radio.tsx +0 -76
  760. package/src/SelectMenu/SelectMenu.tsx +0 -123
  761. package/src/SelectMenu/SelectMenuContext.tsx +0 -9
  762. package/src/SelectMenu/SelectMenuDivider.tsx +0 -24
  763. package/src/SelectMenu/SelectMenuFilter.tsx +0 -50
  764. package/src/SelectMenu/SelectMenuFooter.tsx +0 -27
  765. package/src/SelectMenu/SelectMenuHeader.tsx +0 -48
  766. package/src/SelectMenu/SelectMenuItem.tsx +0 -136
  767. package/src/SelectMenu/SelectMenuList.tsx +0 -41
  768. package/src/SelectMenu/SelectMenuLoadingAnimation.tsx +0 -25
  769. package/src/SelectMenu/SelectMenuModal.tsx +0 -119
  770. package/src/SelectMenu/SelectMenuTab.tsx +0 -87
  771. package/src/SelectMenu/SelectMenuTabPanel.tsx +0 -29
  772. package/src/SelectMenu/SelectMenuTabs.tsx +0 -43
  773. package/src/SelectMenu/hooks/useKeyboardNav.js +0 -90
  774. package/src/SelectMenu/index.ts +0 -15
  775. package/src/SelectPanel/SelectPanel.tsx +0 -173
  776. package/src/SelectPanel/index.ts +0 -2
  777. package/src/SideNav.tsx +0 -191
  778. package/src/Spinner.tsx +0 -57
  779. package/src/StateLabel.tsx +0 -112
  780. package/src/StyledOcticon.tsx +0 -22
  781. package/src/SubNav.tsx +0 -124
  782. package/src/TabNav.tsx +0 -73
  783. package/src/Text.tsx +0 -13
  784. package/src/TextInput.tsx +0 -68
  785. package/src/TextInputWithTokens.tsx +0 -351
  786. package/src/ThemeProvider.tsx +0 -193
  787. package/src/Timeline.tsx +0 -140
  788. package/src/Token/AvatarToken.tsx +0 -54
  789. package/src/Token/IssueLabelToken.tsx +0 -150
  790. package/src/Token/Token.tsx +0 -126
  791. package/src/Token/TokenBase.tsx +0 -129
  792. package/src/Token/_RemoveTokenButton.tsx +0 -111
  793. package/src/Token/_TokenTextContainer.tsx +0 -47
  794. package/src/Token/index.ts +0 -3
  795. package/src/Tooltip.tsx +0 -263
  796. package/src/Truncate.tsx +0 -31
  797. package/src/UnderlineNav.tsx +0 -107
  798. package/src/_TextInputWrapper.tsx +0 -113
  799. package/src/_UnstyledTextInput.tsx +0 -19
  800. package/src/__tests__/.eslintrc.json +0 -11
  801. package/src/__tests__/ActionList.test.tsx +0 -53
  802. package/src/__tests__/ActionList.types.test.tsx +0 -51
  803. package/src/__tests__/ActionList2.test.tsx +0 -156
  804. package/src/__tests__/ActionMenu.test.tsx +0 -136
  805. package/src/__tests__/AnchoredOverlay.test.tsx +0 -150
  806. package/src/__tests__/Autocomplete.test.tsx +0 -444
  807. package/src/__tests__/Avatar.test.tsx +0 -44
  808. package/src/__tests__/Avatar.types.test.tsx +0 -11
  809. package/src/__tests__/AvatarStack.test.tsx +0 -48
  810. package/src/__tests__/BorderBox.test.tsx +0 -43
  811. package/src/__tests__/Box.test.tsx +0 -42
  812. package/src/__tests__/BranchName.test.tsx +0 -26
  813. package/src/__tests__/BranchName.types.test.tsx +0 -11
  814. package/src/__tests__/Breadcrumbs.test.tsx +0 -27
  815. package/src/__tests__/Breadcrumbs.types.test.tsx +0 -22
  816. package/src/__tests__/BreadcrumbsItem.test.tsx +0 -31
  817. package/src/__tests__/Button.test.tsx +0 -128
  818. package/src/__tests__/Caret.test.tsx +0 -36
  819. package/src/__tests__/Checkbox.test.tsx +0 -155
  820. package/src/__tests__/CircleBadge.test.tsx +0 -66
  821. package/src/__tests__/CircleBadge.types.test.tsx +0 -11
  822. package/src/__tests__/CircleOcticon.test.tsx +0 -50
  823. package/src/__tests__/ConfirmationDialog.test.tsx +0 -120
  824. package/src/__tests__/CounterLabel.test.tsx +0 -50
  825. package/src/__tests__/CounterLabel.types.test.tsx +0 -11
  826. package/src/__tests__/Details.test.tsx +0 -115
  827. package/src/__tests__/Details.types.test.tsx +0 -11
  828. package/src/__tests__/Dialog.test.tsx +0 -155
  829. package/src/__tests__/Dialog.types.test.tsx +0 -11
  830. package/src/__tests__/Dialog2.types.test.tsx +0 -11
  831. package/src/__tests__/Dropdown.test.tsx +0 -53
  832. package/src/__tests__/Dropdown.types.test.tsx +0 -21
  833. package/src/__tests__/DropdownMenu.test.tsx +0 -136
  834. package/src/__tests__/FilterList.test.tsx +0 -26
  835. package/src/__tests__/FilterList.types.test.tsx +0 -17
  836. package/src/__tests__/FilterListItem.test.tsx +0 -31
  837. package/src/__tests__/FilteredSearch.test.tsx +0 -26
  838. package/src/__tests__/FilteredSearch.types.test.tsx +0 -11
  839. package/src/__tests__/Flash.test.tsx +0 -45
  840. package/src/__tests__/Flash.types.test.tsx +0 -11
  841. package/src/__tests__/Flex.test.tsx +0 -58
  842. package/src/__tests__/FormGroup.test.tsx +0 -38
  843. package/src/__tests__/FormGroup.types.test.tsx +0 -11
  844. package/src/__tests__/Grid.test.tsx +0 -82
  845. package/src/__tests__/Header.test.tsx +0 -49
  846. package/src/__tests__/Header.types.test.tsx +0 -19
  847. package/src/__tests__/Heading.test.tsx +0 -137
  848. package/src/__tests__/Heading.types.test.tsx +0 -11
  849. package/src/__tests__/KeyPaths.types.test.ts +0 -14
  850. package/src/__tests__/Label.test.tsx +0 -34
  851. package/src/__tests__/Label.types.test.tsx +0 -11
  852. package/src/__tests__/LabelGroup.test.tsx +0 -30
  853. package/src/__tests__/LabelGroup.types.test.tsx +0 -11
  854. package/src/__tests__/Link.test.tsx +0 -47
  855. package/src/__tests__/Link.types.test.tsx +0 -11
  856. package/src/__tests__/Merge.types.test.ts +0 -39
  857. package/src/__tests__/NewButton.test.tsx +0 -70
  858. package/src/__tests__/Overlay.test.tsx +0 -103
  859. package/src/__tests__/Overlay.types.test.tsx +0 -33
  860. package/src/__tests__/Pagehead.test.tsx +0 -23
  861. package/src/__tests__/Pagehead.types.test.tsx +0 -11
  862. package/src/__tests__/Pagination/Pagination.test.tsx +0 -30
  863. package/src/__tests__/Pagination/PaginationModel.test.tsx +0 -133
  864. package/src/__tests__/Pagination/__snapshots__/Pagination.test.tsx.snap +0 -184
  865. package/src/__tests__/Pagination.types.test.tsx +0 -11
  866. package/src/__tests__/PointerBox.test.tsx +0 -34
  867. package/src/__tests__/Popover.test.tsx +0 -68
  868. package/src/__tests__/Popover.types.test.tsx +0 -17
  869. package/src/__tests__/Portal.test.tsx +0 -103
  870. package/src/__tests__/Position.test.tsx +0 -117
  871. package/src/__tests__/ProgressBar.test.tsx +0 -40
  872. package/src/__tests__/Radio.test.tsx +0 -174
  873. package/src/__tests__/SelectMenu.test.tsx +0 -142
  874. package/src/__tests__/SelectMenu.types.test.tsx +0 -37
  875. package/src/__tests__/SelectPanel.test.tsx +0 -63
  876. package/src/__tests__/SelectPanel.types.test.tsx +0 -31
  877. package/src/__tests__/SideNav.test.tsx +0 -62
  878. package/src/__tests__/SideNav.types.test.tsx +0 -11
  879. package/src/__tests__/Spinner.test.tsx +0 -42
  880. package/src/__tests__/StateLabel.test.tsx +0 -48
  881. package/src/__tests__/StateLabel.types.test.tsx +0 -11
  882. package/src/__tests__/StyledOcticon.test.tsx +0 -26
  883. package/src/__tests__/StyledOcticon.types.test.tsx +0 -12
  884. package/src/__tests__/SubNav.test.tsx +0 -50
  885. package/src/__tests__/SubNav.types.test.tsx +0 -25
  886. package/src/__tests__/SubNavLink.test.tsx +0 -31
  887. package/src/__tests__/TabNav.test.tsx +0 -32
  888. package/src/__tests__/TabNav.types.test.tsx +0 -22
  889. package/src/__tests__/Text.test.tsx +0 -78
  890. package/src/__tests__/TextInput.test.tsx +0 -49
  891. package/src/__tests__/TextInputWithTokens.test.tsx +0 -422
  892. package/src/__tests__/ThemeProvider.test.tsx +0 -557
  893. package/src/__tests__/Timeline.test.tsx +0 -58
  894. package/src/__tests__/Timeline.types.test.tsx +0 -31
  895. package/src/__tests__/Token.test.tsx +0 -118
  896. package/src/__tests__/Tooltip.test.tsx +0 -52
  897. package/src/__tests__/Tooltip.types.test.tsx +0 -11
  898. package/src/__tests__/Truncate.test.tsx +0 -43
  899. package/src/__tests__/Truncate.types.test.tsx +0 -11
  900. package/src/__tests__/UnderlineNav.test.tsx +0 -58
  901. package/src/__tests__/UnderlineNav.types.test.tsx +0 -22
  902. package/src/__tests__/UnderlineNavLink.test.tsx +0 -31
  903. package/src/__tests__/__snapshots__/ActionList.test.tsx.snap +0 -223
  904. package/src/__tests__/__snapshots__/ActionList2.test.tsx.snap +0 -14
  905. package/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap +0 -80
  906. package/src/__tests__/__snapshots__/AnchoredOverlay.test.tsx.snap +0 -232
  907. package/src/__tests__/__snapshots__/Autocomplete.test.tsx.snap +0 -3901
  908. package/src/__tests__/__snapshots__/Avatar.test.tsx.snap +0 -19
  909. package/src/__tests__/__snapshots__/AvatarStack.test.tsx.snap +0 -377
  910. package/src/__tests__/__snapshots__/BorderBox.test.tsx.snap +0 -14
  911. package/src/__tests__/__snapshots__/Box.test.tsx.snap +0 -201
  912. package/src/__tests__/__snapshots__/BranchName.test.tsx.snap +0 -19
  913. package/src/__tests__/__snapshots__/Breadcrumbs.test.tsx.snap +0 -29
  914. package/src/__tests__/__snapshots__/BreadcrumbsItem.test.tsx.snap +0 -79
  915. package/src/__tests__/__snapshots__/Button.test.tsx.snap +0 -840
  916. package/src/__tests__/__snapshots__/Caret.test.tsx.snap +0 -373
  917. package/src/__tests__/__snapshots__/Checkbox.test.tsx.snap +0 -16
  918. package/src/__tests__/__snapshots__/CircleBadge.test.tsx.snap +0 -142
  919. package/src/__tests__/__snapshots__/CircleOcticon.test.tsx.snap +0 -65
  920. package/src/__tests__/__snapshots__/ConfirmationDialog.test.tsx.snap +0 -89
  921. package/src/__tests__/__snapshots__/CounterLabel.test.tsx.snap +0 -22
  922. package/src/__tests__/__snapshots__/Details.test.tsx.snap +0 -15
  923. package/src/__tests__/__snapshots__/Dialog.test.tsx.snap +0 -201
  924. package/src/__tests__/__snapshots__/Dropdown.test.tsx.snap +0 -249
  925. package/src/__tests__/__snapshots__/DropdownMenu.test.tsx.snap +0 -107
  926. package/src/__tests__/__snapshots__/FilterList.test.tsx.snap +0 -13
  927. package/src/__tests__/__snapshots__/FilterListItem.test.tsx.snap +0 -80
  928. package/src/__tests__/__snapshots__/FilteredSearch.test.tsx.snap +0 -32
  929. package/src/__tests__/__snapshots__/Flash.test.tsx.snap +0 -32
  930. package/src/__tests__/__snapshots__/Flex.test.tsx.snap +0 -130
  931. package/src/__tests__/__snapshots__/FormGroup.test.tsx.snap +0 -25
  932. package/src/__tests__/__snapshots__/Grid.test.tsx.snap +0 -178
  933. package/src/__tests__/__snapshots__/Header.test.tsx.snap +0 -79
  934. package/src/__tests__/__snapshots__/Heading.test.tsx.snap +0 -13
  935. package/src/__tests__/__snapshots__/Label.test.tsx.snap +0 -73
  936. package/src/__tests__/__snapshots__/LabelGroup.test.tsx.snap +0 -15
  937. package/src/__tests__/__snapshots__/Link.test.tsx.snap +0 -212
  938. package/src/__tests__/__snapshots__/NewButton.test.tsx.snap +0 -305
  939. package/src/__tests__/__snapshots__/Pagehead.test.tsx.snap +0 -15
  940. package/src/__tests__/__snapshots__/PointerBox.test.tsx.snap +0 -174
  941. package/src/__tests__/__snapshots__/Popover.test.tsx.snap +0 -4687
  942. package/src/__tests__/__snapshots__/Position.test.tsx.snap +0 -44
  943. package/src/__tests__/__snapshots__/ProgressBar.test.tsx.snap +0 -53
  944. package/src/__tests__/__snapshots__/Radio.test.tsx.snap +0 -16
  945. package/src/__tests__/__snapshots__/SelectMenu.test.tsx.snap +0 -473
  946. package/src/__tests__/__snapshots__/SelectPanel.test.tsx.snap +0 -124
  947. package/src/__tests__/__snapshots__/SideNav.test.tsx.snap +0 -143
  948. package/src/__tests__/__snapshots__/Spinner.test.tsx.snap +0 -33
  949. package/src/__tests__/__snapshots__/StateLabel.test.tsx.snap +0 -395
  950. package/src/__tests__/__snapshots__/StyledOcticon.test.tsx.snap +0 -26
  951. package/src/__tests__/__snapshots__/SubNav.test.tsx.snap +0 -44
  952. package/src/__tests__/__snapshots__/SubNavLink.test.tsx.snap +0 -199
  953. package/src/__tests__/__snapshots__/TabNav.test.tsx.snap +0 -58
  954. package/src/__tests__/__snapshots__/Text.test.tsx.snap +0 -7
  955. package/src/__tests__/__snapshots__/TextInput.test.tsx.snap +0 -446
  956. package/src/__tests__/__snapshots__/TextInputWithTokens.test.tsx.snap +0 -6045
  957. package/src/__tests__/__snapshots__/ThemeProvider.test.tsx.snap +0 -15
  958. package/src/__tests__/__snapshots__/Timeline.test.tsx.snap +0 -159
  959. package/src/__tests__/__snapshots__/Token.test.tsx.snap +0 -3811
  960. package/src/__tests__/__snapshots__/Tooltip.test.tsx.snap +0 -227
  961. package/src/__tests__/__snapshots__/Truncate.test.tsx.snap +0 -17
  962. package/src/__tests__/__snapshots__/UnderlineNav.test.tsx.snap +0 -59
  963. package/src/__tests__/__snapshots__/UnderlineNavLink.test.tsx.snap +0 -130
  964. package/src/__tests__/__snapshots__/themePreval.test.ts.snap +0 -3176
  965. package/src/__tests__/behaviors/anchoredPosition.test.ts +0 -295
  966. package/src/__tests__/behaviors/focusTrap.test.tsx +0 -236
  967. package/src/__tests__/behaviors/focusZone.test.tsx +0 -549
  968. package/src/__tests__/behaviors/iterateFocusableElements.test.tsx +0 -61
  969. package/src/__tests__/behaviors/scrollIntoViewingArea.test.ts +0 -195
  970. package/src/__tests__/filterObject.test.ts +0 -54
  971. package/src/__tests__/hooks/useAnchoredPosition.test.tsx +0 -31
  972. package/src/__tests__/hooks/useOnEscapePress.test.tsx +0 -16
  973. package/src/__tests__/hooks/useOnOutsideClick.test.tsx +0 -48
  974. package/src/__tests__/hooks/useOpenAndCloseFocus.test.tsx +0 -48
  975. package/src/__tests__/hooks/useProvidedStateOrCreate.test.tsx +0 -39
  976. package/src/__tests__/theme.test.ts +0 -41
  977. package/src/__tests__/themeGet.test.ts +0 -15
  978. package/src/__tests__/themePreval.test.ts +0 -8
  979. package/src/__tests__/useSafeTimeout.test.tsx +0 -36
  980. package/src/__tests__/utils/__snapshots__/createSlots.test.tsx.snap +0 -55
  981. package/src/__tests__/utils/createSlots.test.tsx +0 -74
  982. package/src/behaviors/anchoredPosition.ts +0 -442
  983. package/src/behaviors/focusTrap.ts +0 -184
  984. package/src/behaviors/focusZone.ts +0 -713
  985. package/src/behaviors/scrollIntoViewingArea.ts +0 -27
  986. package/src/constants.ts +0 -62
  987. package/src/drafts.ts +0 -11
  988. package/src/hooks/index.ts +0 -12
  989. package/src/hooks/useAnchoredPosition.ts +0 -54
  990. package/src/hooks/useCombinedRefs.ts +0 -40
  991. package/src/hooks/useDetails.tsx +0 -54
  992. package/src/hooks/useDialog.ts +0 -121
  993. package/src/hooks/useFocusTrap.ts +0 -80
  994. package/src/hooks/useFocusZone.ts +0 -64
  995. package/src/hooks/useOnEscapePress.ts +0 -63
  996. package/src/hooks/useOnOutsideClick.tsx +0 -82
  997. package/src/hooks/useOpenAndCloseFocus.ts +0 -32
  998. package/src/hooks/useOverlay.tsx +0 -34
  999. package/src/hooks/useProvidedRefOrCreate.ts +0 -14
  1000. package/src/hooks/useProvidedStateOrCreate.ts +0 -27
  1001. package/src/hooks/useRenderForcingRef.ts +0 -22
  1002. package/src/hooks/useResizeObserver.ts +0 -11
  1003. package/src/hooks/useSafeTimeout.ts +0 -38
  1004. package/src/hooks/useScrollFlash.ts +0 -21
  1005. package/src/index.ts +0 -177
  1006. package/src/polyfills/eventListenerSignal.ts +0 -66
  1007. package/src/stories/ActionList.stories.tsx +0 -436
  1008. package/src/stories/ActionList2.stories.tsx +0 -1305
  1009. package/src/stories/ActionMenu.stories.tsx +0 -331
  1010. package/src/stories/ActionMenu2.stories.tsx +0 -605
  1011. package/src/stories/AnchoredOverlay.stories.tsx +0 -117
  1012. package/src/stories/Autocomplete.stories.tsx +0 -655
  1013. package/src/stories/AvatarStack.stories.tsx +0 -37
  1014. package/src/stories/Button.stories.tsx +0 -92
  1015. package/src/stories/Checkbox.stories.tsx +0 -162
  1016. package/src/stories/ConfirmationDialog.stories.tsx +0 -105
  1017. package/src/stories/Dialog.stories.tsx +0 -240
  1018. package/src/stories/DropdownMenu.stories.tsx +0 -84
  1019. package/src/stories/IssueLabelToken.stories.tsx +0 -138
  1020. package/src/stories/NewButton.stories.tsx +0 -201
  1021. package/src/stories/Overlay.stories.tsx +0 -213
  1022. package/src/stories/Portal.stories.tsx +0 -109
  1023. package/src/stories/ProfileToken.stories.tsx +0 -129
  1024. package/src/stories/Radio.stories.tsx +0 -126
  1025. package/src/stories/SelectPanel.stories.tsx +0 -353
  1026. package/src/stories/TextInput.stories.tsx +0 -113
  1027. package/src/stories/TextInputWithTokens.stories.tsx +0 -155
  1028. package/src/stories/ThemeProvider.stories.tsx +0 -104
  1029. package/src/stories/Token.stories.tsx +0 -137
  1030. package/src/stories/useAnchoredPosition.stories.tsx +0 -332
  1031. package/src/stories/useFocusTrap.stories.tsx +0 -400
  1032. package/src/stories/useFocusZone.stories.tsx +0 -663
  1033. package/src/sx.ts +0 -24
  1034. package/src/theme-preval.js +0 -80
  1035. package/src/theme.ts +0 -89
  1036. package/src/utils/create-slots.tsx +0 -96
  1037. package/src/utils/deprecate.tsx +0 -73
  1038. package/src/utils/isNumeric.tsx +0 -4
  1039. package/src/utils/iterateFocusableElements.ts +0 -121
  1040. package/src/utils/ssr.tsx +0 -1
  1041. package/src/utils/test-deprecations.tsx +0 -19
  1042. package/src/utils/test-helpers.tsx +0 -7
  1043. package/src/utils/test-matchers.tsx +0 -109
  1044. package/src/utils/testing.tsx +0 -264
  1045. package/src/utils/theme.js +0 -64
  1046. package/src/utils/types/AriaRole.ts +0 -71
  1047. package/src/utils/types/ComponentProps.ts +0 -13
  1048. package/src/utils/types/Flatten.ts +0 -4
  1049. package/src/utils/types/KeyPaths.ts +0 -10
  1050. package/src/utils/types/MandateProps.ts +0 -19
  1051. package/src/utils/types/Merge.ts +0 -20
  1052. package/src/utils/types/index.ts +0 -5
  1053. package/src/utils/uniqueId.ts +0 -6
  1054. package/src/utils/use-force-update.ts +0 -7
  1055. package/src/utils/useIsomorphicLayoutEffect.ts +0 -10
  1056. package/src/utils/userAgent.ts +0 -7
  1057. package/stats.html +0 -3279
  1058. package/tsconfig.build.json +0 -7
  1059. package/tsconfig.json +0 -20
@@ -1,302 +0,0 @@
1
- ---
2
- title: ActionMenu v2
3
- status: Alpha
4
- source: https://github.com/primer/react/tree/main/src/ActionMenu
5
- storybook: '/react/storybook?path=/story/composite-components-actionmenu2'
6
- description: An ActionMenu is an ActionList-based component for creating a menu of actions that expands through a trigger button.
7
- ---
8
-
9
- import {Box, Avatar} from '@primer/components'
10
- import {ActionMenu, ActionList} from '@primer/components/drafts'
11
- import {Props} from '../../src/props'
12
-
13
- <br />
14
-
15
- <Box sx={{border: '1px solid', borderColor: 'border.default', borderRadius: 2, padding: 6}}>
16
- <ActionMenu>
17
- <ActionMenu.Button>Menu</ActionMenu.Button>
18
- <ActionMenu.Overlay>
19
- <ActionList>
20
- <ActionList.Item>
21
- Copy link
22
- <ActionList.TrailingVisual>⌘C</ActionList.TrailingVisual>
23
- </ActionList.Item>
24
- <ActionList.Item>
25
- Quote reply
26
- <ActionList.TrailingVisual>⌘Q</ActionList.TrailingVisual>
27
- </ActionList.Item>
28
- <ActionList.Item>
29
- Edit comment
30
- <ActionList.TrailingVisual>⌘E</ActionList.TrailingVisual>
31
- </ActionList.Item>
32
- <ActionList.Divider />
33
- <ActionList.Item variant="danger">
34
- Delete file
35
- <ActionList.TrailingVisual>⌘D</ActionList.TrailingVisual>
36
- </ActionList.Item>
37
- </ActionList>
38
- </ActionMenu.Overlay>
39
- </ActionMenu>
40
- </Box>
41
-
42
- <br />
43
-
44
- ```js
45
- import {ActionMenu} from '@primer/components/drafts'
46
- ```
47
-
48
- <br />
49
-
50
- ## Examples
51
-
52
- ### Minimal example
53
-
54
- `ActionMenu` ships with `ActionMenu.Button` which is an accessible trigger for the overlay. It's recommended to compose `ActionList` with `ActionMenu.Overlay`
55
-
56
- &nbsp;
57
-
58
- ```javascript live noinline
59
- // import {ActionMenu, ActionList} from '@primer/components/drafts'
60
- const {ActionMenu, ActionList} = drafts // ignore docs silliness; import like that ↑
61
-
62
- render(
63
- <ActionMenu>
64
- <ActionMenu.Button>Menu</ActionMenu.Button>
65
-
66
- <ActionMenu.Overlay>
67
- <ActionList>
68
- <ActionList.Item onSelect={event => console.log('New file')}>New file</ActionList.Item>
69
- <ActionList.Item>Copy link</ActionList.Item>
70
- <ActionList.Item>Edit file</ActionList.Item>
71
- <ActionList.Divider />
72
- <ActionList.Item variant="danger">Delete file</ActionList.Item>
73
- </ActionList>
74
- </ActionMenu.Overlay>
75
- </ActionMenu>
76
- )
77
- ```
78
-
79
- ### With a custom anchor
80
-
81
- You can choose to have a different _anchor_ for the Menu dependending on the application's context.
82
-
83
- &nbsp;
84
-
85
- ```javascript live noinline
86
- // import {ActionMenu, ActionList} from '@primer/components/drafts'
87
- const {ActionMenu, ActionList} = drafts // ignore docs silliness; import like that ↑
88
-
89
- render(
90
- <ActionMenu>
91
- <ActionMenu.Anchor>
92
- <ButtonInvisible aria-label="Open column options">
93
- <KebabHorizontalIcon />
94
- </ButtonInvisible>
95
- </ActionMenu.Anchor>
96
-
97
- <ActionMenu.Overlay>
98
- <ActionList>
99
- <ActionList.Item>
100
- <ActionList.LeadingVisual>
101
- <PencilIcon />
102
- </ActionList.LeadingVisual>
103
- Rename
104
- </ActionList.Item>
105
- <ActionList.Item>
106
- <ActionList.LeadingVisual>
107
- <ArchiveIcon />
108
- </ActionList.LeadingVisual>
109
- Archive all cards
110
- </ActionList.Item>
111
- <ActionList.Item variant="danger">
112
- <ActionList.LeadingVisual>
113
- <TrashIcon />
114
- </ActionList.LeadingVisual>
115
- Delete
116
- </ActionList.Item>
117
- </ActionList>
118
- </ActionMenu.Overlay>
119
- </ActionMenu>
120
- )
121
- ```
122
-
123
- ### With Groups
124
-
125
- ```javascript live noinline
126
- // import {ActionMenu, ActionList} from '@primer/components/drafts'
127
- const {ActionMenu, ActionList} = drafts // ignore docs silliness; import like that ↑
128
-
129
- render(
130
- <ActionMenu>
131
- <ActionMenu.Button>Open column menu</ActionMenu.Button>
132
-
133
- <ActionMenu.Overlay>
134
- <ActionList showDividers>
135
- <ActionList.Group title="Live query">
136
- <ActionList.Item>
137
- <ActionList.LeadingVisual>
138
- <SearchIcon />
139
- </ActionList.LeadingVisual>
140
- repo:github/memex,github/github
141
- </ActionList.Item>
142
- </ActionList.Group>
143
- <ActionList.Divider />
144
- <ActionList.Group title="Layout" variant="subtle">
145
- <ActionList.Item>
146
- <ActionList.LeadingVisual>
147
- <NoteIcon />
148
- </ActionList.LeadingVisual>
149
- Table
150
- <ActionList.Description variant="block">
151
- Information-dense table optimized for operations across teams
152
- </ActionList.Description>
153
- </ActionList.Item>
154
- <ActionList.Item role="listitem">
155
- <ActionList.LeadingVisual>
156
- <ProjectIcon />
157
- </ActionList.LeadingVisual>
158
- Board
159
- <ActionList.Description variant="block">Kanban-style board focused on visual states</ActionList.Description>
160
- </ActionList.Item>
161
- </ActionList.Group>
162
- <ActionList.Divider />
163
- <ActionList.Group>
164
- <ActionList.Item>
165
- <ActionList.LeadingVisual>
166
- <FilterIcon />
167
- </ActionList.LeadingVisual>
168
- Save sort and filters to current view
169
- </ActionList.Item>
170
- <ActionList.Item>
171
- <ActionList.LeadingVisual>
172
- <FilterIcon />
173
- </ActionList.LeadingVisual>
174
- Save sort and filters to new view
175
- </ActionList.Item>
176
- </ActionList.Group>
177
- <ActionList.Divider />
178
- <ActionList.Group>
179
- <ActionList.Item>
180
- <ActionList.LeadingVisual>
181
- <GearIcon />
182
- </ActionList.LeadingVisual>
183
- View settings
184
- </ActionList.Item>
185
- </ActionList.Group>
186
- </ActionList>
187
- </ActionMenu.Overlay>
188
- </ActionMenu>
189
- )
190
- ```
191
-
192
- ### With External Anchor
193
-
194
- To create an anchor outside of the menu, you need to switch to controlled mode for the menu and pass it as `anchorRef` to `ActionMenu`:
195
-
196
- ```javascript live noinline
197
- // import {ActionMenu, ActionList} from '@primer/components/drafts'
198
- const {ActionMenu, ActionList} = drafts // ignore docs silliness; import like that ↑
199
-
200
- const Example = () => {
201
- const [open, setOpen] = React.useState(false)
202
- const anchorRef = React.createRef()
203
-
204
- return (
205
- <>
206
- <Button ref={anchorRef} onClick={() => setOpen(!open)}>
207
- {open ? 'Close Menu' : 'Open Menu'}
208
- </Button>
209
-
210
- <ActionMenu open={open} onOpenChange={setOpen} anchorRef={anchorRef}>
211
- <ActionMenu.Overlay>
212
- <ActionList>
213
- <ActionList.Item>Copy link</ActionList.Item>
214
- <ActionList.Item>Quote reply</ActionList.Item>
215
- <ActionList.Item>Edit comment</ActionList.Item>
216
- <ActionList.Divider />
217
- <ActionList.Item variant="danger">Delete file</ActionList.Item>
218
- </ActionList>
219
- </ActionMenu.Overlay>
220
- </ActionMenu>
221
- </>
222
- )
223
- }
224
-
225
- render(<Example />)
226
- ```
227
-
228
- ### With Overlay Props
229
-
230
- To create an anchor outside of the menu, you need to switch to controlled mode for the menu and pass it as `anchorRef` to `ActionMenu`:
231
-
232
- ```javascript live noinline
233
- // import {ActionMenu, ActionList} from '@primer/components/drafts'
234
- const {ActionMenu, ActionList} = drafts // ignore docs silliness; import like that ↑
235
-
236
- const handleEscape = () => alert('you hit escape!')
237
-
238
- render(
239
- <ActionMenu>
240
- <ActionMenu.Button>Open Actions Menu</ActionMenu.Button>
241
- <ActionMenu.Overlay width="medium" onEscape={handleEscape}>
242
- <ActionList>
243
- <ActionList.Item>
244
- Open current Codespace
245
- <ActionList.Description variant="block">
246
- Your existing Codespace will be opened to its previous state, and you&apos;ll be asked to manually switch to
247
- new-branch.
248
- </ActionList.Description>
249
- <ActionList.TrailingVisual>⌘O</ActionList.TrailingVisual>
250
- </ActionList.Item>
251
- <ActionList.Item>
252
- Create new Codespace
253
- <ActionList.Description variant="block">
254
- Create a brand new Codespace with a fresh image and checkout this branch.
255
- </ActionList.Description>
256
- <ActionList.TrailingVisual>⌘C</ActionList.TrailingVisual>
257
- </ActionList.Item>
258
- </ActionList>
259
- </ActionMenu.Overlay>
260
- </ActionMenu>
261
- )
262
- ```
263
-
264
- ## Props / API reference
265
-
266
- ### ActionMenu
267
-
268
- | Name | Type | Default | Description |
269
- | :----------- | :----------------------------- | :-----: | :----------------------------------------------------------------------------------------------------------------------- |
270
- | children\* | `React.ReactElement[]` | - | Required. Recommended: `ActionMenu.Button` or `ActionMenu.Anchor` with `ActionMenu.Overlay` |
271
- | open | `boolean` | - | Optional. If defined, will control the open/closed state of the overlay. Must be used in conjuction with `onOpenChange`. |
272
- | onOpenChange | `(open: boolean) => void` | - | Optional. If defined, will control the open/closed state of the overlay. Must be used in conjuction with `open`. |
273
- | anchorRef | `React.RefObject<HTMLElement>` | - | Optional. Useful for defining an external anchor |
274
-
275
- ### ActionMenu.Button
276
-
277
- | Type | Default | Description |
278
- | :-------------------------------------- | :-----: | :------------------------------------------------------------------------------------------------------------------- |
279
- | [ButtonProps](/Buttons#component-props) | - | Optional. You can pass all of the props that you would pass to a [`Button`](/Buttons) component like `variant`, `sx` |
280
-
281
- ### ActionMenu.Anchor
282
-
283
- | Name | Type | Default | Description |
284
- | :--------- | :------------------- | :-----: | :-------------------------------- |
285
- | children\* | `React.ReactElement` | - | Required. Accepts a single child. |
286
-
287
- ### ActionMenu.Overlay
288
-
289
- | Name | Type | Default | Description |
290
- | :--------------------------------------- | :-------------------- | :-----------------: | :-------------------------------------------------------------------------------------------- |
291
- | children\* | `React.ReactElement[] | React.ReactElement` | Required. Recommended: [`ActionList`](/drafts/ActionList2) |
292
- | [OverlayProps](/Overlay#component-props) | - | - | Optional. Props to be spread on the internal [`AnchoredOverlay`](/AnchoredOverlay) component. |
293
-
294
- ## Further reading
295
-
296
- [Interface guidelines: Action List + Menu](https://primer.style/design/components/action-list)
297
-
298
- ## Related components
299
-
300
- - [ActionList](/drafts/ActionList2)
301
- - [DropdownMenu](/DropdownMenu)
302
- - [SelectPanel](/SelectPanel)
@@ -1,103 +0,0 @@
1
- ---
2
- title: Focus Trap Behavior
3
- ---
4
-
5
- The `focusTrap` behavior and `useFocusTrap` hook are used prevent focus from leaving a particular element. This is useful for implementing modal dialogs: only the content within the dialog should be interactive, even though the UI underneath may still be visible.
6
-
7
- ### Behavior
8
-
9
- - Activation: As soon as the focus trap is activated, it will ensure that an element within the container has focus. If it doesn't, it will focus the first focusable element within the container, or, if provided, the element indicated by the `initialFocus` parameter (see API below).
10
- - External focus changes: If an external cause (e.g. mouse click, scripts, or accessibility software) results in an element outside the container to be focused, focus will immediately be redirected to the last-focused element that is inside the container.
11
- - Circular tab focus: Using the `TAB` key on the last focusable element within the container will result in the first focusable element within the container receiving focus. Similarly, `Shift+TAB` can be used to focus the last element from the first.
12
- - Global: Only one focus trap can be _active_ at a time. When a focus trap is enabled, if there is already an active focus trap, it becomes suspended and pushed onto a stack. Once the newly-active focus trap is disabled, the most recently-suspended trap will reactivate. Suspended focus traps can be disabled, causing them to be removed from the stack of suspended traps.
13
-
14
- ### Demo
15
-
16
- To see a demo, deploy Storybook and find the `useFocusTrap` stories.
17
-
18
- ### Usage
19
-
20
- ```ts
21
- function showDialog() {
22
- const dialog = document.getElementById('myDialog')
23
- if (dialog instanceof HTMLElement) {
24
- dialog.style.display = ''
25
- return focusTrap(dialog)
26
- }
27
- }
28
- function hideDialog(controller: AbortController) {
29
- document.getElementById('myDialog')?.style.display = 'none'
30
- controller.abort()
31
- }
32
- const dialogController = showDialog()
33
-
34
- // later
35
- if (dialogController) {
36
- hideDialog(controller)
37
- }
38
- ```
39
-
40
- ### API
41
-
42
- The `focusTrap` function takes the following arguments.
43
-
44
- | Name | Type | Default | Description |
45
- | :----------- | :------------- | :---------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------- |
46
- | container | `HTMLElement` | | When active, only elements within this container (along with the container itself) can be focused. |
47
- | initialFocus | `HTMLElement` | | Specifies the element which will receive focus when the focus trap is activated. Defaults to the first tabbable element inside the container. |
48
- | signal | `AbortSignal?` | `undefined` | Optional abort signal to control the focus trap. If one is not provided, an `AbortController` will be returned, which can be used to disable the focus trap. |
49
-
50
- #### Return value
51
-
52
- If the `signal` argument is omitted, `focusTrap()` will return an `AbortController`. This object has an `abort()` method, which can be called to disable the focus trap.
53
-
54
- ### Best practices
55
-
56
- - Focus management is an important consideration for accessible applications. Sometimes poor focus management can make certain tasks impossible to complete for users not using a mouse. To learn more, read the [ARIA guidelines for keyboard focus](https://www.w3.org/TR/wai-aria-practices/#kbd_focus_discernable_predictable).
57
- - Only activate a focus trap if all UI outside of the trap container should be inert (non-interactive).
58
- - Avoid situations where multiple focus traps may be active (e.g. dialogs that open more dialogs). This behavior handles those situations, but the pattern may indicate poor UX.
59
-
60
- ### A note on performance
61
-
62
- When focus trap is activated, it must perform [reflow](https://developers.google.com/speed/docs/insights/browser-reflow) to discover focusable elements. Use caution not to rapidly enable and disable focus traps.
63
-
64
- ## useFocusTrap hook
65
-
66
- The `useFocusTrap` hook is used to achieve focus trapping for React components. The hook returns a `ref` that must be applied to the focus trap container. The hook also returns a ref that can be used to indicate the initially-focused element when a focus trap is activated.
67
-
68
- The focus trap can be disabled in two ways:
69
-
70
- 1. Simply do not render the component. When a component that uses focus trapping is unmounted, its focus trap will be aborted automatically.
71
- 2. Pass `disabled: true` to the settings argument of `useFocusTrap`.
72
-
73
- The `useFocusTrap` hook also has an additional setting, `restoreFocusOnCleanUp`. If this is set to true, when the hook is either disabled (called with `disabled: true` or unmounted), we will attempt to re-focus the element that was focused immediately before the focus trap was enabled.
74
-
75
- ### Using your own refs
76
-
77
- If you would like to use your own refs, you can pass them into the hook as part of the settings object (see the interface below).
78
-
79
- ### Usage
80
-
81
- ```jsx
82
- export const FocusTrapExample = () => {
83
- const {containerRef} = useFocusTrap()
84
- return (
85
- <div ref={containerRef as React.RefObject<HTMLDivElement>}>
86
- <Button>Apple</Button>
87
- <Button>Banana</Button>
88
- <Button>Cantaloupe</Button>
89
- </div>
90
- )
91
- }
92
- ```
93
-
94
- ### FocusTrapHookSettings interface
95
-
96
- `FocusTrapHookSettings` has the following properties:
97
-
98
- | Name | Type | Default | Description |
99
- | :-------------------- | :---------------- | :---------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
100
- | containerRef | `React.RefObject` | `undefined` | If provided, this will be the ref used to access the focus trap container. Otherwise, this hook will create the ref for you and return it. In both cases, the ref must be provided to the container element's JSX. |
101
- | initialFocusRef | `React.RefObject` | `undefined` | If provided, this will be the ref used to access the element that should receive initial focus when the focus trap is activated. Otherwise, this hook will create the ref for you and return it. If unused, the first tabbable element inside the container will be focused. |
102
- | disabled | `boolean` | `false` | If true, the previously-established focus trap for this container will be aborted. |
103
- | restoreFocusOnCleanUp | `boolean` | `false` | If true, attempt to restore focus to the previously-focused element when the trap is disabled or unmounted. |
@@ -1,145 +0,0 @@
1
- ---
2
- title: Focus Zone Behavior
3
- ---
4
-
5
- The `focusZone` behavior and `useFocusZone` hook are used to designate a container where focus can be moved using keys other than `Tab`. This is useful for implementing many of the patterns described in [Section 6](https://www.w3.org/TR/wai-aria-practices-1.1/#keyboard) of the WAI-ARIA Authoring Practices document. The most common use case of this behavior is to allow arrow keys (up and down or left and right) to move focus between related elements, such as items in a menu.
6
-
7
- At a high level, the `focusZone` behavior works by adjusting the `tabindex` attribute on focusable elements and setting up event listeners on the container that respond to the relevant key presses.
8
-
9
- Settings for this behavior allow the user to customize several aspects of the focus zone. See **FocusZoneSettings** below for a detailed description of these settings.
10
-
11
- ### Focusability: which elements participate in the Focus Zone?
12
-
13
- When the `focusZone` behavior is established, it will discover all _focusable_ elements within the given container and allow them to be focused with the bound keys. _Focusable_ elements are those that either are normally focusable via the Tab key OR have a valid `tabindex` attribute (including `"-1"`). The easiest way to ensure an element participates in the focus zone is by applying the attribute `tabindex="-1"`. If you need to prevent a focusable element from participating in the focus zone, you can provide a `focusableElementFilter`.
14
-
15
- ### Focus order
16
-
17
- The `focusZone` behavior uses the natural DOM ordering of elements to determine focus order. This means that a key that moves focus will either move to a "next" element or to a "previous" element. For example, the left arrow key and the up arrow key would both move focus to the previous element in the DOM order, while the right arrow key and the down arrow key would both move focus to the next element in the DOM order.
18
-
19
- Focus cannot be moved beyond the last element of the container (other than using the Tab key). The `focusOutBehavior` option can be used to allow focus to wrap around from last to first element (or vice-versa).
20
-
21
- For a more customized focus movement behavior, the consumer has the ability to supply a custom callback that identifies the next element to focus.
22
-
23
- #### Entering the focus zone
24
-
25
- By default, when focus enters a focus zone, the element that receives focus will be the most recently-focused element within that focus zone. If no element had previously been focused, or if that previously-focused element was removed, focus will revert to the first focusable element within the focus zone, regardless of the direction of focus movement.
26
-
27
- Using the `focusInStrategy` option, you can change this behavior. Setting this option to `"first"` will simply cause the first focusable element in the container to be focused whenever focus enters the focus zone. Setting it to `"closest"` will cause either the first or last focusable element in the container to be focused depending on the direction of focus movement (for example, a shift+tab that brings focus to the container will cause the last focusable element to be focused, whereas a regular tab would cause the first focusable element to be focused). Otherwise, you may provide a callback to choose a custom element to receive initial focus. One scenario where this would be useful is if you wanted to focus an item that is "selected" in a list.
28
-
29
- For more information on choosing the right focus in behavior, see [6.6 Keyboard Navigation Inside Components](https://www.w3.org/TR/wai-aria-practices-1.1/#kbd_general_within) from the ARIA Authoring Practices document.
30
-
31
- ### Supported keys
32
-
33
- The `focusZone` behavior supports different sets of keys for moving focus around. The `bindKeys` option is used to set which of the following keys can be used to move focus.
34
-
35
- | Key(s) | Notes | Use case |
36
- | :-------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------- |
37
- | ArrowVertical | Prevents default behavior of scrolling where applicable | Most focus zones with vertically-positioned elements |
38
- | ArrowHorizontal | Prevents default behavior of scrolling where applicable | Most focus zones with horizontally-positioned elements |
39
- | HomeAndEnd | Causes focus to jump to the first or last focusable item in the container. Does not move focus if the currently-focused element is a text box. | Generally used with arrow keys |
40
- | PageUpDown | Works the same as the Home and End keys. Advisable only when supplying a custom callback that supports paging. | In a long, scrollable list |
41
- | Tab/Shift+Tab | Unlike other keys, the Tab key will always allow movement outside of the focus zone (use the Focus Trap behavior to prevent this). Tab moves to the next item, Shift+Tab moves to the previous. | Bind Tab if you want to continue allowing tab to move focus between elements in your container rather than jumping out of the container. |
42
- | JK | J moves focus to the next item, K moves to the previous. Does not move focus if the currently-focused element is a text box. [Originally from](https://catonmat.net/why-vim-uses-hjkl-as-arrow-keys) the vi keybindings | Used in certain lists |
43
- | HL | H moves focus to the previous item, L moves to the next. Does not move focus if the currently-focused element is a text box. [Originally from](https://catonmat.net/why-vim-uses-hjkl-as-arrow-keys) the vi keybindings | Used in certain lists |
44
- | WS | W moves focus to the previous item, S moves to the next. Does not move focus if the currently-focused element is a text box. | Any situation where it is more ergonomic for the left hand to perform this action, such as in a gaming context (rare) |
45
- | AD | A moves focus to the previous item, D moves to the next. Does not move focus if the currently-focused element is a text box. | Any situation where it is more ergonomic for the left hand to perform this action, such as in a gaming context (rare) |
46
-
47
- ### DOM Focus vs. Active Descendant
48
-
49
- The `focusZone` behavior supports two modes of operation: DOM Focus and Active Descendant.
50
-
51
- - DOM Focus is the default mode and by far the most commonly needed. When a key is used to move focus, we call `.focus()` directly on the element to receive focus. This results in `document.activeElement` getting set to this new element, and it will receive any necessary styles via `:focus` and `:focus-within`.
52
- - Active Descendant mode does _not_ move DOM focus. Instead, focus remains on the _control_ element, and its `aria-activedescendant` attribute is set to the ID of the relevant element. Because there are no `:focus` styles applied and no `focus` events fired, you can supply an `onActiveDescendantChanged` callback to handle any necessary styles or other logic as the active descendant changes. For more information on the Active Descendant focus pattern, see [6.6.2 Managing Focus in Composites Using `aria-activedescendant`](https://www.w3.org/TR/wai-aria-practices-1.1/#kbd_focus_activedescendant) from the ARIA Authoring Practices document.
53
-
54
- ### Demo
55
-
56
- Deploy Storybook to see live demos of `focusZone`.
57
-
58
- ### Usage
59
-
60
- ```ts
61
- const settings = {
62
- bindKeys: FocusKeys.ArrowVertical | FocusKeys.HomeAndEnd
63
- } as FocusZoneSettings
64
- const focusZone = document.getElementById('focusZoneContainer')
65
- focusZone(focusZone, settings)
66
- ```
67
-
68
- ### API
69
-
70
- The `focusZone` function takes the following arguments.
71
-
72
- | Name | Type | Default | Description |
73
- | :-------- | :------------------ | :-----: | :--------------------------------------------------------------------------------- |
74
- | container | `Element` | | The focus zone will apply to this container and all of its focusable descendants. |
75
- | settings | `FocusZoneSettings` | `{}` | Settings to customize the focus zone. See below for a description of each setting. |
76
-
77
- #### FocusZoneSettings interface
78
-
79
- `FocusZoneSettings` is an object with the following interface. All properties are optional and have default behaviors.
80
-
81
- | Name | Type | Default | Description |
82
- | :------------------------ | :-------------------------------------------- | :----------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
83
- | bindKeys | `FocusKeys` (numeric enum) | `FocusKeys.ArrowVertical │ FocusKeys.HomeAndEnd` | Bit flags that identify keys that will move focus around the focus zone. Each available key either moves focus to the "next", "previous", "start", or "end" element, so it is best to only bind the keys that make sense to move focus in your UI. Use the `FocusKeys` object to discover supported keys (listed in the "Supported keys" section above). <br /><br />Use the bitwise "OR" operator (&#124;) to combine key types. For example, `FocusKeys.WASD │ FocusKeys.HJKL` represents all of W, A, S, D, H, J, K, and L.<br /><br />The default for this setting is `FocusKeys.ArrowVertical │ FocusKeys.HomeAndEnd`, unless `getNextFocusable` is provided, in which case `FocusKeys.ArrowAll │ FocusKeys.HomeAndEnd` is used as the default. |
84
- | focusOutBehavior | `"stop" │ "wrap"` | `"stop"` | Choose the behavior applied in cases where focus is currently at either the first or last element of the container. `"stop"` - do nothing and keep focus where it was; `"wrap"` - wrap focus around to the first element from the last, or the last element from the first |
85
- | focusInStrategy | `"first" │ "closest" │ "previous" │ Function` | `"previous"` | This option allows customization of the behavior that determines which of the focusable elements should be focused when focus enters the container via the Tab key.<br /><br />When set to `"first"`, whenever focus enters the container via Tab, we will focus the first focusable element. When set to `"previous"`, the most recently focused element will be focused (fallback to first if there was no previous).<br /><br />The "closest" strategy works like "first", except either the first or the last element of the container will be focused, depending on the direction from which focus comes.<br /><br />If a function is provided, this function should return the `HTMLElement` intended to receive focus. This is useful if you want to focus the currently "selected" item or element. |
86
- | getNextFocusable | `Function` | | This is a callback used to customize the next element to focus when a bound key is pressed. The function takes 3 arguments: `direction` (`"previous"`, `"next"`, `"start"`, or `"end"`), `from` (Element or `undefined`), and `event` (KeyboardEvent). The function should return the next element to focus, or `undefined`. If `undefined` is returned, the regular algorithm to select the next element to focus will be used. |
87
- | focusableElementFilter | `Function` | | This is a callback used to cull focusable elements from participating in the focus zone. |
88
- | abortSignal | `AbortSignal` | | If passed, the focus zone will be deactivated and all event listeners removed when this signal is aborted. If not passed, an `AbortSignal` will be returned by the `focusZone` function. |
89
- | activeDescendantControl | `HTMLElement` | | If `activeDescendantControl` is supplied, do not move focus or alter `tabindex` on any element. Instead, manage `aria-activedescendant` according to the [ARIA best practices guidelines](https://www.w3.org/TR/wai-aria-practices-1.1/#kbd_focus_activedescendant).<br /><br />The given `activeDescendantControl` will be given an `aria-controls` attribute that references the ID of the `container`. Additionally, it will be given an `aria-activedescendant` attribute that references the ID of the currently-active descendant.<br /><br />This element will retain DOM focus as arrow keys are pressed. |
90
- | onActiveDescendantChanged | `Function` | | This function is called each time the active descendant changes (only applicable if `activeDescendantControl` is given). The function takes two arguments: `newActiveDescendant` and `previousActiveDescendant`, both `HTMLElement`, either of which can be undefined (e.g. when an element in the container first becomes active, or when the controlling element becomes unfocused). |
91
-
92
- ### Best practices
93
-
94
- We highly recommend reading [Section 6: Developing a Keyboard Interface](https://www.w3.org/TR/wai-aria-practices-1.1/#keyboard) from the WAI-ARIA Authoring Practices document.
95
-
96
- ## useFocusZone hook
97
-
98
- The `useFocusZone` hook is used to provide focus zone behavior to React components. The hook returns a ref that must be added to the container element.
99
-
100
- ### Using your own refs
101
-
102
- If you would like to use your own refs, you can pass them into the hook as part of the settings object (see the interface below).
103
-
104
- ### Hook dependencies
105
-
106
- Like other hooks such as `useCallback` and `useEffect`, this hook takes a dependencies array. If defined, the focus zone will be re-applied when a dependency changes (and the old one will be cleaned up).
107
-
108
- ### Usage
109
-
110
- ```jsx
111
- export const FocusZoneExample = () => {
112
- const {containerRef} = useFocusZone({bindKeys: FocusKeys.ArrowVertical | FocusKeys.HomeAndEnd})
113
- return (
114
- <div ref={containerRef}>
115
- <button>First</button>
116
- <button>Second</button>
117
- <button>Third</button>
118
- </div>
119
- )
120
- }
121
- ```
122
-
123
- ### useFocusZone hook
124
-
125
- | Name | Type | Default | Description |
126
- | :----------- | :---------------------- | :-------: | :------------------------------------------------------------------ |
127
- | settings | `FocusZoneHookSettings` | undefined | Optional settings to control how the focus zone behaves. See below. |
128
- | dependencies | `React.DependencyList` | undefined | Dependencies to determine when to initialize the focus zone. |
129
-
130
- **Return value**
131
-
132
- | Name | Type | Description |
133
- | :------------------------- | :----------------------------- | :---------------------------------------------------------------------------------------- |
134
- | containerRef | `React.RefObject<HTMLElement>` | This ref must be added to the container's JSX. |
135
- | activeDescendantControlRef | `React.RefObject<HTMLElement>` | If using active descendant focusing, this ref must be added to the control element's JSX. |
136
-
137
- ### FocusZoneHookSettings interface
138
-
139
- `FocusZoneHookSettings` is an object with an interface that extends `FocusZoneSettings` (see above), however, the `activeDescendantControl` prop is omitted (instead see the `activeDescendantFocus` prop below). Additionally, it adds the following properties:
140
-
141
- | Name | Type | Default | Description |
142
- | :-------------------- | :--------------------------------------- | :---------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
143
- | containerRef | `React.RefObject` | `undefined` | If provided, this will be the ref used to access the element that will become the container of the focus zone. Otherwise, this hook will create the ref for you and return it. In both cases, the ref must be provided to the container's JSX. |
144
- | activeDescendantFocus | `boolean │ React.RefObject<HTMLElement>` | `false` | If false, the focus zone will apply normal DOM focusing (see **DOM Focus vs. Active Descendant** above). If true, or if a ref is provided, the focus zone will use "active descendant" focusing. If a ref is applied, it will be used as the control element for active descendant focus. If `true` is given, a ref will be created and returned by the hook. |
145
- | disabled | `boolean` | `false` | Set to true to disable the focus zone and clean up listeners. Can be re-enabled at any time. |