@primer/components 31.2.0-rc.fbb10090 → 31.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1117) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/browser.esm.js +649 -647
  3. package/dist/browser.esm.js.map +1 -1
  4. package/dist/browser.umd.js +205 -203
  5. package/dist/browser.umd.js.map +1 -1
  6. package/lib/ActionList/Divider.jsx +29 -0
  7. package/lib/ActionList/Group.jsx +23 -0
  8. package/lib/ActionList/Header.jsx +66 -0
  9. package/lib/ActionList/Item.jsx +301 -0
  10. package/lib/ActionList/List.jsx +138 -0
  11. package/lib/ActionList/index.js +12 -23
  12. package/lib/ActionList2/Description.d.ts +12 -0
  13. package/lib/ActionList2/Description.js +53 -0
  14. package/lib/ActionList2/Description.jsx +30 -0
  15. package/lib/ActionList2/Divider.d.ts +5 -0
  16. package/lib/ActionList2/Divider.js +35 -0
  17. package/lib/ActionList2/Divider.jsx +22 -0
  18. package/lib/ActionList2/Group.d.ts +11 -0
  19. package/lib/ActionList2/Group.js +57 -0
  20. package/lib/ActionList2/Group.jsx +25 -0
  21. package/lib/ActionList2/Header.d.ts +26 -0
  22. package/lib/ActionList2/Header.js +55 -0
  23. package/lib/ActionList2/Header.jsx +36 -0
  24. package/lib/ActionList2/Item.d.ts +63 -0
  25. package/lib/ActionList2/Item.js +244 -0
  26. package/lib/ActionList2/Item.jsx +174 -0
  27. package/lib/ActionList2/LinkItem.d.ts +17 -0
  28. package/lib/ActionList2/LinkItem.js +57 -0
  29. package/lib/ActionList2/LinkItem.jsx +28 -0
  30. package/lib/ActionList2/List.d.ts +26 -0
  31. package/lib/ActionList2/List.js +59 -0
  32. package/lib/ActionList2/List.jsx +41 -0
  33. package/lib/ActionList2/Selection.d.ts +5 -0
  34. package/lib/ActionList2/Selection.js +70 -0
  35. package/lib/ActionList2/Selection.jsx +36 -0
  36. package/lib/ActionList2/Visuals.d.ts +9 -0
  37. package/lib/ActionList2/Visuals.js +90 -0
  38. package/lib/ActionList2/Visuals.jsx +48 -0
  39. package/lib/ActionList2/index.d.ts +36 -0
  40. package/lib/ActionList2/index.js +29 -0
  41. package/lib/ActionMenu.jsx +73 -0
  42. package/lib/AnchoredOverlay/AnchoredOverlay.jsx +100 -0
  43. package/lib/AnchoredOverlay/index.js +4 -12
  44. package/lib/Autocomplete/Autocomplete.d.ts +28 -28
  45. package/lib/Autocomplete/Autocomplete.jsx +100 -0
  46. package/lib/Autocomplete/AutocompleteContext.jsx +5 -0
  47. package/lib/Autocomplete/AutocompleteInput.d.ts +28 -28
  48. package/lib/Autocomplete/AutocompleteInput.jsx +113 -0
  49. package/lib/Autocomplete/AutocompleteMenu.jsx +190 -0
  50. package/lib/Autocomplete/AutocompleteOverlay.jsx +55 -0
  51. package/lib/Autocomplete/index.js +7 -14
  52. package/lib/Avatar.jsx +34 -0
  53. package/lib/AvatarPair.jsx +29 -0
  54. package/{src/AvatarStack.tsx → lib/AvatarStack.jsx} +41 -49
  55. package/lib/BaseStyles.jsx +65 -0
  56. package/lib/BorderBox.jsx +18 -0
  57. package/lib/Box.jsx +10 -0
  58. package/lib/BranchName.jsx +20 -0
  59. package/lib/Breadcrumbs.jsx +74 -0
  60. package/lib/Button/Button.d.ts +25 -25
  61. package/lib/Button/Button.jsx +60 -0
  62. package/lib/Button/ButtonBase.jsx +36 -0
  63. package/lib/Button/ButtonClose.d.ts +45 -45
  64. package/lib/Button/ButtonClose.jsx +55 -0
  65. package/lib/Button/ButtonDanger.d.ts +25 -25
  66. package/lib/Button/ButtonDanger.jsx +63 -0
  67. package/lib/Button/ButtonGroup.jsx +55 -0
  68. package/lib/Button/ButtonInvisible.d.ts +25 -25
  69. package/lib/Button/ButtonInvisible.jsx +52 -0
  70. package/lib/Button/ButtonOutline.d.ts +25 -25
  71. package/lib/Button/ButtonOutline.jsx +63 -0
  72. package/lib/Button/ButtonPrimary.d.ts +25 -25
  73. package/lib/Button/ButtonPrimary.jsx +62 -0
  74. package/{src/Button/ButtonStyles.tsx → lib/Button/ButtonStyles.jsx} +8 -7
  75. package/lib/Button/ButtonTableList.jsx +49 -0
  76. package/lib/Button/index.js +21 -70
  77. package/lib/Caret.jsx +93 -0
  78. package/lib/CircleBadge.jsx +43 -0
  79. package/lib/CircleOcticon.d.ts +42 -42
  80. package/lib/CircleOcticon.jsx +21 -0
  81. package/lib/CounterLabel.jsx +44 -0
  82. package/lib/Details.jsx +21 -0
  83. package/lib/Dialog/ConfirmationDialog.jsx +146 -0
  84. package/lib/Dialog/Dialog.js +1 -0
  85. package/lib/Dialog/Dialog.jsx +273 -0
  86. package/lib/Dialog.d.ts +45 -45
  87. package/lib/Dialog.jsx +131 -0
  88. package/lib/Dropdown.d.ts +176 -176
  89. package/lib/Dropdown.jsx +134 -0
  90. package/lib/DropdownMenu/DropdownButton.d.ts +46 -46
  91. package/lib/DropdownMenu/DropdownButton.jsx +14 -0
  92. package/lib/DropdownMenu/DropdownMenu.jsx +70 -0
  93. package/lib/DropdownMenu/index.js +6 -20
  94. package/lib/DropdownStyles.js +18 -26
  95. package/lib/FilterList.d.ts +42 -42
  96. package/lib/FilterList.jsx +63 -0
  97. package/lib/FilteredActionList/FilteredActionList.jsx +100 -0
  98. package/lib/FilteredActionList/index.js +4 -12
  99. package/lib/FilteredSearch.jsx +29 -0
  100. package/lib/Flash.jsx +70 -0
  101. package/lib/Flex.jsx +15 -0
  102. package/lib/FormGroup.jsx +25 -0
  103. package/lib/Grid.jsx +15 -0
  104. package/lib/Header.jsx +90 -0
  105. package/lib/Heading.jsx +21 -0
  106. package/lib/Label.jsx +84 -0
  107. package/lib/LabelGroup.jsx +19 -0
  108. package/lib/Link.jsx +38 -0
  109. package/lib/NewButton/button-counter.d.ts +6 -0
  110. package/lib/NewButton/button-counter.js +31 -0
  111. package/lib/NewButton/button-counter.jsx +14 -0
  112. package/lib/NewButton/button.d.ts +13 -0
  113. package/lib/NewButton/button.js +316 -0
  114. package/lib/NewButton/button.jsx +278 -0
  115. package/lib/NewButton/index.d.ts +14 -0
  116. package/lib/NewButton/index.js +8 -0
  117. package/lib/NewButton/types.d.ts +32 -0
  118. package/lib/NewButton/types.js +2 -0
  119. package/lib/Overlay.js +3 -1
  120. package/lib/Overlay.jsx +156 -0
  121. package/lib/Pagehead.jsx +18 -0
  122. package/lib/Pagination/Pagination.jsx +163 -0
  123. package/lib/Pagination/index.js +6 -12
  124. package/lib/Pagination/model.jsx +174 -0
  125. package/lib/PointerBox.jsx +25 -0
  126. package/{src/Popover.tsx → lib/Popover.jsx} +54 -80
  127. package/lib/Portal/Portal.js +3 -2
  128. package/lib/Portal/Portal.jsx +79 -0
  129. package/lib/Portal/index.js +5 -16
  130. package/lib/Position.d.ts +4 -4
  131. package/lib/Position.jsx +46 -0
  132. package/lib/ProgressBar.jsx +39 -0
  133. package/lib/SelectMenu/SelectMenu.d.ts +246 -246
  134. package/lib/SelectMenu/SelectMenu.jsx +114 -0
  135. package/lib/SelectMenu/SelectMenuContext.jsx +5 -0
  136. package/lib/SelectMenu/SelectMenuDivider.jsx +43 -0
  137. package/lib/SelectMenu/SelectMenuFilter.jsx +59 -0
  138. package/lib/SelectMenu/SelectMenuFooter.jsx +46 -0
  139. package/lib/SelectMenu/SelectMenuHeader.jsx +44 -0
  140. package/lib/SelectMenu/SelectMenuItem.d.ts +1 -1
  141. package/lib/SelectMenu/SelectMenuItem.jsx +143 -0
  142. package/lib/SelectMenu/SelectMenuList.jsx +60 -0
  143. package/lib/SelectMenu/SelectMenuLoadingAnimation.jsx +21 -0
  144. package/lib/SelectMenu/SelectMenuModal.d.ts +1 -1
  145. package/lib/SelectMenu/SelectMenuModal.jsx +119 -0
  146. package/lib/SelectMenu/SelectMenuTab.jsx +93 -0
  147. package/lib/SelectMenu/SelectMenuTabPanel.jsx +43 -0
  148. package/lib/SelectMenu/SelectMenuTabs.jsx +58 -0
  149. package/lib/SelectMenu/hooks/useKeyboardNav.js +80 -96
  150. package/lib/SelectMenu/index.js +7 -14
  151. package/lib/SelectPanel/SelectPanel.jsx +105 -0
  152. package/lib/SelectPanel/index.js +4 -12
  153. package/lib/SideNav.jsx +177 -0
  154. package/lib/Spinner.jsx +35 -0
  155. package/lib/StateLabel.d.ts +1 -1
  156. package/lib/StateLabel.js +6 -1
  157. package/lib/StateLabel.jsx +94 -0
  158. package/lib/StyledOcticon.jsx +20 -0
  159. package/lib/SubNav.jsx +104 -0
  160. package/lib/TabNav.jsx +60 -0
  161. package/lib/Text.jsx +14 -0
  162. package/lib/TextInput.jsx +23 -0
  163. package/lib/TextInputWithTokens.d.ts +28 -28
  164. package/lib/TextInputWithTokens.jsx +218 -0
  165. package/lib/ThemeProvider.jsx +130 -0
  166. package/lib/Timeline.d.ts +43 -43
  167. package/lib/Timeline.jsx +124 -0
  168. package/lib/Token/AvatarToken.d.ts +1 -1
  169. package/lib/Token/AvatarToken.jsx +54 -0
  170. package/lib/Token/IssueLabelToken.d.ts +1 -1
  171. package/lib/Token/IssueLabelToken.jsx +125 -0
  172. package/lib/Token/Token.d.ts +1 -1
  173. package/lib/Token/Token.jsx +103 -0
  174. package/lib/Token/TokenBase.jsx +88 -0
  175. package/lib/Token/_RemoveTokenButton.jsx +108 -0
  176. package/{src/Token/_TokenTextContainer.tsx → lib/Token/_TokenTextContainer.jsx} +9 -7
  177. package/lib/Token/index.js +11 -30
  178. package/{src/Tooltip.tsx → lib/Tooltip.jsx} +34 -51
  179. package/lib/Truncate.jsx +27 -0
  180. package/lib/UnderlineNav.jsx +90 -0
  181. package/lib/_TextInputWrapper.js +2 -2
  182. package/lib/_TextInputWrapper.jsx +120 -0
  183. package/lib/_UnstyledTextInput.jsx +22 -0
  184. package/lib/behaviors/anchoredPosition.js +205 -234
  185. package/lib/behaviors/focusTrap.js +121 -157
  186. package/lib/behaviors/focusZone.js +434 -509
  187. package/lib/behaviors/scrollIntoViewingArea.js +18 -35
  188. package/lib/constants.js +39 -43
  189. package/lib/drafts.d.ts +8 -0
  190. package/lib/drafts.js +21 -0
  191. package/lib/hooks/index.js +16 -60
  192. package/lib/hooks/useAnchoredPosition.js +32 -39
  193. package/lib/hooks/useCombinedRefs.d.ts +2 -2
  194. package/lib/hooks/useCombinedRefs.js +32 -38
  195. package/lib/hooks/useDetails.jsx +39 -0
  196. package/lib/hooks/useDialog.js +72 -96
  197. package/lib/hooks/useFocusTrap.js +43 -60
  198. package/lib/hooks/useFocusZone.js +54 -50
  199. package/lib/hooks/useOnEscapePress.js +25 -36
  200. package/lib/hooks/useOnOutsideClick.jsx +61 -0
  201. package/lib/hooks/useOpenAndCloseFocus.js +22 -34
  202. package/lib/hooks/useOverlay.jsx +15 -0
  203. package/lib/hooks/useProvidedRefOrCreate.js +10 -14
  204. package/lib/hooks/useProvidedStateOrCreate.js +13 -16
  205. package/lib/hooks/useRenderForcingRef.js +13 -17
  206. package/lib/hooks/useResizeObserver.js +15 -18
  207. package/lib/hooks/useSafeTimeout.js +22 -30
  208. package/lib/hooks/useScrollFlash.js +16 -23
  209. package/lib/index.d.ts +2 -0
  210. package/lib/index.js +163 -636
  211. package/lib/polyfills/eventListenerSignal.js +37 -45
  212. package/lib/sx.d.ts +2 -0
  213. package/lib/sx.js +10 -14
  214. package/lib/theme-preval.js +65 -2945
  215. package/lib/theme.js +3 -12
  216. package/lib/utils/create-slots.d.ts +17 -0
  217. package/lib/utils/create-slots.js +105 -0
  218. package/lib/utils/create-slots.jsx +65 -0
  219. package/lib/utils/deprecate.jsx +59 -0
  220. package/lib/utils/isNumeric.jsx +7 -0
  221. package/lib/utils/iterateFocusableElements.js +63 -85
  222. package/lib/utils/ssr.jsx +6 -0
  223. package/lib/utils/test-deprecations.jsx +20 -0
  224. package/{src/utils/test-helpers.tsx → lib/utils/test-helpers.jsx} +6 -5
  225. package/lib/utils/test-matchers.jsx +100 -0
  226. package/lib/utils/testing.d.ts +14 -1
  227. package/lib/utils/testing.jsx +206 -0
  228. package/lib/utils/theme.js +33 -47
  229. package/lib/utils/types/AriaRole.js +2 -1
  230. package/lib/utils/types/ComponentProps.js +2 -1
  231. package/lib/utils/types/Flatten.js +2 -1
  232. package/lib/utils/types/KeyPaths.d.ts +1 -1
  233. package/lib/utils/types/KeyPaths.js +2 -1
  234. package/lib/utils/types/MandateProps.js +16 -1
  235. package/lib/utils/types/Merge.js +2 -1
  236. package/lib/utils/types/index.js +16 -69
  237. package/lib/utils/uniqueId.js +5 -8
  238. package/lib/utils/use-force-update.d.ts +1 -0
  239. package/lib/utils/use-force-update.js +13 -0
  240. package/lib/utils/useIsomorphicLayoutEffect.d.ts +3 -0
  241. package/lib/utils/useIsomorphicLayoutEffect.js +9 -0
  242. package/lib/utils/userAgent.js +8 -12
  243. package/lib-esm/ActionList2/Description.d.ts +12 -0
  244. package/lib-esm/ActionList2/Description.js +37 -0
  245. package/lib-esm/ActionList2/Divider.d.ts +5 -0
  246. package/lib-esm/ActionList2/Divider.js +23 -0
  247. package/lib-esm/ActionList2/Group.d.ts +11 -0
  248. package/lib-esm/ActionList2/Group.js +40 -0
  249. package/lib-esm/ActionList2/Header.d.ts +26 -0
  250. package/lib-esm/ActionList2/Header.js +44 -0
  251. package/lib-esm/ActionList2/Item.d.ts +63 -0
  252. package/lib-esm/ActionList2/Item.js +210 -0
  253. package/lib-esm/ActionList2/LinkItem.d.ts +17 -0
  254. package/lib-esm/ActionList2/LinkItem.js +43 -0
  255. package/lib-esm/ActionList2/List.d.ts +26 -0
  256. package/lib-esm/ActionList2/List.js +37 -0
  257. package/lib-esm/ActionList2/Selection.d.ts +5 -0
  258. package/lib-esm/ActionList2/Selection.js +52 -0
  259. package/lib-esm/ActionList2/Visuals.d.ts +9 -0
  260. package/lib-esm/ActionList2/Visuals.js +68 -0
  261. package/lib-esm/ActionList2/index.d.ts +36 -0
  262. package/lib-esm/ActionList2/index.js +33 -0
  263. package/lib-esm/Autocomplete/Autocomplete.d.ts +28 -28
  264. package/lib-esm/Autocomplete/AutocompleteInput.d.ts +28 -28
  265. package/lib-esm/Button/Button.d.ts +25 -25
  266. package/lib-esm/Button/ButtonClose.d.ts +45 -45
  267. package/lib-esm/Button/ButtonDanger.d.ts +25 -25
  268. package/lib-esm/Button/ButtonInvisible.d.ts +25 -25
  269. package/lib-esm/Button/ButtonOutline.d.ts +25 -25
  270. package/lib-esm/Button/ButtonPrimary.d.ts +25 -25
  271. package/lib-esm/CircleOcticon.d.ts +42 -42
  272. package/lib-esm/Dialog/Dialog.js +1 -0
  273. package/lib-esm/Dialog.d.ts +45 -45
  274. package/lib-esm/Dropdown.d.ts +176 -176
  275. package/lib-esm/DropdownMenu/DropdownButton.d.ts +46 -46
  276. package/lib-esm/FilterList.d.ts +42 -42
  277. package/lib-esm/NewButton/button-counter.d.ts +6 -0
  278. package/lib-esm/NewButton/button-counter.js +18 -0
  279. package/lib-esm/NewButton/button.d.ts +13 -0
  280. package/lib-esm/NewButton/button.js +298 -0
  281. package/lib-esm/NewButton/index.d.ts +14 -0
  282. package/lib-esm/NewButton/index.js +5 -0
  283. package/lib-esm/NewButton/types.d.ts +32 -0
  284. package/lib-esm/NewButton/types.js +1 -0
  285. package/lib-esm/Overlay.js +2 -1
  286. package/lib-esm/Portal/Portal.js +2 -1
  287. package/lib-esm/Position.d.ts +4 -4
  288. package/lib-esm/SelectMenu/SelectMenu.d.ts +246 -246
  289. package/lib-esm/SelectMenu/SelectMenuItem.d.ts +1 -1
  290. package/lib-esm/SelectMenu/SelectMenuModal.d.ts +1 -1
  291. package/lib-esm/StateLabel.d.ts +1 -1
  292. package/lib-esm/StateLabel.js +7 -2
  293. package/lib-esm/TextInputWithTokens.d.ts +28 -28
  294. package/lib-esm/Timeline.d.ts +43 -43
  295. package/lib-esm/Token/AvatarToken.d.ts +1 -1
  296. package/lib-esm/Token/IssueLabelToken.d.ts +1 -1
  297. package/lib-esm/Token/Token.d.ts +1 -1
  298. package/lib-esm/_TextInputWrapper.js +2 -2
  299. package/lib-esm/drafts.d.ts +8 -0
  300. package/lib-esm/drafts.js +9 -0
  301. package/lib-esm/hooks/useAnchoredPosition.js +2 -1
  302. package/lib-esm/hooks/useCombinedRefs.d.ts +2 -2
  303. package/lib-esm/hooks/useCombinedRefs.js +3 -2
  304. package/lib-esm/hooks/useResizeObserver.js +2 -2
  305. package/lib-esm/index.d.ts +2 -0
  306. package/lib-esm/index.js +1 -0
  307. package/lib-esm/sx.d.ts +2 -0
  308. package/lib-esm/sx.js +3 -1
  309. package/lib-esm/theme-preval.js +81 -2
  310. package/lib-esm/utils/create-slots.d.ts +17 -0
  311. package/lib-esm/utils/create-slots.js +84 -0
  312. package/lib-esm/utils/testing.d.ts +14 -1
  313. package/lib-esm/utils/types/KeyPaths.d.ts +1 -1
  314. package/lib-esm/utils/use-force-update.d.ts +1 -0
  315. package/lib-esm/utils/use-force-update.js +6 -0
  316. package/lib-esm/utils/useIsomorphicLayoutEffect.d.ts +3 -0
  317. package/lib-esm/utils/useIsomorphicLayoutEffect.js +3 -0
  318. package/package.json +9 -5
  319. package/.changeset/README.md +0 -8
  320. package/.changeset/config.json +0 -10
  321. package/.devcontainer/devcontainer.json +0 -8
  322. package/.eslintrc.json +0 -137
  323. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
  324. package/.github/ISSUE_TEMPLATE/new_component_proposal_template.md +0 -41
  325. package/.github/dependabot.yml +0 -18
  326. package/.github/pull_request_template.md +0 -18
  327. package/.github/workflows/check_for_changeset.yml +0 -25
  328. package/.github/workflows/ci.yml +0 -31
  329. package/.github/workflows/deploy_preview.yml +0 -47
  330. package/.github/workflows/deploy_production.yml +0 -70
  331. package/.github/workflows/release.yml +0 -35
  332. package/.github/workflows/release_canary.yml +0 -70
  333. package/.github/workflows/release_candidate.yml +0 -60
  334. package/.github/workflows/size.yml +0 -13
  335. package/.github/workflows/stale.yml +0 -26
  336. package/.gitignore +0 -10
  337. package/.npmrc +0 -4
  338. package/.nvmrc +0 -1
  339. package/.storybook/main.js +0 -9
  340. package/.storybook/preview.js +0 -117
  341. package/.vscode/launch.json +0 -21
  342. package/.vscode/settings.json +0 -13
  343. package/@types/@styled-system/index.d.ts +0 -0
  344. package/@types/@styled-system/prop-types/index.d.ts +0 -1
  345. package/@types/@styled-system/props/index.d.ts +0 -1
  346. package/@types/jest-styled-components/index.d.ts +0 -1
  347. package/CODEOWNERS +0 -2
  348. package/babel-defines.js +0 -13
  349. package/babel.config.js +0 -39
  350. package/contributor-docs/CODE_OF_CONDUCT.md +0 -76
  351. package/contributor-docs/CONTRIBUTING.md +0 -274
  352. package/contributor-docs/adrs/adr-001-typescript.md +0 -23
  353. package/contributor-docs/adrs/adr-002-behavior-isolation.md +0 -108
  354. package/contributor-docs/adrs/adr-003-prop-norms.md +0 -72
  355. package/contributor-docs/behaviors.md +0 -132
  356. package/contributor-docs/component-contents-api-patterns.md +0 -316
  357. package/contributor-docs/principles.md +0 -39
  358. package/docs/.eslintrc +0 -0
  359. package/docs/.gitignore +0 -91
  360. package/docs/components/PropsList.js +0 -5
  361. package/docs/components/State.js +0 -9
  362. package/docs/components/constants.js +0 -34
  363. package/docs/components/index.js +0 -2
  364. package/docs/content/ActionList.mdx +0 -99
  365. package/docs/content/ActionMenu.mdx +0 -80
  366. package/docs/content/AnchoredOverlay.mdx +0 -37
  367. package/docs/content/Autocomplete.mdx +0 -657
  368. package/docs/content/Avatar.mdx +0 -33
  369. package/docs/content/AvatarStack.mdx +0 -37
  370. package/docs/content/BorderBox.md +0 -46
  371. package/docs/content/Box.md +0 -74
  372. package/docs/content/BranchName.md +0 -18
  373. package/docs/content/Breadcrumbs.md +0 -52
  374. package/docs/content/Buttons.md +0 -56
  375. package/docs/content/CircleBadge.md +0 -45
  376. package/docs/content/CircleOcticon.md +0 -18
  377. package/docs/content/CounterLabel.md +0 -32
  378. package/docs/content/Details.md +0 -105
  379. package/docs/content/Dialog.md +0 -108
  380. package/docs/content/Dialog2.mdx +0 -179
  381. package/docs/content/Dropdown.md +0 -72
  382. package/docs/content/DropdownMenu.mdx +0 -49
  383. package/docs/content/FilterList.md +0 -44
  384. package/docs/content/FilteredSearch.md +0 -39
  385. package/docs/content/Flash.md +0 -44
  386. package/docs/content/Flex.md +0 -58
  387. package/docs/content/FormGroup.md +0 -46
  388. package/docs/content/Grid.md +0 -59
  389. package/docs/content/Header.md +0 -79
  390. package/docs/content/Heading.md +0 -22
  391. package/docs/content/Label.md +0 -42
  392. package/docs/content/LabelGroup.md +0 -31
  393. package/docs/content/Link.md +0 -37
  394. package/docs/content/Overlay.mdx +0 -94
  395. package/docs/content/Pagehead.md +0 -27
  396. package/docs/content/Pagination.md +0 -187
  397. package/docs/content/PointerBox.md +0 -81
  398. package/docs/content/Popover.md +0 -137
  399. package/docs/content/Portal.mdx +0 -78
  400. package/docs/content/Position.md +0 -100
  401. package/docs/content/ProgressBar.mdx +0 -29
  402. package/docs/content/SelectMenu.md +0 -435
  403. package/docs/content/SelectPanel.mdx +0 -67
  404. package/docs/content/SideNav.md +0 -179
  405. package/docs/content/Spinner.mdx +0 -32
  406. package/docs/content/StateLabel.md +0 -35
  407. package/docs/content/StyledOcticon.md +0 -36
  408. package/docs/content/SubNav.md +0 -102
  409. package/docs/content/TabNav.md +0 -50
  410. package/docs/content/Text.md +0 -31
  411. package/docs/content/TextInput.md +0 -34
  412. package/docs/content/TextInputTokens.mdx +0 -89
  413. package/docs/content/TextInputWithTokens.mdx +0 -211
  414. package/docs/content/Timeline.md +0 -138
  415. package/docs/content/Token.mdx +0 -381
  416. package/docs/content/Tooltip.md +0 -41
  417. package/docs/content/Truncate.md +0 -64
  418. package/docs/content/UnderlineNav.md +0 -53
  419. package/docs/content/anchoredPosition.mdx +0 -163
  420. package/docs/content/core-concepts.md +0 -70
  421. package/docs/content/focusTrap.mdx +0 -103
  422. package/docs/content/focusZone.mdx +0 -145
  423. package/docs/content/getting-started.md +0 -138
  424. package/docs/content/index.md +0 -33
  425. package/docs/content/linting.md +0 -35
  426. package/docs/content/overriding-styles.mdx +0 -82
  427. package/docs/content/philosophy.md +0 -23
  428. package/docs/content/primer-theme.md +0 -89
  429. package/docs/content/ssr.mdx +0 -43
  430. package/docs/content/system-props.mdx +0 -37
  431. package/docs/content/theme-reference.md +0 -16
  432. package/docs/content/theming.md +0 -272
  433. package/docs/content/useOnEscapePress.mdx +0 -56
  434. package/docs/content/useOnOutsideClick.mdx +0 -57
  435. package/docs/content/useOpenAndCloseFocus.mdx +0 -49
  436. package/docs/content/useOverlay.mdx +0 -62
  437. package/docs/content/useSafeTimeout.mdx +0 -32
  438. package/docs/gatsby-config.js +0 -30
  439. package/docs/gatsby-node.js +0 -101
  440. package/docs/package-lock.json +0 -20756
  441. package/docs/package.json +0 -36
  442. package/docs/src/@primer/gatsby-theme-doctocat/components/hero.js +0 -23
  443. package/docs/src/@primer/gatsby-theme-doctocat/components/live-preview-wrapper.js +0 -41
  444. package/docs/src/@primer/gatsby-theme-doctocat/live-code-scope.js +0 -56
  445. package/docs/src/@primer/gatsby-theme-doctocat/nav.yml +0 -133
  446. package/docs/src/@primer/gatsby-theme-doctocat/primer-components-hero.svg +0 -1411
  447. package/docs/src/props.js +0 -77
  448. package/jest.config.js +0 -13
  449. package/lib/__tests__/ActionList.test.d.ts +0 -1
  450. package/lib/__tests__/ActionList.test.js +0 -69
  451. package/lib/__tests__/ActionList.types.test.d.ts +0 -6
  452. package/lib/__tests__/ActionList.types.test.js +0 -69
  453. package/lib/__tests__/ActionMenu.test.d.ts +0 -1
  454. package/lib/__tests__/ActionMenu.test.js +0 -151
  455. package/lib/__tests__/AnchoredOverlay.test.d.ts +0 -1
  456. package/lib/__tests__/AnchoredOverlay.test.js +0 -160
  457. package/lib/__tests__/Autocomplete.test.d.ts +0 -1
  458. package/lib/__tests__/Autocomplete.test.js +0 -528
  459. package/lib/__tests__/Avatar.test.d.ts +0 -1
  460. package/lib/__tests__/Avatar.test.js +0 -67
  461. package/lib/__tests__/AvatarStack.test.d.ts +0 -1
  462. package/lib/__tests__/AvatarStack.test.js +0 -71
  463. package/lib/__tests__/BorderBox.test.d.ts +0 -1
  464. package/lib/__tests__/BorderBox.test.js +0 -58
  465. package/lib/__tests__/Box.test.d.ts +0 -1
  466. package/lib/__tests__/Box.test.js +0 -78
  467. package/lib/__tests__/BranchName.test.d.ts +0 -1
  468. package/lib/__tests__/BranchName.test.js +0 -36
  469. package/lib/__tests__/Breadcrumbs.test.d.ts +0 -1
  470. package/lib/__tests__/Breadcrumbs.test.js +0 -37
  471. package/lib/__tests__/BreadcrumbsItem.test.d.ts +0 -1
  472. package/lib/__tests__/BreadcrumbsItem.test.js +0 -49
  473. package/lib/__tests__/Button.test.d.ts +0 -1
  474. package/lib/__tests__/Button.test.js +0 -143
  475. package/lib/__tests__/Caret.test.d.ts +0 -1
  476. package/lib/__tests__/Caret.test.js +0 -52
  477. package/lib/__tests__/CircleBadge.test.d.ts +0 -1
  478. package/lib/__tests__/CircleBadge.test.js +0 -83
  479. package/lib/__tests__/CircleOcticon.test.d.ts +0 -1
  480. package/lib/__tests__/CircleOcticon.test.js +0 -71
  481. package/lib/__tests__/ConfirmationDialog.test.d.ts +0 -1
  482. package/lib/__tests__/ConfirmationDialog.test.js +0 -134
  483. package/lib/__tests__/CounterLabel.test.d.ts +0 -1
  484. package/lib/__tests__/CounterLabel.test.js +0 -58
  485. package/lib/__tests__/Details.test.d.ts +0 -1
  486. package/lib/__tests__/Details.test.js +0 -117
  487. package/lib/__tests__/Dialog.test.d.ts +0 -1
  488. package/lib/__tests__/Dialog.test.js +0 -184
  489. package/lib/__tests__/Dropdown.test.d.ts +0 -1
  490. package/lib/__tests__/Dropdown.test.js +0 -63
  491. package/lib/__tests__/DropdownMenu.test.d.ts +0 -1
  492. package/lib/__tests__/DropdownMenu.test.js +0 -150
  493. package/lib/__tests__/FilterList.test.d.ts +0 -1
  494. package/lib/__tests__/FilterList.test.js +0 -36
  495. package/lib/__tests__/FilterListItem.test.d.ts +0 -1
  496. package/lib/__tests__/FilterListItem.test.js +0 -46
  497. package/lib/__tests__/FilteredSearch.test.d.ts +0 -1
  498. package/lib/__tests__/FilteredSearch.test.js +0 -36
  499. package/lib/__tests__/Flash.test.d.ts +0 -1
  500. package/lib/__tests__/Flash.test.js +0 -62
  501. package/lib/__tests__/Flex.test.d.ts +0 -1
  502. package/lib/__tests__/Flex.test.js +0 -74
  503. package/lib/__tests__/FormGroup.test.d.ts +0 -1
  504. package/lib/__tests__/FormGroup.test.js +0 -54
  505. package/lib/__tests__/Grid.test.d.ts +0 -1
  506. package/lib/__tests__/Grid.test.js +0 -104
  507. package/lib/__tests__/Header.test.d.ts +0 -1
  508. package/lib/__tests__/Header.test.js +0 -58
  509. package/lib/__tests__/Heading.test.d.ts +0 -1
  510. package/lib/__tests__/Heading.test.js +0 -109
  511. package/lib/__tests__/KeyPaths.types.test.d.ts +0 -10
  512. package/lib/__tests__/KeyPaths.types.test.js +0 -10
  513. package/lib/__tests__/Label.test.d.ts +0 -1
  514. package/lib/__tests__/Label.test.js +0 -46
  515. package/lib/__tests__/LabelGroup.test.d.ts +0 -1
  516. package/lib/__tests__/LabelGroup.test.js +0 -38
  517. package/lib/__tests__/Link.test.d.ts +0 -1
  518. package/lib/__tests__/Link.test.js +0 -70
  519. package/lib/__tests__/Merge.types.test.d.ts +0 -30
  520. package/lib/__tests__/Merge.types.test.js +0 -27
  521. package/lib/__tests__/Overlay.test.d.ts +0 -1
  522. package/lib/__tests__/Overlay.test.js +0 -145
  523. package/lib/__tests__/Pagehead.test.d.ts +0 -1
  524. package/lib/__tests__/Pagehead.test.js +0 -37
  525. package/lib/__tests__/Pagination/Pagination.test.d.ts +0 -1
  526. package/lib/__tests__/Pagination/Pagination.test.js +0 -47
  527. package/lib/__tests__/Pagination/PaginationModel.test.d.ts +0 -1
  528. package/lib/__tests__/Pagination/PaginationModel.test.js +0 -186
  529. package/lib/__tests__/PointerBox.test.d.ts +0 -1
  530. package/lib/__tests__/PointerBox.test.js +0 -46
  531. package/lib/__tests__/Popover.test.d.ts +0 -1
  532. package/lib/__tests__/Popover.test.js +0 -66
  533. package/lib/__tests__/Portal.test.d.ts +0 -1
  534. package/lib/__tests__/Portal.test.js +0 -124
  535. package/lib/__tests__/Position.test.d.ts +0 -1
  536. package/lib/__tests__/Position.test.js +0 -143
  537. package/lib/__tests__/ProgressBar.test.d.ts +0 -1
  538. package/lib/__tests__/ProgressBar.test.js +0 -68
  539. package/lib/__tests__/SelectMenu.test.d.ts +0 -1
  540. package/lib/__tests__/SelectMenu.test.js +0 -155
  541. package/lib/__tests__/SelectPanel.test.d.ts +0 -1
  542. package/lib/__tests__/SelectPanel.test.js +0 -80
  543. package/lib/__tests__/SideNav.test.d.ts +0 -1
  544. package/lib/__tests__/SideNav.test.js +0 -71
  545. package/lib/__tests__/Spinner.test.d.ts +0 -1
  546. package/lib/__tests__/Spinner.test.js +0 -53
  547. package/lib/__tests__/StateLabel.test.d.ts +0 -1
  548. package/lib/__tests__/StateLabel.test.js +0 -71
  549. package/lib/__tests__/StyledOcticon.test.d.ts +0 -1
  550. package/lib/__tests__/StyledOcticon.test.js +0 -40
  551. package/lib/__tests__/SubNav.test.d.ts +0 -1
  552. package/lib/__tests__/SubNav.test.js +0 -62
  553. package/lib/__tests__/SubNavLink.test.d.ts +0 -1
  554. package/lib/__tests__/SubNavLink.test.js +0 -49
  555. package/lib/__tests__/TabNav.test.d.ts +0 -1
  556. package/lib/__tests__/TabNav.test.js +0 -49
  557. package/lib/__tests__/Text.test.d.ts +0 -1
  558. package/lib/__tests__/Text.test.js +0 -105
  559. package/lib/__tests__/TextInput.test.d.ts +0 -1
  560. package/lib/__tests__/TextInput.test.js +0 -78
  561. package/lib/__tests__/TextInputWithTokens.test.d.ts +0 -1
  562. package/lib/__tests__/TextInputWithTokens.test.js +0 -581
  563. package/lib/__tests__/ThemeProvider.test.d.ts +0 -1
  564. package/lib/__tests__/ThemeProvider.test.js +0 -444
  565. package/lib/__tests__/Timeline.test.d.ts +0 -1
  566. package/lib/__tests__/Timeline.test.js +0 -75
  567. package/lib/__tests__/Token.test.d.ts +0 -1
  568. package/lib/__tests__/Token.test.js +0 -180
  569. package/lib/__tests__/Tooltip.test.d.ts +0 -1
  570. package/lib/__tests__/Tooltip.test.js +0 -69
  571. package/lib/__tests__/Truncate.test.d.ts +0 -1
  572. package/lib/__tests__/Truncate.test.js +0 -63
  573. package/lib/__tests__/UnderlineNav.test.d.ts +0 -1
  574. package/lib/__tests__/UnderlineNav.test.js +0 -72
  575. package/lib/__tests__/UnderlineNavLink.test.d.ts +0 -1
  576. package/lib/__tests__/UnderlineNavLink.test.js +0 -51
  577. package/lib/__tests__/behaviors/anchoredPosition.test.d.ts +0 -1
  578. package/lib/__tests__/behaviors/anchoredPosition.test.js +0 -390
  579. package/lib/__tests__/behaviors/focusTrap.test.d.ts +0 -1
  580. package/lib/__tests__/behaviors/focusTrap.test.js +0 -234
  581. package/lib/__tests__/behaviors/focusZone.test.d.ts +0 -1
  582. package/lib/__tests__/behaviors/focusZone.test.js +0 -570
  583. package/lib/__tests__/behaviors/iterateFocusableElements.test.d.ts +0 -1
  584. package/lib/__tests__/behaviors/iterateFocusableElements.test.js +0 -55
  585. package/lib/__tests__/behaviors/scrollIntoViewingArea.test.d.ts +0 -1
  586. package/lib/__tests__/behaviors/scrollIntoViewingArea.test.js +0 -226
  587. package/lib/__tests__/filterObject.test.d.ts +0 -1
  588. package/lib/__tests__/filterObject.test.js +0 -30
  589. package/lib/__tests__/hooks/useAnchoredPosition.test.d.ts +0 -1
  590. package/lib/__tests__/hooks/useAnchoredPosition.test.js +0 -54
  591. package/lib/__tests__/hooks/useOnEscapePress.test.d.ts +0 -1
  592. package/lib/__tests__/hooks/useOnEscapePress.test.js +0 -32
  593. package/lib/__tests__/hooks/useOnOutsideClick.test.d.ts +0 -1
  594. package/lib/__tests__/hooks/useOnOutsideClick.test.js +0 -87
  595. package/lib/__tests__/hooks/useOpenAndCloseFocus.test.d.ts +0 -1
  596. package/lib/__tests__/hooks/useOpenAndCloseFocus.test.js +0 -60
  597. package/lib/__tests__/hooks/useProvidedStateOrCreate.test.d.ts +0 -1
  598. package/lib/__tests__/hooks/useProvidedStateOrCreate.test.js +0 -45
  599. package/lib/__tests__/theme.test.d.ts +0 -1
  600. package/lib/__tests__/theme.test.js +0 -36
  601. package/lib/__tests__/themeGet.test.d.ts +0 -1
  602. package/lib/__tests__/themeGet.test.js +0 -25
  603. package/lib/__tests__/useSafeTimeout.test.d.ts +0 -1
  604. package/lib/__tests__/useSafeTimeout.test.js +0 -45
  605. package/lib/stories/ActionList.stories.js +0 -454
  606. package/lib/stories/ActionMenu.stories.js +0 -350
  607. package/lib/stories/AnchoredOverlay.stories.js +0 -127
  608. package/lib/stories/Autocomplete.stories.js +0 -619
  609. package/lib/stories/AvatarStack.stories.js +0 -49
  610. package/lib/stories/Button.stories.js +0 -125
  611. package/lib/stories/ConfirmationDialog.stories.js +0 -111
  612. package/lib/stories/Dialog.stories.js +0 -265
  613. package/lib/stories/DropdownMenu.stories.js +0 -122
  614. package/lib/stories/IssueLabelToken.stories.js +0 -165
  615. package/lib/stories/Overlay.stories.js +0 -204
  616. package/lib/stories/Portal.stories.js +0 -104
  617. package/lib/stories/ProfileToken.stories.js +0 -162
  618. package/lib/stories/SelectPanel.stories.js +0 -399
  619. package/lib/stories/TextInputWithTokens.stories.js +0 -252
  620. package/lib/stories/ThemeProvider.stories.js +0 -102
  621. package/lib/stories/Token.stories.js +0 -159
  622. package/lib/stories/useAnchoredPosition.stories.js +0 -351
  623. package/lib/stories/useFocusTrap.stories.js +0 -356
  624. package/lib/stories/useFocusZone.stories.js +0 -599
  625. package/lib-esm/__tests__/ActionList.test.d.ts +0 -1
  626. package/lib-esm/__tests__/ActionList.test.js +0 -57
  627. package/lib-esm/__tests__/ActionList.types.test.d.ts +0 -6
  628. package/lib-esm/__tests__/ActionList.types.test.js +0 -45
  629. package/lib-esm/__tests__/ActionMenu.test.d.ts +0 -1
  630. package/lib-esm/__tests__/ActionMenu.test.js +0 -139
  631. package/lib-esm/__tests__/AnchoredOverlay.test.d.ts +0 -1
  632. package/lib-esm/__tests__/AnchoredOverlay.test.js +0 -134
  633. package/lib-esm/__tests__/Autocomplete.test.d.ts +0 -1
  634. package/lib-esm/__tests__/Autocomplete.test.js +0 -494
  635. package/lib-esm/__tests__/Avatar.test.d.ts +0 -1
  636. package/lib-esm/__tests__/Avatar.test.js +0 -56
  637. package/lib-esm/__tests__/AvatarStack.test.d.ts +0 -1
  638. package/lib-esm/__tests__/AvatarStack.test.js +0 -58
  639. package/lib-esm/__tests__/BorderBox.test.d.ts +0 -1
  640. package/lib-esm/__tests__/BorderBox.test.js +0 -47
  641. package/lib-esm/__tests__/Box.test.d.ts +0 -1
  642. package/lib-esm/__tests__/Box.test.js +0 -67
  643. package/lib-esm/__tests__/BranchName.test.d.ts +0 -1
  644. package/lib-esm/__tests__/BranchName.test.js +0 -26
  645. package/lib-esm/__tests__/Breadcrumbs.test.d.ts +0 -1
  646. package/lib-esm/__tests__/Breadcrumbs.test.js +0 -27
  647. package/lib-esm/__tests__/BreadcrumbsItem.test.d.ts +0 -1
  648. package/lib-esm/__tests__/BreadcrumbsItem.test.js +0 -39
  649. package/lib-esm/__tests__/Button.test.d.ts +0 -1
  650. package/lib-esm/__tests__/Button.test.js +0 -133
  651. package/lib-esm/__tests__/Caret.test.d.ts +0 -1
  652. package/lib-esm/__tests__/Caret.test.js +0 -42
  653. package/lib-esm/__tests__/CircleBadge.test.d.ts +0 -1
  654. package/lib-esm/__tests__/CircleBadge.test.js +0 -70
  655. package/lib-esm/__tests__/CircleOcticon.test.d.ts +0 -1
  656. package/lib-esm/__tests__/CircleOcticon.test.js +0 -59
  657. package/lib-esm/__tests__/ConfirmationDialog.test.d.ts +0 -1
  658. package/lib-esm/__tests__/ConfirmationDialog.test.js +0 -113
  659. package/lib-esm/__tests__/CounterLabel.test.d.ts +0 -1
  660. package/lib-esm/__tests__/CounterLabel.test.js +0 -47
  661. package/lib-esm/__tests__/Details.test.d.ts +0 -1
  662. package/lib-esm/__tests__/Details.test.js +0 -107
  663. package/lib-esm/__tests__/Dialog.test.d.ts +0 -1
  664. package/lib-esm/__tests__/Dialog.test.js +0 -171
  665. package/lib-esm/__tests__/Dropdown.test.d.ts +0 -1
  666. package/lib-esm/__tests__/Dropdown.test.js +0 -53
  667. package/lib-esm/__tests__/DropdownMenu.test.d.ts +0 -1
  668. package/lib-esm/__tests__/DropdownMenu.test.js +0 -137
  669. package/lib-esm/__tests__/FilterList.test.d.ts +0 -1
  670. package/lib-esm/__tests__/FilterList.test.js +0 -26
  671. package/lib-esm/__tests__/FilterListItem.test.d.ts +0 -1
  672. package/lib-esm/__tests__/FilterListItem.test.js +0 -36
  673. package/lib-esm/__tests__/FilteredSearch.test.d.ts +0 -1
  674. package/lib-esm/__tests__/FilteredSearch.test.js +0 -26
  675. package/lib-esm/__tests__/Flash.test.d.ts +0 -1
  676. package/lib-esm/__tests__/Flash.test.js +0 -51
  677. package/lib-esm/__tests__/Flex.test.d.ts +0 -1
  678. package/lib-esm/__tests__/Flex.test.js +0 -64
  679. package/lib-esm/__tests__/FormGroup.test.d.ts +0 -1
  680. package/lib-esm/__tests__/FormGroup.test.js +0 -44
  681. package/lib-esm/__tests__/Grid.test.d.ts +0 -1
  682. package/lib-esm/__tests__/Grid.test.js +0 -94
  683. package/lib-esm/__tests__/Header.test.d.ts +0 -1
  684. package/lib-esm/__tests__/Header.test.js +0 -48
  685. package/lib-esm/__tests__/Heading.test.d.ts +0 -1
  686. package/lib-esm/__tests__/Heading.test.js +0 -99
  687. package/lib-esm/__tests__/KeyPaths.types.test.d.ts +0 -10
  688. package/lib-esm/__tests__/KeyPaths.types.test.js +0 -3
  689. package/lib-esm/__tests__/Label.test.d.ts +0 -1
  690. package/lib-esm/__tests__/Label.test.js +0 -36
  691. package/lib-esm/__tests__/LabelGroup.test.d.ts +0 -1
  692. package/lib-esm/__tests__/LabelGroup.test.js +0 -26
  693. package/lib-esm/__tests__/Link.test.d.ts +0 -1
  694. package/lib-esm/__tests__/Link.test.js +0 -60
  695. package/lib-esm/__tests__/Merge.types.test.d.ts +0 -30
  696. package/lib-esm/__tests__/Merge.types.test.js +0 -14
  697. package/lib-esm/__tests__/Overlay.test.d.ts +0 -1
  698. package/lib-esm/__tests__/Overlay.test.js +0 -123
  699. package/lib-esm/__tests__/Pagehead.test.d.ts +0 -1
  700. package/lib-esm/__tests__/Pagehead.test.js +0 -26
  701. package/lib-esm/__tests__/Pagination/Pagination.test.d.ts +0 -1
  702. package/lib-esm/__tests__/Pagination/Pagination.test.js +0 -35
  703. package/lib-esm/__tests__/Pagination/PaginationModel.test.d.ts +0 -1
  704. package/lib-esm/__tests__/Pagination/PaginationModel.test.js +0 -182
  705. package/lib-esm/__tests__/PointerBox.test.d.ts +0 -1
  706. package/lib-esm/__tests__/PointerBox.test.js +0 -36
  707. package/lib-esm/__tests__/Popover.test.d.ts +0 -1
  708. package/lib-esm/__tests__/Popover.test.js +0 -53
  709. package/lib-esm/__tests__/Portal.test.d.ts +0 -1
  710. package/lib-esm/__tests__/Portal.test.js +0 -104
  711. package/lib-esm/__tests__/Position.test.d.ts +0 -1
  712. package/lib-esm/__tests__/Position.test.js +0 -133
  713. package/lib-esm/__tests__/ProgressBar.test.d.ts +0 -1
  714. package/lib-esm/__tests__/ProgressBar.test.js +0 -58
  715. package/lib-esm/__tests__/SelectMenu.test.d.ts +0 -1
  716. package/lib-esm/__tests__/SelectMenu.test.js +0 -145
  717. package/lib-esm/__tests__/SelectPanel.test.d.ts +0 -1
  718. package/lib-esm/__tests__/SelectPanel.test.js +0 -65
  719. package/lib-esm/__tests__/SideNav.test.d.ts +0 -1
  720. package/lib-esm/__tests__/SideNav.test.js +0 -60
  721. package/lib-esm/__tests__/Spinner.test.d.ts +0 -1
  722. package/lib-esm/__tests__/Spinner.test.js +0 -43
  723. package/lib-esm/__tests__/StateLabel.test.d.ts +0 -1
  724. package/lib-esm/__tests__/StateLabel.test.js +0 -61
  725. package/lib-esm/__tests__/StyledOcticon.test.d.ts +0 -1
  726. package/lib-esm/__tests__/StyledOcticon.test.js +0 -29
  727. package/lib-esm/__tests__/SubNav.test.d.ts +0 -1
  728. package/lib-esm/__tests__/SubNav.test.js +0 -50
  729. package/lib-esm/__tests__/SubNavLink.test.d.ts +0 -1
  730. package/lib-esm/__tests__/SubNavLink.test.js +0 -39
  731. package/lib-esm/__tests__/TabNav.test.d.ts +0 -1
  732. package/lib-esm/__tests__/TabNav.test.js +0 -39
  733. package/lib-esm/__tests__/Text.test.d.ts +0 -1
  734. package/lib-esm/__tests__/Text.test.js +0 -93
  735. package/lib-esm/__tests__/TextInput.test.d.ts +0 -1
  736. package/lib-esm/__tests__/TextInput.test.js +0 -68
  737. package/lib-esm/__tests__/TextInputWithTokens.test.d.ts +0 -1
  738. package/lib-esm/__tests__/TextInputWithTokens.test.js +0 -520
  739. package/lib-esm/__tests__/ThemeProvider.test.d.ts +0 -1
  740. package/lib-esm/__tests__/ThemeProvider.test.js +0 -408
  741. package/lib-esm/__tests__/Timeline.test.d.ts +0 -1
  742. package/lib-esm/__tests__/Timeline.test.js +0 -65
  743. package/lib-esm/__tests__/Token.test.d.ts +0 -1
  744. package/lib-esm/__tests__/Token.test.js +0 -166
  745. package/lib-esm/__tests__/Tooltip.test.d.ts +0 -1
  746. package/lib-esm/__tests__/Tooltip.test.js +0 -59
  747. package/lib-esm/__tests__/Truncate.test.d.ts +0 -1
  748. package/lib-esm/__tests__/Truncate.test.js +0 -53
  749. package/lib-esm/__tests__/UnderlineNav.test.d.ts +0 -1
  750. package/lib-esm/__tests__/UnderlineNav.test.js +0 -60
  751. package/lib-esm/__tests__/UnderlineNavLink.test.d.ts +0 -1
  752. package/lib-esm/__tests__/UnderlineNavLink.test.js +0 -41
  753. package/lib-esm/__tests__/behaviors/anchoredPosition.test.d.ts +0 -1
  754. package/lib-esm/__tests__/behaviors/anchoredPosition.test.js +0 -388
  755. package/lib-esm/__tests__/behaviors/focusTrap.test.d.ts +0 -1
  756. package/lib-esm/__tests__/behaviors/focusTrap.test.js +0 -227
  757. package/lib-esm/__tests__/behaviors/focusZone.test.d.ts +0 -1
  758. package/lib-esm/__tests__/behaviors/focusZone.test.js +0 -487
  759. package/lib-esm/__tests__/behaviors/iterateFocusableElements.test.d.ts +0 -1
  760. package/lib-esm/__tests__/behaviors/iterateFocusableElements.test.js +0 -48
  761. package/lib-esm/__tests__/behaviors/scrollIntoViewingArea.test.d.ts +0 -1
  762. package/lib-esm/__tests__/behaviors/scrollIntoViewingArea.test.js +0 -224
  763. package/lib-esm/__tests__/filterObject.test.d.ts +0 -1
  764. package/lib-esm/__tests__/filterObject.test.js +0 -27
  765. package/lib-esm/__tests__/hooks/useAnchoredPosition.test.d.ts +0 -1
  766. package/lib-esm/__tests__/hooks/useAnchoredPosition.test.js +0 -46
  767. package/lib-esm/__tests__/hooks/useOnEscapePress.test.d.ts +0 -1
  768. package/lib-esm/__tests__/hooks/useOnEscapePress.test.js +0 -23
  769. package/lib-esm/__tests__/hooks/useOnOutsideClick.test.d.ts +0 -1
  770. package/lib-esm/__tests__/hooks/useOnOutsideClick.test.js +0 -68
  771. package/lib-esm/__tests__/hooks/useOpenAndCloseFocus.test.d.ts +0 -1
  772. package/lib-esm/__tests__/hooks/useOpenAndCloseFocus.test.js +0 -52
  773. package/lib-esm/__tests__/hooks/useProvidedStateOrCreate.test.d.ts +0 -1
  774. package/lib-esm/__tests__/hooks/useProvidedStateOrCreate.test.js +0 -36
  775. package/lib-esm/__tests__/theme.test.d.ts +0 -1
  776. package/lib-esm/__tests__/theme.test.js +0 -33
  777. package/lib-esm/__tests__/themeGet.test.d.ts +0 -1
  778. package/lib-esm/__tests__/themeGet.test.js +0 -22
  779. package/lib-esm/__tests__/useSafeTimeout.test.d.ts +0 -1
  780. package/lib-esm/__tests__/useSafeTimeout.test.js +0 -39
  781. package/lib-esm/stories/ActionList.stories.js +0 -395
  782. package/lib-esm/stories/ActionMenu.stories.js +0 -305
  783. package/lib-esm/stories/AnchoredOverlay.stories.js +0 -101
  784. package/lib-esm/stories/Autocomplete.stories.js +0 -560
  785. package/lib-esm/stories/AvatarStack.stories.js +0 -32
  786. package/lib-esm/stories/Button.stories.js +0 -86
  787. package/lib-esm/stories/ConfirmationDialog.stories.js +0 -86
  788. package/lib-esm/stories/Dialog.stories.js +0 -240
  789. package/lib-esm/stories/DropdownMenu.stories.js +0 -94
  790. package/lib-esm/stories/IssueLabelToken.stories.js +0 -139
  791. package/lib-esm/stories/Overlay.stories.js +0 -173
  792. package/lib-esm/stories/Portal.stories.js +0 -68
  793. package/lib-esm/stories/ProfileToken.stories.js +0 -136
  794. package/lib-esm/stories/SelectPanel.stories.js +0 -334
  795. package/lib-esm/stories/TextInputWithTokens.stories.js +0 -210
  796. package/lib-esm/stories/ThemeProvider.stories.js +0 -83
  797. package/lib-esm/stories/Token.stories.js +0 -133
  798. package/lib-esm/stories/useAnchoredPosition.stories.js +0 -313
  799. package/lib-esm/stories/useFocusTrap.stories.js +0 -309
  800. package/lib-esm/stories/useFocusZone.stories.js +0 -554
  801. package/migrating.md +0 -250
  802. package/now.json +0 -17
  803. package/package-lock.json +0 -66357
  804. package/rollup.config.js +0 -36
  805. package/script/build +0 -19
  806. package/script/build-storybook +0 -10
  807. package/script/setup +0 -12
  808. package/src/ActionList/Divider.tsx +0 -25
  809. package/src/ActionList/Group.tsx +0 -45
  810. package/src/ActionList/Header.tsx +0 -74
  811. package/src/ActionList/Item.tsx +0 -496
  812. package/src/ActionList/List.tsx +0 -258
  813. package/src/ActionList/index.ts +0 -21
  814. package/src/ActionMenu.tsx +0 -106
  815. package/src/AnchoredOverlay/AnchoredOverlay.tsx +0 -191
  816. package/src/AnchoredOverlay/index.ts +0 -2
  817. package/src/Autocomplete/Autocomplete.tsx +0 -103
  818. package/src/Autocomplete/AutocompleteContext.tsx +0 -19
  819. package/src/Autocomplete/AutocompleteInput.tsx +0 -179
  820. package/src/Autocomplete/AutocompleteMenu.tsx +0 -341
  821. package/src/Autocomplete/AutocompleteOverlay.tsx +0 -68
  822. package/src/Autocomplete/index.ts +0 -2
  823. package/src/Avatar.tsx +0 -46
  824. package/src/AvatarPair.tsx +0 -35
  825. package/src/BaseStyles.tsx +0 -53
  826. package/src/BorderBox.tsx +0 -18
  827. package/src/Box.tsx +0 -54
  828. package/src/BranchName.tsx +0 -19
  829. package/src/Breadcrumbs.tsx +0 -101
  830. package/src/Button/Button.tsx +0 -40
  831. package/src/Button/ButtonBase.tsx +0 -43
  832. package/src/Button/ButtonClose.tsx +0 -40
  833. package/src/Button/ButtonDanger.tsx +0 -43
  834. package/src/Button/ButtonGroup.tsx +0 -55
  835. package/src/Button/ButtonInvisible.tsx +0 -32
  836. package/src/Button/ButtonOutline.tsx +0 -43
  837. package/src/Button/ButtonPrimary.tsx +0 -41
  838. package/src/Button/ButtonTableList.tsx +0 -58
  839. package/src/Button/index.ts +0 -16
  840. package/src/Caret.tsx +0 -133
  841. package/src/CircleBadge.tsx +0 -55
  842. package/src/CircleOcticon.tsx +0 -37
  843. package/src/CounterLabel.tsx +0 -52
  844. package/src/Details.tsx +0 -23
  845. package/src/Dialog/ConfirmationDialog.tsx +0 -184
  846. package/src/Dialog/Dialog.tsx +0 -432
  847. package/src/Dialog.tsx +0 -149
  848. package/src/Dropdown.tsx +0 -158
  849. package/src/DropdownMenu/DropdownButton.tsx +0 -15
  850. package/src/DropdownMenu/DropdownMenu.tsx +0 -115
  851. package/src/DropdownMenu/index.ts +0 -4
  852. package/src/DropdownStyles.ts +0 -128
  853. package/src/FilterList.tsx +0 -81
  854. package/src/FilteredActionList/FilteredActionList.tsx +0 -142
  855. package/src/FilteredActionList/index.ts +0 -2
  856. package/src/FilteredSearch.tsx +0 -28
  857. package/src/Flash.tsx +0 -77
  858. package/src/Flex.tsx +0 -15
  859. package/src/FormGroup.tsx +0 -27
  860. package/src/Grid.tsx +0 -15
  861. package/src/Header.tsx +0 -84
  862. package/src/Heading.tsx +0 -21
  863. package/src/Label.tsx +0 -75
  864. package/src/LabelGroup.tsx +0 -18
  865. package/src/Link.tsx +0 -46
  866. package/src/Overlay.tsx +0 -197
  867. package/src/Pagehead.tsx +0 -17
  868. package/src/Pagination/Pagination.tsx +0 -214
  869. package/src/Pagination/index.ts +0 -4
  870. package/src/Pagination/model.tsx +0 -187
  871. package/src/PointerBox.tsx +0 -31
  872. package/src/Portal/Portal.tsx +0 -96
  873. package/src/Portal/index.ts +0 -5
  874. package/src/Position.tsx +0 -63
  875. package/src/ProgressBar.tsx +0 -52
  876. package/src/SelectMenu/SelectMenu.tsx +0 -125
  877. package/src/SelectMenu/SelectMenuContext.tsx +0 -9
  878. package/src/SelectMenu/SelectMenuDivider.tsx +0 -25
  879. package/src/SelectMenu/SelectMenuFilter.tsx +0 -51
  880. package/src/SelectMenu/SelectMenuFooter.tsx +0 -28
  881. package/src/SelectMenu/SelectMenuHeader.tsx +0 -50
  882. package/src/SelectMenu/SelectMenuItem.tsx +0 -137
  883. package/src/SelectMenu/SelectMenuList.tsx +0 -42
  884. package/src/SelectMenu/SelectMenuLoadingAnimation.tsx +0 -24
  885. package/src/SelectMenu/SelectMenuModal.tsx +0 -121
  886. package/src/SelectMenu/SelectMenuTab.tsx +0 -88
  887. package/src/SelectMenu/SelectMenuTabPanel.tsx +0 -30
  888. package/src/SelectMenu/SelectMenuTabs.tsx +0 -44
  889. package/src/SelectMenu/hooks/useKeyboardNav.js +0 -90
  890. package/src/SelectMenu/index.ts +0 -15
  891. package/src/SelectPanel/SelectPanel.tsx +0 -173
  892. package/src/SelectPanel/index.ts +0 -2
  893. package/src/SideNav.tsx +0 -193
  894. package/src/Spinner.tsx +0 -59
  895. package/src/StateLabel.tsx +0 -102
  896. package/src/StyledOcticon.tsx +0 -24
  897. package/src/SubNav.tsx +0 -129
  898. package/src/TabNav.tsx +0 -77
  899. package/src/Text.tsx +0 -13
  900. package/src/TextInput.tsx +0 -68
  901. package/src/TextInputWithTokens.tsx +0 -351
  902. package/src/ThemeProvider.tsx +0 -176
  903. package/src/Timeline.tsx +0 -141
  904. package/src/Token/AvatarToken.tsx +0 -54
  905. package/src/Token/IssueLabelToken.tsx +0 -150
  906. package/src/Token/Token.tsx +0 -126
  907. package/src/Token/TokenBase.tsx +0 -129
  908. package/src/Token/_RemoveTokenButton.tsx +0 -111
  909. package/src/Token/index.ts +0 -3
  910. package/src/Truncate.tsx +0 -36
  911. package/src/UnderlineNav.tsx +0 -110
  912. package/src/_TextInputWrapper.tsx +0 -106
  913. package/src/_UnstyledTextInput.tsx +0 -19
  914. package/src/__tests__/.eslintrc.json +0 -11
  915. package/src/__tests__/ActionList.test.tsx +0 -53
  916. package/src/__tests__/ActionList.types.test.tsx +0 -51
  917. package/src/__tests__/ActionMenu.test.tsx +0 -136
  918. package/src/__tests__/AnchoredOverlay.test.tsx +0 -150
  919. package/src/__tests__/Autocomplete.test.tsx +0 -444
  920. package/src/__tests__/Avatar.test.tsx +0 -44
  921. package/src/__tests__/AvatarStack.test.tsx +0 -48
  922. package/src/__tests__/BorderBox.test.tsx +0 -43
  923. package/src/__tests__/Box.test.tsx +0 -42
  924. package/src/__tests__/BranchName.test.tsx +0 -26
  925. package/src/__tests__/Breadcrumbs.test.tsx +0 -27
  926. package/src/__tests__/BreadcrumbsItem.test.tsx +0 -31
  927. package/src/__tests__/Button.test.tsx +0 -128
  928. package/src/__tests__/Caret.test.tsx +0 -36
  929. package/src/__tests__/CircleBadge.test.tsx +0 -66
  930. package/src/__tests__/CircleOcticon.test.tsx +0 -50
  931. package/src/__tests__/ConfirmationDialog.test.tsx +0 -120
  932. package/src/__tests__/CounterLabel.test.tsx +0 -50
  933. package/src/__tests__/Details.test.tsx +0 -115
  934. package/src/__tests__/Dialog.test.tsx +0 -155
  935. package/src/__tests__/Dropdown.test.tsx +0 -53
  936. package/src/__tests__/DropdownMenu.test.tsx +0 -136
  937. package/src/__tests__/FilterList.test.tsx +0 -26
  938. package/src/__tests__/FilterListItem.test.tsx +0 -31
  939. package/src/__tests__/FilteredSearch.test.tsx +0 -26
  940. package/src/__tests__/Flash.test.tsx +0 -45
  941. package/src/__tests__/Flex.test.tsx +0 -58
  942. package/src/__tests__/FormGroup.test.tsx +0 -38
  943. package/src/__tests__/Grid.test.tsx +0 -82
  944. package/src/__tests__/Header.test.tsx +0 -49
  945. package/src/__tests__/Heading.test.tsx +0 -91
  946. package/src/__tests__/KeyPaths.types.test.ts +0 -13
  947. package/src/__tests__/Label.test.tsx +0 -34
  948. package/src/__tests__/LabelGroup.test.tsx +0 -30
  949. package/src/__tests__/Link.test.tsx +0 -47
  950. package/src/__tests__/Merge.types.test.ts +0 -39
  951. package/src/__tests__/Overlay.test.tsx +0 -103
  952. package/src/__tests__/Pagehead.test.tsx +0 -23
  953. package/src/__tests__/Pagination/Pagination.test.tsx +0 -30
  954. package/src/__tests__/Pagination/PaginationModel.test.tsx +0 -133
  955. package/src/__tests__/Pagination/__snapshots__/Pagination.test.tsx.snap +0 -184
  956. package/src/__tests__/PointerBox.test.tsx +0 -34
  957. package/src/__tests__/Popover.test.tsx +0 -68
  958. package/src/__tests__/Portal.test.tsx +0 -103
  959. package/src/__tests__/Position.test.tsx +0 -117
  960. package/src/__tests__/ProgressBar.test.tsx +0 -40
  961. package/src/__tests__/SelectMenu.test.tsx +0 -142
  962. package/src/__tests__/SelectPanel.test.tsx +0 -63
  963. package/src/__tests__/SideNav.test.tsx +0 -62
  964. package/src/__tests__/Spinner.test.tsx +0 -42
  965. package/src/__tests__/StateLabel.test.tsx +0 -48
  966. package/src/__tests__/StyledOcticon.test.tsx +0 -26
  967. package/src/__tests__/SubNav.test.tsx +0 -50
  968. package/src/__tests__/SubNavLink.test.tsx +0 -31
  969. package/src/__tests__/TabNav.test.tsx +0 -32
  970. package/src/__tests__/Text.test.tsx +0 -78
  971. package/src/__tests__/TextInput.test.tsx +0 -49
  972. package/src/__tests__/TextInputWithTokens.test.tsx +0 -432
  973. package/src/__tests__/ThemeProvider.test.tsx +0 -441
  974. package/src/__tests__/Timeline.test.tsx +0 -58
  975. package/src/__tests__/Token.test.tsx +0 -118
  976. package/src/__tests__/Tooltip.test.tsx +0 -52
  977. package/src/__tests__/Truncate.test.tsx +0 -43
  978. package/src/__tests__/UnderlineNav.test.tsx +0 -58
  979. package/src/__tests__/UnderlineNavLink.test.tsx +0 -31
  980. package/src/__tests__/__snapshots__/ActionList.test.tsx.snap +0 -223
  981. package/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap +0 -80
  982. package/src/__tests__/__snapshots__/AnchoredOverlay.test.tsx.snap +0 -332
  983. package/src/__tests__/__snapshots__/Autocomplete.test.tsx.snap +0 -3421
  984. package/src/__tests__/__snapshots__/Avatar.test.tsx.snap +0 -19
  985. package/src/__tests__/__snapshots__/AvatarStack.test.tsx.snap +0 -377
  986. package/src/__tests__/__snapshots__/BorderBox.test.tsx.snap +0 -14
  987. package/src/__tests__/__snapshots__/Box.test.tsx.snap +0 -201
  988. package/src/__tests__/__snapshots__/BranchName.test.tsx.snap +0 -17
  989. package/src/__tests__/__snapshots__/Breadcrumbs.test.tsx.snap +0 -29
  990. package/src/__tests__/__snapshots__/BreadcrumbsItem.test.tsx.snap +0 -79
  991. package/src/__tests__/__snapshots__/Button.test.tsx.snap +0 -840
  992. package/src/__tests__/__snapshots__/Caret.test.tsx.snap +0 -373
  993. package/src/__tests__/__snapshots__/CircleBadge.test.tsx.snap +0 -141
  994. package/src/__tests__/__snapshots__/CircleOcticon.test.tsx.snap +0 -64
  995. package/src/__tests__/__snapshots__/ConfirmationDialog.test.tsx.snap +0 -89
  996. package/src/__tests__/__snapshots__/CounterLabel.test.tsx.snap +0 -22
  997. package/src/__tests__/__snapshots__/Details.test.tsx.snap +0 -15
  998. package/src/__tests__/__snapshots__/Dialog.test.tsx.snap +0 -200
  999. package/src/__tests__/__snapshots__/Dropdown.test.tsx.snap +0 -249
  1000. package/src/__tests__/__snapshots__/DropdownMenu.test.tsx.snap +0 -106
  1001. package/src/__tests__/__snapshots__/FilterList.test.tsx.snap +0 -13
  1002. package/src/__tests__/__snapshots__/FilterListItem.test.tsx.snap +0 -80
  1003. package/src/__tests__/__snapshots__/FilteredSearch.test.tsx.snap +0 -32
  1004. package/src/__tests__/__snapshots__/Flash.test.tsx.snap +0 -32
  1005. package/src/__tests__/__snapshots__/Flex.test.tsx.snap +0 -130
  1006. package/src/__tests__/__snapshots__/FormGroup.test.tsx.snap +0 -25
  1007. package/src/__tests__/__snapshots__/Grid.test.tsx.snap +0 -178
  1008. package/src/__tests__/__snapshots__/Header.test.tsx.snap +0 -79
  1009. package/src/__tests__/__snapshots__/Heading.test.tsx.snap +0 -13
  1010. package/src/__tests__/__snapshots__/Label.test.tsx.snap +0 -74
  1011. package/src/__tests__/__snapshots__/LabelGroup.test.tsx.snap +0 -15
  1012. package/src/__tests__/__snapshots__/Link.test.tsx.snap +0 -213
  1013. package/src/__tests__/__snapshots__/Pagehead.test.tsx.snap +0 -15
  1014. package/src/__tests__/__snapshots__/PointerBox.test.tsx.snap +0 -174
  1015. package/src/__tests__/__snapshots__/Popover.test.tsx.snap +0 -4687
  1016. package/src/__tests__/__snapshots__/Position.test.tsx.snap +0 -44
  1017. package/src/__tests__/__snapshots__/ProgressBar.test.tsx.snap +0 -53
  1018. package/src/__tests__/__snapshots__/SelectMenu.test.tsx.snap +0 -469
  1019. package/src/__tests__/__snapshots__/SelectPanel.test.tsx.snap +0 -123
  1020. package/src/__tests__/__snapshots__/SideNav.test.tsx.snap +0 -143
  1021. package/src/__tests__/__snapshots__/Spinner.test.tsx.snap +0 -33
  1022. package/src/__tests__/__snapshots__/StateLabel.test.tsx.snap +0 -388
  1023. package/src/__tests__/__snapshots__/StyledOcticon.test.tsx.snap +0 -25
  1024. package/src/__tests__/__snapshots__/SubNav.test.tsx.snap +0 -44
  1025. package/src/__tests__/__snapshots__/SubNavLink.test.tsx.snap +0 -199
  1026. package/src/__tests__/__snapshots__/TabNav.test.tsx.snap +0 -58
  1027. package/src/__tests__/__snapshots__/Text.test.tsx.snap +0 -7
  1028. package/src/__tests__/__snapshots__/TextInput.test.tsx.snap +0 -446
  1029. package/src/__tests__/__snapshots__/TextInputWithTokens.test.tsx.snap +0 -5979
  1030. package/src/__tests__/__snapshots__/ThemeProvider.test.tsx.snap +0 -15
  1031. package/src/__tests__/__snapshots__/Timeline.test.tsx.snap +0 -159
  1032. package/src/__tests__/__snapshots__/Token.test.tsx.snap +0 -3794
  1033. package/src/__tests__/__snapshots__/Tooltip.test.tsx.snap +0 -227
  1034. package/src/__tests__/__snapshots__/Truncate.test.tsx.snap +0 -17
  1035. package/src/__tests__/__snapshots__/UnderlineNav.test.tsx.snap +0 -59
  1036. package/src/__tests__/__snapshots__/UnderlineNavLink.test.tsx.snap +0 -130
  1037. package/src/__tests__/behaviors/anchoredPosition.test.ts +0 -295
  1038. package/src/__tests__/behaviors/focusTrap.test.tsx +0 -236
  1039. package/src/__tests__/behaviors/focusZone.test.tsx +0 -549
  1040. package/src/__tests__/behaviors/iterateFocusableElements.test.tsx +0 -61
  1041. package/src/__tests__/behaviors/scrollIntoViewingArea.test.ts +0 -195
  1042. package/src/__tests__/filterObject.test.ts +0 -54
  1043. package/src/__tests__/hooks/useAnchoredPosition.test.tsx +0 -31
  1044. package/src/__tests__/hooks/useOnEscapePress.test.tsx +0 -16
  1045. package/src/__tests__/hooks/useOnOutsideClick.test.tsx +0 -48
  1046. package/src/__tests__/hooks/useOpenAndCloseFocus.test.tsx +0 -48
  1047. package/src/__tests__/hooks/useProvidedStateOrCreate.test.tsx +0 -39
  1048. package/src/__tests__/theme.test.ts +0 -41
  1049. package/src/__tests__/themeGet.test.ts +0 -15
  1050. package/src/__tests__/useSafeTimeout.test.tsx +0 -36
  1051. package/src/behaviors/anchoredPosition.ts +0 -442
  1052. package/src/behaviors/focusTrap.ts +0 -184
  1053. package/src/behaviors/focusZone.ts +0 -713
  1054. package/src/behaviors/scrollIntoViewingArea.ts +0 -27
  1055. package/src/constants.ts +0 -62
  1056. package/src/hooks/index.ts +0 -11
  1057. package/src/hooks/useAnchoredPosition.ts +0 -53
  1058. package/src/hooks/useCombinedRefs.ts +0 -40
  1059. package/src/hooks/useDetails.tsx +0 -54
  1060. package/src/hooks/useDialog.ts +0 -121
  1061. package/src/hooks/useFocusTrap.ts +0 -80
  1062. package/src/hooks/useFocusZone.ts +0 -64
  1063. package/src/hooks/useOnEscapePress.ts +0 -63
  1064. package/src/hooks/useOnOutsideClick.tsx +0 -82
  1065. package/src/hooks/useOpenAndCloseFocus.ts +0 -32
  1066. package/src/hooks/useOverlay.tsx +0 -34
  1067. package/src/hooks/useProvidedRefOrCreate.ts +0 -14
  1068. package/src/hooks/useProvidedStateOrCreate.ts +0 -27
  1069. package/src/hooks/useRenderForcingRef.ts +0 -22
  1070. package/src/hooks/useResizeObserver.ts +0 -11
  1071. package/src/hooks/useSafeTimeout.ts +0 -38
  1072. package/src/hooks/useScrollFlash.ts +0 -21
  1073. package/src/index.ts +0 -170
  1074. package/src/polyfills/eventListenerSignal.ts +0 -66
  1075. package/src/stories/ActionList.stories.tsx +0 -436
  1076. package/src/stories/ActionMenu.stories.tsx +0 -334
  1077. package/src/stories/AnchoredOverlay.stories.tsx +0 -117
  1078. package/src/stories/Autocomplete.stories.tsx +0 -655
  1079. package/src/stories/AvatarStack.stories.tsx +0 -37
  1080. package/src/stories/Button.stories.tsx +0 -92
  1081. package/src/stories/ConfirmationDialog.stories.tsx +0 -105
  1082. package/src/stories/Dialog.stories.tsx +0 -240
  1083. package/src/stories/DropdownMenu.stories.tsx +0 -84
  1084. package/src/stories/IssueLabelToken.stories.tsx +0 -138
  1085. package/src/stories/Overlay.stories.tsx +0 -213
  1086. package/src/stories/Portal.stories.tsx +0 -109
  1087. package/src/stories/ProfileToken.stories.tsx +0 -129
  1088. package/src/stories/SelectPanel.stories.tsx +0 -353
  1089. package/src/stories/TextInputWithTokens.stories.tsx +0 -155
  1090. package/src/stories/ThemeProvider.stories.tsx +0 -104
  1091. package/src/stories/Token.stories.tsx +0 -126
  1092. package/src/stories/useAnchoredPosition.stories.tsx +0 -332
  1093. package/src/stories/useFocusTrap.stories.tsx +0 -400
  1094. package/src/stories/useFocusZone.stories.tsx +0 -663
  1095. package/src/sx.ts +0 -21
  1096. package/src/theme-preval.js +0 -79
  1097. package/src/theme.ts +0 -89
  1098. package/src/utils/deprecate.tsx +0 -73
  1099. package/src/utils/isNumeric.tsx +0 -4
  1100. package/src/utils/iterateFocusableElements.ts +0 -121
  1101. package/src/utils/ssr.tsx +0 -1
  1102. package/src/utils/test-deprecations.tsx +0 -19
  1103. package/src/utils/test-matchers.tsx +0 -109
  1104. package/src/utils/testing.tsx +0 -242
  1105. package/src/utils/theme.js +0 -64
  1106. package/src/utils/types/AriaRole.ts +0 -71
  1107. package/src/utils/types/ComponentProps.ts +0 -13
  1108. package/src/utils/types/Flatten.ts +0 -4
  1109. package/src/utils/types/KeyPaths.ts +0 -4
  1110. package/src/utils/types/MandateProps.ts +0 -19
  1111. package/src/utils/types/Merge.ts +0 -20
  1112. package/src/utils/types/index.ts +0 -5
  1113. package/src/utils/uniqueId.ts +0 -6
  1114. package/src/utils/userAgent.ts +0 -7
  1115. package/stats.html +0 -3279
  1116. package/tsconfig.build.json +0 -7
  1117. package/tsconfig.json +0 -20
