@primer/components 31.0.0-rc.ee65b7f1 → 31.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (817) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/browser.esm.js +33 -28
  3. package/dist/browser.esm.js.map +1 -1
  4. package/dist/browser.umd.js +13 -8
  5. package/dist/browser.umd.js.map +1 -1
  6. package/lib/ActionList/Item.d.ts +6 -0
  7. package/lib/ActionList/Item.js +8 -4
  8. package/lib/Button/Button.js +1 -1
  9. package/lib/Button/ButtonInvisible.js +1 -1
  10. package/lib/Button/ButtonTableList.js +1 -1
  11. package/lib/Pagination/Pagination.js +1 -1
  12. package/lib/_TextInputWrapper.js +1 -1
  13. package/lib-esm/ActionList/Item.d.ts +6 -0
  14. package/lib-esm/ActionList/Item.js +8 -4
  15. package/lib-esm/Button/Button.js +1 -1
  16. package/lib-esm/Button/ButtonInvisible.js +1 -1
  17. package/lib-esm/Button/ButtonTableList.js +1 -1
  18. package/lib-esm/Pagination/Pagination.js +1 -1
  19. package/lib-esm/_TextInputWrapper.js +1 -1
  20. package/package.json +1 -1
  21. package/.changeset/README.md +0 -8
  22. package/.changeset/config.json +0 -10
  23. package/.devcontainer/devcontainer.json +0 -8
  24. package/.eslintrc.json +0 -137
  25. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
  26. package/.github/ISSUE_TEMPLATE/new_component_proposal_template.md +0 -41
  27. package/.github/dependabot.yml +0 -18
  28. package/.github/pull_request_template.md +0 -18
  29. package/.github/workflows/ci.yml +0 -31
  30. package/.github/workflows/deploy_preview.yml +0 -47
  31. package/.github/workflows/deploy_production.yml +0 -70
  32. package/.github/workflows/release.yml +0 -35
  33. package/.github/workflows/release_canary.yml +0 -70
  34. package/.github/workflows/release_candidate.yml +0 -60
  35. package/.github/workflows/size.yml +0 -13
  36. package/.github/workflows/stale.yml +0 -26
  37. package/.gitignore +0 -10
  38. package/.npmrc +0 -4
  39. package/.nvmrc +0 -1
  40. package/.storybook/main.js +0 -11
  41. package/.storybook/preview.js +0 -113
  42. package/.vscode/launch.json +0 -21
  43. package/.vscode/settings.json +0 -13
  44. package/@types/@styled-system/index.d.ts +0 -0
  45. package/@types/@styled-system/prop-types/index.d.ts +0 -1
  46. package/@types/@styled-system/props/index.d.ts +0 -1
  47. package/@types/jest-styled-components/index.d.ts +0 -1
  48. package/CODEOWNERS +0 -2
  49. package/babel-defines.js +0 -13
  50. package/babel.config.js +0 -39
  51. package/contributor-docs/CODE_OF_CONDUCT.md +0 -76
  52. package/contributor-docs/CONTRIBUTING.md +0 -274
  53. package/contributor-docs/adrs/adr-001-typescript.md +0 -23
  54. package/contributor-docs/adrs/adr-002-behavior-isolation.md +0 -108
  55. package/contributor-docs/behaviors.md +0 -132
  56. package/contributor-docs/component-contents-api-patterns.md +0 -316
  57. package/contributor-docs/principles.md +0 -39
  58. package/docs/.eslintrc +0 -0
  59. package/docs/.gitignore +0 -91
  60. package/docs/components/PropsList.js +0 -5
  61. package/docs/components/State.js +0 -9
  62. package/docs/components/constants.js +0 -34
  63. package/docs/components/index.js +0 -2
  64. package/docs/content/ActionList.mdx +0 -99
  65. package/docs/content/ActionMenu.mdx +0 -80
  66. package/docs/content/AnchoredOverlay.mdx +0 -37
  67. package/docs/content/Autocomplete.mdx +0 -627
  68. package/docs/content/Avatar.mdx +0 -33
  69. package/docs/content/AvatarStack.mdx +0 -37
  70. package/docs/content/BorderBox.md +0 -46
  71. package/docs/content/Box.md +0 -74
  72. package/docs/content/BranchName.md +0 -18
  73. package/docs/content/Breadcrumbs.md +0 -52
  74. package/docs/content/Buttons.md +0 -56
  75. package/docs/content/CircleBadge.md +0 -45
  76. package/docs/content/CircleOcticon.md +0 -18
  77. package/docs/content/CounterLabel.md +0 -32
  78. package/docs/content/Details.md +0 -105
  79. package/docs/content/Dialog.md +0 -108
  80. package/docs/content/Dialog2.mdx +0 -179
  81. package/docs/content/Dropdown.md +0 -72
  82. package/docs/content/DropdownMenu.mdx +0 -49
  83. package/docs/content/FilterList.md +0 -44
  84. package/docs/content/FilteredSearch.md +0 -39
  85. package/docs/content/Flash.md +0 -44
  86. package/docs/content/Flex.md +0 -58
  87. package/docs/content/FormGroup.md +0 -46
  88. package/docs/content/Grid.md +0 -59
  89. package/docs/content/Header.md +0 -79
  90. package/docs/content/Heading.md +0 -22
  91. package/docs/content/Label.md +0 -42
  92. package/docs/content/LabelGroup.md +0 -31
  93. package/docs/content/Link.md +0 -37
  94. package/docs/content/Overlay.mdx +0 -94
  95. package/docs/content/Pagehead.md +0 -27
  96. package/docs/content/Pagination.md +0 -187
  97. package/docs/content/PointerBox.md +0 -81
  98. package/docs/content/Popover.md +0 -137
  99. package/docs/content/Portal.mdx +0 -78
  100. package/docs/content/Position.md +0 -100
  101. package/docs/content/ProgressBar.mdx +0 -29
  102. package/docs/content/SelectMenu.md +0 -435
  103. package/docs/content/SelectPanel.mdx +0 -67
  104. package/docs/content/SideNav.md +0 -179
  105. package/docs/content/Spinner.mdx +0 -32
  106. package/docs/content/StateLabel.md +0 -35
  107. package/docs/content/StyledOcticon.md +0 -36
  108. package/docs/content/SubNav.md +0 -102
  109. package/docs/content/TabNav.md +0 -50
  110. package/docs/content/Text.md +0 -31
  111. package/docs/content/TextInput.md +0 -34
  112. package/docs/content/TextInputTokens.mdx +0 -89
  113. package/docs/content/TextInputWithTokens.mdx +0 -97
  114. package/docs/content/Timeline.md +0 -138
  115. package/docs/content/Token.mdx +0 -381
  116. package/docs/content/Tooltip.md +0 -41
  117. package/docs/content/Truncate.md +0 -64
  118. package/docs/content/UnderlineNav.md +0 -53
  119. package/docs/content/anchoredPosition.mdx +0 -163
  120. package/docs/content/core-concepts.md +0 -70
  121. package/docs/content/focusTrap.mdx +0 -103
  122. package/docs/content/focusZone.mdx +0 -145
  123. package/docs/content/getting-started.md +0 -138
  124. package/docs/content/index.md +0 -33
  125. package/docs/content/linting.md +0 -35
  126. package/docs/content/overriding-styles.mdx +0 -82
  127. package/docs/content/philosophy.md +0 -23
  128. package/docs/content/primer-theme.md +0 -89
  129. package/docs/content/ssr.mdx +0 -43
  130. package/docs/content/system-props.mdx +0 -37
  131. package/docs/content/theme-reference.md +0 -16
  132. package/docs/content/theming.md +0 -249
  133. package/docs/content/useOnEscapePress.mdx +0 -56
  134. package/docs/content/useOnOutsideClick.mdx +0 -57
  135. package/docs/content/useOpenAndCloseFocus.mdx +0 -49
  136. package/docs/content/useOverlay.mdx +0 -62
  137. package/docs/content/useSafeTimeout.mdx +0 -32
  138. package/docs/gatsby-config.js +0 -30
  139. package/docs/gatsby-node.js +0 -101
  140. package/docs/package-lock.json +0 -20756
  141. package/docs/package.json +0 -36
  142. package/docs/src/@primer/gatsby-theme-doctocat/components/hero.js +0 -23
  143. package/docs/src/@primer/gatsby-theme-doctocat/components/live-preview-wrapper.js +0 -41
  144. package/docs/src/@primer/gatsby-theme-doctocat/live-code-scope.js +0 -54
  145. package/docs/src/@primer/gatsby-theme-doctocat/nav.yml +0 -133
  146. package/docs/src/@primer/gatsby-theme-doctocat/primer-components-hero.svg +0 -1411
  147. package/docs/src/props.js +0 -77
  148. package/jest.config.js +0 -13
  149. package/lib/__tests__/ActionList.test.d.ts +0 -1
  150. package/lib/__tests__/ActionList.test.js +0 -69
  151. package/lib/__tests__/ActionList.types.test.d.ts +0 -6
  152. package/lib/__tests__/ActionList.types.test.js +0 -69
  153. package/lib/__tests__/ActionMenu.test.d.ts +0 -1
  154. package/lib/__tests__/ActionMenu.test.js +0 -151
  155. package/lib/__tests__/AnchoredOverlay.test.d.ts +0 -1
  156. package/lib/__tests__/AnchoredOverlay.test.js +0 -160
  157. package/lib/__tests__/Autocomplete.test.d.ts +0 -1
  158. package/lib/__tests__/Autocomplete.test.js +0 -528
  159. package/lib/__tests__/Avatar.test.d.ts +0 -1
  160. package/lib/__tests__/Avatar.test.js +0 -67
  161. package/lib/__tests__/AvatarStack.test.d.ts +0 -1
  162. package/lib/__tests__/AvatarStack.test.js +0 -71
  163. package/lib/__tests__/BorderBox.test.d.ts +0 -1
  164. package/lib/__tests__/BorderBox.test.js +0 -58
  165. package/lib/__tests__/Box.test.d.ts +0 -1
  166. package/lib/__tests__/Box.test.js +0 -78
  167. package/lib/__tests__/BranchName.test.d.ts +0 -1
  168. package/lib/__tests__/BranchName.test.js +0 -36
  169. package/lib/__tests__/Breadcrumbs.test.d.ts +0 -1
  170. package/lib/__tests__/Breadcrumbs.test.js +0 -37
  171. package/lib/__tests__/BreadcrumbsItem.test.d.ts +0 -1
  172. package/lib/__tests__/BreadcrumbsItem.test.js +0 -49
  173. package/lib/__tests__/Button.test.d.ts +0 -1
  174. package/lib/__tests__/Button.test.js +0 -143
  175. package/lib/__tests__/Caret.test.d.ts +0 -1
  176. package/lib/__tests__/Caret.test.js +0 -52
  177. package/lib/__tests__/CircleBadge.test.d.ts +0 -1
  178. package/lib/__tests__/CircleBadge.test.js +0 -83
  179. package/lib/__tests__/CircleOcticon.test.d.ts +0 -1
  180. package/lib/__tests__/CircleOcticon.test.js +0 -71
  181. package/lib/__tests__/ConfirmationDialog.test.d.ts +0 -1
  182. package/lib/__tests__/ConfirmationDialog.test.js +0 -134
  183. package/lib/__tests__/CounterLabel.test.d.ts +0 -1
  184. package/lib/__tests__/CounterLabel.test.js +0 -58
  185. package/lib/__tests__/Details.test.d.ts +0 -1
  186. package/lib/__tests__/Details.test.js +0 -117
  187. package/lib/__tests__/Dialog.test.d.ts +0 -1
  188. package/lib/__tests__/Dialog.test.js +0 -184
  189. package/lib/__tests__/Dropdown.test.d.ts +0 -1
  190. package/lib/__tests__/Dropdown.test.js +0 -63
  191. package/lib/__tests__/DropdownMenu.test.d.ts +0 -1
  192. package/lib/__tests__/DropdownMenu.test.js +0 -150
  193. package/lib/__tests__/FilterList.test.d.ts +0 -1
  194. package/lib/__tests__/FilterList.test.js +0 -36
  195. package/lib/__tests__/FilterListItem.test.d.ts +0 -1
  196. package/lib/__tests__/FilterListItem.test.js +0 -46
  197. package/lib/__tests__/FilteredSearch.test.d.ts +0 -1
  198. package/lib/__tests__/FilteredSearch.test.js +0 -36
  199. package/lib/__tests__/Flash.test.d.ts +0 -1
  200. package/lib/__tests__/Flash.test.js +0 -62
  201. package/lib/__tests__/Flex.test.d.ts +0 -1
  202. package/lib/__tests__/Flex.test.js +0 -74
  203. package/lib/__tests__/FormGroup.test.d.ts +0 -1
  204. package/lib/__tests__/FormGroup.test.js +0 -54
  205. package/lib/__tests__/Grid.test.d.ts +0 -1
  206. package/lib/__tests__/Grid.test.js +0 -104
  207. package/lib/__tests__/Header.test.d.ts +0 -1
  208. package/lib/__tests__/Header.test.js +0 -58
  209. package/lib/__tests__/Heading.test.d.ts +0 -1
  210. package/lib/__tests__/Heading.test.js +0 -109
  211. package/lib/__tests__/Label.test.d.ts +0 -1
  212. package/lib/__tests__/Label.test.js +0 -46
  213. package/lib/__tests__/LabelGroup.test.d.ts +0 -1
  214. package/lib/__tests__/LabelGroup.test.js +0 -38
  215. package/lib/__tests__/Link.test.d.ts +0 -1
  216. package/lib/__tests__/Link.test.js +0 -70
  217. package/lib/__tests__/Merge.types.test.d.ts +0 -30
  218. package/lib/__tests__/Merge.types.test.js +0 -27
  219. package/lib/__tests__/Overlay.test.d.ts +0 -1
  220. package/lib/__tests__/Overlay.test.js +0 -145
  221. package/lib/__tests__/Pagehead.test.d.ts +0 -1
  222. package/lib/__tests__/Pagehead.test.js +0 -37
  223. package/lib/__tests__/Pagination/Pagination.test.d.ts +0 -1
  224. package/lib/__tests__/Pagination/Pagination.test.js +0 -47
  225. package/lib/__tests__/Pagination/PaginationModel.test.d.ts +0 -1
  226. package/lib/__tests__/Pagination/PaginationModel.test.js +0 -186
  227. package/lib/__tests__/PointerBox.test.d.ts +0 -1
  228. package/lib/__tests__/PointerBox.test.js +0 -46
  229. package/lib/__tests__/Popover.test.d.ts +0 -1
  230. package/lib/__tests__/Popover.test.js +0 -66
  231. package/lib/__tests__/Portal.test.d.ts +0 -1
  232. package/lib/__tests__/Portal.test.js +0 -124
  233. package/lib/__tests__/Position.test.d.ts +0 -1
  234. package/lib/__tests__/Position.test.js +0 -143
  235. package/lib/__tests__/ProgressBar.test.d.ts +0 -1
  236. package/lib/__tests__/ProgressBar.test.js +0 -68
  237. package/lib/__tests__/SelectMenu.test.d.ts +0 -1
  238. package/lib/__tests__/SelectMenu.test.js +0 -155
  239. package/lib/__tests__/SelectPanel.test.d.ts +0 -1
  240. package/lib/__tests__/SelectPanel.test.js +0 -80
  241. package/lib/__tests__/SideNav.test.d.ts +0 -1
  242. package/lib/__tests__/SideNav.test.js +0 -71
  243. package/lib/__tests__/Spinner.test.d.ts +0 -1
  244. package/lib/__tests__/Spinner.test.js +0 -53
  245. package/lib/__tests__/StateLabel.test.d.ts +0 -1
  246. package/lib/__tests__/StateLabel.test.js +0 -71
  247. package/lib/__tests__/StyledOcticon.test.d.ts +0 -1
  248. package/lib/__tests__/StyledOcticon.test.js +0 -40
  249. package/lib/__tests__/SubNav.test.d.ts +0 -1
  250. package/lib/__tests__/SubNav.test.js +0 -62
  251. package/lib/__tests__/SubNavLink.test.d.ts +0 -1
  252. package/lib/__tests__/SubNavLink.test.js +0 -49
  253. package/lib/__tests__/TabNav.test.d.ts +0 -1
  254. package/lib/__tests__/TabNav.test.js +0 -49
  255. package/lib/__tests__/Text.test.d.ts +0 -1
  256. package/lib/__tests__/Text.test.js +0 -105
  257. package/lib/__tests__/TextInput.test.d.ts +0 -1
  258. package/lib/__tests__/TextInput.test.js +0 -78
  259. package/lib/__tests__/TextInputWithTokens.test.d.ts +0 -1
  260. package/lib/__tests__/TextInputWithTokens.test.js +0 -389
  261. package/lib/__tests__/ThemeProvider.test.d.ts +0 -1
  262. package/lib/__tests__/ThemeProvider.test.js +0 -444
  263. package/lib/__tests__/Timeline.test.d.ts +0 -1
  264. package/lib/__tests__/Timeline.test.js +0 -75
  265. package/lib/__tests__/Token.test.d.ts +0 -1
  266. package/lib/__tests__/Token.test.js +0 -180
  267. package/lib/__tests__/Tooltip.test.d.ts +0 -1
  268. package/lib/__tests__/Tooltip.test.js +0 -69
  269. package/lib/__tests__/Truncate.test.d.ts +0 -1
  270. package/lib/__tests__/Truncate.test.js +0 -63
  271. package/lib/__tests__/UnderlineNav.test.d.ts +0 -1
  272. package/lib/__tests__/UnderlineNav.test.js +0 -72
  273. package/lib/__tests__/UnderlineNavLink.test.d.ts +0 -1
  274. package/lib/__tests__/UnderlineNavLink.test.js +0 -51
  275. package/lib/__tests__/behaviors/anchoredPosition.test.d.ts +0 -1
  276. package/lib/__tests__/behaviors/anchoredPosition.test.js +0 -390
  277. package/lib/__tests__/behaviors/focusTrap.test.d.ts +0 -1
  278. package/lib/__tests__/behaviors/focusTrap.test.js +0 -234
  279. package/lib/__tests__/behaviors/focusZone.test.d.ts +0 -1
  280. package/lib/__tests__/behaviors/focusZone.test.js +0 -570
  281. package/lib/__tests__/behaviors/iterateFocusableElements.test.d.ts +0 -1
  282. package/lib/__tests__/behaviors/iterateFocusableElements.test.js +0 -55
  283. package/lib/__tests__/behaviors/scrollIntoViewingArea.test.d.ts +0 -1
  284. package/lib/__tests__/behaviors/scrollIntoViewingArea.test.js +0 -226
  285. package/lib/__tests__/filterObject.test.d.ts +0 -1
  286. package/lib/__tests__/filterObject.test.js +0 -30
  287. package/lib/__tests__/hooks/useAnchoredPosition.test.d.ts +0 -1
  288. package/lib/__tests__/hooks/useAnchoredPosition.test.js +0 -54
  289. package/lib/__tests__/hooks/useOnEscapePress.test.d.ts +0 -1
  290. package/lib/__tests__/hooks/useOnEscapePress.test.js +0 -32
  291. package/lib/__tests__/hooks/useOnOutsideClick.test.d.ts +0 -1
  292. package/lib/__tests__/hooks/useOnOutsideClick.test.js +0 -87
  293. package/lib/__tests__/hooks/useOpenAndCloseFocus.test.d.ts +0 -1
  294. package/lib/__tests__/hooks/useOpenAndCloseFocus.test.js +0 -60
  295. package/lib/__tests__/hooks/useProvidedStateOrCreate.test.d.ts +0 -1
  296. package/lib/__tests__/hooks/useProvidedStateOrCreate.test.js +0 -45
  297. package/lib/__tests__/theme.test.d.ts +0 -1
  298. package/lib/__tests__/theme.test.js +0 -36
  299. package/lib/__tests__/themeGet.test.d.ts +0 -1
  300. package/lib/__tests__/themeGet.test.js +0 -25
  301. package/lib/__tests__/useSafeTimeout.test.d.ts +0 -1
  302. package/lib/__tests__/useSafeTimeout.test.js +0 -45
  303. package/lib/stories/ActionList.stories.js +0 -453
  304. package/lib/stories/ActionMenu.stories.js +0 -338
  305. package/lib/stories/AnchoredOverlay.stories.js +0 -127
  306. package/lib/stories/Autocomplete.stories.js +0 -608
  307. package/lib/stories/AvatarStack.stories.js +0 -49
  308. package/lib/stories/Button.stories.js +0 -114
  309. package/lib/stories/ConfirmationDialog.stories.js +0 -111
  310. package/lib/stories/Dialog.stories.js +0 -265
  311. package/lib/stories/DropdownMenu.stories.js +0 -122
  312. package/lib/stories/IssueLabelToken.stories.js +0 -165
  313. package/lib/stories/Overlay.stories.js +0 -204
  314. package/lib/stories/Portal.stories.js +0 -104
  315. package/lib/stories/ProfileToken.stories.js +0 -162
  316. package/lib/stories/SelectPanel.stories.js +0 -399
  317. package/lib/stories/TextInputWithTokens.stories.js +0 -235
  318. package/lib/stories/ThemeProvider.stories.js +0 -102
  319. package/lib/stories/Token.stories.js +0 -159
  320. package/lib/stories/useAnchoredPosition.stories.js +0 -351
  321. package/lib/stories/useFocusTrap.stories.js +0 -356
  322. package/lib/stories/useFocusZone.stories.js +0 -599
  323. package/lib-esm/__tests__/ActionList.test.d.ts +0 -1
  324. package/lib-esm/__tests__/ActionList.test.js +0 -57
  325. package/lib-esm/__tests__/ActionList.types.test.d.ts +0 -6
  326. package/lib-esm/__tests__/ActionList.types.test.js +0 -45
  327. package/lib-esm/__tests__/ActionMenu.test.d.ts +0 -1
  328. package/lib-esm/__tests__/ActionMenu.test.js +0 -139
  329. package/lib-esm/__tests__/AnchoredOverlay.test.d.ts +0 -1
  330. package/lib-esm/__tests__/AnchoredOverlay.test.js +0 -134
  331. package/lib-esm/__tests__/Autocomplete.test.d.ts +0 -1
  332. package/lib-esm/__tests__/Autocomplete.test.js +0 -494
  333. package/lib-esm/__tests__/Avatar.test.d.ts +0 -1
  334. package/lib-esm/__tests__/Avatar.test.js +0 -56
  335. package/lib-esm/__tests__/AvatarStack.test.d.ts +0 -1
  336. package/lib-esm/__tests__/AvatarStack.test.js +0 -58
  337. package/lib-esm/__tests__/BorderBox.test.d.ts +0 -1
  338. package/lib-esm/__tests__/BorderBox.test.js +0 -47
  339. package/lib-esm/__tests__/Box.test.d.ts +0 -1
  340. package/lib-esm/__tests__/Box.test.js +0 -67
  341. package/lib-esm/__tests__/BranchName.test.d.ts +0 -1
  342. package/lib-esm/__tests__/BranchName.test.js +0 -26
  343. package/lib-esm/__tests__/Breadcrumbs.test.d.ts +0 -1
  344. package/lib-esm/__tests__/Breadcrumbs.test.js +0 -27
  345. package/lib-esm/__tests__/BreadcrumbsItem.test.d.ts +0 -1
  346. package/lib-esm/__tests__/BreadcrumbsItem.test.js +0 -39
  347. package/lib-esm/__tests__/Button.test.d.ts +0 -1
  348. package/lib-esm/__tests__/Button.test.js +0 -133
  349. package/lib-esm/__tests__/Caret.test.d.ts +0 -1
  350. package/lib-esm/__tests__/Caret.test.js +0 -42
  351. package/lib-esm/__tests__/CircleBadge.test.d.ts +0 -1
  352. package/lib-esm/__tests__/CircleBadge.test.js +0 -70
  353. package/lib-esm/__tests__/CircleOcticon.test.d.ts +0 -1
  354. package/lib-esm/__tests__/CircleOcticon.test.js +0 -59
  355. package/lib-esm/__tests__/ConfirmationDialog.test.d.ts +0 -1
  356. package/lib-esm/__tests__/ConfirmationDialog.test.js +0 -113
  357. package/lib-esm/__tests__/CounterLabel.test.d.ts +0 -1
  358. package/lib-esm/__tests__/CounterLabel.test.js +0 -47
  359. package/lib-esm/__tests__/Details.test.d.ts +0 -1
  360. package/lib-esm/__tests__/Details.test.js +0 -107
  361. package/lib-esm/__tests__/Dialog.test.d.ts +0 -1
  362. package/lib-esm/__tests__/Dialog.test.js +0 -171
  363. package/lib-esm/__tests__/Dropdown.test.d.ts +0 -1
  364. package/lib-esm/__tests__/Dropdown.test.js +0 -53
  365. package/lib-esm/__tests__/DropdownMenu.test.d.ts +0 -1
  366. package/lib-esm/__tests__/DropdownMenu.test.js +0 -137
  367. package/lib-esm/__tests__/FilterList.test.d.ts +0 -1
  368. package/lib-esm/__tests__/FilterList.test.js +0 -26
  369. package/lib-esm/__tests__/FilterListItem.test.d.ts +0 -1
  370. package/lib-esm/__tests__/FilterListItem.test.js +0 -36
  371. package/lib-esm/__tests__/FilteredSearch.test.d.ts +0 -1
  372. package/lib-esm/__tests__/FilteredSearch.test.js +0 -26
  373. package/lib-esm/__tests__/Flash.test.d.ts +0 -1
  374. package/lib-esm/__tests__/Flash.test.js +0 -51
  375. package/lib-esm/__tests__/Flex.test.d.ts +0 -1
  376. package/lib-esm/__tests__/Flex.test.js +0 -64
  377. package/lib-esm/__tests__/FormGroup.test.d.ts +0 -1
  378. package/lib-esm/__tests__/FormGroup.test.js +0 -44
  379. package/lib-esm/__tests__/Grid.test.d.ts +0 -1
  380. package/lib-esm/__tests__/Grid.test.js +0 -94
  381. package/lib-esm/__tests__/Header.test.d.ts +0 -1
  382. package/lib-esm/__tests__/Header.test.js +0 -48
  383. package/lib-esm/__tests__/Heading.test.d.ts +0 -1
  384. package/lib-esm/__tests__/Heading.test.js +0 -99
  385. package/lib-esm/__tests__/Label.test.d.ts +0 -1
  386. package/lib-esm/__tests__/Label.test.js +0 -36
  387. package/lib-esm/__tests__/LabelGroup.test.d.ts +0 -1
  388. package/lib-esm/__tests__/LabelGroup.test.js +0 -26
  389. package/lib-esm/__tests__/Link.test.d.ts +0 -1
  390. package/lib-esm/__tests__/Link.test.js +0 -60
  391. package/lib-esm/__tests__/Merge.types.test.d.ts +0 -30
  392. package/lib-esm/__tests__/Merge.types.test.js +0 -14
  393. package/lib-esm/__tests__/Overlay.test.d.ts +0 -1
  394. package/lib-esm/__tests__/Overlay.test.js +0 -123
  395. package/lib-esm/__tests__/Pagehead.test.d.ts +0 -1
  396. package/lib-esm/__tests__/Pagehead.test.js +0 -26
  397. package/lib-esm/__tests__/Pagination/Pagination.test.d.ts +0 -1
  398. package/lib-esm/__tests__/Pagination/Pagination.test.js +0 -35
  399. package/lib-esm/__tests__/Pagination/PaginationModel.test.d.ts +0 -1
  400. package/lib-esm/__tests__/Pagination/PaginationModel.test.js +0 -182
  401. package/lib-esm/__tests__/PointerBox.test.d.ts +0 -1
  402. package/lib-esm/__tests__/PointerBox.test.js +0 -36
  403. package/lib-esm/__tests__/Popover.test.d.ts +0 -1
  404. package/lib-esm/__tests__/Popover.test.js +0 -53
  405. package/lib-esm/__tests__/Portal.test.d.ts +0 -1
  406. package/lib-esm/__tests__/Portal.test.js +0 -104
  407. package/lib-esm/__tests__/Position.test.d.ts +0 -1
  408. package/lib-esm/__tests__/Position.test.js +0 -133
  409. package/lib-esm/__tests__/ProgressBar.test.d.ts +0 -1
  410. package/lib-esm/__tests__/ProgressBar.test.js +0 -58
  411. package/lib-esm/__tests__/SelectMenu.test.d.ts +0 -1
  412. package/lib-esm/__tests__/SelectMenu.test.js +0 -145
  413. package/lib-esm/__tests__/SelectPanel.test.d.ts +0 -1
  414. package/lib-esm/__tests__/SelectPanel.test.js +0 -65
  415. package/lib-esm/__tests__/SideNav.test.d.ts +0 -1
  416. package/lib-esm/__tests__/SideNav.test.js +0 -60
  417. package/lib-esm/__tests__/Spinner.test.d.ts +0 -1
  418. package/lib-esm/__tests__/Spinner.test.js +0 -43
  419. package/lib-esm/__tests__/StateLabel.test.d.ts +0 -1
  420. package/lib-esm/__tests__/StateLabel.test.js +0 -61
  421. package/lib-esm/__tests__/StyledOcticon.test.d.ts +0 -1
  422. package/lib-esm/__tests__/StyledOcticon.test.js +0 -29
  423. package/lib-esm/__tests__/SubNav.test.d.ts +0 -1
  424. package/lib-esm/__tests__/SubNav.test.js +0 -50
  425. package/lib-esm/__tests__/SubNavLink.test.d.ts +0 -1
  426. package/lib-esm/__tests__/SubNavLink.test.js +0 -39
  427. package/lib-esm/__tests__/TabNav.test.d.ts +0 -1
  428. package/lib-esm/__tests__/TabNav.test.js +0 -39
  429. package/lib-esm/__tests__/Text.test.d.ts +0 -1
  430. package/lib-esm/__tests__/Text.test.js +0 -93
  431. package/lib-esm/__tests__/TextInput.test.d.ts +0 -1
  432. package/lib-esm/__tests__/TextInput.test.js +0 -68
  433. package/lib-esm/__tests__/TextInputWithTokens.test.d.ts +0 -1
  434. package/lib-esm/__tests__/TextInputWithTokens.test.js +0 -341
  435. package/lib-esm/__tests__/ThemeProvider.test.d.ts +0 -1
  436. package/lib-esm/__tests__/ThemeProvider.test.js +0 -408
  437. package/lib-esm/__tests__/Timeline.test.d.ts +0 -1
  438. package/lib-esm/__tests__/Timeline.test.js +0 -65
  439. package/lib-esm/__tests__/Token.test.d.ts +0 -1
  440. package/lib-esm/__tests__/Token.test.js +0 -166
  441. package/lib-esm/__tests__/Tooltip.test.d.ts +0 -1
  442. package/lib-esm/__tests__/Tooltip.test.js +0 -59
  443. package/lib-esm/__tests__/Truncate.test.d.ts +0 -1
  444. package/lib-esm/__tests__/Truncate.test.js +0 -53
  445. package/lib-esm/__tests__/UnderlineNav.test.d.ts +0 -1
  446. package/lib-esm/__tests__/UnderlineNav.test.js +0 -60
  447. package/lib-esm/__tests__/UnderlineNavLink.test.d.ts +0 -1
  448. package/lib-esm/__tests__/UnderlineNavLink.test.js +0 -41
  449. package/lib-esm/__tests__/behaviors/anchoredPosition.test.d.ts +0 -1
  450. package/lib-esm/__tests__/behaviors/anchoredPosition.test.js +0 -388
  451. package/lib-esm/__tests__/behaviors/focusTrap.test.d.ts +0 -1
  452. package/lib-esm/__tests__/behaviors/focusTrap.test.js +0 -227
  453. package/lib-esm/__tests__/behaviors/focusZone.test.d.ts +0 -1
  454. package/lib-esm/__tests__/behaviors/focusZone.test.js +0 -487
  455. package/lib-esm/__tests__/behaviors/iterateFocusableElements.test.d.ts +0 -1
  456. package/lib-esm/__tests__/behaviors/iterateFocusableElements.test.js +0 -48
  457. package/lib-esm/__tests__/behaviors/scrollIntoViewingArea.test.d.ts +0 -1
  458. package/lib-esm/__tests__/behaviors/scrollIntoViewingArea.test.js +0 -224
  459. package/lib-esm/__tests__/filterObject.test.d.ts +0 -1
  460. package/lib-esm/__tests__/filterObject.test.js +0 -27
  461. package/lib-esm/__tests__/hooks/useAnchoredPosition.test.d.ts +0 -1
  462. package/lib-esm/__tests__/hooks/useAnchoredPosition.test.js +0 -46
  463. package/lib-esm/__tests__/hooks/useOnEscapePress.test.d.ts +0 -1
  464. package/lib-esm/__tests__/hooks/useOnEscapePress.test.js +0 -23
  465. package/lib-esm/__tests__/hooks/useOnOutsideClick.test.d.ts +0 -1
  466. package/lib-esm/__tests__/hooks/useOnOutsideClick.test.js +0 -68
  467. package/lib-esm/__tests__/hooks/useOpenAndCloseFocus.test.d.ts +0 -1
  468. package/lib-esm/__tests__/hooks/useOpenAndCloseFocus.test.js +0 -52
  469. package/lib-esm/__tests__/hooks/useProvidedStateOrCreate.test.d.ts +0 -1
  470. package/lib-esm/__tests__/hooks/useProvidedStateOrCreate.test.js +0 -36
  471. package/lib-esm/__tests__/theme.test.d.ts +0 -1
  472. package/lib-esm/__tests__/theme.test.js +0 -33
  473. package/lib-esm/__tests__/themeGet.test.d.ts +0 -1
  474. package/lib-esm/__tests__/themeGet.test.js +0 -22
  475. package/lib-esm/__tests__/useSafeTimeout.test.d.ts +0 -1
  476. package/lib-esm/__tests__/useSafeTimeout.test.js +0 -39
  477. package/lib-esm/stories/ActionList.stories.js +0 -394
  478. package/lib-esm/stories/ActionMenu.stories.js +0 -293
  479. package/lib-esm/stories/AnchoredOverlay.stories.js +0 -101
  480. package/lib-esm/stories/Autocomplete.stories.js +0 -549
  481. package/lib-esm/stories/AvatarStack.stories.js +0 -32
  482. package/lib-esm/stories/Button.stories.js +0 -78
  483. package/lib-esm/stories/ConfirmationDialog.stories.js +0 -86
  484. package/lib-esm/stories/Dialog.stories.js +0 -240
  485. package/lib-esm/stories/DropdownMenu.stories.js +0 -94
  486. package/lib-esm/stories/IssueLabelToken.stories.js +0 -139
  487. package/lib-esm/stories/Overlay.stories.js +0 -173
  488. package/lib-esm/stories/Portal.stories.js +0 -68
  489. package/lib-esm/stories/ProfileToken.stories.js +0 -136
  490. package/lib-esm/stories/SelectPanel.stories.js +0 -334
  491. package/lib-esm/stories/TextInputWithTokens.stories.js +0 -196
  492. package/lib-esm/stories/ThemeProvider.stories.js +0 -83
  493. package/lib-esm/stories/Token.stories.js +0 -133
  494. package/lib-esm/stories/useAnchoredPosition.stories.js +0 -313
  495. package/lib-esm/stories/useFocusTrap.stories.js +0 -309
  496. package/lib-esm/stories/useFocusZone.stories.js +0 -554
  497. package/migrating.md +0 -250
  498. package/now.json +0 -17
  499. package/package-lock.json +0 -29369
  500. package/rollup.config.js +0 -36
  501. package/script/build +0 -19
  502. package/script/build-storybook +0 -10
  503. package/script/setup +0 -12
  504. package/src/ActionList/Divider.tsx +0 -25
  505. package/src/ActionList/Group.tsx +0 -45
  506. package/src/ActionList/Header.tsx +0 -74
  507. package/src/ActionList/Item.tsx +0 -483
  508. package/src/ActionList/List.tsx +0 -258
  509. package/src/ActionList/index.ts +0 -21
  510. package/src/ActionMenu.tsx +0 -106
  511. package/src/AnchoredOverlay/AnchoredOverlay.tsx +0 -191
  512. package/src/AnchoredOverlay/index.ts +0 -2
  513. package/src/Autocomplete/Autocomplete.tsx +0 -103
  514. package/src/Autocomplete/AutocompleteContext.tsx +0 -19
  515. package/src/Autocomplete/AutocompleteInput.tsx +0 -179
  516. package/src/Autocomplete/AutocompleteMenu.tsx +0 -341
  517. package/src/Autocomplete/AutocompleteOverlay.tsx +0 -68
  518. package/src/Autocomplete/index.ts +0 -2
  519. package/src/Avatar.tsx +0 -46
  520. package/src/AvatarPair.tsx +0 -35
  521. package/src/AvatarStack.tsx +0 -159
  522. package/src/BaseStyles.tsx +0 -53
  523. package/src/BorderBox.tsx +0 -18
  524. package/src/Box.tsx +0 -54
  525. package/src/BranchName.tsx +0 -19
  526. package/src/Breadcrumbs.tsx +0 -101
  527. package/src/Button/Button.tsx +0 -40
  528. package/src/Button/ButtonBase.tsx +0 -43
  529. package/src/Button/ButtonClose.tsx +0 -40
  530. package/src/Button/ButtonDanger.tsx +0 -43
  531. package/src/Button/ButtonGroup.tsx +0 -55
  532. package/src/Button/ButtonInvisible.tsx +0 -27
  533. package/src/Button/ButtonOutline.tsx +0 -43
  534. package/src/Button/ButtonPrimary.tsx +0 -41
  535. package/src/Button/ButtonStyles.tsx +0 -36
  536. package/src/Button/ButtonTableList.tsx +0 -58
  537. package/src/Button/index.ts +0 -16
  538. package/src/Caret.tsx +0 -133
  539. package/src/CircleBadge.tsx +0 -55
  540. package/src/CircleOcticon.tsx +0 -37
  541. package/src/CounterLabel.tsx +0 -52
  542. package/src/Details.tsx +0 -23
  543. package/src/Dialog/ConfirmationDialog.tsx +0 -184
  544. package/src/Dialog/Dialog.tsx +0 -432
  545. package/src/Dialog.tsx +0 -149
  546. package/src/Dropdown.tsx +0 -158
  547. package/src/DropdownMenu/DropdownButton.tsx +0 -15
  548. package/src/DropdownMenu/DropdownMenu.tsx +0 -115
  549. package/src/DropdownMenu/index.ts +0 -4
  550. package/src/DropdownStyles.ts +0 -128
  551. package/src/FilterList.tsx +0 -81
  552. package/src/FilteredActionList/FilteredActionList.tsx +0 -142
  553. package/src/FilteredActionList/index.ts +0 -2
  554. package/src/FilteredSearch.tsx +0 -28
  555. package/src/Flash.tsx +0 -77
  556. package/src/Flex.tsx +0 -15
  557. package/src/FormGroup.tsx +0 -27
  558. package/src/Grid.tsx +0 -15
  559. package/src/Header.tsx +0 -84
  560. package/src/Heading.tsx +0 -21
  561. package/src/Label.tsx +0 -75
  562. package/src/LabelGroup.tsx +0 -18
  563. package/src/Link.tsx +0 -46
  564. package/src/Overlay.tsx +0 -197
  565. package/src/Pagehead.tsx +0 -17
  566. package/src/Pagination/Pagination.tsx +0 -214
  567. package/src/Pagination/index.ts +0 -4
  568. package/src/Pagination/model.tsx +0 -187
  569. package/src/PointerBox.tsx +0 -31
  570. package/src/Popover.tsx +0 -236
  571. package/src/Portal/Portal.tsx +0 -96
  572. package/src/Portal/index.ts +0 -5
  573. package/src/Position.tsx +0 -63
  574. package/src/ProgressBar.tsx +0 -52
  575. package/src/SelectMenu/SelectMenu.tsx +0 -125
  576. package/src/SelectMenu/SelectMenuContext.tsx +0 -9
  577. package/src/SelectMenu/SelectMenuDivider.tsx +0 -25
  578. package/src/SelectMenu/SelectMenuFilter.tsx +0 -51
  579. package/src/SelectMenu/SelectMenuFooter.tsx +0 -28
  580. package/src/SelectMenu/SelectMenuHeader.tsx +0 -50
  581. package/src/SelectMenu/SelectMenuItem.tsx +0 -137
  582. package/src/SelectMenu/SelectMenuList.tsx +0 -42
  583. package/src/SelectMenu/SelectMenuLoadingAnimation.tsx +0 -24
  584. package/src/SelectMenu/SelectMenuModal.tsx +0 -121
  585. package/src/SelectMenu/SelectMenuTab.tsx +0 -88
  586. package/src/SelectMenu/SelectMenuTabPanel.tsx +0 -30
  587. package/src/SelectMenu/SelectMenuTabs.tsx +0 -44
  588. package/src/SelectMenu/hooks/useKeyboardNav.js +0 -90
  589. package/src/SelectMenu/index.ts +0 -15
  590. package/src/SelectPanel/SelectPanel.tsx +0 -173
  591. package/src/SelectPanel/index.ts +0 -2
  592. package/src/SideNav.tsx +0 -193
  593. package/src/Spinner.tsx +0 -59
  594. package/src/StateLabel.tsx +0 -102
  595. package/src/StyledOcticon.tsx +0 -24
  596. package/src/SubNav.tsx +0 -129
  597. package/src/TabNav.tsx +0 -77
  598. package/src/Text.tsx +0 -13
  599. package/src/TextInput.tsx +0 -68
  600. package/src/TextInputWithTokens.tsx +0 -271
  601. package/src/ThemeProvider.tsx +0 -176
  602. package/src/Timeline.tsx +0 -141
  603. package/src/Token/AvatarToken.tsx +0 -54
  604. package/src/Token/IssueLabelToken.tsx +0 -150
  605. package/src/Token/Token.tsx +0 -112
  606. package/src/Token/TokenBase.tsx +0 -134
  607. package/src/Token/_RemoveTokenButton.tsx +0 -98
  608. package/src/Token/_TokenTextContainer.tsx +0 -47
  609. package/src/Token/index.ts +0 -3
  610. package/src/Tooltip.tsx +0 -263
  611. package/src/Truncate.tsx +0 -36
  612. package/src/UnderlineNav.tsx +0 -110
  613. package/src/_TextInputWrapper.tsx +0 -105
  614. package/src/_UnstyledTextInput.tsx +0 -19
  615. package/src/__tests__/.eslintrc.json +0 -11
  616. package/src/__tests__/ActionList.test.tsx +0 -53
  617. package/src/__tests__/ActionList.types.test.tsx +0 -51
  618. package/src/__tests__/ActionMenu.test.tsx +0 -136
  619. package/src/__tests__/AnchoredOverlay.test.tsx +0 -150
  620. package/src/__tests__/Autocomplete.test.tsx +0 -444
  621. package/src/__tests__/Avatar.test.tsx +0 -44
  622. package/src/__tests__/AvatarStack.test.tsx +0 -48
  623. package/src/__tests__/BorderBox.test.tsx +0 -43
  624. package/src/__tests__/Box.test.tsx +0 -42
  625. package/src/__tests__/BranchName.test.tsx +0 -26
  626. package/src/__tests__/Breadcrumbs.test.tsx +0 -27
  627. package/src/__tests__/BreadcrumbsItem.test.tsx +0 -31
  628. package/src/__tests__/Button.test.tsx +0 -128
  629. package/src/__tests__/Caret.test.tsx +0 -36
  630. package/src/__tests__/CircleBadge.test.tsx +0 -66
  631. package/src/__tests__/CircleOcticon.test.tsx +0 -50
  632. package/src/__tests__/ConfirmationDialog.test.tsx +0 -120
  633. package/src/__tests__/CounterLabel.test.tsx +0 -50
  634. package/src/__tests__/Details.test.tsx +0 -115
  635. package/src/__tests__/Dialog.test.tsx +0 -155
  636. package/src/__tests__/Dropdown.test.tsx +0 -53
  637. package/src/__tests__/DropdownMenu.test.tsx +0 -136
  638. package/src/__tests__/FilterList.test.tsx +0 -26
  639. package/src/__tests__/FilterListItem.test.tsx +0 -31
  640. package/src/__tests__/FilteredSearch.test.tsx +0 -26
  641. package/src/__tests__/Flash.test.tsx +0 -45
  642. package/src/__tests__/Flex.test.tsx +0 -58
  643. package/src/__tests__/FormGroup.test.tsx +0 -38
  644. package/src/__tests__/Grid.test.tsx +0 -82
  645. package/src/__tests__/Header.test.tsx +0 -49
  646. package/src/__tests__/Heading.test.tsx +0 -91
  647. package/src/__tests__/Label.test.tsx +0 -34
  648. package/src/__tests__/LabelGroup.test.tsx +0 -30
  649. package/src/__tests__/Link.test.tsx +0 -47
  650. package/src/__tests__/Merge.types.test.ts +0 -39
  651. package/src/__tests__/Overlay.test.tsx +0 -103
  652. package/src/__tests__/Pagehead.test.tsx +0 -23
  653. package/src/__tests__/Pagination/Pagination.test.tsx +0 -30
  654. package/src/__tests__/Pagination/PaginationModel.test.tsx +0 -133
  655. package/src/__tests__/Pagination/__snapshots__/Pagination.test.tsx.snap +0 -184
  656. package/src/__tests__/PointerBox.test.tsx +0 -34
  657. package/src/__tests__/Popover.test.tsx +0 -68
  658. package/src/__tests__/Portal.test.tsx +0 -103
  659. package/src/__tests__/Position.test.tsx +0 -117
  660. package/src/__tests__/ProgressBar.test.tsx +0 -40
  661. package/src/__tests__/SelectMenu.test.tsx +0 -142
  662. package/src/__tests__/SelectPanel.test.tsx +0 -63
  663. package/src/__tests__/SideNav.test.tsx +0 -62
  664. package/src/__tests__/Spinner.test.tsx +0 -42
  665. package/src/__tests__/StateLabel.test.tsx +0 -48
  666. package/src/__tests__/StyledOcticon.test.tsx +0 -26
  667. package/src/__tests__/SubNav.test.tsx +0 -50
  668. package/src/__tests__/SubNavLink.test.tsx +0 -31
  669. package/src/__tests__/TabNav.test.tsx +0 -32
  670. package/src/__tests__/Text.test.tsx +0 -78
  671. package/src/__tests__/TextInput.test.tsx +0 -49
  672. package/src/__tests__/TextInputWithTokens.test.tsx +0 -262
  673. package/src/__tests__/ThemeProvider.test.tsx +0 -441
  674. package/src/__tests__/Timeline.test.tsx +0 -58
  675. package/src/__tests__/Token.test.tsx +0 -118
  676. package/src/__tests__/Tooltip.test.tsx +0 -52
  677. package/src/__tests__/Truncate.test.tsx +0 -43
  678. package/src/__tests__/UnderlineNav.test.tsx +0 -58
  679. package/src/__tests__/UnderlineNavLink.test.tsx +0 -31
  680. package/src/__tests__/__snapshots__/ActionList.test.tsx.snap +0 -223
  681. package/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap +0 -80
  682. package/src/__tests__/__snapshots__/AnchoredOverlay.test.tsx.snap +0 -332
  683. package/src/__tests__/__snapshots__/Autocomplete.test.tsx.snap +0 -3414
  684. package/src/__tests__/__snapshots__/Avatar.test.tsx.snap +0 -19
  685. package/src/__tests__/__snapshots__/AvatarStack.test.tsx.snap +0 -377
  686. package/src/__tests__/__snapshots__/BorderBox.test.tsx.snap +0 -14
  687. package/src/__tests__/__snapshots__/Box.test.tsx.snap +0 -201
  688. package/src/__tests__/__snapshots__/BranchName.test.tsx.snap +0 -17
  689. package/src/__tests__/__snapshots__/Breadcrumbs.test.tsx.snap +0 -29
  690. package/src/__tests__/__snapshots__/BreadcrumbsItem.test.tsx.snap +0 -79
  691. package/src/__tests__/__snapshots__/Button.test.tsx.snap +0 -832
  692. package/src/__tests__/__snapshots__/Caret.test.tsx.snap +0 -373
  693. package/src/__tests__/__snapshots__/CircleBadge.test.tsx.snap +0 -141
  694. package/src/__tests__/__snapshots__/CircleOcticon.test.tsx.snap +0 -64
  695. package/src/__tests__/__snapshots__/ConfirmationDialog.test.tsx.snap +0 -89
  696. package/src/__tests__/__snapshots__/CounterLabel.test.tsx.snap +0 -22
  697. package/src/__tests__/__snapshots__/Details.test.tsx.snap +0 -15
  698. package/src/__tests__/__snapshots__/Dialog.test.tsx.snap +0 -200
  699. package/src/__tests__/__snapshots__/Dropdown.test.tsx.snap +0 -249
  700. package/src/__tests__/__snapshots__/DropdownMenu.test.tsx.snap +0 -106
  701. package/src/__tests__/__snapshots__/FilterList.test.tsx.snap +0 -13
  702. package/src/__tests__/__snapshots__/FilterListItem.test.tsx.snap +0 -80
  703. package/src/__tests__/__snapshots__/FilteredSearch.test.tsx.snap +0 -32
  704. package/src/__tests__/__snapshots__/Flash.test.tsx.snap +0 -32
  705. package/src/__tests__/__snapshots__/Flex.test.tsx.snap +0 -130
  706. package/src/__tests__/__snapshots__/FormGroup.test.tsx.snap +0 -25
  707. package/src/__tests__/__snapshots__/Grid.test.tsx.snap +0 -178
  708. package/src/__tests__/__snapshots__/Header.test.tsx.snap +0 -79
  709. package/src/__tests__/__snapshots__/Heading.test.tsx.snap +0 -13
  710. package/src/__tests__/__snapshots__/Label.test.tsx.snap +0 -74
  711. package/src/__tests__/__snapshots__/LabelGroup.test.tsx.snap +0 -15
  712. package/src/__tests__/__snapshots__/Link.test.tsx.snap +0 -213
  713. package/src/__tests__/__snapshots__/Pagehead.test.tsx.snap +0 -15
  714. package/src/__tests__/__snapshots__/PointerBox.test.tsx.snap +0 -174
  715. package/src/__tests__/__snapshots__/Popover.test.tsx.snap +0 -4687
  716. package/src/__tests__/__snapshots__/Position.test.tsx.snap +0 -44
  717. package/src/__tests__/__snapshots__/ProgressBar.test.tsx.snap +0 -53
  718. package/src/__tests__/__snapshots__/SelectMenu.test.tsx.snap +0 -469
  719. package/src/__tests__/__snapshots__/SelectPanel.test.tsx.snap +0 -123
  720. package/src/__tests__/__snapshots__/SideNav.test.tsx.snap +0 -143
  721. package/src/__tests__/__snapshots__/Spinner.test.tsx.snap +0 -33
  722. package/src/__tests__/__snapshots__/StateLabel.test.tsx.snap +0 -388
  723. package/src/__tests__/__snapshots__/StyledOcticon.test.tsx.snap +0 -25
  724. package/src/__tests__/__snapshots__/SubNav.test.tsx.snap +0 -44
  725. package/src/__tests__/__snapshots__/SubNavLink.test.tsx.snap +0 -199
  726. package/src/__tests__/__snapshots__/TabNav.test.tsx.snap +0 -58
  727. package/src/__tests__/__snapshots__/Text.test.tsx.snap +0 -7
  728. package/src/__tests__/__snapshots__/TextInput.test.tsx.snap +0 -440
  729. package/src/__tests__/__snapshots__/TextInputWithTokens.test.tsx.snap +0 -5308
  730. package/src/__tests__/__snapshots__/ThemeProvider.test.tsx.snap +0 -15
  731. package/src/__tests__/__snapshots__/Timeline.test.tsx.snap +0 -159
  732. package/src/__tests__/__snapshots__/Token.test.tsx.snap +0 -3787
  733. package/src/__tests__/__snapshots__/Tooltip.test.tsx.snap +0 -227
  734. package/src/__tests__/__snapshots__/Truncate.test.tsx.snap +0 -17
  735. package/src/__tests__/__snapshots__/UnderlineNav.test.tsx.snap +0 -59
  736. package/src/__tests__/__snapshots__/UnderlineNavLink.test.tsx.snap +0 -130
  737. package/src/__tests__/behaviors/anchoredPosition.test.ts +0 -295
  738. package/src/__tests__/behaviors/focusTrap.test.tsx +0 -236
  739. package/src/__tests__/behaviors/focusZone.test.tsx +0 -549
  740. package/src/__tests__/behaviors/iterateFocusableElements.test.tsx +0 -61
  741. package/src/__tests__/behaviors/scrollIntoViewingArea.test.ts +0 -195
  742. package/src/__tests__/filterObject.test.ts +0 -54
  743. package/src/__tests__/hooks/useAnchoredPosition.test.tsx +0 -31
  744. package/src/__tests__/hooks/useOnEscapePress.test.tsx +0 -16
  745. package/src/__tests__/hooks/useOnOutsideClick.test.tsx +0 -48
  746. package/src/__tests__/hooks/useOpenAndCloseFocus.test.tsx +0 -48
  747. package/src/__tests__/hooks/useProvidedStateOrCreate.test.tsx +0 -39
  748. package/src/__tests__/theme.test.ts +0 -41
  749. package/src/__tests__/themeGet.test.ts +0 -15
  750. package/src/__tests__/useSafeTimeout.test.tsx +0 -36
  751. package/src/behaviors/anchoredPosition.ts +0 -442
  752. package/src/behaviors/focusTrap.ts +0 -184
  753. package/src/behaviors/focusZone.ts +0 -713
  754. package/src/behaviors/scrollIntoViewingArea.ts +0 -27
  755. package/src/constants.ts +0 -62
  756. package/src/hooks/index.ts +0 -11
  757. package/src/hooks/useAnchoredPosition.ts +0 -53
  758. package/src/hooks/useCombinedRefs.ts +0 -40
  759. package/src/hooks/useDetails.tsx +0 -54
  760. package/src/hooks/useDialog.ts +0 -121
  761. package/src/hooks/useFocusTrap.ts +0 -80
  762. package/src/hooks/useFocusZone.ts +0 -64
  763. package/src/hooks/useOnEscapePress.ts +0 -63
  764. package/src/hooks/useOnOutsideClick.tsx +0 -82
  765. package/src/hooks/useOpenAndCloseFocus.ts +0 -32
  766. package/src/hooks/useOverlay.tsx +0 -34
  767. package/src/hooks/useProvidedRefOrCreate.ts +0 -14
  768. package/src/hooks/useProvidedStateOrCreate.ts +0 -27
  769. package/src/hooks/useRenderForcingRef.ts +0 -22
  770. package/src/hooks/useResizeObserver.ts +0 -11
  771. package/src/hooks/useSafeTimeout.ts +0 -38
  772. package/src/hooks/useScrollFlash.ts +0 -21
  773. package/src/index.ts +0 -170
  774. package/src/polyfills/eventListenerSignal.ts +0 -66
  775. package/src/stories/ActionList.stories.tsx +0 -437
  776. package/src/stories/ActionMenu.stories.tsx +0 -322
  777. package/src/stories/AnchoredOverlay.stories.tsx +0 -117
  778. package/src/stories/Autocomplete.stories.tsx +0 -572
  779. package/src/stories/AvatarStack.stories.tsx +0 -37
  780. package/src/stories/Button.stories.tsx +0 -88
  781. package/src/stories/ConfirmationDialog.stories.tsx +0 -105
  782. package/src/stories/Dialog.stories.tsx +0 -240
  783. package/src/stories/DropdownMenu.stories.tsx +0 -84
  784. package/src/stories/IssueLabelToken.stories.tsx +0 -138
  785. package/src/stories/Overlay.stories.tsx +0 -213
  786. package/src/stories/Portal.stories.tsx +0 -109
  787. package/src/stories/ProfileToken.stories.tsx +0 -129
  788. package/src/stories/SelectPanel.stories.tsx +0 -353
  789. package/src/stories/TextInputWithTokens.stories.tsx +0 -146
  790. package/src/stories/ThemeProvider.stories.tsx +0 -104
  791. package/src/stories/Token.stories.tsx +0 -126
  792. package/src/stories/useAnchoredPosition.stories.tsx +0 -320
  793. package/src/stories/useFocusTrap.stories.tsx +0 -400
  794. package/src/stories/useFocusZone.stories.tsx +0 -663
  795. package/src/sx.ts +0 -9
  796. package/src/theme-preval.js +0 -79
  797. package/src/theme.ts +0 -3
  798. package/src/utils/deprecate.tsx +0 -73
  799. package/src/utils/isNumeric.tsx +0 -4
  800. package/src/utils/iterateFocusableElements.ts +0 -121
  801. package/src/utils/ssr.tsx +0 -1
  802. package/src/utils/test-deprecations.tsx +0 -19
  803. package/src/utils/test-helpers.tsx +0 -7
  804. package/src/utils/test-matchers.tsx +0 -109
  805. package/src/utils/testing.tsx +0 -242
  806. package/src/utils/theme.js +0 -64
  807. package/src/utils/types/AriaRole.ts +0 -71
  808. package/src/utils/types/ComponentProps.ts +0 -13
  809. package/src/utils/types/Flatten.ts +0 -4
  810. package/src/utils/types/MandateProps.ts +0 -19
  811. package/src/utils/types/Merge.ts +0 -20
  812. package/src/utils/types/index.ts +0 -5
  813. package/src/utils/uniqueId.ts +0 -6
  814. package/src/utils/userAgent.ts +0 -7
  815. package/stats.html +0 -3279
  816. package/tsconfig.build.json +0 -7
  817. package/tsconfig.json +0 -20
