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