@@ -1,258 +0,0 @@
1
- import React, {Key} from 'react'
2
- import type {AriaRole} from '../utils/types'
3
- import {Group, GroupProps} from './Group'
4
- import {Item, ItemProps} from './Item'
5
- import {Divider} from './Divider'
6
- import styled from 'styled-components'
7
- import {get} from '../constants'
8
- import {SystemCssProperties} from '@styled-system/css'
9
- import {hasActiveDescendantAttribute} from '../behaviors/focusZone'
10
- import {Merge} from '../utils/types/Merge'
11
-
12
- type RenderItemFn = (props: ItemProps) => React.ReactElement
13
-
14
- export type ItemInput =
15
- | Merge<React.ComponentPropsWithoutRef<'div'>, ItemProps>
16
- | ((Partial<ItemProps> & {renderItem: RenderItemFn}) & {key?: Key})
17
-
18
- /**
19
- * Contract for props passed to the `List` component.
20
- */
21
- export interface ListPropsBase {
22
- /**
23
- * A collection of `Item` props and `Item`-level custom `Item` renderers.
24
- */
25
- items: ItemInput[]
26
-
27
- /**
28
- * The ARIA role describing the function of `List` component. `listbox` is a common value.
29
- */
30
- role?: AriaRole
31
-
32
- /**
33
- * id to attach to the base DOM node of the list
34
- */
35
- id?: string
36
-
37
- /**
38
- * A `List`-level custom `Item` renderer. Every `Item` within this `List`
39
- * without a `Group`-level or `Item`-level custom `Item` renderer will be
40
- * rendered using this function component.
41
- */
42
- renderItem?: RenderItemFn
43
-
44
- /**
45
- * A `List`-level custom `Group` renderer. Every `Group` within this `List`
46
- * without a `Group`-level custom `Item` renderer will be rendered using
47
- * this function component.
48
- */
49
- renderGroup?: typeof Group
50
-
51
- /**
52
- * Style variations. Usage is discretionary.
53
- *
54
- * - `"inset"` - `List` children are offset (vertically and horizontally) from `List`’s edges
55
- * - `"full"` - `List` children are flush (vertically and horizontally) with `List` edges
56
- */
57
- variant?: 'inset' | 'full'
58
-
59
- /**
60
- * For `Item`s which can be selected, whether `multiple` `Item`s or a `single` `Item` can be selected
61
- */
62
- selectionVariant?: 'single' | 'multiple'
63
-
64
- /**
65
- * Whether to display a divider above each `Item` in this `List` when it does not follow a `Header` or `Divider`.
66
- */
67
- showItemDividers?: boolean
68
- }
69
-
70
- /**
71
- * Contract for props passed to the `List` component, when its `Item`s are collected in `Group`s.
72
- */
73
- export interface GroupedListProps extends ListPropsBase {
74
- /**
75
- * A collection of `Group` props (except `items`), plus a unique group identifier
76
- * and `Group`-level custom `Item` or `Group` renderers.
77
- */
78
- groupMetadata: ((
79
- | Omit<GroupProps, 'items'>
80
- | Omit<Partial<GroupProps> & {renderItem?: RenderItemFn; renderGroup?: typeof Group}, 'items'>
81
- ) & {groupId: string})[]
82
-
83
- /**
84
- * A collection of `Item` props, plus associated group identifiers
85
- * and `Item`-level custom `Item` renderers.
86
- */
87
- items: ((ItemProps | (Partial<ItemProps> & {renderItem: RenderItemFn})) & {groupId: string})[]
88
- }
89
-
90
- /**
91
- * Asserts that the given value fulfills the `GroupedListProps` contract.
92
- * @param props A value which fulfills either the `ListPropsBase` or the `GroupedListProps` contract.
93
- */
94
- function isGroupedListProps(props: ListProps): props is GroupedListProps {
95
- return 'groupMetadata' in props
96
- }
97
-
98
- /**
99
- * Contract for props passed to the `List` component.
100
- */
101
- export type ListProps = ListPropsBase | GroupedListProps
102
-
103
- const StyledList = styled.div`
104
- font-size: ${get('fontSizes.1')};
105
- /* 14px font-size * 1.428571429 = 20px line height
106
- *
107
- * TODO: When rem-based spacing on a 4px scale lands, replace
108
- * hardcoded '20px'
109
- */
110
- line-height: 20px;
111
-
112
- &[${hasActiveDescendantAttribute}], &:focus-within {
113
- --item-hover-bg-override: none;
114
- --item-hover-divider-border-color-override: ${get('colors.border.muted')};
115
- }
116
- `
117
-
118
- /**
119
- * Returns `sx` prop values for `List` children matching the given `List` style variation.
120
- * @param variant `List` style variation.
121
- */
122
- function useListVariant(variant: ListProps['variant'] = 'inset'): {
123
- firstGroupStyle?: SystemCssProperties
124
- lastGroupStyle?: SystemCssProperties
125
- headerStyle?: SystemCssProperties
126
- itemStyle?: SystemCssProperties
127
- } {
128
- switch (variant) {
129
- case 'full':
130
- return {
131
- headerStyle: {paddingX: get('space.2')},
132
- itemStyle: {borderRadius: 0}
133
- }
134
- default:
135
- return {
136
- firstGroupStyle: {marginTop: get('space.2')},
137
- lastGroupStyle: {marginBottom: get('space.2')},
138
- itemStyle: {marginX: get('space.2')}
139
- }
140
- }
141
- }
142
-
143
- /**
144
- * Lists `Item`s, either grouped or ungrouped, with a `Divider` between each `Group`.
145
- */
146
- export const List = React.forwardRef<HTMLDivElement, ListProps>((props, forwardedRef): JSX.Element => {
147
- // Get `sx` prop values for `List` children matching the given `List` style variation.
148
- const {firstGroupStyle, lastGroupStyle, headerStyle, itemStyle} = useListVariant(props.variant)
149
-
150
- /**
151
- * Render a `Group` using the first of the following renderers that is defined:
152
- * A `Group`-level or `List`-level custom `Group` renderer, or
153
- * the default `Group` renderer.
154
- */
155
- const renderGroup = (
156
- groupProps: GroupProps | (Partial<GroupProps> & {renderItem?: typeof Item; renderGroup?: typeof Group})
157
- ) => {
158
- const GroupComponent = (('renderGroup' in groupProps && groupProps.renderGroup) ?? props.renderGroup) || Group
159
- return <GroupComponent {...groupProps} key={groupProps.groupId} />
160
- }
161
-
162
- /**
163
- * Render an `Item` using the first of the following renderers that is defined:
164
- * An `Item`-level, `Group`-level, or `List`-level custom `Item` renderer,
165
- * or the default `Item` renderer.
166
- */
167
- const renderItem = (itemProps: ItemInput, item: ItemInput, itemIndex: number) => {
168
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
169
- const ItemComponent = ('renderItem' in itemProps && itemProps.renderItem) || props.renderItem || Item
170
- const key = ('key' in itemProps ? itemProps.key : undefined) ?? itemProps.id?.toString() ?? itemIndex.toString()
171
- return (
172
- <ItemComponent
173
- showDivider={props.showItemDividers}
174
- selectionVariant={props.selectionVariant}
175
- {...itemProps}
176
- key={key}
177
- sx={{...itemStyle, ...itemProps.sx}}
178
- item={item}
179
- />
180
- )
181
- }
182
-
183
- /**
184
- * An array of `Group`s, each with an associated `Header` and with an array of `Item`s belonging to that `Group`.
185
- */
186
- let groups: (GroupProps | (Partial<GroupProps> & {renderItem?: typeof Item; renderGroup?: typeof Group}))[] = []
187
-
188
- // Collect rendered `Item`s into `Group`s, avoiding excess iteration over the lists of `items` and `groupMetadata`:
189
- if (!isGroupedListProps(props)) {
190
- // When no `groupMetadata`s is provided, collect rendered `Item`s into a single anonymous `Group`.
191
- groups = [{items: props.items.map((item, index) => renderItem(item, item, index)), groupId: '0'}]
192
- } else {
193
- // When `groupMetadata` is provided, collect rendered `Item`s into their associated `Group`s.
194
-
195
- /**
196
- * A map of group identifiers to `Group`s, each with an associated array of `Item`s belonging to that `Group`.
197
- */
198
- const groupMap = props.groupMetadata.reduce(
199
- (groupAccumulator, groupMetadata) => groupAccumulator.set(groupMetadata.groupId, groupMetadata),
200
- new Map<string, GroupProps | (Partial<GroupProps> & {renderItem?: typeof Item; renderGroup?: typeof Group})>()
201
- )
202
-
203
- for (const itemProps of props.items) {
204
- // Look up the group associated with the current item.
205
- const group = groupMap.get(itemProps.groupId)
206
- const itemIndex = group?.items?.length ?? 0
207
-
208
- // Upsert the group to include the current item (rendered).
209
- groupMap.set(itemProps.groupId, {
210
- ...group,
211
- items: [
212
- ...(group?.items ?? []),
213
- renderItem(
214
- {
215
- showDivider: group?.showItemDividers,
216
- ...(group && 'renderItem' in group && {renderItem: group.renderItem}),
217
- ...itemProps
218
- },
219
- itemProps,
220
- itemIndex
221
- )
222
- ]
223
- })
224
- }
225
-
226
- groups = [...groupMap.values()]
227
- }
228
-
229
- return (
230
- <StyledList {...props} ref={forwardedRef}>
231
- {groups.map(({header, ...groupProps}, index) => {
232
- const hasFilledHeader = header?.variant === 'filled'
233
- const shouldShowDivider = index > 0 && !hasFilledHeader
234
- return (
235
- <React.Fragment key={groupProps.groupId}>
236
- {shouldShowDivider ? <Divider key={`${groupProps.groupId}-divider`} /> : null}
237
- {renderGroup({
238
- sx: {
239
- ...(index === 0 && firstGroupStyle),
240
- ...(index === groups.length - 1 && lastGroupStyle),
241
- ...(index > 0 && !shouldShowDivider && {mt: 2})
242
- },
243
- ...(header && {
244
- header: {
245
- ...header,
246
- sx: {...headerStyle, ...header.sx}
247
- }
248
- }),
249
- ...groupProps
250
- })}
251
- </React.Fragment>
252
- )
253
- })}
254
- </StyledList>
255
- )
256
- })
257
-
258
- List.displayName = 'ActionList'
@@ -1,21 +0,0 @@
1
- import {List} from './List'
2
- import {Group} from './Group'
3
- import {Item} from './Item'
4
- import {Divider} from './Divider'
5
- export type {ListProps as ActionListProps} from './List'
6
- export type {GroupProps} from './Group'
7
- export type {ItemProps} from './Item'
8
-
9
- /**
10
- * Collection of list-related components.
11
- */
12
- export const ActionList = Object.assign(List, {
13
- /** Collects related `Items` in an `ActionList`. */
14
- Group,
15
-
16
- /** An actionable or selectable `Item` with an optional icon and description. */
17
- Item,
18
-
19
- /** Visually separates `Item`s or `Group`s in an `ActionList`. */
20
- Divider
21
- })
@@ -1,106 +0,0 @@
1
- import {GroupedListProps, List, ListPropsBase} from './ActionList/List'
2
- import {Item, ItemProps} from './ActionList/Item'
3
- import {Divider} from './ActionList/Divider'
4
- import Button, {ButtonProps} from './Button'
5
- import React, {useCallback, useMemo} from 'react'
6
- import {AnchoredOverlay} from './AnchoredOverlay'
7
- import {useProvidedStateOrCreate} from './hooks/useProvidedStateOrCreate'
8
- import {OverlayProps} from './Overlay'
9
- import {useProvidedRefOrCreate} from './hooks'
10
- import {AnchoredOverlayWrapperAnchorProps} from './AnchoredOverlay/AnchoredOverlay'
11
-
12
- interface ActionMenuBaseProps extends Partial<Omit<GroupedListProps, keyof ListPropsBase>>, ListPropsBase {
13
- /**
14
- * Content that is passed into the renderAnchor component, which is a button by default.
15
- */
16
- anchorContent?: React.ReactNode
17
-
18
- /**
19
- * A callback that triggers both on clicks and keyboard events. This callback will be overridden by item level `onAction` callbacks.
20
- */
21
- onAction?: (props: ItemProps, event?: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement>) => void
22
-
23
- /**
24
- * If defined, will control the open/closed state of the overlay. Must be used in conjuction with `setOpen`.
25
- */
26
- open?: boolean
27
-
28
- /**
29
- * If defined, will control the open/closed state of the overlay. Must be used in conjuction with `open`.
30
- */
31
- setOpen?: (s: boolean) => void
32
-
33
- /**
34
- * Props to be spread on the internal `Overlay` component.
35
- */
36
- overlayProps?: Partial<OverlayProps>
37
- }
38
-
39
- export type ActionMenuProps = ActionMenuBaseProps & AnchoredOverlayWrapperAnchorProps
40
-
41
- const ActionMenuItem = (props: ItemProps) => <Item role="menuitem" {...props} />
42
-
43
- ActionMenuItem.displayName = 'ActionMenu.Item'
44
-
45
- const ActionMenuBase = ({
46
- anchorContent,
47
- renderAnchor = <T extends ButtonProps>(props: T) => <Button {...props} />,
48
- anchorRef: externalAnchorRef,
49
- onAction,
50
- open,
51
- setOpen,
52
- overlayProps,
53
- items,
54
- ...listProps
55
- }: ActionMenuProps): JSX.Element => {
56
- const [combinedOpenState, setCombinedOpenState] = useProvidedStateOrCreate(open, setOpen, false)
57
- const anchorRef = useProvidedRefOrCreate(externalAnchorRef)
58
- const onOpen = useCallback(() => setCombinedOpenState(true), [setCombinedOpenState])
59
- const onClose = useCallback(() => setCombinedOpenState(false), [setCombinedOpenState])
60
-
61
- const renderMenuAnchor = useMemo(() => {
62
- if (renderAnchor === null) {
63
- return null
64
- }
65
- return <T extends React.HTMLAttributes<HTMLElement>>(props: T) => {
66
- return renderAnchor({
67
- 'aria-label': 'menu',
68
- children: anchorContent,
69
- ...props
70
- })
71
- }
72
- }, [anchorContent, renderAnchor])
73
-
74
- const itemsToRender = useMemo(() => {
75
- return items.map(item => {
76
- return {
77
- ...item,
78
- role: 'menuitem',
79
- onAction: (props, event) => {
80
- const actionCallback = item.onAction ?? onAction
81
- actionCallback?.(props as ItemProps, event)
82
- if (!event.defaultPrevented) {
83
- onClose()
84
- }
85
- }
86
- } as ItemProps
87
- })
88
- }, [items, onAction, onClose])
89
-
90
- return (
91
- <AnchoredOverlay
92
- renderAnchor={renderMenuAnchor}
93
- anchorRef={anchorRef}
94
- open={combinedOpenState}
95
- onOpen={onOpen}
96
- onClose={onClose}
97
- overlayProps={overlayProps}
98
- >
99
- <List {...listProps} role="menu" items={itemsToRender} />
100
- </AnchoredOverlay>
101
- )
102
- }
103
-
104
- ActionMenuBase.displayName = 'ActionMenu'
105
-
106
- export const ActionMenu = Object.assign(ActionMenuBase, {Divider, Item: ActionMenuItem})
@@ -1,191 +0,0 @@
1
- import React, {useCallback, useEffect} from 'react'
2
- import Overlay, {OverlayProps} from '../Overlay'
3
- import {FocusTrapHookSettings, useFocusTrap} from '../hooks/useFocusTrap'
4
- import {FocusZoneHookSettings, useFocusZone} from '../hooks/useFocusZone'
5
- import {useAnchoredPosition, useProvidedRefOrCreate, useRenderForcingRef} from '../hooks'
6
- import {useSSRSafeId} from '@react-aria/ssr'
7
- import {PositionSettings} from '../behaviors/anchoredPosition'
8
-
9
- interface AnchoredOverlayPropsWithAnchor {
10
- /**
11
- * A custom function component used to render the anchor element.
12
- * Will receive the selected text as `children` prop when an item is activated.
13
- */
14
- renderAnchor: <T extends React.HTMLAttributes<HTMLElement>>(props: T) => JSX.Element
15
-
16
- /**
17
- * An override to the internal ref that will be spread on to the renderAnchor
18
- */
19
- anchorRef?: React.RefObject<HTMLElement>
20
- }
21
-
22
- interface AnchoredOverlayPropsWithoutAnchor {
23
- /**
24
- * A custom function component used to render the anchor element.
25
- * When renderAnchor is null, an anchorRef is required.
26
- */
27
- renderAnchor: null
28
-
29
- /**
30
- * An override to the internal renderAnchor ref that will be used to position the overlay.
31
- * When renderAnchor is null this can be used to make an anchor that is detached from ActionMenu.
32
- */
33
- anchorRef: React.RefObject<HTMLElement>
34
- }
35
-
36
- export type AnchoredOverlayWrapperAnchorProps =
37
- | Partial<AnchoredOverlayPropsWithAnchor>
38
- | AnchoredOverlayPropsWithoutAnchor
39
-
40
- interface AnchoredOverlayBaseProps extends Pick<OverlayProps, 'height' | 'width'> {
41
- /**
42
- * Determines whether the overlay portion of the component should be shown or not
43
- */
44
- open: boolean
45
-
46
- /**
47
- * A callback which is called whenever the overlay is currently closed and an "open gesture" is detected.
48
- */
49
- onOpen?: (gesture: 'anchor-click' | 'anchor-key-press') => unknown
50
-
51
- /**
52
- * A callback which is called whenever the overlay is currently open and a "close gesture" is detected.
53
- */
54
- onClose?: (gesture: 'anchor-click' | 'click-outside' | 'escape') => unknown
55
-
56
- /**
57
- * Props to be spread on the internal `Overlay` component.
58
- */
59
- overlayProps?: Partial<OverlayProps>
60
-
61
- /**
62
- * Settings to apply to the Focus Zone on the internal `Overlay` component.
63
- */
64
- focusTrapSettings?: Partial<FocusTrapHookSettings>
65
-
66
- /**
67
- * Settings to apply to the Focus Zone on the internal `Overlay` component.
68
- */
69
- focusZoneSettings?: Partial<FocusZoneHookSettings>
70
- }
71
-
72
- export type AnchoredOverlayProps = AnchoredOverlayBaseProps &
73
- (AnchoredOverlayPropsWithAnchor | AnchoredOverlayPropsWithoutAnchor) &
74
- Partial<Pick<PositionSettings, 'align' | 'side'>>
75
-
76
- /**
77
- * An `AnchoredOverlay` provides an anchor that will open a floating overlay positioned relative to the anchor.
78
- * The overlay can be opened and navigated using keyboard or mouse.
79
- */
80
- export const AnchoredOverlay: React.FC<AnchoredOverlayProps> = ({
81
- renderAnchor,
82
- anchorRef: externalAnchorRef,
83
- children,
84
- open,
85
- onOpen,
86
- onClose,
87
- height,
88
- width,
89
- overlayProps,
90
- focusTrapSettings,
91
- focusZoneSettings,
92
- side,
93
- align
94
- }) => {
95
- const anchorRef = useProvidedRefOrCreate(externalAnchorRef)
96
- const [overlayRef, updateOverlayRef] = useRenderForcingRef<HTMLDivElement>()
97
- const anchorId = useSSRSafeId()
98
-
99
- const onClickOutside = useCallback(() => onClose?.('click-outside'), [onClose])
100
- const onEscape = useCallback(() => onClose?.('escape'), [onClose])
101
-
102
- const onAnchorKeyDown = useCallback(
103
- (event: React.KeyboardEvent<HTMLElement>) => {
104
- if (!event.defaultPrevented) {
105
- if (!open && ['ArrowDown', 'ArrowUp', ' ', 'Enter'].includes(event.key)) {
106
- onOpen?.('anchor-key-press')
107
- event.preventDefault()
108
- }
109
- }
110
- },
111
- [open, onOpen]
112
- )
113
- const onAnchorClick = useCallback(
114
- (event: React.MouseEvent<HTMLElement>) => {
115
- if (event.defaultPrevented || event.button !== 0) {
116
- return
117
- }
118
- if (!open) {
119
- onOpen?.('anchor-click')
120
- } else {
121
- onClose?.('anchor-click')
122
- }
123
- },
124
- [open, onOpen, onClose]
125
- )
126
-
127
- const {position} = useAnchoredPosition(
128
- {
129
- anchorElementRef: anchorRef,
130
- floatingElementRef: overlayRef,
131
- side,
132
- align
133
- },
134
- [overlayRef.current]
135
- )
136
-
137
- useEffect(() => {
138
- // ensure overlay ref gets cleared when closed, so position can reset between closing/re-opening
139
- if (!open && overlayRef.current) {
140
- updateOverlayRef(null)
141
- }
142
- }, [open, overlayRef, updateOverlayRef])
143
-
144
- useFocusZone({
145
- containerRef: overlayRef,
146
- disabled: !open || !position,
147
- ...focusZoneSettings
148
- })
149
- useFocusTrap({containerRef: overlayRef, disabled: !open || !position, ...focusTrapSettings})
150
-
151
- return (
152
- <>
153
- {renderAnchor &&
154
- renderAnchor({
155
- ref: anchorRef,
156
- id: anchorId,
157
- 'aria-labelledby': anchorId,
158
- 'aria-haspopup': 'true',
159
- tabIndex: 0,
160
- onClick: onAnchorClick,
161
- onKeyDown: onAnchorKeyDown
162
- })}
163
- {open ? (
164
- <Overlay
165
- returnFocusRef={anchorRef}
166
- onClickOutside={onClickOutside}
167
- ignoreClickRefs={[anchorRef]}
168
- onEscape={onEscape}
169
- ref={updateOverlayRef}
170
- role="none"
171
- visibility={position ? 'visible' : 'hidden'}
172
- height={height}
173
- width={width}
174
- top={position?.top || 0}
175
- left={position?.left || 0}
176
- anchorSide={position?.anchorSide}
177
- {...overlayProps}
178
- >
179
- {children}
180
- </Overlay>
181
- ) : null}
182
- </>
183
- )
184
- }
185
-
186
- AnchoredOverlay.displayName = 'AnchoredOverlay'
187
-
188
- AnchoredOverlay.defaultProps = {
189
- side: 'outside-bottom',
190
- align: 'start'
191
- }
@@ -1,2 +0,0 @@
1
- export {AnchoredOverlay} from './AnchoredOverlay'
2
- export type {AnchoredOverlayProps} from './AnchoredOverlay'
@@ -1,103 +0,0 @@
1
- import React, {useCallback, useReducer, useRef} from 'react'
2
- import {useSSRSafeId} from '@react-aria/ssr'
3
- import {ComponentProps} from '../utils/types'
4
- import {AutocompleteContext} from './AutocompleteContext'
5
- import AutocompleteInput from './AutocompleteInput'
6
- import AutocompleteMenu from './AutocompleteMenu'
7
- import AutocompleteOverlay from './AutocompleteOverlay'
8
-
9
- type Action =
10
- | {type: 'showMenu' | 'isMenuDirectlyActivated'; payload: boolean}
11
- | {type: 'autocompleteSuggestion' | 'inputValue'; payload: string}
12
- | {type: 'selectedItemLength'; payload: number}
13
-
14
- interface State {
15
- inputValue: string
16
- showMenu: boolean
17
- isMenuDirectlyActivated: boolean
18
- autocompleteSuggestion: string
19
- selectedItemLength: number
20
- }
21
-
22
- const initialState = {
23
- inputValue: '',
24
- showMenu: false,
25
- isMenuDirectlyActivated: false,
26
- autocompleteSuggestion: '',
27
- selectedItemLength: 0
28
- }
29
-
30
- const reducer = (state: State, action: Action) => {
31
- const {type, payload} = action
32
- switch (type) {
33
- case 'inputValue':
34
- return {...state, inputValue: payload as State['inputValue']}
35
- case 'showMenu':
36
- return {...state, showMenu: payload as State['showMenu']}
37
- case 'isMenuDirectlyActivated':
38
- return {...state, isMenuDirectlyActivated: payload as State['isMenuDirectlyActivated']}
39
- case 'autocompleteSuggestion':
40
- return {...state, autocompleteSuggestion: payload as State['autocompleteSuggestion']}
41
- case 'selectedItemLength':
42
- return {...state, selectedItemLength: payload as State['selectedItemLength']}
43
- default:
44
- return state
45
- }
46
- }
47
-
48
- const Autocomplete: React.FC<{id?: string}> = ({children, id: idProp}) => {
49
- const activeDescendantRef = useRef<HTMLElement>(null)
50
- const scrollContainerRef = useRef<HTMLDivElement>(null)
51
- const inputRef = useRef<HTMLInputElement>(null)
52
- const [state, dispatch] = useReducer(reducer, initialState)
53
- const {inputValue, showMenu, autocompleteSuggestion, isMenuDirectlyActivated, selectedItemLength} = state
54
- const setInputValue = useCallback((value: State['inputValue']) => {
55
- dispatch({type: 'inputValue', payload: value})
56
- }, [])
57
- const setShowMenu = useCallback((value: State['showMenu']) => {
58
- dispatch({type: 'showMenu', payload: value})
59
- }, [])
60
- const setAutocompleteSuggestion = useCallback((value: State['autocompleteSuggestion']) => {
61
- dispatch({type: 'autocompleteSuggestion', payload: value})
62
- }, [])
63
- const setIsMenuDirectlyActivated = useCallback((value: State['isMenuDirectlyActivated']) => {
64
- dispatch({type: 'isMenuDirectlyActivated', payload: value})
65
- }, [])
66
- const setSelectedItemLength = useCallback((value: State['selectedItemLength']) => {
67
- dispatch({type: 'selectedItemLength', payload: value})
68
- }, [])
69
- const id = useSSRSafeId(idProp)
70
-
71
- return (
72
- <AutocompleteContext.Provider
73
- value={{
74
- activeDescendantRef,
75
- autocompleteSuggestion,
76
- id,
77
- inputRef,
78
- inputValue,
79
- isMenuDirectlyActivated,
80
- scrollContainerRef,
81
- selectedItemLength,
82
- setAutocompleteSuggestion,
83
- setInputValue,
84
- setIsMenuDirectlyActivated,
85
- setShowMenu,
86
- setSelectedItemLength,
87
- showMenu
88
- }}
89
- >
90
- {children}
91
- </AutocompleteContext.Provider>
92
- )
93
- }
94
-
95
- export type AutocompleteProps = ComponentProps<typeof Autocomplete>
96
- export type {AutocompleteInputProps} from './AutocompleteInput'
97
- export type {AutocompleteMenuProps} from './AutocompleteMenu'
98
- export type {AutocompleteOverlayProps} from './AutocompleteOverlay'
99
- export default Object.assign(Autocomplete, {
100
- Input: AutocompleteInput,
101
- Menu: AutocompleteMenu,
102
- Overlay: AutocompleteOverlay
103
- })