@primer/components 33.0.0-rc.dcc047ad → 33.0.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 (1122) hide show
  1. package/dist/browser.esm.js +2 -2209
  2. package/dist/browser.esm.js.map +1 -1
  3. package/dist/browser.umd.js +2 -2209
  4. package/dist/browser.umd.js.map +1 -1
  5. package/lib/ActionList/Header.js +1 -1
  6. package/lib/ActionList/Item.js +10 -10
  7. package/lib/ActionList/List.js +1 -1
  8. package/lib/ActionList2/Item.js +1 -1
  9. package/lib/ActionList2/List.js +1 -1
  10. package/lib/BaseStyles.js +2 -20
  11. package/lib/BorderBox.js +1 -1
  12. package/lib/Box.js +1 -1
  13. package/lib/Breadcrumbs.js +3 -3
  14. package/lib/Button/Button.js +1 -1
  15. package/lib/Button/ButtonGroup.js +1 -1
  16. package/lib/Checkbox.js +1 -1
  17. package/lib/Details.js +1 -1
  18. package/lib/FilteredActionList/FilteredActionList.js +1 -1
  19. package/lib/Flex.js +1 -1
  20. package/lib/LabelGroup.js +1 -1
  21. package/lib/Overlay.js +1 -1
  22. package/lib/Pagination/Pagination.js +2 -2
  23. package/lib/Position.js +1 -1
  24. package/lib/SelectMenu/SelectMenu.js +1 -1
  25. package/lib/SelectMenu/SelectMenuFilter.js +1 -1
  26. package/lib/SelectMenu/SelectMenuFooter.js +1 -1
  27. package/lib/SelectMenu/SelectMenuItem.js +1 -1
  28. package/lib/SelectMenu/SelectMenuTab.js +1 -1
  29. package/lib/SelectMenu/SelectMenuTabPanel.js +1 -1
  30. package/lib/SelectMenu/SelectMenuTabs.js +1 -1
  31. package/lib/StateLabel.js +1 -1
  32. package/lib/StyledOcticon.js +1 -1
  33. package/lib/SubNav.js +3 -3
  34. package/lib/ThemeProvider.d.ts +1 -0
  35. package/lib/ThemeProvider.js +17 -4
  36. package/lib/Timeline.js +4 -4
  37. package/lib/Token/AvatarToken.js +1 -1
  38. package/lib/Token/TokenBase.js +1 -1
  39. package/lib/Tooltip.js +1 -1
  40. package/lib/UnderlineNav.js +2 -2
  41. package/lib-esm/ActionList/Header.js +1 -1
  42. package/lib-esm/ActionList/Item.js +10 -10
  43. package/lib-esm/ActionList/List.js +1 -1
  44. package/lib-esm/ActionList2/Item.js +1 -1
  45. package/lib-esm/ActionList2/List.js +1 -1
  46. package/lib-esm/BaseStyles.js +2 -20
  47. package/lib-esm/BorderBox.js +1 -1
  48. package/lib-esm/Box.js +1 -1
  49. package/lib-esm/Breadcrumbs.js +3 -3
  50. package/lib-esm/Button/Button.js +1 -1
  51. package/lib-esm/Button/ButtonGroup.js +1 -1
  52. package/lib-esm/Checkbox.js +1 -1
  53. package/lib-esm/Details.js +1 -1
  54. package/lib-esm/FilteredActionList/FilteredActionList.js +1 -1
  55. package/lib-esm/Flex.js +1 -1
  56. package/lib-esm/LabelGroup.js +1 -1
  57. package/lib-esm/Overlay.js +1 -1
  58. package/lib-esm/Pagination/Pagination.js +2 -2
  59. package/lib-esm/Position.js +1 -1
  60. package/lib-esm/SelectMenu/SelectMenu.js +1 -1
  61. package/lib-esm/SelectMenu/SelectMenuFilter.js +1 -1
  62. package/lib-esm/SelectMenu/SelectMenuFooter.js +1 -1
  63. package/lib-esm/SelectMenu/SelectMenuItem.js +1 -1
  64. package/lib-esm/SelectMenu/SelectMenuTab.js +1 -1
  65. package/lib-esm/SelectMenu/SelectMenuTabPanel.js +1 -1
  66. package/lib-esm/SelectMenu/SelectMenuTabs.js +1 -1
  67. package/lib-esm/StateLabel.js +1 -1
  68. package/lib-esm/StyledOcticon.js +1 -1
  69. package/lib-esm/SubNav.js +3 -3
  70. package/lib-esm/ThemeProvider.d.ts +1 -0
  71. package/lib-esm/ThemeProvider.js +17 -4
  72. package/lib-esm/Timeline.js +4 -4
  73. package/lib-esm/Token/AvatarToken.js +1 -1
  74. package/lib-esm/Token/TokenBase.js +1 -1
  75. package/lib-esm/Tooltip.js +1 -1
  76. package/lib-esm/UnderlineNav.js +2 -2
  77. package/package.json +6 -6
  78. package/.changeset/README.md +0 -8
  79. package/.changeset/config.json +0 -10
  80. package/.devcontainer/devcontainer.json +0 -8
  81. package/.eslintrc.json +0 -137
  82. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
  83. package/.github/ISSUE_TEMPLATE/new_component_proposal_template.md +0 -41
  84. package/.github/dependabot.yml +0 -18
  85. package/.github/pull_request_template.md +0 -18
  86. package/.github/workflows/check_for_changeset.yml +0 -25
  87. package/.github/workflows/ci.yml +0 -31
  88. package/.github/workflows/deploy_preview.yml +0 -47
  89. package/.github/workflows/deploy_production.yml +0 -70
  90. package/.github/workflows/release.yml +0 -35
  91. package/.github/workflows/release_canary.yml +0 -70
  92. package/.github/workflows/release_candidate.yml +0 -60
  93. package/.github/workflows/size.yml +0 -13
  94. package/.github/workflows/stale.yml +0 -26
  95. package/.github/workflows/statuses.yml +0 -32
  96. package/.gitignore +0 -11
  97. package/.npmrc +0 -4
  98. package/.nvmrc +0 -1
  99. package/.storybook/main.js +0 -9
  100. package/.storybook/preview.js +0 -117
  101. package/.vscode/launch.json +0 -21
  102. package/.vscode/settings.json +0 -13
  103. package/@types/@styled-system/index.d.ts +0 -0
  104. package/@types/@styled-system/prop-types/index.d.ts +0 -1
  105. package/@types/@styled-system/props/index.d.ts +0 -1
  106. package/@types/jest-styled-components/index.d.ts +0 -1
  107. package/CHANGELOG.md +0 -996
  108. package/CODEOWNERS +0 -2
  109. package/babel-defines.js +0 -13
  110. package/babel.config.js +0 -39
  111. package/contributor-docs/CODE_OF_CONDUCT.md +0 -76
  112. package/contributor-docs/CONTRIBUTING.md +0 -230
  113. package/contributor-docs/adrs/adr-001-typescript.md +0 -23
  114. package/contributor-docs/adrs/adr-002-behavior-isolation.md +0 -108
  115. package/contributor-docs/adrs/adr-003-prop-norms.md +0 -72
  116. package/contributor-docs/behaviors.md +0 -132
  117. package/contributor-docs/component-contents-api-patterns.md +0 -316
  118. package/contributor-docs/principles.md +0 -39
  119. package/docs/.eslintrc +0 -0
  120. package/docs/.gitignore +0 -91
  121. package/docs/components/PropsList.js +0 -5
  122. package/docs/components/State.js +0 -9
  123. package/docs/components/constants.js +0 -34
  124. package/docs/components/index.js +0 -2
  125. package/docs/content/ActionList.mdx +0 -99
  126. package/docs/content/ActionMenu.mdx +0 -80
  127. package/docs/content/AnchoredOverlay.mdx +0 -37
  128. package/docs/content/Autocomplete.mdx +0 -657
  129. package/docs/content/Avatar.mdx +0 -53
  130. package/docs/content/AvatarStack.mdx +0 -57
  131. package/docs/content/BorderBox.md +0 -46
  132. package/docs/content/Box.mdx +0 -96
  133. package/docs/content/BranchName.md +0 -39
  134. package/docs/content/Breadcrumbs.md +0 -68
  135. package/docs/content/Buttons.md +0 -47
  136. package/docs/content/Checkbox.md +0 -118
  137. package/docs/content/CircleBadge.md +0 -36
  138. package/docs/content/CircleOcticon.md +0 -19
  139. package/docs/content/CounterLabel.md +0 -22
  140. package/docs/content/Details.md +0 -102
  141. package/docs/content/Dialog.md +0 -106
  142. package/docs/content/Dialog2.mdx +0 -181
  143. package/docs/content/Dropdown.md +0 -66
  144. package/docs/content/DropdownMenu.mdx +0 -50
  145. package/docs/content/FilterList.md +0 -38
  146. package/docs/content/FilteredSearch.md +0 -33
  147. package/docs/content/Flash.md +0 -36
  148. package/docs/content/Flex.md +0 -58
  149. package/docs/content/FormGroup.md +0 -39
  150. package/docs/content/Grid.md +0 -59
  151. package/docs/content/Header.md +0 -78
  152. package/docs/content/Heading.md +0 -21
  153. package/docs/content/Label.md +0 -49
  154. package/docs/content/LabelGroup.md +0 -22
  155. package/docs/content/Link.md +0 -29
  156. package/docs/content/Overlay.mdx +0 -86
  157. package/docs/content/Pagehead.md +0 -19
  158. package/docs/content/Pagination.md +0 -179
  159. package/docs/content/PointerBox.md +0 -82
  160. package/docs/content/Popover.md +0 -130
  161. package/docs/content/Portal.mdx +0 -79
  162. package/docs/content/Position.md +0 -93
  163. package/docs/content/ProgressBar.mdx +0 -31
  164. package/docs/content/SelectMenu.md +0 -372
  165. package/docs/content/SelectPanel.mdx +0 -67
  166. package/docs/content/SideNav.md +0 -172
  167. package/docs/content/Spinner.mdx +0 -32
  168. package/docs/content/StateLabel.md +0 -28
  169. package/docs/content/StyledOcticon.md +0 -27
  170. package/docs/content/SubNav.md +0 -101
  171. package/docs/content/TabNav.md +0 -43
  172. package/docs/content/Text.md +0 -32
  173. package/docs/content/TextInput.md +0 -42
  174. package/docs/content/TextInputWithTokens.mdx +0 -211
  175. package/docs/content/Timeline.md +0 -149
  176. package/docs/content/Token.mdx +0 -381
  177. package/docs/content/Tooltip.md +0 -33
  178. package/docs/content/Truncate.md +0 -56
  179. package/docs/content/UnderlineNav.md +0 -46
  180. package/docs/content/anchoredPosition.mdx +0 -163
  181. package/docs/content/core-concepts.md +0 -70
  182. package/docs/content/drafts/ActionList2.mdx +0 -375
  183. package/docs/content/drafts/ActionMenu2.mdx +0 -251
  184. package/docs/content/focusTrap.mdx +0 -103
  185. package/docs/content/focusZone.mdx +0 -145
  186. package/docs/content/getting-started.md +0 -138
  187. package/docs/content/index.md +0 -33
  188. package/docs/content/linting.md +0 -35
  189. package/docs/content/overriding-styles.mdx +0 -82
  190. package/docs/content/philosophy.md +0 -23
  191. package/docs/content/primer-theme.md +0 -89
  192. package/docs/content/ssr.mdx +0 -43
  193. package/docs/content/status.mdx +0 -10
  194. package/docs/content/system-props.mdx +0 -37
  195. package/docs/content/theme-reference.md +0 -16
  196. package/docs/content/theming.md +0 -272
  197. package/docs/content/useOnEscapePress.mdx +0 -56
  198. package/docs/content/useOnOutsideClick.mdx +0 -57
  199. package/docs/content/useOpenAndCloseFocus.mdx +0 -49
  200. package/docs/content/useOverlay.mdx +0 -62
  201. package/docs/content/useSafeTimeout.mdx +0 -32
  202. package/docs/gatsby-config.js +0 -30
  203. package/docs/gatsby-node.js +0 -101
  204. package/docs/package-lock.json +0 -20867
  205. package/docs/package.json +0 -36
  206. package/docs/src/@primer/gatsby-theme-doctocat/components/hero.js +0 -21
  207. package/docs/src/@primer/gatsby-theme-doctocat/components/live-preview-wrapper.js +0 -41
  208. package/docs/src/@primer/gatsby-theme-doctocat/live-code-scope.js +0 -81
  209. package/docs/src/@primer/gatsby-theme-doctocat/mdx-components.js +0 -9
  210. package/docs/src/@primer/gatsby-theme-doctocat/nav.yml +0 -137
  211. package/docs/src/@primer/gatsby-theme-doctocat/primer-components-hero.svg +0 -1411
  212. package/docs/src/component-checklist.js +0 -89
  213. package/docs/src/component-statuses.js +0 -74
  214. package/docs/src/props.js +0 -77
  215. package/jest.config.js +0 -13
  216. package/lib/__tests__/ActionList.test.d.ts +0 -1
  217. package/lib/__tests__/ActionList.test.js +0 -69
  218. package/lib/__tests__/ActionList.types.test.d.ts +0 -6
  219. package/lib/__tests__/ActionList.types.test.js +0 -69
  220. package/lib/__tests__/ActionList2.test.d.ts +0 -2
  221. package/lib/__tests__/ActionList2.test.js +0 -170
  222. package/lib/__tests__/ActionMenu.test.d.ts +0 -1
  223. package/lib/__tests__/ActionMenu.test.js +0 -151
  224. package/lib/__tests__/AnchoredOverlay.test.d.ts +0 -1
  225. package/lib/__tests__/AnchoredOverlay.test.js +0 -162
  226. package/lib/__tests__/Autocomplete.test.d.ts +0 -1
  227. package/lib/__tests__/Autocomplete.test.js +0 -528
  228. package/lib/__tests__/Avatar.test.d.ts +0 -1
  229. package/lib/__tests__/Avatar.test.js +0 -69
  230. package/lib/__tests__/Avatar.types.test.d.ts +0 -3
  231. package/lib/__tests__/Avatar.types.test.js +0 -31
  232. package/lib/__tests__/AvatarStack.test.d.ts +0 -1
  233. package/lib/__tests__/AvatarStack.test.js +0 -71
  234. package/lib/__tests__/BorderBox.test.d.ts +0 -1
  235. package/lib/__tests__/BorderBox.test.js +0 -58
  236. package/lib/__tests__/Box.test.d.ts +0 -1
  237. package/lib/__tests__/Box.test.js +0 -78
  238. package/lib/__tests__/BranchName.test.d.ts +0 -1
  239. package/lib/__tests__/BranchName.test.js +0 -36
  240. package/lib/__tests__/BranchName.types.test.d.ts +0 -3
  241. package/lib/__tests__/BranchName.types.test.js +0 -28
  242. package/lib/__tests__/Breadcrumbs.test.d.ts +0 -1
  243. package/lib/__tests__/Breadcrumbs.test.js +0 -40
  244. package/lib/__tests__/Breadcrumbs.types.test.d.ts +0 -3
  245. package/lib/__tests__/Breadcrumbs.types.test.js +0 -25
  246. package/lib/__tests__/BreadcrumbsItem.test.d.ts +0 -1
  247. package/lib/__tests__/BreadcrumbsItem.test.js +0 -49
  248. package/lib/__tests__/Button.test.d.ts +0 -1
  249. package/lib/__tests__/Button.test.js +0 -147
  250. package/lib/__tests__/Caret.test.d.ts +0 -1
  251. package/lib/__tests__/Caret.test.js +0 -52
  252. package/lib/__tests__/Checkbox.test.d.ts +0 -2
  253. package/lib/__tests__/Checkbox.test.js +0 -189
  254. package/lib/__tests__/CircleBadge.test.d.ts +0 -1
  255. package/lib/__tests__/CircleBadge.test.js +0 -83
  256. package/lib/__tests__/CircleBadge.types.test.d.ts +0 -3
  257. package/lib/__tests__/CircleBadge.types.test.js +0 -28
  258. package/lib/__tests__/CircleOcticon.test.d.ts +0 -1
  259. package/lib/__tests__/CircleOcticon.test.js +0 -71
  260. package/lib/__tests__/ConfirmationDialog.test.d.ts +0 -1
  261. package/lib/__tests__/ConfirmationDialog.test.js +0 -134
  262. package/lib/__tests__/CounterLabel.test.d.ts +0 -1
  263. package/lib/__tests__/CounterLabel.test.js +0 -58
  264. package/lib/__tests__/CounterLabel.types.test.d.ts +0 -3
  265. package/lib/__tests__/CounterLabel.types.test.js +0 -28
  266. package/lib/__tests__/Details.test.d.ts +0 -1
  267. package/lib/__tests__/Details.test.js +0 -117
  268. package/lib/__tests__/Details.types.test.d.ts +0 -3
  269. package/lib/__tests__/Details.types.test.js +0 -28
  270. package/lib/__tests__/Dialog.test.d.ts +0 -1
  271. package/lib/__tests__/Dialog.test.js +0 -184
  272. package/lib/__tests__/Dialog.types.test.d.ts +0 -3
  273. package/lib/__tests__/Dialog.types.test.js +0 -28
  274. package/lib/__tests__/Dialog2.types.test.d.ts +0 -3
  275. package/lib/__tests__/Dialog2.types.test.js +0 -31
  276. package/lib/__tests__/Dropdown.test.d.ts +0 -1
  277. package/lib/__tests__/Dropdown.test.js +0 -63
  278. package/lib/__tests__/Dropdown.types.test.d.ts +0 -3
  279. package/lib/__tests__/Dropdown.types.test.js +0 -31
  280. package/lib/__tests__/DropdownMenu.test.d.ts +0 -1
  281. package/lib/__tests__/DropdownMenu.test.js +0 -150
  282. package/lib/__tests__/FilterList.test.d.ts +0 -1
  283. package/lib/__tests__/FilterList.test.js +0 -36
  284. package/lib/__tests__/FilterList.types.test.d.ts +0 -3
  285. package/lib/__tests__/FilterList.types.test.js +0 -27
  286. package/lib/__tests__/FilterListItem.test.d.ts +0 -1
  287. package/lib/__tests__/FilterListItem.test.js +0 -46
  288. package/lib/__tests__/FilteredSearch.test.d.ts +0 -1
  289. package/lib/__tests__/FilteredSearch.test.js +0 -36
  290. package/lib/__tests__/FilteredSearch.types.test.d.ts +0 -3
  291. package/lib/__tests__/FilteredSearch.types.test.js +0 -28
  292. package/lib/__tests__/Flash.test.d.ts +0 -1
  293. package/lib/__tests__/Flash.test.js +0 -62
  294. package/lib/__tests__/Flash.types.test.d.ts +0 -3
  295. package/lib/__tests__/Flash.types.test.js +0 -28
  296. package/lib/__tests__/Flex.test.d.ts +0 -1
  297. package/lib/__tests__/Flex.test.js +0 -74
  298. package/lib/__tests__/FormGroup.test.d.ts +0 -1
  299. package/lib/__tests__/FormGroup.test.js +0 -54
  300. package/lib/__tests__/FormGroup.types.test.d.ts +0 -3
  301. package/lib/__tests__/FormGroup.types.test.js +0 -28
  302. package/lib/__tests__/Grid.test.d.ts +0 -1
  303. package/lib/__tests__/Grid.test.js +0 -104
  304. package/lib/__tests__/Header.test.d.ts +0 -1
  305. package/lib/__tests__/Header.test.js +0 -58
  306. package/lib/__tests__/Header.types.test.d.ts +0 -3
  307. package/lib/__tests__/Header.types.test.js +0 -29
  308. package/lib/__tests__/Heading.test.d.ts +0 -1
  309. package/lib/__tests__/Heading.test.js +0 -142
  310. package/lib/__tests__/Heading.types.test.d.ts +0 -3
  311. package/lib/__tests__/Heading.types.test.js +0 -28
  312. package/lib/__tests__/KeyPaths.types.test.d.ts +0 -11
  313. package/lib/__tests__/KeyPaths.types.test.js +0 -10
  314. package/lib/__tests__/Label.test.d.ts +0 -1
  315. package/lib/__tests__/Label.test.js +0 -46
  316. package/lib/__tests__/Label.types.test.d.ts +0 -3
  317. package/lib/__tests__/Label.types.test.js +0 -28
  318. package/lib/__tests__/LabelGroup.test.d.ts +0 -1
  319. package/lib/__tests__/LabelGroup.test.js +0 -38
  320. package/lib/__tests__/LabelGroup.types.test.d.ts +0 -3
  321. package/lib/__tests__/LabelGroup.types.test.js +0 -28
  322. package/lib/__tests__/Link.test.d.ts +0 -1
  323. package/lib/__tests__/Link.test.js +0 -76
  324. package/lib/__tests__/Link.types.test.d.ts +0 -3
  325. package/lib/__tests__/Link.types.test.js +0 -28
  326. package/lib/__tests__/Merge.types.test.d.ts +0 -30
  327. package/lib/__tests__/Merge.types.test.js +0 -27
  328. package/lib/__tests__/NewButton.test.d.ts +0 -1
  329. package/lib/__tests__/NewButton.test.js +0 -95
  330. package/lib/__tests__/Overlay.test.d.ts +0 -1
  331. package/lib/__tests__/Overlay.test.js +0 -145
  332. package/lib/__tests__/Overlay.types.test.d.ts +0 -6
  333. package/lib/__tests__/Overlay.types.test.js +0 -73
  334. package/lib/__tests__/Pagehead.test.d.ts +0 -1
  335. package/lib/__tests__/Pagehead.test.js +0 -37
  336. package/lib/__tests__/Pagehead.types.test.d.ts +0 -3
  337. package/lib/__tests__/Pagehead.types.test.js +0 -28
  338. package/lib/__tests__/Pagination/Pagination.test.d.ts +0 -1
  339. package/lib/__tests__/Pagination/Pagination.test.js +0 -47
  340. package/lib/__tests__/Pagination/PaginationModel.test.d.ts +0 -1
  341. package/lib/__tests__/Pagination/PaginationModel.test.js +0 -186
  342. package/lib/__tests__/Pagination.types.test.d.ts +0 -3
  343. package/lib/__tests__/Pagination.types.test.js +0 -33
  344. package/lib/__tests__/PointerBox.test.d.ts +0 -1
  345. package/lib/__tests__/PointerBox.test.js +0 -46
  346. package/lib/__tests__/Popover.test.d.ts +0 -1
  347. package/lib/__tests__/Popover.test.js +0 -66
  348. package/lib/__tests__/Popover.types.test.d.ts +0 -3
  349. package/lib/__tests__/Popover.types.test.js +0 -27
  350. package/lib/__tests__/Portal.test.d.ts +0 -1
  351. package/lib/__tests__/Portal.test.js +0 -124
  352. package/lib/__tests__/Position.test.d.ts +0 -1
  353. package/lib/__tests__/Position.test.js +0 -143
  354. package/lib/__tests__/ProgressBar.test.d.ts +0 -1
  355. package/lib/__tests__/ProgressBar.test.js +0 -68
  356. package/lib/__tests__/SelectMenu.test.d.ts +0 -1
  357. package/lib/__tests__/SelectMenu.test.js +0 -155
  358. package/lib/__tests__/SelectMenu.types.test.d.ts +0 -3
  359. package/lib/__tests__/SelectMenu.types.test.js +0 -47
  360. package/lib/__tests__/SelectPanel.test.d.ts +0 -1
  361. package/lib/__tests__/SelectPanel.test.js +0 -80
  362. package/lib/__tests__/SelectPanel.types.test.d.ts +0 -3
  363. package/lib/__tests__/SelectPanel.types.test.js +0 -44
  364. package/lib/__tests__/SideNav.test.d.ts +0 -1
  365. package/lib/__tests__/SideNav.test.js +0 -71
  366. package/lib/__tests__/SideNav.types.test.d.ts +0 -3
  367. package/lib/__tests__/SideNav.types.test.js +0 -28
  368. package/lib/__tests__/Spinner.test.d.ts +0 -1
  369. package/lib/__tests__/Spinner.test.js +0 -53
  370. package/lib/__tests__/StateLabel.test.d.ts +0 -1
  371. package/lib/__tests__/StateLabel.test.js +0 -71
  372. package/lib/__tests__/StateLabel.types.test.d.ts +0 -3
  373. package/lib/__tests__/StateLabel.types.test.js +0 -28
  374. package/lib/__tests__/StyledOcticon.test.d.ts +0 -1
  375. package/lib/__tests__/StyledOcticon.test.js +0 -40
  376. package/lib/__tests__/StyledOcticon.types.test.d.ts +0 -3
  377. package/lib/__tests__/StyledOcticon.types.test.js +0 -32
  378. package/lib/__tests__/SubNav.test.d.ts +0 -1
  379. package/lib/__tests__/SubNav.test.js +0 -62
  380. package/lib/__tests__/SubNav.types.test.d.ts +0 -3
  381. package/lib/__tests__/SubNav.types.test.js +0 -27
  382. package/lib/__tests__/SubNavLink.test.d.ts +0 -1
  383. package/lib/__tests__/SubNavLink.test.js +0 -49
  384. package/lib/__tests__/TabNav.test.d.ts +0 -1
  385. package/lib/__tests__/TabNav.test.js +0 -49
  386. package/lib/__tests__/TabNav.types.test.d.ts +0 -3
  387. package/lib/__tests__/TabNav.types.test.js +0 -25
  388. package/lib/__tests__/Text.test.d.ts +0 -1
  389. package/lib/__tests__/Text.test.js +0 -105
  390. package/lib/__tests__/TextInput.test.d.ts +0 -1
  391. package/lib/__tests__/TextInput.test.js +0 -78
  392. package/lib/__tests__/TextInputWithTokens.test.d.ts +0 -1
  393. package/lib/__tests__/TextInputWithTokens.test.js +0 -572
  394. package/lib/__tests__/ThemeProvider.test.d.ts +0 -1
  395. package/lib/__tests__/ThemeProvider.test.js +0 -444
  396. package/lib/__tests__/Timeline.test.d.ts +0 -1
  397. package/lib/__tests__/Timeline.test.js +0 -75
  398. package/lib/__tests__/Timeline.types.test.d.ts +0 -3
  399. package/lib/__tests__/Timeline.types.test.js +0 -31
  400. package/lib/__tests__/Token.test.d.ts +0 -1
  401. package/lib/__tests__/Token.test.js +0 -180
  402. package/lib/__tests__/Tooltip.test.d.ts +0 -1
  403. package/lib/__tests__/Tooltip.test.js +0 -69
  404. package/lib/__tests__/Tooltip.types.test.d.ts +0 -3
  405. package/lib/__tests__/Tooltip.types.test.js +0 -28
  406. package/lib/__tests__/Truncate.test.d.ts +0 -1
  407. package/lib/__tests__/Truncate.test.js +0 -63
  408. package/lib/__tests__/Truncate.types.test.d.ts +0 -3
  409. package/lib/__tests__/Truncate.types.test.js +0 -31
  410. package/lib/__tests__/UnderlineNav.test.d.ts +0 -1
  411. package/lib/__tests__/UnderlineNav.test.js +0 -72
  412. package/lib/__tests__/UnderlineNav.types.test.d.ts +0 -3
  413. package/lib/__tests__/UnderlineNav.types.test.js +0 -25
  414. package/lib/__tests__/UnderlineNavLink.test.d.ts +0 -1
  415. package/lib/__tests__/UnderlineNavLink.test.js +0 -51
  416. package/lib/__tests__/behaviors/anchoredPosition.test.d.ts +0 -1
  417. package/lib/__tests__/behaviors/anchoredPosition.test.js +0 -390
  418. package/lib/__tests__/behaviors/focusTrap.test.d.ts +0 -1
  419. package/lib/__tests__/behaviors/focusTrap.test.js +0 -234
  420. package/lib/__tests__/behaviors/focusZone.test.d.ts +0 -1
  421. package/lib/__tests__/behaviors/focusZone.test.js +0 -570
  422. package/lib/__tests__/behaviors/iterateFocusableElements.test.d.ts +0 -1
  423. package/lib/__tests__/behaviors/iterateFocusableElements.test.js +0 -55
  424. package/lib/__tests__/behaviors/scrollIntoViewingArea.test.d.ts +0 -1
  425. package/lib/__tests__/behaviors/scrollIntoViewingArea.test.js +0 -226
  426. package/lib/__tests__/filterObject.test.d.ts +0 -1
  427. package/lib/__tests__/filterObject.test.js +0 -30
  428. package/lib/__tests__/hooks/useAnchoredPosition.test.d.ts +0 -1
  429. package/lib/__tests__/hooks/useAnchoredPosition.test.js +0 -54
  430. package/lib/__tests__/hooks/useOnEscapePress.test.d.ts +0 -1
  431. package/lib/__tests__/hooks/useOnEscapePress.test.js +0 -32
  432. package/lib/__tests__/hooks/useOnOutsideClick.test.d.ts +0 -1
  433. package/lib/__tests__/hooks/useOnOutsideClick.test.js +0 -87
  434. package/lib/__tests__/hooks/useOpenAndCloseFocus.test.d.ts +0 -1
  435. package/lib/__tests__/hooks/useOpenAndCloseFocus.test.js +0 -60
  436. package/lib/__tests__/hooks/useProvidedStateOrCreate.test.d.ts +0 -1
  437. package/lib/__tests__/hooks/useProvidedStateOrCreate.test.js +0 -45
  438. package/lib/__tests__/theme.test.d.ts +0 -1
  439. package/lib/__tests__/theme.test.js +0 -36
  440. package/lib/__tests__/themeGet.test.d.ts +0 -1
  441. package/lib/__tests__/themeGet.test.js +0 -25
  442. package/lib/__tests__/themePreval.test.d.ts +0 -1
  443. package/lib/__tests__/themePreval.test.js +0 -14
  444. package/lib/__tests__/useSafeTimeout.test.d.ts +0 -1
  445. package/lib/__tests__/useSafeTimeout.test.js +0 -45
  446. package/lib/__tests__/utils/createSlots.test.d.ts +0 -1
  447. package/lib/__tests__/utils/createSlots.test.js +0 -75
  448. package/lib/stories/ActionList.stories.js +0 -454
  449. package/lib/stories/ActionList2.stories.js +0 -923
  450. package/lib/stories/ActionMenu.stories.js +0 -348
  451. package/lib/stories/ActionMenu2.stories.js +0 -433
  452. package/lib/stories/AnchoredOverlay.stories.js +0 -127
  453. package/lib/stories/Autocomplete.stories.js +0 -619
  454. package/lib/stories/AvatarStack.stories.js +0 -49
  455. package/lib/stories/Button.stories.js +0 -125
  456. package/lib/stories/Checkbox.stories.js +0 -227
  457. package/lib/stories/ConfirmationDialog.stories.js +0 -119
  458. package/lib/stories/Dialog.stories.js +0 -269
  459. package/lib/stories/DropdownMenu.stories.js +0 -122
  460. package/lib/stories/IssueLabelToken.stories.js +0 -165
  461. package/lib/stories/NewButton.stories.js +0 -230
  462. package/lib/stories/Overlay.stories.js +0 -204
  463. package/lib/stories/Portal.stories.js +0 -104
  464. package/lib/stories/ProfileToken.stories.js +0 -162
  465. package/lib/stories/SelectPanel.stories.js +0 -399
  466. package/lib/stories/TextInput.stories.js +0 -144
  467. package/lib/stories/TextInputWithTokens.stories.js +0 -252
  468. package/lib/stories/ThemeProvider.stories.js +0 -102
  469. package/lib/stories/Token.stories.js +0 -176
  470. package/lib/stories/useAnchoredPosition.stories.js +0 -351
  471. package/lib/stories/useFocusTrap.stories.js +0 -360
  472. package/lib/stories/useFocusZone.stories.js +0 -607
  473. package/lib-esm/__tests__/ActionList.test.d.ts +0 -1
  474. package/lib-esm/__tests__/ActionList.test.js +0 -57
  475. package/lib-esm/__tests__/ActionList.types.test.d.ts +0 -6
  476. package/lib-esm/__tests__/ActionList.types.test.js +0 -45
  477. package/lib-esm/__tests__/ActionList2.test.d.ts +0 -2
  478. package/lib-esm/__tests__/ActionList2.test.js +0 -144
  479. package/lib-esm/__tests__/ActionMenu.test.d.ts +0 -1
  480. package/lib-esm/__tests__/ActionMenu.test.js +0 -139
  481. package/lib-esm/__tests__/AnchoredOverlay.test.d.ts +0 -1
  482. package/lib-esm/__tests__/AnchoredOverlay.test.js +0 -136
  483. package/lib-esm/__tests__/Autocomplete.test.d.ts +0 -1
  484. package/lib-esm/__tests__/Autocomplete.test.js +0 -494
  485. package/lib-esm/__tests__/Avatar.test.d.ts +0 -1
  486. package/lib-esm/__tests__/Avatar.test.js +0 -58
  487. package/lib-esm/__tests__/Avatar.types.test.d.ts +0 -3
  488. package/lib-esm/__tests__/Avatar.types.test.js +0 -16
  489. package/lib-esm/__tests__/AvatarStack.test.d.ts +0 -1
  490. package/lib-esm/__tests__/AvatarStack.test.js +0 -58
  491. package/lib-esm/__tests__/BorderBox.test.d.ts +0 -1
  492. package/lib-esm/__tests__/BorderBox.test.js +0 -47
  493. package/lib-esm/__tests__/Box.test.d.ts +0 -1
  494. package/lib-esm/__tests__/Box.test.js +0 -67
  495. package/lib-esm/__tests__/BranchName.test.d.ts +0 -1
  496. package/lib-esm/__tests__/BranchName.test.js +0 -26
  497. package/lib-esm/__tests__/BranchName.types.test.d.ts +0 -3
  498. package/lib-esm/__tests__/BranchName.types.test.js +0 -13
  499. package/lib-esm/__tests__/Breadcrumbs.test.d.ts +0 -1
  500. package/lib-esm/__tests__/Breadcrumbs.test.js +0 -30
  501. package/lib-esm/__tests__/Breadcrumbs.types.test.d.ts +0 -3
  502. package/lib-esm/__tests__/Breadcrumbs.types.test.js +0 -12
  503. package/lib-esm/__tests__/BreadcrumbsItem.test.d.ts +0 -1
  504. package/lib-esm/__tests__/BreadcrumbsItem.test.js +0 -39
  505. package/lib-esm/__tests__/Button.test.d.ts +0 -1
  506. package/lib-esm/__tests__/Button.test.js +0 -137
  507. package/lib-esm/__tests__/Caret.test.d.ts +0 -1
  508. package/lib-esm/__tests__/Caret.test.js +0 -42
  509. package/lib-esm/__tests__/Checkbox.test.d.ts +0 -2
  510. package/lib-esm/__tests__/Checkbox.test.js +0 -169
  511. package/lib-esm/__tests__/CircleBadge.test.d.ts +0 -1
  512. package/lib-esm/__tests__/CircleBadge.test.js +0 -70
  513. package/lib-esm/__tests__/CircleBadge.types.test.d.ts +0 -3
  514. package/lib-esm/__tests__/CircleBadge.types.test.js +0 -13
  515. package/lib-esm/__tests__/CircleOcticon.test.d.ts +0 -1
  516. package/lib-esm/__tests__/CircleOcticon.test.js +0 -59
  517. package/lib-esm/__tests__/ConfirmationDialog.test.d.ts +0 -1
  518. package/lib-esm/__tests__/ConfirmationDialog.test.js +0 -113
  519. package/lib-esm/__tests__/CounterLabel.test.d.ts +0 -1
  520. package/lib-esm/__tests__/CounterLabel.test.js +0 -47
  521. package/lib-esm/__tests__/CounterLabel.types.test.d.ts +0 -3
  522. package/lib-esm/__tests__/CounterLabel.types.test.js +0 -13
  523. package/lib-esm/__tests__/Details.test.d.ts +0 -1
  524. package/lib-esm/__tests__/Details.test.js +0 -107
  525. package/lib-esm/__tests__/Details.types.test.d.ts +0 -3
  526. package/lib-esm/__tests__/Details.types.test.js +0 -13
  527. package/lib-esm/__tests__/Dialog.test.d.ts +0 -1
  528. package/lib-esm/__tests__/Dialog.test.js +0 -171
  529. package/lib-esm/__tests__/Dialog.types.test.d.ts +0 -3
  530. package/lib-esm/__tests__/Dialog.types.test.js +0 -13
  531. package/lib-esm/__tests__/Dialog2.types.test.d.ts +0 -3
  532. package/lib-esm/__tests__/Dialog2.types.test.js +0 -16
  533. package/lib-esm/__tests__/Dropdown.test.d.ts +0 -1
  534. package/lib-esm/__tests__/Dropdown.test.js +0 -53
  535. package/lib-esm/__tests__/Dropdown.types.test.d.ts +0 -3
  536. package/lib-esm/__tests__/Dropdown.types.test.js +0 -17
  537. package/lib-esm/__tests__/DropdownMenu.test.d.ts +0 -1
  538. package/lib-esm/__tests__/DropdownMenu.test.js +0 -137
  539. package/lib-esm/__tests__/FilterList.test.d.ts +0 -1
  540. package/lib-esm/__tests__/FilterList.test.js +0 -26
  541. package/lib-esm/__tests__/FilterList.types.test.d.ts +0 -3
  542. package/lib-esm/__tests__/FilterList.types.test.js +0 -13
  543. package/lib-esm/__tests__/FilterListItem.test.d.ts +0 -1
  544. package/lib-esm/__tests__/FilterListItem.test.js +0 -36
  545. package/lib-esm/__tests__/FilteredSearch.test.d.ts +0 -1
  546. package/lib-esm/__tests__/FilteredSearch.test.js +0 -26
  547. package/lib-esm/__tests__/FilteredSearch.types.test.d.ts +0 -3
  548. package/lib-esm/__tests__/FilteredSearch.types.test.js +0 -13
  549. package/lib-esm/__tests__/Flash.test.d.ts +0 -1
  550. package/lib-esm/__tests__/Flash.test.js +0 -51
  551. package/lib-esm/__tests__/Flash.types.test.d.ts +0 -3
  552. package/lib-esm/__tests__/Flash.types.test.js +0 -13
  553. package/lib-esm/__tests__/Flex.test.d.ts +0 -1
  554. package/lib-esm/__tests__/Flex.test.js +0 -64
  555. package/lib-esm/__tests__/FormGroup.test.d.ts +0 -1
  556. package/lib-esm/__tests__/FormGroup.test.js +0 -44
  557. package/lib-esm/__tests__/FormGroup.types.test.d.ts +0 -3
  558. package/lib-esm/__tests__/FormGroup.types.test.js +0 -13
  559. package/lib-esm/__tests__/Grid.test.d.ts +0 -1
  560. package/lib-esm/__tests__/Grid.test.js +0 -94
  561. package/lib-esm/__tests__/Header.test.d.ts +0 -1
  562. package/lib-esm/__tests__/Header.test.js +0 -48
  563. package/lib-esm/__tests__/Header.types.test.d.ts +0 -3
  564. package/lib-esm/__tests__/Header.types.test.js +0 -15
  565. package/lib-esm/__tests__/Heading.test.d.ts +0 -1
  566. package/lib-esm/__tests__/Heading.test.js +0 -131
  567. package/lib-esm/__tests__/Heading.types.test.d.ts +0 -3
  568. package/lib-esm/__tests__/Heading.types.test.js +0 -13
  569. package/lib-esm/__tests__/KeyPaths.types.test.d.ts +0 -11
  570. package/lib-esm/__tests__/KeyPaths.types.test.js +0 -3
  571. package/lib-esm/__tests__/Label.test.d.ts +0 -1
  572. package/lib-esm/__tests__/Label.test.js +0 -36
  573. package/lib-esm/__tests__/Label.types.test.d.ts +0 -3
  574. package/lib-esm/__tests__/Label.types.test.js +0 -13
  575. package/lib-esm/__tests__/LabelGroup.test.d.ts +0 -1
  576. package/lib-esm/__tests__/LabelGroup.test.js +0 -26
  577. package/lib-esm/__tests__/LabelGroup.types.test.d.ts +0 -3
  578. package/lib-esm/__tests__/LabelGroup.types.test.js +0 -13
  579. package/lib-esm/__tests__/Link.test.d.ts +0 -1
  580. package/lib-esm/__tests__/Link.test.js +0 -66
  581. package/lib-esm/__tests__/Link.types.test.d.ts +0 -3
  582. package/lib-esm/__tests__/Link.types.test.js +0 -13
  583. package/lib-esm/__tests__/Merge.types.test.d.ts +0 -30
  584. package/lib-esm/__tests__/Merge.types.test.js +0 -14
  585. package/lib-esm/__tests__/NewButton.test.d.ts +0 -1
  586. package/lib-esm/__tests__/NewButton.test.js +0 -84
  587. package/lib-esm/__tests__/Overlay.test.d.ts +0 -1
  588. package/lib-esm/__tests__/Overlay.test.js +0 -123
  589. package/lib-esm/__tests__/Overlay.types.test.d.ts +0 -6
  590. package/lib-esm/__tests__/Overlay.types.test.js +0 -49
  591. package/lib-esm/__tests__/Pagehead.test.d.ts +0 -1
  592. package/lib-esm/__tests__/Pagehead.test.js +0 -26
  593. package/lib-esm/__tests__/Pagehead.types.test.d.ts +0 -3
  594. package/lib-esm/__tests__/Pagehead.types.test.js +0 -13
  595. package/lib-esm/__tests__/Pagination/Pagination.test.d.ts +0 -1
  596. package/lib-esm/__tests__/Pagination/Pagination.test.js +0 -35
  597. package/lib-esm/__tests__/Pagination/PaginationModel.test.d.ts +0 -1
  598. package/lib-esm/__tests__/Pagination/PaginationModel.test.js +0 -182
  599. package/lib-esm/__tests__/Pagination.types.test.d.ts +0 -3
  600. package/lib-esm/__tests__/Pagination.types.test.js +0 -18
  601. package/lib-esm/__tests__/PointerBox.test.d.ts +0 -1
  602. package/lib-esm/__tests__/PointerBox.test.js +0 -36
  603. package/lib-esm/__tests__/Popover.test.d.ts +0 -1
  604. package/lib-esm/__tests__/Popover.test.js +0 -53
  605. package/lib-esm/__tests__/Popover.types.test.d.ts +0 -3
  606. package/lib-esm/__tests__/Popover.types.test.js +0 -13
  607. package/lib-esm/__tests__/Portal.test.d.ts +0 -1
  608. package/lib-esm/__tests__/Portal.test.js +0 -104
  609. package/lib-esm/__tests__/Position.test.d.ts +0 -1
  610. package/lib-esm/__tests__/Position.test.js +0 -133
  611. package/lib-esm/__tests__/ProgressBar.test.d.ts +0 -1
  612. package/lib-esm/__tests__/ProgressBar.test.js +0 -58
  613. package/lib-esm/__tests__/SelectMenu.test.d.ts +0 -1
  614. package/lib-esm/__tests__/SelectMenu.test.js +0 -145
  615. package/lib-esm/__tests__/SelectMenu.types.test.d.ts +0 -3
  616. package/lib-esm/__tests__/SelectMenu.types.test.js +0 -33
  617. package/lib-esm/__tests__/SelectPanel.test.d.ts +0 -1
  618. package/lib-esm/__tests__/SelectPanel.test.js +0 -65
  619. package/lib-esm/__tests__/SelectPanel.types.test.d.ts +0 -3
  620. package/lib-esm/__tests__/SelectPanel.types.test.js +0 -29
  621. package/lib-esm/__tests__/SideNav.test.d.ts +0 -1
  622. package/lib-esm/__tests__/SideNav.test.js +0 -60
  623. package/lib-esm/__tests__/SideNav.types.test.d.ts +0 -3
  624. package/lib-esm/__tests__/SideNav.types.test.js +0 -13
  625. package/lib-esm/__tests__/Spinner.test.d.ts +0 -1
  626. package/lib-esm/__tests__/Spinner.test.js +0 -43
  627. package/lib-esm/__tests__/StateLabel.test.d.ts +0 -1
  628. package/lib-esm/__tests__/StateLabel.test.js +0 -61
  629. package/lib-esm/__tests__/StateLabel.types.test.d.ts +0 -3
  630. package/lib-esm/__tests__/StateLabel.types.test.js +0 -13
  631. package/lib-esm/__tests__/StyledOcticon.test.d.ts +0 -1
  632. package/lib-esm/__tests__/StyledOcticon.test.js +0 -29
  633. package/lib-esm/__tests__/StyledOcticon.types.test.d.ts +0 -3
  634. package/lib-esm/__tests__/StyledOcticon.types.test.js +0 -16
  635. package/lib-esm/__tests__/SubNav.test.d.ts +0 -1
  636. package/lib-esm/__tests__/SubNav.test.js +0 -50
  637. package/lib-esm/__tests__/SubNav.types.test.d.ts +0 -3
  638. package/lib-esm/__tests__/SubNav.types.test.js +0 -14
  639. package/lib-esm/__tests__/SubNavLink.test.d.ts +0 -1
  640. package/lib-esm/__tests__/SubNavLink.test.js +0 -39
  641. package/lib-esm/__tests__/TabNav.test.d.ts +0 -1
  642. package/lib-esm/__tests__/TabNav.test.js +0 -39
  643. package/lib-esm/__tests__/TabNav.types.test.d.ts +0 -3
  644. package/lib-esm/__tests__/TabNav.types.test.js +0 -12
  645. package/lib-esm/__tests__/Text.test.d.ts +0 -1
  646. package/lib-esm/__tests__/Text.test.js +0 -93
  647. package/lib-esm/__tests__/TextInput.test.d.ts +0 -1
  648. package/lib-esm/__tests__/TextInput.test.js +0 -68
  649. package/lib-esm/__tests__/TextInputWithTokens.test.d.ts +0 -1
  650. package/lib-esm/__tests__/TextInputWithTokens.test.js +0 -511
  651. package/lib-esm/__tests__/ThemeProvider.test.d.ts +0 -1
  652. package/lib-esm/__tests__/ThemeProvider.test.js +0 -408
  653. package/lib-esm/__tests__/Timeline.test.d.ts +0 -1
  654. package/lib-esm/__tests__/Timeline.test.js +0 -65
  655. package/lib-esm/__tests__/Timeline.types.test.d.ts +0 -3
  656. package/lib-esm/__tests__/Timeline.types.test.js +0 -18
  657. package/lib-esm/__tests__/Token.test.d.ts +0 -1
  658. package/lib-esm/__tests__/Token.test.js +0 -166
  659. package/lib-esm/__tests__/Tooltip.test.d.ts +0 -1
  660. package/lib-esm/__tests__/Tooltip.test.js +0 -59
  661. package/lib-esm/__tests__/Tooltip.types.test.d.ts +0 -3
  662. package/lib-esm/__tests__/Tooltip.types.test.js +0 -13
  663. package/lib-esm/__tests__/Truncate.test.d.ts +0 -1
  664. package/lib-esm/__tests__/Truncate.test.js +0 -53
  665. package/lib-esm/__tests__/Truncate.types.test.d.ts +0 -3
  666. package/lib-esm/__tests__/Truncate.types.test.js +0 -16
  667. package/lib-esm/__tests__/UnderlineNav.test.d.ts +0 -1
  668. package/lib-esm/__tests__/UnderlineNav.test.js +0 -60
  669. package/lib-esm/__tests__/UnderlineNav.types.test.d.ts +0 -3
  670. package/lib-esm/__tests__/UnderlineNav.types.test.js +0 -12
  671. package/lib-esm/__tests__/UnderlineNavLink.test.d.ts +0 -1
  672. package/lib-esm/__tests__/UnderlineNavLink.test.js +0 -41
  673. package/lib-esm/__tests__/behaviors/anchoredPosition.test.d.ts +0 -1
  674. package/lib-esm/__tests__/behaviors/anchoredPosition.test.js +0 -388
  675. package/lib-esm/__tests__/behaviors/focusTrap.test.d.ts +0 -1
  676. package/lib-esm/__tests__/behaviors/focusTrap.test.js +0 -227
  677. package/lib-esm/__tests__/behaviors/focusZone.test.d.ts +0 -1
  678. package/lib-esm/__tests__/behaviors/focusZone.test.js +0 -487
  679. package/lib-esm/__tests__/behaviors/iterateFocusableElements.test.d.ts +0 -1
  680. package/lib-esm/__tests__/behaviors/iterateFocusableElements.test.js +0 -48
  681. package/lib-esm/__tests__/behaviors/scrollIntoViewingArea.test.d.ts +0 -1
  682. package/lib-esm/__tests__/behaviors/scrollIntoViewingArea.test.js +0 -224
  683. package/lib-esm/__tests__/filterObject.test.d.ts +0 -1
  684. package/lib-esm/__tests__/filterObject.test.js +0 -27
  685. package/lib-esm/__tests__/hooks/useAnchoredPosition.test.d.ts +0 -1
  686. package/lib-esm/__tests__/hooks/useAnchoredPosition.test.js +0 -46
  687. package/lib-esm/__tests__/hooks/useOnEscapePress.test.d.ts +0 -1
  688. package/lib-esm/__tests__/hooks/useOnEscapePress.test.js +0 -23
  689. package/lib-esm/__tests__/hooks/useOnOutsideClick.test.d.ts +0 -1
  690. package/lib-esm/__tests__/hooks/useOnOutsideClick.test.js +0 -68
  691. package/lib-esm/__tests__/hooks/useOpenAndCloseFocus.test.d.ts +0 -1
  692. package/lib-esm/__tests__/hooks/useOpenAndCloseFocus.test.js +0 -52
  693. package/lib-esm/__tests__/hooks/useProvidedStateOrCreate.test.d.ts +0 -1
  694. package/lib-esm/__tests__/hooks/useProvidedStateOrCreate.test.js +0 -36
  695. package/lib-esm/__tests__/theme.test.d.ts +0 -1
  696. package/lib-esm/__tests__/theme.test.js +0 -33
  697. package/lib-esm/__tests__/themeGet.test.d.ts +0 -1
  698. package/lib-esm/__tests__/themeGet.test.js +0 -22
  699. package/lib-esm/__tests__/themePreval.test.d.ts +0 -1
  700. package/lib-esm/__tests__/themePreval.test.js +0 -7
  701. package/lib-esm/__tests__/useSafeTimeout.test.d.ts +0 -1
  702. package/lib-esm/__tests__/useSafeTimeout.test.js +0 -39
  703. package/lib-esm/__tests__/utils/createSlots.test.d.ts +0 -1
  704. package/lib-esm/__tests__/utils/createSlots.test.js +0 -67
  705. package/lib-esm/stories/ActionList.stories.js +0 -395
  706. package/lib-esm/stories/ActionList2.stories.js +0 -811
  707. package/lib-esm/stories/ActionMenu.stories.js +0 -303
  708. package/lib-esm/stories/ActionMenu2.stories.js +0 -376
  709. package/lib-esm/stories/AnchoredOverlay.stories.js +0 -101
  710. package/lib-esm/stories/Autocomplete.stories.js +0 -560
  711. package/lib-esm/stories/AvatarStack.stories.js +0 -32
  712. package/lib-esm/stories/Button.stories.js +0 -86
  713. package/lib-esm/stories/Checkbox.stories.js +0 -197
  714. package/lib-esm/stories/ConfirmationDialog.stories.js +0 -94
  715. package/lib-esm/stories/Dialog.stories.js +0 -244
  716. package/lib-esm/stories/DropdownMenu.stories.js +0 -94
  717. package/lib-esm/stories/IssueLabelToken.stories.js +0 -139
  718. package/lib-esm/stories/NewButton.stories.js +0 -178
  719. package/lib-esm/stories/Overlay.stories.js +0 -173
  720. package/lib-esm/stories/Portal.stories.js +0 -68
  721. package/lib-esm/stories/ProfileToken.stories.js +0 -136
  722. package/lib-esm/stories/SelectPanel.stories.js +0 -334
  723. package/lib-esm/stories/TextInput.stories.js +0 -117
  724. package/lib-esm/stories/TextInputWithTokens.stories.js +0 -210
  725. package/lib-esm/stories/ThemeProvider.stories.js +0 -83
  726. package/lib-esm/stories/Token.stories.js +0 -146
  727. package/lib-esm/stories/useAnchoredPosition.stories.js +0 -313
  728. package/lib-esm/stories/useFocusTrap.stories.js +0 -313
  729. package/lib-esm/stories/useFocusZone.stories.js +0 -562
  730. package/migrating.md +0 -250
  731. package/now.json +0 -17
  732. package/package-lock.json +0 -66716
  733. package/rollup.config.js +0 -36
  734. package/script/build +0 -21
  735. package/script/build-storybook +0 -10
  736. package/script/component-status-project/build.ts +0 -100
  737. package/script/component-status-project/deploy.rb +0 -142
  738. package/script/setup +0 -12
  739. package/src/ActionList/Divider.tsx +0 -25
  740. package/src/ActionList/Group.tsx +0 -45
  741. package/src/ActionList/Header.tsx +0 -74
  742. package/src/ActionList/Item.tsx +0 -481
  743. package/src/ActionList/List.tsx +0 -258
  744. package/src/ActionList/index.ts +0 -21
  745. package/src/ActionList2/Description.tsx +0 -52
  746. package/src/ActionList2/Divider.tsx +0 -29
  747. package/src/ActionList2/Group.tsx +0 -103
  748. package/src/ActionList2/Item.tsx +0 -257
  749. package/src/ActionList2/LinkItem.tsx +0 -49
  750. package/src/ActionList2/List.tsx +0 -54
  751. package/src/ActionList2/MenuContext.tsx +0 -6
  752. package/src/ActionList2/Selection.tsx +0 -70
  753. package/src/ActionList2/Visuals.tsx +0 -76
  754. package/src/ActionList2/index.ts +0 -39
  755. package/src/ActionMenu.tsx +0 -106
  756. package/src/ActionMenu2.tsx +0 -94
  757. package/src/AnchoredOverlay/AnchoredOverlay.tsx +0 -191
  758. package/src/AnchoredOverlay/index.ts +0 -2
  759. package/src/Autocomplete/Autocomplete.tsx +0 -103
  760. package/src/Autocomplete/AutocompleteContext.tsx +0 -19
  761. package/src/Autocomplete/AutocompleteInput.tsx +0 -179
  762. package/src/Autocomplete/AutocompleteMenu.tsx +0 -341
  763. package/src/Autocomplete/AutocompleteOverlay.tsx +0 -68
  764. package/src/Autocomplete/index.ts +0 -2
  765. package/src/Avatar.tsx +0 -44
  766. package/src/AvatarPair.tsx +0 -35
  767. package/src/AvatarStack.tsx +0 -159
  768. package/src/BaseStyles.tsx +0 -53
  769. package/src/BorderBox.tsx +0 -18
  770. package/src/Box.tsx +0 -54
  771. package/src/BranchName.tsx +0 -19
  772. package/src/Breadcrumbs.tsx +0 -101
  773. package/src/Button/Button.tsx +0 -39
  774. package/src/Button/ButtonBase.tsx +0 -39
  775. package/src/Button/ButtonClose.tsx +0 -36
  776. package/src/Button/ButtonDanger.tsx +0 -42
  777. package/src/Button/ButtonGroup.tsx +0 -55
  778. package/src/Button/ButtonInvisible.tsx +0 -31
  779. package/src/Button/ButtonOutline.tsx +0 -42
  780. package/src/Button/ButtonPrimary.tsx +0 -40
  781. package/src/Button/ButtonStyles.tsx +0 -36
  782. package/src/Button/ButtonTableList.tsx +0 -45
  783. package/src/Button/index.ts +0 -16
  784. package/src/Caret.tsx +0 -133
  785. package/src/Checkbox.tsx +0 -75
  786. package/src/CircleBadge.tsx +0 -53
  787. package/src/CircleOcticon.tsx +0 -37
  788. package/src/CounterLabel.tsx +0 -50
  789. package/src/Details.tsx +0 -19
  790. package/src/Dialog/ConfirmationDialog.tsx +0 -184
  791. package/src/Dialog/Dialog.tsx +0 -444
  792. package/src/Dialog.tsx +0 -145
  793. package/src/Dropdown.tsx +0 -154
  794. package/src/DropdownMenu/DropdownButton.tsx +0 -15
  795. package/src/DropdownMenu/DropdownMenu.tsx +0 -115
  796. package/src/DropdownMenu/index.ts +0 -4
  797. package/src/DropdownStyles.ts +0 -128
  798. package/src/FilterList.tsx +0 -75
  799. package/src/FilteredActionList/FilteredActionList.tsx +0 -142
  800. package/src/FilteredActionList/index.ts +0 -2
  801. package/src/FilteredSearch.tsx +0 -27
  802. package/src/Flash.tsx +0 -75
  803. package/src/Flex.tsx +0 -15
  804. package/src/FormGroup.tsx +0 -24
  805. package/src/Grid.tsx +0 -15
  806. package/src/Header.tsx +0 -74
  807. package/src/Heading.tsx +0 -14
  808. package/src/Label.tsx +0 -72
  809. package/src/LabelGroup.tsx +0 -17
  810. package/src/Link.tsx +0 -42
  811. package/src/NewButton/button-counter.tsx +0 -15
  812. package/src/NewButton/button.tsx +0 -283
  813. package/src/NewButton/index.ts +0 -10
  814. package/src/NewButton/types.ts +0 -36
  815. package/src/Overlay.tsx +0 -203
  816. package/src/Pagehead.tsx +0 -16
  817. package/src/Pagination/Pagination.tsx +0 -212
  818. package/src/Pagination/index.ts +0 -4
  819. package/src/Pagination/model.tsx +0 -187
  820. package/src/PointerBox.tsx +0 -31
  821. package/src/Popover.tsx +0 -225
  822. package/src/Portal/Portal.tsx +0 -97
  823. package/src/Portal/index.ts +0 -5
  824. package/src/Position.tsx +0 -63
  825. package/src/ProgressBar.tsx +0 -53
  826. package/src/SelectMenu/SelectMenu.tsx +0 -123
  827. package/src/SelectMenu/SelectMenuContext.tsx +0 -9
  828. package/src/SelectMenu/SelectMenuDivider.tsx +0 -24
  829. package/src/SelectMenu/SelectMenuFilter.tsx +0 -50
  830. package/src/SelectMenu/SelectMenuFooter.tsx +0 -27
  831. package/src/SelectMenu/SelectMenuHeader.tsx +0 -48
  832. package/src/SelectMenu/SelectMenuItem.tsx +0 -136
  833. package/src/SelectMenu/SelectMenuList.tsx +0 -41
  834. package/src/SelectMenu/SelectMenuLoadingAnimation.tsx +0 -25
  835. package/src/SelectMenu/SelectMenuModal.tsx +0 -119
  836. package/src/SelectMenu/SelectMenuTab.tsx +0 -87
  837. package/src/SelectMenu/SelectMenuTabPanel.tsx +0 -29
  838. package/src/SelectMenu/SelectMenuTabs.tsx +0 -43
  839. package/src/SelectMenu/hooks/useKeyboardNav.js +0 -90
  840. package/src/SelectMenu/index.ts +0 -15
  841. package/src/SelectPanel/SelectPanel.tsx +0 -173
  842. package/src/SelectPanel/index.ts +0 -2
  843. package/src/SideNav.tsx +0 -191
  844. package/src/Spinner.tsx +0 -57
  845. package/src/StateLabel.tsx +0 -112
  846. package/src/StyledOcticon.tsx +0 -22
  847. package/src/SubNav.tsx +0 -124
  848. package/src/TabNav.tsx +0 -73
  849. package/src/Text.tsx +0 -13
  850. package/src/TextInput.tsx +0 -68
  851. package/src/TextInputWithTokens.tsx +0 -351
  852. package/src/ThemeProvider.tsx +0 -176
  853. package/src/Timeline.tsx +0 -140
  854. package/src/Token/AvatarToken.tsx +0 -54
  855. package/src/Token/IssueLabelToken.tsx +0 -150
  856. package/src/Token/Token.tsx +0 -126
  857. package/src/Token/TokenBase.tsx +0 -129
  858. package/src/Token/_RemoveTokenButton.tsx +0 -111
  859. package/src/Token/_TokenTextContainer.tsx +0 -47
  860. package/src/Token/index.ts +0 -3
  861. package/src/Tooltip.tsx +0 -263
  862. package/src/Truncate.tsx +0 -31
  863. package/src/UnderlineNav.tsx +0 -107
  864. package/src/_TextInputWrapper.tsx +0 -113
  865. package/src/_UnstyledTextInput.tsx +0 -19
  866. package/src/__tests__/.eslintrc.json +0 -11
  867. package/src/__tests__/ActionList.test.tsx +0 -53
  868. package/src/__tests__/ActionList.types.test.tsx +0 -51
  869. package/src/__tests__/ActionList2.test.tsx +0 -156
  870. package/src/__tests__/ActionMenu.test.tsx +0 -136
  871. package/src/__tests__/AnchoredOverlay.test.tsx +0 -150
  872. package/src/__tests__/Autocomplete.test.tsx +0 -444
  873. package/src/__tests__/Avatar.test.tsx +0 -44
  874. package/src/__tests__/Avatar.types.test.tsx +0 -11
  875. package/src/__tests__/AvatarStack.test.tsx +0 -48
  876. package/src/__tests__/BorderBox.test.tsx +0 -43
  877. package/src/__tests__/Box.test.tsx +0 -42
  878. package/src/__tests__/BranchName.test.tsx +0 -26
  879. package/src/__tests__/BranchName.types.test.tsx +0 -11
  880. package/src/__tests__/Breadcrumbs.test.tsx +0 -27
  881. package/src/__tests__/Breadcrumbs.types.test.tsx +0 -22
  882. package/src/__tests__/BreadcrumbsItem.test.tsx +0 -31
  883. package/src/__tests__/Button.test.tsx +0 -128
  884. package/src/__tests__/Caret.test.tsx +0 -36
  885. package/src/__tests__/Checkbox.test.tsx +0 -155
  886. package/src/__tests__/CircleBadge.test.tsx +0 -66
  887. package/src/__tests__/CircleBadge.types.test.tsx +0 -11
  888. package/src/__tests__/CircleOcticon.test.tsx +0 -50
  889. package/src/__tests__/ConfirmationDialog.test.tsx +0 -120
  890. package/src/__tests__/CounterLabel.test.tsx +0 -50
  891. package/src/__tests__/CounterLabel.types.test.tsx +0 -11
  892. package/src/__tests__/Details.test.tsx +0 -115
  893. package/src/__tests__/Details.types.test.tsx +0 -11
  894. package/src/__tests__/Dialog.test.tsx +0 -155
  895. package/src/__tests__/Dialog.types.test.tsx +0 -11
  896. package/src/__tests__/Dialog2.types.test.tsx +0 -11
  897. package/src/__tests__/Dropdown.test.tsx +0 -53
  898. package/src/__tests__/Dropdown.types.test.tsx +0 -21
  899. package/src/__tests__/DropdownMenu.test.tsx +0 -136
  900. package/src/__tests__/FilterList.test.tsx +0 -26
  901. package/src/__tests__/FilterList.types.test.tsx +0 -17
  902. package/src/__tests__/FilterListItem.test.tsx +0 -31
  903. package/src/__tests__/FilteredSearch.test.tsx +0 -26
  904. package/src/__tests__/FilteredSearch.types.test.tsx +0 -11
  905. package/src/__tests__/Flash.test.tsx +0 -45
  906. package/src/__tests__/Flash.types.test.tsx +0 -11
  907. package/src/__tests__/Flex.test.tsx +0 -58
  908. package/src/__tests__/FormGroup.test.tsx +0 -38
  909. package/src/__tests__/FormGroup.types.test.tsx +0 -11
  910. package/src/__tests__/Grid.test.tsx +0 -82
  911. package/src/__tests__/Header.test.tsx +0 -49
  912. package/src/__tests__/Header.types.test.tsx +0 -19
  913. package/src/__tests__/Heading.test.tsx +0 -137
  914. package/src/__tests__/Heading.types.test.tsx +0 -11
  915. package/src/__tests__/KeyPaths.types.test.ts +0 -14
  916. package/src/__tests__/Label.test.tsx +0 -34
  917. package/src/__tests__/Label.types.test.tsx +0 -11
  918. package/src/__tests__/LabelGroup.test.tsx +0 -30
  919. package/src/__tests__/LabelGroup.types.test.tsx +0 -11
  920. package/src/__tests__/Link.test.tsx +0 -47
  921. package/src/__tests__/Link.types.test.tsx +0 -11
  922. package/src/__tests__/Merge.types.test.ts +0 -39
  923. package/src/__tests__/NewButton.test.tsx +0 -70
  924. package/src/__tests__/Overlay.test.tsx +0 -103
  925. package/src/__tests__/Overlay.types.test.tsx +0 -33
  926. package/src/__tests__/Pagehead.test.tsx +0 -23
  927. package/src/__tests__/Pagehead.types.test.tsx +0 -11
  928. package/src/__tests__/Pagination/Pagination.test.tsx +0 -30
  929. package/src/__tests__/Pagination/PaginationModel.test.tsx +0 -133
  930. package/src/__tests__/Pagination/__snapshots__/Pagination.test.tsx.snap +0 -184
  931. package/src/__tests__/Pagination.types.test.tsx +0 -11
  932. package/src/__tests__/PointerBox.test.tsx +0 -34
  933. package/src/__tests__/Popover.test.tsx +0 -68
  934. package/src/__tests__/Popover.types.test.tsx +0 -17
  935. package/src/__tests__/Portal.test.tsx +0 -103
  936. package/src/__tests__/Position.test.tsx +0 -117
  937. package/src/__tests__/ProgressBar.test.tsx +0 -40
  938. package/src/__tests__/SelectMenu.test.tsx +0 -142
  939. package/src/__tests__/SelectMenu.types.test.tsx +0 -37
  940. package/src/__tests__/SelectPanel.test.tsx +0 -63
  941. package/src/__tests__/SelectPanel.types.test.tsx +0 -31
  942. package/src/__tests__/SideNav.test.tsx +0 -62
  943. package/src/__tests__/SideNav.types.test.tsx +0 -11
  944. package/src/__tests__/Spinner.test.tsx +0 -42
  945. package/src/__tests__/StateLabel.test.tsx +0 -48
  946. package/src/__tests__/StateLabel.types.test.tsx +0 -11
  947. package/src/__tests__/StyledOcticon.test.tsx +0 -26
  948. package/src/__tests__/StyledOcticon.types.test.tsx +0 -12
  949. package/src/__tests__/SubNav.test.tsx +0 -50
  950. package/src/__tests__/SubNav.types.test.tsx +0 -25
  951. package/src/__tests__/SubNavLink.test.tsx +0 -31
  952. package/src/__tests__/TabNav.test.tsx +0 -32
  953. package/src/__tests__/TabNav.types.test.tsx +0 -22
  954. package/src/__tests__/Text.test.tsx +0 -78
  955. package/src/__tests__/TextInput.test.tsx +0 -49
  956. package/src/__tests__/TextInputWithTokens.test.tsx +0 -422
  957. package/src/__tests__/ThemeProvider.test.tsx +0 -441
  958. package/src/__tests__/Timeline.test.tsx +0 -58
  959. package/src/__tests__/Timeline.types.test.tsx +0 -31
  960. package/src/__tests__/Token.test.tsx +0 -118
  961. package/src/__tests__/Tooltip.test.tsx +0 -52
  962. package/src/__tests__/Tooltip.types.test.tsx +0 -11
  963. package/src/__tests__/Truncate.test.tsx +0 -43
  964. package/src/__tests__/Truncate.types.test.tsx +0 -11
  965. package/src/__tests__/UnderlineNav.test.tsx +0 -58
  966. package/src/__tests__/UnderlineNav.types.test.tsx +0 -22
  967. package/src/__tests__/UnderlineNavLink.test.tsx +0 -31
  968. package/src/__tests__/__snapshots__/ActionList.test.tsx.snap +0 -223
  969. package/src/__tests__/__snapshots__/ActionList2.test.tsx.snap +0 -14
  970. package/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap +0 -80
  971. package/src/__tests__/__snapshots__/AnchoredOverlay.test.tsx.snap +0 -232
  972. package/src/__tests__/__snapshots__/Autocomplete.test.tsx.snap +0 -3901
  973. package/src/__tests__/__snapshots__/Avatar.test.tsx.snap +0 -19
  974. package/src/__tests__/__snapshots__/AvatarStack.test.tsx.snap +0 -377
  975. package/src/__tests__/__snapshots__/BorderBox.test.tsx.snap +0 -14
  976. package/src/__tests__/__snapshots__/Box.test.tsx.snap +0 -201
  977. package/src/__tests__/__snapshots__/BranchName.test.tsx.snap +0 -17
  978. package/src/__tests__/__snapshots__/Breadcrumbs.test.tsx.snap +0 -29
  979. package/src/__tests__/__snapshots__/BreadcrumbsItem.test.tsx.snap +0 -79
  980. package/src/__tests__/__snapshots__/Button.test.tsx.snap +0 -840
  981. package/src/__tests__/__snapshots__/Caret.test.tsx.snap +0 -373
  982. package/src/__tests__/__snapshots__/Checkbox.test.tsx.snap +0 -16
  983. package/src/__tests__/__snapshots__/CircleBadge.test.tsx.snap +0 -142
  984. package/src/__tests__/__snapshots__/CircleOcticon.test.tsx.snap +0 -65
  985. package/src/__tests__/__snapshots__/ConfirmationDialog.test.tsx.snap +0 -89
  986. package/src/__tests__/__snapshots__/CounterLabel.test.tsx.snap +0 -22
  987. package/src/__tests__/__snapshots__/Details.test.tsx.snap +0 -15
  988. package/src/__tests__/__snapshots__/Dialog.test.tsx.snap +0 -201
  989. package/src/__tests__/__snapshots__/Dropdown.test.tsx.snap +0 -249
  990. package/src/__tests__/__snapshots__/DropdownMenu.test.tsx.snap +0 -107
  991. package/src/__tests__/__snapshots__/FilterList.test.tsx.snap +0 -13
  992. package/src/__tests__/__snapshots__/FilterListItem.test.tsx.snap +0 -80
  993. package/src/__tests__/__snapshots__/FilteredSearch.test.tsx.snap +0 -32
  994. package/src/__tests__/__snapshots__/Flash.test.tsx.snap +0 -32
  995. package/src/__tests__/__snapshots__/Flex.test.tsx.snap +0 -130
  996. package/src/__tests__/__snapshots__/FormGroup.test.tsx.snap +0 -25
  997. package/src/__tests__/__snapshots__/Grid.test.tsx.snap +0 -178
  998. package/src/__tests__/__snapshots__/Header.test.tsx.snap +0 -79
  999. package/src/__tests__/__snapshots__/Heading.test.tsx.snap +0 -13
  1000. package/src/__tests__/__snapshots__/Label.test.tsx.snap +0 -73
  1001. package/src/__tests__/__snapshots__/LabelGroup.test.tsx.snap +0 -15
  1002. package/src/__tests__/__snapshots__/Link.test.tsx.snap +0 -212
  1003. package/src/__tests__/__snapshots__/NewButton.test.tsx.snap +0 -305
  1004. package/src/__tests__/__snapshots__/Pagehead.test.tsx.snap +0 -15
  1005. package/src/__tests__/__snapshots__/PointerBox.test.tsx.snap +0 -174
  1006. package/src/__tests__/__snapshots__/Popover.test.tsx.snap +0 -4687
  1007. package/src/__tests__/__snapshots__/Position.test.tsx.snap +0 -44
  1008. package/src/__tests__/__snapshots__/ProgressBar.test.tsx.snap +0 -53
  1009. package/src/__tests__/__snapshots__/SelectMenu.test.tsx.snap +0 -473
  1010. package/src/__tests__/__snapshots__/SelectPanel.test.tsx.snap +0 -124
  1011. package/src/__tests__/__snapshots__/SideNav.test.tsx.snap +0 -143
  1012. package/src/__tests__/__snapshots__/Spinner.test.tsx.snap +0 -33
  1013. package/src/__tests__/__snapshots__/StateLabel.test.tsx.snap +0 -395
  1014. package/src/__tests__/__snapshots__/StyledOcticon.test.tsx.snap +0 -26
  1015. package/src/__tests__/__snapshots__/SubNav.test.tsx.snap +0 -44
  1016. package/src/__tests__/__snapshots__/SubNavLink.test.tsx.snap +0 -199
  1017. package/src/__tests__/__snapshots__/TabNav.test.tsx.snap +0 -58
  1018. package/src/__tests__/__snapshots__/Text.test.tsx.snap +0 -7
  1019. package/src/__tests__/__snapshots__/TextInput.test.tsx.snap +0 -446
  1020. package/src/__tests__/__snapshots__/TextInputWithTokens.test.tsx.snap +0 -6045
  1021. package/src/__tests__/__snapshots__/ThemeProvider.test.tsx.snap +0 -15
  1022. package/src/__tests__/__snapshots__/Timeline.test.tsx.snap +0 -159
  1023. package/src/__tests__/__snapshots__/Token.test.tsx.snap +0 -3811
  1024. package/src/__tests__/__snapshots__/Tooltip.test.tsx.snap +0 -227
  1025. package/src/__tests__/__snapshots__/Truncate.test.tsx.snap +0 -17
  1026. package/src/__tests__/__snapshots__/UnderlineNav.test.tsx.snap +0 -59
  1027. package/src/__tests__/__snapshots__/UnderlineNavLink.test.tsx.snap +0 -130
  1028. package/src/__tests__/__snapshots__/themePreval.test.ts.snap +0 -3176
  1029. package/src/__tests__/behaviors/anchoredPosition.test.ts +0 -295
  1030. package/src/__tests__/behaviors/focusTrap.test.tsx +0 -236
  1031. package/src/__tests__/behaviors/focusZone.test.tsx +0 -549
  1032. package/src/__tests__/behaviors/iterateFocusableElements.test.tsx +0 -61
  1033. package/src/__tests__/behaviors/scrollIntoViewingArea.test.ts +0 -195
  1034. package/src/__tests__/filterObject.test.ts +0 -54
  1035. package/src/__tests__/hooks/useAnchoredPosition.test.tsx +0 -31
  1036. package/src/__tests__/hooks/useOnEscapePress.test.tsx +0 -16
  1037. package/src/__tests__/hooks/useOnOutsideClick.test.tsx +0 -48
  1038. package/src/__tests__/hooks/useOpenAndCloseFocus.test.tsx +0 -48
  1039. package/src/__tests__/hooks/useProvidedStateOrCreate.test.tsx +0 -39
  1040. package/src/__tests__/theme.test.ts +0 -41
  1041. package/src/__tests__/themeGet.test.ts +0 -15
  1042. package/src/__tests__/themePreval.test.ts +0 -8
  1043. package/src/__tests__/useSafeTimeout.test.tsx +0 -36
  1044. package/src/__tests__/utils/__snapshots__/createSlots.test.tsx.snap +0 -55
  1045. package/src/__tests__/utils/createSlots.test.tsx +0 -74
  1046. package/src/behaviors/anchoredPosition.ts +0 -442
  1047. package/src/behaviors/focusTrap.ts +0 -184
  1048. package/src/behaviors/focusZone.ts +0 -713
  1049. package/src/behaviors/scrollIntoViewingArea.ts +0 -27
  1050. package/src/constants.ts +0 -62
  1051. package/src/drafts.ts +0 -11
  1052. package/src/hooks/index.ts +0 -11
  1053. package/src/hooks/useAnchoredPosition.ts +0 -54
  1054. package/src/hooks/useCombinedRefs.ts +0 -40
  1055. package/src/hooks/useDetails.tsx +0 -54
  1056. package/src/hooks/useDialog.ts +0 -121
  1057. package/src/hooks/useFocusTrap.ts +0 -80
  1058. package/src/hooks/useFocusZone.ts +0 -64
  1059. package/src/hooks/useOnEscapePress.ts +0 -63
  1060. package/src/hooks/useOnOutsideClick.tsx +0 -82
  1061. package/src/hooks/useOpenAndCloseFocus.ts +0 -32
  1062. package/src/hooks/useOverlay.tsx +0 -34
  1063. package/src/hooks/useProvidedRefOrCreate.ts +0 -14
  1064. package/src/hooks/useProvidedStateOrCreate.ts +0 -27
  1065. package/src/hooks/useRenderForcingRef.ts +0 -22
  1066. package/src/hooks/useResizeObserver.ts +0 -11
  1067. package/src/hooks/useSafeTimeout.ts +0 -38
  1068. package/src/hooks/useScrollFlash.ts +0 -21
  1069. package/src/index.ts +0 -175
  1070. package/src/polyfills/eventListenerSignal.ts +0 -66
  1071. package/src/stories/ActionList.stories.tsx +0 -436
  1072. package/src/stories/ActionList2.stories.tsx +0 -1305
  1073. package/src/stories/ActionMenu.stories.tsx +0 -331
  1074. package/src/stories/ActionMenu2.stories.tsx +0 -551
  1075. package/src/stories/AnchoredOverlay.stories.tsx +0 -117
  1076. package/src/stories/Autocomplete.stories.tsx +0 -655
  1077. package/src/stories/AvatarStack.stories.tsx +0 -37
  1078. package/src/stories/Button.stories.tsx +0 -92
  1079. package/src/stories/Checkbox.stories.tsx +0 -164
  1080. package/src/stories/ConfirmationDialog.stories.tsx +0 -105
  1081. package/src/stories/Dialog.stories.tsx +0 -240
  1082. package/src/stories/DropdownMenu.stories.tsx +0 -84
  1083. package/src/stories/IssueLabelToken.stories.tsx +0 -138
  1084. package/src/stories/NewButton.stories.tsx +0 -201
  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/TextInput.stories.tsx +0 -113
  1090. package/src/stories/TextInputWithTokens.stories.tsx +0 -155
  1091. package/src/stories/ThemeProvider.stories.tsx +0 -104
  1092. package/src/stories/Token.stories.tsx +0 -137
  1093. package/src/stories/useAnchoredPosition.stories.tsx +0 -332
  1094. package/src/stories/useFocusTrap.stories.tsx +0 -400
  1095. package/src/stories/useFocusZone.stories.tsx +0 -663
  1096. package/src/sx.ts +0 -24
  1097. package/src/theme-preval.js +0 -80
  1098. package/src/theme.ts +0 -89
  1099. package/src/utils/create-slots.tsx +0 -96
  1100. package/src/utils/deprecate.tsx +0 -73
  1101. package/src/utils/isNumeric.tsx +0 -4
  1102. package/src/utils/iterateFocusableElements.ts +0 -121
  1103. package/src/utils/ssr.tsx +0 -1
  1104. package/src/utils/test-deprecations.tsx +0 -19
  1105. package/src/utils/test-helpers.tsx +0 -7
  1106. package/src/utils/test-matchers.tsx +0 -109
  1107. package/src/utils/testing.tsx +0 -264
  1108. package/src/utils/theme.js +0 -64
  1109. package/src/utils/types/AriaRole.ts +0 -71
  1110. package/src/utils/types/ComponentProps.ts +0 -13
  1111. package/src/utils/types/Flatten.ts +0 -4
  1112. package/src/utils/types/KeyPaths.ts +0 -10
  1113. package/src/utils/types/MandateProps.ts +0 -19
  1114. package/src/utils/types/Merge.ts +0 -20
  1115. package/src/utils/types/index.ts +0 -5
  1116. package/src/utils/uniqueId.ts +0 -6
  1117. package/src/utils/use-force-update.ts +0 -7
  1118. package/src/utils/useIsomorphicLayoutEffect.ts +0 -10
  1119. package/src/utils/userAgent.ts +0 -7
  1120. package/stats.html +0 -3279
  1121. package/tsconfig.build.json +0 -7
  1122. package/tsconfig.json +0 -20
