@primer/components 31.2.1-rc.f73a0f8c → 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 (1191) hide show
  1. package/CHANGELOG.md +66 -4
  2. package/dist/browser.esm.js +289 -351
  3. package/dist/browser.esm.js.map +1 -1
  4. package/dist/browser.umd.js +294 -356
  5. package/dist/browser.umd.js.map +1 -1
  6. package/lib/ActionList2/Group.d.ts +28 -2
  7. package/lib/ActionList2/Group.js +55 -6
  8. package/lib/ActionList2/Group.jsx +33 -4
  9. package/lib/ActionList2/List.d.ts +1 -1
  10. package/lib/Autocomplete/Autocomplete.d.ts +3 -3
  11. package/lib/Autocomplete/AutocompleteInput.d.ts +3 -3
  12. package/lib/Breadcrumbs.d.ts +8 -7
  13. package/lib/Breadcrumbs.js +7 -12
  14. package/lib/Breadcrumbs.jsx +3 -6
  15. package/lib/Button/Button.d.ts +2 -3
  16. package/lib/Button/Button.js +2 -6
  17. package/lib/Button/Button.jsx +1 -21
  18. package/lib/Button/ButtonBase.d.ts +5 -8
  19. package/lib/Button/ButtonBase.js +1 -5
  20. package/lib/Button/ButtonBase.jsx +0 -3
  21. package/lib/Button/ButtonClose.d.ts +3 -46
  22. package/lib/Button/ButtonClose.js +1 -1
  23. package/lib/Button/ButtonClose.jsx +0 -2
  24. package/lib/Button/ButtonDanger.d.ts +2 -3
  25. package/lib/Button/ButtonDanger.js +2 -6
  26. package/lib/Button/ButtonDanger.jsx +1 -21
  27. package/lib/Button/ButtonInvisible.d.ts +2 -3
  28. package/lib/Button/ButtonInvisible.js +2 -6
  29. package/lib/Button/ButtonInvisible.jsx +1 -21
  30. package/lib/Button/ButtonOutline.d.ts +2 -3
  31. package/lib/Button/ButtonOutline.js +2 -6
  32. package/lib/Button/ButtonOutline.jsx +1 -21
  33. package/lib/Button/ButtonPrimary.d.ts +2 -3
  34. package/lib/Button/ButtonPrimary.js +2 -6
  35. package/lib/Button/ButtonPrimary.jsx +1 -21
  36. package/lib/Button/ButtonTableList.d.ts +1 -2
  37. package/lib/Button/ButtonTableList.js +1 -1
  38. package/lib/Button/ButtonTableList.jsx +0 -3
  39. package/lib/CircleBadge.d.ts +4 -5
  40. package/lib/CircleBadge.js +1 -1
  41. package/lib/CircleBadge.jsx +0 -1
  42. package/lib/CircleOcticon.d.ts +1 -1
  43. package/lib/CounterLabel.d.ts +1 -2
  44. package/lib/CounterLabel.js +1 -1
  45. package/lib/CounterLabel.jsx +0 -1
  46. package/lib/Dialog/Dialog.d.ts +5 -9
  47. package/lib/Dialog/Dialog.js +17 -11
  48. package/lib/Dialog/Dialog.jsx +13 -7
  49. package/lib/Dialog.d.ts +4 -5
  50. package/lib/Dialog.js +1 -1
  51. package/lib/Dialog.jsx +0 -2
  52. package/lib/Dropdown.d.ts +10 -99
  53. package/lib/Dropdown.js +3 -3
  54. package/lib/Dropdown.jsx +0 -3
  55. package/lib/DropdownMenu/DropdownButton.d.ts +3 -47
  56. package/lib/DropdownMenu/DropdownButton.js +3 -1
  57. package/lib/DropdownMenu/DropdownButton.jsx +1 -1
  58. package/lib/FilterList.d.ts +264 -303
  59. package/lib/FilterList.js +2 -6
  60. package/lib/FilterList.jsx +2 -6
  61. package/lib/FilteredSearch.d.ts +1 -2
  62. package/lib/FilteredSearch.js +1 -1
  63. package/lib/FilteredSearch.jsx +0 -1
  64. package/lib/Flash.d.ts +1 -2
  65. package/lib/Flash.js +1 -1
  66. package/lib/Flash.jsx +0 -1
  67. package/lib/FormGroup.d.ts +4 -5
  68. package/lib/FormGroup.js +2 -2
  69. package/lib/FormGroup.jsx +0 -3
  70. package/lib/Header.d.ts +6 -7
  71. package/lib/Header.js +4 -4
  72. package/lib/Header.jsx +0 -7
  73. package/lib/Label.d.ts +1 -2
  74. package/lib/Label.js +2 -3
  75. package/lib/Label.jsx +1 -3
  76. package/lib/LabelGroup.d.ts +1 -2
  77. package/lib/LabelGroup.js +1 -1
  78. package/lib/LabelGroup.jsx +0 -1
  79. package/lib/Link.d.ts +1 -2
  80. package/lib/Link.js +1 -1
  81. package/lib/Link.jsx +0 -2
  82. package/lib/NewButton/button.js +34 -42
  83. package/lib/NewButton/button.jsx +24 -23
  84. package/lib/Overlay.d.ts +11 -10
  85. package/lib/Overlay.js +3 -4
  86. package/lib/Overlay.jsx +1 -3
  87. package/lib/Pagehead.d.ts +1 -2
  88. package/lib/Pagehead.js +1 -1
  89. package/lib/Pagehead.jsx +0 -1
  90. package/lib/Pagination/Pagination.js +1 -1
  91. package/lib/Pagination/Pagination.jsx +0 -2
  92. package/lib/Popover.d.ts +4 -5
  93. package/lib/Popover.js +4 -5
  94. package/lib/Popover.jsx +1 -9
  95. package/lib/Position.d.ts +4 -4
  96. package/lib/SelectMenu/SelectMenu.d.ts +21 -189
  97. package/lib/SelectMenu/SelectMenu.js +1 -3
  98. package/lib/SelectMenu/SelectMenu.jsx +0 -2
  99. package/lib/SelectMenu/SelectMenuDivider.d.ts +1 -2
  100. package/lib/SelectMenu/SelectMenuDivider.js +1 -1
  101. package/lib/SelectMenu/SelectMenuDivider.jsx +0 -1
  102. package/lib/SelectMenu/SelectMenuFilter.js +1 -1
  103. package/lib/SelectMenu/SelectMenuFilter.jsx +0 -1
  104. package/lib/SelectMenu/SelectMenuFooter.d.ts +1 -2
  105. package/lib/SelectMenu/SelectMenuFooter.js +1 -1
  106. package/lib/SelectMenu/SelectMenuFooter.jsx +0 -1
  107. package/lib/SelectMenu/SelectMenuHeader.d.ts +1 -2
  108. package/lib/SelectMenu/SelectMenuHeader.js +1 -1
  109. package/lib/SelectMenu/SelectMenuHeader.jsx +0 -2
  110. package/lib/SelectMenu/SelectMenuItem.d.ts +2 -3
  111. package/lib/SelectMenu/SelectMenuItem.js +1 -1
  112. package/lib/SelectMenu/SelectMenuItem.jsx +0 -1
  113. package/lib/SelectMenu/SelectMenuList.d.ts +1 -2
  114. package/lib/SelectMenu/SelectMenuList.js +1 -1
  115. package/lib/SelectMenu/SelectMenuList.jsx +0 -1
  116. package/lib/SelectMenu/SelectMenuLoadingAnimation.d.ts +2 -2
  117. package/lib/SelectMenu/SelectMenuLoadingAnimation.js +3 -1
  118. package/lib/SelectMenu/SelectMenuLoadingAnimation.jsx +2 -1
  119. package/lib/SelectMenu/SelectMenuModal.d.ts +2 -3
  120. package/lib/SelectMenu/SelectMenuModal.js +1 -1
  121. package/lib/SelectMenu/SelectMenuModal.jsx +0 -1
  122. package/lib/SelectMenu/SelectMenuTab.d.ts +1 -2
  123. package/lib/SelectMenu/SelectMenuTab.js +1 -1
  124. package/lib/SelectMenu/SelectMenuTab.jsx +0 -1
  125. package/lib/SelectMenu/SelectMenuTabPanel.d.ts +1 -2
  126. package/lib/SelectMenu/SelectMenuTabPanel.js +1 -1
  127. package/lib/SelectMenu/SelectMenuTabPanel.jsx +0 -1
  128. package/lib/SelectMenu/SelectMenuTabs.d.ts +1 -2
  129. package/lib/SelectMenu/SelectMenuTabs.js +1 -1
  130. package/lib/SelectMenu/SelectMenuTabs.jsx +0 -1
  131. package/lib/SideNav.d.ts +11 -8
  132. package/lib/SideNav.js +8 -15
  133. package/lib/SideNav.jsx +2 -6
  134. package/lib/StateLabel.d.ts +1 -2
  135. package/lib/StateLabel.js +6 -5
  136. package/lib/StateLabel.jsx +1 -2
  137. package/lib/StyledOcticon.d.ts +1 -2
  138. package/lib/StyledOcticon.js +1 -3
  139. package/lib/StyledOcticon.jsx +0 -2
  140. package/lib/SubNav.d.ts +5 -11
  141. package/lib/SubNav.js +7 -12
  142. package/lib/SubNav.jsx +4 -7
  143. package/lib/TabNav.d.ts +3 -4
  144. package/lib/TabNav.js +2 -2
  145. package/lib/TabNav.jsx +0 -2
  146. package/lib/TextInputWithTokens.d.ts +3 -3
  147. package/lib/Timeline.d.ts +19 -393
  148. package/lib/Timeline.js +16 -13
  149. package/lib/Timeline.jsx +9 -10
  150. package/lib/Token/Token.d.ts +1 -1
  151. package/lib/Tooltip.d.ts +1 -2
  152. package/lib/Tooltip.js +1 -1
  153. package/lib/Tooltip.jsx +1 -1
  154. package/lib/Truncate.d.ts +1 -2
  155. package/lib/Truncate.js +1 -3
  156. package/lib/Truncate.jsx +0 -3
  157. package/lib/UnderlineNav.d.ts +2 -3
  158. package/lib/UnderlineNav.js +2 -2
  159. package/lib/UnderlineNav.jsx +0 -2
  160. package/lib-esm/ActionList2/Group.d.ts +28 -2
  161. package/lib-esm/ActionList2/Group.js +52 -5
  162. package/lib-esm/ActionList2/List.d.ts +1 -1
  163. package/lib-esm/Autocomplete/Autocomplete.d.ts +3 -3
  164. package/lib-esm/Autocomplete/AutocompleteInput.d.ts +3 -3
  165. package/lib-esm/Breadcrumbs.d.ts +8 -7
  166. package/lib-esm/Breadcrumbs.js +8 -13
  167. package/lib-esm/Button/Button.d.ts +2 -3
  168. package/lib-esm/Button/Button.js +2 -2
  169. package/lib-esm/Button/ButtonBase.d.ts +5 -8
  170. package/lib-esm/Button/ButtonBase.js +1 -3
  171. package/lib-esm/Button/ButtonClose.d.ts +3 -46
  172. package/lib-esm/Button/ButtonClose.js +2 -2
  173. package/lib-esm/Button/ButtonDanger.d.ts +2 -3
  174. package/lib-esm/Button/ButtonDanger.js +2 -2
  175. package/lib-esm/Button/ButtonInvisible.d.ts +2 -3
  176. package/lib-esm/Button/ButtonInvisible.js +2 -2
  177. package/lib-esm/Button/ButtonOutline.d.ts +2 -3
  178. package/lib-esm/Button/ButtonOutline.js +2 -2
  179. package/lib-esm/Button/ButtonPrimary.d.ts +2 -3
  180. package/lib-esm/Button/ButtonPrimary.js +2 -2
  181. package/lib-esm/Button/ButtonTableList.d.ts +1 -2
  182. package/lib-esm/Button/ButtonTableList.js +2 -2
  183. package/lib-esm/CircleBadge.d.ts +4 -5
  184. package/lib-esm/CircleBadge.js +2 -2
  185. package/lib-esm/CircleOcticon.d.ts +1 -1
  186. package/lib-esm/CounterLabel.d.ts +1 -2
  187. package/lib-esm/CounterLabel.js +2 -2
  188. package/lib-esm/Dialog/Dialog.d.ts +5 -9
  189. package/lib-esm/Dialog/Dialog.js +12 -12
  190. package/lib-esm/Dialog.d.ts +4 -5
  191. package/lib-esm/Dialog.js +2 -2
  192. package/lib-esm/Dropdown.d.ts +10 -99
  193. package/lib-esm/Dropdown.js +4 -4
  194. package/lib-esm/DropdownMenu/DropdownButton.d.ts +3 -47
  195. package/lib-esm/DropdownMenu/DropdownButton.js +3 -1
  196. package/lib-esm/FilterList.d.ts +264 -303
  197. package/lib-esm/FilterList.js +3 -7
  198. package/lib-esm/FilteredSearch.d.ts +1 -2
  199. package/lib-esm/FilteredSearch.js +2 -2
  200. package/lib-esm/Flash.d.ts +1 -2
  201. package/lib-esm/Flash.js +2 -2
  202. package/lib-esm/FormGroup.d.ts +4 -5
  203. package/lib-esm/FormGroup.js +3 -3
  204. package/lib-esm/Header.d.ts +6 -7
  205. package/lib-esm/Header.js +5 -5
  206. package/lib-esm/Label.d.ts +1 -2
  207. package/lib-esm/Label.js +3 -4
  208. package/lib-esm/LabelGroup.d.ts +1 -2
  209. package/lib-esm/LabelGroup.js +2 -2
  210. package/lib-esm/Link.d.ts +1 -2
  211. package/lib-esm/Link.js +2 -2
  212. package/lib-esm/NewButton/button.js +31 -42
  213. package/lib-esm/Overlay.d.ts +11 -10
  214. package/lib-esm/Overlay.js +2 -3
  215. package/lib-esm/Pagehead.d.ts +1 -2
  216. package/lib-esm/Pagehead.js +2 -2
  217. package/lib-esm/Pagination/Pagination.js +2 -2
  218. package/lib-esm/Popover.d.ts +4 -5
  219. package/lib-esm/Popover.js +4 -5
  220. package/lib-esm/Position.d.ts +4 -4
  221. package/lib-esm/SelectMenu/SelectMenu.d.ts +21 -189
  222. package/lib-esm/SelectMenu/SelectMenu.js +1 -2
  223. package/lib-esm/SelectMenu/SelectMenuDivider.d.ts +1 -2
  224. package/lib-esm/SelectMenu/SelectMenuDivider.js +2 -2
  225. package/lib-esm/SelectMenu/SelectMenuFilter.js +2 -2
  226. package/lib-esm/SelectMenu/SelectMenuFooter.d.ts +1 -2
  227. package/lib-esm/SelectMenu/SelectMenuFooter.js +2 -2
  228. package/lib-esm/SelectMenu/SelectMenuHeader.d.ts +1 -2
  229. package/lib-esm/SelectMenu/SelectMenuHeader.js +2 -2
  230. package/lib-esm/SelectMenu/SelectMenuItem.d.ts +2 -3
  231. package/lib-esm/SelectMenu/SelectMenuItem.js +2 -2
  232. package/lib-esm/SelectMenu/SelectMenuList.d.ts +1 -2
  233. package/lib-esm/SelectMenu/SelectMenuList.js +2 -2
  234. package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.d.ts +2 -2
  235. package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.js +3 -2
  236. package/lib-esm/SelectMenu/SelectMenuModal.d.ts +2 -3
  237. package/lib-esm/SelectMenu/SelectMenuModal.js +2 -2
  238. package/lib-esm/SelectMenu/SelectMenuTab.d.ts +1 -2
  239. package/lib-esm/SelectMenu/SelectMenuTab.js +2 -2
  240. package/lib-esm/SelectMenu/SelectMenuTabPanel.d.ts +1 -2
  241. package/lib-esm/SelectMenu/SelectMenuTabPanel.js +2 -2
  242. package/lib-esm/SelectMenu/SelectMenuTabs.d.ts +1 -2
  243. package/lib-esm/SelectMenu/SelectMenuTabs.js +2 -2
  244. package/lib-esm/SideNav.d.ts +11 -8
  245. package/lib-esm/SideNav.js +8 -16
  246. package/lib-esm/StateLabel.d.ts +1 -2
  247. package/lib-esm/StateLabel.js +7 -6
  248. package/lib-esm/StyledOcticon.d.ts +1 -2
  249. package/lib-esm/StyledOcticon.js +1 -2
  250. package/lib-esm/SubNav.d.ts +5 -11
  251. package/lib-esm/SubNav.js +8 -13
  252. package/lib-esm/TabNav.d.ts +3 -4
  253. package/lib-esm/TabNav.js +3 -3
  254. package/lib-esm/TextInputWithTokens.d.ts +3 -3
  255. package/lib-esm/Timeline.d.ts +19 -393
  256. package/lib-esm/Timeline.js +12 -13
  257. package/lib-esm/Token/Token.d.ts +1 -1
  258. package/lib-esm/Tooltip.d.ts +1 -2
  259. package/lib-esm/Tooltip.js +2 -2
  260. package/lib-esm/Truncate.d.ts +1 -2
  261. package/lib-esm/Truncate.js +1 -2
  262. package/lib-esm/UnderlineNav.d.ts +2 -3
  263. package/lib-esm/UnderlineNav.js +3 -3
  264. package/package.json +3 -3
  265. package/.changeset/README.md +0 -8
  266. package/.changeset/config.json +0 -10
  267. package/.devcontainer/devcontainer.json +0 -8
  268. package/.eslintrc.json +0 -137
  269. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
  270. package/.github/ISSUE_TEMPLATE/new_component_proposal_template.md +0 -41
  271. package/.github/dependabot.yml +0 -18
  272. package/.github/pull_request_template.md +0 -18
  273. package/.github/workflows/check_for_changeset.yml +0 -25
  274. package/.github/workflows/ci.yml +0 -34
  275. package/.github/workflows/deploy_preview.yml +0 -47
  276. package/.github/workflows/deploy_production.yml +0 -70
  277. package/.github/workflows/release.yml +0 -36
  278. package/.github/workflows/release_canary.yml +0 -71
  279. package/.github/workflows/release_candidate.yml +0 -60
  280. package/.github/workflows/size.yml +0 -13
  281. package/.github/workflows/stale.yml +0 -26
  282. package/.gitignore +0 -10
  283. package/.npmrc +0 -4
  284. package/.nvmrc +0 -1
  285. package/.storybook/main.js +0 -9
  286. package/.storybook/preview.js +0 -117
  287. package/.vscode/launch.json +0 -21
  288. package/.vscode/settings.json +0 -13
  289. package/@types/@styled-system/index.d.ts +0 -0
  290. package/@types/@styled-system/prop-types/index.d.ts +0 -1
  291. package/@types/@styled-system/props/index.d.ts +0 -1
  292. package/@types/jest-styled-components/index.d.ts +0 -1
  293. package/CODEOWNERS +0 -2
  294. package/babel-defines.js +0 -13
  295. package/babel.config.js +0 -39
  296. package/contributor-docs/CODE_OF_CONDUCT.md +0 -76
  297. package/contributor-docs/CONTRIBUTING.md +0 -274
  298. package/contributor-docs/adrs/adr-001-typescript.md +0 -23
  299. package/contributor-docs/adrs/adr-002-behavior-isolation.md +0 -108
  300. package/contributor-docs/adrs/adr-003-prop-norms.md +0 -72
  301. package/contributor-docs/behaviors.md +0 -132
  302. package/contributor-docs/component-contents-api-patterns.md +0 -316
  303. package/contributor-docs/principles.md +0 -39
  304. package/docs/.eslintrc +0 -0
  305. package/docs/.gitignore +0 -91
  306. package/docs/components/PropsList.js +0 -5
  307. package/docs/components/State.js +0 -9
  308. package/docs/components/constants.js +0 -34
  309. package/docs/components/index.js +0 -2
  310. package/docs/content/ActionList.mdx +0 -99
  311. package/docs/content/ActionList2.mdx +0 -358
  312. package/docs/content/ActionMenu.mdx +0 -80
  313. package/docs/content/AnchoredOverlay.mdx +0 -37
  314. package/docs/content/Autocomplete.mdx +0 -657
  315. package/docs/content/Avatar.mdx +0 -33
  316. package/docs/content/AvatarStack.mdx +0 -37
  317. package/docs/content/BorderBox.md +0 -46
  318. package/docs/content/Box.mdx +0 -96
  319. package/docs/content/BranchName.md +0 -18
  320. package/docs/content/Breadcrumbs.md +0 -52
  321. package/docs/content/Buttons.md +0 -56
  322. package/docs/content/CircleBadge.md +0 -45
  323. package/docs/content/CircleOcticon.md +0 -18
  324. package/docs/content/CounterLabel.md +0 -32
  325. package/docs/content/Details.md +0 -105
  326. package/docs/content/Dialog.md +0 -108
  327. package/docs/content/Dialog2.mdx +0 -179
  328. package/docs/content/Dropdown.md +0 -72
  329. package/docs/content/DropdownMenu.mdx +0 -49
  330. package/docs/content/FilterList.md +0 -44
  331. package/docs/content/FilteredSearch.md +0 -39
  332. package/docs/content/Flash.md +0 -44
  333. package/docs/content/Flex.md +0 -58
  334. package/docs/content/FormGroup.md +0 -46
  335. package/docs/content/Grid.md +0 -59
  336. package/docs/content/Header.md +0 -79
  337. package/docs/content/Heading.md +0 -22
  338. package/docs/content/Label.md +0 -42
  339. package/docs/content/LabelGroup.md +0 -31
  340. package/docs/content/Link.md +0 -37
  341. package/docs/content/Overlay.mdx +0 -94
  342. package/docs/content/Pagehead.md +0 -27
  343. package/docs/content/Pagination.md +0 -187
  344. package/docs/content/PointerBox.md +0 -81
  345. package/docs/content/Popover.md +0 -137
  346. package/docs/content/Portal.mdx +0 -78
  347. package/docs/content/Position.md +0 -100
  348. package/docs/content/ProgressBar.mdx +0 -29
  349. package/docs/content/SelectMenu.md +0 -435
  350. package/docs/content/SelectPanel.mdx +0 -67
  351. package/docs/content/SideNav.md +0 -179
  352. package/docs/content/Spinner.mdx +0 -32
  353. package/docs/content/StateLabel.md +0 -36
  354. package/docs/content/StyledOcticon.md +0 -36
  355. package/docs/content/SubNav.md +0 -102
  356. package/docs/content/TabNav.md +0 -50
  357. package/docs/content/Text.md +0 -31
  358. package/docs/content/TextInput.md +0 -34
  359. package/docs/content/TextInputTokens.mdx +0 -89
  360. package/docs/content/TextInputWithTokens.mdx +0 -211
  361. package/docs/content/Timeline.md +0 -138
  362. package/docs/content/Token.mdx +0 -381
  363. package/docs/content/Tooltip.md +0 -41
  364. package/docs/content/Truncate.md +0 -64
  365. package/docs/content/UnderlineNav.md +0 -53
  366. package/docs/content/anchoredPosition.mdx +0 -163
  367. package/docs/content/core-concepts.md +0 -70
  368. package/docs/content/focusTrap.mdx +0 -103
  369. package/docs/content/focusZone.mdx +0 -145
  370. package/docs/content/getting-started.md +0 -138
  371. package/docs/content/index.md +0 -33
  372. package/docs/content/linting.md +0 -35
  373. package/docs/content/overriding-styles.mdx +0 -82
  374. package/docs/content/philosophy.md +0 -23
  375. package/docs/content/primer-theme.md +0 -89
  376. package/docs/content/ssr.mdx +0 -43
  377. package/docs/content/system-props.mdx +0 -37
  378. package/docs/content/theme-reference.md +0 -16
  379. package/docs/content/theming.md +0 -272
  380. package/docs/content/useOnEscapePress.mdx +0 -56
  381. package/docs/content/useOnOutsideClick.mdx +0 -57
  382. package/docs/content/useOpenAndCloseFocus.mdx +0 -49
  383. package/docs/content/useOverlay.mdx +0 -62
  384. package/docs/content/useSafeTimeout.mdx +0 -32
  385. package/docs/gatsby-config.js +0 -30
  386. package/docs/gatsby-node.js +0 -101
  387. package/docs/package-lock.json +0 -20756
  388. package/docs/package.json +0 -36
  389. package/docs/src/@primer/gatsby-theme-doctocat/components/hero.js +0 -21
  390. package/docs/src/@primer/gatsby-theme-doctocat/components/live-preview-wrapper.js +0 -41
  391. package/docs/src/@primer/gatsby-theme-doctocat/live-code-scope.js +0 -73
  392. package/docs/src/@primer/gatsby-theme-doctocat/nav.yml +0 -133
  393. package/docs/src/@primer/gatsby-theme-doctocat/primer-components-hero.svg +0 -1411
  394. package/docs/src/component-checklist.js +0 -81
  395. package/docs/src/props.js +0 -77
  396. package/jest.config.js +0 -13
  397. package/lib/__tests__/ActionList.test.d.ts +0 -1
  398. package/lib/__tests__/ActionList.test.js +0 -69
  399. package/lib/__tests__/ActionList.test.jsx +0 -49
  400. package/lib/__tests__/ActionList.types.test.d.ts +0 -6
  401. package/lib/__tests__/ActionList.types.test.js +0 -69
  402. package/lib/__tests__/ActionList.types.test.jsx +0 -45
  403. package/lib/__tests__/ActionList2.test.d.ts +0 -1
  404. package/lib/__tests__/ActionList2.test.js +0 -53
  405. package/lib/__tests__/ActionList2.test.jsx +0 -46
  406. package/lib/__tests__/ActionMenu.test.d.ts +0 -1
  407. package/lib/__tests__/ActionMenu.test.js +0 -151
  408. package/lib/__tests__/ActionMenu.test.jsx +0 -124
  409. package/lib/__tests__/AnchoredOverlay.test.d.ts +0 -1
  410. package/lib/__tests__/AnchoredOverlay.test.js +0 -162
  411. package/lib/__tests__/AnchoredOverlay.test.jsx +0 -121
  412. package/lib/__tests__/Autocomplete.test.d.ts +0 -1
  413. package/lib/__tests__/Autocomplete.test.js +0 -528
  414. package/lib/__tests__/Autocomplete.test.jsx +0 -299
  415. package/lib/__tests__/Avatar.test.d.ts +0 -1
  416. package/lib/__tests__/Avatar.test.js +0 -67
  417. package/lib/__tests__/Avatar.test.jsx +0 -42
  418. package/lib/__tests__/AvatarStack.test.d.ts +0 -1
  419. package/lib/__tests__/AvatarStack.test.js +0 -71
  420. package/lib/__tests__/AvatarStack.test.jsx +0 -43
  421. package/lib/__tests__/BorderBox.test.d.ts +0 -1
  422. package/lib/__tests__/BorderBox.test.js +0 -58
  423. package/lib/__tests__/BorderBox.test.jsx +0 -36
  424. package/lib/__tests__/Box.test.d.ts +0 -1
  425. package/lib/__tests__/Box.test.js +0 -78
  426. package/lib/__tests__/Box.test.jsx +0 -41
  427. package/lib/__tests__/BranchName.test.d.ts +0 -1
  428. package/lib/__tests__/BranchName.test.js +0 -36
  429. package/lib/__tests__/BranchName.test.jsx +0 -27
  430. package/lib/__tests__/Breadcrumbs.test.d.ts +0 -1
  431. package/lib/__tests__/Breadcrumbs.test.js +0 -37
  432. package/lib/__tests__/Breadcrumbs.test.jsx +0 -28
  433. package/lib/__tests__/BreadcrumbsItem.test.d.ts +0 -1
  434. package/lib/__tests__/BreadcrumbsItem.test.js +0 -49
  435. package/lib/__tests__/BreadcrumbsItem.test.jsx +0 -31
  436. package/lib/__tests__/Button.test.d.ts +0 -1
  437. package/lib/__tests__/Button.test.js +0 -143
  438. package/lib/__tests__/Button.test.jsx +0 -100
  439. package/lib/__tests__/Caret.test.d.ts +0 -1
  440. package/lib/__tests__/Caret.test.js +0 -52
  441. package/lib/__tests__/Caret.test.jsx +0 -37
  442. package/lib/__tests__/CircleBadge.test.d.ts +0 -1
  443. package/lib/__tests__/CircleBadge.test.js +0 -83
  444. package/lib/__tests__/CircleBadge.test.jsx +0 -55
  445. package/lib/__tests__/CircleOcticon.test.d.ts +0 -1
  446. package/lib/__tests__/CircleOcticon.test.js +0 -71
  447. package/lib/__tests__/CircleOcticon.test.jsx +0 -45
  448. package/lib/__tests__/ConfirmationDialog.test.d.ts +0 -1
  449. package/lib/__tests__/ConfirmationDialog.test.js +0 -134
  450. package/lib/__tests__/ConfirmationDialog.test.jsx +0 -119
  451. package/lib/__tests__/CounterLabel.test.d.ts +0 -1
  452. package/lib/__tests__/CounterLabel.test.js +0 -58
  453. package/lib/__tests__/CounterLabel.test.jsx +0 -36
  454. package/lib/__tests__/Details.test.d.ts +0 -1
  455. package/lib/__tests__/Details.test.js +0 -117
  456. package/lib/__tests__/Details.test.jsx +0 -85
  457. package/lib/__tests__/Dialog.test.d.ts +0 -1
  458. package/lib/__tests__/Dialog.test.js +0 -184
  459. package/lib/__tests__/Dialog.test.jsx +0 -139
  460. package/lib/__tests__/Dropdown.test.d.ts +0 -1
  461. package/lib/__tests__/Dropdown.test.js +0 -63
  462. package/lib/__tests__/Dropdown.test.jsx +0 -49
  463. package/lib/__tests__/DropdownMenu.test.d.ts +0 -1
  464. package/lib/__tests__/DropdownMenu.test.js +0 -150
  465. package/lib/__tests__/DropdownMenu.test.jsx +0 -119
  466. package/lib/__tests__/FilterList.test.d.ts +0 -1
  467. package/lib/__tests__/FilterList.test.js +0 -36
  468. package/lib/__tests__/FilterList.test.jsx +0 -27
  469. package/lib/__tests__/FilterListItem.test.d.ts +0 -1
  470. package/lib/__tests__/FilterListItem.test.js +0 -46
  471. package/lib/__tests__/FilterListItem.test.jsx +0 -31
  472. package/lib/__tests__/FilteredSearch.test.d.ts +0 -1
  473. package/lib/__tests__/FilteredSearch.test.js +0 -36
  474. package/lib/__tests__/FilteredSearch.test.jsx +0 -27
  475. package/lib/__tests__/Flash.test.d.ts +0 -1
  476. package/lib/__tests__/Flash.test.js +0 -62
  477. package/lib/__tests__/Flash.test.jsx +0 -36
  478. package/lib/__tests__/Flex.test.d.ts +0 -1
  479. package/lib/__tests__/Flex.test.js +0 -74
  480. package/lib/__tests__/Flex.test.jsx +0 -51
  481. package/lib/__tests__/FormGroup.test.d.ts +0 -1
  482. package/lib/__tests__/FormGroup.test.js +0 -54
  483. package/lib/__tests__/FormGroup.test.jsx +0 -36
  484. package/lib/__tests__/Grid.test.d.ts +0 -1
  485. package/lib/__tests__/Grid.test.js +0 -104
  486. package/lib/__tests__/Grid.test.jsx +0 -69
  487. package/lib/__tests__/Header.test.d.ts +0 -1
  488. package/lib/__tests__/Header.test.js +0 -58
  489. package/lib/__tests__/Header.test.jsx +0 -45
  490. package/lib/__tests__/Heading.test.d.ts +0 -1
  491. package/lib/__tests__/Heading.test.js +0 -109
  492. package/lib/__tests__/Heading.test.jsx +0 -71
  493. package/lib/__tests__/KeyPaths.types.test.d.ts +0 -11
  494. package/lib/__tests__/KeyPaths.types.test.js +0 -7
  495. package/lib/__tests__/Label.test.d.ts +0 -1
  496. package/lib/__tests__/Label.test.js +0 -46
  497. package/lib/__tests__/Label.test.jsx +0 -33
  498. package/lib/__tests__/LabelGroup.test.d.ts +0 -1
  499. package/lib/__tests__/LabelGroup.test.js +0 -38
  500. package/lib/__tests__/LabelGroup.test.jsx +0 -29
  501. package/lib/__tests__/Link.test.d.ts +0 -1
  502. package/lib/__tests__/Link.test.js +0 -70
  503. package/lib/__tests__/Link.test.jsx +0 -43
  504. package/lib/__tests__/Merge.types.test.d.ts +0 -30
  505. package/lib/__tests__/Merge.types.test.js +0 -21
  506. package/lib/__tests__/NewButton.test.d.ts +0 -1
  507. package/lib/__tests__/NewButton.test.js +0 -95
  508. package/lib/__tests__/NewButton.test.jsx +0 -61
  509. package/lib/__tests__/Overlay.test.d.ts +0 -1
  510. package/lib/__tests__/Overlay.test.js +0 -145
  511. package/lib/__tests__/Overlay.test.jsx +0 -105
  512. package/lib/__tests__/Pagehead.test.d.ts +0 -1
  513. package/lib/__tests__/Pagehead.test.js +0 -37
  514. package/lib/__tests__/Pagehead.test.jsx +0 -25
  515. package/lib/__tests__/Pagination/Pagination.test.d.ts +0 -1
  516. package/lib/__tests__/Pagination/Pagination.test.js +0 -47
  517. package/lib/__tests__/Pagination/Pagination.test.jsx +0 -32
  518. package/lib/__tests__/Pagination/PaginationModel.test.d.ts +0 -1
  519. package/lib/__tests__/Pagination/PaginationModel.test.js +0 -186
  520. package/lib/__tests__/Pagination/PaginationModel.test.jsx +0 -118
  521. package/lib/__tests__/PointerBox.test.d.ts +0 -1
  522. package/lib/__tests__/PointerBox.test.js +0 -46
  523. package/lib/__tests__/PointerBox.test.jsx +0 -33
  524. package/lib/__tests__/Popover.test.d.ts +0 -1
  525. package/lib/__tests__/Popover.test.js +0 -66
  526. package/lib/__tests__/Popover.test.jsx +0 -58
  527. package/lib/__tests__/Portal.test.d.ts +0 -1
  528. package/lib/__tests__/Portal.test.js +0 -124
  529. package/lib/__tests__/Portal.test.jsx +0 -102
  530. package/lib/__tests__/Position.test.d.ts +0 -1
  531. package/lib/__tests__/Position.test.js +0 -143
  532. package/lib/__tests__/Position.test.jsx +0 -96
  533. package/lib/__tests__/ProgressBar.test.d.ts +0 -1
  534. package/lib/__tests__/ProgressBar.test.js +0 -68
  535. package/lib/__tests__/ProgressBar.test.jsx +0 -38
  536. package/lib/__tests__/SelectMenu.test.d.ts +0 -1
  537. package/lib/__tests__/SelectMenu.test.js +0 -155
  538. package/lib/__tests__/SelectMenu.test.jsx +0 -120
  539. package/lib/__tests__/SelectPanel.test.d.ts +0 -1
  540. package/lib/__tests__/SelectPanel.test.js +0 -80
  541. package/lib/__tests__/SelectPanel.test.jsx +0 -48
  542. package/lib/__tests__/SideNav.test.d.ts +0 -1
  543. package/lib/__tests__/SideNav.test.js +0 -71
  544. package/lib/__tests__/SideNav.test.jsx +0 -55
  545. package/lib/__tests__/Spinner.test.d.ts +0 -1
  546. package/lib/__tests__/Spinner.test.js +0 -53
  547. package/lib/__tests__/Spinner.test.jsx +0 -41
  548. package/lib/__tests__/StateLabel.test.d.ts +0 -1
  549. package/lib/__tests__/StateLabel.test.js +0 -71
  550. package/lib/__tests__/StateLabel.test.jsx +0 -46
  551. package/lib/__tests__/StyledOcticon.test.d.ts +0 -1
  552. package/lib/__tests__/StyledOcticon.test.js +0 -40
  553. package/lib/__tests__/StyledOcticon.test.jsx +0 -28
  554. package/lib/__tests__/SubNav.test.d.ts +0 -1
  555. package/lib/__tests__/SubNav.test.js +0 -62
  556. package/lib/__tests__/SubNav.test.jsx +0 -47
  557. package/lib/__tests__/SubNavLink.test.d.ts +0 -1
  558. package/lib/__tests__/SubNavLink.test.js +0 -49
  559. package/lib/__tests__/SubNavLink.test.jsx +0 -31
  560. package/lib/__tests__/TabNav.test.d.ts +0 -1
  561. package/lib/__tests__/TabNav.test.js +0 -49
  562. package/lib/__tests__/TabNav.test.jsx +0 -32
  563. package/lib/__tests__/Text.test.d.ts +0 -1
  564. package/lib/__tests__/Text.test.js +0 -105
  565. package/lib/__tests__/Text.test.jsx +0 -71
  566. package/lib/__tests__/TextInput.test.d.ts +0 -1
  567. package/lib/__tests__/TextInput.test.js +0 -78
  568. package/lib/__tests__/TextInput.test.jsx +0 -45
  569. package/lib/__tests__/TextInputWithTokens.test.d.ts +0 -1
  570. package/lib/__tests__/TextInputWithTokens.test.js +0 -572
  571. package/lib/__tests__/TextInputWithTokens.test.jsx +0 -302
  572. package/lib/__tests__/ThemeProvider.test.d.ts +0 -1
  573. package/lib/__tests__/ThemeProvider.test.js +0 -444
  574. package/lib/__tests__/ThemeProvider.test.jsx +0 -314
  575. package/lib/__tests__/Timeline.test.d.ts +0 -1
  576. package/lib/__tests__/Timeline.test.js +0 -75
  577. package/lib/__tests__/Timeline.test.jsx +0 -51
  578. package/lib/__tests__/Token.test.d.ts +0 -1
  579. package/lib/__tests__/Token.test.js +0 -180
  580. package/lib/__tests__/Token.test.jsx +0 -93
  581. package/lib/__tests__/Tooltip.test.d.ts +0 -1
  582. package/lib/__tests__/Tooltip.test.js +0 -69
  583. package/lib/__tests__/Tooltip.test.jsx +0 -46
  584. package/lib/__tests__/Truncate.test.d.ts +0 -1
  585. package/lib/__tests__/Truncate.test.js +0 -63
  586. package/lib/__tests__/Truncate.test.jsx +0 -41
  587. package/lib/__tests__/UnderlineNav.test.d.ts +0 -1
  588. package/lib/__tests__/UnderlineNav.test.js +0 -72
  589. package/lib/__tests__/UnderlineNav.test.jsx +0 -53
  590. package/lib/__tests__/UnderlineNavLink.test.d.ts +0 -1
  591. package/lib/__tests__/UnderlineNavLink.test.js +0 -51
  592. package/lib/__tests__/UnderlineNavLink.test.jsx +0 -31
  593. package/lib/__tests__/behaviors/anchoredPosition.test.d.ts +0 -1
  594. package/lib/__tests__/behaviors/anchoredPosition.test.js +0 -243
  595. package/lib/__tests__/behaviors/focusTrap.test.d.ts +0 -1
  596. package/lib/__tests__/behaviors/focusTrap.test.js +0 -234
  597. package/lib/__tests__/behaviors/focusTrap.test.jsx +0 -184
  598. package/lib/__tests__/behaviors/focusZone.test.d.ts +0 -1
  599. package/lib/__tests__/behaviors/focusZone.test.js +0 -570
  600. package/lib/__tests__/behaviors/focusZone.test.jsx +0 -406
  601. package/lib/__tests__/behaviors/iterateFocusableElements.test.d.ts +0 -1
  602. package/lib/__tests__/behaviors/iterateFocusableElements.test.js +0 -55
  603. package/lib/__tests__/behaviors/iterateFocusableElements.test.jsx +0 -58
  604. package/lib/__tests__/behaviors/scrollIntoViewingArea.test.d.ts +0 -1
  605. package/lib/__tests__/behaviors/scrollIntoViewingArea.test.js +0 -155
  606. package/lib/__tests__/filterObject.test.d.ts +0 -1
  607. package/lib/__tests__/filterObject.test.js +0 -51
  608. package/lib/__tests__/hooks/useAnchoredPosition.test.d.ts +0 -1
  609. package/lib/__tests__/hooks/useAnchoredPosition.test.js +0 -54
  610. package/lib/__tests__/hooks/useAnchoredPosition.test.jsx +0 -29
  611. package/lib/__tests__/hooks/useOnEscapePress.test.d.ts +0 -1
  612. package/lib/__tests__/hooks/useOnEscapePress.test.js +0 -32
  613. package/lib/__tests__/hooks/useOnEscapePress.test.jsx +0 -19
  614. package/lib/__tests__/hooks/useOnOutsideClick.test.d.ts +0 -1
  615. package/lib/__tests__/hooks/useOnOutsideClick.test.js +0 -87
  616. package/lib/__tests__/hooks/useOnOutsideClick.test.jsx +0 -63
  617. package/lib/__tests__/hooks/useOpenAndCloseFocus.test.d.ts +0 -1
  618. package/lib/__tests__/hooks/useOpenAndCloseFocus.test.js +0 -60
  619. package/lib/__tests__/hooks/useOpenAndCloseFocus.test.jsx +0 -61
  620. package/lib/__tests__/hooks/useProvidedStateOrCreate.test.d.ts +0 -1
  621. package/lib/__tests__/hooks/useProvidedStateOrCreate.test.js +0 -45
  622. package/lib/__tests__/hooks/useProvidedStateOrCreate.test.jsx +0 -56
  623. package/lib/__tests__/theme.test.d.ts +0 -1
  624. package/lib/__tests__/theme.test.js +0 -35
  625. package/lib/__tests__/themeGet.test.d.ts +0 -1
  626. package/lib/__tests__/themeGet.test.js +0 -14
  627. package/lib/__tests__/useSafeTimeout.test.d.ts +0 -1
  628. package/lib/__tests__/useSafeTimeout.test.js +0 -45
  629. package/lib/__tests__/useSafeTimeout.test.jsx +0 -36
  630. package/lib/__tests__/utils/createSlots.test.d.ts +0 -1
  631. package/lib/__tests__/utils/createSlots.test.js +0 -75
  632. package/lib/__tests__/utils/createSlots.test.jsx +0 -57
  633. package/lib/stories/ActionList.stories.js +0 -454
  634. package/lib/stories/ActionList2.stories.js +0 -908
  635. package/lib/stories/ActionMenu.stories.js +0 -350
  636. package/lib/stories/AnchoredOverlay.stories.js +0 -127
  637. package/lib/stories/Autocomplete.stories.js +0 -619
  638. package/lib/stories/AvatarStack.stories.js +0 -49
  639. package/lib/stories/Button.stories.js +0 -125
  640. package/lib/stories/ConfirmationDialog.stories.js +0 -111
  641. package/lib/stories/Dialog.stories.js +0 -265
  642. package/lib/stories/DropdownMenu.stories.js +0 -122
  643. package/lib/stories/IssueLabelToken.stories.js +0 -165
  644. package/lib/stories/NewButton.stories.js +0 -230
  645. package/lib/stories/Overlay.stories.js +0 -204
  646. package/lib/stories/Portal.stories.js +0 -104
  647. package/lib/stories/ProfileToken.stories.js +0 -162
  648. package/lib/stories/SelectPanel.stories.js +0 -399
  649. package/lib/stories/TextInput.stories.js +0 -144
  650. package/lib/stories/TextInputWithTokens.stories.js +0 -252
  651. package/lib/stories/ThemeProvider.stories.js +0 -102
  652. package/lib/stories/Token.stories.js +0 -176
  653. package/lib/stories/useAnchoredPosition.stories.js +0 -351
  654. package/lib/stories/useFocusTrap.stories.js +0 -356
  655. package/lib/stories/useFocusZone.stories.js +0 -599
  656. package/lib-esm/__tests__/ActionList.test.d.ts +0 -1
  657. package/lib-esm/__tests__/ActionList.test.js +0 -57
  658. package/lib-esm/__tests__/ActionList.types.test.d.ts +0 -6
  659. package/lib-esm/__tests__/ActionList.types.test.js +0 -45
  660. package/lib-esm/__tests__/ActionList2.test.d.ts +0 -1
  661. package/lib-esm/__tests__/ActionList2.test.js +0 -41
  662. package/lib-esm/__tests__/ActionMenu.test.d.ts +0 -1
  663. package/lib-esm/__tests__/ActionMenu.test.js +0 -139
  664. package/lib-esm/__tests__/AnchoredOverlay.test.d.ts +0 -1
  665. package/lib-esm/__tests__/AnchoredOverlay.test.js +0 -136
  666. package/lib-esm/__tests__/Autocomplete.test.d.ts +0 -1
  667. package/lib-esm/__tests__/Autocomplete.test.js +0 -494
  668. package/lib-esm/__tests__/Avatar.test.d.ts +0 -1
  669. package/lib-esm/__tests__/Avatar.test.js +0 -56
  670. package/lib-esm/__tests__/AvatarStack.test.d.ts +0 -1
  671. package/lib-esm/__tests__/AvatarStack.test.js +0 -58
  672. package/lib-esm/__tests__/BorderBox.test.d.ts +0 -1
  673. package/lib-esm/__tests__/BorderBox.test.js +0 -47
  674. package/lib-esm/__tests__/Box.test.d.ts +0 -1
  675. package/lib-esm/__tests__/Box.test.js +0 -67
  676. package/lib-esm/__tests__/BranchName.test.d.ts +0 -1
  677. package/lib-esm/__tests__/BranchName.test.js +0 -26
  678. package/lib-esm/__tests__/Breadcrumbs.test.d.ts +0 -1
  679. package/lib-esm/__tests__/Breadcrumbs.test.js +0 -27
  680. package/lib-esm/__tests__/BreadcrumbsItem.test.d.ts +0 -1
  681. package/lib-esm/__tests__/BreadcrumbsItem.test.js +0 -39
  682. package/lib-esm/__tests__/Button.test.d.ts +0 -1
  683. package/lib-esm/__tests__/Button.test.js +0 -133
  684. package/lib-esm/__tests__/Caret.test.d.ts +0 -1
  685. package/lib-esm/__tests__/Caret.test.js +0 -42
  686. package/lib-esm/__tests__/CircleBadge.test.d.ts +0 -1
  687. package/lib-esm/__tests__/CircleBadge.test.js +0 -70
  688. package/lib-esm/__tests__/CircleOcticon.test.d.ts +0 -1
  689. package/lib-esm/__tests__/CircleOcticon.test.js +0 -59
  690. package/lib-esm/__tests__/ConfirmationDialog.test.d.ts +0 -1
  691. package/lib-esm/__tests__/ConfirmationDialog.test.js +0 -113
  692. package/lib-esm/__tests__/CounterLabel.test.d.ts +0 -1
  693. package/lib-esm/__tests__/CounterLabel.test.js +0 -47
  694. package/lib-esm/__tests__/Details.test.d.ts +0 -1
  695. package/lib-esm/__tests__/Details.test.js +0 -107
  696. package/lib-esm/__tests__/Dialog.test.d.ts +0 -1
  697. package/lib-esm/__tests__/Dialog.test.js +0 -171
  698. package/lib-esm/__tests__/Dropdown.test.d.ts +0 -1
  699. package/lib-esm/__tests__/Dropdown.test.js +0 -53
  700. package/lib-esm/__tests__/DropdownMenu.test.d.ts +0 -1
  701. package/lib-esm/__tests__/DropdownMenu.test.js +0 -137
  702. package/lib-esm/__tests__/FilterList.test.d.ts +0 -1
  703. package/lib-esm/__tests__/FilterList.test.js +0 -26
  704. package/lib-esm/__tests__/FilterListItem.test.d.ts +0 -1
  705. package/lib-esm/__tests__/FilterListItem.test.js +0 -36
  706. package/lib-esm/__tests__/FilteredSearch.test.d.ts +0 -1
  707. package/lib-esm/__tests__/FilteredSearch.test.js +0 -26
  708. package/lib-esm/__tests__/Flash.test.d.ts +0 -1
  709. package/lib-esm/__tests__/Flash.test.js +0 -51
  710. package/lib-esm/__tests__/Flex.test.d.ts +0 -1
  711. package/lib-esm/__tests__/Flex.test.js +0 -64
  712. package/lib-esm/__tests__/FormGroup.test.d.ts +0 -1
  713. package/lib-esm/__tests__/FormGroup.test.js +0 -44
  714. package/lib-esm/__tests__/Grid.test.d.ts +0 -1
  715. package/lib-esm/__tests__/Grid.test.js +0 -94
  716. package/lib-esm/__tests__/Header.test.d.ts +0 -1
  717. package/lib-esm/__tests__/Header.test.js +0 -48
  718. package/lib-esm/__tests__/Heading.test.d.ts +0 -1
  719. package/lib-esm/__tests__/Heading.test.js +0 -99
  720. package/lib-esm/__tests__/KeyPaths.types.test.d.ts +0 -11
  721. package/lib-esm/__tests__/KeyPaths.types.test.js +0 -3
  722. package/lib-esm/__tests__/Label.test.d.ts +0 -1
  723. package/lib-esm/__tests__/Label.test.js +0 -36
  724. package/lib-esm/__tests__/LabelGroup.test.d.ts +0 -1
  725. package/lib-esm/__tests__/LabelGroup.test.js +0 -26
  726. package/lib-esm/__tests__/Link.test.d.ts +0 -1
  727. package/lib-esm/__tests__/Link.test.js +0 -60
  728. package/lib-esm/__tests__/Merge.types.test.d.ts +0 -30
  729. package/lib-esm/__tests__/Merge.types.test.js +0 -14
  730. package/lib-esm/__tests__/NewButton.test.d.ts +0 -1
  731. package/lib-esm/__tests__/NewButton.test.js +0 -84
  732. package/lib-esm/__tests__/Overlay.test.d.ts +0 -1
  733. package/lib-esm/__tests__/Overlay.test.js +0 -123
  734. package/lib-esm/__tests__/Pagehead.test.d.ts +0 -1
  735. package/lib-esm/__tests__/Pagehead.test.js +0 -26
  736. package/lib-esm/__tests__/Pagination/Pagination.test.d.ts +0 -1
  737. package/lib-esm/__tests__/Pagination/Pagination.test.js +0 -35
  738. package/lib-esm/__tests__/Pagination/PaginationModel.test.d.ts +0 -1
  739. package/lib-esm/__tests__/Pagination/PaginationModel.test.js +0 -182
  740. package/lib-esm/__tests__/PointerBox.test.d.ts +0 -1
  741. package/lib-esm/__tests__/PointerBox.test.js +0 -36
  742. package/lib-esm/__tests__/Popover.test.d.ts +0 -1
  743. package/lib-esm/__tests__/Popover.test.js +0 -53
  744. package/lib-esm/__tests__/Portal.test.d.ts +0 -1
  745. package/lib-esm/__tests__/Portal.test.js +0 -104
  746. package/lib-esm/__tests__/Position.test.d.ts +0 -1
  747. package/lib-esm/__tests__/Position.test.js +0 -133
  748. package/lib-esm/__tests__/ProgressBar.test.d.ts +0 -1
  749. package/lib-esm/__tests__/ProgressBar.test.js +0 -58
  750. package/lib-esm/__tests__/SelectMenu.test.d.ts +0 -1
  751. package/lib-esm/__tests__/SelectMenu.test.js +0 -145
  752. package/lib-esm/__tests__/SelectPanel.test.d.ts +0 -1
  753. package/lib-esm/__tests__/SelectPanel.test.js +0 -65
  754. package/lib-esm/__tests__/SideNav.test.d.ts +0 -1
  755. package/lib-esm/__tests__/SideNav.test.js +0 -60
  756. package/lib-esm/__tests__/Spinner.test.d.ts +0 -1
  757. package/lib-esm/__tests__/Spinner.test.js +0 -43
  758. package/lib-esm/__tests__/StateLabel.test.d.ts +0 -1
  759. package/lib-esm/__tests__/StateLabel.test.js +0 -61
  760. package/lib-esm/__tests__/StyledOcticon.test.d.ts +0 -1
  761. package/lib-esm/__tests__/StyledOcticon.test.js +0 -29
  762. package/lib-esm/__tests__/SubNav.test.d.ts +0 -1
  763. package/lib-esm/__tests__/SubNav.test.js +0 -50
  764. package/lib-esm/__tests__/SubNavLink.test.d.ts +0 -1
  765. package/lib-esm/__tests__/SubNavLink.test.js +0 -39
  766. package/lib-esm/__tests__/TabNav.test.d.ts +0 -1
  767. package/lib-esm/__tests__/TabNav.test.js +0 -39
  768. package/lib-esm/__tests__/Text.test.d.ts +0 -1
  769. package/lib-esm/__tests__/Text.test.js +0 -93
  770. package/lib-esm/__tests__/TextInput.test.d.ts +0 -1
  771. package/lib-esm/__tests__/TextInput.test.js +0 -68
  772. package/lib-esm/__tests__/TextInputWithTokens.test.d.ts +0 -1
  773. package/lib-esm/__tests__/TextInputWithTokens.test.js +0 -511
  774. package/lib-esm/__tests__/ThemeProvider.test.d.ts +0 -1
  775. package/lib-esm/__tests__/ThemeProvider.test.js +0 -408
  776. package/lib-esm/__tests__/Timeline.test.d.ts +0 -1
  777. package/lib-esm/__tests__/Timeline.test.js +0 -65
  778. package/lib-esm/__tests__/Token.test.d.ts +0 -1
  779. package/lib-esm/__tests__/Token.test.js +0 -166
  780. package/lib-esm/__tests__/Tooltip.test.d.ts +0 -1
  781. package/lib-esm/__tests__/Tooltip.test.js +0 -59
  782. package/lib-esm/__tests__/Truncate.test.d.ts +0 -1
  783. package/lib-esm/__tests__/Truncate.test.js +0 -53
  784. package/lib-esm/__tests__/UnderlineNav.test.d.ts +0 -1
  785. package/lib-esm/__tests__/UnderlineNav.test.js +0 -60
  786. package/lib-esm/__tests__/UnderlineNavLink.test.d.ts +0 -1
  787. package/lib-esm/__tests__/UnderlineNavLink.test.js +0 -41
  788. package/lib-esm/__tests__/behaviors/anchoredPosition.test.d.ts +0 -1
  789. package/lib-esm/__tests__/behaviors/anchoredPosition.test.js +0 -388
  790. package/lib-esm/__tests__/behaviors/focusTrap.test.d.ts +0 -1
  791. package/lib-esm/__tests__/behaviors/focusTrap.test.js +0 -227
  792. package/lib-esm/__tests__/behaviors/focusZone.test.d.ts +0 -1
  793. package/lib-esm/__tests__/behaviors/focusZone.test.js +0 -487
  794. package/lib-esm/__tests__/behaviors/iterateFocusableElements.test.d.ts +0 -1
  795. package/lib-esm/__tests__/behaviors/iterateFocusableElements.test.js +0 -48
  796. package/lib-esm/__tests__/behaviors/scrollIntoViewingArea.test.d.ts +0 -1
  797. package/lib-esm/__tests__/behaviors/scrollIntoViewingArea.test.js +0 -224
  798. package/lib-esm/__tests__/filterObject.test.d.ts +0 -1
  799. package/lib-esm/__tests__/filterObject.test.js +0 -27
  800. package/lib-esm/__tests__/hooks/useAnchoredPosition.test.d.ts +0 -1
  801. package/lib-esm/__tests__/hooks/useAnchoredPosition.test.js +0 -46
  802. package/lib-esm/__tests__/hooks/useOnEscapePress.test.d.ts +0 -1
  803. package/lib-esm/__tests__/hooks/useOnEscapePress.test.js +0 -23
  804. package/lib-esm/__tests__/hooks/useOnOutsideClick.test.d.ts +0 -1
  805. package/lib-esm/__tests__/hooks/useOnOutsideClick.test.js +0 -68
  806. package/lib-esm/__tests__/hooks/useOpenAndCloseFocus.test.d.ts +0 -1
  807. package/lib-esm/__tests__/hooks/useOpenAndCloseFocus.test.js +0 -52
  808. package/lib-esm/__tests__/hooks/useProvidedStateOrCreate.test.d.ts +0 -1
  809. package/lib-esm/__tests__/hooks/useProvidedStateOrCreate.test.js +0 -36
  810. package/lib-esm/__tests__/theme.test.d.ts +0 -1
  811. package/lib-esm/__tests__/theme.test.js +0 -33
  812. package/lib-esm/__tests__/themeGet.test.d.ts +0 -1
  813. package/lib-esm/__tests__/themeGet.test.js +0 -22
  814. package/lib-esm/__tests__/useSafeTimeout.test.d.ts +0 -1
  815. package/lib-esm/__tests__/useSafeTimeout.test.js +0 -39
  816. package/lib-esm/__tests__/utils/createSlots.test.d.ts +0 -1
  817. package/lib-esm/__tests__/utils/createSlots.test.js +0 -67
  818. package/lib-esm/stories/ActionList.stories.js +0 -395
  819. package/lib-esm/stories/ActionList2.stories.js +0 -796
  820. package/lib-esm/stories/ActionMenu.stories.js +0 -305
  821. package/lib-esm/stories/AnchoredOverlay.stories.js +0 -101
  822. package/lib-esm/stories/Autocomplete.stories.js +0 -560
  823. package/lib-esm/stories/AvatarStack.stories.js +0 -32
  824. package/lib-esm/stories/Button.stories.js +0 -86
  825. package/lib-esm/stories/ConfirmationDialog.stories.js +0 -86
  826. package/lib-esm/stories/Dialog.stories.js +0 -240
  827. package/lib-esm/stories/DropdownMenu.stories.js +0 -94
  828. package/lib-esm/stories/IssueLabelToken.stories.js +0 -139
  829. package/lib-esm/stories/NewButton.stories.js +0 -178
  830. package/lib-esm/stories/Overlay.stories.js +0 -173
  831. package/lib-esm/stories/Portal.stories.js +0 -68
  832. package/lib-esm/stories/ProfileToken.stories.js +0 -136
  833. package/lib-esm/stories/SelectPanel.stories.js +0 -334
  834. package/lib-esm/stories/TextInput.stories.js +0 -117
  835. package/lib-esm/stories/TextInputWithTokens.stories.js +0 -210
  836. package/lib-esm/stories/ThemeProvider.stories.js +0 -83
  837. package/lib-esm/stories/Token.stories.js +0 -146
  838. package/lib-esm/stories/useAnchoredPosition.stories.js +0 -313
  839. package/lib-esm/stories/useFocusTrap.stories.js +0 -309
  840. package/lib-esm/stories/useFocusZone.stories.js +0 -554
  841. package/migrating.md +0 -250
  842. package/now.json +0 -17
  843. package/package-lock.json +0 -66509
  844. package/rollup.config.js +0 -36
  845. package/script/build +0 -21
  846. package/script/build-storybook +0 -10
  847. package/script/setup +0 -12
  848. package/src/ActionList/Divider.tsx +0 -25
  849. package/src/ActionList/Group.tsx +0 -45
  850. package/src/ActionList/Header.tsx +0 -74
  851. package/src/ActionList/Item.tsx +0 -480
  852. package/src/ActionList/List.tsx +0 -258
  853. package/src/ActionList/index.ts +0 -21
  854. package/src/ActionList2/Description.tsx +0 -52
  855. package/src/ActionList2/Divider.tsx +0 -24
  856. package/src/ActionList2/Group.tsx +0 -34
  857. package/src/ActionList2/Header.tsx +0 -58
  858. package/src/ActionList2/Item.tsx +0 -246
  859. package/src/ActionList2/LinkItem.tsx +0 -49
  860. package/src/ActionList2/List.tsx +0 -55
  861. package/src/ActionList2/Selection.tsx +0 -60
  862. package/src/ActionList2/Visuals.tsx +0 -76
  863. package/src/ActionList2/index.ts +0 -39
  864. package/src/ActionMenu.tsx +0 -106
  865. package/src/AnchoredOverlay/AnchoredOverlay.tsx +0 -191
  866. package/src/AnchoredOverlay/index.ts +0 -2
  867. package/src/Autocomplete/Autocomplete.tsx +0 -103
  868. package/src/Autocomplete/AutocompleteContext.tsx +0 -19
  869. package/src/Autocomplete/AutocompleteInput.tsx +0 -179
  870. package/src/Autocomplete/AutocompleteMenu.tsx +0 -341
  871. package/src/Autocomplete/AutocompleteOverlay.tsx +0 -68
  872. package/src/Autocomplete/index.ts +0 -2
  873. package/src/Avatar.tsx +0 -46
  874. package/src/AvatarPair.tsx +0 -35
  875. package/src/AvatarStack.tsx +0 -159
  876. package/src/BaseStyles.tsx +0 -53
  877. package/src/BorderBox.tsx +0 -18
  878. package/src/Box.tsx +0 -54
  879. package/src/BranchName.tsx +0 -19
  880. package/src/Breadcrumbs.tsx +0 -101
  881. package/src/Button/Button.tsx +0 -40
  882. package/src/Button/ButtonBase.tsx +0 -43
  883. package/src/Button/ButtonClose.tsx +0 -40
  884. package/src/Button/ButtonDanger.tsx +0 -43
  885. package/src/Button/ButtonGroup.tsx +0 -55
  886. package/src/Button/ButtonInvisible.tsx +0 -32
  887. package/src/Button/ButtonOutline.tsx +0 -43
  888. package/src/Button/ButtonPrimary.tsx +0 -41
  889. package/src/Button/ButtonStyles.tsx +0 -36
  890. package/src/Button/ButtonTableList.tsx +0 -58
  891. package/src/Button/index.ts +0 -16
  892. package/src/Caret.tsx +0 -133
  893. package/src/CircleBadge.tsx +0 -55
  894. package/src/CircleOcticon.tsx +0 -37
  895. package/src/CounterLabel.tsx +0 -52
  896. package/src/Details.tsx +0 -23
  897. package/src/Dialog/ConfirmationDialog.tsx +0 -184
  898. package/src/Dialog/Dialog.tsx +0 -433
  899. package/src/Dialog.tsx +0 -149
  900. package/src/Dropdown.tsx +0 -158
  901. package/src/DropdownMenu/DropdownButton.tsx +0 -15
  902. package/src/DropdownMenu/DropdownMenu.tsx +0 -115
  903. package/src/DropdownMenu/index.ts +0 -4
  904. package/src/DropdownStyles.ts +0 -128
  905. package/src/FilterList.tsx +0 -81
  906. package/src/FilteredActionList/FilteredActionList.tsx +0 -142
  907. package/src/FilteredActionList/index.ts +0 -2
  908. package/src/FilteredSearch.tsx +0 -28
  909. package/src/Flash.tsx +0 -77
  910. package/src/Flex.tsx +0 -15
  911. package/src/FormGroup.tsx +0 -27
  912. package/src/Grid.tsx +0 -15
  913. package/src/Header.tsx +0 -84
  914. package/src/Heading.tsx +0 -21
  915. package/src/Label.tsx +0 -75
  916. package/src/LabelGroup.tsx +0 -18
  917. package/src/Link.tsx +0 -46
  918. package/src/NewButton/button-counter.tsx +0 -15
  919. package/src/NewButton/button.tsx +0 -279
  920. package/src/NewButton/index.ts +0 -10
  921. package/src/NewButton/types.ts +0 -36
  922. package/src/Overlay.tsx +0 -198
  923. package/src/Pagehead.tsx +0 -17
  924. package/src/Pagination/Pagination.tsx +0 -214
  925. package/src/Pagination/index.ts +0 -4
  926. package/src/Pagination/model.tsx +0 -187
  927. package/src/PointerBox.tsx +0 -31
  928. package/src/Popover.tsx +0 -236
  929. package/src/Portal/Portal.tsx +0 -97
  930. package/src/Portal/index.ts +0 -5
  931. package/src/Position.tsx +0 -63
  932. package/src/ProgressBar.tsx +0 -52
  933. package/src/SelectMenu/SelectMenu.tsx +0 -125
  934. package/src/SelectMenu/SelectMenuContext.tsx +0 -9
  935. package/src/SelectMenu/SelectMenuDivider.tsx +0 -25
  936. package/src/SelectMenu/SelectMenuFilter.tsx +0 -51
  937. package/src/SelectMenu/SelectMenuFooter.tsx +0 -28
  938. package/src/SelectMenu/SelectMenuHeader.tsx +0 -50
  939. package/src/SelectMenu/SelectMenuItem.tsx +0 -137
  940. package/src/SelectMenu/SelectMenuList.tsx +0 -42
  941. package/src/SelectMenu/SelectMenuLoadingAnimation.tsx +0 -24
  942. package/src/SelectMenu/SelectMenuModal.tsx +0 -121
  943. package/src/SelectMenu/SelectMenuTab.tsx +0 -88
  944. package/src/SelectMenu/SelectMenuTabPanel.tsx +0 -30
  945. package/src/SelectMenu/SelectMenuTabs.tsx +0 -44
  946. package/src/SelectMenu/hooks/useKeyboardNav.js +0 -90
  947. package/src/SelectMenu/index.ts +0 -15
  948. package/src/SelectPanel/SelectPanel.tsx +0 -173
  949. package/src/SelectPanel/index.ts +0 -2
  950. package/src/SideNav.tsx +0 -193
  951. package/src/Spinner.tsx +0 -59
  952. package/src/StateLabel.tsx +0 -114
  953. package/src/StyledOcticon.tsx +0 -24
  954. package/src/SubNav.tsx +0 -129
  955. package/src/TabNav.tsx +0 -77
  956. package/src/Text.tsx +0 -13
  957. package/src/TextInput.tsx +0 -68
  958. package/src/TextInputWithTokens.tsx +0 -351
  959. package/src/ThemeProvider.tsx +0 -176
  960. package/src/Timeline.tsx +0 -141
  961. package/src/Token/AvatarToken.tsx +0 -54
  962. package/src/Token/IssueLabelToken.tsx +0 -150
  963. package/src/Token/Token.tsx +0 -126
  964. package/src/Token/TokenBase.tsx +0 -129
  965. package/src/Token/_RemoveTokenButton.tsx +0 -111
  966. package/src/Token/_TokenTextContainer.tsx +0 -47
  967. package/src/Token/index.ts +0 -3
  968. package/src/Tooltip.tsx +0 -263
  969. package/src/Truncate.tsx +0 -36
  970. package/src/UnderlineNav.tsx +0 -110
  971. package/src/_TextInputWrapper.tsx +0 -113
  972. package/src/_UnstyledTextInput.tsx +0 -19
  973. package/src/__tests__/.eslintrc.json +0 -11
  974. package/src/__tests__/ActionList.test.tsx +0 -53
  975. package/src/__tests__/ActionList.types.test.tsx +0 -51
  976. package/src/__tests__/ActionList2.test.tsx +0 -47
  977. package/src/__tests__/ActionMenu.test.tsx +0 -136
  978. package/src/__tests__/AnchoredOverlay.test.tsx +0 -150
  979. package/src/__tests__/Autocomplete.test.tsx +0 -444
  980. package/src/__tests__/Avatar.test.tsx +0 -44
  981. package/src/__tests__/AvatarStack.test.tsx +0 -48
  982. package/src/__tests__/BorderBox.test.tsx +0 -43
  983. package/src/__tests__/Box.test.tsx +0 -42
  984. package/src/__tests__/BranchName.test.tsx +0 -26
  985. package/src/__tests__/Breadcrumbs.test.tsx +0 -27
  986. package/src/__tests__/BreadcrumbsItem.test.tsx +0 -31
  987. package/src/__tests__/Button.test.tsx +0 -128
  988. package/src/__tests__/Caret.test.tsx +0 -36
  989. package/src/__tests__/CircleBadge.test.tsx +0 -66
  990. package/src/__tests__/CircleOcticon.test.tsx +0 -50
  991. package/src/__tests__/ConfirmationDialog.test.tsx +0 -120
  992. package/src/__tests__/CounterLabel.test.tsx +0 -50
  993. package/src/__tests__/Details.test.tsx +0 -115
  994. package/src/__tests__/Dialog.test.tsx +0 -155
  995. package/src/__tests__/Dropdown.test.tsx +0 -53
  996. package/src/__tests__/DropdownMenu.test.tsx +0 -136
  997. package/src/__tests__/FilterList.test.tsx +0 -26
  998. package/src/__tests__/FilterListItem.test.tsx +0 -31
  999. package/src/__tests__/FilteredSearch.test.tsx +0 -26
  1000. package/src/__tests__/Flash.test.tsx +0 -45
  1001. package/src/__tests__/Flex.test.tsx +0 -58
  1002. package/src/__tests__/FormGroup.test.tsx +0 -38
  1003. package/src/__tests__/Grid.test.tsx +0 -82
  1004. package/src/__tests__/Header.test.tsx +0 -49
  1005. package/src/__tests__/Heading.test.tsx +0 -91
  1006. package/src/__tests__/KeyPaths.types.test.ts +0 -14
  1007. package/src/__tests__/Label.test.tsx +0 -34
  1008. package/src/__tests__/LabelGroup.test.tsx +0 -30
  1009. package/src/__tests__/Link.test.tsx +0 -47
  1010. package/src/__tests__/Merge.types.test.ts +0 -39
  1011. package/src/__tests__/NewButton.test.tsx +0 -70
  1012. package/src/__tests__/Overlay.test.tsx +0 -103
  1013. package/src/__tests__/Pagehead.test.tsx +0 -23
  1014. package/src/__tests__/Pagination/Pagination.test.tsx +0 -30
  1015. package/src/__tests__/Pagination/PaginationModel.test.tsx +0 -133
  1016. package/src/__tests__/Pagination/__snapshots__/Pagination.test.tsx.snap +0 -184
  1017. package/src/__tests__/PointerBox.test.tsx +0 -34
  1018. package/src/__tests__/Popover.test.tsx +0 -68
  1019. package/src/__tests__/Portal.test.tsx +0 -103
  1020. package/src/__tests__/Position.test.tsx +0 -117
  1021. package/src/__tests__/ProgressBar.test.tsx +0 -40
  1022. package/src/__tests__/SelectMenu.test.tsx +0 -142
  1023. package/src/__tests__/SelectPanel.test.tsx +0 -63
  1024. package/src/__tests__/SideNav.test.tsx +0 -62
  1025. package/src/__tests__/Spinner.test.tsx +0 -42
  1026. package/src/__tests__/StateLabel.test.tsx +0 -48
  1027. package/src/__tests__/StyledOcticon.test.tsx +0 -26
  1028. package/src/__tests__/SubNav.test.tsx +0 -50
  1029. package/src/__tests__/SubNavLink.test.tsx +0 -31
  1030. package/src/__tests__/TabNav.test.tsx +0 -32
  1031. package/src/__tests__/Text.test.tsx +0 -78
  1032. package/src/__tests__/TextInput.test.tsx +0 -49
  1033. package/src/__tests__/TextInputWithTokens.test.tsx +0 -422
  1034. package/src/__tests__/ThemeProvider.test.tsx +0 -441
  1035. package/src/__tests__/Timeline.test.tsx +0 -58
  1036. package/src/__tests__/Token.test.tsx +0 -118
  1037. package/src/__tests__/Tooltip.test.tsx +0 -52
  1038. package/src/__tests__/Truncate.test.tsx +0 -43
  1039. package/src/__tests__/UnderlineNav.test.tsx +0 -58
  1040. package/src/__tests__/UnderlineNavLink.test.tsx +0 -31
  1041. package/src/__tests__/__snapshots__/ActionList.test.tsx.snap +0 -223
  1042. package/src/__tests__/__snapshots__/ActionList2.test.tsx.snap +0 -14
  1043. package/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap +0 -80
  1044. package/src/__tests__/__snapshots__/AnchoredOverlay.test.tsx.snap +0 -232
  1045. package/src/__tests__/__snapshots__/Autocomplete.test.tsx.snap +0 -3888
  1046. package/src/__tests__/__snapshots__/Avatar.test.tsx.snap +0 -19
  1047. package/src/__tests__/__snapshots__/AvatarStack.test.tsx.snap +0 -377
  1048. package/src/__tests__/__snapshots__/BorderBox.test.tsx.snap +0 -14
  1049. package/src/__tests__/__snapshots__/Box.test.tsx.snap +0 -201
  1050. package/src/__tests__/__snapshots__/BranchName.test.tsx.snap +0 -17
  1051. package/src/__tests__/__snapshots__/Breadcrumbs.test.tsx.snap +0 -29
  1052. package/src/__tests__/__snapshots__/BreadcrumbsItem.test.tsx.snap +0 -79
  1053. package/src/__tests__/__snapshots__/Button.test.tsx.snap +0 -840
  1054. package/src/__tests__/__snapshots__/Caret.test.tsx.snap +0 -373
  1055. package/src/__tests__/__snapshots__/CircleBadge.test.tsx.snap +0 -142
  1056. package/src/__tests__/__snapshots__/CircleOcticon.test.tsx.snap +0 -65
  1057. package/src/__tests__/__snapshots__/ConfirmationDialog.test.tsx.snap +0 -89
  1058. package/src/__tests__/__snapshots__/CounterLabel.test.tsx.snap +0 -22
  1059. package/src/__tests__/__snapshots__/Details.test.tsx.snap +0 -15
  1060. package/src/__tests__/__snapshots__/Dialog.test.tsx.snap +0 -201
  1061. package/src/__tests__/__snapshots__/Dropdown.test.tsx.snap +0 -249
  1062. package/src/__tests__/__snapshots__/DropdownMenu.test.tsx.snap +0 -107
  1063. package/src/__tests__/__snapshots__/FilterList.test.tsx.snap +0 -13
  1064. package/src/__tests__/__snapshots__/FilterListItem.test.tsx.snap +0 -80
  1065. package/src/__tests__/__snapshots__/FilteredSearch.test.tsx.snap +0 -32
  1066. package/src/__tests__/__snapshots__/Flash.test.tsx.snap +0 -32
  1067. package/src/__tests__/__snapshots__/Flex.test.tsx.snap +0 -130
  1068. package/src/__tests__/__snapshots__/FormGroup.test.tsx.snap +0 -25
  1069. package/src/__tests__/__snapshots__/Grid.test.tsx.snap +0 -178
  1070. package/src/__tests__/__snapshots__/Header.test.tsx.snap +0 -79
  1071. package/src/__tests__/__snapshots__/Heading.test.tsx.snap +0 -13
  1072. package/src/__tests__/__snapshots__/Label.test.tsx.snap +0 -74
  1073. package/src/__tests__/__snapshots__/LabelGroup.test.tsx.snap +0 -15
  1074. package/src/__tests__/__snapshots__/Link.test.tsx.snap +0 -213
  1075. package/src/__tests__/__snapshots__/NewButton.test.tsx.snap +0 -300
  1076. package/src/__tests__/__snapshots__/Pagehead.test.tsx.snap +0 -15
  1077. package/src/__tests__/__snapshots__/PointerBox.test.tsx.snap +0 -174
  1078. package/src/__tests__/__snapshots__/Popover.test.tsx.snap +0 -4687
  1079. package/src/__tests__/__snapshots__/Position.test.tsx.snap +0 -44
  1080. package/src/__tests__/__snapshots__/ProgressBar.test.tsx.snap +0 -53
  1081. package/src/__tests__/__snapshots__/SelectMenu.test.tsx.snap +0 -473
  1082. package/src/__tests__/__snapshots__/SelectPanel.test.tsx.snap +0 -124
  1083. package/src/__tests__/__snapshots__/SideNav.test.tsx.snap +0 -143
  1084. package/src/__tests__/__snapshots__/Spinner.test.tsx.snap +0 -33
  1085. package/src/__tests__/__snapshots__/StateLabel.test.tsx.snap +0 -395
  1086. package/src/__tests__/__snapshots__/StyledOcticon.test.tsx.snap +0 -26
  1087. package/src/__tests__/__snapshots__/SubNav.test.tsx.snap +0 -44
  1088. package/src/__tests__/__snapshots__/SubNavLink.test.tsx.snap +0 -199
  1089. package/src/__tests__/__snapshots__/TabNav.test.tsx.snap +0 -58
  1090. package/src/__tests__/__snapshots__/Text.test.tsx.snap +0 -7
  1091. package/src/__tests__/__snapshots__/TextInput.test.tsx.snap +0 -446
  1092. package/src/__tests__/__snapshots__/TextInputWithTokens.test.tsx.snap +0 -6045
  1093. package/src/__tests__/__snapshots__/ThemeProvider.test.tsx.snap +0 -15
  1094. package/src/__tests__/__snapshots__/Timeline.test.tsx.snap +0 -159
  1095. package/src/__tests__/__snapshots__/Token.test.tsx.snap +0 -3811
  1096. package/src/__tests__/__snapshots__/Tooltip.test.tsx.snap +0 -227
  1097. package/src/__tests__/__snapshots__/Truncate.test.tsx.snap +0 -17
  1098. package/src/__tests__/__snapshots__/UnderlineNav.test.tsx.snap +0 -59
  1099. package/src/__tests__/__snapshots__/UnderlineNavLink.test.tsx.snap +0 -130
  1100. package/src/__tests__/behaviors/anchoredPosition.test.ts +0 -295
  1101. package/src/__tests__/behaviors/focusTrap.test.tsx +0 -236
  1102. package/src/__tests__/behaviors/focusZone.test.tsx +0 -549
  1103. package/src/__tests__/behaviors/iterateFocusableElements.test.tsx +0 -61
  1104. package/src/__tests__/behaviors/scrollIntoViewingArea.test.ts +0 -195
  1105. package/src/__tests__/filterObject.test.ts +0 -54
  1106. package/src/__tests__/hooks/useAnchoredPosition.test.tsx +0 -31
  1107. package/src/__tests__/hooks/useOnEscapePress.test.tsx +0 -16
  1108. package/src/__tests__/hooks/useOnOutsideClick.test.tsx +0 -48
  1109. package/src/__tests__/hooks/useOpenAndCloseFocus.test.tsx +0 -48
  1110. package/src/__tests__/hooks/useProvidedStateOrCreate.test.tsx +0 -39
  1111. package/src/__tests__/theme.test.ts +0 -41
  1112. package/src/__tests__/themeGet.test.ts +0 -15
  1113. package/src/__tests__/useSafeTimeout.test.tsx +0 -36
  1114. package/src/__tests__/utils/__snapshots__/createSlots.test.tsx.snap +0 -55
  1115. package/src/__tests__/utils/createSlots.test.tsx +0 -74
  1116. package/src/behaviors/anchoredPosition.ts +0 -442
  1117. package/src/behaviors/focusTrap.ts +0 -184
  1118. package/src/behaviors/focusZone.ts +0 -713
  1119. package/src/behaviors/scrollIntoViewingArea.ts +0 -27
  1120. package/src/constants.ts +0 -62
  1121. package/src/drafts.ts +0 -10
  1122. package/src/hooks/index.ts +0 -11
  1123. package/src/hooks/useAnchoredPosition.ts +0 -54
  1124. package/src/hooks/useCombinedRefs.ts +0 -40
  1125. package/src/hooks/useDetails.tsx +0 -54
  1126. package/src/hooks/useDialog.ts +0 -121
  1127. package/src/hooks/useFocusTrap.ts +0 -80
  1128. package/src/hooks/useFocusZone.ts +0 -64
  1129. package/src/hooks/useOnEscapePress.ts +0 -63
  1130. package/src/hooks/useOnOutsideClick.tsx +0 -82
  1131. package/src/hooks/useOpenAndCloseFocus.ts +0 -32
  1132. package/src/hooks/useOverlay.tsx +0 -34
  1133. package/src/hooks/useProvidedRefOrCreate.ts +0 -14
  1134. package/src/hooks/useProvidedStateOrCreate.ts +0 -27
  1135. package/src/hooks/useRenderForcingRef.ts +0 -22
  1136. package/src/hooks/useResizeObserver.ts +0 -11
  1137. package/src/hooks/useSafeTimeout.ts +0 -38
  1138. package/src/hooks/useScrollFlash.ts +0 -21
  1139. package/src/index.ts +0 -172
  1140. package/src/polyfills/eventListenerSignal.ts +0 -66
  1141. package/src/stories/ActionList.stories.tsx +0 -436
  1142. package/src/stories/ActionList2.stories.tsx +0 -1291
  1143. package/src/stories/ActionMenu.stories.tsx +0 -334
  1144. package/src/stories/AnchoredOverlay.stories.tsx +0 -117
  1145. package/src/stories/Autocomplete.stories.tsx +0 -655
  1146. package/src/stories/AvatarStack.stories.tsx +0 -37
  1147. package/src/stories/Button.stories.tsx +0 -92
  1148. package/src/stories/ConfirmationDialog.stories.tsx +0 -105
  1149. package/src/stories/Dialog.stories.tsx +0 -240
  1150. package/src/stories/DropdownMenu.stories.tsx +0 -84
  1151. package/src/stories/IssueLabelToken.stories.tsx +0 -138
  1152. package/src/stories/NewButton.stories.tsx +0 -201
  1153. package/src/stories/Overlay.stories.tsx +0 -213
  1154. package/src/stories/Portal.stories.tsx +0 -109
  1155. package/src/stories/ProfileToken.stories.tsx +0 -129
  1156. package/src/stories/SelectPanel.stories.tsx +0 -353
  1157. package/src/stories/TextInput.stories.tsx +0 -113
  1158. package/src/stories/TextInputWithTokens.stories.tsx +0 -155
  1159. package/src/stories/ThemeProvider.stories.tsx +0 -104
  1160. package/src/stories/Token.stories.tsx +0 -137
  1161. package/src/stories/useAnchoredPosition.stories.tsx +0 -332
  1162. package/src/stories/useFocusTrap.stories.tsx +0 -400
  1163. package/src/stories/useFocusZone.stories.tsx +0 -663
  1164. package/src/sx.ts +0 -24
  1165. package/src/theme-preval.js +0 -80
  1166. package/src/theme.ts +0 -89
  1167. package/src/utils/create-slots.tsx +0 -96
  1168. package/src/utils/deprecate.tsx +0 -73
  1169. package/src/utils/isNumeric.tsx +0 -4
  1170. package/src/utils/iterateFocusableElements.ts +0 -121
  1171. package/src/utils/ssr.tsx +0 -1
  1172. package/src/utils/test-deprecations.tsx +0 -19
  1173. package/src/utils/test-helpers.tsx +0 -7
  1174. package/src/utils/test-matchers.tsx +0 -109
  1175. package/src/utils/testing.tsx +0 -242
  1176. package/src/utils/theme.js +0 -64
  1177. package/src/utils/types/AriaRole.ts +0 -71
  1178. package/src/utils/types/ComponentProps.ts +0 -13
  1179. package/src/utils/types/Flatten.ts +0 -4
  1180. package/src/utils/types/KeyPaths.ts +0 -10
  1181. package/src/utils/types/MandateProps.ts +0 -19
  1182. package/src/utils/types/Merge.ts +0 -20
  1183. package/src/utils/types/index.ts +0 -5
  1184. package/src/utils/uniqueId.ts +0 -6
  1185. package/src/utils/use-force-update.ts +0 -7
  1186. package/src/utils/useIsomorphicLayoutEffect.ts +0 -10
  1187. package/src/utils/userAgent.ts +0 -7
  1188. package/stats.html +0 -3279
  1189. package/tsconfig.base.json +0 -20
  1190. package/tsconfig.build.json +0 -7
  1191. 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'