@primer/components 31.0.0-rc.ee65b7f1 → 31.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (815) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/browser.esm.js +12 -7
  3. package/dist/browser.esm.js.map +1 -1
  4. package/dist/browser.umd.js +12 -7
  5. package/dist/browser.umd.js.map +1 -1
  6. package/lib/ActionList/Item.js +3 -3
  7. package/lib/Button/Button.js +1 -1
  8. package/lib/Button/ButtonInvisible.js +1 -1
  9. package/lib/Button/ButtonTableList.js +1 -1
  10. package/lib/Pagination/Pagination.js +1 -1
  11. package/lib/_TextInputWrapper.js +1 -1
  12. package/lib-esm/ActionList/Item.js +3 -3
  13. package/lib-esm/Button/Button.js +1 -1
  14. package/lib-esm/Button/ButtonInvisible.js +1 -1
  15. package/lib-esm/Button/ButtonTableList.js +1 -1
  16. package/lib-esm/Pagination/Pagination.js +1 -1
  17. package/lib-esm/_TextInputWrapper.js +1 -1
  18. package/package.json +1 -1
  19. package/.changeset/README.md +0 -8
  20. package/.changeset/config.json +0 -10
  21. package/.devcontainer/devcontainer.json +0 -8
  22. package/.eslintrc.json +0 -137
  23. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
  24. package/.github/ISSUE_TEMPLATE/new_component_proposal_template.md +0 -41
  25. package/.github/dependabot.yml +0 -18
  26. package/.github/pull_request_template.md +0 -18
  27. package/.github/workflows/ci.yml +0 -31
  28. package/.github/workflows/deploy_preview.yml +0 -47
  29. package/.github/workflows/deploy_production.yml +0 -70
  30. package/.github/workflows/release.yml +0 -35
  31. package/.github/workflows/release_canary.yml +0 -70
  32. package/.github/workflows/release_candidate.yml +0 -60
  33. package/.github/workflows/size.yml +0 -13
  34. package/.github/workflows/stale.yml +0 -26
  35. package/.gitignore +0 -10
  36. package/.npmrc +0 -4
  37. package/.nvmrc +0 -1
  38. package/.storybook/main.js +0 -11
  39. package/.storybook/preview.js +0 -113
  40. package/.vscode/launch.json +0 -21
  41. package/.vscode/settings.json +0 -13
  42. package/@types/@styled-system/index.d.ts +0 -0
  43. package/@types/@styled-system/prop-types/index.d.ts +0 -1
  44. package/@types/@styled-system/props/index.d.ts +0 -1
  45. package/@types/jest-styled-components/index.d.ts +0 -1
  46. package/CODEOWNERS +0 -2
  47. package/babel-defines.js +0 -13
  48. package/babel.config.js +0 -39
  49. package/contributor-docs/CODE_OF_CONDUCT.md +0 -76
  50. package/contributor-docs/CONTRIBUTING.md +0 -274
  51. package/contributor-docs/adrs/adr-001-typescript.md +0 -23
  52. package/contributor-docs/adrs/adr-002-behavior-isolation.md +0 -108
  53. package/contributor-docs/behaviors.md +0 -132
  54. package/contributor-docs/component-contents-api-patterns.md +0 -316
  55. package/contributor-docs/principles.md +0 -39
  56. package/docs/.eslintrc +0 -0
  57. package/docs/.gitignore +0 -91
  58. package/docs/components/PropsList.js +0 -5
  59. package/docs/components/State.js +0 -9
  60. package/docs/components/constants.js +0 -34
  61. package/docs/components/index.js +0 -2
  62. package/docs/content/ActionList.mdx +0 -99
  63. package/docs/content/ActionMenu.mdx +0 -80
  64. package/docs/content/AnchoredOverlay.mdx +0 -37
  65. package/docs/content/Autocomplete.mdx +0 -627
  66. package/docs/content/Avatar.mdx +0 -33
  67. package/docs/content/AvatarStack.mdx +0 -37
  68. package/docs/content/BorderBox.md +0 -46
  69. package/docs/content/Box.md +0 -74
  70. package/docs/content/BranchName.md +0 -18
  71. package/docs/content/Breadcrumbs.md +0 -52
  72. package/docs/content/Buttons.md +0 -56
  73. package/docs/content/CircleBadge.md +0 -45
  74. package/docs/content/CircleOcticon.md +0 -18
  75. package/docs/content/CounterLabel.md +0 -32
  76. package/docs/content/Details.md +0 -105
  77. package/docs/content/Dialog.md +0 -108
  78. package/docs/content/Dialog2.mdx +0 -179
  79. package/docs/content/Dropdown.md +0 -72
  80. package/docs/content/DropdownMenu.mdx +0 -49
  81. package/docs/content/FilterList.md +0 -44
  82. package/docs/content/FilteredSearch.md +0 -39
  83. package/docs/content/Flash.md +0 -44
  84. package/docs/content/Flex.md +0 -58
  85. package/docs/content/FormGroup.md +0 -46
  86. package/docs/content/Grid.md +0 -59
  87. package/docs/content/Header.md +0 -79
  88. package/docs/content/Heading.md +0 -22
  89. package/docs/content/Label.md +0 -42
  90. package/docs/content/LabelGroup.md +0 -31
  91. package/docs/content/Link.md +0 -37
  92. package/docs/content/Overlay.mdx +0 -94
  93. package/docs/content/Pagehead.md +0 -27
  94. package/docs/content/Pagination.md +0 -187
  95. package/docs/content/PointerBox.md +0 -81
  96. package/docs/content/Popover.md +0 -137
  97. package/docs/content/Portal.mdx +0 -78
  98. package/docs/content/Position.md +0 -100
  99. package/docs/content/ProgressBar.mdx +0 -29
  100. package/docs/content/SelectMenu.md +0 -435
  101. package/docs/content/SelectPanel.mdx +0 -67
  102. package/docs/content/SideNav.md +0 -179
  103. package/docs/content/Spinner.mdx +0 -32
  104. package/docs/content/StateLabel.md +0 -35
  105. package/docs/content/StyledOcticon.md +0 -36
  106. package/docs/content/SubNav.md +0 -102
  107. package/docs/content/TabNav.md +0 -50
  108. package/docs/content/Text.md +0 -31
  109. package/docs/content/TextInput.md +0 -34
  110. package/docs/content/TextInputTokens.mdx +0 -89
  111. package/docs/content/TextInputWithTokens.mdx +0 -97
  112. package/docs/content/Timeline.md +0 -138
  113. package/docs/content/Token.mdx +0 -381
  114. package/docs/content/Tooltip.md +0 -41
  115. package/docs/content/Truncate.md +0 -64
  116. package/docs/content/UnderlineNav.md +0 -53
  117. package/docs/content/anchoredPosition.mdx +0 -163
  118. package/docs/content/core-concepts.md +0 -70
  119. package/docs/content/focusTrap.mdx +0 -103
  120. package/docs/content/focusZone.mdx +0 -145
  121. package/docs/content/getting-started.md +0 -138
  122. package/docs/content/index.md +0 -33
  123. package/docs/content/linting.md +0 -35
  124. package/docs/content/overriding-styles.mdx +0 -82
  125. package/docs/content/philosophy.md +0 -23
  126. package/docs/content/primer-theme.md +0 -89
  127. package/docs/content/ssr.mdx +0 -43
  128. package/docs/content/system-props.mdx +0 -37
  129. package/docs/content/theme-reference.md +0 -16
  130. package/docs/content/theming.md +0 -249
  131. package/docs/content/useOnEscapePress.mdx +0 -56
  132. package/docs/content/useOnOutsideClick.mdx +0 -57
  133. package/docs/content/useOpenAndCloseFocus.mdx +0 -49
  134. package/docs/content/useOverlay.mdx +0 -62
  135. package/docs/content/useSafeTimeout.mdx +0 -32
  136. package/docs/gatsby-config.js +0 -30
  137. package/docs/gatsby-node.js +0 -101
  138. package/docs/package-lock.json +0 -20756
  139. package/docs/package.json +0 -36
  140. package/docs/src/@primer/gatsby-theme-doctocat/components/hero.js +0 -23
  141. package/docs/src/@primer/gatsby-theme-doctocat/components/live-preview-wrapper.js +0 -41
  142. package/docs/src/@primer/gatsby-theme-doctocat/live-code-scope.js +0 -54
  143. package/docs/src/@primer/gatsby-theme-doctocat/nav.yml +0 -133
  144. package/docs/src/@primer/gatsby-theme-doctocat/primer-components-hero.svg +0 -1411
  145. package/docs/src/props.js +0 -77
  146. package/jest.config.js +0 -13
  147. package/lib/__tests__/ActionList.test.d.ts +0 -1
  148. package/lib/__tests__/ActionList.test.js +0 -69
  149. package/lib/__tests__/ActionList.types.test.d.ts +0 -6
  150. package/lib/__tests__/ActionList.types.test.js +0 -69
  151. package/lib/__tests__/ActionMenu.test.d.ts +0 -1
  152. package/lib/__tests__/ActionMenu.test.js +0 -151
  153. package/lib/__tests__/AnchoredOverlay.test.d.ts +0 -1
  154. package/lib/__tests__/AnchoredOverlay.test.js +0 -160
  155. package/lib/__tests__/Autocomplete.test.d.ts +0 -1
  156. package/lib/__tests__/Autocomplete.test.js +0 -528
  157. package/lib/__tests__/Avatar.test.d.ts +0 -1
  158. package/lib/__tests__/Avatar.test.js +0 -67
  159. package/lib/__tests__/AvatarStack.test.d.ts +0 -1
  160. package/lib/__tests__/AvatarStack.test.js +0 -71
  161. package/lib/__tests__/BorderBox.test.d.ts +0 -1
  162. package/lib/__tests__/BorderBox.test.js +0 -58
  163. package/lib/__tests__/Box.test.d.ts +0 -1
  164. package/lib/__tests__/Box.test.js +0 -78
  165. package/lib/__tests__/BranchName.test.d.ts +0 -1
  166. package/lib/__tests__/BranchName.test.js +0 -36
  167. package/lib/__tests__/Breadcrumbs.test.d.ts +0 -1
  168. package/lib/__tests__/Breadcrumbs.test.js +0 -37
  169. package/lib/__tests__/BreadcrumbsItem.test.d.ts +0 -1
  170. package/lib/__tests__/BreadcrumbsItem.test.js +0 -49
  171. package/lib/__tests__/Button.test.d.ts +0 -1
  172. package/lib/__tests__/Button.test.js +0 -143
  173. package/lib/__tests__/Caret.test.d.ts +0 -1
  174. package/lib/__tests__/Caret.test.js +0 -52
  175. package/lib/__tests__/CircleBadge.test.d.ts +0 -1
  176. package/lib/__tests__/CircleBadge.test.js +0 -83
  177. package/lib/__tests__/CircleOcticon.test.d.ts +0 -1
  178. package/lib/__tests__/CircleOcticon.test.js +0 -71
  179. package/lib/__tests__/ConfirmationDialog.test.d.ts +0 -1
  180. package/lib/__tests__/ConfirmationDialog.test.js +0 -134
  181. package/lib/__tests__/CounterLabel.test.d.ts +0 -1
  182. package/lib/__tests__/CounterLabel.test.js +0 -58
  183. package/lib/__tests__/Details.test.d.ts +0 -1
  184. package/lib/__tests__/Details.test.js +0 -117
  185. package/lib/__tests__/Dialog.test.d.ts +0 -1
  186. package/lib/__tests__/Dialog.test.js +0 -184
  187. package/lib/__tests__/Dropdown.test.d.ts +0 -1
  188. package/lib/__tests__/Dropdown.test.js +0 -63
  189. package/lib/__tests__/DropdownMenu.test.d.ts +0 -1
  190. package/lib/__tests__/DropdownMenu.test.js +0 -150
  191. package/lib/__tests__/FilterList.test.d.ts +0 -1
  192. package/lib/__tests__/FilterList.test.js +0 -36
  193. package/lib/__tests__/FilterListItem.test.d.ts +0 -1
  194. package/lib/__tests__/FilterListItem.test.js +0 -46
  195. package/lib/__tests__/FilteredSearch.test.d.ts +0 -1
  196. package/lib/__tests__/FilteredSearch.test.js +0 -36
  197. package/lib/__tests__/Flash.test.d.ts +0 -1
  198. package/lib/__tests__/Flash.test.js +0 -62
  199. package/lib/__tests__/Flex.test.d.ts +0 -1
  200. package/lib/__tests__/Flex.test.js +0 -74
  201. package/lib/__tests__/FormGroup.test.d.ts +0 -1
  202. package/lib/__tests__/FormGroup.test.js +0 -54
  203. package/lib/__tests__/Grid.test.d.ts +0 -1
  204. package/lib/__tests__/Grid.test.js +0 -104
  205. package/lib/__tests__/Header.test.d.ts +0 -1
  206. package/lib/__tests__/Header.test.js +0 -58
  207. package/lib/__tests__/Heading.test.d.ts +0 -1
  208. package/lib/__tests__/Heading.test.js +0 -109
  209. package/lib/__tests__/Label.test.d.ts +0 -1
  210. package/lib/__tests__/Label.test.js +0 -46
  211. package/lib/__tests__/LabelGroup.test.d.ts +0 -1
  212. package/lib/__tests__/LabelGroup.test.js +0 -38
  213. package/lib/__tests__/Link.test.d.ts +0 -1
  214. package/lib/__tests__/Link.test.js +0 -70
  215. package/lib/__tests__/Merge.types.test.d.ts +0 -30
  216. package/lib/__tests__/Merge.types.test.js +0 -27
  217. package/lib/__tests__/Overlay.test.d.ts +0 -1
  218. package/lib/__tests__/Overlay.test.js +0 -145
  219. package/lib/__tests__/Pagehead.test.d.ts +0 -1
  220. package/lib/__tests__/Pagehead.test.js +0 -37
  221. package/lib/__tests__/Pagination/Pagination.test.d.ts +0 -1
  222. package/lib/__tests__/Pagination/Pagination.test.js +0 -47
  223. package/lib/__tests__/Pagination/PaginationModel.test.d.ts +0 -1
  224. package/lib/__tests__/Pagination/PaginationModel.test.js +0 -186
  225. package/lib/__tests__/PointerBox.test.d.ts +0 -1
  226. package/lib/__tests__/PointerBox.test.js +0 -46
  227. package/lib/__tests__/Popover.test.d.ts +0 -1
  228. package/lib/__tests__/Popover.test.js +0 -66
  229. package/lib/__tests__/Portal.test.d.ts +0 -1
  230. package/lib/__tests__/Portal.test.js +0 -124
  231. package/lib/__tests__/Position.test.d.ts +0 -1
  232. package/lib/__tests__/Position.test.js +0 -143
  233. package/lib/__tests__/ProgressBar.test.d.ts +0 -1
  234. package/lib/__tests__/ProgressBar.test.js +0 -68
  235. package/lib/__tests__/SelectMenu.test.d.ts +0 -1
  236. package/lib/__tests__/SelectMenu.test.js +0 -155
  237. package/lib/__tests__/SelectPanel.test.d.ts +0 -1
  238. package/lib/__tests__/SelectPanel.test.js +0 -80
  239. package/lib/__tests__/SideNav.test.d.ts +0 -1
  240. package/lib/__tests__/SideNav.test.js +0 -71
  241. package/lib/__tests__/Spinner.test.d.ts +0 -1
  242. package/lib/__tests__/Spinner.test.js +0 -53
  243. package/lib/__tests__/StateLabel.test.d.ts +0 -1
  244. package/lib/__tests__/StateLabel.test.js +0 -71
  245. package/lib/__tests__/StyledOcticon.test.d.ts +0 -1
  246. package/lib/__tests__/StyledOcticon.test.js +0 -40
  247. package/lib/__tests__/SubNav.test.d.ts +0 -1
  248. package/lib/__tests__/SubNav.test.js +0 -62
  249. package/lib/__tests__/SubNavLink.test.d.ts +0 -1
  250. package/lib/__tests__/SubNavLink.test.js +0 -49
  251. package/lib/__tests__/TabNav.test.d.ts +0 -1
  252. package/lib/__tests__/TabNav.test.js +0 -49
  253. package/lib/__tests__/Text.test.d.ts +0 -1
  254. package/lib/__tests__/Text.test.js +0 -105
  255. package/lib/__tests__/TextInput.test.d.ts +0 -1
  256. package/lib/__tests__/TextInput.test.js +0 -78
  257. package/lib/__tests__/TextInputWithTokens.test.d.ts +0 -1
  258. package/lib/__tests__/TextInputWithTokens.test.js +0 -389
  259. package/lib/__tests__/ThemeProvider.test.d.ts +0 -1
  260. package/lib/__tests__/ThemeProvider.test.js +0 -444
  261. package/lib/__tests__/Timeline.test.d.ts +0 -1
  262. package/lib/__tests__/Timeline.test.js +0 -75
  263. package/lib/__tests__/Token.test.d.ts +0 -1
  264. package/lib/__tests__/Token.test.js +0 -180
  265. package/lib/__tests__/Tooltip.test.d.ts +0 -1
  266. package/lib/__tests__/Tooltip.test.js +0 -69
  267. package/lib/__tests__/Truncate.test.d.ts +0 -1
  268. package/lib/__tests__/Truncate.test.js +0 -63
  269. package/lib/__tests__/UnderlineNav.test.d.ts +0 -1
  270. package/lib/__tests__/UnderlineNav.test.js +0 -72
  271. package/lib/__tests__/UnderlineNavLink.test.d.ts +0 -1
  272. package/lib/__tests__/UnderlineNavLink.test.js +0 -51
  273. package/lib/__tests__/behaviors/anchoredPosition.test.d.ts +0 -1
  274. package/lib/__tests__/behaviors/anchoredPosition.test.js +0 -390
  275. package/lib/__tests__/behaviors/focusTrap.test.d.ts +0 -1
  276. package/lib/__tests__/behaviors/focusTrap.test.js +0 -234
  277. package/lib/__tests__/behaviors/focusZone.test.d.ts +0 -1
  278. package/lib/__tests__/behaviors/focusZone.test.js +0 -570
  279. package/lib/__tests__/behaviors/iterateFocusableElements.test.d.ts +0 -1
  280. package/lib/__tests__/behaviors/iterateFocusableElements.test.js +0 -55
  281. package/lib/__tests__/behaviors/scrollIntoViewingArea.test.d.ts +0 -1
  282. package/lib/__tests__/behaviors/scrollIntoViewingArea.test.js +0 -226
  283. package/lib/__tests__/filterObject.test.d.ts +0 -1
  284. package/lib/__tests__/filterObject.test.js +0 -30
  285. package/lib/__tests__/hooks/useAnchoredPosition.test.d.ts +0 -1
  286. package/lib/__tests__/hooks/useAnchoredPosition.test.js +0 -54
  287. package/lib/__tests__/hooks/useOnEscapePress.test.d.ts +0 -1
  288. package/lib/__tests__/hooks/useOnEscapePress.test.js +0 -32
  289. package/lib/__tests__/hooks/useOnOutsideClick.test.d.ts +0 -1
  290. package/lib/__tests__/hooks/useOnOutsideClick.test.js +0 -87
  291. package/lib/__tests__/hooks/useOpenAndCloseFocus.test.d.ts +0 -1
  292. package/lib/__tests__/hooks/useOpenAndCloseFocus.test.js +0 -60
  293. package/lib/__tests__/hooks/useProvidedStateOrCreate.test.d.ts +0 -1
  294. package/lib/__tests__/hooks/useProvidedStateOrCreate.test.js +0 -45
  295. package/lib/__tests__/theme.test.d.ts +0 -1
  296. package/lib/__tests__/theme.test.js +0 -36
  297. package/lib/__tests__/themeGet.test.d.ts +0 -1
  298. package/lib/__tests__/themeGet.test.js +0 -25
  299. package/lib/__tests__/useSafeTimeout.test.d.ts +0 -1
  300. package/lib/__tests__/useSafeTimeout.test.js +0 -45
  301. package/lib/stories/ActionList.stories.js +0 -453
  302. package/lib/stories/ActionMenu.stories.js +0 -338
  303. package/lib/stories/AnchoredOverlay.stories.js +0 -127
  304. package/lib/stories/Autocomplete.stories.js +0 -608
  305. package/lib/stories/AvatarStack.stories.js +0 -49
  306. package/lib/stories/Button.stories.js +0 -114
  307. package/lib/stories/ConfirmationDialog.stories.js +0 -111
  308. package/lib/stories/Dialog.stories.js +0 -265
  309. package/lib/stories/DropdownMenu.stories.js +0 -122
  310. package/lib/stories/IssueLabelToken.stories.js +0 -165
  311. package/lib/stories/Overlay.stories.js +0 -204
  312. package/lib/stories/Portal.stories.js +0 -104
  313. package/lib/stories/ProfileToken.stories.js +0 -162
  314. package/lib/stories/SelectPanel.stories.js +0 -399
  315. package/lib/stories/TextInputWithTokens.stories.js +0 -235
  316. package/lib/stories/ThemeProvider.stories.js +0 -102
  317. package/lib/stories/Token.stories.js +0 -159
  318. package/lib/stories/useAnchoredPosition.stories.js +0 -351
  319. package/lib/stories/useFocusTrap.stories.js +0 -356
  320. package/lib/stories/useFocusZone.stories.js +0 -599
  321. package/lib-esm/__tests__/ActionList.test.d.ts +0 -1
  322. package/lib-esm/__tests__/ActionList.test.js +0 -57
  323. package/lib-esm/__tests__/ActionList.types.test.d.ts +0 -6
  324. package/lib-esm/__tests__/ActionList.types.test.js +0 -45
  325. package/lib-esm/__tests__/ActionMenu.test.d.ts +0 -1
  326. package/lib-esm/__tests__/ActionMenu.test.js +0 -139
  327. package/lib-esm/__tests__/AnchoredOverlay.test.d.ts +0 -1
  328. package/lib-esm/__tests__/AnchoredOverlay.test.js +0 -134
  329. package/lib-esm/__tests__/Autocomplete.test.d.ts +0 -1
  330. package/lib-esm/__tests__/Autocomplete.test.js +0 -494
  331. package/lib-esm/__tests__/Avatar.test.d.ts +0 -1
  332. package/lib-esm/__tests__/Avatar.test.js +0 -56
  333. package/lib-esm/__tests__/AvatarStack.test.d.ts +0 -1
  334. package/lib-esm/__tests__/AvatarStack.test.js +0 -58
  335. package/lib-esm/__tests__/BorderBox.test.d.ts +0 -1
  336. package/lib-esm/__tests__/BorderBox.test.js +0 -47
  337. package/lib-esm/__tests__/Box.test.d.ts +0 -1
  338. package/lib-esm/__tests__/Box.test.js +0 -67
  339. package/lib-esm/__tests__/BranchName.test.d.ts +0 -1
  340. package/lib-esm/__tests__/BranchName.test.js +0 -26
  341. package/lib-esm/__tests__/Breadcrumbs.test.d.ts +0 -1
  342. package/lib-esm/__tests__/Breadcrumbs.test.js +0 -27
  343. package/lib-esm/__tests__/BreadcrumbsItem.test.d.ts +0 -1
  344. package/lib-esm/__tests__/BreadcrumbsItem.test.js +0 -39
  345. package/lib-esm/__tests__/Button.test.d.ts +0 -1
  346. package/lib-esm/__tests__/Button.test.js +0 -133
  347. package/lib-esm/__tests__/Caret.test.d.ts +0 -1
  348. package/lib-esm/__tests__/Caret.test.js +0 -42
  349. package/lib-esm/__tests__/CircleBadge.test.d.ts +0 -1
  350. package/lib-esm/__tests__/CircleBadge.test.js +0 -70
  351. package/lib-esm/__tests__/CircleOcticon.test.d.ts +0 -1
  352. package/lib-esm/__tests__/CircleOcticon.test.js +0 -59
  353. package/lib-esm/__tests__/ConfirmationDialog.test.d.ts +0 -1
  354. package/lib-esm/__tests__/ConfirmationDialog.test.js +0 -113
  355. package/lib-esm/__tests__/CounterLabel.test.d.ts +0 -1
  356. package/lib-esm/__tests__/CounterLabel.test.js +0 -47
  357. package/lib-esm/__tests__/Details.test.d.ts +0 -1
  358. package/lib-esm/__tests__/Details.test.js +0 -107
  359. package/lib-esm/__tests__/Dialog.test.d.ts +0 -1
  360. package/lib-esm/__tests__/Dialog.test.js +0 -171
  361. package/lib-esm/__tests__/Dropdown.test.d.ts +0 -1
  362. package/lib-esm/__tests__/Dropdown.test.js +0 -53
  363. package/lib-esm/__tests__/DropdownMenu.test.d.ts +0 -1
  364. package/lib-esm/__tests__/DropdownMenu.test.js +0 -137
  365. package/lib-esm/__tests__/FilterList.test.d.ts +0 -1
  366. package/lib-esm/__tests__/FilterList.test.js +0 -26
  367. package/lib-esm/__tests__/FilterListItem.test.d.ts +0 -1
  368. package/lib-esm/__tests__/FilterListItem.test.js +0 -36
  369. package/lib-esm/__tests__/FilteredSearch.test.d.ts +0 -1
  370. package/lib-esm/__tests__/FilteredSearch.test.js +0 -26
  371. package/lib-esm/__tests__/Flash.test.d.ts +0 -1
  372. package/lib-esm/__tests__/Flash.test.js +0 -51
  373. package/lib-esm/__tests__/Flex.test.d.ts +0 -1
  374. package/lib-esm/__tests__/Flex.test.js +0 -64
  375. package/lib-esm/__tests__/FormGroup.test.d.ts +0 -1
  376. package/lib-esm/__tests__/FormGroup.test.js +0 -44
  377. package/lib-esm/__tests__/Grid.test.d.ts +0 -1
  378. package/lib-esm/__tests__/Grid.test.js +0 -94
  379. package/lib-esm/__tests__/Header.test.d.ts +0 -1
  380. package/lib-esm/__tests__/Header.test.js +0 -48
  381. package/lib-esm/__tests__/Heading.test.d.ts +0 -1
  382. package/lib-esm/__tests__/Heading.test.js +0 -99
  383. package/lib-esm/__tests__/Label.test.d.ts +0 -1
  384. package/lib-esm/__tests__/Label.test.js +0 -36
  385. package/lib-esm/__tests__/LabelGroup.test.d.ts +0 -1
  386. package/lib-esm/__tests__/LabelGroup.test.js +0 -26
  387. package/lib-esm/__tests__/Link.test.d.ts +0 -1
  388. package/lib-esm/__tests__/Link.test.js +0 -60
  389. package/lib-esm/__tests__/Merge.types.test.d.ts +0 -30
  390. package/lib-esm/__tests__/Merge.types.test.js +0 -14
  391. package/lib-esm/__tests__/Overlay.test.d.ts +0 -1
  392. package/lib-esm/__tests__/Overlay.test.js +0 -123
  393. package/lib-esm/__tests__/Pagehead.test.d.ts +0 -1
  394. package/lib-esm/__tests__/Pagehead.test.js +0 -26
  395. package/lib-esm/__tests__/Pagination/Pagination.test.d.ts +0 -1
  396. package/lib-esm/__tests__/Pagination/Pagination.test.js +0 -35
  397. package/lib-esm/__tests__/Pagination/PaginationModel.test.d.ts +0 -1
  398. package/lib-esm/__tests__/Pagination/PaginationModel.test.js +0 -182
  399. package/lib-esm/__tests__/PointerBox.test.d.ts +0 -1
  400. package/lib-esm/__tests__/PointerBox.test.js +0 -36
  401. package/lib-esm/__tests__/Popover.test.d.ts +0 -1
  402. package/lib-esm/__tests__/Popover.test.js +0 -53
  403. package/lib-esm/__tests__/Portal.test.d.ts +0 -1
  404. package/lib-esm/__tests__/Portal.test.js +0 -104
  405. package/lib-esm/__tests__/Position.test.d.ts +0 -1
  406. package/lib-esm/__tests__/Position.test.js +0 -133
  407. package/lib-esm/__tests__/ProgressBar.test.d.ts +0 -1
  408. package/lib-esm/__tests__/ProgressBar.test.js +0 -58
  409. package/lib-esm/__tests__/SelectMenu.test.d.ts +0 -1
  410. package/lib-esm/__tests__/SelectMenu.test.js +0 -145
  411. package/lib-esm/__tests__/SelectPanel.test.d.ts +0 -1
  412. package/lib-esm/__tests__/SelectPanel.test.js +0 -65
  413. package/lib-esm/__tests__/SideNav.test.d.ts +0 -1
  414. package/lib-esm/__tests__/SideNav.test.js +0 -60
  415. package/lib-esm/__tests__/Spinner.test.d.ts +0 -1
  416. package/lib-esm/__tests__/Spinner.test.js +0 -43
  417. package/lib-esm/__tests__/StateLabel.test.d.ts +0 -1
  418. package/lib-esm/__tests__/StateLabel.test.js +0 -61
  419. package/lib-esm/__tests__/StyledOcticon.test.d.ts +0 -1
  420. package/lib-esm/__tests__/StyledOcticon.test.js +0 -29
  421. package/lib-esm/__tests__/SubNav.test.d.ts +0 -1
  422. package/lib-esm/__tests__/SubNav.test.js +0 -50
  423. package/lib-esm/__tests__/SubNavLink.test.d.ts +0 -1
  424. package/lib-esm/__tests__/SubNavLink.test.js +0 -39
  425. package/lib-esm/__tests__/TabNav.test.d.ts +0 -1
  426. package/lib-esm/__tests__/TabNav.test.js +0 -39
  427. package/lib-esm/__tests__/Text.test.d.ts +0 -1
  428. package/lib-esm/__tests__/Text.test.js +0 -93
  429. package/lib-esm/__tests__/TextInput.test.d.ts +0 -1
  430. package/lib-esm/__tests__/TextInput.test.js +0 -68
  431. package/lib-esm/__tests__/TextInputWithTokens.test.d.ts +0 -1
  432. package/lib-esm/__tests__/TextInputWithTokens.test.js +0 -341
  433. package/lib-esm/__tests__/ThemeProvider.test.d.ts +0 -1
  434. package/lib-esm/__tests__/ThemeProvider.test.js +0 -408
  435. package/lib-esm/__tests__/Timeline.test.d.ts +0 -1
  436. package/lib-esm/__tests__/Timeline.test.js +0 -65
  437. package/lib-esm/__tests__/Token.test.d.ts +0 -1
  438. package/lib-esm/__tests__/Token.test.js +0 -166
  439. package/lib-esm/__tests__/Tooltip.test.d.ts +0 -1
  440. package/lib-esm/__tests__/Tooltip.test.js +0 -59
  441. package/lib-esm/__tests__/Truncate.test.d.ts +0 -1
  442. package/lib-esm/__tests__/Truncate.test.js +0 -53
  443. package/lib-esm/__tests__/UnderlineNav.test.d.ts +0 -1
  444. package/lib-esm/__tests__/UnderlineNav.test.js +0 -60
  445. package/lib-esm/__tests__/UnderlineNavLink.test.d.ts +0 -1
  446. package/lib-esm/__tests__/UnderlineNavLink.test.js +0 -41
  447. package/lib-esm/__tests__/behaviors/anchoredPosition.test.d.ts +0 -1
  448. package/lib-esm/__tests__/behaviors/anchoredPosition.test.js +0 -388
  449. package/lib-esm/__tests__/behaviors/focusTrap.test.d.ts +0 -1
  450. package/lib-esm/__tests__/behaviors/focusTrap.test.js +0 -227
  451. package/lib-esm/__tests__/behaviors/focusZone.test.d.ts +0 -1
  452. package/lib-esm/__tests__/behaviors/focusZone.test.js +0 -487
  453. package/lib-esm/__tests__/behaviors/iterateFocusableElements.test.d.ts +0 -1
  454. package/lib-esm/__tests__/behaviors/iterateFocusableElements.test.js +0 -48
  455. package/lib-esm/__tests__/behaviors/scrollIntoViewingArea.test.d.ts +0 -1
  456. package/lib-esm/__tests__/behaviors/scrollIntoViewingArea.test.js +0 -224
  457. package/lib-esm/__tests__/filterObject.test.d.ts +0 -1
  458. package/lib-esm/__tests__/filterObject.test.js +0 -27
  459. package/lib-esm/__tests__/hooks/useAnchoredPosition.test.d.ts +0 -1
  460. package/lib-esm/__tests__/hooks/useAnchoredPosition.test.js +0 -46
  461. package/lib-esm/__tests__/hooks/useOnEscapePress.test.d.ts +0 -1
  462. package/lib-esm/__tests__/hooks/useOnEscapePress.test.js +0 -23
  463. package/lib-esm/__tests__/hooks/useOnOutsideClick.test.d.ts +0 -1
  464. package/lib-esm/__tests__/hooks/useOnOutsideClick.test.js +0 -68
  465. package/lib-esm/__tests__/hooks/useOpenAndCloseFocus.test.d.ts +0 -1
  466. package/lib-esm/__tests__/hooks/useOpenAndCloseFocus.test.js +0 -52
  467. package/lib-esm/__tests__/hooks/useProvidedStateOrCreate.test.d.ts +0 -1
  468. package/lib-esm/__tests__/hooks/useProvidedStateOrCreate.test.js +0 -36
  469. package/lib-esm/__tests__/theme.test.d.ts +0 -1
  470. package/lib-esm/__tests__/theme.test.js +0 -33
  471. package/lib-esm/__tests__/themeGet.test.d.ts +0 -1
  472. package/lib-esm/__tests__/themeGet.test.js +0 -22
  473. package/lib-esm/__tests__/useSafeTimeout.test.d.ts +0 -1
  474. package/lib-esm/__tests__/useSafeTimeout.test.js +0 -39
  475. package/lib-esm/stories/ActionList.stories.js +0 -394
  476. package/lib-esm/stories/ActionMenu.stories.js +0 -293
  477. package/lib-esm/stories/AnchoredOverlay.stories.js +0 -101
  478. package/lib-esm/stories/Autocomplete.stories.js +0 -549
  479. package/lib-esm/stories/AvatarStack.stories.js +0 -32
  480. package/lib-esm/stories/Button.stories.js +0 -78
  481. package/lib-esm/stories/ConfirmationDialog.stories.js +0 -86
  482. package/lib-esm/stories/Dialog.stories.js +0 -240
  483. package/lib-esm/stories/DropdownMenu.stories.js +0 -94
  484. package/lib-esm/stories/IssueLabelToken.stories.js +0 -139
  485. package/lib-esm/stories/Overlay.stories.js +0 -173
  486. package/lib-esm/stories/Portal.stories.js +0 -68
  487. package/lib-esm/stories/ProfileToken.stories.js +0 -136
  488. package/lib-esm/stories/SelectPanel.stories.js +0 -334
  489. package/lib-esm/stories/TextInputWithTokens.stories.js +0 -196
  490. package/lib-esm/stories/ThemeProvider.stories.js +0 -83
  491. package/lib-esm/stories/Token.stories.js +0 -133
  492. package/lib-esm/stories/useAnchoredPosition.stories.js +0 -313
  493. package/lib-esm/stories/useFocusTrap.stories.js +0 -309
  494. package/lib-esm/stories/useFocusZone.stories.js +0 -554
  495. package/migrating.md +0 -250
  496. package/now.json +0 -17
  497. package/package-lock.json +0 -29369
  498. package/rollup.config.js +0 -36
  499. package/script/build +0 -19
  500. package/script/build-storybook +0 -10
  501. package/script/setup +0 -12
  502. package/src/ActionList/Divider.tsx +0 -25
  503. package/src/ActionList/Group.tsx +0 -45
  504. package/src/ActionList/Header.tsx +0 -74
  505. package/src/ActionList/Item.tsx +0 -483
  506. package/src/ActionList/List.tsx +0 -258
  507. package/src/ActionList/index.ts +0 -21
  508. package/src/ActionMenu.tsx +0 -106
  509. package/src/AnchoredOverlay/AnchoredOverlay.tsx +0 -191
  510. package/src/AnchoredOverlay/index.ts +0 -2
  511. package/src/Autocomplete/Autocomplete.tsx +0 -103
  512. package/src/Autocomplete/AutocompleteContext.tsx +0 -19
  513. package/src/Autocomplete/AutocompleteInput.tsx +0 -179
  514. package/src/Autocomplete/AutocompleteMenu.tsx +0 -341
  515. package/src/Autocomplete/AutocompleteOverlay.tsx +0 -68
  516. package/src/Autocomplete/index.ts +0 -2
  517. package/src/Avatar.tsx +0 -46
  518. package/src/AvatarPair.tsx +0 -35
  519. package/src/AvatarStack.tsx +0 -159
  520. package/src/BaseStyles.tsx +0 -53
  521. package/src/BorderBox.tsx +0 -18
  522. package/src/Box.tsx +0 -54
  523. package/src/BranchName.tsx +0 -19
  524. package/src/Breadcrumbs.tsx +0 -101
  525. package/src/Button/Button.tsx +0 -40
  526. package/src/Button/ButtonBase.tsx +0 -43
  527. package/src/Button/ButtonClose.tsx +0 -40
  528. package/src/Button/ButtonDanger.tsx +0 -43
  529. package/src/Button/ButtonGroup.tsx +0 -55
  530. package/src/Button/ButtonInvisible.tsx +0 -27
  531. package/src/Button/ButtonOutline.tsx +0 -43
  532. package/src/Button/ButtonPrimary.tsx +0 -41
  533. package/src/Button/ButtonStyles.tsx +0 -36
  534. package/src/Button/ButtonTableList.tsx +0 -58
  535. package/src/Button/index.ts +0 -16
  536. package/src/Caret.tsx +0 -133
  537. package/src/CircleBadge.tsx +0 -55
  538. package/src/CircleOcticon.tsx +0 -37
  539. package/src/CounterLabel.tsx +0 -52
  540. package/src/Details.tsx +0 -23
  541. package/src/Dialog/ConfirmationDialog.tsx +0 -184
  542. package/src/Dialog/Dialog.tsx +0 -432
  543. package/src/Dialog.tsx +0 -149
  544. package/src/Dropdown.tsx +0 -158
  545. package/src/DropdownMenu/DropdownButton.tsx +0 -15
  546. package/src/DropdownMenu/DropdownMenu.tsx +0 -115
  547. package/src/DropdownMenu/index.ts +0 -4
  548. package/src/DropdownStyles.ts +0 -128
  549. package/src/FilterList.tsx +0 -81
  550. package/src/FilteredActionList/FilteredActionList.tsx +0 -142
  551. package/src/FilteredActionList/index.ts +0 -2
  552. package/src/FilteredSearch.tsx +0 -28
  553. package/src/Flash.tsx +0 -77
  554. package/src/Flex.tsx +0 -15
  555. package/src/FormGroup.tsx +0 -27
  556. package/src/Grid.tsx +0 -15
  557. package/src/Header.tsx +0 -84
  558. package/src/Heading.tsx +0 -21
  559. package/src/Label.tsx +0 -75
  560. package/src/LabelGroup.tsx +0 -18
  561. package/src/Link.tsx +0 -46
  562. package/src/Overlay.tsx +0 -197
  563. package/src/Pagehead.tsx +0 -17
  564. package/src/Pagination/Pagination.tsx +0 -214
  565. package/src/Pagination/index.ts +0 -4
  566. package/src/Pagination/model.tsx +0 -187
  567. package/src/PointerBox.tsx +0 -31
  568. package/src/Popover.tsx +0 -236
  569. package/src/Portal/Portal.tsx +0 -96
  570. package/src/Portal/index.ts +0 -5
  571. package/src/Position.tsx +0 -63
  572. package/src/ProgressBar.tsx +0 -52
  573. package/src/SelectMenu/SelectMenu.tsx +0 -125
  574. package/src/SelectMenu/SelectMenuContext.tsx +0 -9
  575. package/src/SelectMenu/SelectMenuDivider.tsx +0 -25
  576. package/src/SelectMenu/SelectMenuFilter.tsx +0 -51
  577. package/src/SelectMenu/SelectMenuFooter.tsx +0 -28
  578. package/src/SelectMenu/SelectMenuHeader.tsx +0 -50
  579. package/src/SelectMenu/SelectMenuItem.tsx +0 -137
  580. package/src/SelectMenu/SelectMenuList.tsx +0 -42
  581. package/src/SelectMenu/SelectMenuLoadingAnimation.tsx +0 -24
  582. package/src/SelectMenu/SelectMenuModal.tsx +0 -121
  583. package/src/SelectMenu/SelectMenuTab.tsx +0 -88
  584. package/src/SelectMenu/SelectMenuTabPanel.tsx +0 -30
  585. package/src/SelectMenu/SelectMenuTabs.tsx +0 -44
  586. package/src/SelectMenu/hooks/useKeyboardNav.js +0 -90
  587. package/src/SelectMenu/index.ts +0 -15
  588. package/src/SelectPanel/SelectPanel.tsx +0 -173
  589. package/src/SelectPanel/index.ts +0 -2
  590. package/src/SideNav.tsx +0 -193
  591. package/src/Spinner.tsx +0 -59
  592. package/src/StateLabel.tsx +0 -102
  593. package/src/StyledOcticon.tsx +0 -24
  594. package/src/SubNav.tsx +0 -129
  595. package/src/TabNav.tsx +0 -77
  596. package/src/Text.tsx +0 -13
  597. package/src/TextInput.tsx +0 -68
  598. package/src/TextInputWithTokens.tsx +0 -271
  599. package/src/ThemeProvider.tsx +0 -176
  600. package/src/Timeline.tsx +0 -141
  601. package/src/Token/AvatarToken.tsx +0 -54
  602. package/src/Token/IssueLabelToken.tsx +0 -150
  603. package/src/Token/Token.tsx +0 -112
  604. package/src/Token/TokenBase.tsx +0 -134
  605. package/src/Token/_RemoveTokenButton.tsx +0 -98
  606. package/src/Token/_TokenTextContainer.tsx +0 -47
  607. package/src/Token/index.ts +0 -3
  608. package/src/Tooltip.tsx +0 -263
  609. package/src/Truncate.tsx +0 -36
  610. package/src/UnderlineNav.tsx +0 -110
  611. package/src/_TextInputWrapper.tsx +0 -105
  612. package/src/_UnstyledTextInput.tsx +0 -19
  613. package/src/__tests__/.eslintrc.json +0 -11
  614. package/src/__tests__/ActionList.test.tsx +0 -53
  615. package/src/__tests__/ActionList.types.test.tsx +0 -51
  616. package/src/__tests__/ActionMenu.test.tsx +0 -136
  617. package/src/__tests__/AnchoredOverlay.test.tsx +0 -150
  618. package/src/__tests__/Autocomplete.test.tsx +0 -444
  619. package/src/__tests__/Avatar.test.tsx +0 -44
  620. package/src/__tests__/AvatarStack.test.tsx +0 -48
  621. package/src/__tests__/BorderBox.test.tsx +0 -43
  622. package/src/__tests__/Box.test.tsx +0 -42
  623. package/src/__tests__/BranchName.test.tsx +0 -26
  624. package/src/__tests__/Breadcrumbs.test.tsx +0 -27
  625. package/src/__tests__/BreadcrumbsItem.test.tsx +0 -31
  626. package/src/__tests__/Button.test.tsx +0 -128
  627. package/src/__tests__/Caret.test.tsx +0 -36
  628. package/src/__tests__/CircleBadge.test.tsx +0 -66
  629. package/src/__tests__/CircleOcticon.test.tsx +0 -50
  630. package/src/__tests__/ConfirmationDialog.test.tsx +0 -120
  631. package/src/__tests__/CounterLabel.test.tsx +0 -50
  632. package/src/__tests__/Details.test.tsx +0 -115
  633. package/src/__tests__/Dialog.test.tsx +0 -155
  634. package/src/__tests__/Dropdown.test.tsx +0 -53
  635. package/src/__tests__/DropdownMenu.test.tsx +0 -136
  636. package/src/__tests__/FilterList.test.tsx +0 -26
  637. package/src/__tests__/FilterListItem.test.tsx +0 -31
  638. package/src/__tests__/FilteredSearch.test.tsx +0 -26
  639. package/src/__tests__/Flash.test.tsx +0 -45
  640. package/src/__tests__/Flex.test.tsx +0 -58
  641. package/src/__tests__/FormGroup.test.tsx +0 -38
  642. package/src/__tests__/Grid.test.tsx +0 -82
  643. package/src/__tests__/Header.test.tsx +0 -49
  644. package/src/__tests__/Heading.test.tsx +0 -91
  645. package/src/__tests__/Label.test.tsx +0 -34
  646. package/src/__tests__/LabelGroup.test.tsx +0 -30
  647. package/src/__tests__/Link.test.tsx +0 -47
  648. package/src/__tests__/Merge.types.test.ts +0 -39
  649. package/src/__tests__/Overlay.test.tsx +0 -103
  650. package/src/__tests__/Pagehead.test.tsx +0 -23
  651. package/src/__tests__/Pagination/Pagination.test.tsx +0 -30
  652. package/src/__tests__/Pagination/PaginationModel.test.tsx +0 -133
  653. package/src/__tests__/Pagination/__snapshots__/Pagination.test.tsx.snap +0 -184
  654. package/src/__tests__/PointerBox.test.tsx +0 -34
  655. package/src/__tests__/Popover.test.tsx +0 -68
  656. package/src/__tests__/Portal.test.tsx +0 -103
  657. package/src/__tests__/Position.test.tsx +0 -117
  658. package/src/__tests__/ProgressBar.test.tsx +0 -40
  659. package/src/__tests__/SelectMenu.test.tsx +0 -142
  660. package/src/__tests__/SelectPanel.test.tsx +0 -63
  661. package/src/__tests__/SideNav.test.tsx +0 -62
  662. package/src/__tests__/Spinner.test.tsx +0 -42
  663. package/src/__tests__/StateLabel.test.tsx +0 -48
  664. package/src/__tests__/StyledOcticon.test.tsx +0 -26
  665. package/src/__tests__/SubNav.test.tsx +0 -50
  666. package/src/__tests__/SubNavLink.test.tsx +0 -31
  667. package/src/__tests__/TabNav.test.tsx +0 -32
  668. package/src/__tests__/Text.test.tsx +0 -78
  669. package/src/__tests__/TextInput.test.tsx +0 -49
  670. package/src/__tests__/TextInputWithTokens.test.tsx +0 -262
  671. package/src/__tests__/ThemeProvider.test.tsx +0 -441
  672. package/src/__tests__/Timeline.test.tsx +0 -58
  673. package/src/__tests__/Token.test.tsx +0 -118
  674. package/src/__tests__/Tooltip.test.tsx +0 -52
  675. package/src/__tests__/Truncate.test.tsx +0 -43
  676. package/src/__tests__/UnderlineNav.test.tsx +0 -58
  677. package/src/__tests__/UnderlineNavLink.test.tsx +0 -31
  678. package/src/__tests__/__snapshots__/ActionList.test.tsx.snap +0 -223
  679. package/src/__tests__/__snapshots__/ActionMenu.test.tsx.snap +0 -80
  680. package/src/__tests__/__snapshots__/AnchoredOverlay.test.tsx.snap +0 -332
  681. package/src/__tests__/__snapshots__/Autocomplete.test.tsx.snap +0 -3414
  682. package/src/__tests__/__snapshots__/Avatar.test.tsx.snap +0 -19
  683. package/src/__tests__/__snapshots__/AvatarStack.test.tsx.snap +0 -377
  684. package/src/__tests__/__snapshots__/BorderBox.test.tsx.snap +0 -14
  685. package/src/__tests__/__snapshots__/Box.test.tsx.snap +0 -201
  686. package/src/__tests__/__snapshots__/BranchName.test.tsx.snap +0 -17
  687. package/src/__tests__/__snapshots__/Breadcrumbs.test.tsx.snap +0 -29
  688. package/src/__tests__/__snapshots__/BreadcrumbsItem.test.tsx.snap +0 -79
  689. package/src/__tests__/__snapshots__/Button.test.tsx.snap +0 -832
  690. package/src/__tests__/__snapshots__/Caret.test.tsx.snap +0 -373
  691. package/src/__tests__/__snapshots__/CircleBadge.test.tsx.snap +0 -141
  692. package/src/__tests__/__snapshots__/CircleOcticon.test.tsx.snap +0 -64
  693. package/src/__tests__/__snapshots__/ConfirmationDialog.test.tsx.snap +0 -89
  694. package/src/__tests__/__snapshots__/CounterLabel.test.tsx.snap +0 -22
  695. package/src/__tests__/__snapshots__/Details.test.tsx.snap +0 -15
  696. package/src/__tests__/__snapshots__/Dialog.test.tsx.snap +0 -200
  697. package/src/__tests__/__snapshots__/Dropdown.test.tsx.snap +0 -249
  698. package/src/__tests__/__snapshots__/DropdownMenu.test.tsx.snap +0 -106
  699. package/src/__tests__/__snapshots__/FilterList.test.tsx.snap +0 -13
  700. package/src/__tests__/__snapshots__/FilterListItem.test.tsx.snap +0 -80
  701. package/src/__tests__/__snapshots__/FilteredSearch.test.tsx.snap +0 -32
  702. package/src/__tests__/__snapshots__/Flash.test.tsx.snap +0 -32
  703. package/src/__tests__/__snapshots__/Flex.test.tsx.snap +0 -130
  704. package/src/__tests__/__snapshots__/FormGroup.test.tsx.snap +0 -25
  705. package/src/__tests__/__snapshots__/Grid.test.tsx.snap +0 -178
  706. package/src/__tests__/__snapshots__/Header.test.tsx.snap +0 -79
  707. package/src/__tests__/__snapshots__/Heading.test.tsx.snap +0 -13
  708. package/src/__tests__/__snapshots__/Label.test.tsx.snap +0 -74
  709. package/src/__tests__/__snapshots__/LabelGroup.test.tsx.snap +0 -15
  710. package/src/__tests__/__snapshots__/Link.test.tsx.snap +0 -213
  711. package/src/__tests__/__snapshots__/Pagehead.test.tsx.snap +0 -15
  712. package/src/__tests__/__snapshots__/PointerBox.test.tsx.snap +0 -174
  713. package/src/__tests__/__snapshots__/Popover.test.tsx.snap +0 -4687
  714. package/src/__tests__/__snapshots__/Position.test.tsx.snap +0 -44
  715. package/src/__tests__/__snapshots__/ProgressBar.test.tsx.snap +0 -53
  716. package/src/__tests__/__snapshots__/SelectMenu.test.tsx.snap +0 -469
  717. package/src/__tests__/__snapshots__/SelectPanel.test.tsx.snap +0 -123
  718. package/src/__tests__/__snapshots__/SideNav.test.tsx.snap +0 -143
  719. package/src/__tests__/__snapshots__/Spinner.test.tsx.snap +0 -33
  720. package/src/__tests__/__snapshots__/StateLabel.test.tsx.snap +0 -388
  721. package/src/__tests__/__snapshots__/StyledOcticon.test.tsx.snap +0 -25
  722. package/src/__tests__/__snapshots__/SubNav.test.tsx.snap +0 -44
  723. package/src/__tests__/__snapshots__/SubNavLink.test.tsx.snap +0 -199
  724. package/src/__tests__/__snapshots__/TabNav.test.tsx.snap +0 -58
  725. package/src/__tests__/__snapshots__/Text.test.tsx.snap +0 -7
  726. package/src/__tests__/__snapshots__/TextInput.test.tsx.snap +0 -440
  727. package/src/__tests__/__snapshots__/TextInputWithTokens.test.tsx.snap +0 -5308
  728. package/src/__tests__/__snapshots__/ThemeProvider.test.tsx.snap +0 -15
  729. package/src/__tests__/__snapshots__/Timeline.test.tsx.snap +0 -159
  730. package/src/__tests__/__snapshots__/Token.test.tsx.snap +0 -3787
  731. package/src/__tests__/__snapshots__/Tooltip.test.tsx.snap +0 -227
  732. package/src/__tests__/__snapshots__/Truncate.test.tsx.snap +0 -17
  733. package/src/__tests__/__snapshots__/UnderlineNav.test.tsx.snap +0 -59
  734. package/src/__tests__/__snapshots__/UnderlineNavLink.test.tsx.snap +0 -130
  735. package/src/__tests__/behaviors/anchoredPosition.test.ts +0 -295
  736. package/src/__tests__/behaviors/focusTrap.test.tsx +0 -236
  737. package/src/__tests__/behaviors/focusZone.test.tsx +0 -549
  738. package/src/__tests__/behaviors/iterateFocusableElements.test.tsx +0 -61
  739. package/src/__tests__/behaviors/scrollIntoViewingArea.test.ts +0 -195
  740. package/src/__tests__/filterObject.test.ts +0 -54
  741. package/src/__tests__/hooks/useAnchoredPosition.test.tsx +0 -31
  742. package/src/__tests__/hooks/useOnEscapePress.test.tsx +0 -16
  743. package/src/__tests__/hooks/useOnOutsideClick.test.tsx +0 -48
  744. package/src/__tests__/hooks/useOpenAndCloseFocus.test.tsx +0 -48
  745. package/src/__tests__/hooks/useProvidedStateOrCreate.test.tsx +0 -39
  746. package/src/__tests__/theme.test.ts +0 -41
  747. package/src/__tests__/themeGet.test.ts +0 -15
  748. package/src/__tests__/useSafeTimeout.test.tsx +0 -36
  749. package/src/behaviors/anchoredPosition.ts +0 -442
  750. package/src/behaviors/focusTrap.ts +0 -184
  751. package/src/behaviors/focusZone.ts +0 -713
  752. package/src/behaviors/scrollIntoViewingArea.ts +0 -27
  753. package/src/constants.ts +0 -62
  754. package/src/hooks/index.ts +0 -11
  755. package/src/hooks/useAnchoredPosition.ts +0 -53
  756. package/src/hooks/useCombinedRefs.ts +0 -40
  757. package/src/hooks/useDetails.tsx +0 -54
  758. package/src/hooks/useDialog.ts +0 -121
  759. package/src/hooks/useFocusTrap.ts +0 -80
  760. package/src/hooks/useFocusZone.ts +0 -64
  761. package/src/hooks/useOnEscapePress.ts +0 -63
  762. package/src/hooks/useOnOutsideClick.tsx +0 -82
  763. package/src/hooks/useOpenAndCloseFocus.ts +0 -32
  764. package/src/hooks/useOverlay.tsx +0 -34
  765. package/src/hooks/useProvidedRefOrCreate.ts +0 -14
  766. package/src/hooks/useProvidedStateOrCreate.ts +0 -27
  767. package/src/hooks/useRenderForcingRef.ts +0 -22
  768. package/src/hooks/useResizeObserver.ts +0 -11
  769. package/src/hooks/useSafeTimeout.ts +0 -38
  770. package/src/hooks/useScrollFlash.ts +0 -21
  771. package/src/index.ts +0 -170
  772. package/src/polyfills/eventListenerSignal.ts +0 -66
  773. package/src/stories/ActionList.stories.tsx +0 -437
  774. package/src/stories/ActionMenu.stories.tsx +0 -322
  775. package/src/stories/AnchoredOverlay.stories.tsx +0 -117
  776. package/src/stories/Autocomplete.stories.tsx +0 -572
  777. package/src/stories/AvatarStack.stories.tsx +0 -37
  778. package/src/stories/Button.stories.tsx +0 -88
  779. package/src/stories/ConfirmationDialog.stories.tsx +0 -105
  780. package/src/stories/Dialog.stories.tsx +0 -240
  781. package/src/stories/DropdownMenu.stories.tsx +0 -84
  782. package/src/stories/IssueLabelToken.stories.tsx +0 -138
  783. package/src/stories/Overlay.stories.tsx +0 -213
  784. package/src/stories/Portal.stories.tsx +0 -109
  785. package/src/stories/ProfileToken.stories.tsx +0 -129
  786. package/src/stories/SelectPanel.stories.tsx +0 -353
  787. package/src/stories/TextInputWithTokens.stories.tsx +0 -146
  788. package/src/stories/ThemeProvider.stories.tsx +0 -104
  789. package/src/stories/Token.stories.tsx +0 -126
  790. package/src/stories/useAnchoredPosition.stories.tsx +0 -320
  791. package/src/stories/useFocusTrap.stories.tsx +0 -400
  792. package/src/stories/useFocusZone.stories.tsx +0 -663
  793. package/src/sx.ts +0 -9
  794. package/src/theme-preval.js +0 -79
  795. package/src/theme.ts +0 -3
  796. package/src/utils/deprecate.tsx +0 -73
  797. package/src/utils/isNumeric.tsx +0 -4
  798. package/src/utils/iterateFocusableElements.ts +0 -121
  799. package/src/utils/ssr.tsx +0 -1
  800. package/src/utils/test-deprecations.tsx +0 -19
  801. package/src/utils/test-helpers.tsx +0 -7
  802. package/src/utils/test-matchers.tsx +0 -109
  803. package/src/utils/testing.tsx +0 -242
  804. package/src/utils/theme.js +0 -64
  805. package/src/utils/types/AriaRole.ts +0 -71
  806. package/src/utils/types/ComponentProps.ts +0 -13
  807. package/src/utils/types/Flatten.ts +0 -4
  808. package/src/utils/types/MandateProps.ts +0 -19
  809. package/src/utils/types/Merge.ts +0 -20
  810. package/src/utils/types/index.ts +0 -5
  811. package/src/utils/uniqueId.ts +0 -6
  812. package/src/utils/userAgent.ts +0 -7
  813. package/stats.html +0 -3279
  814. package/tsconfig.build.json +0 -7
  815. package/tsconfig.json +0 -20
