@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,272 +0,0 @@
1
- ---
2
- title: Theming
3
- description: Theming in Primer React is made possible by a theme object that defines your application's colors, spacing, fonts, and more.
4
- ---
5
-
6
- import Code from '@primer/gatsby-theme-doctocat/src/components/code'
7
-
8
- ## ThemeProvider
9
-
10
- To give components access to the theme object, you must add `ThemeProvider` to the root of your application:
11
-
12
- ```jsx
13
- import {ThemeProvider} from '@primer/components'
14
-
15
- function App() {
16
- return (
17
- <ThemeProvider>
18
- <div>...</div>
19
- </ThemeProvider>
20
- )
21
- }
22
- ```
23
-
24
- `ThemeProvider` comes with a [default theme object](/theme-reference) that includes colors, spacing, fonts, etc. for building applications at GitHub.
25
-
26
- ## Customizing the theme
27
-
28
- To customize the [default theme](/theme-reference), you can pass your custom theme to `ThemeProvider` using the `theme` prop:
29
-
30
- ```jsx
31
- import {ThemeProvider, theme} from '@primer/components'
32
- import deepmerge from 'deepmerge'
33
-
34
- const customTheme = deepmerge(theme, {
35
- fonts: {
36
- mono: 'Monolisa, monospace'
37
- }
38
- })
39
-
40
- function App() {
41
- return (
42
- <ThemeProvider theme={customTheme}>
43
- <div>...</div>
44
- </ThemeProvider>
45
- )
46
- }
47
- ```
48
-
49
- Some components may break if your custom theme does not include all the same keys as the [default theme](/theme-reference). For that reason, we recommend extending the default theme using [deepmerge](https://www.npmjs.com/package/deepmerge).
50
-
51
- ## Referencing theme values
52
-
53
- You can reference theme values in your application using [system props](/system-props), the [`sx` prop](/overriding-styles), the `themeGet` function, or the `useTheme` hook.
54
-
55
- <Note variant="warning">
56
-
57
- Only use `theme` objects accessed via Primer's theme context to ensure your application’s styling draws from the same theme as Primer components’ internal styling. The `sx` prop, styled system props, `themeGet`, and `useTheme` all use the theme from context.
58
-
59
- <DoDontContainer>
60
- <Do>
61
- <Code className="language-jsx">
62
- {`<Box textShadow="shadow.medium">`}
63
- </Code>
64
- <Caption>Use the theme from the same context as Primer.</Caption>
65
- </Do>
66
- <Dont>
67
- <Code className="language-jsx">
68
- {`import {theme} from '@primer/components'\n\n<Box textShadow={theme.shadows.shadow.medium}>`}
69
- </Code>
70
- <Caption>Don't style components with any other instance of theme</Caption>
71
- </Dont>
72
- </DoDontContainer>
73
-
74
- </Note>
75
-
76
- ### System props and the `sx` prop
77
-
78
- Some [system props](/system-props) and [`sx` prop](/overriding-styles) keys are theme-aware. For example, the `bg` prop maps to the `colors` theme key which means you can use the `bg` prop to reference values in the `colors` object:
79
-
80
- ```jsx
81
- const theme = {
82
- colors: {
83
- canvas: {
84
- default: '#fff'
85
- }
86
- }
87
- }
88
-
89
- function App() {
90
- return (
91
- <ThemeProvider theme={theme}>
92
- <Box bg="canvas.default"></Box>
93
- <Box sx={{bg: 'canvas.default'}}></Box>
94
- </ThemeProvider>
95
- )
96
- }
97
- ```
98
-
99
- See the [Styled System Reference Table](https://styled-system.com/table) for a complete list of mappings.
100
-
101
- ### themeGet
102
-
103
- The `themeGet` function is a convienient way to reference theme values in styled-components template literals:
104
-
105
- ```js
106
- import {themeGet} from '@primer/components'
107
- import styled from 'styled-components'
108
-
109
- const Example = styled.div`
110
- background-color: ${themeGet('colors.canvas.default')};
111
- `
112
- ```
113
-
114
- ### useTheme
115
-
116
- You can use the `useTheme` hook to reference theme values from inside any function component nested under the `ThemeProvider`:
117
-
118
- ```js
119
- import {ThemeProvider, useTheme} from '@primer/components'
120
-
121
- function Example() {
122
- const {theme} = useTheme()
123
- // theme.colors.canvas.default
124
- }
125
-
126
- function App() {
127
- return (
128
- <ThemeProvider>
129
- <Example />
130
- </ThemeProvider>
131
- )
132
- }
133
- ```
134
-
135
- <Note variant="warning">
136
-
137
- Only use `useTheme` to reference theme values in places where it's not possible to use system props, the `sx` prop, or `themeGet`.
138
-
139
- </Note>
140
-
141
- ## Color modes and color schemes
142
-
143
- The terms "color mode" and "color scheme" are often used interchangeably. However, in Primer React, they are two separate (but related) concepts.
144
-
145
- The "color mode" of an application can be either `day`, `night`, or `auto` (i.e. synced with the operating system).
146
-
147
- A "color scheme", on the other hand, is a collection of colors that can be associated with a color mode. The [default theme](/theme-reference) includes three color schemes: `light`, `dark`, and `dark_dimmed`. By default, the `light` scheme is displayed when the application is in `day` mode and the `dark` scheme is displayed in `night` mode.
148
-
149
- ### Setting the color mode
150
-
151
- By default, Primer React is in `day` mode. To change the color mode, use the `colorMode` prop on `ThemeProvider` or the `setColorMode` function from the `useTheme` hook:
152
-
153
- #### `colorMode` prop
154
-
155
- ```jsx
156
- import {ThemeProvider} from '@primer/components'
157
-
158
- function App() {
159
- return (
160
- // colorMode can be "day" (default), "night", or "auto"
161
- <ThemeProvider colorMode="auto">
162
- <div>...</div>
163
- </ThemeProvider>
164
- )
165
- }
166
- ```
167
-
168
- #### `setColorMode` function
169
-
170
- ```jsx
171
- import {useTheme} from '@primer/components'
172
-
173
- function Example() {
174
- const {setColorMode} = useTheme()
175
- return <button onClick={() => setColorMode('auto')}>Activate auto mode</button>
176
- }
177
- ```
178
-
179
- ### Setting color schemes
180
-
181
- To choose which color schemes will be displayed in `day` and `night` mode, use the `dayScheme` and `nightScheme` props on `ThemeProvider` or the `setDayScheme` and `setNightScheme` functions from the `useTheme` hook:
182
-
183
- #### `dayScheme` and `nightScheme` props
184
-
185
- ```jsx
186
- import {ThemeProvider} from '@primer/components'
187
-
188
- function App() {
189
- return (
190
- // The default theme includes `light`, `dark`, and `dark_dimmed` schemes
191
- <ThemeProvider dayScheme="light" nightScheme="dark_dimmed">
192
- <div>...</div>
193
- </ThemeProvider>
194
- )
195
- }
196
- ```
197
-
198
- #### `setDayScheme` and `setNightScheme` functions
199
-
200
- ```jsx
201
- import {useTheme} from '@primer/components'
202
-
203
- function Example() {
204
- const {setDayScheme, setNightScheme} = useTheme()
205
- return <button onClick={() => setNightScheme('auto')}>Activate auto mode</button>
206
- }
207
- ```
208
-
209
- ### Customizing or adding color schemes
210
-
211
- To customize or add color schemes, update the `colorSchemes` object in the theme:
212
-
213
- ```jsx
214
- import {ThemeProvider, theme} from '@primer/components'
215
- import deepmerge from 'deepmerge'
216
-
217
- const customTheme = deepmerge(theme, {
218
- colorSchemes: {
219
- // Customize an existing scheme
220
- light: {
221
- colors: {
222
- text: {
223
- primary: '#f00'
224
- }
225
- }
226
- },
227
- // Add a new scheme
228
- my_scheme_name: {
229
- colors: {},
230
- shadows: {}
231
- }
232
- }
233
- })
234
-
235
- function App() {
236
- return (
237
- <ThemeProvider theme={customTheme}>
238
- <div>...</div>
239
- </ThemeProvider>
240
- )
241
- }
242
- ```
243
-
244
- ### Creating local color scheme variables
245
-
246
- If you need to use a color that is not defined in the theme, avoid hard coding the color value like this:
247
-
248
- ```jsx
249
- function Example() {
250
- return (
251
- // BAD: #aaa may not look good in all color schemes
252
- <Box bg="#aaa">Hello world</Box>
253
- )
254
- }
255
- ```
256
-
257
- Instead, use the `useColorSchemeVar` hook to create a local variable that will update based on the active color scheme:
258
-
259
- ```jsx
260
- import {useColorSchemeVar} from '@primer/components'
261
- import {colors} from '@primer/primitives'
262
-
263
- function Example() {
264
- // GOOD: The value of `customBg` changes based on the active color scheme
265
- const customBg = useColorSchemeVar({
266
- light: colors.light.scale.gray[1],
267
- dark: colors.dark.scale.gray[9],
268
- dark_dimmed: colors.dark_dimmed.scale.gray[2]
269
- })
270
- return <Box bg={customBg}>Hello world</Box>
271
- }
272
- ```
@@ -1,56 +0,0 @@
1
- ---
2
- title: useOnEscapePress
3
- ---
4
-
5
- `useOnEscapePress` is a simple utility Hook that calls a user-provided function when the `Escape` key is pressed. The hook sets up `keydown` event listener on `window.document` and executes the user-provided function if these conditions are met:
6
-
7
- 1. The Escape key was pressed
8
- 2. The `preventDefault` method has not yet been called on the event object.
9
-
10
- Furthermore, unlike the normal behavior for multiple event listeners existing on the same DOM Node, if multiple `useOnEscapePress` hooks are active simultaneously, the callbacks will occur in reverse order. In other words, if a parent component and a child component both call `useOnEscapePress`, when the user presses Escape, the child component's callback will execute, followed by the parent's callback. Each callback has the chance to call `.preventDefault()` on the event to prevent further callbacks.
11
-
12
- ### Dependencies
13
-
14
- Similar to `useCallback`, `useOnEscapePress` takes a `React.DependencyList` as its second argument. These are the dependencies used to memoize the callback. Failing to provide the correct dependency list can result in degraded performance. If this argument is omitted, we will assume that the callback is already memoized. In the example below, that memoization occurs in `DemoComponent` with a call to `React.useCallback`, so `OverlayDemo` does not need to pass a dependency list.
15
-
16
- ### Usage
17
-
18
- ```javascript live noinline
19
- const OverlayDemo = ({onEscape, children}) => {
20
- useOnEscapePress(onEscape)
21
- return (
22
- <Box height="200px">
23
- {children}
24
- </Box>
25
- )
26
- }
27
-
28
- function DemoComponent() {
29
- const [isOpen, setIsOpen] = React.useState(false)
30
- const toggleOverlay = React.useCallback(() => {
31
- setIsOpen(isOpen => !isOpen)
32
- }, [])
33
- const closeOverlay = React.useCallback(() => {
34
- setIsOpen(false)
35
- }, [])
36
- return (
37
- <>
38
- <Button onClick={toggleOverlay}>toggle</Button>
39
- {isOpen &&
40
- <OverlayDemo onEscape={closeOverlay}>
41
- <Button>Button One</Button>
42
- <Button>Button Two</Button>
43
- </OverlayDemo>}
44
- </>
45
- )
46
- }
47
-
48
- render(<DemoComponent/>)
49
- ```
50
-
51
- #### useOnEscapePress
52
-
53
- | Name | Type | Default | Description |
54
- | :- | :- | :-: | :- |
55
- | onEscape | `(event: KeyboardEvent) => void` | | Function to call when user presses the Escape key |
56
- | callbackDependencies | `React.DependencyList` | | Array of dependencies for memoizing the given callback |
@@ -1,57 +0,0 @@
1
- ---
2
- title: useOnOutsideClick
3
- ---
4
-
5
- `useOnOutsideClick` is a utility Hook that calls a user provided callback function when the user clicks outside of the provided container.
6
-
7
- You can also pass an array of `ignoredRefs` to prevent calling the callback function on additional elements on the page. This can be handy for ignoring clicks on trigger buttons that already manage the open/closed state of content.
8
-
9
- ### Usage
10
-
11
- ```jsx live
12
- <State>
13
- {([isOpen, setIsOpen]) => {
14
- const containerRef = React.useRef(null)
15
- const triggerRef = React.useRef(null)
16
-
17
- const closeOverlay = React.useCallback(() => {
18
- setIsOpen(false)
19
- }, [setIsOpen])
20
-
21
- const toggleOverlay = React.useCallback(() => {
22
- setIsOpen(!isOpen)
23
- }, [setIsOpen, isOpen])
24
-
25
- useOnOutsideClick({onClickOutside: closeOverlay, containerRef, ignoreClickRefs: [triggerRef]})
26
-
27
- return (
28
- <>
29
- <Button ref={triggerRef} onClick={toggleOverlay}>
30
- toggle
31
- </Button>
32
- {isOpen && (
33
- <Box
34
- borderWidth="1px"
35
- borderStyle="solid"
36
- borderColor="border.default"
37
- borderRadius={2}
38
- height="200px"
39
- bg="green.4"
40
- ref={containerRef}
41
- >
42
- content
43
- </Box>
44
- )}
45
- </>
46
- )
47
- }}
48
- </State>
49
- ```
50
-
51
- #### useOnOutsideClick settings
52
-
53
- | Name | Type | Default | Description |
54
- | :------------- | :-------------------------------- | :-----: | :------------------------------------------------------------------------------------------------------------------------------ |
55
- | onOutsideClick | `function` | | Function to call when user clicks outside of the container. Usually this manages the state of the visibilitiy of the container. |
56
- | ignoredRefs | `React.RefObject<HTMLElement> []` | | Elements outside of the container to ignore clicks on. |
57
- | containerRef | `React.RefObject<HTMLElement>` | | Required. A ref for the containing element. |
@@ -1,49 +0,0 @@
1
- ---
2
- title: useOpenAndCloseFocus
3
- ---
4
-
5
- `useOpenAndCloseFocus` is a utility Hook that manages focusing an element when a component is first mounted, and returns focus to an element on the page when that component unmounts.
6
-
7
- If no ref is passed to `inititalFocusRef` , the hook focuses the first focusable element inside of the container.
8
-
9
-
10
- ### Usage
11
-
12
- ```javascript live noinline
13
- const Overlay = ({returnFocusRef, initialFocusRef, children}) => {
14
- const containerRef = React.useRef(null)
15
- useOpenAndCloseFocus({containerRef, returnFocusRef, initialFocusRef})
16
- return (
17
- <Box height="200px" ref={containerRef}>
18
- {children}
19
- </Box>
20
- )
21
- }
22
-
23
- function Component() {
24
- const returnFocusRef = React.useRef(null)
25
- const initialFocusRef = React.useRef(null)
26
- const [isOpen, setIsOpen] = React.useState(false)
27
- return (
28
- <Box sx={{'*': { ':focus' : { backgroundColor: 'red.5'}}}}>
29
- <Button ref={returnFocusRef} onClick={() => setIsOpen(!isOpen)}>toggle</Button>
30
- {isOpen &&
31
- <Overlay returnFocusRef={returnFocusRef} initialFocusRef={initialFocusRef}>
32
- <Button>Button One</Button>
33
- <Button ref={initialFocusRef}>Button Two</Button>
34
- </Overlay>}
35
- </Box>
36
- )
37
- }
38
-
39
- render(<Component/>)
40
- ```
41
-
42
-
43
- #### useOpenAndCloseFocus settings
44
-
45
- | Name | Type | Default | Description |
46
- | :- | :- | :-: | :- |
47
- | initialFocusRef | `React.RefObject<HTMLElement>` | | Optional. The element to focus when the container is mounted on the page. |
48
- | returnFocusRef | `React.RefObject<HTMLElement>` | | Required. The element to focus when the container is unmounted. |
49
- | containerRef | `React.RefObject<HTMLElement>` | | Required. A ref for the containing element. |
@@ -1,62 +0,0 @@
1
- ---
2
- title: useOverlay
3
- ---
4
-
5
- `useOverlay` calls all of the relevant behavior Hooks that all `Overlay` components & composite components should have and returns a ref to be passed down to the overlay's container.
6
-
7
- These behaviors include:
8
-
9
- - Correctly positioning the component based on the values provided to `positionSettings` and `positionDeps`.
10
- - Trapping focus
11
- - Calling a user provided function when the user presses `Escape`
12
- - Calling a user provided function when the user clicks outside of the container
13
- - Focusing the either a user provided element, or the first focusable element in the container when it is opened.
14
- - Returning focus to an element when container is closed
15
-
16
- **Note:** `useOverlay` and `Overlay` do not manage the open state of the overlay. We leave control of the open state up to the user. All behaviors are built with the assumption that the overlay will not be rendered on the page & fully unmounted when it is not visible. See the examples for details on how to conditionally render a component in JSX.
17
-
18
- ### Usage
19
-
20
- ```javascript live noinline
21
-
22
- const DemoOverlay = ({onClickOutside, initialFocusRef, returnFocusRef, ignoreClickRefs, onEscape, ...rest}) => {
23
- const overlayProps = useOverlay({returnFocusRef, onEscape, ignoreClickRefs, onClickOutside, initialFocusRef})
24
- return <Box height="200px" bg="green.4" {...overlayProps} {...rest}/>
25
- }
26
-
27
- const DemoComponent = () => {
28
- const returnFocusRef = React.useRef(null)
29
- const initialFocusRef = React.useRef(null)
30
- const [isOpen, setIsOpen] = React.useState(false)
31
- const closeOverlay = () => setIsOpen(false)
32
- return (
33
- <>
34
- <Button ref={returnFocusRef} onClick={() => setIsOpen(!isOpen)}>toggle</Button>
35
- {isOpen &&
36
- <DemoOverlay
37
- returnFocusRef={returnFocusRef}
38
- ignoreClickRefs={[returnFocusRef]}
39
- initialFocusRef={initialFocusRef}
40
- onEscape={closeOverlay}
41
- onClickOutside={closeOverlay}
42
- >
43
- <Button>Button One</Button>
44
- <Button ref={initialFocusRef}>Button Two</Button>
45
- </DemoOverlay>}
46
- </>
47
- )
48
- }
49
-
50
- render(<DemoComponent/>)
51
- ```
52
-
53
-
54
- #### UseOverlaySettings
55
-
56
- | Name | Type | Required | Description |
57
- | :- | :- | :-: | :- |
58
- | onEscapePress | `function` | required | Function to call when user presses the Escape key |
59
- | onOutsideClick | `function` | required | Function to call when user clicks outside of the overlay |
60
- | ignoreClickRefs | `React.RefObject<HTMLElement> []` | optional | Refs to click clicks on in the `onOutsideClick` function, useful for ignoring clicks on elements that trigger the overlay visibility. |
61
- | initialFocusRef | `React.RefObject<HTMLElement>` | optional | Ref to focus when overlay is mounted. |
62
- | returnFocusRef | `React.RefObject<HTMLElement>` | required | Ref to focus when overlay is unmounted. Important for accessibility. |
@@ -1,32 +0,0 @@
1
- ---
2
- title: useSafeTimeout
3
- ---
4
-
5
- `useSafeTimeout` is a utility Hook that allows you to safely call `setTimeout` and `clearTimeout` within a component, ensuring that all timeouts are cleared when the component unmounts.
6
-
7
-
8
- ### Usage
9
-
10
- ```jsx live
11
- <State>
12
- {([]) => {
13
- const {safeSetTimeout, safeClearTimeout} = useSafeTimeout()
14
- let timeoutId = null
15
-
16
- const handleOnClick = () => {
17
- timeoutId = safeSetTimeout(() => window.alert('hello!'), 5000)
18
- }
19
-
20
- const cancelTimeout = () => {
21
- safeClearTimeout(timeoutId)
22
- }
23
-
24
- return (
25
- <>
26
- <Button onClick={handleOnClick}>Click me</Button>
27
- <Button onClick={cancelTimeout}>Cancel timeout</Button>
28
- </>
29
- )
30
- }}
31
- </State>
32
- ```
@@ -1,30 +0,0 @@
1
- const path = require('path')
2
-
3
- module.exports = {
4
- siteMetadata: {
5
- title: 'Primer React',
6
- shortName: 'React',
7
- description: 'React components for the Primer design system'
8
- },
9
- plugins: [
10
- 'gatsby-plugin-typescript',
11
- {
12
- resolve: '@primer/gatsby-theme-doctocat',
13
- options: {
14
- repoRootPath: '..',
15
- defaultBranch: 'main'
16
- }
17
- },
18
- {
19
- resolve: `gatsby-plugin-alias-imports`,
20
- options: {
21
- alias: {
22
- '@primer/components': path.resolve(__dirname, '../src'),
23
- 'styled-components': path.resolve(__dirname, '..', 'node_modules', 'styled-components'),
24
- react: path.resolve(__dirname, 'node_modules', 'react')
25
- }
26
- }
27
- }
28
- ],
29
- pathPrefix: '/react'
30
- }
@@ -1,101 +0,0 @@
1
- const defines = require('../babel-defines')
2
- const docgen = require('react-docgen-typescript')
3
- const globby = require('globby')
4
-
5
- exports.onCreateWebpackConfig = ({actions, plugins, loaders, getConfig}) => {
6
- const config = getConfig()
7
- // Add our `__DEV__` and `process.env.NODE_ENV` defines
8
- config.plugins.push(plugins.define(defines[process.env.NODE_ENV || 'development']))
9
-
10
- config.module.rules = [
11
- ...config.module.rules,
12
- // Create a custom configuration.
13
- {
14
- // The new configuration is based off the original...
15
- ...loaders.js(),
16
- test: /\.jsx?$/,
17
- exclude: modulePath => /node_modules/.test(modulePath),
18
- // ...except that we want to run Primer React through webpack as well.
19
- // By default, Gatsby won't use the define plugin we added above on Primer React.
20
- include: modulePath => /@primer\/components/.test(modulePath)
21
- }
22
- ]
23
-
24
- // Polyfill `path` and stub `fs` for use in the browser
25
- // https://www.gatsbyjs.com/docs/reference/release-notes/migrating-from-v2-to-v3/#webpack-5-node-configuration-changed-nodefs-nodepath-
26
- config.resolve = {
27
- ...config.resolve,
28
- alias: {
29
- ...config.resolve.alias,
30
- path: require.resolve('path-browserify')
31
- },
32
- fallback: {
33
- ...config.resolve.fallback,
34
- fs: false
35
- }
36
- }
37
-
38
- actions.replaceWebpackConfig(config)
39
- }
40
-
41
- exports.sourceNodes = ({actions, createNodeId, createContentDigest}) => {
42
- const {createNode} = actions
43
-
44
- // Extract compontent metadata from source files
45
- const files = globby.sync(['../src/**/*.tsx'], {absolute: true})
46
- const data = docgen.parse(files, {
47
- savePropValueAsString: true,
48
- propFilter: prop => {
49
- if (prop.declarations !== undefined && prop.declarations.length > 0) {
50
- const hasPropAdditionalDescription = prop.declarations.find(declaration => {
51
- return !declaration.fileName.includes('node_modules')
52
- })
53
-
54
- return Boolean(hasPropAdditionalDescription)
55
- }
56
-
57
- return true
58
- }
59
- })
60
-
61
- const components = data.map(component => {
62
- return {
63
- name: component.displayName,
64
- description: component.description,
65
- props: Object.values(component.props)
66
- .map(prop => {
67
- return {
68
- name: prop.name,
69
- description: prop.description,
70
- defaultValue: prop.defaultValue ? prop.defaultValue.value : '',
71
- required: prop.required,
72
- type: prop.type.name
73
- }
74
- })
75
- // Move required props to beginning of the list
76
- .sort((a, b) => {
77
- if (a.required && !b.required) return -1
78
- if (!a.required && b.required) return 1
79
- return 0
80
- })
81
- }
82
- })
83
-
84
- // Add component metadata to GraphQL API
85
- for (const component of components) {
86
- const nodeContent = JSON.stringify(component)
87
- const nodeMeta = {
88
- id: createNodeId(component.name),
89
- parent: null,
90
- children: [],
91
- internal: {
92
- type: `ComponentMetadata`,
93
- mediaType: `text/html`,
94
- content: nodeContent,
95
- contentDigest: createContentDigest(component)
96
- }
97
- }
98
- const node = Object.assign({}, component, nodeMeta)
99
- createNode(node)
100
- }
101
- }