@primer/components 31.2.1-rc.48ecca6e → 32.0.0-next.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 (1197) hide show
  1. package/CHANGELOG.md +67 -3
  2. package/dist/browser.esm.js +307 -365
  3. package/dist/browser.esm.js.map +1 -1
  4. package/dist/browser.umd.js +298 -356
  5. package/dist/browser.umd.js.map +1 -1
  6. package/lib/ActionList/Item.js +27 -52
  7. package/lib/ActionList/Item.jsx +17 -40
  8. package/lib/ActionList2/Group.d.ts +28 -2
  9. package/lib/ActionList2/Group.js +55 -6
  10. package/lib/ActionList2/Group.jsx +33 -4
  11. package/lib/ActionList2/List.d.ts +1 -1
  12. package/lib/Autocomplete/Autocomplete.d.ts +3 -3
  13. package/lib/Autocomplete/AutocompleteInput.d.ts +3 -3
  14. package/lib/Breadcrumbs.d.ts +8 -7
  15. package/lib/Breadcrumbs.js +7 -12
  16. package/lib/Breadcrumbs.jsx +3 -6
  17. package/lib/Button/Button.d.ts +2 -3
  18. package/lib/Button/Button.js +2 -6
  19. package/lib/Button/Button.jsx +1 -21
  20. package/lib/Button/ButtonBase.d.ts +5 -8
  21. package/lib/Button/ButtonBase.js +1 -5
  22. package/lib/Button/ButtonBase.jsx +0 -3
  23. package/lib/Button/ButtonClose.d.ts +3 -46
  24. package/lib/Button/ButtonClose.js +1 -1
  25. package/lib/Button/ButtonClose.jsx +0 -2
  26. package/lib/Button/ButtonDanger.d.ts +2 -3
  27. package/lib/Button/ButtonDanger.js +2 -6
  28. package/lib/Button/ButtonDanger.jsx +1 -21
  29. package/lib/Button/ButtonInvisible.d.ts +2 -3
  30. package/lib/Button/ButtonInvisible.js +2 -6
  31. package/lib/Button/ButtonInvisible.jsx +1 -21
  32. package/lib/Button/ButtonOutline.d.ts +2 -3
  33. package/lib/Button/ButtonOutline.js +2 -6
  34. package/lib/Button/ButtonOutline.jsx +1 -21
  35. package/lib/Button/ButtonPrimary.d.ts +2 -3
  36. package/lib/Button/ButtonPrimary.js +2 -6
  37. package/lib/Button/ButtonPrimary.jsx +1 -21
  38. package/lib/Button/ButtonTableList.d.ts +1 -2
  39. package/lib/Button/ButtonTableList.js +1 -1
  40. package/lib/Button/ButtonTableList.jsx +0 -3
  41. package/lib/CircleBadge.d.ts +4 -5
  42. package/lib/CircleBadge.js +1 -1
  43. package/lib/CircleBadge.jsx +0 -1
  44. package/lib/CircleOcticon.d.ts +1 -1
  45. package/lib/CounterLabel.d.ts +1 -2
  46. package/lib/CounterLabel.js +1 -1
  47. package/lib/CounterLabel.jsx +0 -1
  48. package/lib/Dialog/Dialog.d.ts +5 -9
  49. package/lib/Dialog/Dialog.js +17 -11
  50. package/lib/Dialog/Dialog.jsx +13 -7
  51. package/lib/Dialog.d.ts +4 -5
  52. package/lib/Dialog.js +1 -1
  53. package/lib/Dialog.jsx +0 -2
  54. package/lib/Dropdown.d.ts +10 -99
  55. package/lib/Dropdown.js +3 -3
  56. package/lib/Dropdown.jsx +0 -3
  57. package/lib/DropdownMenu/DropdownButton.d.ts +3 -47
  58. package/lib/DropdownMenu/DropdownButton.js +3 -1
  59. package/lib/DropdownMenu/DropdownButton.jsx +1 -1
  60. package/lib/FilterList.d.ts +264 -303
  61. package/lib/FilterList.js +2 -6
  62. package/lib/FilterList.jsx +2 -6
  63. package/lib/FilteredSearch.d.ts +1 -2
  64. package/lib/FilteredSearch.js +1 -1
  65. package/lib/FilteredSearch.jsx +0 -1
  66. package/lib/Flash.d.ts +1 -2
  67. package/lib/Flash.js +1 -1
  68. package/lib/Flash.jsx +0 -1
  69. package/lib/FormGroup.d.ts +4 -5
  70. package/lib/FormGroup.js +2 -2
  71. package/lib/FormGroup.jsx +0 -3
  72. package/lib/Header.d.ts +6 -7
  73. package/lib/Header.js +4 -4
  74. package/lib/Header.jsx +0 -7
  75. package/lib/Label.d.ts +1 -2
  76. package/lib/Label.js +2 -3
  77. package/lib/Label.jsx +1 -3
  78. package/lib/LabelGroup.d.ts +1 -2
  79. package/lib/LabelGroup.js +1 -1
  80. package/lib/LabelGroup.jsx +0 -1
  81. package/lib/Link.d.ts +1 -2
  82. package/lib/Link.js +1 -1
  83. package/lib/Link.jsx +0 -2
  84. package/lib/NewButton/button.js +34 -42
  85. package/lib/NewButton/button.jsx +24 -23
  86. package/lib/Overlay.d.ts +11 -10
  87. package/lib/Overlay.js +3 -4
  88. package/lib/Overlay.jsx +1 -3
  89. package/lib/Pagehead.d.ts +1 -2
  90. package/lib/Pagehead.js +1 -1
  91. package/lib/Pagehead.jsx +0 -1
  92. package/lib/Pagination/Pagination.js +1 -1
  93. package/lib/Pagination/Pagination.jsx +0 -2
  94. package/lib/Popover.d.ts +4 -5
  95. package/lib/Popover.js +4 -5
  96. package/lib/Popover.jsx +1 -9
  97. package/lib/Position.d.ts +4 -4
  98. package/lib/SelectMenu/SelectMenu.d.ts +21 -189
  99. package/lib/SelectMenu/SelectMenu.js +1 -3
  100. package/lib/SelectMenu/SelectMenu.jsx +0 -2
  101. package/lib/SelectMenu/SelectMenuDivider.d.ts +1 -2
  102. package/lib/SelectMenu/SelectMenuDivider.js +1 -1
  103. package/lib/SelectMenu/SelectMenuDivider.jsx +0 -1
  104. package/lib/SelectMenu/SelectMenuFilter.js +1 -1
  105. package/lib/SelectMenu/SelectMenuFilter.jsx +0 -1
  106. package/lib/SelectMenu/SelectMenuFooter.d.ts +1 -2
  107. package/lib/SelectMenu/SelectMenuFooter.js +1 -1
  108. package/lib/SelectMenu/SelectMenuFooter.jsx +0 -1
  109. package/lib/SelectMenu/SelectMenuHeader.d.ts +1 -2
  110. package/lib/SelectMenu/SelectMenuHeader.js +1 -1
  111. package/lib/SelectMenu/SelectMenuHeader.jsx +0 -2
  112. package/lib/SelectMenu/SelectMenuItem.d.ts +2 -3
  113. package/lib/SelectMenu/SelectMenuItem.js +1 -1
  114. package/lib/SelectMenu/SelectMenuItem.jsx +0 -1
  115. package/lib/SelectMenu/SelectMenuList.d.ts +1 -2
  116. package/lib/SelectMenu/SelectMenuList.js +1 -1
  117. package/lib/SelectMenu/SelectMenuList.jsx +0 -1
  118. package/lib/SelectMenu/SelectMenuLoadingAnimation.d.ts +2 -2
  119. package/lib/SelectMenu/SelectMenuLoadingAnimation.js +3 -1
  120. package/lib/SelectMenu/SelectMenuLoadingAnimation.jsx +2 -1
  121. package/lib/SelectMenu/SelectMenuModal.d.ts +2 -3
  122. package/lib/SelectMenu/SelectMenuModal.js +1 -1
  123. package/lib/SelectMenu/SelectMenuModal.jsx +0 -1
  124. package/lib/SelectMenu/SelectMenuTab.d.ts +1 -2
  125. package/lib/SelectMenu/SelectMenuTab.js +1 -1
  126. package/lib/SelectMenu/SelectMenuTab.jsx +0 -1
  127. package/lib/SelectMenu/SelectMenuTabPanel.d.ts +1 -2
  128. package/lib/SelectMenu/SelectMenuTabPanel.js +1 -1
  129. package/lib/SelectMenu/SelectMenuTabPanel.jsx +0 -1
  130. package/lib/SelectMenu/SelectMenuTabs.d.ts +1 -2
  131. package/lib/SelectMenu/SelectMenuTabs.js +1 -1
  132. package/lib/SelectMenu/SelectMenuTabs.jsx +0 -1
  133. package/lib/SideNav.d.ts +11 -8
  134. package/lib/SideNav.js +8 -15
  135. package/lib/SideNav.jsx +2 -6
  136. package/lib/StateLabel.d.ts +1 -2
  137. package/lib/StateLabel.js +6 -5
  138. package/lib/StateLabel.jsx +1 -2
  139. package/lib/StyledOcticon.d.ts +1 -2
  140. package/lib/StyledOcticon.js +1 -3
  141. package/lib/StyledOcticon.jsx +0 -2
  142. package/lib/SubNav.d.ts +5 -11
  143. package/lib/SubNav.js +7 -12
  144. package/lib/SubNav.jsx +4 -7
  145. package/lib/TabNav.d.ts +3 -4
  146. package/lib/TabNav.js +2 -2
  147. package/lib/TabNav.jsx +0 -2
  148. package/lib/TextInputWithTokens.d.ts +3 -3
  149. package/lib/Timeline.d.ts +19 -393
  150. package/lib/Timeline.js +16 -13
  151. package/lib/Timeline.jsx +9 -10
  152. package/lib/Token/Token.d.ts +1 -1
  153. package/lib/Tooltip.d.ts +1 -2
  154. package/lib/Tooltip.js +1 -1
  155. package/lib/Tooltip.jsx +1 -1
  156. package/lib/Truncate.d.ts +1 -2
  157. package/lib/Truncate.js +1 -3
  158. package/lib/Truncate.jsx +0 -3
  159. package/lib/UnderlineNav.d.ts +2 -3
  160. package/lib/UnderlineNav.js +2 -2
  161. package/lib/UnderlineNav.jsx +0 -2
  162. package/lib/utils/testing.d.ts +6 -60
  163. package/lib-esm/ActionList/Item.js +28 -53
  164. package/lib-esm/ActionList2/Group.d.ts +28 -2
  165. package/lib-esm/ActionList2/Group.js +52 -5
  166. package/lib-esm/ActionList2/List.d.ts +1 -1
  167. package/lib-esm/Autocomplete/Autocomplete.d.ts +3 -3
  168. package/lib-esm/Autocomplete/AutocompleteInput.d.ts +3 -3
  169. package/lib-esm/Breadcrumbs.d.ts +8 -7
  170. package/lib-esm/Breadcrumbs.js +8 -13
  171. package/lib-esm/Button/Button.d.ts +2 -3
  172. package/lib-esm/Button/Button.js +2 -2
  173. package/lib-esm/Button/ButtonBase.d.ts +5 -8
  174. package/lib-esm/Button/ButtonBase.js +1 -3
  175. package/lib-esm/Button/ButtonClose.d.ts +3 -46
  176. package/lib-esm/Button/ButtonClose.js +2 -2
  177. package/lib-esm/Button/ButtonDanger.d.ts +2 -3
  178. package/lib-esm/Button/ButtonDanger.js +2 -2
  179. package/lib-esm/Button/ButtonInvisible.d.ts +2 -3
  180. package/lib-esm/Button/ButtonInvisible.js +2 -2
  181. package/lib-esm/Button/ButtonOutline.d.ts +2 -3
  182. package/lib-esm/Button/ButtonOutline.js +2 -2
  183. package/lib-esm/Button/ButtonPrimary.d.ts +2 -3
  184. package/lib-esm/Button/ButtonPrimary.js +2 -2
  185. package/lib-esm/Button/ButtonTableList.d.ts +1 -2
  186. package/lib-esm/Button/ButtonTableList.js +2 -2
  187. package/lib-esm/CircleBadge.d.ts +4 -5
  188. package/lib-esm/CircleBadge.js +2 -2
  189. package/lib-esm/CircleOcticon.d.ts +1 -1
  190. package/lib-esm/CounterLabel.d.ts +1 -2
  191. package/lib-esm/CounterLabel.js +2 -2
  192. package/lib-esm/Dialog/Dialog.d.ts +5 -9
  193. package/lib-esm/Dialog/Dialog.js +12 -12
  194. package/lib-esm/Dialog.d.ts +4 -5
  195. package/lib-esm/Dialog.js +2 -2
  196. package/lib-esm/Dropdown.d.ts +10 -99
  197. package/lib-esm/Dropdown.js +4 -4
  198. package/lib-esm/DropdownMenu/DropdownButton.d.ts +3 -47
  199. package/lib-esm/DropdownMenu/DropdownButton.js +3 -1
  200. package/lib-esm/FilterList.d.ts +264 -303
  201. package/lib-esm/FilterList.js +3 -7
  202. package/lib-esm/FilteredSearch.d.ts +1 -2
  203. package/lib-esm/FilteredSearch.js +2 -2
  204. package/lib-esm/Flash.d.ts +1 -2
  205. package/lib-esm/Flash.js +2 -2
  206. package/lib-esm/FormGroup.d.ts +4 -5
  207. package/lib-esm/FormGroup.js +3 -3
  208. package/lib-esm/Header.d.ts +6 -7
  209. package/lib-esm/Header.js +5 -5
  210. package/lib-esm/Label.d.ts +1 -2
  211. package/lib-esm/Label.js +3 -4
  212. package/lib-esm/LabelGroup.d.ts +1 -2
  213. package/lib-esm/LabelGroup.js +2 -2
  214. package/lib-esm/Link.d.ts +1 -2
  215. package/lib-esm/Link.js +2 -2
  216. package/lib-esm/NewButton/button.js +31 -42
  217. package/lib-esm/Overlay.d.ts +11 -10
  218. package/lib-esm/Overlay.js +2 -3
  219. package/lib-esm/Pagehead.d.ts +1 -2
  220. package/lib-esm/Pagehead.js +2 -2
  221. package/lib-esm/Pagination/Pagination.js +2 -2
  222. package/lib-esm/Popover.d.ts +4 -5
  223. package/lib-esm/Popover.js +4 -5
  224. package/lib-esm/Position.d.ts +4 -4
  225. package/lib-esm/SelectMenu/SelectMenu.d.ts +21 -189
  226. package/lib-esm/SelectMenu/SelectMenu.js +1 -2
  227. package/lib-esm/SelectMenu/SelectMenuDivider.d.ts +1 -2
  228. package/lib-esm/SelectMenu/SelectMenuDivider.js +2 -2
  229. package/lib-esm/SelectMenu/SelectMenuFilter.js +2 -2
  230. package/lib-esm/SelectMenu/SelectMenuFooter.d.ts +1 -2
  231. package/lib-esm/SelectMenu/SelectMenuFooter.js +2 -2
  232. package/lib-esm/SelectMenu/SelectMenuHeader.d.ts +1 -2
  233. package/lib-esm/SelectMenu/SelectMenuHeader.js +2 -2
  234. package/lib-esm/SelectMenu/SelectMenuItem.d.ts +2 -3
  235. package/lib-esm/SelectMenu/SelectMenuItem.js +2 -2
  236. package/lib-esm/SelectMenu/SelectMenuList.d.ts +1 -2
  237. package/lib-esm/SelectMenu/SelectMenuList.js +2 -2
  238. package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.d.ts +2 -2
  239. package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.js +3 -2
  240. package/lib-esm/SelectMenu/SelectMenuModal.d.ts +2 -3
  241. package/lib-esm/SelectMenu/SelectMenuModal.js +2 -2
  242. package/lib-esm/SelectMenu/SelectMenuTab.d.ts +1 -2
  243. package/lib-esm/SelectMenu/SelectMenuTab.js +2 -2
  244. package/lib-esm/SelectMenu/SelectMenuTabPanel.d.ts +1 -2
  245. package/lib-esm/SelectMenu/SelectMenuTabPanel.js +2 -2
  246. package/lib-esm/SelectMenu/SelectMenuTabs.d.ts +1 -2
  247. package/lib-esm/SelectMenu/SelectMenuTabs.js +2 -2
  248. package/lib-esm/SideNav.d.ts +11 -8
  249. package/lib-esm/SideNav.js +8 -16
  250. package/lib-esm/StateLabel.d.ts +1 -2
  251. package/lib-esm/StateLabel.js +7 -6
  252. package/lib-esm/StyledOcticon.d.ts +1 -2
  253. package/lib-esm/StyledOcticon.js +1 -2
  254. package/lib-esm/SubNav.d.ts +5 -11
  255. package/lib-esm/SubNav.js +8 -13
  256. package/lib-esm/TabNav.d.ts +3 -4
  257. package/lib-esm/TabNav.js +3 -3
  258. package/lib-esm/TextInputWithTokens.d.ts +3 -3
  259. package/lib-esm/Timeline.d.ts +19 -393
  260. package/lib-esm/Timeline.js +12 -13
  261. package/lib-esm/Token/Token.d.ts +1 -1
  262. package/lib-esm/Tooltip.d.ts +1 -2
  263. package/lib-esm/Tooltip.js +2 -2
  264. package/lib-esm/Truncate.d.ts +1 -2
  265. package/lib-esm/Truncate.js +1 -2
  266. package/lib-esm/UnderlineNav.d.ts +2 -3
  267. package/lib-esm/UnderlineNav.js +3 -3
  268. package/lib-esm/theme-preval.js +66 -366
  269. package/lib-esm/utils/testing.d.ts +6 -60
  270. package/package.json +4 -4
  271. package/.changeset/README.md +0 -8
  272. package/.changeset/config.json +0 -10
  273. package/.devcontainer/devcontainer.json +0 -8
  274. package/.eslintrc.json +0 -137
  275. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
  276. package/.github/ISSUE_TEMPLATE/new_component_proposal_template.md +0 -41
  277. package/.github/dependabot.yml +0 -18
  278. package/.github/pull_request_template.md +0 -18
  279. package/.github/workflows/check_for_changeset.yml +0 -25
  280. package/.github/workflows/ci.yml +0 -34
  281. package/.github/workflows/deploy_preview.yml +0 -47
  282. package/.github/workflows/deploy_production.yml +0 -70
  283. package/.github/workflows/release.yml +0 -36
  284. package/.github/workflows/release_canary.yml +0 -71
  285. package/.github/workflows/release_candidate.yml +0 -60
  286. package/.github/workflows/size.yml +0 -13
  287. package/.github/workflows/stale.yml +0 -26
  288. package/.gitignore +0 -10
  289. package/.npmrc +0 -4
  290. package/.nvmrc +0 -1
  291. package/.storybook/main.js +0 -9
  292. package/.storybook/preview.js +0 -117
  293. package/.vscode/launch.json +0 -21
  294. package/.vscode/settings.json +0 -13
  295. package/@types/@styled-system/index.d.ts +0 -0
  296. package/@types/@styled-system/prop-types/index.d.ts +0 -1
  297. package/@types/@styled-system/props/index.d.ts +0 -1
  298. package/@types/jest-styled-components/index.d.ts +0 -1
  299. package/CODEOWNERS +0 -2
  300. package/babel-defines.js +0 -13
  301. package/babel.config.js +0 -39
  302. package/contributor-docs/CODE_OF_CONDUCT.md +0 -76
  303. package/contributor-docs/CONTRIBUTING.md +0 -274
  304. package/contributor-docs/adrs/adr-001-typescript.md +0 -23
  305. package/contributor-docs/adrs/adr-002-behavior-isolation.md +0 -108
  306. package/contributor-docs/adrs/adr-003-prop-norms.md +0 -72
  307. package/contributor-docs/behaviors.md +0 -132
  308. package/contributor-docs/component-contents-api-patterns.md +0 -316
  309. package/contributor-docs/principles.md +0 -39
  310. package/docs/.eslintrc +0 -0
  311. package/docs/.gitignore +0 -91
  312. package/docs/components/PropsList.js +0 -5
  313. package/docs/components/State.js +0 -9
  314. package/docs/components/constants.js +0 -34
  315. package/docs/components/index.js +0 -2
  316. package/docs/content/ActionList.mdx +0 -99
  317. package/docs/content/ActionList2.mdx +0 -358
  318. package/docs/content/ActionMenu.mdx +0 -80
  319. package/docs/content/AnchoredOverlay.mdx +0 -37
  320. package/docs/content/Autocomplete.mdx +0 -657
  321. package/docs/content/Avatar.mdx +0 -33
  322. package/docs/content/AvatarStack.mdx +0 -37
  323. package/docs/content/BorderBox.md +0 -46
  324. package/docs/content/Box.mdx +0 -96
  325. package/docs/content/BranchName.md +0 -18
  326. package/docs/content/Breadcrumbs.md +0 -52
  327. package/docs/content/Buttons.md +0 -56
  328. package/docs/content/CircleBadge.md +0 -45
  329. package/docs/content/CircleOcticon.md +0 -18
  330. package/docs/content/CounterLabel.md +0 -32
  331. package/docs/content/Details.md +0 -105
  332. package/docs/content/Dialog.md +0 -108
  333. package/docs/content/Dialog2.mdx +0 -179
  334. package/docs/content/Dropdown.md +0 -72
  335. package/docs/content/DropdownMenu.mdx +0 -49
  336. package/docs/content/FilterList.md +0 -44
  337. package/docs/content/FilteredSearch.md +0 -39
  338. package/docs/content/Flash.md +0 -44
  339. package/docs/content/Flex.md +0 -58
  340. package/docs/content/FormGroup.md +0 -46
  341. package/docs/content/Grid.md +0 -59
  342. package/docs/content/Header.md +0 -79
  343. package/docs/content/Heading.md +0 -22
  344. package/docs/content/Label.md +0 -42
  345. package/docs/content/LabelGroup.md +0 -31
  346. package/docs/content/Link.md +0 -37
  347. package/docs/content/Overlay.mdx +0 -94
  348. package/docs/content/Pagehead.md +0 -27
  349. package/docs/content/Pagination.md +0 -187
  350. package/docs/content/PointerBox.md +0 -81
  351. package/docs/content/Popover.md +0 -137
  352. package/docs/content/Portal.mdx +0 -78
  353. package/docs/content/Position.md +0 -100
  354. package/docs/content/ProgressBar.mdx +0 -29
  355. package/docs/content/SelectMenu.md +0 -435
  356. package/docs/content/SelectPanel.mdx +0 -67
  357. package/docs/content/SideNav.md +0 -179
  358. package/docs/content/Spinner.mdx +0 -32
  359. package/docs/content/StateLabel.md +0 -36
  360. package/docs/content/StyledOcticon.md +0 -36
  361. package/docs/content/SubNav.md +0 -102
  362. package/docs/content/TabNav.md +0 -50
  363. package/docs/content/Text.md +0 -31
  364. package/docs/content/TextInput.md +0 -34
  365. package/docs/content/TextInputTokens.mdx +0 -89
  366. package/docs/content/TextInputWithTokens.mdx +0 -211
  367. package/docs/content/Timeline.md +0 -138
  368. package/docs/content/Token.mdx +0 -381
  369. package/docs/content/Tooltip.md +0 -41
  370. package/docs/content/Truncate.md +0 -64
  371. package/docs/content/UnderlineNav.md +0 -53
  372. package/docs/content/anchoredPosition.mdx +0 -163
  373. package/docs/content/core-concepts.md +0 -70
  374. package/docs/content/focusTrap.mdx +0 -103
  375. package/docs/content/focusZone.mdx +0 -145
  376. package/docs/content/getting-started.md +0 -138
  377. package/docs/content/index.md +0 -33
  378. package/docs/content/linting.md +0 -35
  379. package/docs/content/overriding-styles.mdx +0 -82
  380. package/docs/content/philosophy.md +0 -23
  381. package/docs/content/primer-theme.md +0 -89
  382. package/docs/content/ssr.mdx +0 -43
  383. package/docs/content/system-props.mdx +0 -37
  384. package/docs/content/theme-reference.md +0 -16
  385. package/docs/content/theming.md +0 -272
  386. package/docs/content/useOnEscapePress.mdx +0 -56
  387. package/docs/content/useOnOutsideClick.mdx +0 -57
  388. package/docs/content/useOpenAndCloseFocus.mdx +0 -49
  389. package/docs/content/useOverlay.mdx +0 -62
  390. package/docs/content/useSafeTimeout.mdx +0 -32
  391. package/docs/gatsby-config.js +0 -30
  392. package/docs/gatsby-node.js +0 -101
  393. package/docs/package-lock.json +0 -20756
  394. package/docs/package.json +0 -36
  395. package/docs/src/@primer/gatsby-theme-doctocat/components/hero.js +0 -21
  396. package/docs/src/@primer/gatsby-theme-doctocat/components/live-preview-wrapper.js +0 -41
  397. package/docs/src/@primer/gatsby-theme-doctocat/live-code-scope.js +0 -73
  398. package/docs/src/@primer/gatsby-theme-doctocat/nav.yml +0 -133
  399. package/docs/src/@primer/gatsby-theme-doctocat/primer-components-hero.svg +0 -1411
  400. package/docs/src/component-checklist.js +0 -81
  401. package/docs/src/props.js +0 -77
  402. package/jest.config.js +0 -13
  403. package/lib/__tests__/ActionList.test.d.ts +0 -1
  404. package/lib/__tests__/ActionList.test.js +0 -69
  405. package/lib/__tests__/ActionList.test.jsx +0 -49
  406. package/lib/__tests__/ActionList.types.test.d.ts +0 -6
  407. package/lib/__tests__/ActionList.types.test.js +0 -69
  408. package/lib/__tests__/ActionList.types.test.jsx +0 -45
  409. package/lib/__tests__/ActionList2.test.d.ts +0 -1
  410. package/lib/__tests__/ActionList2.test.js +0 -53
  411. package/lib/__tests__/ActionList2.test.jsx +0 -46
  412. package/lib/__tests__/ActionMenu.test.d.ts +0 -1
  413. package/lib/__tests__/ActionMenu.test.js +0 -151
  414. package/lib/__tests__/ActionMenu.test.jsx +0 -124
  415. package/lib/__tests__/AnchoredOverlay.test.d.ts +0 -1
  416. package/lib/__tests__/AnchoredOverlay.test.js +0 -162
  417. package/lib/__tests__/AnchoredOverlay.test.jsx +0 -121
  418. package/lib/__tests__/Autocomplete.test.d.ts +0 -1
  419. package/lib/__tests__/Autocomplete.test.js +0 -528
  420. package/lib/__tests__/Autocomplete.test.jsx +0 -299
  421. package/lib/__tests__/Avatar.test.d.ts +0 -1
  422. package/lib/__tests__/Avatar.test.js +0 -67
  423. package/lib/__tests__/Avatar.test.jsx +0 -42
  424. package/lib/__tests__/AvatarStack.test.d.ts +0 -1
  425. package/lib/__tests__/AvatarStack.test.js +0 -71
  426. package/lib/__tests__/AvatarStack.test.jsx +0 -43
  427. package/lib/__tests__/BorderBox.test.d.ts +0 -1
  428. package/lib/__tests__/BorderBox.test.js +0 -58
  429. package/lib/__tests__/BorderBox.test.jsx +0 -36
  430. package/lib/__tests__/Box.test.d.ts +0 -1
  431. package/lib/__tests__/Box.test.js +0 -78
  432. package/lib/__tests__/Box.test.jsx +0 -41
  433. package/lib/__tests__/BranchName.test.d.ts +0 -1
  434. package/lib/__tests__/BranchName.test.js +0 -36
  435. package/lib/__tests__/BranchName.test.jsx +0 -27
  436. package/lib/__tests__/Breadcrumbs.test.d.ts +0 -1
  437. package/lib/__tests__/Breadcrumbs.test.js +0 -37
  438. package/lib/__tests__/Breadcrumbs.test.jsx +0 -28
  439. package/lib/__tests__/BreadcrumbsItem.test.d.ts +0 -1
  440. package/lib/__tests__/BreadcrumbsItem.test.js +0 -49
  441. package/lib/__tests__/BreadcrumbsItem.test.jsx +0 -31
  442. package/lib/__tests__/Button.test.d.ts +0 -1
  443. package/lib/__tests__/Button.test.js +0 -143
  444. package/lib/__tests__/Button.test.jsx +0 -100
  445. package/lib/__tests__/Caret.test.d.ts +0 -1
  446. package/lib/__tests__/Caret.test.js +0 -52
  447. package/lib/__tests__/Caret.test.jsx +0 -37
  448. package/lib/__tests__/CircleBadge.test.d.ts +0 -1
  449. package/lib/__tests__/CircleBadge.test.js +0 -83
  450. package/lib/__tests__/CircleBadge.test.jsx +0 -55
  451. package/lib/__tests__/CircleOcticon.test.d.ts +0 -1
  452. package/lib/__tests__/CircleOcticon.test.js +0 -71
  453. package/lib/__tests__/CircleOcticon.test.jsx +0 -45
  454. package/lib/__tests__/ConfirmationDialog.test.d.ts +0 -1
  455. package/lib/__tests__/ConfirmationDialog.test.js +0 -134
  456. package/lib/__tests__/ConfirmationDialog.test.jsx +0 -119
  457. package/lib/__tests__/CounterLabel.test.d.ts +0 -1
  458. package/lib/__tests__/CounterLabel.test.js +0 -58
  459. package/lib/__tests__/CounterLabel.test.jsx +0 -36
  460. package/lib/__tests__/Details.test.d.ts +0 -1
  461. package/lib/__tests__/Details.test.js +0 -117
  462. package/lib/__tests__/Details.test.jsx +0 -85
  463. package/lib/__tests__/Dialog.test.d.ts +0 -1
  464. package/lib/__tests__/Dialog.test.js +0 -184
  465. package/lib/__tests__/Dialog.test.jsx +0 -139
  466. package/lib/__tests__/Dropdown.test.d.ts +0 -1
  467. package/lib/__tests__/Dropdown.test.js +0 -63
  468. package/lib/__tests__/Dropdown.test.jsx +0 -49
  469. package/lib/__tests__/DropdownMenu.test.d.ts +0 -1
  470. package/lib/__tests__/DropdownMenu.test.js +0 -150
  471. package/lib/__tests__/DropdownMenu.test.jsx +0 -119
  472. package/lib/__tests__/FilterList.test.d.ts +0 -1
  473. package/lib/__tests__/FilterList.test.js +0 -36
  474. package/lib/__tests__/FilterList.test.jsx +0 -27
  475. package/lib/__tests__/FilterListItem.test.d.ts +0 -1
  476. package/lib/__tests__/FilterListItem.test.js +0 -46
  477. package/lib/__tests__/FilterListItem.test.jsx +0 -31
  478. package/lib/__tests__/FilteredSearch.test.d.ts +0 -1
  479. package/lib/__tests__/FilteredSearch.test.js +0 -36
  480. package/lib/__tests__/FilteredSearch.test.jsx +0 -27
  481. package/lib/__tests__/Flash.test.d.ts +0 -1
  482. package/lib/__tests__/Flash.test.js +0 -62
  483. package/lib/__tests__/Flash.test.jsx +0 -36
  484. package/lib/__tests__/Flex.test.d.ts +0 -1
  485. package/lib/__tests__/Flex.test.js +0 -74
  486. package/lib/__tests__/Flex.test.jsx +0 -51
  487. package/lib/__tests__/FormGroup.test.d.ts +0 -1
  488. package/lib/__tests__/FormGroup.test.js +0 -54
  489. package/lib/__tests__/FormGroup.test.jsx +0 -36
  490. package/lib/__tests__/Grid.test.d.ts +0 -1
  491. package/lib/__tests__/Grid.test.js +0 -104
  492. package/lib/__tests__/Grid.test.jsx +0 -69
  493. package/lib/__tests__/Header.test.d.ts +0 -1
  494. package/lib/__tests__/Header.test.js +0 -58
  495. package/lib/__tests__/Header.test.jsx +0 -45
  496. package/lib/__tests__/Heading.test.d.ts +0 -1
  497. package/lib/__tests__/Heading.test.js +0 -109
  498. package/lib/__tests__/Heading.test.jsx +0 -71
  499. package/lib/__tests__/KeyPaths.types.test.d.ts +0 -11
  500. package/lib/__tests__/KeyPaths.types.test.js +0 -7
  501. package/lib/__tests__/Label.test.d.ts +0 -1
  502. package/lib/__tests__/Label.test.js +0 -46
  503. package/lib/__tests__/Label.test.jsx +0 -33
  504. package/lib/__tests__/LabelGroup.test.d.ts +0 -1
  505. package/lib/__tests__/LabelGroup.test.js +0 -38
  506. package/lib/__tests__/LabelGroup.test.jsx +0 -29
  507. package/lib/__tests__/Link.test.d.ts +0 -1
  508. package/lib/__tests__/Link.test.js +0 -70
  509. package/lib/__tests__/Link.test.jsx +0 -43
  510. package/lib/__tests__/Merge.types.test.d.ts +0 -30
  511. package/lib/__tests__/Merge.types.test.js +0 -21
  512. package/lib/__tests__/NewButton.test.d.ts +0 -1
  513. package/lib/__tests__/NewButton.test.js +0 -95
  514. package/lib/__tests__/NewButton.test.jsx +0 -61
  515. package/lib/__tests__/Overlay.test.d.ts +0 -1
  516. package/lib/__tests__/Overlay.test.js +0 -145
  517. package/lib/__tests__/Overlay.test.jsx +0 -105
  518. package/lib/__tests__/Pagehead.test.d.ts +0 -1
  519. package/lib/__tests__/Pagehead.test.js +0 -37
  520. package/lib/__tests__/Pagehead.test.jsx +0 -25
  521. package/lib/__tests__/Pagination/Pagination.test.d.ts +0 -1
  522. package/lib/__tests__/Pagination/Pagination.test.js +0 -47
  523. package/lib/__tests__/Pagination/Pagination.test.jsx +0 -32
  524. package/lib/__tests__/Pagination/PaginationModel.test.d.ts +0 -1
  525. package/lib/__tests__/Pagination/PaginationModel.test.js +0 -186
  526. package/lib/__tests__/Pagination/PaginationModel.test.jsx +0 -118
  527. package/lib/__tests__/PointerBox.test.d.ts +0 -1
  528. package/lib/__tests__/PointerBox.test.js +0 -46
  529. package/lib/__tests__/PointerBox.test.jsx +0 -33
  530. package/lib/__tests__/Popover.test.d.ts +0 -1
  531. package/lib/__tests__/Popover.test.js +0 -66
  532. package/lib/__tests__/Popover.test.jsx +0 -58
  533. package/lib/__tests__/Portal.test.d.ts +0 -1
  534. package/lib/__tests__/Portal.test.js +0 -124
  535. package/lib/__tests__/Portal.test.jsx +0 -102
  536. package/lib/__tests__/Position.test.d.ts +0 -1
  537. package/lib/__tests__/Position.test.js +0 -143
  538. package/lib/__tests__/Position.test.jsx +0 -96
  539. package/lib/__tests__/ProgressBar.test.d.ts +0 -1
  540. package/lib/__tests__/ProgressBar.test.js +0 -68
  541. package/lib/__tests__/ProgressBar.test.jsx +0 -38
  542. package/lib/__tests__/SelectMenu.test.d.ts +0 -1
  543. package/lib/__tests__/SelectMenu.test.js +0 -155
  544. package/lib/__tests__/SelectMenu.test.jsx +0 -120
  545. package/lib/__tests__/SelectPanel.test.d.ts +0 -1
  546. package/lib/__tests__/SelectPanel.test.js +0 -80
  547. package/lib/__tests__/SelectPanel.test.jsx +0 -48
  548. package/lib/__tests__/SideNav.test.d.ts +0 -1
  549. package/lib/__tests__/SideNav.test.js +0 -71
  550. package/lib/__tests__/SideNav.test.jsx +0 -55
  551. package/lib/__tests__/Spinner.test.d.ts +0 -1
  552. package/lib/__tests__/Spinner.test.js +0 -53
  553. package/lib/__tests__/Spinner.test.jsx +0 -41
  554. package/lib/__tests__/StateLabel.test.d.ts +0 -1
  555. package/lib/__tests__/StateLabel.test.js +0 -71
  556. package/lib/__tests__/StateLabel.test.jsx +0 -46
  557. package/lib/__tests__/StyledOcticon.test.d.ts +0 -1
  558. package/lib/__tests__/StyledOcticon.test.js +0 -40
  559. package/lib/__tests__/StyledOcticon.test.jsx +0 -28
  560. package/lib/__tests__/SubNav.test.d.ts +0 -1
  561. package/lib/__tests__/SubNav.test.js +0 -62
  562. package/lib/__tests__/SubNav.test.jsx +0 -47
  563. package/lib/__tests__/SubNavLink.test.d.ts +0 -1
  564. package/lib/__tests__/SubNavLink.test.js +0 -49
  565. package/lib/__tests__/SubNavLink.test.jsx +0 -31
  566. package/lib/__tests__/TabNav.test.d.ts +0 -1
  567. package/lib/__tests__/TabNav.test.js +0 -49
  568. package/lib/__tests__/TabNav.test.jsx +0 -32
  569. package/lib/__tests__/Text.test.d.ts +0 -1
  570. package/lib/__tests__/Text.test.js +0 -105
  571. package/lib/__tests__/Text.test.jsx +0 -71
  572. package/lib/__tests__/TextInput.test.d.ts +0 -1
  573. package/lib/__tests__/TextInput.test.js +0 -78
  574. package/lib/__tests__/TextInput.test.jsx +0 -45
  575. package/lib/__tests__/TextInputWithTokens.test.d.ts +0 -1
  576. package/lib/__tests__/TextInputWithTokens.test.js +0 -572
  577. package/lib/__tests__/TextInputWithTokens.test.jsx +0 -302
  578. package/lib/__tests__/ThemeProvider.test.d.ts +0 -1
  579. package/lib/__tests__/ThemeProvider.test.js +0 -444
  580. package/lib/__tests__/ThemeProvider.test.jsx +0 -314
  581. package/lib/__tests__/Timeline.test.d.ts +0 -1
  582. package/lib/__tests__/Timeline.test.js +0 -75
  583. package/lib/__tests__/Timeline.test.jsx +0 -51
  584. package/lib/__tests__/Token.test.d.ts +0 -1
  585. package/lib/__tests__/Token.test.js +0 -180
  586. package/lib/__tests__/Token.test.jsx +0 -93
  587. package/lib/__tests__/Tooltip.test.d.ts +0 -1
  588. package/lib/__tests__/Tooltip.test.js +0 -69
  589. package/lib/__tests__/Tooltip.test.jsx +0 -46
  590. package/lib/__tests__/Truncate.test.d.ts +0 -1
  591. package/lib/__tests__/Truncate.test.js +0 -63
  592. package/lib/__tests__/Truncate.test.jsx +0 -41
  593. package/lib/__tests__/UnderlineNav.test.d.ts +0 -1
  594. package/lib/__tests__/UnderlineNav.test.js +0 -72
  595. package/lib/__tests__/UnderlineNav.test.jsx +0 -53
  596. package/lib/__tests__/UnderlineNavLink.test.d.ts +0 -1
  597. package/lib/__tests__/UnderlineNavLink.test.js +0 -51
  598. package/lib/__tests__/UnderlineNavLink.test.jsx +0 -31
  599. package/lib/__tests__/behaviors/anchoredPosition.test.d.ts +0 -1
  600. package/lib/__tests__/behaviors/anchoredPosition.test.js +0 -243
  601. package/lib/__tests__/behaviors/focusTrap.test.d.ts +0 -1
  602. package/lib/__tests__/behaviors/focusTrap.test.js +0 -234
  603. package/lib/__tests__/behaviors/focusTrap.test.jsx +0 -184
  604. package/lib/__tests__/behaviors/focusZone.test.d.ts +0 -1
  605. package/lib/__tests__/behaviors/focusZone.test.js +0 -570
  606. package/lib/__tests__/behaviors/focusZone.test.jsx +0 -406
  607. package/lib/__tests__/behaviors/iterateFocusableElements.test.d.ts +0 -1
  608. package/lib/__tests__/behaviors/iterateFocusableElements.test.js +0 -55
  609. package/lib/__tests__/behaviors/iterateFocusableElements.test.jsx +0 -58
  610. package/lib/__tests__/behaviors/scrollIntoViewingArea.test.d.ts +0 -1
  611. package/lib/__tests__/behaviors/scrollIntoViewingArea.test.js +0 -155
  612. package/lib/__tests__/filterObject.test.d.ts +0 -1
  613. package/lib/__tests__/filterObject.test.js +0 -51
  614. package/lib/__tests__/hooks/useAnchoredPosition.test.d.ts +0 -1
  615. package/lib/__tests__/hooks/useAnchoredPosition.test.js +0 -54
  616. package/lib/__tests__/hooks/useAnchoredPosition.test.jsx +0 -29
  617. package/lib/__tests__/hooks/useOnEscapePress.test.d.ts +0 -1
  618. package/lib/__tests__/hooks/useOnEscapePress.test.js +0 -32
  619. package/lib/__tests__/hooks/useOnEscapePress.test.jsx +0 -19
  620. package/lib/__tests__/hooks/useOnOutsideClick.test.d.ts +0 -1
  621. package/lib/__tests__/hooks/useOnOutsideClick.test.js +0 -87
  622. package/lib/__tests__/hooks/useOnOutsideClick.test.jsx +0 -63
  623. package/lib/__tests__/hooks/useOpenAndCloseFocus.test.d.ts +0 -1
  624. package/lib/__tests__/hooks/useOpenAndCloseFocus.test.js +0 -60
  625. package/lib/__tests__/hooks/useOpenAndCloseFocus.test.jsx +0 -61
  626. package/lib/__tests__/hooks/useProvidedStateOrCreate.test.d.ts +0 -1
  627. package/lib/__tests__/hooks/useProvidedStateOrCreate.test.js +0 -45
  628. package/lib/__tests__/hooks/useProvidedStateOrCreate.test.jsx +0 -56
  629. package/lib/__tests__/theme.test.d.ts +0 -1
  630. package/lib/__tests__/theme.test.js +0 -35
  631. package/lib/__tests__/themeGet.test.d.ts +0 -1
  632. package/lib/__tests__/themeGet.test.js +0 -14
  633. package/lib/__tests__/useSafeTimeout.test.d.ts +0 -1
  634. package/lib/__tests__/useSafeTimeout.test.js +0 -45
  635. package/lib/__tests__/useSafeTimeout.test.jsx +0 -36
  636. package/lib/__tests__/utils/createSlots.test.d.ts +0 -1
  637. package/lib/__tests__/utils/createSlots.test.js +0 -75
  638. package/lib/__tests__/utils/createSlots.test.jsx +0 -57
  639. package/lib/stories/ActionList.stories.js +0 -454
  640. package/lib/stories/ActionList2.stories.js +0 -908
  641. package/lib/stories/ActionMenu.stories.js +0 -350
  642. package/lib/stories/AnchoredOverlay.stories.js +0 -127
  643. package/lib/stories/Autocomplete.stories.js +0 -619
  644. package/lib/stories/AvatarStack.stories.js +0 -49
  645. package/lib/stories/Button.stories.js +0 -125
  646. package/lib/stories/ConfirmationDialog.stories.js +0 -111
  647. package/lib/stories/Dialog.stories.js +0 -265
  648. package/lib/stories/DropdownMenu.stories.js +0 -122
  649. package/lib/stories/IssueLabelToken.stories.js +0 -165
  650. package/lib/stories/NewButton.stories.js +0 -230
  651. package/lib/stories/Overlay.stories.js +0 -204
  652. package/lib/stories/Portal.stories.js +0 -104
  653. package/lib/stories/ProfileToken.stories.js +0 -162
  654. package/lib/stories/SelectPanel.stories.js +0 -399
  655. package/lib/stories/TextInput.stories.js +0 -144
  656. package/lib/stories/TextInputWithTokens.stories.js +0 -252
  657. package/lib/stories/ThemeProvider.stories.js +0 -102
  658. package/lib/stories/Token.stories.js +0 -176
  659. package/lib/stories/useAnchoredPosition.stories.js +0 -351
  660. package/lib/stories/useFocusTrap.stories.js +0 -356
  661. package/lib/stories/useFocusZone.stories.js +0 -599
  662. package/lib-esm/__tests__/ActionList.test.d.ts +0 -1
  663. package/lib-esm/__tests__/ActionList.test.js +0 -57
  664. package/lib-esm/__tests__/ActionList.types.test.d.ts +0 -6
  665. package/lib-esm/__tests__/ActionList.types.test.js +0 -45
  666. package/lib-esm/__tests__/ActionList2.test.d.ts +0 -1
  667. package/lib-esm/__tests__/ActionList2.test.js +0 -41
  668. package/lib-esm/__tests__/ActionMenu.test.d.ts +0 -1
  669. package/lib-esm/__tests__/ActionMenu.test.js +0 -139
  670. package/lib-esm/__tests__/AnchoredOverlay.test.d.ts +0 -1
  671. package/lib-esm/__tests__/AnchoredOverlay.test.js +0 -136
  672. package/lib-esm/__tests__/Autocomplete.test.d.ts +0 -1
  673. package/lib-esm/__tests__/Autocomplete.test.js +0 -494
  674. package/lib-esm/__tests__/Avatar.test.d.ts +0 -1
  675. package/lib-esm/__tests__/Avatar.test.js +0 -56
  676. package/lib-esm/__tests__/AvatarStack.test.d.ts +0 -1
  677. package/lib-esm/__tests__/AvatarStack.test.js +0 -58
  678. package/lib-esm/__tests__/BorderBox.test.d.ts +0 -1
  679. package/lib-esm/__tests__/BorderBox.test.js +0 -47
  680. package/lib-esm/__tests__/Box.test.d.ts +0 -1
  681. package/lib-esm/__tests__/Box.test.js +0 -67
  682. package/lib-esm/__tests__/BranchName.test.d.ts +0 -1
  683. package/lib-esm/__tests__/BranchName.test.js +0 -26
  684. package/lib-esm/__tests__/Breadcrumbs.test.d.ts +0 -1
  685. package/lib-esm/__tests__/Breadcrumbs.test.js +0 -27
  686. package/lib-esm/__tests__/BreadcrumbsItem.test.d.ts +0 -1
  687. package/lib-esm/__tests__/BreadcrumbsItem.test.js +0 -39
  688. package/lib-esm/__tests__/Button.test.d.ts +0 -1
  689. package/lib-esm/__tests__/Button.test.js +0 -133
  690. package/lib-esm/__tests__/Caret.test.d.ts +0 -1
  691. package/lib-esm/__tests__/Caret.test.js +0 -42
  692. package/lib-esm/__tests__/CircleBadge.test.d.ts +0 -1
  693. package/lib-esm/__tests__/CircleBadge.test.js +0 -70
  694. package/lib-esm/__tests__/CircleOcticon.test.d.ts +0 -1
  695. package/lib-esm/__tests__/CircleOcticon.test.js +0 -59
  696. package/lib-esm/__tests__/ConfirmationDialog.test.d.ts +0 -1
  697. package/lib-esm/__tests__/ConfirmationDialog.test.js +0 -113
  698. package/lib-esm/__tests__/CounterLabel.test.d.ts +0 -1
  699. package/lib-esm/__tests__/CounterLabel.test.js +0 -47
  700. package/lib-esm/__tests__/Details.test.d.ts +0 -1
  701. package/lib-esm/__tests__/Details.test.js +0 -107
  702. package/lib-esm/__tests__/Dialog.test.d.ts +0 -1
  703. package/lib-esm/__tests__/Dialog.test.js +0 -171
  704. package/lib-esm/__tests__/Dropdown.test.d.ts +0 -1
  705. package/lib-esm/__tests__/Dropdown.test.js +0 -53
  706. package/lib-esm/__tests__/DropdownMenu.test.d.ts +0 -1
  707. package/lib-esm/__tests__/DropdownMenu.test.js +0 -137
  708. package/lib-esm/__tests__/FilterList.test.d.ts +0 -1
  709. package/lib-esm/__tests__/FilterList.test.js +0 -26
  710. package/lib-esm/__tests__/FilterListItem.test.d.ts +0 -1
  711. package/lib-esm/__tests__/FilterListItem.test.js +0 -36
  712. package/lib-esm/__tests__/FilteredSearch.test.d.ts +0 -1
  713. package/lib-esm/__tests__/FilteredSearch.test.js +0 -26
  714. package/lib-esm/__tests__/Flash.test.d.ts +0 -1
  715. package/lib-esm/__tests__/Flash.test.js +0 -51
  716. package/lib-esm/__tests__/Flex.test.d.ts +0 -1
  717. package/lib-esm/__tests__/Flex.test.js +0 -64
  718. package/lib-esm/__tests__/FormGroup.test.d.ts +0 -1
  719. package/lib-esm/__tests__/FormGroup.test.js +0 -44
  720. package/lib-esm/__tests__/Grid.test.d.ts +0 -1
  721. package/lib-esm/__tests__/Grid.test.js +0 -94
  722. package/lib-esm/__tests__/Header.test.d.ts +0 -1
  723. package/lib-esm/__tests__/Header.test.js +0 -48
  724. package/lib-esm/__tests__/Heading.test.d.ts +0 -1
  725. package/lib-esm/__tests__/Heading.test.js +0 -99
  726. package/lib-esm/__tests__/KeyPaths.types.test.d.ts +0 -11
  727. package/lib-esm/__tests__/KeyPaths.types.test.js +0 -3
  728. package/lib-esm/__tests__/Label.test.d.ts +0 -1
  729. package/lib-esm/__tests__/Label.test.js +0 -36
  730. package/lib-esm/__tests__/LabelGroup.test.d.ts +0 -1
  731. package/lib-esm/__tests__/LabelGroup.test.js +0 -26
  732. package/lib-esm/__tests__/Link.test.d.ts +0 -1
  733. package/lib-esm/__tests__/Link.test.js +0 -60
  734. package/lib-esm/__tests__/Merge.types.test.d.ts +0 -30
  735. package/lib-esm/__tests__/Merge.types.test.js +0 -14
  736. package/lib-esm/__tests__/NewButton.test.d.ts +0 -1
  737. package/lib-esm/__tests__/NewButton.test.js +0 -84
  738. package/lib-esm/__tests__/Overlay.test.d.ts +0 -1
  739. package/lib-esm/__tests__/Overlay.test.js +0 -123
  740. package/lib-esm/__tests__/Pagehead.test.d.ts +0 -1
  741. package/lib-esm/__tests__/Pagehead.test.js +0 -26
  742. package/lib-esm/__tests__/Pagination/Pagination.test.d.ts +0 -1
  743. package/lib-esm/__tests__/Pagination/Pagination.test.js +0 -35
  744. package/lib-esm/__tests__/Pagination/PaginationModel.test.d.ts +0 -1
  745. package/lib-esm/__tests__/Pagination/PaginationModel.test.js +0 -182
  746. package/lib-esm/__tests__/PointerBox.test.d.ts +0 -1
  747. package/lib-esm/__tests__/PointerBox.test.js +0 -36
  748. package/lib-esm/__tests__/Popover.test.d.ts +0 -1
  749. package/lib-esm/__tests__/Popover.test.js +0 -53
  750. package/lib-esm/__tests__/Portal.test.d.ts +0 -1
  751. package/lib-esm/__tests__/Portal.test.js +0 -104
  752. package/lib-esm/__tests__/Position.test.d.ts +0 -1
  753. package/lib-esm/__tests__/Position.test.js +0 -133
  754. package/lib-esm/__tests__/ProgressBar.test.d.ts +0 -1
  755. package/lib-esm/__tests__/ProgressBar.test.js +0 -58
  756. package/lib-esm/__tests__/SelectMenu.test.d.ts +0 -1
  757. package/lib-esm/__tests__/SelectMenu.test.js +0 -145
  758. package/lib-esm/__tests__/SelectPanel.test.d.ts +0 -1
  759. package/lib-esm/__tests__/SelectPanel.test.js +0 -65
  760. package/lib-esm/__tests__/SideNav.test.d.ts +0 -1
  761. package/lib-esm/__tests__/SideNav.test.js +0 -60
  762. package/lib-esm/__tests__/Spinner.test.d.ts +0 -1
  763. package/lib-esm/__tests__/Spinner.test.js +0 -43
  764. package/lib-esm/__tests__/StateLabel.test.d.ts +0 -1
  765. package/lib-esm/__tests__/StateLabel.test.js +0 -61
  766. package/lib-esm/__tests__/StyledOcticon.test.d.ts +0 -1
  767. package/lib-esm/__tests__/StyledOcticon.test.js +0 -29
  768. package/lib-esm/__tests__/SubNav.test.d.ts +0 -1
  769. package/lib-esm/__tests__/SubNav.test.js +0 -50
  770. package/lib-esm/__tests__/SubNavLink.test.d.ts +0 -1
  771. package/lib-esm/__tests__/SubNavLink.test.js +0 -39
  772. package/lib-esm/__tests__/TabNav.test.d.ts +0 -1
  773. package/lib-esm/__tests__/TabNav.test.js +0 -39
  774. package/lib-esm/__tests__/Text.test.d.ts +0 -1
  775. package/lib-esm/__tests__/Text.test.js +0 -93
  776. package/lib-esm/__tests__/TextInput.test.d.ts +0 -1
  777. package/lib-esm/__tests__/TextInput.test.js +0 -68
  778. package/lib-esm/__tests__/TextInputWithTokens.test.d.ts +0 -1
  779. package/lib-esm/__tests__/TextInputWithTokens.test.js +0 -511
  780. package/lib-esm/__tests__/ThemeProvider.test.d.ts +0 -1
  781. package/lib-esm/__tests__/ThemeProvider.test.js +0 -408
  782. package/lib-esm/__tests__/Timeline.test.d.ts +0 -1
  783. package/lib-esm/__tests__/Timeline.test.js +0 -65
  784. package/lib-esm/__tests__/Token.test.d.ts +0 -1
  785. package/lib-esm/__tests__/Token.test.js +0 -166
  786. package/lib-esm/__tests__/Tooltip.test.d.ts +0 -1
  787. package/lib-esm/__tests__/Tooltip.test.js +0 -59
  788. package/lib-esm/__tests__/Truncate.test.d.ts +0 -1
  789. package/lib-esm/__tests__/Truncate.test.js +0 -53
  790. package/lib-esm/__tests__/UnderlineNav.test.d.ts +0 -1
  791. package/lib-esm/__tests__/UnderlineNav.test.js +0 -60
  792. package/lib-esm/__tests__/UnderlineNavLink.test.d.ts +0 -1
  793. package/lib-esm/__tests__/UnderlineNavLink.test.js +0 -41
  794. package/lib-esm/__tests__/behaviors/anchoredPosition.test.d.ts +0 -1
  795. package/lib-esm/__tests__/behaviors/anchoredPosition.test.js +0 -388
  796. package/lib-esm/__tests__/behaviors/focusTrap.test.d.ts +0 -1
  797. package/lib-esm/__tests__/behaviors/focusTrap.test.js +0 -227
  798. package/lib-esm/__tests__/behaviors/focusZone.test.d.ts +0 -1
  799. package/lib-esm/__tests__/behaviors/focusZone.test.js +0 -487
  800. package/lib-esm/__tests__/behaviors/iterateFocusableElements.test.d.ts +0 -1
  801. package/lib-esm/__tests__/behaviors/iterateFocusableElements.test.js +0 -48
  802. package/lib-esm/__tests__/behaviors/scrollIntoViewingArea.test.d.ts +0 -1
  803. package/lib-esm/__tests__/behaviors/scrollIntoViewingArea.test.js +0 -224
  804. package/lib-esm/__tests__/filterObject.test.d.ts +0 -1
  805. package/lib-esm/__tests__/filterObject.test.js +0 -27
  806. package/lib-esm/__tests__/hooks/useAnchoredPosition.test.d.ts +0 -1
  807. package/lib-esm/__tests__/hooks/useAnchoredPosition.test.js +0 -46
  808. package/lib-esm/__tests__/hooks/useOnEscapePress.test.d.ts +0 -1
  809. package/lib-esm/__tests__/hooks/useOnEscapePress.test.js +0 -23
  810. package/lib-esm/__tests__/hooks/useOnOutsideClick.test.d.ts +0 -1
  811. package/lib-esm/__tests__/hooks/useOnOutsideClick.test.js +0 -68
  812. package/lib-esm/__tests__/hooks/useOpenAndCloseFocus.test.d.ts +0 -1
  813. package/lib-esm/__tests__/hooks/useOpenAndCloseFocus.test.js +0 -52
  814. package/lib-esm/__tests__/hooks/useProvidedStateOrCreate.test.d.ts +0 -1
  815. package/lib-esm/__tests__/hooks/useProvidedStateOrCreate.test.js +0 -36
  816. package/lib-esm/__tests__/theme.test.d.ts +0 -1
  817. package/lib-esm/__tests__/theme.test.js +0 -33
  818. package/lib-esm/__tests__/themeGet.test.d.ts +0 -1
  819. package/lib-esm/__tests__/themeGet.test.js +0 -22
  820. package/lib-esm/__tests__/useSafeTimeout.test.d.ts +0 -1
  821. package/lib-esm/__tests__/useSafeTimeout.test.js +0 -39
  822. package/lib-esm/__tests__/utils/createSlots.test.d.ts +0 -1
  823. package/lib-esm/__tests__/utils/createSlots.test.js +0 -67
  824. package/lib-esm/stories/ActionList.stories.js +0 -395
  825. package/lib-esm/stories/ActionList2.stories.js +0 -796
  826. package/lib-esm/stories/ActionMenu.stories.js +0 -305
  827. package/lib-esm/stories/AnchoredOverlay.stories.js +0 -101
  828. package/lib-esm/stories/Autocomplete.stories.js +0 -560
  829. package/lib-esm/stories/AvatarStack.stories.js +0 -32
  830. package/lib-esm/stories/Button.stories.js +0 -86
  831. package/lib-esm/stories/ConfirmationDialog.stories.js +0 -86
  832. package/lib-esm/stories/Dialog.stories.js +0 -240
  833. package/lib-esm/stories/DropdownMenu.stories.js +0 -94
  834. package/lib-esm/stories/IssueLabelToken.stories.js +0 -139
  835. package/lib-esm/stories/NewButton.stories.js +0 -178
  836. package/lib-esm/stories/Overlay.stories.js +0 -173
  837. package/lib-esm/stories/Portal.stories.js +0 -68
  838. package/lib-esm/stories/ProfileToken.stories.js +0 -136
  839. package/lib-esm/stories/SelectPanel.stories.js +0 -334
  840. package/lib-esm/stories/TextInput.stories.js +0 -117
  841. package/lib-esm/stories/TextInputWithTokens.stories.js +0 -210
  842. package/lib-esm/stories/ThemeProvider.stories.js +0 -83
  843. package/lib-esm/stories/Token.stories.js +0 -146
  844. package/lib-esm/stories/useAnchoredPosition.stories.js +0 -313
  845. package/lib-esm/stories/useFocusTrap.stories.js +0 -309
  846. package/lib-esm/stories/useFocusZone.stories.js +0 -554
  847. package/migrating.md +0 -250
  848. package/now.json +0 -17
  849. package/package-lock.json +0 -66509
  850. package/rollup.config.js +0 -36
  851. package/script/build +0 -21
  852. package/script/build-storybook +0 -10
  853. package/script/setup +0 -12
  854. package/src/ActionList/Divider.tsx +0 -25
  855. package/src/ActionList/Group.tsx +0 -45
  856. package/src/ActionList/Header.tsx +0 -74
  857. package/src/ActionList/Item.tsx +0 -509
  858. package/src/ActionList/List.tsx +0 -258
  859. package/src/ActionList/index.ts +0 -21
  860. package/src/ActionList2/Description.tsx +0 -52
  861. package/src/ActionList2/Divider.tsx +0 -24
  862. package/src/ActionList2/Group.tsx +0 -34
  863. package/src/ActionList2/Header.tsx +0 -58
  864. package/src/ActionList2/Item.tsx +0 -246
  865. package/src/ActionList2/LinkItem.tsx +0 -49
  866. package/src/ActionList2/List.tsx +0 -55
  867. package/src/ActionList2/Selection.tsx +0 -60
  868. package/src/ActionList2/Visuals.tsx +0 -76
  869. package/src/ActionList2/index.ts +0 -39
  870. package/src/ActionMenu.tsx +0 -106
  871. package/src/AnchoredOverlay/AnchoredOverlay.tsx +0 -191
  872. package/src/AnchoredOverlay/index.ts +0 -2
  873. package/src/Autocomplete/Autocomplete.tsx +0 -103
  874. package/src/Autocomplete/AutocompleteContext.tsx +0 -19
  875. package/src/Autocomplete/AutocompleteInput.tsx +0 -179
  876. package/src/Autocomplete/AutocompleteMenu.tsx +0 -341
  877. package/src/Autocomplete/AutocompleteOverlay.tsx +0 -68
  878. package/src/Autocomplete/index.ts +0 -2
  879. package/src/Avatar.tsx +0 -46
  880. package/src/AvatarPair.tsx +0 -35
  881. package/src/AvatarStack.tsx +0 -159
  882. package/src/BaseStyles.tsx +0 -53
  883. package/src/BorderBox.tsx +0 -18
  884. package/src/Box.tsx +0 -54
  885. package/src/BranchName.tsx +0 -19
  886. package/src/Breadcrumbs.tsx +0 -101
  887. package/src/Button/Button.tsx +0 -40
  888. package/src/Button/ButtonBase.tsx +0 -43
  889. package/src/Button/ButtonClose.tsx +0 -40
  890. package/src/Button/ButtonDanger.tsx +0 -43
  891. package/src/Button/ButtonGroup.tsx +0 -55
  892. package/src/Button/ButtonInvisible.tsx +0 -32
  893. package/src/Button/ButtonOutline.tsx +0 -43
  894. package/src/Button/ButtonPrimary.tsx +0 -41
  895. package/src/Button/ButtonStyles.tsx +0 -36
  896. package/src/Button/ButtonTableList.tsx +0 -58
  897. package/src/Button/index.ts +0 -16
  898. package/src/Caret.tsx +0 -133
  899. package/src/CircleBadge.tsx +0 -55
  900. package/src/CircleOcticon.tsx +0 -37
  901. package/src/CounterLabel.tsx +0 -52
  902. package/src/Details.tsx +0 -23
  903. package/src/Dialog/ConfirmationDialog.tsx +0 -184
  904. package/src/Dialog/Dialog.tsx +0 -433
  905. package/src/Dialog.tsx +0 -149
  906. package/src/Dropdown.tsx +0 -158
  907. package/src/DropdownMenu/DropdownButton.tsx +0 -15
  908. package/src/DropdownMenu/DropdownMenu.tsx +0 -115
  909. package/src/DropdownMenu/index.ts +0 -4
  910. package/src/DropdownStyles.ts +0 -128
  911. package/src/FilterList.tsx +0 -81
  912. package/src/FilteredActionList/FilteredActionList.tsx +0 -142
  913. package/src/FilteredActionList/index.ts +0 -2
  914. package/src/FilteredSearch.tsx +0 -28
  915. package/src/Flash.tsx +0 -77
  916. package/src/Flex.tsx +0 -15
  917. package/src/FormGroup.tsx +0 -27
  918. package/src/Grid.tsx +0 -15
  919. package/src/Header.tsx +0 -84
  920. package/src/Heading.tsx +0 -21
  921. package/src/Label.tsx +0 -75
  922. package/src/LabelGroup.tsx +0 -18
  923. package/src/Link.tsx +0 -46
  924. package/src/NewButton/button-counter.tsx +0 -15
  925. package/src/NewButton/button.tsx +0 -279
  926. package/src/NewButton/index.ts +0 -10
  927. package/src/NewButton/types.ts +0 -36
  928. package/src/Overlay.tsx +0 -198
  929. package/src/Pagehead.tsx +0 -17
  930. package/src/Pagination/Pagination.tsx +0 -214
  931. package/src/Pagination/index.ts +0 -4
  932. package/src/Pagination/model.tsx +0 -187
  933. package/src/PointerBox.tsx +0 -31
  934. package/src/Popover.tsx +0 -236
  935. package/src/Portal/Portal.tsx +0 -97
  936. package/src/Portal/index.ts +0 -5
  937. package/src/Position.tsx +0 -63
  938. package/src/ProgressBar.tsx +0 -52
  939. package/src/SelectMenu/SelectMenu.tsx +0 -125
  940. package/src/SelectMenu/SelectMenuContext.tsx +0 -9
  941. package/src/SelectMenu/SelectMenuDivider.tsx +0 -25
  942. package/src/SelectMenu/SelectMenuFilter.tsx +0 -51
  943. package/src/SelectMenu/SelectMenuFooter.tsx +0 -28
  944. package/src/SelectMenu/SelectMenuHeader.tsx +0 -50
  945. package/src/SelectMenu/SelectMenuItem.tsx +0 -137
  946. package/src/SelectMenu/SelectMenuList.tsx +0 -42
  947. package/src/SelectMenu/SelectMenuLoadingAnimation.tsx +0 -24
  948. package/src/SelectMenu/SelectMenuModal.tsx +0 -121
  949. package/src/SelectMenu/SelectMenuTab.tsx +0 -88
  950. package/src/SelectMenu/SelectMenuTabPanel.tsx +0 -30
  951. package/src/SelectMenu/SelectMenuTabs.tsx +0 -44
  952. package/src/SelectMenu/hooks/useKeyboardNav.js +0 -90
  953. package/src/SelectMenu/index.ts +0 -15
  954. package/src/SelectPanel/SelectPanel.tsx +0 -173
  955. package/src/SelectPanel/index.ts +0 -2
  956. package/src/SideNav.tsx +0 -193
  957. package/src/Spinner.tsx +0 -59
  958. package/src/StateLabel.tsx +0 -114
  959. package/src/StyledOcticon.tsx +0 -24
  960. package/src/SubNav.tsx +0 -129
  961. package/src/TabNav.tsx +0 -77
  962. package/src/Text.tsx +0 -13
  963. package/src/TextInput.tsx +0 -68
  964. package/src/TextInputWithTokens.tsx +0 -351
  965. package/src/ThemeProvider.tsx +0 -176
  966. package/src/Timeline.tsx +0 -141
  967. package/src/Token/AvatarToken.tsx +0 -54
  968. package/src/Token/IssueLabelToken.tsx +0 -150
  969. package/src/Token/Token.tsx +0 -126
  970. package/src/Token/TokenBase.tsx +0 -129
  971. package/src/Token/_RemoveTokenButton.tsx +0 -111
  972. package/src/Token/_TokenTextContainer.tsx +0 -47
  973. package/src/Token/index.ts +0 -3
  974. package/src/Tooltip.tsx +0 -263
  975. package/src/Truncate.tsx +0 -36
  976. package/src/UnderlineNav.tsx +0 -110
  977. package/src/_TextInputWrapper.tsx +0 -113
  978. package/src/_UnstyledTextInput.tsx +0 -19
  979. package/src/__tests__/.eslintrc.json +0 -11
  980. package/src/__tests__/ActionList.test.tsx +0 -53
  981. package/src/__tests__/ActionList.types.test.tsx +0 -51
  982. package/src/__tests__/ActionList2.test.tsx +0 -47
  983. package/src/__tests__/ActionMenu.test.tsx +0 -136
  984. package/src/__tests__/AnchoredOverlay.test.tsx +0 -150
  985. package/src/__tests__/Autocomplete.test.tsx +0 -444
  986. package/src/__tests__/Avatar.test.tsx +0 -44
  987. package/src/__tests__/AvatarStack.test.tsx +0 -48
  988. package/src/__tests__/BorderBox.test.tsx +0 -43
  989. package/src/__tests__/Box.test.tsx +0 -42
  990. package/src/__tests__/BranchName.test.tsx +0 -26
  991. package/src/__tests__/Breadcrumbs.test.tsx +0 -27
  992. package/src/__tests__/BreadcrumbsItem.test.tsx +0 -31
  993. package/src/__tests__/Button.test.tsx +0 -128
  994. package/src/__tests__/Caret.test.tsx +0 -36
  995. package/src/__tests__/CircleBadge.test.tsx +0 -66
  996. package/src/__tests__/CircleOcticon.test.tsx +0 -50
  997. package/src/__tests__/ConfirmationDialog.test.tsx +0 -120
  998. package/src/__tests__/CounterLabel.test.tsx +0 -50
  999. package/src/__tests__/Details.test.tsx +0 -115
  1000. package/src/__tests__/Dialog.test.tsx +0 -155
  1001. package/src/__tests__/Dropdown.test.tsx +0 -53
  1002. package/src/__tests__/DropdownMenu.test.tsx +0 -136
  1003. package/src/__tests__/FilterList.test.tsx +0 -26
  1004. package/src/__tests__/FilterListItem.test.tsx +0 -31
  1005. package/src/__tests__/FilteredSearch.test.tsx +0 -26
  1006. package/src/__tests__/Flash.test.tsx +0 -45
  1007. package/src/__tests__/Flex.test.tsx +0 -58
  1008. package/src/__tests__/FormGroup.test.tsx +0 -38
  1009. package/src/__tests__/Grid.test.tsx +0 -82
  1010. package/src/__tests__/Header.test.tsx +0 -49
  1011. package/src/__tests__/Heading.test.tsx +0 -91
  1012. package/src/__tests__/KeyPaths.types.test.ts +0 -14
  1013. package/src/__tests__/Label.test.tsx +0 -34
  1014. package/src/__tests__/LabelGroup.test.tsx +0 -30
  1015. package/src/__tests__/Link.test.tsx +0 -47
  1016. package/src/__tests__/Merge.types.test.ts +0 -39
  1017. package/src/__tests__/NewButton.test.tsx +0 -70
  1018. package/src/__tests__/Overlay.test.tsx +0 -103
  1019. package/src/__tests__/Pagehead.test.tsx +0 -23
  1020. package/src/__tests__/Pagination/Pagination.test.tsx +0 -30
  1021. package/src/__tests__/Pagination/PaginationModel.test.tsx +0 -133
  1022. package/src/__tests__/Pagination/__snapshots__/Pagination.test.tsx.snap +0 -184
  1023. package/src/__tests__/PointerBox.test.tsx +0 -34
  1024. package/src/__tests__/Popover.test.tsx +0 -68
  1025. package/src/__tests__/Portal.test.tsx +0 -103
  1026. package/src/__tests__/Position.test.tsx +0 -117
  1027. package/src/__tests__/ProgressBar.test.tsx +0 -40
  1028. package/src/__tests__/SelectMenu.test.tsx +0 -142
  1029. package/src/__tests__/SelectPanel.test.tsx +0 -63
  1030. package/src/__tests__/SideNav.test.tsx +0 -62
  1031. package/src/__tests__/Spinner.test.tsx +0 -42
  1032. package/src/__tests__/StateLabel.test.tsx +0 -48
  1033. package/src/__tests__/StyledOcticon.test.tsx +0 -26
  1034. package/src/__tests__/SubNav.test.tsx +0 -50
  1035. package/src/__tests__/SubNavLink.test.tsx +0 -31
  1036. package/src/__tests__/TabNav.test.tsx +0 -32
  1037. package/src/__tests__/Text.test.tsx +0 -78
  1038. package/src/__tests__/TextInput.test.tsx +0 -49
  1039. package/src/__tests__/TextInputWithTokens.test.tsx +0 -422
  1040. package/src/__tests__/ThemeProvider.test.tsx +0 -441
  1041. package/src/__tests__/Timeline.test.tsx +0 -58
  1042. package/src/__tests__/Token.test.tsx +0 -118
  1043. package/src/__tests__/Tooltip.test.tsx +0 -52
  1044. package/src/__tests__/Truncate.test.tsx +0 -43
  1045. package/src/__tests__/UnderlineNav.test.tsx +0 -58
  1046. package/src/__tests__/UnderlineNavLink.test.tsx +0 -31
  1047. package/src/__tests__/__snapshots__/ActionList.test.tsx.snap +0 -223
  1048. package/src/__tests__/__snapshots__/ActionList2.test.tsx.snap +0 -14
  1049. package/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap +0 -80
  1050. package/src/__tests__/__snapshots__/AnchoredOverlay.test.tsx.snap +0 -232
  1051. package/src/__tests__/__snapshots__/Autocomplete.test.tsx.snap +0 -3888
  1052. package/src/__tests__/__snapshots__/Avatar.test.tsx.snap +0 -19
  1053. package/src/__tests__/__snapshots__/AvatarStack.test.tsx.snap +0 -377
  1054. package/src/__tests__/__snapshots__/BorderBox.test.tsx.snap +0 -14
  1055. package/src/__tests__/__snapshots__/Box.test.tsx.snap +0 -201
  1056. package/src/__tests__/__snapshots__/BranchName.test.tsx.snap +0 -17
  1057. package/src/__tests__/__snapshots__/Breadcrumbs.test.tsx.snap +0 -29
  1058. package/src/__tests__/__snapshots__/BreadcrumbsItem.test.tsx.snap +0 -79
  1059. package/src/__tests__/__snapshots__/Button.test.tsx.snap +0 -840
  1060. package/src/__tests__/__snapshots__/Caret.test.tsx.snap +0 -373
  1061. package/src/__tests__/__snapshots__/CircleBadge.test.tsx.snap +0 -142
  1062. package/src/__tests__/__snapshots__/CircleOcticon.test.tsx.snap +0 -65
  1063. package/src/__tests__/__snapshots__/ConfirmationDialog.test.tsx.snap +0 -89
  1064. package/src/__tests__/__snapshots__/CounterLabel.test.tsx.snap +0 -22
  1065. package/src/__tests__/__snapshots__/Details.test.tsx.snap +0 -15
  1066. package/src/__tests__/__snapshots__/Dialog.test.tsx.snap +0 -201
  1067. package/src/__tests__/__snapshots__/Dropdown.test.tsx.snap +0 -249
  1068. package/src/__tests__/__snapshots__/DropdownMenu.test.tsx.snap +0 -107
  1069. package/src/__tests__/__snapshots__/FilterList.test.tsx.snap +0 -13
  1070. package/src/__tests__/__snapshots__/FilterListItem.test.tsx.snap +0 -80
  1071. package/src/__tests__/__snapshots__/FilteredSearch.test.tsx.snap +0 -32
  1072. package/src/__tests__/__snapshots__/Flash.test.tsx.snap +0 -32
  1073. package/src/__tests__/__snapshots__/Flex.test.tsx.snap +0 -130
  1074. package/src/__tests__/__snapshots__/FormGroup.test.tsx.snap +0 -25
  1075. package/src/__tests__/__snapshots__/Grid.test.tsx.snap +0 -178
  1076. package/src/__tests__/__snapshots__/Header.test.tsx.snap +0 -79
  1077. package/src/__tests__/__snapshots__/Heading.test.tsx.snap +0 -13
  1078. package/src/__tests__/__snapshots__/Label.test.tsx.snap +0 -74
  1079. package/src/__tests__/__snapshots__/LabelGroup.test.tsx.snap +0 -15
  1080. package/src/__tests__/__snapshots__/Link.test.tsx.snap +0 -213
  1081. package/src/__tests__/__snapshots__/NewButton.test.tsx.snap +0 -300
  1082. package/src/__tests__/__snapshots__/Pagehead.test.tsx.snap +0 -15
  1083. package/src/__tests__/__snapshots__/PointerBox.test.tsx.snap +0 -174
  1084. package/src/__tests__/__snapshots__/Popover.test.tsx.snap +0 -4687
  1085. package/src/__tests__/__snapshots__/Position.test.tsx.snap +0 -44
  1086. package/src/__tests__/__snapshots__/ProgressBar.test.tsx.snap +0 -53
  1087. package/src/__tests__/__snapshots__/SelectMenu.test.tsx.snap +0 -473
  1088. package/src/__tests__/__snapshots__/SelectPanel.test.tsx.snap +0 -124
  1089. package/src/__tests__/__snapshots__/SideNav.test.tsx.snap +0 -143
  1090. package/src/__tests__/__snapshots__/Spinner.test.tsx.snap +0 -33
  1091. package/src/__tests__/__snapshots__/StateLabel.test.tsx.snap +0 -395
  1092. package/src/__tests__/__snapshots__/StyledOcticon.test.tsx.snap +0 -26
  1093. package/src/__tests__/__snapshots__/SubNav.test.tsx.snap +0 -44
  1094. package/src/__tests__/__snapshots__/SubNavLink.test.tsx.snap +0 -199
  1095. package/src/__tests__/__snapshots__/TabNav.test.tsx.snap +0 -58
  1096. package/src/__tests__/__snapshots__/Text.test.tsx.snap +0 -7
  1097. package/src/__tests__/__snapshots__/TextInput.test.tsx.snap +0 -446
  1098. package/src/__tests__/__snapshots__/TextInputWithTokens.test.tsx.snap +0 -6045
  1099. package/src/__tests__/__snapshots__/ThemeProvider.test.tsx.snap +0 -15
  1100. package/src/__tests__/__snapshots__/Timeline.test.tsx.snap +0 -159
  1101. package/src/__tests__/__snapshots__/Token.test.tsx.snap +0 -3811
  1102. package/src/__tests__/__snapshots__/Tooltip.test.tsx.snap +0 -227
  1103. package/src/__tests__/__snapshots__/Truncate.test.tsx.snap +0 -17
  1104. package/src/__tests__/__snapshots__/UnderlineNav.test.tsx.snap +0 -59
  1105. package/src/__tests__/__snapshots__/UnderlineNavLink.test.tsx.snap +0 -130
  1106. package/src/__tests__/behaviors/anchoredPosition.test.ts +0 -295
  1107. package/src/__tests__/behaviors/focusTrap.test.tsx +0 -236
  1108. package/src/__tests__/behaviors/focusZone.test.tsx +0 -549
  1109. package/src/__tests__/behaviors/iterateFocusableElements.test.tsx +0 -61
  1110. package/src/__tests__/behaviors/scrollIntoViewingArea.test.ts +0 -195
  1111. package/src/__tests__/filterObject.test.ts +0 -54
  1112. package/src/__tests__/hooks/useAnchoredPosition.test.tsx +0 -31
  1113. package/src/__tests__/hooks/useOnEscapePress.test.tsx +0 -16
  1114. package/src/__tests__/hooks/useOnOutsideClick.test.tsx +0 -48
  1115. package/src/__tests__/hooks/useOpenAndCloseFocus.test.tsx +0 -48
  1116. package/src/__tests__/hooks/useProvidedStateOrCreate.test.tsx +0 -39
  1117. package/src/__tests__/theme.test.ts +0 -41
  1118. package/src/__tests__/themeGet.test.ts +0 -15
  1119. package/src/__tests__/useSafeTimeout.test.tsx +0 -36
  1120. package/src/__tests__/utils/__snapshots__/createSlots.test.tsx.snap +0 -55
  1121. package/src/__tests__/utils/createSlots.test.tsx +0 -74
  1122. package/src/behaviors/anchoredPosition.ts +0 -442
  1123. package/src/behaviors/focusTrap.ts +0 -184
  1124. package/src/behaviors/focusZone.ts +0 -713
  1125. package/src/behaviors/scrollIntoViewingArea.ts +0 -27
  1126. package/src/constants.ts +0 -62
  1127. package/src/drafts.ts +0 -10
  1128. package/src/hooks/index.ts +0 -11
  1129. package/src/hooks/useAnchoredPosition.ts +0 -54
  1130. package/src/hooks/useCombinedRefs.ts +0 -40
  1131. package/src/hooks/useDetails.tsx +0 -54
  1132. package/src/hooks/useDialog.ts +0 -121
  1133. package/src/hooks/useFocusTrap.ts +0 -80
  1134. package/src/hooks/useFocusZone.ts +0 -64
  1135. package/src/hooks/useOnEscapePress.ts +0 -63
  1136. package/src/hooks/useOnOutsideClick.tsx +0 -82
  1137. package/src/hooks/useOpenAndCloseFocus.ts +0 -32
  1138. package/src/hooks/useOverlay.tsx +0 -34
  1139. package/src/hooks/useProvidedRefOrCreate.ts +0 -14
  1140. package/src/hooks/useProvidedStateOrCreate.ts +0 -27
  1141. package/src/hooks/useRenderForcingRef.ts +0 -22
  1142. package/src/hooks/useResizeObserver.ts +0 -11
  1143. package/src/hooks/useSafeTimeout.ts +0 -38
  1144. package/src/hooks/useScrollFlash.ts +0 -21
  1145. package/src/index.ts +0 -172
  1146. package/src/polyfills/eventListenerSignal.ts +0 -66
  1147. package/src/stories/ActionList.stories.tsx +0 -436
  1148. package/src/stories/ActionList2.stories.tsx +0 -1291
  1149. package/src/stories/ActionMenu.stories.tsx +0 -334
  1150. package/src/stories/AnchoredOverlay.stories.tsx +0 -117
  1151. package/src/stories/Autocomplete.stories.tsx +0 -655
  1152. package/src/stories/AvatarStack.stories.tsx +0 -37
  1153. package/src/stories/Button.stories.tsx +0 -92
  1154. package/src/stories/ConfirmationDialog.stories.tsx +0 -105
  1155. package/src/stories/Dialog.stories.tsx +0 -240
  1156. package/src/stories/DropdownMenu.stories.tsx +0 -84
  1157. package/src/stories/IssueLabelToken.stories.tsx +0 -138
  1158. package/src/stories/NewButton.stories.tsx +0 -201
  1159. package/src/stories/Overlay.stories.tsx +0 -213
  1160. package/src/stories/Portal.stories.tsx +0 -109
  1161. package/src/stories/ProfileToken.stories.tsx +0 -129
  1162. package/src/stories/SelectPanel.stories.tsx +0 -353
  1163. package/src/stories/TextInput.stories.tsx +0 -113
  1164. package/src/stories/TextInputWithTokens.stories.tsx +0 -155
  1165. package/src/stories/ThemeProvider.stories.tsx +0 -104
  1166. package/src/stories/Token.stories.tsx +0 -137
  1167. package/src/stories/useAnchoredPosition.stories.tsx +0 -332
  1168. package/src/stories/useFocusTrap.stories.tsx +0 -400
  1169. package/src/stories/useFocusZone.stories.tsx +0 -663
  1170. package/src/sx.ts +0 -24
  1171. package/src/theme-preval.js +0 -80
  1172. package/src/theme.ts +0 -89
  1173. package/src/utils/create-slots.tsx +0 -96
  1174. package/src/utils/deprecate.tsx +0 -73
  1175. package/src/utils/isNumeric.tsx +0 -4
  1176. package/src/utils/iterateFocusableElements.ts +0 -121
  1177. package/src/utils/ssr.tsx +0 -1
  1178. package/src/utils/test-deprecations.tsx +0 -19
  1179. package/src/utils/test-helpers.tsx +0 -7
  1180. package/src/utils/test-matchers.tsx +0 -109
  1181. package/src/utils/testing.tsx +0 -242
  1182. package/src/utils/theme.js +0 -64
  1183. package/src/utils/types/AriaRole.ts +0 -71
  1184. package/src/utils/types/ComponentProps.ts +0 -13
  1185. package/src/utils/types/Flatten.ts +0 -4
  1186. package/src/utils/types/KeyPaths.ts +0 -10
  1187. package/src/utils/types/MandateProps.ts +0 -19
  1188. package/src/utils/types/Merge.ts +0 -20
  1189. package/src/utils/types/index.ts +0 -5
  1190. package/src/utils/uniqueId.ts +0 -6
  1191. package/src/utils/use-force-update.ts +0 -7
  1192. package/src/utils/useIsomorphicLayoutEffect.ts +0 -10
  1193. package/src/utils/userAgent.ts +0 -7
  1194. package/stats.html +0 -3279
  1195. package/tsconfig.base.json +0 -20
  1196. package/tsconfig.build.json +0 -7
  1197. package/tsconfig.json +0 -7