@@ -1,262 +0,0 @@
1
- import React from 'react'
2
- import {render} from '../utils/testing'
3
- import {render as HTMLRender, cleanup, fireEvent} from '@testing-library/react'
4
- import {axe, toHaveNoViolations} from 'jest-axe'
5
- import 'babel-polyfill'
6
- import {TokenSizeKeys, tokenSizes} from '../Token/TokenBase'
7
- import {IssueLabelToken} from '../Token'
8
- import TextInputWithTokens, {TextInputWithTokensProps} from '../TextInputWithTokens'
9
- expect.extend(toHaveNoViolations)
10
-
11
- const mockTokens = [
12
- {text: 'zero', id: 0},
13
- {text: 'one', id: 1},
14
- {text: 'two', id: 2},
15
- {text: 'three', id: 3},
16
- {text: 'four', id: 4},
17
- {text: 'five', id: 5},
18
- {text: 'six', id: 6},
19
- {text: 'seven', id: 7}
20
- ]
21
-
22
- const LabelledTextInputWithTokens: React.FC<TextInputWithTokensProps> = ({onTokenRemove, tokens, ...rest}) => (
23
- <>
24
- {/* eslint-disable-next-line jsx-a11y/label-has-for */}
25
- <label htmlFor="tokenInput" id="tokenLabel">
26
- Tokens
27
- </label>
28
- <TextInputWithTokens tokens={tokens} onTokenRemove={onTokenRemove} id="tokenInput" {...rest} />
29
- </>
30
- )
31
-
32
- describe('TextInputWithTokens', () => {
33
- it('renders without tokens', () => {
34
- const onRemoveMock = jest.fn()
35
- expect(render(<TextInputWithTokens tokens={[]} onTokenRemove={onRemoveMock} />)).toMatchSnapshot()
36
- })
37
-
38
- it('renders as block layout', () => {
39
- const onRemoveMock = jest.fn()
40
- expect(render(<TextInputWithTokens block tokens={[]} onTokenRemove={onRemoveMock} />)).toMatchSnapshot()
41
- })
42
-
43
- it('renders with tokens', () => {
44
- const onRemoveMock = jest.fn()
45
- expect(render(<TextInputWithTokens tokens={mockTokens} onTokenRemove={onRemoveMock} />)).toMatchSnapshot()
46
- })
47
-
48
- it('renders with tokens using a custom token component', () => {
49
- const onRemoveMock = jest.fn()
50
- expect(
51
- render(<TextInputWithTokens tokens={mockTokens} onTokenRemove={onRemoveMock} tokenComponent={IssueLabelToken} />)
52
- ).toMatchSnapshot()
53
- })
54
-
55
- it('renders at a maximum height when specified', () => {
56
- const onRemoveMock = jest.fn()
57
- expect(
58
- render(<TextInputWithTokens maxHeight="20px" tokens={mockTokens} onTokenRemove={onRemoveMock} />)
59
- ).toMatchSnapshot()
60
- })
61
-
62
- it('renders tokens on a single line when specified', () => {
63
- const onRemoveMock = jest.fn()
64
- expect(
65
- render(<TextInputWithTokens preventTokenWrapping tokens={mockTokens} onTokenRemove={onRemoveMock} />)
66
- ).toMatchSnapshot()
67
- })
68
-
69
- it('renders tokens at the specified sizes', () => {
70
- const onRemoveMock = jest.fn()
71
- const tokenSizeKeys = Object.keys(tokenSizes)
72
- for (const tokenSizeKey of tokenSizeKeys) {
73
- expect(
74
- render(
75
- <TextInputWithTokens tokens={mockTokens} onTokenRemove={onRemoveMock} size={tokenSizeKey as TokenSizeKeys} />
76
- )
77
- ).toMatchSnapshot()
78
- }
79
- })
80
-
81
- it('renders tokens without a remove button when specified', () => {
82
- const onRemoveMock = jest.fn()
83
- expect(
84
- render(<TextInputWithTokens hideTokenRemoveButtons tokens={mockTokens} onTokenRemove={onRemoveMock} />)
85
- ).toMatchSnapshot()
86
- })
87
-
88
- it('focuses the previous token when keying ArrowLeft', () => {
89
- const onRemoveMock = jest.fn()
90
- const {getByLabelText, getByText} = HTMLRender(
91
- <LabelledTextInputWithTokens tokens={mockTokens} onTokenRemove={onRemoveMock} />
92
- )
93
- const inputNode = getByLabelText('Tokens')
94
- const lastTokenIndex = mockTokens.length - 1
95
- const lastTokenNode = getByText(mockTokens[lastTokenIndex].text)
96
-
97
- expect(document.activeElement).not.toEqual(lastTokenNode)
98
-
99
- fireEvent.focus(inputNode)
100
- fireEvent.keyDown(inputNode, {key: 'ArrowLeft'})
101
- expect(document.activeElement?.id).toEqual(lastTokenNode.id)
102
-
103
- fireEvent.keyDown(lastTokenNode, {key: 'ArrowLeft'})
104
- expect(document.activeElement?.id).toEqual(getByText(mockTokens[lastTokenIndex - 1].text).id)
105
- })
106
-
107
- it('focuses the next token when keying ArrowRight', () => {
108
- const onRemoveMock = jest.fn()
109
- const {getByText} = HTMLRender(<TextInputWithTokens tokens={mockTokens} onTokenRemove={onRemoveMock} />)
110
- const tokenNode = getByText(mockTokens[4].text)
111
-
112
- expect(onRemoveMock).not.toHaveBeenCalled()
113
-
114
- fireEvent.focus(tokenNode)
115
- fireEvent.keyDown(tokenNode, {key: 'ArrowRight'})
116
-
117
- expect(document.activeElement?.id).toEqual(getByText(mockTokens[5].text).id)
118
- })
119
-
120
- it('focuses the input when keying ArrowLeft on the first token', () => {
121
- const onRemoveMock = jest.fn()
122
- const {getByLabelText, getByText} = HTMLRender(
123
- <LabelledTextInputWithTokens tokens={mockTokens} onTokenRemove={onRemoveMock} />
124
- )
125
- const inputNode = getByLabelText('Tokens')
126
- const firstTokenNode = getByText(mockTokens[0].text)
127
-
128
- expect(document.activeElement).not.toEqual(firstTokenNode)
129
-
130
- fireEvent.focus(firstTokenNode)
131
- fireEvent.keyDown(firstTokenNode, {key: 'ArrowLeft'})
132
- expect(document.activeElement?.id).toEqual(inputNode.id)
133
- })
134
-
135
- it('focuses the input when keying ArrowRight on the last token', () => {
136
- const onRemoveMock = jest.fn()
137
- const {getByLabelText, getByText} = HTMLRender(
138
- <LabelledTextInputWithTokens tokens={mockTokens} onTokenRemove={onRemoveMock} />
139
- )
140
- const inputNode = getByLabelText('Tokens')
141
- const lastTokenNode = getByText(mockTokens[mockTokens.length - 1].text)
142
-
143
- expect(document.activeElement).not.toEqual(lastTokenNode)
144
-
145
- fireEvent.focus(lastTokenNode)
146
- fireEvent.keyDown(lastTokenNode, {key: 'ArrowRight'})
147
- expect(document.activeElement?.id).toEqual(inputNode.id)
148
- })
149
-
150
- it('focuses the input when keying Escape when focused on a token', () => {
151
- const onRemoveMock = jest.fn()
152
- const {getByLabelText, getByText} = HTMLRender(
153
- <LabelledTextInputWithTokens tokens={mockTokens} onTokenRemove={onRemoveMock} />
154
- )
155
- const inputNode = getByLabelText('Tokens')
156
- const lastTokenNode = getByText(mockTokens[mockTokens.length - 1].text)
157
-
158
- expect(document.activeElement?.id).not.toEqual(inputNode.id)
159
-
160
- fireEvent.focus(lastTokenNode)
161
- expect(document.activeElement?.id).toEqual(lastTokenNode.id)
162
- fireEvent.keyUp(lastTokenNode, {key: 'Escape'})
163
-
164
- expect(document.activeElement?.id).not.toEqual(lastTokenNode.id)
165
- expect(document.activeElement?.id).toEqual(inputNode.id)
166
- })
167
-
168
- it('focuses the first token when keying ArrowRight in the input', () => {
169
- const onRemoveMock = jest.fn()
170
- const {getByLabelText, getByText} = HTMLRender(
171
- <LabelledTextInputWithTokens tokens={mockTokens} onTokenRemove={onRemoveMock} />
172
- )
173
- const inputNode = getByLabelText('Tokens')
174
- const firstTokenNode = getByText(mockTokens[0].text)
175
-
176
- expect(onRemoveMock).not.toHaveBeenCalled()
177
-
178
- fireEvent.focus(inputNode)
179
- fireEvent.keyDown(inputNode, {key: 'ArrowRight'})
180
-
181
- expect(document.activeElement?.id).not.toEqual(inputNode.id)
182
- expect(document.activeElement?.id).toEqual(firstTokenNode.id)
183
- })
184
-
185
- it('calls onTokenRemove on the last token when keying Backspace in an empty input', () => {
186
- const onRemoveMock = jest.fn()
187
- const {getByLabelText} = HTMLRender(
188
- <LabelledTextInputWithTokens tokens={mockTokens} onTokenRemove={onRemoveMock} />
189
- )
190
- const inputNode = getByLabelText('Tokens')
191
- const lastTokenIndex = mockTokens.length - 1
192
-
193
- expect(onRemoveMock).not.toHaveBeenCalled()
194
-
195
- fireEvent.focus(inputNode)
196
- fireEvent.keyDown(inputNode, {key: 'Backspace'})
197
- expect(onRemoveMock).toHaveBeenCalledWith(mockTokens[lastTokenIndex].id)
198
- })
199
-
200
- it("sets the input text to the last token's text when keying Backspace in an empty input", () => {
201
- const onRemoveMock = jest.fn()
202
- const {getByDisplayValue, getByLabelText} = HTMLRender(
203
- <LabelledTextInputWithTokens tokens={mockTokens} onTokenRemove={onRemoveMock} />
204
- )
205
- const inputNode = getByLabelText('Tokens')
206
- const lastTokenIndex = mockTokens.length - 1
207
-
208
- expect(onRemoveMock).not.toHaveBeenCalled()
209
-
210
- fireEvent.focus(inputNode)
211
- fireEvent.keyDown(inputNode, {key: 'Backspace'})
212
-
213
- expect(getByDisplayValue(mockTokens[lastTokenIndex].text).id).toEqual(inputNode.id)
214
- })
215
-
216
- it('does not call onTokenRemove on the last token when keying Backspace in an input that has a value', () => {
217
- const onRemoveMock = jest.fn()
218
- const {getByLabelText} = HTMLRender(
219
- <LabelledTextInputWithTokens tokens={mockTokens} onTokenRemove={onRemoveMock} defaultValue="test" />
220
- )
221
- const inputNode = getByLabelText('Tokens')
222
-
223
- fireEvent.focus(inputNode)
224
- fireEvent.keyDown(inputNode, {key: 'Backspace'})
225
- expect(onRemoveMock).not.toHaveBeenCalled()
226
- })
227
-
228
- it('calls onTokenRemove on the focused token when keying Backspace and moves focus to the next token', () => {
229
- const onRemoveMock = jest.fn()
230
- const {getByText} = HTMLRender(<TextInputWithTokens tokens={mockTokens} onTokenRemove={onRemoveMock} />)
231
- const tokenNode = getByText(mockTokens[4].text)
232
-
233
- expect(onRemoveMock).not.toHaveBeenCalled()
234
-
235
- fireEvent.focus(tokenNode)
236
- fireEvent.keyDown(tokenNode, {key: 'Backspace'})
237
-
238
- expect(onRemoveMock).toHaveBeenCalledWith(mockTokens[4].id)
239
- })
240
-
241
- it('calls onKeyDown', () => {
242
- const onRemoveMock = jest.fn()
243
- const onKeyDownMock = jest.fn()
244
- const {getByLabelText} = HTMLRender(
245
- <LabelledTextInputWithTokens tokens={mockTokens} onTokenRemove={onRemoveMock} onKeyDown={onKeyDownMock} />
246
- )
247
- const inputNode = getByLabelText('Tokens')
248
-
249
- expect(onKeyDownMock).not.toHaveBeenCalled()
250
- fireEvent.focus(inputNode)
251
- fireEvent.keyDown(inputNode, {key: 'a'})
252
- expect(onKeyDownMock).toHaveBeenCalled()
253
- })
254
-
255
- it('should have no axe violations', async () => {
256
- const onRemoveMock = jest.fn()
257
- const {container} = HTMLRender(<LabelledTextInputWithTokens tokens={mockTokens} onTokenRemove={onRemoveMock} />)
258
- const results = await axe(container)
259
- expect(results).toHaveNoViolations()
260
- cleanup()
261
- })
262
- })
@@ -1,441 +0,0 @@
1
- import {render, screen, waitFor} from '@testing-library/react'
2
- import 'jest-styled-components'
3
- import React from 'react'
4
- import {Text, ThemeProvider, useColorSchemeVar, useTheme} from '..'
5
-
6
- // window.matchMedia() is not implmented by JSDOM so we have to create a mock:
7
- // https://jestjs.io/docs/manual-mocks#mocking-methods-which-are-not-implemented-in-jsdom
8
- Object.defineProperty(window, 'matchMedia', {
9
- writable: true,
10
- value: jest.fn().mockImplementation(query => ({
11
- matches: false,
12
- media: query,
13
- onchange: null,
14
- addListener: jest.fn(), // deprecated
15
- removeListener: jest.fn(), // deprecated
16
- addEventListener: jest.fn(),
17
- removeEventListener: jest.fn(),
18
- dispatchEvent: jest.fn()
19
- }))
20
- })
21
-
22
- const exampleTheme = {
23
- colors: {
24
- text: '#f00'
25
- },
26
- colorSchemes: {
27
- light: {
28
- colors: {
29
- text: 'black'
30
- }
31
- },
32
- dark: {
33
- colors: {
34
- text: 'white'
35
- }
36
- },
37
- dark_dimmed: {
38
- colors: {
39
- text: 'gray'
40
- }
41
- }
42
- }
43
- }
44
-
45
- it('respects theme prop', () => {
46
- const theme = {
47
- colors: {
48
- text: '#f00'
49
- },
50
- space: ['0', '0.25rem']
51
- }
52
-
53
- render(
54
- <ThemeProvider theme={theme}>
55
- <Text color="text" mb={1}>
56
- Hello
57
- </Text>
58
- </ThemeProvider>
59
- )
60
-
61
- expect(screen.getByText('Hello')).toHaveStyleRule('color', '#f00')
62
- expect(screen.getByText('Hello')).toHaveStyleRule('margin-bottom', '0.25rem')
63
- })
64
-
65
- it('has default theme', () => {
66
- render(
67
- <ThemeProvider>
68
- <Text color="fg.default" mb={1}>
69
- Hello
70
- </Text>
71
- </ThemeProvider>
72
- )
73
-
74
- expect(screen.getByText('Hello')).toMatchSnapshot()
75
- })
76
-
77
- it('inherits theme from parent', () => {
78
- render(
79
- <ThemeProvider theme={exampleTheme}>
80
- <ThemeProvider>
81
- <Text color="text">Hello</Text>
82
- </ThemeProvider>
83
- </ThemeProvider>
84
- )
85
-
86
- expect(screen.getByText('Hello')).toHaveStyleRule('color', 'black')
87
- })
88
-
89
- it('defaults to light color scheme', () => {
90
- render(
91
- <ThemeProvider theme={exampleTheme}>
92
- <Text color="text">Hello</Text>
93
- </ThemeProvider>
94
- )
95
-
96
- expect(screen.getByText('Hello')).toHaveStyleRule('color', 'black')
97
- })
98
-
99
- it('defaults to dark color scheme in night mode', () => {
100
- render(
101
- <ThemeProvider theme={exampleTheme} colorMode="night">
102
- <Text color="text">Hello</Text>
103
- </ThemeProvider>
104
- )
105
-
106
- expect(screen.getByText('Hello')).toHaveStyleRule('color', 'white')
107
- })
108
-
109
- it('defaults to first color scheme when passed an invalid color scheme name', () => {
110
- render(
111
- <ThemeProvider theme={exampleTheme} dayScheme="foo">
112
- <Text color="text">Hello</Text>
113
- </ThemeProvider>
114
- )
115
-
116
- expect(screen.getByText('Hello')).toHaveStyleRule('color', 'black')
117
- })
118
-
119
- it('respects nightScheme prop', () => {
120
- render(
121
- <ThemeProvider theme={exampleTheme} colorMode="night" nightScheme="dark_dimmed">
122
- <Text color="text">Hello</Text>
123
- </ThemeProvider>
124
- )
125
-
126
- expect(screen.getByText('Hello')).toHaveStyleRule('color', 'gray')
127
- })
128
-
129
- it('respects dayScheme prop', () => {
130
- render(
131
- <ThemeProvider theme={exampleTheme} colorMode="day" dayScheme="dark" nightScheme="dark_dimmed">
132
- <Text color="text">Hello</Text>
133
- </ThemeProvider>
134
- )
135
-
136
- expect(screen.getByText('Hello')).toHaveStyleRule('color', 'white')
137
- })
138
-
139
- it('works in auto mode', () => {
140
- render(
141
- <ThemeProvider theme={exampleTheme} colorMode="auto">
142
- <Text color="text">Hello</Text>
143
- </ThemeProvider>
144
- )
145
-
146
- expect(screen.getByText('Hello')).toHaveStyleRule('color', 'black')
147
- })
148
-
149
- it('works in auto mode (dark)', () => {
150
- const matchMediaSpy = jest.spyOn(window, 'matchMedia').mockImplementation(query => ({
151
- matches: true, // enable dark mode
152
- media: query,
153
- onchange: null,
154
- addListener: jest.fn(), // deprecated
155
- removeListener: jest.fn(), // deprecated
156
- addEventListener: jest.fn(),
157
- removeEventListener: jest.fn(),
158
- dispatchEvent: jest.fn()
159
- }))
160
-
161
- render(
162
- <ThemeProvider theme={exampleTheme} colorMode="auto">
163
- <Text color="text">Hello</Text>
164
- </ThemeProvider>
165
- )
166
-
167
- expect(screen.getByText('Hello')).toHaveStyleRule('color', 'white')
168
-
169
- matchMediaSpy.mockRestore()
170
- })
171
-
172
- it('updates when colorMode prop changes', async () => {
173
- function App() {
174
- const [colorMode, setColorMode] = React.useState<'day' | 'night'>('day')
175
- return (
176
- <ThemeProvider theme={exampleTheme} colorMode={colorMode}>
177
- <Text color="text">{colorMode}</Text>
178
- <button onClick={() => setColorMode(colorMode === 'day' ? 'night' : 'day')}>Toggle</button>
179
- </ThemeProvider>
180
- )
181
- }
182
-
183
- render(<App />)
184
-
185
- // starts in day mode (light scheme)
186
- expect(screen.getByText('day')).toHaveStyleRule('color', 'black')
187
-
188
- screen.getByRole('button').click()
189
-
190
- await waitFor(() =>
191
- // clicking the toggle button enables night mode (dark scheme)
192
- expect(screen.getByText('night')).toHaveStyleRule('color', 'white')
193
- )
194
- })
195
-
196
- it('updates when dayScheme prop changes', async () => {
197
- function App() {
198
- const [dayScheme, setDayScheme] = React.useState('light')
199
- return (
200
- <ThemeProvider theme={exampleTheme} dayScheme={dayScheme}>
201
- <Text color="text">{dayScheme}</Text>
202
- <button onClick={() => setDayScheme(dayScheme === 'light' ? 'dark_dimmed' : 'light')}>Toggle</button>
203
- </ThemeProvider>
204
- )
205
- }
206
-
207
- render(<App />)
208
-
209
- // starts in day mode (light scheme)
210
- expect(screen.getByText('light')).toHaveStyleRule('color', 'black')
211
-
212
- screen.getByRole('button').click()
213
-
214
- await waitFor(() =>
215
- // clicking the toggle sets the day scheme to dark_dimmed
216
- expect(screen.getByText('dark_dimmed')).toHaveStyleRule('color', 'gray')
217
- )
218
- })
219
-
220
- it('updates when nightScheme prop changes', async () => {
221
- function App() {
222
- const [nightScheme, setNightScheme] = React.useState('dark')
223
- return (
224
- <ThemeProvider theme={exampleTheme} colorMode="night" nightScheme={nightScheme}>
225
- <Text color="text">{nightScheme}</Text>
226
- <button onClick={() => setNightScheme(nightScheme === 'dark' ? 'dark_dimmed' : 'dark')}>Toggle</button>
227
- </ThemeProvider>
228
- )
229
- }
230
-
231
- render(<App />)
232
-
233
- // starts in night mode (dark scheme)
234
- expect(screen.getByText('dark')).toHaveStyleRule('color', 'white')
235
-
236
- screen.getByRole('button').click()
237
-
238
- await waitFor(() =>
239
- // clicking the toggle button sets the night scheme to dark_dimmed
240
- expect(screen.getByText('dark_dimmed')).toHaveStyleRule('color', 'gray')
241
- )
242
- })
243
-
244
- it('inherits colorMode from parent', async () => {
245
- function App() {
246
- const [colorMode, setcolorMode] = React.useState<'day' | 'night'>('day')
247
- return (
248
- <ThemeProvider theme={exampleTheme} colorMode={colorMode}>
249
- <button onClick={() => setcolorMode(colorMode === 'day' ? 'night' : 'day')}>Toggle</button>
250
- <ThemeProvider>
251
- <Text color="text">{colorMode}</Text>
252
- </ThemeProvider>
253
- </ThemeProvider>
254
- )
255
- }
256
-
257
- render(<App />)
258
-
259
- expect(screen.getByText('day')).toHaveStyleRule('color', 'black')
260
-
261
- screen.getByRole('button').click()
262
-
263
- await waitFor(() => expect(screen.getByText('night')).toHaveStyleRule('color', 'white'))
264
- })
265
-
266
- it('inherits dayScheme from parent', async () => {
267
- function App() {
268
- const [dayScheme, setDayScheme] = React.useState('light')
269
- return (
270
- <ThemeProvider theme={exampleTheme} colorMode="night" dayScheme={dayScheme}>
271
- <button onClick={() => setDayScheme(dayScheme === 'light' ? 'dark_dimmed' : 'light')}>Toggle</button>
272
- <ThemeProvider colorMode="day">
273
- <Text color="text">{dayScheme}</Text>
274
- </ThemeProvider>
275
- </ThemeProvider>
276
- )
277
- }
278
-
279
- render(<App />)
280
-
281
- expect(screen.getByText('light')).toHaveStyleRule('color', 'black')
282
-
283
- screen.getByRole('button').click()
284
-
285
- await waitFor(() => expect(screen.getByText('dark_dimmed')).toHaveStyleRule('color', 'gray'))
286
- })
287
-
288
- it('inherits nightScheme from parent', async () => {
289
- function App() {
290
- const [nightScheme, setNightScheme] = React.useState('dark')
291
- return (
292
- <ThemeProvider theme={exampleTheme} colorMode="day" nightScheme={nightScheme}>
293
- <button onClick={() => setNightScheme(nightScheme === 'dark' ? 'dark_dimmed' : 'dark')}>Toggle</button>
294
- <ThemeProvider colorMode="night">
295
- <Text color="text">{nightScheme}</Text>
296
- </ThemeProvider>
297
- </ThemeProvider>
298
- )
299
- }
300
-
301
- render(<App />)
302
-
303
- expect(screen.getByText('dark')).toHaveStyleRule('color', 'white')
304
-
305
- screen.getByRole('button').click()
306
-
307
- await waitFor(() => expect(screen.getByText('dark_dimmed')).toHaveStyleRule('color', 'gray'))
308
- })
309
-
310
- describe('setColorMode', () => {
311
- it('changes the color mode', () => {
312
- function ToggleMode() {
313
- const {colorMode, setColorMode} = useTheme()
314
- return <button onClick={() => setColorMode(colorMode === 'day' ? 'night' : 'day')}>Toggle</button>
315
- }
316
-
317
- render(
318
- <ThemeProvider theme={exampleTheme} colorMode="day">
319
- <Text color="text">Hello</Text>
320
- <ToggleMode />
321
- </ThemeProvider>
322
- )
323
-
324
- // starts in day mode (light scheme)
325
- expect(screen.getByText('Hello')).toHaveStyleRule('color', 'black')
326
-
327
- screen.getByRole('button').click()
328
-
329
- // clicking the toggle button enables night mode (dark scheme)
330
- expect(screen.getByText('Hello')).toHaveStyleRule('color', 'white')
331
- })
332
- })
333
-
334
- describe('setDayScheme', () => {
335
- it('changes the day scheme', () => {
336
- function ToggleDayScheme() {
337
- const {dayScheme, setDayScheme} = useTheme()
338
- return <button onClick={() => setDayScheme(dayScheme === 'light' ? 'dark' : 'light')}>Toggle</button>
339
- }
340
-
341
- render(
342
- <ThemeProvider theme={exampleTheme} colorMode="day">
343
- <Text color="text">Hello</Text>
344
- <ToggleDayScheme />
345
- </ThemeProvider>
346
- )
347
-
348
- // starts in day mode (light scheme)
349
- expect(screen.getByText('Hello')).toHaveStyleRule('color', 'black')
350
-
351
- screen.getByRole('button').click()
352
-
353
- // clicking the toggle button sets day scheme to dark
354
- expect(screen.getByText('Hello')).toHaveStyleRule('color', 'white')
355
- })
356
- })
357
-
358
- describe('setNightScheme', () => {
359
- it('changes the night scheme', () => {
360
- function ToggleNightScheme() {
361
- const {nightScheme, setNightScheme} = useTheme()
362
- return <button onClick={() => setNightScheme(nightScheme === 'dark' ? 'dark_dimmed' : 'dark')}>Toggle</button>
363
- }
364
-
365
- render(
366
- <ThemeProvider theme={exampleTheme} colorMode="night">
367
- <Text color="text">Hello</Text>
368
- <ToggleNightScheme />
369
- </ThemeProvider>
370
- )
371
-
372
- // starts in night mode (dark scheme)
373
- expect(screen.getByText('Hello')).toHaveStyleRule('color', 'white')
374
-
375
- screen.getByRole('button').click()
376
-
377
- // clicking the toggle button sets night scheme to dark_dimmed
378
- expect(screen.getByText('Hello')).toHaveStyleRule('color', 'gray')
379
- })
380
- })
381
-
382
- describe('useColorSchemeVar', () => {
383
- it('updates value when scheme changes', () => {
384
- function ToggleMode() {
385
- const {colorMode, setColorMode} = useTheme()
386
- return <button onClick={() => setColorMode(colorMode === 'day' ? 'night' : 'day')}>Toggle</button>
387
- }
388
-
389
- function CustomBg() {
390
- const customBg = useColorSchemeVar(
391
- {
392
- light: 'red',
393
- dark: 'blue',
394
- dark_dimmed: 'green'
395
- },
396
- 'inherit'
397
- )
398
-
399
- return <Text bg={customBg}>Hello</Text>
400
- }
401
-
402
- render(
403
- <ThemeProvider theme={exampleTheme} nightScheme="dark_dimmed">
404
- <CustomBg />
405
- <ToggleMode />
406
- </ThemeProvider>
407
- )
408
-
409
- expect(screen.getByText('Hello')).toHaveStyleRule('background-color', 'red')
410
-
411
- screen.getByRole('button').click()
412
-
413
- expect(screen.getByText('Hello')).toHaveStyleRule('background-color', 'green')
414
- })
415
-
416
- it('supports fallback value', () => {
417
- function ToggleMode() {
418
- const {colorMode, setColorMode} = useTheme()
419
- return <button onClick={() => setColorMode(colorMode === 'day' ? 'night' : 'day')}>Toggle</button>
420
- }
421
-
422
- function CustomBg() {
423
- const customBg = useColorSchemeVar({dark: 'blue'}, 'red')
424
-
425
- return <Text bg={customBg}>Hello</Text>
426
- }
427
-
428
- render(
429
- <ThemeProvider theme={exampleTheme}>
430
- <CustomBg />
431
- <ToggleMode />
432
- </ThemeProvider>
433
- )
434
-
435
- expect(screen.getByText('Hello')).toHaveStyleRule('background-color', 'red')
436
-
437
- screen.getByRole('button').click()
438
-
439
- expect(screen.getByText('Hello')).toHaveStyleRule('background-color', 'blue')
440
- })
441
- })