@@ -1,663 +0,0 @@
1
- import React, {useCallback, useRef, useState} from 'react'
2
- import {Meta} from '@storybook/react'
3
- import styled, {createGlobalStyle} from 'styled-components'
4
-
5
- import {Box, BaseStyles, Button, Flash, theme, ThemeProvider} from '..'
6
- import {Direction, FocusKeys} from '../behaviors/focusZone'
7
- import {themeGet} from '@styled-system/theme-get'
8
- import {useFocusZone} from '../hooks/useFocusZone'
9
- import {useTheme} from '../ThemeProvider'
10
- import {ButtonDanger, ButtonPrimary} from '../Button'
11
-
12
- export default {
13
- title: 'Hooks/useFocusZone',
14
- decorators: [
15
- Story => {
16
- return (
17
- <ThemeProvider theme={theme}>
18
- <BaseStyles>
19
- <Story />
20
- </BaseStyles>
21
- </ThemeProvider>
22
- )
23
- }
24
- ]
25
- } as Meta
26
-
27
- // NOTE: the below styles are solely intended as a visual aid for
28
- // this Storybook story, but they're not recommended for a real site!
29
- const HelperGlobalStyling = createGlobalStyle`
30
- *:focus {
31
- outline: 2px solid ${themeGet('colors.border.info')} !important;
32
- }
33
- `
34
-
35
- const MarginButton = styled(Button)`
36
- margin: ${themeGet('space.1')};
37
- `
38
-
39
- export const BasicFocusZone = () => {
40
- // Display each key press in the top-right corner of the page as a visual aid
41
- const [lastKey, setLastKey] = useState('none')
42
- const reportKey = useCallback((event: React.KeyboardEvent<HTMLDivElement>) => {
43
- setLastKey(event.key)
44
- }, [])
45
-
46
- const [fzEnabled, setFzEnabled] = useState(true)
47
- const {containerRef} = useFocusZone({disabled: !fzEnabled}, [fzEnabled])
48
-
49
- const ToggleButton = fzEnabled ? ButtonDanger : ButtonPrimary
50
- const toggleFz = useCallback(() => {
51
- setFzEnabled(!fzEnabled)
52
- }, [fzEnabled])
53
-
54
- return (
55
- <>
56
- <HelperGlobalStyling />
57
- <Box display="flex" flexDirection="column" alignItems="flex-start" onKeyDownCapture={reportKey}>
58
- <Box position="absolute" right={5} top={2}>
59
- Last key pressed: {lastKey}
60
- </Box>
61
- <ToggleButton mb={3} onClick={toggleFz}>
62
- {fzEnabled ? 'Disable' : 'Enable'} Focus Zone
63
- </ToggleButton>
64
- <MarginButton>Apple</MarginButton>
65
- <MarginButton>Banana</MarginButton>
66
- <MarginButton>Cantaloupe</MarginButton>
67
- <Box
68
- borderColor="gray.5"
69
- ref={containerRef as React.RefObject<HTMLDivElement>}
70
- m={4}
71
- p={4}
72
- borderWidth="1px"
73
- borderStyle="solid"
74
- borderRadius={2}
75
- >
76
- <strong>Use Up Arrow, Down Arrow, Home, and End to move focus within this box.</strong>
77
- <Box display="flex" flexDirection="column" alignItems="flex-start">
78
- <MarginButton>Durian</MarginButton>
79
- <MarginButton>Elderberry</MarginButton>
80
- <MarginButton>Fig</MarginButton>
81
- </Box>
82
- </Box>
83
- <MarginButton>Kiwi</MarginButton>
84
- <MarginButton>Lemon</MarginButton>
85
- <MarginButton>Mango</MarginButton>
86
- </Box>
87
- </>
88
- )
89
- }
90
-
91
- export const FocusOutBehavior = () => {
92
- // Display each key press in the top-right corner of the page as a visual aid
93
- const [lastKey, setLastKey] = useState('none')
94
- const reportKey = useCallback((event: React.KeyboardEvent<HTMLDivElement>) => {
95
- setLastKey(event.key)
96
- }, [])
97
-
98
- const {containerRef: containerRef1} = useFocusZone({
99
- focusOutBehavior: 'stop',
100
- bindKeys: FocusKeys.ArrowHorizontal | FocusKeys.HomeAndEnd
101
- })
102
- const {containerRef: containerRef2} = useFocusZone({
103
- focusOutBehavior: 'wrap',
104
- bindKeys: FocusKeys.ArrowHorizontal | FocusKeys.HomeAndEnd
105
- })
106
-
107
- return (
108
- <>
109
- <HelperGlobalStyling />
110
- <Box display="flex" flexDirection="column" alignItems="flex-start" onKeyDownCapture={reportKey}>
111
- <Box position="absolute" right={5} top={2}>
112
- Last key pressed: {lastKey}
113
- </Box>
114
- <MarginButton>Apple</MarginButton>
115
- <MarginButton>Banana</MarginButton>
116
- <MarginButton>Cantaloupe</MarginButton>
117
- <Box
118
- borderColor="gray.5"
119
- ref={containerRef1 as React.RefObject<HTMLDivElement>}
120
- m={4}
121
- p={4}
122
- borderWidth="1px"
123
- borderStyle="solid"
124
- borderRadius={2}
125
- >
126
- <strong>
127
- Use Left Arrow, Right Arrow, Home, and End to move focus within this box. Focus stops at the ends.
128
- </strong>
129
-
130
- <Box display="flex" flexDirection="row" alignItems="flex-start">
131
- <MarginButton>Durian</MarginButton>
132
- <MarginButton>Elderberry</MarginButton>
133
- <MarginButton>Fig</MarginButton>
134
- </Box>
135
- </Box>
136
- <Box
137
- borderColor="gray.5"
138
- ref={containerRef2 as React.RefObject<HTMLDivElement>}
139
- m={4}
140
- p={4}
141
- borderWidth="1px"
142
- borderStyle="solid"
143
- borderRadius={2}
144
- >
145
- <strong>Use Left Arrow, Right Arrow, Home, and End to move focus within this box. Focus is circular.</strong>
146
-
147
- <Box display="flex" flexDirection="row" alignItems="flex-start">
148
- <MarginButton>Grapefruit</MarginButton>
149
- <MarginButton>Honeydew</MarginButton>
150
- <MarginButton>Jackfruit</MarginButton>
151
- </Box>
152
- </Box>
153
- <MarginButton>Kiwi</MarginButton>
154
- <MarginButton>Lemon</MarginButton>
155
- <MarginButton>Mango</MarginButton>
156
- </Box>
157
- </>
158
- )
159
- }
160
-
161
- function getSiblingIndex(element: Element) {
162
- let child: Element | null = element
163
- let i = 0
164
- while ((child = child.previousElementSibling) != null) {
165
- ++i
166
- }
167
- return i
168
- }
169
-
170
- export const CustomFocusMovement = () => {
171
- // Display each key press in the top-right corner of the page as a visual aid
172
- const [lastKey, setLastKey] = useState('none')
173
- const reportKey = useCallback((event: React.KeyboardEvent<HTMLDivElement>) => {
174
- setLastKey(event.key)
175
- }, [])
176
-
177
- const containerRef = useRef<HTMLElement>(null)
178
-
179
- const getNextFocusable = useCallback(
180
- (direction: Direction, from: Element | undefined, event: KeyboardEvent): HTMLElement | undefined => {
181
- const toEnd = direction === 'start' || direction === 'end'
182
- if (from && containerRef.current) {
183
- const currentIndex = getSiblingIndex(from)
184
- let nextIndex = currentIndex
185
- if (['End', 'ArrowRight'].includes(event.key)) {
186
- while (nextIndex % 3 !== 2) {
187
- nextIndex += 1
188
- if (!toEnd) {
189
- break
190
- }
191
- }
192
- }
193
- if (['Home', 'ArrowLeft'].includes(event.key)) {
194
- while (nextIndex % 3 !== 0) {
195
- nextIndex -= 1
196
- if (!toEnd) {
197
- break
198
- }
199
- }
200
- }
201
- if (event.key === 'ArrowUp') {
202
- while (nextIndex - 3 >= 0) {
203
- nextIndex -= 3
204
- if (!toEnd) {
205
- break
206
- }
207
- }
208
- }
209
- if (event.key === 'ArrowDown') {
210
- while (nextIndex + 3 < 9) {
211
- nextIndex += 3
212
- if (!toEnd) {
213
- break
214
- }
215
- }
216
- }
217
- return containerRef.current.children[nextIndex] as HTMLElement
218
- }
219
- },
220
- [containerRef]
221
- )
222
-
223
- useFocusZone({containerRef, getNextFocusable})
224
-
225
- return (
226
- <>
227
- <HelperGlobalStyling />
228
- <Box display="flex" flexDirection="column" alignItems="flex-start" onKeyDownCapture={reportKey}>
229
- <Box position="absolute" right={5} top={2}>
230
- Last key pressed: {lastKey}
231
- </Box>
232
- <MarginButton>Apple</MarginButton>
233
-
234
- <Box borderColor="gray.5" m={4} p={4} borderWidth="1px" borderStyle="solid" borderRadius={2}>
235
- <strong>Use arrow keys to move focus within this box.</strong>
236
- <Box
237
- display="grid"
238
- ref={containerRef as React.RefObject<HTMLDivElement>}
239
- gridTemplateRows="1fr 1fr 1fr"
240
- gridTemplateColumns="1fr 1fr 1fr"
241
- >
242
- <MarginButton>Banana</MarginButton>
243
- <MarginButton>Cantaloupe</MarginButton>
244
- <MarginButton>Durian</MarginButton>
245
- <MarginButton>Elderberry</MarginButton>
246
- <MarginButton>Fig</MarginButton>
247
- <MarginButton>Grapefruit</MarginButton>
248
- <MarginButton>Honeydew</MarginButton>
249
- <MarginButton>Jackfruit</MarginButton>
250
- <MarginButton>Kiwi</MarginButton>
251
- </Box>
252
- </Box>
253
- <MarginButton>Lemon</MarginButton>
254
- <MarginButton>Mango</MarginButton>
255
- </Box>
256
- </>
257
- )
258
- }
259
-
260
- export const FocusInStrategy = () => {
261
- // Display each key press in the top-right corner of the page as a visual aid
262
- const [lastKey, setLastKey] = useState('none')
263
- const reportKey = useCallback((event: React.KeyboardEvent<HTMLDivElement>) => {
264
- setLastKey(event.key)
265
- }, [])
266
-
267
- const {containerRef: firstContainerRef} = useFocusZone({
268
- bindKeys: FocusKeys.ArrowHorizontal | FocusKeys.HomeAndEnd,
269
- focusInStrategy: 'first'
270
- })
271
-
272
- const {containerRef: closestContainerRef} = useFocusZone({
273
- bindKeys: FocusKeys.ArrowHorizontal | FocusKeys.HomeAndEnd,
274
- focusInStrategy: 'closest'
275
- })
276
-
277
- const {containerRef: prevContainerRef} = useFocusZone({
278
- bindKeys: FocusKeys.ArrowHorizontal | FocusKeys.HomeAndEnd,
279
- focusInStrategy: 'previous'
280
- })
281
-
282
- const customContainerRef = useRef<HTMLElement>(null)
283
- const customStrategy = React.useCallback(() => {
284
- if (customContainerRef.current) {
285
- const buttons = Array.from(customContainerRef.current.querySelectorAll('button'))
286
- return buttons[Math.floor(Math.random() * 3)]
287
- }
288
- }, [customContainerRef])
289
-
290
- useFocusZone({
291
- containerRef: customContainerRef,
292
- bindKeys: FocusKeys.ArrowHorizontal | FocusKeys.HomeAndEnd,
293
- focusInStrategy: customStrategy
294
- })
295
-
296
- return (
297
- <>
298
- <HelperGlobalStyling />
299
- <Box display="flex" flexDirection="column" alignItems="flex-start" onKeyDownCapture={reportKey}>
300
- <Box position="absolute" right={5} top={2}>
301
- Last key pressed: {lastKey}
302
- </Box>
303
- <MarginButton>Apple</MarginButton>
304
- <MarginButton>Banana</MarginButton>
305
- <MarginButton>Cantaloupe</MarginButton>
306
- <Box
307
- borderColor="gray.5"
308
- ref={firstContainerRef as React.RefObject<HTMLDivElement>}
309
- m={4}
310
- p={4}
311
- borderWidth="1px"
312
- borderStyle="solid"
313
- borderRadius={2}
314
- >
315
- <strong>&ldquo;First&rdquo; strategy (focus first focusable element)</strong>
316
- <Box display="flex" flexDirection="row" alignItems="flex-start">
317
- <MarginButton>Banana</MarginButton>
318
- <MarginButton>Cantaloupe</MarginButton>
319
- <MarginButton>Durian</MarginButton>
320
- </Box>
321
- </Box>
322
- <Box
323
- borderColor="gray.5"
324
- ref={closestContainerRef as React.RefObject<HTMLDivElement>}
325
- m={4}
326
- p={4}
327
- borderWidth="1px"
328
- borderStyle="solid"
329
- borderRadius={2}
330
- >
331
- <strong>&ldquo;Closest&rdquo; strategy (focus first or last depending on focus direction)</strong>
332
- <Box display="flex" flexDirection="row" alignItems="flex-start">
333
- <MarginButton>Elderberry</MarginButton>
334
- <MarginButton>Fig</MarginButton>
335
- <MarginButton>Grapefruit</MarginButton>
336
- </Box>
337
- </Box>
338
- <Box
339
- borderColor="gray.5"
340
- ref={prevContainerRef as React.RefObject<HTMLDivElement>}
341
- m={4}
342
- p={4}
343
- borderWidth="1px"
344
- borderStyle="solid"
345
- borderRadius={2}
346
- >
347
- <strong>&ldquo;Previous&rdquo; strategy (most recently focused element)</strong>
348
- <Box display="flex" flexDirection="row" alignItems="flex-start">
349
- <MarginButton>Honeydew</MarginButton>
350
- <MarginButton>Jackfruit</MarginButton>
351
- <MarginButton>Kiwi</MarginButton>
352
- </Box>
353
- </Box>
354
- <Box
355
- borderColor="gray.5"
356
- ref={customContainerRef as React.RefObject<HTMLDivElement>}
357
- m={4}
358
- p={4}
359
- borderWidth="1px"
360
- borderStyle="solid"
361
- borderRadius={2}
362
- >
363
- <strong>&ldquo;Custom&rdquo; strategy (choose randomly for this example)</strong>
364
- <Box display="flex" flexDirection="row" alignItems="flex-start">
365
- <MarginButton>Lemon</MarginButton>
366
- <MarginButton>Mango</MarginButton>
367
- <MarginButton>Nectarine</MarginButton>
368
- </Box>
369
- </Box>
370
- <MarginButton>Orange</MarginButton>
371
- <MarginButton>Papaya</MarginButton>
372
- </Box>
373
- </>
374
- )
375
- }
376
-
377
- export const SpecialSituations = () => {
378
- // Display each key press in the top-right corner of the page as a visual aid
379
- const [lastKey, setLastKey] = useState('none')
380
- const reportKey = useCallback((event: React.KeyboardEvent<HTMLDivElement>) => {
381
- setLastKey(event.key)
382
- }, [])
383
-
384
- const {containerRef: vContainerRef} = useFocusZone({
385
- bindKeys:
386
- FocusKeys.ArrowVertical |
387
- FocusKeys.JK |
388
- FocusKeys.WS |
389
- FocusKeys.Tab |
390
- FocusKeys.PageUpDown |
391
- FocusKeys.HomeAndEnd
392
- })
393
- const {containerRef: hContainerRef} = useFocusZone({focusOutBehavior: 'wrap', bindKeys: FocusKeys.ArrowHorizontal})
394
-
395
- return (
396
- <>
397
- <HelperGlobalStyling />
398
- <Box display="flex" flexDirection="column" alignItems="flex-start" onKeyDownCapture={reportKey}>
399
- <Flash mb={3}>
400
- This story is very esoteric! It only exists to show some of the nuance of the arrow key focus behavior in
401
- different situations. Focus treatment within your component should be evaluated for your particular UX using
402
- the <a href="https://www.w3.org/TR/wai-aria-practices-1.1/#keyboard">ARIA guidelines</a>.
403
- </Flash>
404
- <Box position="absolute" right={5} top={2}>
405
- Last key pressed: {lastKey}
406
- </Box>
407
- <MarginButton>Apple</MarginButton>
408
- <MarginButton>Banana</MarginButton>
409
- <MarginButton>Cantaloupe</MarginButton>
410
- <Box
411
- borderColor="gray.5"
412
- ref={vContainerRef as React.RefObject<HTMLDivElement>}
413
- m={4}
414
- p={4}
415
- borderWidth="1px"
416
- borderStyle="solid"
417
- borderRadius={2}
418
- >
419
- <strong>Bound keys: Up, Down, PageUp, PageDown, W, S, J, K, Home, End, Tab</strong>
420
- <Box display="flex" flexDirection="column" alignItems="flex-start">
421
- <input style={{width: '250px'}} type="text" defaultValue="Printable characters won't move focus" />
422
- <MarginButton>Regular button</MarginButton>
423
- <select>
424
- <option>Down arrow invokes dropdown</option>
425
- <option>Unless Cmd (mac)/Ctrl (Windows)</option>
426
- <option>Is held</option>
427
- </select>
428
- <textarea
429
- style={{width: '250px', height: '95px'}}
430
- defaultValue="Up/Down only works when at beginning/end. PageUp and PageDown completely disabled. Printable characters will never move focus."
431
- ></textarea>
432
- </Box>
433
- </Box>
434
- <Box
435
- borderColor="gray.5"
436
- ref={hContainerRef as React.RefObject<HTMLDivElement>}
437
- m={4}
438
- p={4}
439
- borderWidth="1px"
440
- borderStyle="solid"
441
- borderRadius={2}
442
- >
443
- <strong>Use Left Arrow and Right Arrow to move focus within this box. Focus is circular.</strong>
444
-
445
- <Box display="flex" flexDirection="row" alignItems="center">
446
- <MarginButton>Grapefruit</MarginButton>
447
- <input
448
- style={{width: '300px'}}
449
- type="text"
450
- defaultValue="Left/Right only work at beginning/end of input."
451
- />
452
- <MarginButton>Jackfruit</MarginButton>
453
- </Box>
454
- </Box>
455
- <MarginButton>Kiwi</MarginButton>
456
- <MarginButton>Lemon</MarginButton>
457
- <MarginButton>Mango</MarginButton>
458
- </Box>
459
- </>
460
- )
461
- }
462
-
463
- export const ChangingSubtree = () => {
464
- // Display each key press in the top-right corner of the page as a visual aid
465
- const [lastKey, setLastKey] = useState('none')
466
- const reportKey = useCallback((event: React.KeyboardEvent<HTMLDivElement>) => {
467
- setLastKey(event.key)
468
- }, [])
469
-
470
- const {containerRef} = useFocusZone({bindKeys: FocusKeys.ArrowVertical})
471
-
472
- const [buttonCount, setButtonCount] = useState(3)
473
- const removeButton = useCallback(() => {
474
- setButtonCount(buttonCount - 1)
475
- }, [setButtonCount, buttonCount])
476
-
477
- const addButton = useCallback(() => {
478
- setButtonCount(buttonCount + 1)
479
- }, [setButtonCount, buttonCount])
480
-
481
- const buttons: JSX.Element[] = []
482
- for (let i = 0; i < buttonCount; ++i) {
483
- buttons.push(
484
- <div>
485
- <MarginButton key={`button${i}`}>{i + 1}</MarginButton>
486
- </div>
487
- )
488
- }
489
-
490
- return (
491
- <>
492
- <HelperGlobalStyling />
493
- <Box display="flex" flexDirection="column" alignItems="flex-start" onKeyDownCapture={reportKey}>
494
- <Flash mb={3}>
495
- This story demonstrates that focusZone is consistent even when the container&rsquo;s subtree changes.
496
- </Flash>
497
- <Box position="absolute" right={5} top={2}>
498
- Last key pressed: {lastKey}
499
- </Box>
500
- <MarginButton>Apple</MarginButton>
501
- <MarginButton>Banana</MarginButton>
502
- <MarginButton>Cantaloupe</MarginButton>
503
- <Box
504
- borderColor="gray.5"
505
- ref={containerRef as React.RefObject<HTMLDivElement>}
506
- m={4}
507
- p={4}
508
- borderWidth="1px"
509
- borderStyle="solid"
510
- borderRadius={2}
511
- >
512
- <strong>Bound keys: Arrow Up and Arrow Down</strong>
513
- <Box display="flex" flexDirection="column" alignItems="flex-start">
514
- {buttons}
515
- </Box>
516
- </Box>
517
- <Box display="flex" flexDirection="row">
518
- <MarginButton onClick={removeButton}>Remove Button</MarginButton>
519
- <MarginButton onClick={addButton}>Add Button</MarginButton>
520
- </Box>
521
- </Box>
522
- </>
523
- )
524
- }
525
-
526
- export const NestedZones = () => {
527
- // Display each key press in the top-right corner of the page as a visual aid
528
- const [lastKey, setLastKey] = useState('none')
529
- const reportKey = useCallback((event: React.KeyboardEvent<HTMLDivElement>) => {
530
- setLastKey(event.key)
531
- }, [])
532
-
533
- const outerContainerRef = useRef<HTMLElement>(null)
534
- const innerContainerRef = useRef<HTMLElement>(null)
535
-
536
- useFocusZone({
537
- containerRef: outerContainerRef,
538
- bindKeys: FocusKeys.ArrowVertical
539
- })
540
-
541
- useFocusZone({
542
- containerRef: innerContainerRef,
543
- bindKeys: FocusKeys.ArrowHorizontal
544
- })
545
-
546
- return (
547
- <>
548
- <HelperGlobalStyling />
549
- <Box display="flex" flexDirection="column" alignItems="flex-start" onKeyDownCapture={reportKey}>
550
- <Box position="absolute" right={5} top={2}>
551
- Last key pressed: {lastKey}
552
- </Box>
553
- <MarginButton>Apple</MarginButton>
554
- <MarginButton>Banana</MarginButton>
555
- <Box
556
- borderColor="gray.5"
557
- m={4}
558
- p={4}
559
- ref={outerContainerRef as React.RefObject<HTMLDivElement>}
560
- borderWidth="1px"
561
- borderStyle="solid"
562
- borderRadius={2}
563
- >
564
- <strong>Bound keys: Arrow Up and Arrow Down</strong>
565
- <br />
566
- <MarginButton>Cantaloupe</MarginButton>
567
- <Box
568
- borderColor="gray.5"
569
- m={4}
570
- p={4}
571
- ref={innerContainerRef as React.RefObject<HTMLDivElement>}
572
- borderWidth="1px"
573
- borderStyle="solid"
574
- borderRadius={2}
575
- >
576
- <strong>Additional Bound keys: Arrow Left and Arrow Right</strong>
577
- <Box display="flex" id="list" flexDirection="column" alignItems="flex-start">
578
- <MarginButton>Durian</MarginButton>
579
- <MarginButton>Elderberry</MarginButton>
580
- <MarginButton>Fig</MarginButton>
581
- <MarginButton>Grapefruit</MarginButton>
582
- </Box>
583
- </Box>
584
- <MarginButton>Honeydew</MarginButton>
585
- </Box>
586
- <MarginButton>Jackfruit</MarginButton>
587
- <MarginButton>Kiwi</MarginButton>
588
- </Box>
589
- </>
590
- )
591
- }
592
-
593
- export const ActiveDescendant = () => {
594
- // Display each key press in the top-right corner of the page as a visual aid
595
- const [lastKey, setLastKey] = useState('none')
596
- const reportKey = useCallback((event: React.KeyboardEvent<HTMLDivElement>) => {
597
- setLastKey(event.key)
598
- }, [])
599
-
600
- const containerRef = useRef<HTMLElement>(null)
601
- const controllingElementRef = useRef<HTMLElement>(null)
602
- const {theme: themeFromContext} = useTheme()
603
-
604
- useFocusZone({
605
- containerRef,
606
- activeDescendantFocus: controllingElementRef,
607
- bindKeys: FocusKeys.ArrowVertical,
608
- onActiveDescendantChanged: (current, previous) => {
609
- if (current) {
610
- current.style.outline = `2px solid ${themeFromContext?.colors.border.info}`
611
- }
612
- if (previous) {
613
- previous.style.outline = ''
614
- }
615
- },
616
- focusableElementFilter: elem => elem instanceof HTMLButtonElement
617
- })
618
-
619
- return (
620
- <>
621
- <HelperGlobalStyling />
622
- <Box display="flex" flexDirection="column" alignItems="flex-start" onKeyDownCapture={reportKey}>
623
- <Flash mb={3}>
624
- This story demonstrates using the `aria-activedescendant` pattern for managing both a focused element and an
625
- active element. Below, you can focus the input box then use the up/down arrow keys to change the active
626
- descendant (dark blue outline).
627
- </Flash>
628
- <Box position="absolute" right={5} top={2}>
629
- Last key pressed: {lastKey}
630
- </Box>
631
- <MarginButton>Apple</MarginButton>
632
- <MarginButton>Banana</MarginButton>
633
- <MarginButton>Cantaloupe</MarginButton>
634
- <Box borderColor="gray.5" m={4} p={4} borderWidth="1px" borderStyle="solid" borderRadius={2}>
635
- <strong>Bound keys: Arrow Up and Arrow Down</strong>
636
- <Box display="flex" flexDirection="column" alignItems="flex-start">
637
- <input
638
- ref={controllingElementRef as React.RefObject<HTMLInputElement>}
639
- type="text"
640
- defaultValue="Focus remains here."
641
- aria-controls="list"
642
- />
643
- <Box
644
- display="flex"
645
- id="list"
646
- flexDirection="column"
647
- alignItems="flex-start"
648
- ref={containerRef as React.RefObject<HTMLDivElement>}
649
- >
650
- <MarginButton>Durian</MarginButton>
651
- <MarginButton>Elderberry</MarginButton>
652
- <MarginButton>Fig</MarginButton>
653
- <MarginButton>Grapefruit</MarginButton>
654
- </Box>
655
- </Box>
656
- </Box>
657
- <MarginButton>Honeydew</MarginButton>
658
- <MarginButton>Jackfruit</MarginButton>
659
- <MarginButton>Kiwi</MarginButton>
660
- </Box>
661
- </>
662
- )
663
- }
package/src/sx.ts DELETED
@@ -1,9 +0,0 @@
1
- import css, {SystemStyleObject} from '@styled-system/css'
2
-
3
- export interface SxProp {
4
- sx?: SystemStyleObject
5
- }
6
-
7
- const sx = (props: SxProp) => css(props.sx)
8
-
9
- export default sx