@@ -1,1291 +0,0 @@
1
- import {
2
- ServerIcon,
3
- PlusCircleIcon,
4
- TypographyIcon,
5
- VersionsIcon,
6
- SearchIcon,
7
- NoteIcon,
8
- ProjectIcon,
9
- FilterIcon,
10
- GearIcon,
11
- ArrowRightIcon,
12
- ArrowLeftIcon,
13
- LinkIcon,
14
- LawIcon,
15
- StarIcon,
16
- RepoForkedIcon,
17
- AlertIcon,
18
- TableIcon,
19
- PeopleIcon,
20
- CalendarIcon,
21
- IssueOpenedIcon,
22
- NumberIcon,
23
- XIcon,
24
- RepoIcon
25
- } from '@primer/octicons-react'
26
- import {Meta} from '@storybook/react'
27
- import React, {forwardRef} from 'react'
28
- import styled from 'styled-components'
29
- import {DndProvider, useDrag, useDrop} from 'react-dnd'
30
- import {HTML5Backend} from 'react-dnd-html5-backend'
31
- import {Label, ThemeProvider} from '..'
32
- import {ActionList as _ActionList, ItemProps} from '../ActionList2'
33
- import {Header} from '../ActionList/Header'
34
- import BaseStyles from '../BaseStyles'
35
- import Avatar from '../Avatar'
36
- import {ButtonInvisible} from '../Button'
37
- import TextInput from '../TextInput'
38
- import Spinner from '../Spinner'
39
- import Box from '../Box'
40
- import {AnchoredOverlay} from '../AnchoredOverlay'
41
-
42
- const ActionList = Object.assign(_ActionList, {
43
- Header
44
- })
45
-
46
- const meta: Meta = {
47
- title: 'Composite components/ActionList2',
48
- component: ActionList,
49
- decorators: [
50
- (Story: React.ComponentType): JSX.Element => (
51
- <ThemeProvider>
52
- <BaseStyles>
53
- <Story />
54
- </BaseStyles>
55
- </ThemeProvider>
56
- )
57
- ],
58
- parameters: {
59
- controls: {
60
- disable: true
61
- }
62
- }
63
- }
64
- export default meta
65
-
66
- const ErsatzOverlay = styled.div<{maxWidth?: string}>`
67
- border-radius: 12px;
68
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 8px 24px rgba(149, 157, 165, 0.2);
69
- overflow: hidden;
70
- max-width: ${({maxWidth}) => maxWidth || 'none'};
71
- `
72
- export function SimpleListStory(): JSX.Element {
73
- return (
74
- <>
75
- <h1>Simple List</h1>
76
-
77
- <ActionList>
78
- <ActionList.Item>Copy link</ActionList.Item>
79
- <ActionList.Item>Quote reply</ActionList.Item>
80
- <ActionList.Item>Edit comment</ActionList.Item>
81
- <ActionList.Divider />
82
- <ActionList.Item variant="danger">Delete file</ActionList.Item>
83
- </ActionList>
84
- </>
85
- )
86
- }
87
- SimpleListStory.storyName = 'Simple List'
88
-
89
- export function WithIcon(): JSX.Element {
90
- return (
91
- <>
92
- <h1>With Icon</h1>
93
-
94
- <ActionList>
95
- <ActionList.Item>
96
- <ActionList.LeadingVisual>
97
- <LinkIcon />
98
- </ActionList.LeadingVisual>
99
- github.com/primer
100
- </ActionList.Item>
101
- <ActionList.Item>
102
- <ActionList.LeadingVisual>
103
- <LawIcon />
104
- </ActionList.LeadingVisual>
105
- MIT License
106
- </ActionList.Item>
107
- <ActionList.Item>
108
- <ActionList.LeadingVisual>
109
- <StarIcon />
110
- </ActionList.LeadingVisual>
111
- 256 stars
112
- </ActionList.Item>
113
- <ActionList.Item>
114
- <ActionList.LeadingVisual>
115
- <RepoForkedIcon />
116
- </ActionList.LeadingVisual>
117
- 3 forks
118
- </ActionList.Item>
119
- <ActionList.Item variant="danger">
120
- <ActionList.LeadingVisual>
121
- <AlertIcon />
122
- </ActionList.LeadingVisual>
123
- 4 vulnerabilities
124
- </ActionList.Item>
125
- </ActionList>
126
- </>
127
- )
128
- }
129
- WithIcon.storyName = 'With Icon'
130
-
131
- const users = [
132
- {login: 'pksjce', name: 'Pavithra Kodmad'},
133
- {login: 'jfuchs', name: 'Jonathan Fuchs'},
134
- {login: 'colebemis', name: 'Cole Bemis'},
135
- {login: 'mperrotti', name: 'Mike Perrotti'},
136
- {login: 'dgreif', name: 'Dusty Greif'},
137
- {login: 'smockle', name: 'Clay Miller'},
138
- {login: 'siddharthkp', name: 'Siddharth Kshetrapal'}
139
- ]
140
-
141
- export function WithAvatar(): JSX.Element {
142
- return (
143
- <>
144
- <h1>With Avatar</h1>
145
- <ErsatzOverlay>
146
- <ActionList>
147
- {users.map(user => (
148
- <ActionList.Item key={user.login}>
149
- <ActionList.LeadingVisual>
150
- <Avatar src={`https://github.com/${user.login}.png`} />
151
- </ActionList.LeadingVisual>
152
- {user.login}
153
- </ActionList.Item>
154
- ))}
155
- </ActionList>
156
- </ErsatzOverlay>
157
- </>
158
- )
159
- }
160
- WithAvatar.storyName = 'With Avatar'
161
-
162
- const labels = [
163
- {name: 'blocked', color: '#86181d', description: 'Someone or something is preventing this from moving forward'},
164
- {name: 'dependencies', color: '#0366d6', description: 'Pull requests that update a dependency file'},
165
- {name: 'duplicate', color: '#cfd3d7', description: 'This issue or pull request already exists'},
166
- {name: 'good first issue', color: '#7057ff', description: 'Good for newcomers'}
167
- ]
168
-
169
- const LabelColor: React.FC<{color: string}> = ({color}) => (
170
- <Box sx={{backgroundColor: color, width: '14px', height: '14px', borderRadius: 3}} />
171
- )
172
-
173
- export function WithDescription(): JSX.Element {
174
- return (
175
- <>
176
- <h1>With Description & Dividers</h1>
177
- <ErsatzOverlay>
178
- <ActionList showDividers>
179
- {users.map(user => (
180
- <ActionList.Item key={user.login}>
181
- <ActionList.LeadingVisual>
182
- <Avatar src={`https://github.com/${user.login}.png`} />
183
- </ActionList.LeadingVisual>
184
- {user.login}
185
- <ActionList.Description>{user.name}</ActionList.Description>
186
- </ActionList.Item>
187
- ))}
188
- <ActionList.Divider />
189
- {labels.map((label, index) => (
190
- <ActionList.Item key={index}>
191
- <ActionList.LeadingVisual>
192
- <LabelColor color={label.color} />
193
- </ActionList.LeadingVisual>
194
- {label.name}
195
- <ActionList.Description variant="block">{label.description}</ActionList.Description>
196
- </ActionList.Item>
197
- ))}
198
- </ActionList>
199
- </ErsatzOverlay>
200
- </>
201
- )
202
- }
203
- WithDescription.storyName = 'With Description & Dividers'
204
-
205
- const projects = [
206
- {name: 'Primer Backlog', scope: 'GitHub'},
207
- {name: 'Accessibility', scope: 'GitHub'},
208
- {name: 'Octicons', scope: 'github/primer'},
209
- {name: 'Primer React', scope: 'github/primer'}
210
- ]
211
-
212
- export function SingleSelectListStory(): JSX.Element {
213
- const [selectedIndex, setSelectedIndex] = React.useState(1)
214
-
215
- return (
216
- <>
217
- <h1>Single Select List</h1>
218
- <ErsatzOverlay>
219
- <ActionList selectionVariant="single" showDividers role="listbox" aria-label="Select a project">
220
- {projects.map((project, index) => (
221
- <ActionList.Item
222
- key={index}
223
- role="option"
224
- selected={index === selectedIndex}
225
- onSelect={() => setSelectedIndex(index)}
226
- >
227
- <ActionList.LeadingVisual>
228
- <TableIcon />
229
- </ActionList.LeadingVisual>
230
- {project.name}
231
- <ActionList.Description variant="block">{project.scope}</ActionList.Description>
232
- </ActionList.Item>
233
- ))}
234
- </ActionList>
235
- </ErsatzOverlay>
236
- </>
237
- )
238
- }
239
- SingleSelectListStory.storyName = 'Single Select'
240
-
241
- export function MultiSelectListStory(): JSX.Element {
242
- const [assignees, setAssignees] = React.useState(users.slice(0, 2))
243
-
244
- const toggleAssignee = (assignee: typeof users[number]) => {
245
- const assigneeIndex = assignees.findIndex(a => a.login === assignee.login)
246
-
247
- if (assigneeIndex === -1) setAssignees([...assignees, assignee])
248
- else setAssignees(assignees.filter((_, index) => index !== assigneeIndex))
249
- }
250
-
251
- return (
252
- <>
253
- <h1>Multi Select List</h1>
254
- <ErsatzOverlay>
255
- <ActionList selectionVariant="multiple" showDividers role="listbox" aria-label="Select assignees">
256
- {users.map(user => (
257
- <ActionList.Item
258
- role="option"
259
- key={user.login}
260
- selected={Boolean(assignees.find(assignee => assignee.login === user.login))}
261
- onSelect={() => toggleAssignee(user)}
262
- >
263
- <ActionList.LeadingVisual>
264
- <Avatar src={`https://github.com/${user.login}.png`} />
265
- </ActionList.LeadingVisual>
266
- {user.login}
267
- <ActionList.Description>{user.name}</ActionList.Description>
268
- </ActionList.Item>
269
- ))}
270
- </ActionList>
271
- </ErsatzOverlay>
272
- </>
273
- )
274
- }
275
- MultiSelectListStory.storyName = 'Multi Select'
276
-
277
- export function DisabledStory(): JSX.Element {
278
- const [selectedIndex, setSelectedIndex] = React.useState(0)
279
-
280
- return (
281
- <>
282
- <h1>Disabled Items</h1>
283
- <ErsatzOverlay>
284
- <ActionList selectionVariant="single" showDividers role="listbox" aria-label="Select a project">
285
- {projects.map((project, index) => (
286
- <ActionList.Item
287
- key={index}
288
- role="option"
289
- selected={index === selectedIndex}
290
- onSelect={() => setSelectedIndex(index)}
291
- disabled={index === 1}
292
- >
293
- <ActionList.LeadingVisual>
294
- <TableIcon />
295
- </ActionList.LeadingVisual>
296
- {project.name}
297
- <ActionList.Description variant="block">{project.scope}</ActionList.Description>
298
- </ActionList.Item>
299
- ))}
300
- </ActionList>
301
- </ErsatzOverlay>
302
- </>
303
- )
304
- }
305
- DisabledStory.storyName = 'Disabled Items'
306
-
307
- export function GroupsStory(): JSX.Element {
308
- const [assignees, setAssignees] = React.useState(users.slice(0, 1))
309
-
310
- const toggleAssignee = (assignee: typeof users[number]) => {
311
- const assigneeIndex = assignees.findIndex(a => a.login === assignee.login)
312
-
313
- if (assigneeIndex === -1) setAssignees([...assignees, assignee])
314
- else setAssignees(assignees.filter((_, index) => index !== assigneeIndex))
315
- }
316
-
317
- return (
318
- <>
319
- <h1>Groups</h1>
320
- <ErsatzOverlay>
321
- <ActionList selectionVariant="multiple" showDividers role="listbox" aria-label="Select reviewers">
322
- <ActionList.Group title="Suggestions" variant="filled">
323
- {users.slice(0, 2).map(user => (
324
- <ActionList.Item
325
- key={user.login}
326
- role="option"
327
- selected={Boolean(assignees.find(assignee => assignee.login === user.login))}
328
- onSelect={() => toggleAssignee(user)}
329
- >
330
- <ActionList.LeadingVisual>
331
- <Avatar src={`https://github.com/${user.login}.png`} />
332
- </ActionList.LeadingVisual>
333
- {user.login}
334
- <ActionList.Description>{user.name}</ActionList.Description>
335
- <ActionList.Description variant="block">Recently edited these files</ActionList.Description>
336
- </ActionList.Item>
337
- ))}
338
- </ActionList.Group>
339
- <ActionList.Group title="Everyone" variant="filled">
340
- {users.slice(2).map(user => (
341
- <ActionList.Item
342
- role="option"
343
- key={user.login}
344
- selected={Boolean(assignees.find(assignee => assignee.login === user.login))}
345
- onSelect={() => toggleAssignee(user)}
346
- >
347
- <ActionList.LeadingVisual>
348
- <Avatar src={`https://github.com/${user.login}.png`} />
349
- </ActionList.LeadingVisual>
350
- {user.login}
351
- <ActionList.Description>{user.name}</ActionList.Description>
352
- </ActionList.Item>
353
- ))}
354
- </ActionList.Group>
355
- </ActionList>
356
- </ErsatzOverlay>
357
- </>
358
- )
359
- }
360
- GroupsStory.storyName = 'Groups'
361
-
362
- export function ActionsStory(): JSX.Element {
363
- return (
364
- <>
365
- <h1>Actions</h1>
366
- <ErsatzOverlay>
367
- <ActionList showDividers>
368
- <ActionList.Item>
369
- <ActionList.LeadingVisual>
370
- <ServerIcon />
371
- </ActionList.LeadingVisual>
372
- Open current Codespace
373
- <ActionList.Description variant="block">
374
- Your existing Codespace will be opened to its previous state, and you&apos;ll be asked to manually switch
375
- to new-branch.
376
- </ActionList.Description>
377
- </ActionList.Item>
378
- <ActionList.Item>
379
- <ActionList.LeadingVisual>
380
- <PlusCircleIcon />
381
- </ActionList.LeadingVisual>
382
- Create new Codespace
383
- <ActionList.Description variant="block">
384
- Create a brand new Codespace with a fresh image and checkout this branch.
385
- </ActionList.Description>
386
- </ActionList.Item>
387
- </ActionList>
388
- </ErsatzOverlay>
389
- </>
390
- )
391
- }
392
- ActionsStory.storyName = 'Actions'
393
-
394
- export function ComplexListInsetVariantStory(): JSX.Element {
395
- return (
396
- <>
397
- <h1>Complex List</h1>
398
- <h2>Inset Variant</h2>
399
- <ErsatzOverlay>
400
- <ActionList showDividers>
401
- <ActionList.Item>
402
- <ActionList.LeadingVisual>
403
- <TypographyIcon />
404
- </ActionList.LeadingVisual>
405
- Rename
406
- </ActionList.Item>
407
- <ActionList.Item>
408
- <ActionList.LeadingVisual>
409
- <VersionsIcon />
410
- </ActionList.LeadingVisual>
411
- Duplicate
412
- <ActionList.Description>Create a copy</ActionList.Description>
413
- </ActionList.Item>
414
-
415
- <ActionList.Group title="Live query" variant="filled">
416
- <ActionList.Item style={{color: 'rebeccapurple'}}>
417
- <ActionList.LeadingVisual>
418
- <SearchIcon />
419
- </ActionList.LeadingVisual>
420
- repo:github/memex,github/github
421
- </ActionList.Item>
422
- </ActionList.Group>
423
- <ActionList.Divider />
424
- <ActionList.Group title="Layout" variant="subtle">
425
- <ActionList.Item>
426
- <ActionList.LeadingVisual>
427
- <NoteIcon />
428
- </ActionList.LeadingVisual>
429
- Table
430
- <ActionList.Description variant="block">
431
- Information-dense table optimized for operations across teams
432
- </ActionList.Description>
433
- </ActionList.Item>
434
- <ActionList.Item role="listitem">
435
- <ActionList.LeadingVisual>
436
- <ProjectIcon />
437
- </ActionList.LeadingVisual>
438
- Board
439
- <ActionList.Description variant="block">
440
- Kanban-style board focused on visual states
441
- </ActionList.Description>
442
- </ActionList.Item>
443
- </ActionList.Group>
444
- <ActionList.Divider />
445
- <ActionList.Group>
446
- <ActionList.Item style={{fontWeight: 'bold'}}>
447
- <ActionList.LeadingVisual>
448
- <FilterIcon />
449
- </ActionList.LeadingVisual>
450
- Save sort and filters to current view
451
- </ActionList.Item>
452
- <ActionList.Item style={{fontWeight: 'bold'}}>
453
- <ActionList.LeadingVisual>
454
- <FilterIcon />
455
- </ActionList.LeadingVisual>
456
- Save sort and filters to new view
457
- </ActionList.Item>
458
- </ActionList.Group>
459
- <ActionList.Divider />
460
- <ActionList.Group sx={{backgroundColor: 'accent.emphasis'}}>
461
- <ActionList.Item sx={{color: 'white'}}>
462
- <ActionList.LeadingVisual sx={{color: 'white'}}>
463
- <GearIcon />
464
- </ActionList.LeadingVisual>
465
- View settings
466
- </ActionList.Item>
467
- </ActionList.Group>
468
- </ActionList>
469
- </ErsatzOverlay>
470
- </>
471
- )
472
- }
473
- ComplexListInsetVariantStory.storyName = 'Complex List — Inset Variant'
474
-
475
- export function ComplexListFullVariantStory(): JSX.Element {
476
- return (
477
- <>
478
- <h1>Complex List</h1>
479
- <h2>Full Variant</h2>
480
- <ErsatzOverlay>
481
- <ActionList variant="full">
482
- <ActionList.Item>
483
- <ActionList.LeadingVisual>
484
- <TypographyIcon />
485
- </ActionList.LeadingVisual>
486
- Rename
487
- </ActionList.Item>
488
- <ActionList.Item>
489
- <ActionList.LeadingVisual>
490
- <VersionsIcon />
491
- </ActionList.LeadingVisual>
492
- Duplicate
493
- <ActionList.Description>Create a copy</ActionList.Description>
494
- </ActionList.Item>
495
-
496
- <ActionList.Group title="Live query" variant="filled">
497
- <ActionList.Item style={{color: 'rebeccapurple'}}>
498
- <ActionList.LeadingVisual>
499
- <SearchIcon />
500
- </ActionList.LeadingVisual>
501
- repo:github/memex,github/github
502
- </ActionList.Item>
503
- </ActionList.Group>
504
- <ActionList.Divider />
505
- <ActionList.Group title="Layout" variant="subtle">
506
- <ActionList.Item>
507
- <ActionList.LeadingVisual>
508
- <NoteIcon />
509
- </ActionList.LeadingVisual>
510
- Table
511
- <ActionList.Description variant="block">
512
- Information-dense table optimized for operations across teams
513
- </ActionList.Description>
514
- </ActionList.Item>
515
- <ActionList.Item>
516
- <ActionList.LeadingVisual>
517
- <ProjectIcon />
518
- </ActionList.LeadingVisual>
519
- Board
520
- <ActionList.Description variant="block">
521
- Kanban-style board focused on visual states
522
- </ActionList.Description>
523
- </ActionList.Item>
524
- </ActionList.Group>
525
- <ActionList.Divider />
526
- <ActionList.Group>
527
- <ActionList.Item style={{fontWeight: 'bold'}}>
528
- <ActionList.LeadingVisual>
529
- <FilterIcon />
530
- </ActionList.LeadingVisual>
531
- Save sort and filters to current view
532
- </ActionList.Item>
533
- <ActionList.Item style={{fontWeight: 'bold'}}>
534
- <ActionList.LeadingVisual>
535
- <FilterIcon />
536
- </ActionList.LeadingVisual>
537
- Save sort and filters to new view
538
- </ActionList.Item>
539
- </ActionList.Group>
540
- <ActionList.Divider />
541
- <ActionList.Group sx={{backgroundColor: 'accent.emphasis'}}>
542
- <ActionList.Item sx={{color: 'white'}}>
543
- <ActionList.LeadingVisual sx={{color: 'white'}}>
544
- <GearIcon />
545
- </ActionList.LeadingVisual>
546
- View settings
547
- </ActionList.Item>
548
- </ActionList.Group>
549
- </ActionList>
550
- </ErsatzOverlay>
551
- </>
552
- )
553
- }
554
- ComplexListFullVariantStory.storyName = 'Complex List — Full Variant'
555
-
556
- type ReactRouterLikeLinkProps = {to: string; children: React.ReactNode}
557
- const ReactRouterLikeLink = forwardRef<HTMLAnchorElement, ReactRouterLikeLinkProps>(
558
- ({to, ...props}: {to: string; children: React.ReactNode}, ref) => {
559
- // eslint-disable-next-line jsx-a11y/anchor-has-content
560
- return <a ref={ref} href={to} {...props} />
561
- }
562
- )
563
-
564
- const NextJSLikeLink = forwardRef(
565
- ({href, children}: {href: string; children: React.ReactNode}, ref): React.ReactElement => {
566
- const child = React.Children.only(children)
567
- const childProps = {
568
- ref,
569
- href
570
- }
571
- return <>{React.isValidElement(child) ? React.cloneElement(child, childProps) : null}</>
572
- }
573
- )
574
-
575
- export function LinkItemStory(): JSX.Element {
576
- return (
577
- <>
578
- <h1>List with LinkItem</h1>
579
- <ErsatzOverlay>
580
- <ActionList showDividers>
581
- <ActionList.Item>
582
- <ActionList.LeadingVisual>
583
- <XIcon />
584
- </ActionList.LeadingVisual>
585
- not a link, just an Item for comparison
586
- </ActionList.Item>
587
- <ActionList.LinkItem href="https://github.com/primer">
588
- <ActionList.LeadingVisual>
589
- <LinkIcon />
590
- </ActionList.LeadingVisual>
591
- ActionList.LinkItem
592
- </ActionList.LinkItem>
593
- <ActionList.LinkItem href="https://github.com/primer" target="_blank" rel="noopener noreferrer">
594
- <ActionList.LeadingVisual>
595
- <LinkIcon />
596
- </ActionList.LeadingVisual>
597
- ActionList.LinkItem with anchor attributes
598
- </ActionList.LinkItem>
599
- <ActionList.LinkItem
600
- as={ReactRouterLikeLink}
601
- to="?path=/story/composite-components-actionlist2--simple-list-story"
602
- >
603
- <ActionList.LeadingVisual>
604
- <LinkIcon />
605
- </ActionList.LeadingVisual>
606
- as ReactRouterLink
607
- </ActionList.LinkItem>
608
- <NextJSLikeLink href="?path=/story/composite-components-actionlist2--simple-list-story">
609
- <ActionList.LinkItem>
610
- <ActionList.LeadingVisual>
611
- <LinkIcon />
612
- </ActionList.LeadingVisual>
613
- NextJS style Link
614
- </ActionList.LinkItem>
615
- </NextJSLikeLink>
616
- <ActionList.LinkItem href="?path=/story/composite-components-actionlist2--simple-list-story">
617
- <ActionList.LeadingVisual>
618
- <LinkIcon />
619
- </ActionList.LeadingVisual>
620
- ActionList.LinkItem with everything
621
- <ActionList.Description variant="inline">inline description</ActionList.Description>
622
- <ActionList.Description variant="block">Block description</ActionList.Description>
623
- <ActionList.TrailingVisual>⌘ + L</ActionList.TrailingVisual>
624
- </ActionList.LinkItem>
625
- </ActionList>
626
- </ErsatzOverlay>
627
- </>
628
- )
629
- }
630
- LinkItemStory.storyName = 'List with LinkItem'
631
-
632
- export function DOMPropsStory(): JSX.Element {
633
- return (
634
- <>
635
- <h1>Simple List</h1>
636
- <ErsatzOverlay>
637
- <ActionList>
638
- {/* eslint-disable-next-line @typescript-eslint/no-explicit-any */}
639
- <ActionList.Item id="something" onClick={(event: any) => alert(`Id is '${event.target.id}'`)}>
640
- Has an id
641
- </ActionList.Item>
642
- </ActionList>
643
- </ErsatzOverlay>
644
- </>
645
- )
646
- }
647
- DOMPropsStory.storyName = 'List an item input including DOM props'
648
-
649
- export function CustomItemChildren(): JSX.Element {
650
- return (
651
- <>
652
- <h1>Custom Item Children</h1>
653
- <ErsatzOverlay>
654
- <ActionList>
655
- <ActionList.Item>
656
- <ActionList.LeadingVisual>
657
- <ArrowRightIcon />
658
- </ActionList.LeadingVisual>
659
- <Label outline borderColor="success.emphasis">
660
- Choose this one
661
- </Label>
662
- <ActionList.TrailingVisual>
663
- <ArrowLeftIcon />
664
- </ActionList.TrailingVisual>
665
- </ActionList.Item>
666
- </ActionList>
667
- </ErsatzOverlay>
668
- </>
669
- )
670
- }
671
- CustomItemChildren.storyName = 'Custom Item Children'
672
-
673
- export function SizeStressTestingStory(): JSX.Element {
674
- return (
675
- <>
676
- <h1>Size Stress Testing</h1>
677
- <ErsatzOverlay maxWidth="300px">
678
- <ActionList showDividers>
679
- <ActionList.Item>
680
- <ActionList.LeadingVisual>
681
- <ArrowRightIcon />
682
- </ActionList.LeadingVisual>
683
- Block Description. Long text should wrap
684
- <ActionList.Description variant="block">
685
- This description is long, but it is block so it wraps
686
- </ActionList.Description>
687
- <ActionList.TrailingVisual>
688
- <ArrowLeftIcon />
689
- </ActionList.TrailingVisual>
690
- </ActionList.Item>
691
- <ActionList.Item>
692
- <ActionList.LeadingVisual>
693
- <ArrowRightIcon />
694
- </ActionList.LeadingVisual>
695
- Inline Description
696
- <ActionList.Description>This description gets truncated because it is inline</ActionList.Description>
697
- <ActionList.TrailingVisual>
698
- <ArrowLeftIcon />
699
- </ActionList.TrailingVisual>
700
- </ActionList.Item>
701
- <ActionList.Item>
702
- <ActionList.LeadingVisual>
703
- <ArrowRightIcon />
704
- </ActionList.LeadingVisual>
705
- Really long text without a description should wrap so it wraps
706
- <ActionList.TrailingVisual>
707
- <ArrowLeftIcon />
708
- </ActionList.TrailingVisual>
709
- </ActionList.Item>
710
- </ActionList>
711
- </ErsatzOverlay>
712
- </>
713
- )
714
- }
715
- SizeStressTestingStory.storyName = 'Size Stress Testing'
716
-
717
- export function AllCombinations(): JSX.Element {
718
- return (
719
- <>
720
- <h1>All Possible Combinations</h1>
721
- <code>
722
- dynamic features: L = Leading Visual, I = Inline Description, B = Block Description, T = Trailing Visual
723
- </code>
724
- <br />
725
- <code>16 possible combinations</code>
726
- <br />
727
- <br />
728
- <ErsatzOverlay maxWidth="300px">
729
- <ActionList showDividers>
730
- <ActionList.Item>
731
- <ActionList.LeadingVisual>
732
- <StarIcon />
733
- </ActionList.LeadingVisual>
734
- The everything bagel
735
- <ActionList.Description variant="inline">inline description</ActionList.Description>
736
- <ActionList.Description variant="block">Block description</ActionList.Description>
737
- <ActionList.TrailingVisual>
738
- <StarIcon />
739
- </ActionList.TrailingVisual>
740
- </ActionList.Item>
741
- <ActionList.Item>none of them, only text</ActionList.Item>
742
- <ActionList.Item>
743
- <ActionList.LeadingVisual>
744
- <StarIcon />
745
- </ActionList.LeadingVisual>
746
- only L
747
- </ActionList.Item>
748
- <ActionList.Item>
749
- only I<ActionList.Description variant="inline">inline description</ActionList.Description>
750
- </ActionList.Item>
751
- <ActionList.Item>
752
- only B<ActionList.Description variant="block">Block description</ActionList.Description>
753
- </ActionList.Item>
754
- <ActionList.Item>
755
- only T
756
- <ActionList.TrailingVisual>
757
- <StarIcon />
758
- </ActionList.TrailingVisual>
759
- </ActionList.Item>
760
- <ActionList.Item>
761
- <ActionList.LeadingVisual>
762
- <StarIcon />
763
- </ActionList.LeadingVisual>
764
- L + I<ActionList.Description variant="inline">inline description</ActionList.Description>
765
- </ActionList.Item>
766
- <ActionList.Item>
767
- <ActionList.LeadingVisual>
768
- <StarIcon />
769
- </ActionList.LeadingVisual>
770
- L + B<ActionList.Description variant="block">Block description</ActionList.Description>
771
- </ActionList.Item>
772
- <ActionList.Item>
773
- <ActionList.LeadingVisual>
774
- <StarIcon />
775
- </ActionList.LeadingVisual>
776
- L + T
777
- <ActionList.TrailingVisual>
778
- <StarIcon />
779
- </ActionList.TrailingVisual>
780
- </ActionList.Item>
781
- <ActionList.Item>
782
- I + B<ActionList.Description variant="inline">inline description</ActionList.Description>
783
- <ActionList.Description variant="block">Block description</ActionList.Description>
784
- </ActionList.Item>
785
- <ActionList.Item>
786
- I + T<ActionList.Description variant="inline">inline description</ActionList.Description>
787
- <ActionList.TrailingVisual>
788
- <StarIcon />
789
- </ActionList.TrailingVisual>
790
- </ActionList.Item>
791
- <ActionList.Item>
792
- B + T<ActionList.Description variant="block">Block description</ActionList.Description>
793
- <ActionList.TrailingVisual>
794
- <StarIcon />
795
- </ActionList.TrailingVisual>
796
- </ActionList.Item>
797
- <ActionList.Item>
798
- <ActionList.LeadingVisual>
799
- <StarIcon />
800
- </ActionList.LeadingVisual>
801
- L + I + B<ActionList.Description variant="inline">inline description</ActionList.Description>
802
- <ActionList.Description variant="block">Block description</ActionList.Description>
803
- </ActionList.Item>
804
- <ActionList.Item>
805
- <ActionList.LeadingVisual>
806
- <StarIcon />
807
- </ActionList.LeadingVisual>
808
- L + I + T<ActionList.Description variant="inline">inline description</ActionList.Description>
809
- <ActionList.TrailingVisual>
810
- <StarIcon />
811
- </ActionList.TrailingVisual>
812
- </ActionList.Item>
813
- <ActionList.Item>
814
- <ActionList.LeadingVisual>
815
- <StarIcon />
816
- </ActionList.LeadingVisual>
817
- L + B + T<ActionList.Description variant="block">Block description</ActionList.Description>
818
- <ActionList.TrailingVisual>
819
- <StarIcon />
820
- </ActionList.TrailingVisual>
821
- </ActionList.Item>
822
- <ActionList.Item>
823
- I + B + T<ActionList.Description variant="inline">inline description</ActionList.Description>
824
- <ActionList.Description variant="block">Block description</ActionList.Description>
825
- <ActionList.TrailingVisual>
826
- <StarIcon />
827
- </ActionList.TrailingVisual>
828
- </ActionList.Item>
829
- </ActionList>
830
- </ErsatzOverlay>
831
- </>
832
- )
833
- }
834
- AllCombinations.storyName = 'All Combinations'
835
-
836
- const teams = [
837
- {id: '5025661', type: 'team', slug: 'github/primer-reviewers', name: 'Primer Reviewers', members: 20},
838
- {id: '1929972', type: 'team', slug: 'github/design-infrastructure', name: 'Design Infrastructure', members: 20}
839
- ]
840
-
841
- export function ConditionalChildren(): JSX.Element {
842
- type reviewerType = {name: string; id?: string; type?: string; login?: string; slug?: string; members?: number}
843
- const potentialReviewers: reviewerType[] = [...teams, ...users]
844
- return (
845
- <>
846
- <h1>Conditional Children</h1>
847
- <ErsatzOverlay>
848
- <ActionList showDividers>
849
- {potentialReviewers.map((reviewer, index) => (
850
- <ActionList.Item key={index}>
851
- <ActionList.LeadingVisual>
852
- {reviewer.type === 'team' ? (
853
- <Avatar src={`https://avatars.githubusercontent.com/t/${reviewer.id}`} />
854
- ) : (
855
- <Avatar src={`https://avatars.githubusercontent.com/${reviewer.login}`} />
856
- )}
857
- </ActionList.LeadingVisual>
858
- {reviewer.login || reviewer.slug}
859
- {reviewer.type === 'team' ? (
860
- <ActionList.Description variant="block">{reviewer.name}</ActionList.Description>
861
- ) : (
862
- <ActionList.Description>{reviewer.name}</ActionList.Description>
863
- )}
864
- {reviewer.type === 'team' && (
865
- <ActionList.TrailingVisual>
866
- <PeopleIcon />
867
- {reviewer.members}
868
- </ActionList.TrailingVisual>
869
- )}
870
- </ActionList.Item>
871
- ))}
872
- </ActionList>
873
- </ErsatzOverlay>
874
- </>
875
- )
876
- }
877
- ConditionalChildren.storyName = 'Conditional Children'
878
-
879
- export function NestedChildren(): JSX.Element {
880
- return (
881
- <>
882
- <h1>Nested Children</h1>
883
- <ErsatzOverlay>
884
- <ActionList showDividers>
885
- <li>
886
- <ul id="i like extra lists" style={{paddingInlineStart: 0}}>
887
- {users.map(user => (
888
- <ActionList.Item key={user.login}>
889
- <ActionList.LeadingVisual>
890
- <Avatar src={`https://avatars.githubusercontent.com/${user.login}`} />
891
- </ActionList.LeadingVisual>
892
- {user.login}
893
- <ReviewerDescription user={user} />
894
- </ActionList.Item>
895
- ))}
896
- </ul>
897
- </li>
898
- </ActionList>
899
- </ErsatzOverlay>
900
- </>
901
- )
902
- }
903
- NestedChildren.storyName = 'Nested Children'
904
-
905
- const ReviewerDescription = ({user}: {user: typeof users[number]}) => {
906
- const usersRecentlyEditedFile = users.slice(0, 2)
907
-
908
- if (usersRecentlyEditedFile.find(u => u.login === user.login)) {
909
- return (
910
- <span>
911
- <ActionList.Description>{user.name}</ActionList.Description>
912
- <ActionList.Description variant="block">Recently edited this file</ActionList.Description>
913
- </span>
914
- )
915
- } else {
916
- return <ActionList.Description>{user.name}</ActionList.Description>
917
- }
918
- }
919
-
920
- export function ChildWithInternalState(): JSX.Element {
921
- return (
922
- <>
923
- <h1>Child with internal state - broken</h1>
924
- <ErsatzOverlay>
925
- <ActionList showDividers>
926
- {users.map(user => (
927
- <ActionList.Item key={user.login}>
928
- <ActionList.LeadingVisual>
929
- <Avatar src={`https://avatars.githubusercontent.com/${user.login}`} />
930
- </ActionList.LeadingVisual>
931
- {user.login}
932
- <StatefulChild>{user.name}</StatefulChild>
933
- </ActionList.Item>
934
- ))}
935
- </ActionList>
936
- </ErsatzOverlay>
937
- </>
938
- )
939
- }
940
- ChildWithInternalState.storyName = 'Child with internal state'
941
-
942
- const StatefulChild: React.FC = props => {
943
- const [nameVisible, setNameVisibility] = React.useState(false)
944
- const toggle = () => {
945
- setNameVisibility(!nameVisible)
946
- }
947
-
948
- /** once description is registered, it cannot be unregistered, only updated. */
949
-
950
- return (
951
- <>
952
- <ButtonInvisible onClick={toggle} sx={{fontSize: 0, paddingY: 0}}>
953
- {nameVisible ? 'Hide name' : 'Show name'}
954
- </ButtonInvisible>
955
- {nameVisible && <ActionList.Description>{props.children}</ActionList.Description>}
956
- </>
957
- )
958
- }
959
-
960
- export function ChildWithSideEffects(): JSX.Element {
961
- const user = users[0]
962
- const [selected, setSelected] = React.useState(true)
963
-
964
- return (
965
- <>
966
- <h1>Child with side effects</h1>
967
- <ErsatzOverlay>
968
- <ActionList selectionVariant="multiple" role="listbox" aria-label="Select assignees">
969
- <ActionList.Item selected={selected} onSelect={() => setSelected(!selected)} role="option">
970
- <ActionList.LeadingVisual>
971
- <Avatar src={`https://avatars.githubusercontent.com/${user.login}`} />
972
- </ActionList.LeadingVisual>
973
- {user.login}
974
- <SideEffectDescription />
975
- </ActionList.Item>
976
- </ActionList>
977
- </ErsatzOverlay>
978
- </>
979
- )
980
- }
981
- ChildWithSideEffects.storyName = 'Child with side effects'
982
-
983
- const SideEffectDescription = () => {
984
- const [seconds, setSeconds] = React.useState(0)
985
-
986
- React.useEffect(() => {
987
- const fn = () => setSeconds(s => s + 1)
988
- const interval = window.setInterval(fn, 1000)
989
- return () => window.clearInterval(interval)
990
- }, [])
991
-
992
- return <ActionList.Description>{seconds} seconds passed</ActionList.Description>
993
- }
994
-
995
- export function WithSx(): JSX.Element {
996
- return (
997
- <>
998
- <h1>With sx prop</h1>
999
- <ErsatzOverlay>
1000
- <ActionList sx={{paddingTop: 4}}>
1001
- <ActionList.Item sx={{backgroundColor: 'accent.subtle'}}>
1002
- <ActionList.LeadingVisual sx={{color: 'accent.emphasis'}}>
1003
- <LinkIcon />
1004
- </ActionList.LeadingVisual>
1005
- github.com/primer
1006
- <ActionList.Description sx={{paddingLeft: 4, color: 'accent.emphasis'}}>
1007
- all items support sx prop
1008
- </ActionList.Description>
1009
- </ActionList.Item>
1010
- <ActionList.Item>
1011
- <ActionList.LeadingVisual>
1012
- <LawIcon />
1013
- </ActionList.LeadingVisual>
1014
- MIT License
1015
- </ActionList.Item>
1016
- <ActionList.Item
1017
- variant="danger"
1018
- sx={{
1019
- borderLeft: '2px solid',
1020
- borderColor: 'danger.emphasis',
1021
- borderTopLeftRadius: 0,
1022
- borderBottomLeftRadius: 0
1023
- }}
1024
- >
1025
- <ActionList.LeadingVisual>
1026
- <AlertIcon />
1027
- </ActionList.LeadingVisual>
1028
- 4 vulnerabilities
1029
- </ActionList.Item>
1030
- </ActionList>
1031
- </ErsatzOverlay>
1032
- </>
1033
- )
1034
- }
1035
- WithSx.storyName = 'With sx'
1036
-
1037
- export function MemexGroupBy(): JSX.Element {
1038
- const [selectedIndex, setSelectedIndex] = React.useState<number | null>(1)
1039
-
1040
- const options = [
1041
- {text: 'Status', icon: <IssueOpenedIcon />},
1042
- {text: 'Stage', icon: <TableIcon />},
1043
- {text: 'Assignee', icon: <PeopleIcon />},
1044
- {text: 'Team', icon: <TypographyIcon />},
1045
- {text: 'Estimate', icon: <NumberIcon />},
1046
- {text: 'Due Date', icon: <CalendarIcon />}
1047
- ]
1048
-
1049
- return (
1050
- <>
1051
- <h1>Memex GroupBy List</h1>
1052
- <ErsatzOverlay>
1053
- <ActionList>
1054
- <ActionList.Group title="Group by" selectionVariant="single">
1055
- {options.map((option, index) => (
1056
- <ActionList.Item key={index} selected={index === selectedIndex} onSelect={() => setSelectedIndex(index)}>
1057
- <ActionList.LeadingVisual>{option.icon}</ActionList.LeadingVisual>
1058
- {option.text}
1059
- </ActionList.Item>
1060
- ))}
1061
- </ActionList.Group>
1062
- {typeof selectedIndex === 'number' && (
1063
- <>
1064
- <ActionList.Divider />
1065
- <ActionList.Item onSelect={() => setSelectedIndex(null)}>
1066
- <ActionList.LeadingVisual>
1067
- <XIcon />
1068
- </ActionList.LeadingVisual>
1069
- Clear Group by
1070
- </ActionList.Item>
1071
- </>
1072
- )}
1073
- </ActionList>
1074
- </ErsatzOverlay>
1075
- </>
1076
- )
1077
- }
1078
- MemexGroupBy.storyName = 'Memex GroupBy List'
1079
-
1080
- type Option = {text: string; icon: React.ReactNode; selected: boolean}
1081
- export function MemexSortable(): JSX.Element {
1082
- const [options, setOptions] = React.useState<Option[]>([
1083
- {text: 'Status', icon: <IssueOpenedIcon />, selected: true},
1084
- {text: 'Stage', icon: <TableIcon />, selected: true},
1085
- {text: 'Assignee', icon: <PeopleIcon />, selected: true},
1086
- {text: 'Team', icon: <TypographyIcon />, selected: true},
1087
- {text: 'Estimate', icon: <NumberIcon />, selected: false},
1088
- {text: 'Due Date', icon: <CalendarIcon />, selected: false}
1089
- ])
1090
-
1091
- const toggle = (text: string) => {
1092
- setOptions(
1093
- options.map(option => {
1094
- if (option.text === text) option.selected = !option.selected
1095
- return option
1096
- })
1097
- )
1098
- }
1099
-
1100
- const reorder = ({optionToMove, moveAfterOption}: {optionToMove: Option; moveAfterOption: Option}) => {
1101
- setOptions(currentOptions => {
1102
- const newOptions = [...currentOptions]
1103
- // remove option to move
1104
- const currentPosition = newOptions.findIndex(o => o.text === optionToMove.text)
1105
- newOptions.splice(currentPosition, 1)
1106
- // add it after the provided element
1107
- const newPosition = newOptions.findIndex(o => o.text === moveAfterOption.text) + 1
1108
- newOptions.splice(newPosition, 0, optionToMove)
1109
- return newOptions
1110
- })
1111
- }
1112
-
1113
- const visibleOptions = options.filter(option => option.selected)
1114
- const hiddenOptions = options.filter(option => !option.selected)
1115
-
1116
- return (
1117
- <>
1118
- <h1>Memex Sortable List</h1>
1119
- <ErsatzOverlay>
1120
- <DndProvider backend={HTML5Backend}>
1121
- <ActionList selectionVariant="multiple">
1122
- <ActionList.Group title="Visible fields (can be reordered)">
1123
- {visibleOptions.map(option => (
1124
- <SortableItem
1125
- key={option.text}
1126
- option={option}
1127
- onSelect={() => toggle(option.text)}
1128
- reorder={reorder}
1129
- />
1130
- ))}
1131
- </ActionList.Group>
1132
- <ActionList.Group
1133
- title="Hidden fields"
1134
- selectionVariant={
1135
- /** selectionVariant override on Group: disable selection if there are no options */
1136
- hiddenOptions.length ? 'multiple' : false
1137
- }
1138
- >
1139
- {hiddenOptions.map((option, index) => (
1140
- <ActionList.Item key={index} selected={option.selected} onSelect={() => toggle(option.text)}>
1141
- <ActionList.LeadingVisual>{option.icon}</ActionList.LeadingVisual>
1142
- {option.text}
1143
- </ActionList.Item>
1144
- ))}
1145
- {hiddenOptions.length === 0 && <ActionList.Item disabled>No hidden fields</ActionList.Item>}
1146
- </ActionList.Group>
1147
- </ActionList>
1148
- </DndProvider>
1149
- </ErsatzOverlay>
1150
- </>
1151
- )
1152
- }
1153
- MemexSortable.storyName = 'Memex Sortable List'
1154
-
1155
- type SortableItemProps = {
1156
- option: Option
1157
- onSelect: ItemProps['onSelect']
1158
- reorder: ({optionToMove, moveAfterOption}: {optionToMove: Option; moveAfterOption: Option}) => void
1159
- }
1160
- const SortableItem: React.FC<SortableItemProps> = ({option, onSelect, reorder}) => {
1161
- const [{isDragging}, dragRef] = useDrag(() => ({
1162
- type: 'ITEM',
1163
- item: option,
1164
- collect: monitor => {
1165
- return {isDragging: monitor.isDragging()}
1166
- }
1167
- }))
1168
-
1169
- const [{isOver}, dropRef] = useDrop(() => ({
1170
- accept: 'ITEM',
1171
- collect: monitor => {
1172
- return {isOver: monitor.isOver()}
1173
- },
1174
- drop: (optionDropped: Option) => {
1175
- reorder({optionToMove: optionDropped, moveAfterOption: option})
1176
- }
1177
- }))
1178
-
1179
- return (
1180
- <ActionList.Item
1181
- ref={element => dragRef(element) && dropRef(element)} // merge refs
1182
- selected={option.selected}
1183
- onSelect={onSelect}
1184
- sx={{
1185
- opacity: isDragging ? 0.5 : 1,
1186
- boxShadow: isOver ? theme => `0px 2px 0 0px ${theme.colors.accent.emphasis}` : undefined,
1187
- borderRadius: isOver ? 0 : 2
1188
- }}
1189
- >
1190
- <ActionList.LeadingVisual>{option.icon}</ActionList.LeadingVisual>
1191
- {option.text}
1192
- </ActionList.Item>
1193
- )
1194
- }
1195
-
1196
- const repos = [
1197
- 'primer/primer-markdown',
1198
- 'primer/octicons',
1199
- 'primer/css',
1200
- 'primer/primer-layout',
1201
- 'primer/primer-alerts',
1202
- 'primer/primer-avatars',
1203
- 'primer/react',
1204
- 'primer/primitives'
1205
- ]
1206
-
1207
- export function AsyncListStory(): JSX.Element {
1208
- const [results, setResults] = React.useState(repos.slice(0, 6))
1209
- const [loading, setLoading] = React.useState(false)
1210
-
1211
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1212
- const filter = async (event: any) => {
1213
- setLoading(true)
1214
- const filteredResults = await filterSlowly(event.target.value)
1215
- setResults(filteredResults)
1216
- setLoading(false)
1217
- }
1218
-
1219
- return (
1220
- <>
1221
- <h1>Async List Items</h1>
1222
- <ErsatzOverlay>
1223
- <TextInput
1224
- onChange={filter}
1225
- placeholder="Search repositories, showing 6 by default"
1226
- sx={{m: 2, mb: 0, width: 'calc(100% - 16px)'}}
1227
- />
1228
- <ActionList sx={{height: 208, overflow: 'auto'}}>
1229
- {loading ? (
1230
- <Box sx={{display: 'flex', justifyContent: 'center', pt: 2}}>
1231
- <Spinner />
1232
- </Box>
1233
- ) : (
1234
- results.map(name => (
1235
- <ActionList.Item key={name}>
1236
- <ActionList.LeadingVisual>
1237
- <RepoIcon />
1238
- </ActionList.LeadingVisual>
1239
- {name}
1240
- </ActionList.Item>
1241
- ))
1242
- )}
1243
- </ActionList>
1244
- </ErsatzOverlay>
1245
- </>
1246
- )
1247
- }
1248
- AsyncListStory.storyName = 'Async List Options'
1249
-
1250
- const filterSlowly = async (query: string) => {
1251
- // sleep for 1s before returning results
1252
- await new Promise(resolve => setTimeout(resolve, 1000))
1253
- return await repos.filter(name => name.includes(query))
1254
- }
1255
-
1256
- export function InsideOverlay(): JSX.Element {
1257
- const [open, setOpen] = React.useState(false)
1258
- const toggle = () => setOpen(!open)
1259
- return (
1260
- <>
1261
- <h1>Inside Overlay</h1>
1262
- <AnchoredOverlay
1263
- open={open}
1264
- onOpen={toggle}
1265
- onClose={toggle}
1266
- renderAnchor={props => <button {...props}>toggle overlay</button>}
1267
- >
1268
- <ActionList>
1269
- <ActionList.Item>
1270
- Use your arrow keys
1271
- <ActionList.TrailingVisual>↓</ActionList.TrailingVisual>
1272
- </ActionList.Item>
1273
- <ActionList.Item>
1274
- keep going
1275
- <ActionList.TrailingVisual>↓</ActionList.TrailingVisual>
1276
- </ActionList.Item>
1277
- <ActionList.Item>
1278
- more more
1279
- <ActionList.TrailingVisual>↓</ActionList.TrailingVisual>
1280
- </ActionList.Item>
1281
- <ActionList.Divider />
1282
- <ActionList.Item variant="danger">
1283
- now go up!
1284
- <ActionList.TrailingVisual>↑</ActionList.TrailingVisual>
1285
- </ActionList.Item>
1286
- </ActionList>
1287
- </AnchoredOverlay>
1288
- </>
1289
- )
1290
- }
1291
- InsideOverlay.storyName = 'Inside Overlay'