package/CODEOWNERS DELETED
@@ -1,2 +0,0 @@
1
- # All changes should be reviewed by a member of the @react-reviewers team
2
- * @primer/react-reviewers
package/babel-defines.js DELETED
@@ -1,13 +0,0 @@
1
- const shared = {
2
- __DEV__: "process.env.NODE_ENV !== 'production'"
3
- }
4
-
5
- module.exports = {
6
- development: shared,
7
- test: shared,
8
- production: {
9
- ...shared,
10
- __DEV__: 'false',
11
- 'process.env.NODE_ENV': "'production'"
12
- }
13
- }
package/babel.config.js DELETED
@@ -1,39 +0,0 @@
1
- const defines = require('./babel-defines')
2
-
3
- function replacementPlugin(env) {
4
- return ['babel-plugin-transform-replace-expressions', {replace: defines[env]}]
5
- }
6
-
7
- const sharedPlugins = [
8
- 'macros',
9
- 'preval',
10
- 'add-react-displayname',
11
- 'babel-plugin-styled-components',
12
- '@babel/plugin-proposal-nullish-coalescing-operator',
13
- '@babel/plugin-proposal-optional-chaining'
14
- ]
15
-
16
- function makePresets(moduleValue) {
17
- return ['@babel/preset-typescript', ['@babel/preset-react', {modules: moduleValue}]]
18
- }
19
-
20
- module.exports = {
21
- env: {
22
- development: {
23
- presets: makePresets(process.env.BABEL_MODULE || false),
24
- plugins: [
25
- ...(process.env.BABEL_MODULE === 'commonjs' ? ['@babel/plugin-transform-modules-commonjs'] : []),
26
- ...sharedPlugins,
27
- replacementPlugin('development')
28
- ]
29
- },
30
- production: {
31
- presets: makePresets(false),
32
- plugins: [...sharedPlugins, replacementPlugin('production')]
33
- },
34
- test: {
35
- presets: makePresets('commonjs'),
36
- plugins: [...sharedPlugins, ['@babel/plugin-transform-modules-commonjs'], replacementPlugin('test')]
37
- }
38
- }
39
- }
@@ -1,76 +0,0 @@
1
- # Contributor Covenant Code of Conduct
2
-
3
- ## Our Pledge
4
-
5
- In the interest of fostering an open and welcoming environment, we as
6
- contributors and maintainers pledge to making participation in our project and
7
- our community a harassment-free experience for everyone, regardless of age, body
8
- size, disability, ethnicity, sex characteristics, gender identity and expression,
9
- level of experience, education, socio-economic status, nationality, personal
10
- appearance, race, religion, or sexual identity and orientation.
11
-
12
- ## Our Standards
13
-
14
- Examples of behavior that contributes to creating a positive environment
15
- include:
16
-
17
- * Using welcoming and inclusive language
18
- * Being respectful of differing viewpoints and experiences
19
- * Gracefully accepting constructive criticism
20
- * Focusing on what is best for the community
21
- * Showing empathy towards other community members
22
-
23
- Examples of unacceptable behavior by participants include:
24
-
25
- * The use of sexualized language or imagery and unwelcome sexual attention or
26
- advances
27
- * Trolling, insulting/derogatory comments, and personal or political attacks
28
- * Public or private harassment
29
- * Publishing others' private information, such as a physical or electronic
30
- address, without explicit permission
31
- * Other conduct which could reasonably be considered inappropriate in a
32
- professional setting
33
-
34
- ## Our Responsibilities
35
-
36
- Project maintainers are responsible for clarifying the standards of acceptable
37
- behavior and are expected to take appropriate and fair corrective action in
38
- response to any instances of unacceptable behavior.
39
-
40
- Project maintainers have the right and responsibility to remove, edit, or
41
- reject comments, commits, code, wiki edits, issues, and other contributions
42
- that are not aligned to this Code of Conduct, or to ban temporarily or
43
- permanently any contributor for other behaviors that they deem inappropriate,
44
- threatening, offensive, or harmful.
45
-
46
- ## Scope
47
-
48
- This Code of Conduct applies both within project spaces and in public spaces
49
- when an individual is representing the project or its community. Examples of
50
- representing a project or community include using an official project e-mail
51
- address, posting via an official social media account, or acting as an appointed
52
- representative at an online or offline event. Representation of a project may be
53
- further defined and clarified by project maintainers.
54
-
55
- ## Enforcement
56
-
57
- Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
- reported by contacting the project team at design-systems@github.com. All
59
- complaints will be reviewed and investigated and will result in a response that
60
- is deemed necessary and appropriate to the circumstances. The project team is
61
- obligated to maintain confidentiality with regard to the reporter of an incident.
62
- Further details of specific enforcement policies may be posted separately.
63
-
64
- Project maintainers who do not follow or enforce the Code of Conduct in good
65
- faith may face temporary or permanent repercussions as determined by other
66
- members of the project's leadership.
67
-
68
- ## Attribution
69
-
70
- This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
- available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72
-
73
- [homepage]: https://www.contributor-covenant.org
74
-
75
- For answers to common questions about this code of conduct, see
76
- https://www.contributor-covenant.org/faq
@@ -1,230 +0,0 @@
1
- # Contribution guidelines
2
-
3
- 1. [Roadmap](#roadmap)
4
- 2. [Before Getting Started](#before-getting-started)
5
- 3. [Discussing non-public features or products](#discussing-non-public-features-or-products)
6
- 4. [Developing Components](#developing-components)
7
- - [Tools we use](#tools-we-use)
8
- - [Component patterns](#component-patterns)
9
- - [Adding system props](#adding-system-props)
10
- - [Adding the sx prop](#adding-the-sx-prop)
11
- - [Linting](#linting)
12
- - [Testing](#testing)
13
- - [TypeScript support](#typescript-support)
14
- - [Additional resources](#additional-resources)
15
- 5. [Writing documentation](#writing-documentation)
16
- 6. [Creating a pull request](#creating-a-pull-request)
17
- - [What to expect after opening a pull request](#what-to-expect-after-opening-a-pull-request)
18
- - [What we look for in reviews](#what-we-look-for-in-reviews)
19
- 7. [Deploying & publishing](#deploying-and-publishing)
20
- - [Deploying](#deploying)
21
- - [Path aliasing](#path-aliasing)
22
- - [Publishing](#publishing)
23
- 8. [Troubleshooting](#troubleshooting)
24
- 9. [Glossary](#glossary)
25
- - [System Props](#system-props)
26
-
27
- ## Roadmap
28
-
29
- If you're looking for something to work on, a great place to start is our issues labeled [up for grabs](https://github.com/primer/react/issues?q=is%3Aopen+is%3Aissue+label%3A%22up+for+grabs%22)! If you've got a feature that you'd like to implement, be sure to check out our [Primer Components Roadmap](https://github.com/primer/react/projects/3) to make sure it hasn't already been started on.
30
-
31
- ## Before Getting Started
32
-
33
- A common question asked about Primer Components is how to know what should be added to Primer Components and what is best left as a local component in a consuming application. Though there are no hard & fast rules about what can and cannot be added to Primer Components, here are a few things we take into consideration:
34
-
35
- - Is the new feature an existing pattern in Primer CSS or related to UI built at GitHub? Primer Components is first and foremost a library for building UI at GitHub - patterns that aren't currently being used in GitHub UI (either on github.com or in a GitHub owned project outside of github.com) probably shouldn't be added to Primer Components. Exceptions to this could be helper components that don't necessarily render UI but help with the development process (like `Flex`, `Grid`, or `Box`).
36
-
37
- - Does the proposed component get used in more than one or two places across GitHub UI? A component that's only meant to be used in one place and doesn't have potential to be reused in many places probably should exist as a local component. An example of something like this might be a component that renders content specific to a single GitHub product.
38
-
39
- **In general, we tend to be pretty excited about 99% of feature proposals and contributions!** If you would like to get started with a component proposal, open an issue using the [component proposal template](https://github.com/primer/react/issues/new?template=new-component-proposal.md).
40
-
41
- ## Discussing non-public features or products
42
-
43
- As this is a public repo, please be careful not to include details or screenshots from unreleased GitHub products or features. In most cases, a good bug report, feature request, or pull request should be able to describe the work without including business logic or feature details, but if you must discuss context relating to an unreleased feature, please open an issue in the private [Design Systems repo](https://github.com/github/design-systems/issues/new/choose) and link to it in your issue or pull request.
44
-
45
- ## Developing components
46
-
47
- We primarily use our documentation site as a workspace to develop new components or make changes to existing components (stay tuned for a better development environment coming soon!).
48
-
49
- Before running the documentation site locally, you'll need to install packages in the root and `docs` directories:
50
-
51
- ```sh
52
- npm install && cd docs && npm install
53
- ```
54
-
55
- Then navigate back to the root folder and run the following to start up the site:
56
-
57
- ```sh
58
- npm start
59
- ```
60
-
61
- Navigate to http://localhost:8000/ to see the site in your browser ✨
62
-
63
- ### Tools we use
64
-
65
- 1. We use [styled-components](https://www.styled-components.com/) to style our components.
66
- 2. We use style functions from [styled-system](https://styled-system.com/) whenever possible, and styled-systems' `style()` function to create new ones.
67
-
68
- ### Component patterns
69
-
70
- With a couple of exceptions, all components should be created with the `styled` function from [styled-components] and should have the appropriate groups of system props attached.
71
-
72
- Default values for system props can be set in `Component.defaultProps`.
73
-
74
- ⚠️ **Do not set the default `theme` prop! This can sometimes override the theme provided by the ThemeProvider and cause unexpected theming issues.**
75
-
76
- Additionally, every component should support [the `sx` prop](https://primer.style/components/overriding-styles); remember to add `${sx}` to the style literal.
77
-
78
- Here's an example of a basic component written in the style of Primer Components:
79
-
80
- ```tsx
81
- import sx, {SxProp} from './sx'
82
-
83
- const Component = styled.div<SxProp>`
84
- // additional styles here
85
-
86
- ${sx};
87
- `
88
-
89
- Component.defaultProps = {
90
- m: 0,
91
- fontSize: 5
92
- }
93
-
94
- export default Component
95
- ```
96
-
97
- ### Adding the `sx` prop
98
-
99
- Each component should accept a prop called `sx` that allows for setting theme-aware ad-hoc styles. See the [overriding styles](https://primer.style/components/overriding-styles) doc for more information on using the prop.
100
-
101
- To add the `sx` prop to your component: import the default export from the `sx` module, add it to your style definition, and add the appropriate prop types. **The `sx` prop should go at the _very end_ of your style definition.**
102
-
103
- ```tsx
104
- import sx, {SxProp} from './sx'
105
-
106
- const Component = styled.div<SxProp>`
107
- // additional styles here
108
-
109
- ${sx};
110
- `
111
- ```
112
-
113
- ### Linting
114
-
115
- We use the [React configuration](https://github.com/github/eslint-plugin-github/blob/master/lib/configs/react.js) from [GitHub's eslint plugin](https://github.com/github/eslint-plugin-github) to lint our JavaScript. To check your work before pushing, run:
116
-
117
- ```sh
118
- npm run lint
119
- ```
120
-
121
- Or, you can use [npx] to run eslint on one or more specific files:
122
-
123
- ```sh
124
- # lint the component and the tests in src/__tests__
125
- npx eslint src/**/MyComponent.js
126
- ```
127
-
128
- **Protip:** The [eslint `--fix` flag](https://eslint.org/docs/user-guide/command-line-interface#--fix) can automatically fix most linting errors, such as those involving whitespace or incorrect ordering of object keys and imports. You can fix those issues across the entire project with:
129
-
130
- ```sh
131
- npm run lint -- --fix
132
- ```
133
-
134
- **Protip:** `npm run lint -- --quiet` (or `npx eslint --quiet ...`) will suppress warnings so that you can focus on fixing errors.
135
-
136
- ### Testing
137
-
138
- We test our components with [Jest](https://facebook.github.io/jest/) and [react-test-renderer](https://reactjs.org/docs/test-renderer.html). You can run the tests locally with `npm test`. To run the tests as you work, run Jest in watch mode with:
139
-
140
- ```sh
141
- npm test -- --watch
142
- ```
143
-
144
- See [`src/__tests__/example.js`](src/__tests__/example.js) for examples of ways that we test our components.
145
-
146
- ### TypeScript support
147
-
148
- Primer React is written in TypeScript. We include type definitions in our built artifacts. To check types, run the `typecheck` script:
149
-
150
- ```
151
- npm run typecheck
152
- ```
153
-
154
- ### Additional resources
155
-
156
- - [Primer Components Philosophy](https://primer.style/components/philosophy)
157
- - [Primer Components Core Concepts](https://primer.style/components/core-concepts)
158
- - [Styled Components docs](https://styled-components.com/)
159
- - [Styled System docs](https://styled-system.com/)
160
-
161
- ## Writing documentation
162
-
163
- We use [Doctocat](https://github.com/primer/doctocat) to power our documentation site at [https://primer.style/components](https://primer.style/components/).
164
-
165
- To add a new component to our documentation site, create a new file with the `.md` extension for your component in `docs/content` (e.g. `docs/content/Button.md`).
166
-
167
- ## Creating a pull request
168
-
169
- When creating a new pull request, please follow the guidelines in the auto-populated pull request template. Be sure to add screenshots of any relevant work and a thoughtful description.
170
-
171
- ### What to expect after opening a pull request
172
-
173
- After opening a pull request, a member of the design systems team will add the appropriate labels (major, minor, patch release labels) and update the base branch to the correct release branch. Usually, you'll receive a response from the design systems team within a day or two. The design systems team member will review the pull request keeping the following items in mind:
174
-
175
- ### What we look for in reviews
176
-
177
- - If it's a new component, does the component make sense to add to Primer Components? (Ideally this is discussed before the pull request stage, please reach out to a DS member if you aren't sure if a component should be added to Primer Components!)
178
- - Does the component follow our [Primer Components code style](#component-patterns)?
179
- - Does the component use theme values for most CSS values?
180
- - Is the component API intuitive?
181
- - Does the component have the appropriate [type definitions in `index.d.ts`](#typescript-support)?
182
- - Is the component documented accurately?
183
- - Does the component have appropriate tests?
184
- - Does the pull request increase the bundle size significantly?
185
-
186
- If everything looks great, the design systems team member will approve the pull request and merge when appropriate. Minor and patch changes are released frequently, and we try to bundle up breaking changes and avoid shipping major versions too often. If your pull request is time-sensitive, please let a design systems team member know. You do not need to worry about merging pull requests on your own, we'll take care of that for you :)
187
-
188
- ## Deploying and publishing
189
-
190
- ### Deploying
191
-
192
- All of our documentation sites use the [Now integration](https://github.com/organizations/primer/settings/installations/1007619) to deploy documentation changes whenever code is merged into main. The integration also creates a preview site every time you commit code to a branch. To view the preview site, navigate to the PR and find the comment from the `now` bot. This will include a link to the preview site for your branch.
193
-
194
- Once you merge your branch into main, any changes to the docs will automatically deploy. No further action is necessary.
195
-
196
- ### Path aliasing
197
-
198
- This site is served as a subdirectory of [primer.style] using a [path alias](https://zeit.co/docs/features/path-aliases) configured in that repo's [`rules.json`](https://github.com/primer/primer.style/tree/master/rules.json). If you change the production deployment URL for this app, you will also need to change it there and re-deploy that app; otherwise, Now will automatically route requests from [primer.style/components](https://primer.style/components/) to the new deployment whenever you alias this one to `primer-components.now.sh`.
199
-
200
- ### Publishing
201
-
202
- We use [changesets](https://github.com/atlassian/changesets) to managing versioning, publishing, and release notes. Here's how it works:
203
-
204
- #### Using changesets to prepare and publish a release
205
-
206
- 1. When creating a new PR, changeset-bot will remind you to add a changeset if your change should trigger a new version number for the package.
207
- 2. To create a new changeset on your local machine, run `npx changeset` and answer the prompts. If you are introducing multiple features in the PR, add a separate changeset for each.
208
- 3. Push your new changes along with the changeset file to your PR; changeset-bot will show that there are valid changesets in the PR.
209
- 4. When the PR is ready, merge it to the main branch.
210
- 5. The changeset action will automatically create a new PR that bumps the version number appropriately, creates or updates `CHANGELOG.md`, and shows the release notes that will be used in the GitHub Release notes.
211
- 6. If you want to release more features, merge them into the main branch and changesets will update the release PR. Note that it does this via force-pushing, so you should not edit the release PR yourself.
212
- 7. When you're ready to release, merge the release PR into the main branch and changesets will publish the new version to npm and create a GitHub Release.
213
-
214
- ## Troubleshooting
215
-
216
- **`npm start` fails with an error like `gatsby: command not found`**
217
-
218
- Make sure to run `npm install` from inside the `docs/` subfolder _as well as_ the root folder.
219
-
220
- **`npm start` fails with a different error**
221
-
222
- Ensure you are using the latest minor of Node.js for the major version specified in the `.nvmrc` file. For example, if `.nvmrc` contains `8`, make sure you're using the latest version of Node.js with the major version of 8.
223
-
224
- [classnames]: https://www.npmjs.com/package/classnames
225
- [spread syntax]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax
226
- [styled-system]: https://styled-system.com
227
- [table]: https://jxnblk.com/styled-system/table
228
- [npx]: https://www.npmjs.com/package/npx
229
- [now]: https://zeit.co/now
230
- [primer.style]: https://primer.style
@@ -1,23 +0,0 @@
1
- # ADR 1: TypeScript
2
-
3
- ## Status
4
-
5
- Approved 2021-01-15
6
-
7
- ## Context
8
-
9
- Primer React components was originally released without TypeScript type definitions, making it difficult for engineers to consume the library in TypeScript applications. In [July 2019](https://github.com/primer/react/commit/2983c935ea9ad600c04078adb25e40c3624c11fa#diff-7aa4473ede4abd9ec099e87fec67fd57afafaf39e05d493ab4533acc38547eb8), we created an [ambient declaration](https://www.geeksforgeeks.org/typescript-ambients-declaration/) file (`index.d.ts`) file to provide type definitions for TypeScript applications without having to rewrite Primer React components in TypeScript.
10
-
11
- `index.d.ts` has been an effective stopgap, enabling teams to build complex applications with Primer React components and TypeScript. However, because `index.d.ts` is disconnected from the implementation code, we've struggled to keep the type definitions up-to-date and accurate, as evidenced by [many](https://github.com/primer/react/issues/906) [TypeScript](https://github.com/primer/react/issues/540) [bug](https://github.com/primer/react/issues/520) [reports](https://github.com/primer/react/issues/534). As the library continues to grow in size and complexity, manually maintaining type definitions will become unsustainable.
12
-
13
- ## Decision
14
-
15
- We will rewrite Primer React components in TypeScript.
16
-
17
- ## Consequences
18
-
19
- - Type definitions can be generated by the TypeScript compiler, eliminating bugs caused by hand-written type definitions.
20
- - Engineers can upstream components from other TypeScript projects at GitHub without having to remove type annotations, improving the contributor experience.
21
- - We can refactor components with increased confidence.
22
- - Component prop documentation can be generated by [react-docgen-typescript](https://github.com/styleguidist/react-docgen-typescript), eliminating inaccurate and out-of-date hand-written prop documentation.
23
- - New contributors will need some familiarity with TypeScript in order to make code contributions.
@@ -1,108 +0,0 @@
1
- # ADR 2: Isolating behaviors through custom clements and vanilla JavaScript
2
-
3
- ## Status
4
-
5
- Approved 2021-02-04
6
-
7
- ## Related documents
8
-
9
- - April 18th, 2018: [Custom Elements Example](https://github.com/primer/react/pull/13)
10
- - May 8th, 2018: [Custom Elements Experiment](https://github.com/primer/react/pull/14)
11
- - May 18th 2018: [React & Custom Elements](https://docs.google.com/document/d/1b6D2jW3ztQJiKEtQINbb4JoHJ3F3szU6lBX-fGce6aY/edit?usp=sharing)
12
- - October 16th 2019: [Issue exploring pros & cons of reusing .com JS in React](https://github.com/github/issues-index-experiment/issues/90)
13
- - November 15th 2019: [Experiment porting PRC to web components](https://github.com/github/ui-engineering/issues/12#issuecomment-558257842)
14
- - November 27th 2019: [Usage of custom elements in IIE project](https://github.com/github/issues-index-experiment/pull/133)
15
- - November 27th 2019: [Styling custom elements with styled components](https://github.slack.com/archives/CMZ4DC9BL/p1574883198055600)
16
- - June 9th 2020: [Discussion in Slack about using skatejs for SSR](https://github.slack.com/archives/C0ER2LCG2/p1591707104461300)
17
- - November 10th 2020: [Replace dialog with details-dialog](https://github.com/primer/react/issues/907)
18
- - January 27th 2021: [Guidelines for authoring behaviors](https://github.com/primer/react/pull/992)
19
- - February 1st 2021: [Example of a vanilla JS behavior & accompanying hook](https://github.com/T-Hugs/components/commit/105c3a191681381377f5aa193cb241a2189db8a6)
20
-
21
- ## Providing behaviors via custom elements
22
-
23
- ### Context
24
-
25
- Throughout the last few years folks from the Design Infrastructure, Web Systems, and UI Platform teams have discussed the idea of using custom elements for behaviors in Primer React. The main goal of using custom elements in Primer React is to be able to author behaviors once and reuse them in any framework. Several experiments have been conducted which are listed above.
26
-
27
- ### Assumptions
28
-
29
- De-duplication is not our highest or only priority. Attempts at de-duplication must be weighed against changes to the maintainer, developer, and customer experience.
30
-
31
- ### Findings
32
-
33
- #### Developer experience regressions
34
-
35
- - Custom elements rendering their own subtrees (ShadowDOM) requires polyfills for as-yet implemented specifications. This means Primer React will accumulate added complexity if we were to implement Custom Elements with ShadowDOM.
36
-
37
- - Implementing Custom Elements in Primer React will require a division of client side and server side code, as custom elements should only be executed in a browser environment. Currently Primer React is "isomorphic" - in that the code can be executed anywhere that React can be, which includes NodeJS server runtimes, as well as the client side. While not insurmountable this does mean Primer React will accumulate added complexity, which likely will be surfaced to the user.
38
-
39
- - While it's possible to add server side libraries to enable Custom Elements to be rendered on the Server, this adds more complexity and is antithetical to the usage patterns of custom elements.
40
-
41
- - As of this writing, you cannot style custom elements with styled-components[^1]. This means that if a component wants to use a custom element to get behaviors and you also want to style that component, you must use another wrapper div to apply styles. This is a bug in styled-components and should be fixed in the next release.
42
-
43
- #### Incompatibility with some React tools
44
-
45
- Some of our GitHub custom elements such as `details-dialog` and `details-menu` make assumptions about the DOM tree. For example, `details-dialog` expects a `details` element to wrap the custom element and uses this assumption[^2] to determine whether or not clicks are happening inside or outside of the dialog and closes the dialog if the click happened outside of the dialog. This makes sense in most cases and is a nice way of enforcing proper usage of the details element, but breaks down when used with [React Portals](https://reactjs.org/docs/portals.html) which are often used to ensure menus are displayed correctly in cases where a parent has an overflow: hidden applied to it, or incompatible z-index.
46
-
47
- #### Extensibility
48
-
49
- Building behaviors in React Hooks gives us the ability to provide things like state and state change hooks to the consumer of the component. This allows the user to build on additional behaviors to the component based on the state or other variables provided to the component consumer. Doing the same with custom elements would require listening to events on the document[^3] and reacting to them. This is certainly do-able, but goes against some of the foundational principles of React (reacting to changes in the DOM vs changes in React state).
50
-
51
- #### Organizational overhead
52
-
53
- - GitHub’s custom elements are all managed in different repos which introduces more maintenance overhead.
54
- - You'd need to npm link while developing if you want to test changes out with the presentational components themselves instead of making changes and seeing updates instantly. npm link usually doesn't work well with hot module reloading either.
55
- - You'd need to draft & publish releases to both libraries every time you want to update the behavior
56
- - If the behaviors are shared between github.com and Primer React, you'd need to do careful testing in both environments to make sure that changes don't create any regressions. That greatly widens the context that engineers need to keep in mind every time a change is made.
57
- - Reacting to changes will take a bit more time as we’ll need to orchestrate releases between custom elements and Primer React - as opposed to having behaviors already present in Primer React which can be versioned in lockstep.
58
- - Engineers who want to contribute to Primer React Components to build new components and behaviors would need to be familiar with both custom elements and React, two very different paradigms, and context switch between the two.
59
-
60
- #### Other
61
-
62
- - The custom element and web component API progress slower than React due to changes needing to go through the whatwq standards process.
63
-
64
- #### Risks of not switching to custom elements for behaviors
65
-
66
- - We spend extra time building behaviors in React that have already been built in our [custom elements library](https://github.github.io/web-systems-documentation/#custom-elements).
67
- - There are currently 19 behaviors/components listed on the custom elements documentation site. Several of these we have already implemented in React in either Priemr React, Doctocat, or other React applications at GitHub which can be upstreamed (details-dialog, details-menu, clipboard-copy, text-expander, autocomplete, task-list via drag and drop hooks, tab-container, text-expander).
68
- - We decide not to invest further in React at GitHub and have wasted time we could have spent building more custom elements.
69
- - This seems unlikely as there seems to be clear consensus that we will continue to build more and more highly interactive products.
70
- - The React library is abandoned and becomes obsolete.
71
- - This is a risk with any technology that we may use, seems highly unlikely in the near term.
72
- - While also a possibility for custom elements, the track record demonstrates deprecations of Web APIs is extremely rare and has a long deprecation path.
73
- - Behaviors in github.com using custom elements and behaviors in Primer REact diverge, leading to an inconsistent experience.
74
- - This is probably the biggest risk we face, but moving to custom elements isn’t necessarily the only or best solution. We should explore other ways of detecting divergence such as integration tests.
75
-
76
- ## Providing behaviors through vanilla JavaScript
77
-
78
- A simpler method of isolating component behaviors is to implement them in vanilla JavaScript (or TypeScript). This way, they can be shared between React components and web components. Both types of consumers would need to hook up the vanilla behavior to the component(s) that use(s) them.
79
-
80
- In some cases, this strategy is very straightforward. When a behavior can be made to have no dependencies other than the DOM, it is easy to isolate and consume in various frameworks. Behaviors that have effects on interactions/events, shared state, and component styles will be more difficult to isolate in this manner.
81
-
82
- ### Interactions and events
83
-
84
- Many user interactions rely on DOM events, such as `click`, `keypress`, and `focus`. React's event system is _not_ the same as the native DOM event system. React implements a [SyntheticEvent](https://reactjs.org/docs/events.html) that wraps native events. Working with both `SyntheticEvent`s and native events simultaneously is significant additional complexity for maintainers and consumers. However, vanilla JavaScript must operate only using native events. This makes isolating behaviors that automatically hook up event listeners to DOM elements difficult to achieve, and the resulting simultaneous usage of native events and `SyntheticEvent` has the potential to degrade both the maintainer's and the consumer's developer experience using Primer React.
85
-
86
- ### Shared state
87
-
88
- There are countless ways to manage state in a web application. React has its own ecosystem of state management strategies and libraries (in addition to its own primitive constructs for state management). Since there is no standard state management pattern in vanilla JavaScript, introducing such a pattern would add a new layer of complexity to the component behavior API.
89
-
90
- ### Component styles
91
-
92
- Since Primer React uses styled-components to manage CSS styles, any behaviors that affect styles should be doing so with styled-components. Any vanilla JavaScript behaviors that affect styles will add complexity by introducing a second mechanism for applying styles, since they will not be able to use styled-components.
93
-
94
- ## Decision
95
-
96
- ### Custom elements
97
-
98
- Due to the challenges listed above and our priorities listed in the [Assumptions](#assumptions) section, we are not investing time in building out behaviors with custom elements in our Primer React library. Instead, we should spend time expanding coverage using React Hooks and focus on finding other approaches for making sure implementation of behaviors in our different stacks are consistent (such as integration tests).
99
-
100
- ### Vanilla JavaScript behaviors
101
-
102
- Some behaviors can be implemented as vanilla JavaScript without introducing additional complexity to Primer React or its consumers. In cases where this is possible, behaviors will be implemented with no dependencies except the DOM and consumed within React Hooks to provide their functionality to Primer React.
103
-
104
- In general, _portions of behaviors_ that affect or rely on **user interactions and events**, **shared state**, or **CSS styles** should be kept in React Hooks. Parts of the behavior that can be implemented in isolation of these concepts should be built with no dependency on React or other libraries.
105
-
106
- [^1]: https://codesandbox.io/s/demo-styling-custom-element-g973d?file=/src/index.tsx
107
- [^2]: https://github.com/github/details-dialog-element/blob/main/src/index.ts#L195
108
- [^3]: https://github.com/github/details-dialog-element#details-dialog-close
@@ -1,72 +0,0 @@
1
- # ADR 003: Prop norms in Primer React Components
2
-
3
- ## Status
4
-
5
- Proposed
6
-
7
- ## Context
8
-
9
- Today our component prop APIs have:
10
-
11
- - Implicit conventions not documented anywhere but consistently reflected in our code (e.g., the type of the `sx` prop)
12
- - Explicit plans to change some of those (e.g., the deprecation of Styled System props)
13
- - Inconsistencies in our implementation (e.g., when components accept a `ref` prop)
14
-
15
- This ADR aims to unify some of these conversations about prop APIs, codify our decisions, and sequence the work to get there.
16
-
17
- ## Decision
18
-
19
- ### 🟢 `sx`
20
-
21
- All components that ultimately render to the DOM should accept an `sx` prop.
22
-
23
- The `sx` prop (of type `SystemStyleObject`) should generally set styles for the root HTML element rendered by the component. An exception would be components like `<Dialog>`, whose outermost HTML element is a backdrop. In that case, it would be appropriate for `sx` styles to apply to child of the backdrop that is more likely to need styling overrides.
24
-
25
- ### 🟢 `ref`
26
-
27
- All components that ultimately render to the DOM should accept a `ref` prop. That `ref` prop should most often be passed to the root HTMLElement rendered by the component, although occasionally a different descendent node may make more sense.
28
-
29
- See also: [Discussion on `ref` props (internal)](https://github.com/github/primer/discussions/131)
30
-
31
- ### 🟡 `as`
32
-
33
- Only components with a clear need for polymorphism should accept an `as` prop. Reasonable cases include:
34
-
35
- - Components that need functionality from the component passed to the `as` prop, like a `<Button>` that renders a React Router link.
36
- - Components whose accessibility are improved by using semantically appropriate HTML elements, like an ActionList
37
-
38
- When a Primer component user passes an `as` prop to a component, it should be done in a way that is consistent with the component’s intended use. In some situations we can enforce that with a narrowed type for our `as` prop.
39
-
40
- See also: [Discussion on `as` props (internal)](https://github.com/github/primer/discussions/130)
41
-
42
- ### 🟡 DOM props: Limited
43
-
44
- All components that accept an `as` prop should accept props en masse for the element specified by the `as` prop (excluding props of the same name already used by the component). _Additionally_, some other elements that do _not_ accept an `as` prop should accept the props for their root HTML element when those props are fundamental to the component’s function (e.g., `<TextInput>` should accept DOM props for its underlying `<input>`).
45
-
46
- ### 🔴 Styled System props
47
-
48
- Components should not accept Styled System props (except our utility components: `Box` and `Type`)
49
-
50
- _Reasoning:_ Utility components are meant to provide a convenient API for writing styles (including styles that reference theme and other context managed within Primer). Non-utility components implement specific design patterns where additional styling is available for exceptional cases.
51
-
52
- See also: [Discussion on the deprecation of styled-system props (internal)](https://github.com/github/primer/discussions/132)
53
-
54
- ### 🔴 `theme`
55
-
56
- Components should not accept a `theme` prop (with the exception of `ThemeProvider`).
57
-
58
- _Reasoning:_ The `theme` prop doesn't enable anything that can't be done with `<ThemeProvider>`, and promotes the anti-pattern of per-component theme overrides.
59
-
60
- ### `children`
61
-
62
- I'm intentionally withholding advocacy about `children` prop types because I expect that topic will be covered by a future ADR.
63
-
64
- ### Sequencing
65
-
66
- 1. Deprecate remaining unwanted Styled System props (should be done? Let's verify.)
67
- 1. Release an eslint rule to disallow Styled System props
68
- 1. Release an eslint rule to disallow `theme`
69
- 1. Migrate all usage within PRC
70
- 1. Assist GitHub projects with migration
71
- 1. Remove support for unwanted props
72
- 1. Update docs to reflect the standards in this ADR