@primer/components 0.0.0-202111023322 → 0.0.0-2021111104725

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 (947) hide show
  1. package/CHANGELOG.md +943 -38
  2. package/README.md +16 -16
  3. package/codemods/__tests__/deprecateUtilityComponents.js +200 -0
  4. package/codemods/__tests__/removeSystemProps.js +225 -0
  5. package/codemods/deprecateUtilityComponents.js +111 -0
  6. package/codemods/lib/modifyProps.js +9 -7
  7. package/codemods/lib/prettify.js +1 -1
  8. package/codemods/lib/replaceImportSource.js +5 -5
  9. package/codemods/removeSystemProps.js +312 -0
  10. package/dist/browser.esm.js +1267 -853
  11. package/dist/browser.esm.js.map +1 -1
  12. package/dist/browser.umd.js +1304 -890
  13. package/dist/browser.umd.js.map +1 -1
  14. package/lib/ActionList/Divider.js +40 -0
  15. package/lib/ActionList/Group.js +35 -0
  16. package/lib/ActionList/Header.js +51 -0
  17. package/lib/ActionList/Item.js +276 -0
  18. package/lib/ActionList/List.js +199 -0
  19. package/lib/ActionList/index.js +29 -0
  20. package/lib/ActionList2/Description.js +57 -0
  21. package/lib/ActionList2/Divider.js +35 -0
  22. package/lib/ActionList2/Group.js +106 -0
  23. package/lib/ActionList2/Item.js +244 -0
  24. package/lib/ActionList2/LinkItem.js +57 -0
  25. package/lib/ActionList2/List.js +58 -0
  26. package/lib/ActionList2/Selection.js +86 -0
  27. package/lib/ActionList2/Visuals.js +90 -0
  28. package/lib/ActionList2/index.js +47 -0
  29. package/lib/ActionMenu.js +103 -0
  30. package/lib/AnchoredOverlay/AnchoredOverlay.js +124 -0
  31. package/lib/AnchoredOverlay/index.js +13 -0
  32. package/lib/Autocomplete/Autocomplete.js +145 -0
  33. package/lib/Autocomplete/AutocompleteContext.js +11 -0
  34. package/lib/Autocomplete/AutocompleteInput.js +157 -0
  35. package/lib/Autocomplete/AutocompleteMenu.js +224 -0
  36. package/lib/Autocomplete/AutocompleteOverlay.js +80 -0
  37. package/lib/Autocomplete/index.js +15 -0
  38. package/lib/Avatar.js +1 -12
  39. package/lib/AvatarPair.js +9 -16
  40. package/lib/AvatarStack.js +12 -23
  41. package/lib/BaseStyles.js +25 -31
  42. package/lib/BorderBox.js +5 -16
  43. package/lib/Box.js +2 -15
  44. package/lib/BranchName.js +1 -14
  45. package/lib/Breadcrumbs.js +82 -0
  46. package/lib/Button/Button.js +3 -15
  47. package/lib/Button/ButtonBase.js +2 -25
  48. package/lib/Button/ButtonClose.js +9 -26
  49. package/lib/Button/ButtonDanger.js +2 -14
  50. package/lib/Button/ButtonGroup.js +2 -8
  51. package/lib/Button/ButtonInvisible.js +3 -15
  52. package/lib/Button/ButtonOutline.js +2 -14
  53. package/lib/Button/ButtonPrimary.js +2 -14
  54. package/lib/Button/ButtonTableList.js +1 -15
  55. package/lib/Button/index.js +9 -59
  56. package/lib/Caret.js +14 -17
  57. package/lib/Checkbox.js +64 -0
  58. package/lib/CircleBadge.js +2 -20
  59. package/lib/CircleOcticon.js +9 -18
  60. package/lib/CounterLabel.js +3 -17
  61. package/lib/Details.js +2 -12
  62. package/lib/Dialog/ConfirmationDialog.js +191 -0
  63. package/lib/Dialog/Dialog.js +311 -0
  64. package/lib/Dialog.js +34 -49
  65. package/lib/Dropdown.js +45 -60
  66. package/lib/DropdownMenu/DropdownButton.js +33 -0
  67. package/lib/DropdownMenu/DropdownMenu.js +94 -0
  68. package/lib/DropdownMenu/index.js +21 -0
  69. package/lib/DropdownStyles.js +6 -6
  70. package/lib/FilterList.js +2 -30
  71. package/lib/FilteredActionList/FilteredActionList.js +137 -0
  72. package/lib/FilteredActionList/index.js +13 -0
  73. package/lib/FilteredSearch.js +1 -12
  74. package/lib/Flash.js +35 -14
  75. package/lib/Flex.js +3 -5
  76. package/lib/FormGroup.js +2 -22
  77. package/lib/Grid.js +4 -9
  78. package/lib/Header.js +7 -37
  79. package/lib/Heading.js +1 -13
  80. package/lib/Label.js +5 -19
  81. package/lib/LabelGroup.js +1 -9
  82. package/lib/Link.js +2 -30
  83. package/lib/NewButton/button-counter.js +31 -0
  84. package/lib/NewButton/button.js +308 -0
  85. package/lib/NewButton/index.js +15 -0
  86. package/lib/{utils → NewButton}/types.js +0 -0
  87. package/lib/Overlay.js +184 -0
  88. package/lib/Pagehead.js +1 -13
  89. package/lib/Pagination/Pagination.js +14 -29
  90. package/lib/Pagination/model.js +1 -1
  91. package/lib/PointerBox.js +4 -13
  92. package/lib/Popover.js +15 -38
  93. package/lib/Portal/Portal.js +101 -0
  94. package/lib/Portal/index.js +17 -0
  95. package/lib/Position.js +46 -46
  96. package/lib/ProgressBar.js +8 -27
  97. package/lib/SelectMenu/SelectMenu.js +32 -44
  98. package/lib/SelectMenu/SelectMenuContext.js +1 -1
  99. package/lib/SelectMenu/SelectMenuDivider.js +6 -14
  100. package/lib/SelectMenu/SelectMenuFilter.js +13 -21
  101. package/lib/SelectMenu/SelectMenuFooter.js +6 -14
  102. package/lib/SelectMenu/SelectMenuHeader.js +4 -17
  103. package/lib/SelectMenu/SelectMenuItem.js +13 -21
  104. package/lib/SelectMenu/SelectMenuList.js +6 -14
  105. package/lib/SelectMenu/SelectMenuLoadingAnimation.js +6 -17
  106. package/lib/SelectMenu/SelectMenuModal.js +11 -23
  107. package/lib/SelectMenu/SelectMenuTab.js +16 -26
  108. package/lib/SelectMenu/SelectMenuTabPanel.js +14 -25
  109. package/lib/SelectMenu/SelectMenuTabs.js +10 -17
  110. package/lib/SelectMenu/hooks/useKeyboardNav.js +2 -0
  111. package/lib/SelectMenu/index.js +7 -5
  112. package/lib/SelectPanel/SelectPanel.js +147 -0
  113. package/lib/SelectPanel/index.js +13 -0
  114. package/lib/SideNav.js +35 -51
  115. package/lib/Spinner.js +58 -0
  116. package/lib/StateLabel.js +53 -23
  117. package/lib/StyledOcticon.js +1 -15
  118. package/lib/SubNav.js +27 -49
  119. package/lib/TabNav.js +15 -37
  120. package/lib/Text.js +0 -12
  121. package/lib/TextInput.js +25 -76
  122. package/lib/TextInputWithTokens.js +318 -0
  123. package/lib/ThemeProvider.js +193 -0
  124. package/lib/Timeline.js +34 -87
  125. package/lib/Token/AvatarToken.js +64 -0
  126. package/lib/Token/IssueLabelToken.js +144 -0
  127. package/lib/Token/Token.js +105 -0
  128. package/lib/Token/TokenBase.js +104 -0
  129. package/lib/Token/_RemoveTokenButton.js +90 -0
  130. package/lib/Token/_TokenTextContainer.js +17 -0
  131. package/lib/Token/index.js +31 -0
  132. package/lib/Tooltip.js +4 -21
  133. package/lib/Truncate.js +2 -18
  134. package/lib/UnderlineNav.js +3 -29
  135. package/lib/_TextInputWrapper.js +51 -0
  136. package/lib/_UnstyledTextInput.js +20 -0
  137. package/lib/behaviors/anchoredPosition.js +316 -0
  138. package/lib/behaviors/focusTrap.js +179 -0
  139. package/lib/behaviors/focusZone.js +578 -0
  140. package/lib/behaviors/scrollIntoViewingArea.js +39 -0
  141. package/lib/constants.js +11 -27
  142. package/lib/drafts.js +31 -0
  143. package/lib/hooks/index.js +61 -0
  144. package/lib/hooks/useAnchoredPosition.js +51 -0
  145. package/lib/hooks/useCombinedRefs.js +47 -0
  146. package/lib/hooks/useDetails.js +10 -3
  147. package/lib/hooks/useDialog.js +21 -6
  148. package/lib/hooks/useFocusTrap.js +69 -0
  149. package/lib/hooks/useFocusZone.js +53 -0
  150. package/lib/hooks/useOnEscapePress.js +69 -0
  151. package/lib/hooks/useOnOutsideClick.js +90 -0
  152. package/lib/hooks/useOpenAndCloseFocus.js +36 -0
  153. package/lib/hooks/useOverlay.js +43 -0
  154. package/lib/hooks/useProvidedRefOrCreate.js +24 -0
  155. package/lib/hooks/useProvidedStateOrCreate.js +27 -0
  156. package/lib/hooks/useRenderForcingRef.js +25 -0
  157. package/lib/hooks/useResizeObserver.js +20 -0
  158. package/lib/hooks/useSafeTimeout.js +38 -0
  159. package/lib/hooks/useScrollFlash.js +29 -0
  160. package/lib/index.js +191 -7
  161. package/lib/polyfills/eventListenerSignal.js +64 -0
  162. package/lib/script/component-status-project/build.d.ts +1 -0
  163. package/lib/src/ActionList/Divider.d.ts +9 -0
  164. package/lib/src/ActionList/Group.d.ts +28 -0
  165. package/lib/src/ActionList/Header.d.ts +29 -0
  166. package/lib/src/ActionList/Item.d.ts +98 -0
  167. package/lib/src/ActionList/List.d.ts +88 -0
  168. package/lib/src/ActionList/index.d.ts +17 -0
  169. package/lib/src/ActionList2/Description.d.ts +12 -0
  170. package/lib/src/ActionList2/Divider.d.ts +5 -0
  171. package/lib/src/ActionList2/Group.d.ts +37 -0
  172. package/lib/src/ActionList2/Item.d.ts +63 -0
  173. package/lib/src/ActionList2/LinkItem.d.ts +17 -0
  174. package/lib/src/ActionList2/List.d.ts +26 -0
  175. package/lib/src/ActionList2/Selection.d.ts +5 -0
  176. package/lib/src/ActionList2/Visuals.d.ts +9 -0
  177. package/lib/src/ActionList2/index.d.ts +36 -0
  178. package/lib/src/ActionMenu.d.ts +40 -0
  179. package/lib/src/AnchoredOverlay/AnchoredOverlay.d.ts +62 -0
  180. package/lib/src/AnchoredOverlay/index.d.ts +2 -0
  181. package/lib/src/Autocomplete/Autocomplete.d.ts +305 -0
  182. package/lib/src/Autocomplete/AutocompleteContext.d.ts +17 -0
  183. package/lib/src/Autocomplete/AutocompleteInput.d.ts +293 -0
  184. package/lib/src/Autocomplete/AutocompleteMenu.d.ts +72 -0
  185. package/lib/src/Autocomplete/AutocompleteOverlay.d.ts +20 -0
  186. package/lib/src/Autocomplete/index.d.ts +2 -0
  187. package/lib/src/Avatar.d.ts +14 -0
  188. package/lib/src/AvatarPair.d.ts +8 -0
  189. package/lib/src/AvatarStack.d.ts +8 -0
  190. package/lib/src/BaseStyles.d.ts +14 -0
  191. package/lib/src/BorderBox.d.ts +7 -0
  192. package/lib/src/Box.d.ts +6 -0
  193. package/lib/src/BranchName.d.ts +5 -0
  194. package/lib/src/Breadcrumbs.d.ts +41 -0
  195. package/lib/src/Button/Button.d.ts +284 -0
  196. package/lib/src/Button/ButtonBase.d.ts +9 -0
  197. package/lib/src/Button/ButtonClose.d.ts +279 -0
  198. package/lib/src/Button/ButtonDanger.d.ts +284 -0
  199. package/lib/src/Button/ButtonGroup.d.ts +4 -0
  200. package/lib/src/Button/ButtonInvisible.d.ts +284 -0
  201. package/lib/src/Button/ButtonOutline.d.ts +284 -0
  202. package/lib/src/Button/ButtonPrimary.d.ts +284 -0
  203. package/lib/src/Button/ButtonStyles.d.ts +2 -0
  204. package/lib/src/Button/ButtonTableList.d.ts +5 -0
  205. package/lib/src/Button/index.d.ts +16 -0
  206. package/lib/src/Caret.d.ts +21 -0
  207. package/lib/src/Checkbox.d.ts +29 -0
  208. package/lib/src/CircleBadge.d.ts +24 -0
  209. package/lib/src/CircleOcticon.d.ts +392 -0
  210. package/lib/src/CounterLabel.d.ts +7 -0
  211. package/lib/src/Details.d.ts +5 -0
  212. package/lib/src/Dialog/ConfirmationDialog.d.ts +44 -0
  213. package/lib/src/Dialog/Dialog.d.ts +163 -0
  214. package/lib/src/Dialog.d.ts +406 -0
  215. package/lib/src/Dropdown.d.ts +1113 -0
  216. package/lib/src/DropdownMenu/DropdownButton.d.ts +280 -0
  217. package/lib/src/DropdownMenu/DropdownMenu.d.ts +43 -0
  218. package/lib/src/DropdownMenu/index.d.ts +4 -0
  219. package/lib/src/DropdownStyles.d.ts +3 -0
  220. package/lib/src/FilterList.d.ts +283 -0
  221. package/lib/src/FilteredActionList/FilteredActionList.d.ts +16 -0
  222. package/lib/src/FilteredActionList/index.d.ts +2 -0
  223. package/lib/src/FilteredSearch.d.ts +5 -0
  224. package/lib/src/Flash.d.ts +8 -0
  225. package/lib/src/Flex.d.ts +7 -0
  226. package/lib/src/FormGroup.d.ts +11 -0
  227. package/lib/src/Grid.d.ts +7 -0
  228. package/lib/src/Header.d.ts +23 -0
  229. package/lib/src/Heading.d.ts +5 -0
  230. package/lib/src/Label.d.ts +10 -0
  231. package/lib/src/LabelGroup.d.ts +5 -0
  232. package/lib/src/Link.d.ts +9 -0
  233. package/lib/src/NewButton/button-counter.d.ts +6 -0
  234. package/lib/src/NewButton/button.d.ts +13 -0
  235. package/lib/src/NewButton/index.d.ts +14 -0
  236. package/lib/src/NewButton/types.d.ts +32 -0
  237. package/lib/src/Overlay.d.ts +66 -0
  238. package/lib/src/Pagehead.d.ts +5 -0
  239. package/lib/src/Pagination/Pagination.d.ts +24 -0
  240. package/lib/src/Pagination/index.d.ts +3 -0
  241. package/lib/src/Pagination/model.d.ts +26 -0
  242. package/lib/src/PointerBox.d.ts +11 -0
  243. package/lib/src/Popover.d.ts +20 -0
  244. package/lib/src/Portal/Portal.d.ts +25 -0
  245. package/lib/src/Portal/index.d.ts +4 -0
  246. package/lib/src/Position.d.ts +34 -0
  247. package/lib/src/ProgressBar.d.ts +26 -0
  248. package/lib/src/SelectMenu/SelectMenu.d.ts +1670 -0
  249. package/lib/src/SelectMenu/SelectMenuContext.d.ts +8 -0
  250. package/lib/src/SelectMenu/SelectMenuDivider.d.ts +5 -0
  251. package/lib/src/SelectMenu/SelectMenuFilter.d.ts +9 -0
  252. package/lib/src/SelectMenu/SelectMenuFooter.d.ts +5 -0
  253. package/lib/src/SelectMenu/SelectMenuHeader.d.ts +10 -0
  254. package/lib/src/SelectMenu/SelectMenuItem.d.ts +14 -0
  255. package/lib/src/SelectMenu/SelectMenuList.d.ts +5 -0
  256. package/lib/src/SelectMenu/SelectMenuLoadingAnimation.d.ts +7 -0
  257. package/lib/src/SelectMenu/SelectMenuModal.d.ts +14 -0
  258. package/lib/src/SelectMenu/SelectMenuTab.d.ts +13 -0
  259. package/lib/src/SelectMenu/SelectMenuTabPanel.d.ts +12 -0
  260. package/lib/src/SelectMenu/SelectMenuTabs.d.ts +10 -0
  261. package/lib/src/SelectMenu/hooks/useKeyboardNav.d.ts +2 -0
  262. package/lib/src/SelectMenu/index.d.ts +2 -0
  263. package/lib/src/SelectPanel/SelectPanel.d.ts +25 -0
  264. package/lib/src/SelectPanel/index.d.ts +2 -0
  265. package/lib/src/SideNav.d.ts +34 -0
  266. package/lib/src/Spinner.d.ts +16 -0
  267. package/lib/src/StateLabel.d.ts +15 -0
  268. package/lib/src/StyledOcticon.d.ts +11 -0
  269. package/lib/src/SubNav.d.ts +26 -0
  270. package/lib/src/TabNav.d.ts +19 -0
  271. package/lib/src/Text.d.ts +6 -0
  272. package/lib/src/TextInput.d.ts +14 -0
  273. package/lib/src/TextInputWithTokens.d.ts +328 -0
  274. package/lib/src/ThemeProvider.d.ts +26 -0
  275. package/lib/src/Timeline.d.ts +33 -0
  276. package/lib/src/Token/AvatarToken.d.ts +7 -0
  277. package/lib/src/Token/IssueLabelToken.d.ts +14 -0
  278. package/lib/src/Token/Token.d.ts +15 -0
  279. package/lib/src/Token/TokenBase.d.ts +31 -0
  280. package/lib/src/Token/_RemoveTokenButton.d.ts +12 -0
  281. package/lib/src/Token/_TokenTextContainer.d.ts +3 -0
  282. package/lib/src/Token/index.d.ts +3 -0
  283. package/lib/src/Tooltip.d.ts +17 -0
  284. package/lib/src/Truncate.d.ts +10 -0
  285. package/lib/src/UnderlineNav.d.ts +24 -0
  286. package/lib/src/_TextInputWrapper.d.ts +10 -0
  287. package/lib/src/_UnstyledTextInput.d.ts +2 -0
  288. package/lib/src/__tests__/ActionList.test.d.ts +1 -0
  289. package/lib/src/__tests__/ActionList.types.test.d.ts +6 -0
  290. package/lib/src/__tests__/ActionList2.test.d.ts +2 -0
  291. package/lib/src/__tests__/ActionMenu.test.d.ts +1 -0
  292. package/lib/src/__tests__/AnchoredOverlay.test.d.ts +1 -0
  293. package/lib/src/__tests__/Autocomplete.test.d.ts +1 -0
  294. package/lib/src/__tests__/Avatar.test.d.ts +1 -0
  295. package/lib/src/__tests__/Avatar.types.test.d.ts +3 -0
  296. package/lib/src/__tests__/AvatarStack.test.d.ts +1 -0
  297. package/lib/src/__tests__/BorderBox.test.d.ts +1 -0
  298. package/lib/src/__tests__/Box.test.d.ts +1 -0
  299. package/lib/src/__tests__/BranchName.test.d.ts +1 -0
  300. package/lib/src/__tests__/BranchName.types.test.d.ts +3 -0
  301. package/lib/src/__tests__/Breadcrumbs.test.d.ts +1 -0
  302. package/lib/src/__tests__/Breadcrumbs.types.test.d.ts +3 -0
  303. package/lib/src/__tests__/BreadcrumbsItem.test.d.ts +1 -0
  304. package/lib/src/__tests__/Button.test.d.ts +1 -0
  305. package/lib/src/__tests__/Caret.test.d.ts +1 -0
  306. package/lib/src/__tests__/Checkbox.test.d.ts +2 -0
  307. package/lib/src/__tests__/CircleBadge.test.d.ts +1 -0
  308. package/lib/src/__tests__/CircleBadge.types.test.d.ts +3 -0
  309. package/lib/src/__tests__/CircleOcticon.test.d.ts +1 -0
  310. package/lib/src/__tests__/ConfirmationDialog.test.d.ts +1 -0
  311. package/lib/src/__tests__/CounterLabel.test.d.ts +1 -0
  312. package/lib/src/__tests__/CounterLabel.types.test.d.ts +3 -0
  313. package/lib/src/__tests__/Details.test.d.ts +1 -0
  314. package/lib/src/__tests__/Details.types.test.d.ts +3 -0
  315. package/lib/src/__tests__/Dialog.test.d.ts +1 -0
  316. package/lib/src/__tests__/Dialog.types.test.d.ts +3 -0
  317. package/lib/src/__tests__/Dialog2.types.test.d.ts +3 -0
  318. package/lib/src/__tests__/Dropdown.test.d.ts +1 -0
  319. package/lib/src/__tests__/Dropdown.types.test.d.ts +3 -0
  320. package/lib/src/__tests__/DropdownMenu.test.d.ts +1 -0
  321. package/lib/src/__tests__/FilterList.test.d.ts +1 -0
  322. package/lib/src/__tests__/FilterList.types.test.d.ts +3 -0
  323. package/lib/src/__tests__/FilterListItem.test.d.ts +1 -0
  324. package/lib/src/__tests__/FilteredSearch.test.d.ts +1 -0
  325. package/lib/src/__tests__/FilteredSearch.types.test.d.ts +3 -0
  326. package/lib/src/__tests__/Flash.test.d.ts +1 -0
  327. package/lib/src/__tests__/Flash.types.test.d.ts +3 -0
  328. package/lib/src/__tests__/Flex.test.d.ts +1 -0
  329. package/lib/src/__tests__/FormGroup.test.d.ts +1 -0
  330. package/lib/src/__tests__/FormGroup.types.test.d.ts +3 -0
  331. package/lib/src/__tests__/Grid.test.d.ts +1 -0
  332. package/lib/src/__tests__/Header.test.d.ts +1 -0
  333. package/lib/src/__tests__/Header.types.test.d.ts +3 -0
  334. package/lib/src/__tests__/Heading.test.d.ts +1 -0
  335. package/lib/src/__tests__/Heading.types.test.d.ts +3 -0
  336. package/lib/src/__tests__/KeyPaths.types.test.d.ts +11 -0
  337. package/lib/src/__tests__/Label.test.d.ts +1 -0
  338. package/lib/src/__tests__/Label.types.test.d.ts +3 -0
  339. package/lib/src/__tests__/LabelGroup.test.d.ts +1 -0
  340. package/lib/src/__tests__/LabelGroup.types.test.d.ts +3 -0
  341. package/lib/src/__tests__/Link.test.d.ts +1 -0
  342. package/lib/src/__tests__/Link.types.test.d.ts +3 -0
  343. package/lib/src/__tests__/Merge.types.test.d.ts +30 -0
  344. package/lib/src/__tests__/NewButton.test.d.ts +1 -0
  345. package/lib/src/__tests__/Overlay.test.d.ts +1 -0
  346. package/lib/src/__tests__/Overlay.types.test.d.ts +6 -0
  347. package/lib/src/__tests__/Pagehead.test.d.ts +1 -0
  348. package/lib/src/__tests__/Pagehead.types.test.d.ts +3 -0
  349. package/lib/src/__tests__/Pagination/Pagination.test.d.ts +1 -0
  350. package/lib/src/__tests__/Pagination/PaginationModel.test.d.ts +1 -0
  351. package/lib/src/__tests__/Pagination.types.test.d.ts +3 -0
  352. package/lib/src/__tests__/PointerBox.test.d.ts +1 -0
  353. package/lib/src/__tests__/Popover.test.d.ts +1 -0
  354. package/lib/src/__tests__/Popover.types.test.d.ts +3 -0
  355. package/lib/src/__tests__/Portal.test.d.ts +1 -0
  356. package/lib/src/__tests__/Position.test.d.ts +1 -0
  357. package/lib/src/__tests__/ProgressBar.test.d.ts +1 -0
  358. package/lib/src/__tests__/SelectMenu.test.d.ts +1 -0
  359. package/lib/src/__tests__/SelectMenu.types.test.d.ts +3 -0
  360. package/lib/src/__tests__/SelectPanel.test.d.ts +1 -0
  361. package/lib/src/__tests__/SelectPanel.types.test.d.ts +3 -0
  362. package/lib/src/__tests__/SideNav.test.d.ts +1 -0
  363. package/lib/src/__tests__/SideNav.types.test.d.ts +3 -0
  364. package/lib/src/__tests__/Spinner.test.d.ts +1 -0
  365. package/lib/src/__tests__/StateLabel.test.d.ts +1 -0
  366. package/lib/src/__tests__/StateLabel.types.test.d.ts +3 -0
  367. package/lib/src/__tests__/StyledOcticon.test.d.ts +1 -0
  368. package/lib/src/__tests__/StyledOcticon.types.test.d.ts +3 -0
  369. package/lib/src/__tests__/SubNav.test.d.ts +1 -0
  370. package/lib/src/__tests__/SubNav.types.test.d.ts +3 -0
  371. package/lib/src/__tests__/SubNavLink.test.d.ts +1 -0
  372. package/lib/src/__tests__/TabNav.test.d.ts +1 -0
  373. package/lib/src/__tests__/TabNav.types.test.d.ts +3 -0
  374. package/lib/src/__tests__/Text.test.d.ts +1 -0
  375. package/lib/src/__tests__/TextInput.test.d.ts +1 -0
  376. package/lib/src/__tests__/TextInputWithTokens.test.d.ts +1 -0
  377. package/lib/src/__tests__/ThemeProvider.test.d.ts +1 -0
  378. package/lib/src/__tests__/Timeline.test.d.ts +1 -0
  379. package/lib/src/__tests__/Timeline.types.test.d.ts +3 -0
  380. package/lib/src/__tests__/Token.test.d.ts +1 -0
  381. package/lib/src/__tests__/Tooltip.test.d.ts +1 -0
  382. package/lib/src/__tests__/Tooltip.types.test.d.ts +3 -0
  383. package/lib/src/__tests__/Truncate.test.d.ts +1 -0
  384. package/lib/src/__tests__/Truncate.types.test.d.ts +3 -0
  385. package/lib/src/__tests__/UnderlineNav.test.d.ts +1 -0
  386. package/lib/src/__tests__/UnderlineNav.types.test.d.ts +3 -0
  387. package/lib/src/__tests__/UnderlineNavLink.test.d.ts +1 -0
  388. package/lib/src/__tests__/behaviors/anchoredPosition.test.d.ts +1 -0
  389. package/lib/src/__tests__/behaviors/focusTrap.test.d.ts +1 -0
  390. package/lib/src/__tests__/behaviors/focusZone.test.d.ts +1 -0
  391. package/lib/src/__tests__/behaviors/iterateFocusableElements.test.d.ts +1 -0
  392. package/lib/src/__tests__/behaviors/scrollIntoViewingArea.test.d.ts +1 -0
  393. package/lib/src/__tests__/filterObject.test.d.ts +1 -0
  394. package/lib/src/__tests__/hooks/useAnchoredPosition.test.d.ts +1 -0
  395. package/lib/src/__tests__/hooks/useOnEscapePress.test.d.ts +1 -0
  396. package/lib/src/__tests__/hooks/useOnOutsideClick.test.d.ts +1 -0
  397. package/lib/src/__tests__/hooks/useOpenAndCloseFocus.test.d.ts +1 -0
  398. package/lib/src/__tests__/hooks/useProvidedStateOrCreate.test.d.ts +1 -0
  399. package/lib/src/__tests__/theme.test.d.ts +1 -0
  400. package/lib/src/__tests__/themeGet.test.d.ts +1 -0
  401. package/lib/src/__tests__/themePreval.test.d.ts +1 -0
  402. package/lib/src/__tests__/useSafeTimeout.test.d.ts +1 -0
  403. package/lib/src/__tests__/utils/createSlots.test.d.ts +1 -0
  404. package/lib/src/behaviors/anchoredPosition.d.ts +89 -0
  405. package/lib/src/behaviors/focusTrap.d.ts +12 -0
  406. package/lib/src/behaviors/focusZone.d.ts +137 -0
  407. package/lib/src/behaviors/scrollIntoViewingArea.d.ts +1 -0
  408. package/lib/src/constants.d.ts +20 -0
  409. package/lib/src/drafts.d.ts +8 -0
  410. package/lib/src/hooks/index.d.ts +11 -0
  411. package/lib/src/hooks/useAnchoredPosition.d.ts +20 -0
  412. package/lib/src/hooks/useCombinedRefs.d.ts +10 -0
  413. package/lib/src/hooks/useDetails.d.ts +17 -0
  414. package/lib/src/hooks/useDialog.d.ts +16 -0
  415. package/lib/src/hooks/useFocusTrap.d.ts +32 -0
  416. package/lib/src/hooks/useFocusZone.d.ts +23 -0
  417. package/lib/src/hooks/useOnEscapePress.d.ts +23 -0
  418. package/lib/src/hooks/useOnOutsideClick.d.ts +8 -0
  419. package/lib/src/hooks/useOpenAndCloseFocus.d.ts +8 -0
  420. package/lib/src/hooks/useOverlay.d.ts +15 -0
  421. package/lib/src/hooks/useProvidedRefOrCreate.d.ts +10 -0
  422. package/lib/src/hooks/useProvidedStateOrCreate.d.ts +10 -0
  423. package/lib/src/hooks/useRenderForcingRef.d.ts +8 -0
  424. package/lib/src/hooks/useResizeObserver.d.ts +1 -0
  425. package/lib/src/hooks/useSafeTimeout.d.ts +12 -0
  426. package/lib/src/hooks/useScrollFlash.d.ts +6 -0
  427. package/lib/src/index.d.ts +120 -0
  428. package/lib/src/polyfills/eventListenerSignal.d.ts +6 -0
  429. package/lib/src/sx.d.ts +14 -0
  430. package/lib/src/theme-preval.d.ts +49 -0
  431. package/lib/src/theme.d.ts +80 -0
  432. package/lib/src/utils/create-slots.d.ts +17 -0
  433. package/lib/src/utils/deprecate.d.ts +18 -0
  434. package/lib/src/utils/isNumeric.d.ts +1 -0
  435. package/lib/src/utils/iterateFocusableElements.d.ts +42 -0
  436. package/lib/src/utils/ssr.d.ts +1 -0
  437. package/lib/src/utils/test-deprecations.d.ts +1 -0
  438. package/lib/src/utils/test-helpers.d.ts +0 -0
  439. package/lib/src/utils/test-matchers.d.ts +1 -0
  440. package/lib/src/utils/testing.d.ts +545 -0
  441. package/lib/src/utils/theme.d.ts +9 -0
  442. package/lib/src/utils/types/AriaRole.d.ts +1 -0
  443. package/lib/src/utils/types/ComponentProps.d.ts +9 -0
  444. package/lib/src/utils/types/Flatten.d.ts +4 -0
  445. package/lib/src/utils/types/KeyPaths.d.ts +3 -0
  446. package/lib/src/utils/types/MandateProps.d.ts +3 -0
  447. package/lib/src/utils/types/Merge.d.ts +19 -0
  448. package/lib/src/utils/types/index.d.ts +5 -0
  449. package/lib/src/utils/uniqueId.d.ts +1 -0
  450. package/lib/src/utils/use-force-update.d.ts +1 -0
  451. package/lib/src/utils/useIsomorphicLayoutEffect.d.ts +3 -0
  452. package/lib/src/utils/userAgent.d.ts +1 -0
  453. package/lib/sx.js +8 -5
  454. package/lib/theme-preval.js +3119 -357
  455. package/lib/theme.js +5 -8
  456. package/lib/utils/create-slots.js +105 -0
  457. package/lib/utils/deprecate.js +6 -5
  458. package/lib/utils/isNumeric.js +1 -0
  459. package/lib/utils/iterateFocusableElements.js +113 -0
  460. package/lib/utils/ssr.js +19 -0
  461. package/lib/utils/test-deprecations.js +2 -1
  462. package/lib/utils/test-helpers.js +9 -0
  463. package/lib/utils/test-matchers.js +6 -50
  464. package/lib/utils/testing.js +65 -49
  465. package/lib/utils/theme.js +68 -0
  466. package/lib/utils/types/AriaRole.js +1 -0
  467. package/lib/utils/types/ComponentProps.js +1 -0
  468. package/lib/utils/types/Flatten.js +1 -0
  469. package/lib/utils/types/KeyPaths.js +1 -0
  470. package/lib/utils/types/MandateProps.js +1 -0
  471. package/lib/utils/types/Merge.js +1 -0
  472. package/lib/utils/types/index.js +70 -0
  473. package/lib/utils/uniqueId.js +12 -0
  474. package/lib/utils/use-force-update.js +19 -0
  475. package/lib/utils/useIsomorphicLayoutEffect.js +12 -0
  476. package/lib/utils/userAgent.js +15 -0
  477. package/lib-esm/ActionList/Divider.js +23 -0
  478. package/lib-esm/ActionList/Group.js +24 -0
  479. package/lib-esm/ActionList/Header.js +33 -0
  480. package/lib-esm/ActionList/Item.js +241 -0
  481. package/lib-esm/ActionList/List.js +181 -0
  482. package/lib-esm/ActionList/index.js +18 -0
  483. package/lib-esm/ActionList2/Description.js +41 -0
  484. package/lib-esm/ActionList2/Divider.js +23 -0
  485. package/lib-esm/ActionList2/Group.js +87 -0
  486. package/lib-esm/ActionList2/Item.js +210 -0
  487. package/lib-esm/ActionList2/LinkItem.js +43 -0
  488. package/lib-esm/ActionList2/List.js +36 -0
  489. package/lib-esm/ActionList2/Selection.js +68 -0
  490. package/lib-esm/ActionList2/Visuals.js +68 -0
  491. package/lib-esm/ActionList2/index.js +33 -0
  492. package/lib-esm/ActionMenu.js +82 -0
  493. package/lib-esm/AnchoredOverlay/AnchoredOverlay.js +104 -0
  494. package/lib-esm/AnchoredOverlay/index.js +1 -0
  495. package/lib-esm/Autocomplete/Autocomplete.js +123 -0
  496. package/lib-esm/Autocomplete/AutocompleteContext.js +2 -0
  497. package/lib-esm/Autocomplete/AutocompleteInput.js +138 -0
  498. package/lib-esm/Autocomplete/AutocompleteMenu.js +205 -0
  499. package/lib-esm/Autocomplete/AutocompleteOverlay.js +62 -0
  500. package/lib-esm/Autocomplete/index.js +1 -0
  501. package/lib-esm/Avatar.js +2 -11
  502. package/lib-esm/AvatarPair.js +8 -14
  503. package/lib-esm/AvatarStack.js +12 -21
  504. package/lib-esm/BaseStyles.js +23 -26
  505. package/lib-esm/BorderBox.js +6 -12
  506. package/lib-esm/Box.js +2 -13
  507. package/lib-esm/BranchName.js +2 -13
  508. package/lib-esm/Breadcrumbs.js +58 -0
  509. package/lib-esm/Button/Button.js +3 -10
  510. package/lib-esm/Button/ButtonBase.js +1 -19
  511. package/lib-esm/Button/ButtonClose.js +5 -20
  512. package/lib-esm/Button/ButtonDanger.js +2 -9
  513. package/lib-esm/Button/ButtonGroup.js +2 -7
  514. package/lib-esm/Button/ButtonInvisible.js +3 -10
  515. package/lib-esm/Button/ButtonOutline.js +2 -9
  516. package/lib-esm/Button/ButtonPrimary.js +2 -9
  517. package/lib-esm/Button/ButtonTableList.js +2 -14
  518. package/lib-esm/Button/index.js +8 -8
  519. package/lib-esm/Caret.js +13 -16
  520. package/lib-esm/Checkbox.js +44 -0
  521. package/lib-esm/CircleBadge.js +3 -19
  522. package/lib-esm/CircleOcticon.js +9 -15
  523. package/lib-esm/CounterLabel.js +4 -16
  524. package/lib-esm/Details.js +2 -10
  525. package/lib-esm/Dialog/ConfirmationDialog.js +169 -0
  526. package/lib-esm/Dialog/Dialog.js +275 -0
  527. package/lib-esm/Dialog.js +31 -46
  528. package/lib-esm/Dropdown.js +38 -58
  529. package/lib-esm/DropdownMenu/DropdownButton.js +18 -0
  530. package/lib-esm/DropdownMenu/DropdownMenu.js +77 -0
  531. package/lib-esm/DropdownMenu/index.js +2 -0
  532. package/lib-esm/DropdownStyles.js +6 -6
  533. package/lib-esm/FilterList.js +3 -29
  534. package/lib-esm/FilteredActionList/FilteredActionList.js +109 -0
  535. package/lib-esm/FilteredActionList/index.js +1 -0
  536. package/lib-esm/FilteredSearch.js +2 -11
  537. package/lib-esm/Flash.js +36 -13
  538. package/lib-esm/Flex.js +4 -4
  539. package/lib-esm/FormGroup.js +3 -20
  540. package/lib-esm/Grid.js +5 -7
  541. package/lib-esm/Header.js +6 -34
  542. package/lib-esm/Heading.js +2 -12
  543. package/lib-esm/Label.js +3 -15
  544. package/lib-esm/LabelGroup.js +2 -9
  545. package/lib-esm/Link.js +2 -28
  546. package/lib-esm/NewButton/button-counter.js +18 -0
  547. package/lib-esm/NewButton/button.js +287 -0
  548. package/lib-esm/NewButton/index.js +5 -0
  549. package/lib-esm/NewButton/types.js +1 -0
  550. package/lib-esm/Overlay.js +160 -0
  551. package/lib-esm/Pagehead.js +2 -12
  552. package/lib-esm/Pagination/Pagination.js +15 -28
  553. package/lib-esm/Pagination/model.js +1 -1
  554. package/lib-esm/PointerBox.js +4 -11
  555. package/lib-esm/Popover.js +13 -36
  556. package/lib-esm/Portal/Portal.js +83 -0
  557. package/lib-esm/Portal/index.js +3 -0
  558. package/lib-esm/Position.js +42 -37
  559. package/lib-esm/ProgressBar.js +9 -25
  560. package/lib-esm/SelectMenu/SelectMenu.js +27 -38
  561. package/lib-esm/SelectMenu/SelectMenuContext.js +1 -1
  562. package/lib-esm/SelectMenu/SelectMenuDivider.js +4 -11
  563. package/lib-esm/SelectMenu/SelectMenuFilter.js +13 -19
  564. package/lib-esm/SelectMenu/SelectMenuFooter.js +4 -11
  565. package/lib-esm/SelectMenu/SelectMenuHeader.js +7 -18
  566. package/lib-esm/SelectMenu/SelectMenuItem.js +11 -17
  567. package/lib-esm/SelectMenu/SelectMenuList.js +4 -11
  568. package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.js +7 -13
  569. package/lib-esm/SelectMenu/SelectMenuModal.js +10 -20
  570. package/lib-esm/SelectMenu/SelectMenuTab.js +13 -21
  571. package/lib-esm/SelectMenu/SelectMenuTabPanel.js +9 -19
  572. package/lib-esm/SelectMenu/SelectMenuTabs.js +8 -15
  573. package/lib-esm/SelectMenu/hooks/useKeyboardNav.js +2 -0
  574. package/lib-esm/SelectMenu/index.js +1 -2
  575. package/lib-esm/SelectPanel/SelectPanel.js +127 -0
  576. package/lib-esm/SelectPanel/index.js +1 -0
  577. package/lib-esm/SideNav.js +29 -45
  578. package/lib-esm/Spinner.js +45 -0
  579. package/lib-esm/StateLabel.js +55 -23
  580. package/lib-esm/StyledOcticon.js +1 -12
  581. package/lib-esm/SubNav.js +24 -48
  582. package/lib-esm/TabNav.js +13 -33
  583. package/lib-esm/Text.js +0 -10
  584. package/lib-esm/TextInput.js +24 -62
  585. package/lib-esm/TextInputWithTokens.js +291 -0
  586. package/lib-esm/ThemeProvider.js +161 -0
  587. package/lib-esm/Timeline.js +26 -81
  588. package/lib-esm/Token/AvatarToken.js +43 -0
  589. package/lib-esm/Token/IssueLabelToken.js +124 -0
  590. package/lib-esm/Token/Token.js +84 -0
  591. package/lib-esm/Token/TokenBase.js +83 -0
  592. package/lib-esm/Token/_RemoveTokenButton.js +69 -0
  593. package/lib-esm/Token/_TokenTextContainer.js +6 -0
  594. package/lib-esm/Token/index.js +3 -0
  595. package/lib-esm/Tooltip.js +4 -19
  596. package/lib-esm/Truncate.js +2 -15
  597. package/lib-esm/UnderlineNav.js +5 -28
  598. package/lib-esm/_TextInputWrapper.js +31 -0
  599. package/lib-esm/_UnstyledTextInput.js +7 -0
  600. package/lib-esm/behaviors/anchoredPosition.js +309 -0
  601. package/lib-esm/behaviors/focusTrap.js +170 -0
  602. package/lib-esm/behaviors/focusZone.js +560 -0
  603. package/lib-esm/behaviors/scrollIntoViewingArea.js +30 -0
  604. package/lib-esm/constants.js +9 -23
  605. package/lib-esm/drafts.js +9 -0
  606. package/lib-esm/hooks/index.js +7 -0
  607. package/lib-esm/hooks/useAnchoredPosition.js +35 -0
  608. package/lib-esm/hooks/useCombinedRefs.js +37 -0
  609. package/lib-esm/hooks/useDetails.js +10 -3
  610. package/lib-esm/hooks/useDialog.js +21 -6
  611. package/lib-esm/hooks/useFocusTrap.js +54 -0
  612. package/lib-esm/hooks/useFocusZone.js +37 -0
  613. package/lib-esm/hooks/useOnEscapePress.js +59 -0
  614. package/lib-esm/hooks/useOnOutsideClick.js +79 -0
  615. package/lib-esm/hooks/useOpenAndCloseFocus.js +27 -0
  616. package/lib-esm/hooks/useOverlay.js +30 -0
  617. package/lib-esm/hooks/useProvidedRefOrCreate.js +14 -0
  618. package/lib-esm/hooks/useProvidedStateOrCreate.js +20 -0
  619. package/lib-esm/hooks/useRenderForcingRef.js +18 -0
  620. package/lib-esm/hooks/useResizeObserver.js +10 -0
  621. package/lib-esm/hooks/useSafeTimeout.js +31 -0
  622. package/lib-esm/hooks/useScrollFlash.js +22 -0
  623. package/lib-esm/index.js +29 -7
  624. package/lib-esm/polyfills/eventListenerSignal.js +57 -0
  625. package/lib-esm/script/component-status-project/build.d.ts +1 -0
  626. package/lib-esm/src/ActionList/Divider.d.ts +9 -0
  627. package/lib-esm/src/ActionList/Group.d.ts +28 -0
  628. package/lib-esm/src/ActionList/Header.d.ts +29 -0
  629. package/lib-esm/src/ActionList/Item.d.ts +98 -0
  630. package/lib-esm/src/ActionList/List.d.ts +88 -0
  631. package/lib-esm/src/ActionList/index.d.ts +17 -0
  632. package/lib-esm/src/ActionList2/Description.d.ts +12 -0
  633. package/lib-esm/src/ActionList2/Divider.d.ts +5 -0
  634. package/lib-esm/src/ActionList2/Group.d.ts +37 -0
  635. package/lib-esm/src/ActionList2/Item.d.ts +63 -0
  636. package/lib-esm/src/ActionList2/LinkItem.d.ts +17 -0
  637. package/lib-esm/src/ActionList2/List.d.ts +26 -0
  638. package/lib-esm/src/ActionList2/Selection.d.ts +5 -0
  639. package/lib-esm/src/ActionList2/Visuals.d.ts +9 -0
  640. package/lib-esm/src/ActionList2/index.d.ts +36 -0
  641. package/lib-esm/src/ActionMenu.d.ts +40 -0
  642. package/lib-esm/src/AnchoredOverlay/AnchoredOverlay.d.ts +62 -0
  643. package/lib-esm/src/AnchoredOverlay/index.d.ts +2 -0
  644. package/lib-esm/src/Autocomplete/Autocomplete.d.ts +305 -0
  645. package/lib-esm/src/Autocomplete/AutocompleteContext.d.ts +17 -0
  646. package/lib-esm/src/Autocomplete/AutocompleteInput.d.ts +293 -0
  647. package/lib-esm/src/Autocomplete/AutocompleteMenu.d.ts +72 -0
  648. package/lib-esm/src/Autocomplete/AutocompleteOverlay.d.ts +20 -0
  649. package/lib-esm/src/Autocomplete/index.d.ts +2 -0
  650. package/lib-esm/src/Avatar.d.ts +14 -0
  651. package/lib-esm/src/AvatarPair.d.ts +8 -0
  652. package/lib-esm/src/AvatarStack.d.ts +8 -0
  653. package/lib-esm/src/BaseStyles.d.ts +14 -0
  654. package/lib-esm/src/BorderBox.d.ts +7 -0
  655. package/lib-esm/src/Box.d.ts +6 -0
  656. package/lib-esm/src/BranchName.d.ts +5 -0
  657. package/lib-esm/src/Breadcrumbs.d.ts +41 -0
  658. package/lib-esm/src/Button/Button.d.ts +284 -0
  659. package/lib-esm/src/Button/ButtonBase.d.ts +9 -0
  660. package/lib-esm/src/Button/ButtonClose.d.ts +279 -0
  661. package/lib-esm/src/Button/ButtonDanger.d.ts +284 -0
  662. package/lib-esm/src/Button/ButtonGroup.d.ts +4 -0
  663. package/lib-esm/src/Button/ButtonInvisible.d.ts +284 -0
  664. package/lib-esm/src/Button/ButtonOutline.d.ts +284 -0
  665. package/lib-esm/src/Button/ButtonPrimary.d.ts +284 -0
  666. package/lib-esm/src/Button/ButtonStyles.d.ts +2 -0
  667. package/lib-esm/src/Button/ButtonTableList.d.ts +5 -0
  668. package/lib-esm/src/Button/index.d.ts +16 -0
  669. package/lib-esm/src/Caret.d.ts +21 -0
  670. package/lib-esm/src/Checkbox.d.ts +29 -0
  671. package/lib-esm/src/CircleBadge.d.ts +24 -0
  672. package/lib-esm/src/CircleOcticon.d.ts +392 -0
  673. package/lib-esm/src/CounterLabel.d.ts +7 -0
  674. package/lib-esm/src/Details.d.ts +5 -0
  675. package/lib-esm/src/Dialog/ConfirmationDialog.d.ts +44 -0
  676. package/lib-esm/src/Dialog/Dialog.d.ts +163 -0
  677. package/lib-esm/src/Dialog.d.ts +406 -0
  678. package/lib-esm/src/Dropdown.d.ts +1113 -0
  679. package/lib-esm/src/DropdownMenu/DropdownButton.d.ts +280 -0
  680. package/lib-esm/src/DropdownMenu/DropdownMenu.d.ts +43 -0
  681. package/lib-esm/src/DropdownMenu/index.d.ts +4 -0
  682. package/lib-esm/src/DropdownStyles.d.ts +3 -0
  683. package/lib-esm/src/FilterList.d.ts +283 -0
  684. package/lib-esm/src/FilteredActionList/FilteredActionList.d.ts +16 -0
  685. package/lib-esm/src/FilteredActionList/index.d.ts +2 -0
  686. package/lib-esm/src/FilteredSearch.d.ts +5 -0
  687. package/lib-esm/src/Flash.d.ts +8 -0
  688. package/lib-esm/src/Flex.d.ts +7 -0
  689. package/lib-esm/src/FormGroup.d.ts +11 -0
  690. package/lib-esm/src/Grid.d.ts +7 -0
  691. package/lib-esm/src/Header.d.ts +23 -0
  692. package/lib-esm/src/Heading.d.ts +5 -0
  693. package/lib-esm/src/Label.d.ts +10 -0
  694. package/lib-esm/src/LabelGroup.d.ts +5 -0
  695. package/lib-esm/src/Link.d.ts +9 -0
  696. package/lib-esm/src/NewButton/button-counter.d.ts +6 -0
  697. package/lib-esm/src/NewButton/button.d.ts +13 -0
  698. package/lib-esm/src/NewButton/index.d.ts +14 -0
  699. package/lib-esm/src/NewButton/types.d.ts +32 -0
  700. package/lib-esm/src/Overlay.d.ts +66 -0
  701. package/lib-esm/src/Pagehead.d.ts +5 -0
  702. package/lib-esm/src/Pagination/Pagination.d.ts +24 -0
  703. package/lib-esm/src/Pagination/index.d.ts +3 -0
  704. package/lib-esm/src/Pagination/model.d.ts +26 -0
  705. package/lib-esm/src/PointerBox.d.ts +11 -0
  706. package/lib-esm/src/Popover.d.ts +20 -0
  707. package/lib-esm/src/Portal/Portal.d.ts +25 -0
  708. package/lib-esm/src/Portal/index.d.ts +4 -0
  709. package/lib-esm/src/Position.d.ts +34 -0
  710. package/lib-esm/src/ProgressBar.d.ts +26 -0
  711. package/lib-esm/src/SelectMenu/SelectMenu.d.ts +1670 -0
  712. package/lib-esm/src/SelectMenu/SelectMenuContext.d.ts +8 -0
  713. package/lib-esm/src/SelectMenu/SelectMenuDivider.d.ts +5 -0
  714. package/lib-esm/src/SelectMenu/SelectMenuFilter.d.ts +9 -0
  715. package/lib-esm/src/SelectMenu/SelectMenuFooter.d.ts +5 -0
  716. package/lib-esm/src/SelectMenu/SelectMenuHeader.d.ts +10 -0
  717. package/lib-esm/src/SelectMenu/SelectMenuItem.d.ts +14 -0
  718. package/lib-esm/src/SelectMenu/SelectMenuList.d.ts +5 -0
  719. package/lib-esm/src/SelectMenu/SelectMenuLoadingAnimation.d.ts +7 -0
  720. package/lib-esm/src/SelectMenu/SelectMenuModal.d.ts +14 -0
  721. package/lib-esm/src/SelectMenu/SelectMenuTab.d.ts +13 -0
  722. package/lib-esm/src/SelectMenu/SelectMenuTabPanel.d.ts +12 -0
  723. package/lib-esm/src/SelectMenu/SelectMenuTabs.d.ts +10 -0
  724. package/lib-esm/src/SelectMenu/hooks/useKeyboardNav.d.ts +2 -0
  725. package/lib-esm/src/SelectMenu/index.d.ts +2 -0
  726. package/lib-esm/src/SelectPanel/SelectPanel.d.ts +25 -0
  727. package/lib-esm/src/SelectPanel/index.d.ts +2 -0
  728. package/lib-esm/src/SideNav.d.ts +34 -0
  729. package/lib-esm/src/Spinner.d.ts +16 -0
  730. package/lib-esm/src/StateLabel.d.ts +15 -0
  731. package/lib-esm/src/StyledOcticon.d.ts +11 -0
  732. package/lib-esm/src/SubNav.d.ts +26 -0
  733. package/lib-esm/src/TabNav.d.ts +19 -0
  734. package/lib-esm/src/Text.d.ts +6 -0
  735. package/lib-esm/src/TextInput.d.ts +14 -0
  736. package/lib-esm/src/TextInputWithTokens.d.ts +328 -0
  737. package/lib-esm/src/ThemeProvider.d.ts +26 -0
  738. package/lib-esm/src/Timeline.d.ts +33 -0
  739. package/lib-esm/src/Token/AvatarToken.d.ts +7 -0
  740. package/lib-esm/src/Token/IssueLabelToken.d.ts +14 -0
  741. package/lib-esm/src/Token/Token.d.ts +15 -0
  742. package/lib-esm/src/Token/TokenBase.d.ts +31 -0
  743. package/lib-esm/src/Token/_RemoveTokenButton.d.ts +12 -0
  744. package/lib-esm/src/Token/_TokenTextContainer.d.ts +3 -0
  745. package/lib-esm/src/Token/index.d.ts +3 -0
  746. package/lib-esm/src/Tooltip.d.ts +17 -0
  747. package/lib-esm/src/Truncate.d.ts +10 -0
  748. package/lib-esm/src/UnderlineNav.d.ts +24 -0
  749. package/lib-esm/src/_TextInputWrapper.d.ts +10 -0
  750. package/lib-esm/src/_UnstyledTextInput.d.ts +2 -0
  751. package/lib-esm/src/__tests__/ActionList.test.d.ts +1 -0
  752. package/lib-esm/src/__tests__/ActionList.types.test.d.ts +6 -0
  753. package/lib-esm/src/__tests__/ActionList2.test.d.ts +2 -0
  754. package/lib-esm/src/__tests__/ActionMenu.test.d.ts +1 -0
  755. package/lib-esm/src/__tests__/AnchoredOverlay.test.d.ts +1 -0
  756. package/lib-esm/src/__tests__/Autocomplete.test.d.ts +1 -0
  757. package/lib-esm/src/__tests__/Avatar.test.d.ts +1 -0
  758. package/lib-esm/src/__tests__/Avatar.types.test.d.ts +3 -0
  759. package/lib-esm/src/__tests__/AvatarStack.test.d.ts +1 -0
  760. package/lib-esm/src/__tests__/BorderBox.test.d.ts +1 -0
  761. package/lib-esm/src/__tests__/Box.test.d.ts +1 -0
  762. package/lib-esm/src/__tests__/BranchName.test.d.ts +1 -0
  763. package/lib-esm/src/__tests__/BranchName.types.test.d.ts +3 -0
  764. package/lib-esm/src/__tests__/Breadcrumbs.test.d.ts +1 -0
  765. package/lib-esm/src/__tests__/Breadcrumbs.types.test.d.ts +3 -0
  766. package/lib-esm/src/__tests__/BreadcrumbsItem.test.d.ts +1 -0
  767. package/lib-esm/src/__tests__/Button.test.d.ts +1 -0
  768. package/lib-esm/src/__tests__/Caret.test.d.ts +1 -0
  769. package/lib-esm/src/__tests__/Checkbox.test.d.ts +2 -0
  770. package/lib-esm/src/__tests__/CircleBadge.test.d.ts +1 -0
  771. package/lib-esm/src/__tests__/CircleBadge.types.test.d.ts +3 -0
  772. package/lib-esm/src/__tests__/CircleOcticon.test.d.ts +1 -0
  773. package/lib-esm/src/__tests__/ConfirmationDialog.test.d.ts +1 -0
  774. package/lib-esm/src/__tests__/CounterLabel.test.d.ts +1 -0
  775. package/lib-esm/src/__tests__/CounterLabel.types.test.d.ts +3 -0
  776. package/lib-esm/src/__tests__/Details.test.d.ts +1 -0
  777. package/lib-esm/src/__tests__/Details.types.test.d.ts +3 -0
  778. package/lib-esm/src/__tests__/Dialog.test.d.ts +1 -0
  779. package/lib-esm/src/__tests__/Dialog.types.test.d.ts +3 -0
  780. package/lib-esm/src/__tests__/Dialog2.types.test.d.ts +3 -0
  781. package/lib-esm/src/__tests__/Dropdown.test.d.ts +1 -0
  782. package/lib-esm/src/__tests__/Dropdown.types.test.d.ts +3 -0
  783. package/lib-esm/src/__tests__/DropdownMenu.test.d.ts +1 -0
  784. package/lib-esm/src/__tests__/FilterList.test.d.ts +1 -0
  785. package/lib-esm/src/__tests__/FilterList.types.test.d.ts +3 -0
  786. package/lib-esm/src/__tests__/FilterListItem.test.d.ts +1 -0
  787. package/lib-esm/src/__tests__/FilteredSearch.test.d.ts +1 -0
  788. package/lib-esm/src/__tests__/FilteredSearch.types.test.d.ts +3 -0
  789. package/lib-esm/src/__tests__/Flash.test.d.ts +1 -0
  790. package/lib-esm/src/__tests__/Flash.types.test.d.ts +3 -0
  791. package/lib-esm/src/__tests__/Flex.test.d.ts +1 -0
  792. package/lib-esm/src/__tests__/FormGroup.test.d.ts +1 -0
  793. package/lib-esm/src/__tests__/FormGroup.types.test.d.ts +3 -0
  794. package/lib-esm/src/__tests__/Grid.test.d.ts +1 -0
  795. package/lib-esm/src/__tests__/Header.test.d.ts +1 -0
  796. package/lib-esm/src/__tests__/Header.types.test.d.ts +3 -0
  797. package/lib-esm/src/__tests__/Heading.test.d.ts +1 -0
  798. package/lib-esm/src/__tests__/Heading.types.test.d.ts +3 -0
  799. package/lib-esm/src/__tests__/KeyPaths.types.test.d.ts +11 -0
  800. package/lib-esm/src/__tests__/Label.test.d.ts +1 -0
  801. package/lib-esm/src/__tests__/Label.types.test.d.ts +3 -0
  802. package/lib-esm/src/__tests__/LabelGroup.test.d.ts +1 -0
  803. package/lib-esm/src/__tests__/LabelGroup.types.test.d.ts +3 -0
  804. package/lib-esm/src/__tests__/Link.test.d.ts +1 -0
  805. package/lib-esm/src/__tests__/Link.types.test.d.ts +3 -0
  806. package/lib-esm/src/__tests__/Merge.types.test.d.ts +30 -0
  807. package/lib-esm/src/__tests__/NewButton.test.d.ts +1 -0
  808. package/lib-esm/src/__tests__/Overlay.test.d.ts +1 -0
  809. package/lib-esm/src/__tests__/Overlay.types.test.d.ts +6 -0
  810. package/lib-esm/src/__tests__/Pagehead.test.d.ts +1 -0
  811. package/lib-esm/src/__tests__/Pagehead.types.test.d.ts +3 -0
  812. package/lib-esm/src/__tests__/Pagination/Pagination.test.d.ts +1 -0
  813. package/lib-esm/src/__tests__/Pagination/PaginationModel.test.d.ts +1 -0
  814. package/lib-esm/src/__tests__/Pagination.types.test.d.ts +3 -0
  815. package/lib-esm/src/__tests__/PointerBox.test.d.ts +1 -0
  816. package/lib-esm/src/__tests__/Popover.test.d.ts +1 -0
  817. package/lib-esm/src/__tests__/Popover.types.test.d.ts +3 -0
  818. package/lib-esm/src/__tests__/Portal.test.d.ts +1 -0
  819. package/lib-esm/src/__tests__/Position.test.d.ts +1 -0
  820. package/lib-esm/src/__tests__/ProgressBar.test.d.ts +1 -0
  821. package/lib-esm/src/__tests__/SelectMenu.test.d.ts +1 -0
  822. package/lib-esm/src/__tests__/SelectMenu.types.test.d.ts +3 -0
  823. package/lib-esm/src/__tests__/SelectPanel.test.d.ts +1 -0
  824. package/lib-esm/src/__tests__/SelectPanel.types.test.d.ts +3 -0
  825. package/lib-esm/src/__tests__/SideNav.test.d.ts +1 -0
  826. package/lib-esm/src/__tests__/SideNav.types.test.d.ts +3 -0
  827. package/lib-esm/src/__tests__/Spinner.test.d.ts +1 -0
  828. package/lib-esm/src/__tests__/StateLabel.test.d.ts +1 -0
  829. package/lib-esm/src/__tests__/StateLabel.types.test.d.ts +3 -0
  830. package/lib-esm/src/__tests__/StyledOcticon.test.d.ts +1 -0
  831. package/lib-esm/src/__tests__/StyledOcticon.types.test.d.ts +3 -0
  832. package/lib-esm/src/__tests__/SubNav.test.d.ts +1 -0
  833. package/lib-esm/src/__tests__/SubNav.types.test.d.ts +3 -0
  834. package/lib-esm/src/__tests__/SubNavLink.test.d.ts +1 -0
  835. package/lib-esm/src/__tests__/TabNav.test.d.ts +1 -0
  836. package/lib-esm/src/__tests__/TabNav.types.test.d.ts +3 -0
  837. package/lib-esm/src/__tests__/Text.test.d.ts +1 -0
  838. package/lib-esm/src/__tests__/TextInput.test.d.ts +1 -0
  839. package/lib-esm/src/__tests__/TextInputWithTokens.test.d.ts +1 -0
  840. package/lib-esm/src/__tests__/ThemeProvider.test.d.ts +1 -0
  841. package/lib-esm/src/__tests__/Timeline.test.d.ts +1 -0
  842. package/lib-esm/src/__tests__/Timeline.types.test.d.ts +3 -0
  843. package/lib-esm/src/__tests__/Token.test.d.ts +1 -0
  844. package/lib-esm/src/__tests__/Tooltip.test.d.ts +1 -0
  845. package/lib-esm/src/__tests__/Tooltip.types.test.d.ts +3 -0
  846. package/lib-esm/src/__tests__/Truncate.test.d.ts +1 -0
  847. package/lib-esm/src/__tests__/Truncate.types.test.d.ts +3 -0
  848. package/lib-esm/src/__tests__/UnderlineNav.test.d.ts +1 -0
  849. package/lib-esm/src/__tests__/UnderlineNav.types.test.d.ts +3 -0
  850. package/lib-esm/src/__tests__/UnderlineNavLink.test.d.ts +1 -0
  851. package/lib-esm/src/__tests__/behaviors/anchoredPosition.test.d.ts +1 -0
  852. package/lib-esm/src/__tests__/behaviors/focusTrap.test.d.ts +1 -0
  853. package/lib-esm/src/__tests__/behaviors/focusZone.test.d.ts +1 -0
  854. package/lib-esm/src/__tests__/behaviors/iterateFocusableElements.test.d.ts +1 -0
  855. package/lib-esm/src/__tests__/behaviors/scrollIntoViewingArea.test.d.ts +1 -0
  856. package/lib-esm/src/__tests__/filterObject.test.d.ts +1 -0
  857. package/lib-esm/src/__tests__/hooks/useAnchoredPosition.test.d.ts +1 -0
  858. package/lib-esm/src/__tests__/hooks/useOnEscapePress.test.d.ts +1 -0
  859. package/lib-esm/src/__tests__/hooks/useOnOutsideClick.test.d.ts +1 -0
  860. package/lib-esm/src/__tests__/hooks/useOpenAndCloseFocus.test.d.ts +1 -0
  861. package/lib-esm/src/__tests__/hooks/useProvidedStateOrCreate.test.d.ts +1 -0
  862. package/lib-esm/src/__tests__/theme.test.d.ts +1 -0
  863. package/lib-esm/src/__tests__/themeGet.test.d.ts +1 -0
  864. package/lib-esm/src/__tests__/themePreval.test.d.ts +1 -0
  865. package/lib-esm/src/__tests__/useSafeTimeout.test.d.ts +1 -0
  866. package/lib-esm/src/__tests__/utils/createSlots.test.d.ts +1 -0
  867. package/lib-esm/src/behaviors/anchoredPosition.d.ts +89 -0
  868. package/lib-esm/src/behaviors/focusTrap.d.ts +12 -0
  869. package/lib-esm/src/behaviors/focusZone.d.ts +137 -0
  870. package/lib-esm/src/behaviors/scrollIntoViewingArea.d.ts +1 -0
  871. package/lib-esm/src/constants.d.ts +20 -0
  872. package/lib-esm/src/drafts.d.ts +8 -0
  873. package/lib-esm/src/hooks/index.d.ts +11 -0
  874. package/lib-esm/src/hooks/useAnchoredPosition.d.ts +20 -0
  875. package/lib-esm/src/hooks/useCombinedRefs.d.ts +10 -0
  876. package/lib-esm/src/hooks/useDetails.d.ts +17 -0
  877. package/lib-esm/src/hooks/useDialog.d.ts +16 -0
  878. package/lib-esm/src/hooks/useFocusTrap.d.ts +32 -0
  879. package/lib-esm/src/hooks/useFocusZone.d.ts +23 -0
  880. package/lib-esm/src/hooks/useOnEscapePress.d.ts +23 -0
  881. package/lib-esm/src/hooks/useOnOutsideClick.d.ts +8 -0
  882. package/lib-esm/src/hooks/useOpenAndCloseFocus.d.ts +8 -0
  883. package/lib-esm/src/hooks/useOverlay.d.ts +15 -0
  884. package/lib-esm/src/hooks/useProvidedRefOrCreate.d.ts +10 -0
  885. package/lib-esm/src/hooks/useProvidedStateOrCreate.d.ts +10 -0
  886. package/lib-esm/src/hooks/useRenderForcingRef.d.ts +8 -0
  887. package/lib-esm/src/hooks/useResizeObserver.d.ts +1 -0
  888. package/lib-esm/src/hooks/useSafeTimeout.d.ts +12 -0
  889. package/lib-esm/src/hooks/useScrollFlash.d.ts +6 -0
  890. package/lib-esm/src/index.d.ts +120 -0
  891. package/lib-esm/src/polyfills/eventListenerSignal.d.ts +6 -0
  892. package/lib-esm/src/sx.d.ts +14 -0
  893. package/lib-esm/src/theme-preval.d.ts +49 -0
  894. package/lib-esm/src/theme.d.ts +80 -0
  895. package/lib-esm/src/utils/create-slots.d.ts +17 -0
  896. package/lib-esm/src/utils/deprecate.d.ts +18 -0
  897. package/lib-esm/src/utils/isNumeric.d.ts +1 -0
  898. package/lib-esm/src/utils/iterateFocusableElements.d.ts +42 -0
  899. package/lib-esm/src/utils/ssr.d.ts +1 -0
  900. package/lib-esm/src/utils/test-deprecations.d.ts +1 -0
  901. package/lib-esm/{utils/types.js → src/utils/test-helpers.d.ts} +0 -0
  902. package/lib-esm/src/utils/test-matchers.d.ts +1 -0
  903. package/lib-esm/src/utils/testing.d.ts +545 -0
  904. package/lib-esm/src/utils/theme.d.ts +9 -0
  905. package/lib-esm/src/utils/types/AriaRole.d.ts +1 -0
  906. package/lib-esm/src/utils/types/ComponentProps.d.ts +9 -0
  907. package/lib-esm/src/utils/types/Flatten.d.ts +4 -0
  908. package/lib-esm/src/utils/types/KeyPaths.d.ts +3 -0
  909. package/lib-esm/src/utils/types/MandateProps.d.ts +3 -0
  910. package/lib-esm/src/utils/types/Merge.d.ts +19 -0
  911. package/lib-esm/src/utils/types/index.d.ts +5 -0
  912. package/lib-esm/src/utils/uniqueId.d.ts +1 -0
  913. package/lib-esm/src/utils/use-force-update.d.ts +1 -0
  914. package/lib-esm/src/utils/useIsomorphicLayoutEffect.d.ts +3 -0
  915. package/lib-esm/src/utils/userAgent.d.ts +1 -0
  916. package/lib-esm/sx.js +3 -5
  917. package/lib-esm/theme-preval.js +3119 -357
  918. package/lib-esm/theme.js +3 -8
  919. package/lib-esm/utils/create-slots.js +84 -0
  920. package/lib-esm/utils/deprecate.js +6 -5
  921. package/lib-esm/utils/isNumeric.js +1 -0
  922. package/lib-esm/utils/iterateFocusableElements.js +102 -0
  923. package/lib-esm/utils/ssr.js +1 -0
  924. package/lib-esm/utils/test-deprecations.js +1 -1
  925. package/lib-esm/utils/test-helpers.js +7 -0
  926. package/lib-esm/utils/test-matchers.js +7 -49
  927. package/lib-esm/utils/testing.js +60 -46
  928. package/lib-esm/utils/theme.js +66 -0
  929. package/lib-esm/utils/types/AriaRole.js +1 -0
  930. package/lib-esm/utils/types/ComponentProps.js +1 -0
  931. package/lib-esm/utils/types/Flatten.js +1 -0
  932. package/lib-esm/utils/types/KeyPaths.js +1 -0
  933. package/lib-esm/utils/types/MandateProps.js +1 -0
  934. package/lib-esm/utils/types/Merge.js +1 -0
  935. package/lib-esm/utils/types/index.js +5 -0
  936. package/lib-esm/utils/uniqueId.js +5 -0
  937. package/lib-esm/utils/use-force-update.js +6 -0
  938. package/lib-esm/utils/useIsomorphicLayoutEffect.js +3 -0
  939. package/lib-esm/utils/userAgent.js +8 -0
  940. package/package.json +116 -93
  941. package/index.d.ts +0 -828
  942. package/lib/Breadcrumb.js +0 -96
  943. package/lib/hooks/useMouseIntent.js +0 -58
  944. package/lib/stories/Button.stories.js +0 -100
  945. package/lib-esm/Breadcrumb.js +0 -70
  946. package/lib-esm/hooks/useMouseIntent.js +0 -50
  947. package/lib-esm/stories/Button.stories.js +0 -65
package/lib/theme.js CHANGED
@@ -3,14 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.colors = exports.default = void 0;
6
+ exports.default = void 0;
7
7
 
8
- const themeExport = require('./theme-preval');
8
+ var _themePreval = require("./theme-preval");
9
+
10
+ var _default = _themePreval.theme; // NOTE: for now, ThemeColors and ThemeShadows are handcrafted types. It would be nice if these
11
+ // were exports from primitives (or a different shape but derived from those exports).
9
12
 
10
- const {
11
- theme,
12
- colors
13
- } = themeExport;
14
- exports.colors = colors;
15
- var _default = theme;
16
13
  exports.default = _default;
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _useForceUpdate = require("./use-force-update");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ /** createSlots is a factory that can create a
15
+ * typesafe Slots + Slot pair to use in a component definition
16
+ * For example: ActionList.Item uses createSlots to get a Slots wrapper
17
+ * + Slot component that is used by LeadingVisual, Description
18
+ */
19
+ const createSlots = slotNames => {
20
+ const SlotsContext = /*#__PURE__*/_react.default.createContext({
21
+ registerSlot: () => null,
22
+ unregisterSlot: () => null,
23
+ context: {}
24
+ });
25
+ /** Slots uses a Double render strategy inspired by [reach-ui/descendants](https://github.com/reach/reach-ui/tree/develop/packages/descendants)
26
+ * Slot registers themself with the Slots parent.
27
+ * When all the children have mounted = registered themselves in slot,
28
+ * we re-render the parent component to render with slots
29
+ */
30
+
31
+
32
+ const Slots = ({
33
+ context = {},
34
+ children
35
+ }) => {
36
+ // initialise slots
37
+ const slotsDefinition = {};
38
+ slotNames.map(name => slotsDefinition[name] = null);
39
+
40
+ const slotsRef = _react.default.useRef(slotsDefinition);
41
+
42
+ const rerenderWithSlots = (0, _useForceUpdate.useForceUpdate)();
43
+
44
+ const [isMounted, setIsMounted] = _react.default.useState(false); // fires after all the effects in children
45
+
46
+
47
+ _react.default.useEffect(() => {
48
+ rerenderWithSlots();
49
+ setIsMounted(true);
50
+ }, [rerenderWithSlots]);
51
+
52
+ const registerSlot = _react.default.useCallback((name, contents) => {
53
+ slotsRef.current[name] = contents; // don't render until the component mounts = all slots are registered
54
+
55
+ if (isMounted) rerenderWithSlots();
56
+ }, [isMounted, rerenderWithSlots]); // Slot can be removed from the tree as well,
57
+ // we need to unregister them from the slot
58
+
59
+
60
+ const unregisterSlot = _react.default.useCallback(name => {
61
+ slotsRef.current[name] = null;
62
+ rerenderWithSlots();
63
+ }, [rerenderWithSlots]);
64
+ /**
65
+ * Slots uses a render prop API so abstract the
66
+ * implementation detail of using a context provider.
67
+ */
68
+
69
+
70
+ const slots = slotsRef.current;
71
+ return /*#__PURE__*/_react.default.createElement(SlotsContext.Provider, {
72
+ value: {
73
+ registerSlot,
74
+ unregisterSlot,
75
+ context
76
+ }
77
+ }, children(slots));
78
+ };
79
+
80
+ const Slot = ({
81
+ name,
82
+ children
83
+ }) => {
84
+ const {
85
+ registerSlot,
86
+ unregisterSlot,
87
+ context
88
+ } = _react.default.useContext(SlotsContext);
89
+
90
+ _react.default.useEffect(() => {
91
+ registerSlot(name, typeof children === 'function' ? children(context) : children);
92
+ return () => unregisterSlot(name);
93
+ }, [name, children, registerSlot, unregisterSlot, context]);
94
+
95
+ return null;
96
+ };
97
+
98
+ return {
99
+ Slots,
100
+ Slot
101
+ };
102
+ };
103
+
104
+ var _default = createSlots;
105
+ exports.default = _default;
@@ -7,11 +7,11 @@ exports.Deprecations = exports.useDeprecation = exports.deprecate = void 0;
7
7
 
8
8
  var _react = require("react");
9
9
 
10
- /* eslint-disable no-console */
10
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
11
11
  const noop = () => {}; // eslint-disable-next-line import/no-mutable-exports
12
12
 
13
13
 
14
- let deprecate = null;
14
+ let deprecate = noop;
15
15
  exports.deprecate = deprecate;
16
16
 
17
17
  if (process.env.NODE_ENV !== 'production') {
@@ -26,8 +26,6 @@ if (process.env.NODE_ENV !== 'production') {
26
26
  version
27
27
  });
28
28
  };
29
- } else {
30
- exports.deprecate = deprecate = noop;
31
29
  }
32
30
 
33
31
  // eslint-disable-next-line import/no-mutable-exports
@@ -60,6 +58,8 @@ if (process.env.NODE_ENV !== 'production') {
60
58
  }
61
59
 
62
60
  class Deprecations {
61
+ static instance = null;
62
+
63
63
  static get() {
64
64
  if (!Deprecations.instance) {
65
65
  Deprecations.instance = new Deprecations();
@@ -77,7 +77,8 @@ class Deprecations {
77
77
  message,
78
78
  version
79
79
  }) {
80
- const msg = `WARNING! ${name} is deprecated and will be removed in version ${version}. ${message}`;
80
+ const msg = `WARNING! ${name} is deprecated and will be removed in version ${version}. ${message}`; // eslint-disable-next-line no-console
81
+
81
82
  console.warn(msg);
82
83
  this.get().deprecations.push({
83
84
  name,
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = isNumeric;
7
7
 
8
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
9
  function isNumeric(n) {
9
10
  return !isNaN(parseFloat(n)) && isFinite(n);
10
11
  }
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.iterateFocusableElements = iterateFocusableElements;
7
+ exports.isFocusable = isFocusable;
8
+ exports.isTabbable = isTabbable;
9
+
10
+ /**
11
+ * Options to the focusable elements iterator
12
+ */
13
+
14
+ /**
15
+ * Returns an iterator over all of the focusable elements within `container`.
16
+ * Note: If `container` is itself focusable it will be included in the results.
17
+ * @param container The container over which to find focusable elements.
18
+ * @param reverse If true, iterate backwards through focusable elements.
19
+ */
20
+ function* iterateFocusableElements(container, options = {}) {
21
+ var _options$strict, _options$onlyTabbable;
22
+
23
+ const strict = (_options$strict = options.strict) !== null && _options$strict !== void 0 ? _options$strict : false;
24
+ const acceptFn = ((_options$onlyTabbable = options.onlyTabbable) !== null && _options$onlyTabbable !== void 0 ? _options$onlyTabbable : false) ? isTabbable : isFocusable;
25
+ const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {
26
+ acceptNode: node => node instanceof HTMLElement && acceptFn(node, strict) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP
27
+ });
28
+ let nextNode = null; // Allow the container to participate
29
+
30
+ if (!options.reverse && acceptFn(container, strict)) {
31
+ yield container;
32
+ } // If iterating in reverse, continue traversing down into the last child until we reach
33
+ // a leaf DOM node
34
+
35
+
36
+ if (options.reverse) {
37
+ let lastChild = walker.lastChild();
38
+
39
+ while (lastChild) {
40
+ nextNode = lastChild;
41
+ lastChild = walker.lastChild();
42
+ }
43
+ } else {
44
+ nextNode = walker.firstChild();
45
+ }
46
+
47
+ while (nextNode instanceof HTMLElement) {
48
+ yield nextNode;
49
+ nextNode = options.reverse ? walker.previousNode() : walker.nextNode();
50
+ } // Allow the container to participate (in reverse)
51
+
52
+
53
+ if (options.reverse && acceptFn(container, strict)) {
54
+ yield container;
55
+ }
56
+
57
+ return undefined;
58
+ }
59
+ /**
60
+ * Determines whether the given element is focusable. If `strict` is true, we may
61
+ * perform additional checks that require a reflow (less performant).
62
+ * @param elem
63
+ * @param strict
64
+ */
65
+
66
+
67
+ function isFocusable(elem, strict = false) {
68
+ // Certain conditions cause an element to never be focusable, even if they have tabindex="0"
69
+ const disabledAttrInert = ['BUTTON', 'INPUT', 'SELECT', 'TEXTAREA', 'OPTGROUP', 'OPTION', 'FIELDSET'].includes(elem.tagName) && elem.disabled;
70
+ const hiddenInert = elem.hidden;
71
+ const hiddenInputInert = elem instanceof HTMLInputElement && elem.type === 'hidden';
72
+
73
+ if (disabledAttrInert || hiddenInert || hiddenInputInert) {
74
+ return false;
75
+ } // Each of the conditions checked below require a reflow, thus are gated by the `strict`
76
+ // argument. If any are true, the element is not focusable, even if tabindex is set.
77
+
78
+
79
+ if (strict) {
80
+ const sizeInert = elem.offsetWidth === 0 || elem.offsetHeight === 0;
81
+ const visibilityInert = ['hidden', 'collapse'].includes(getComputedStyle(elem).visibility);
82
+ const clientRectsInert = elem.getClientRects().length === 0;
83
+
84
+ if (sizeInert || visibilityInert || clientRectsInert) {
85
+ return false;
86
+ }
87
+ } // Any element with `tabindex` explicitly set can be focusable, even if it's set to "-1"
88
+
89
+
90
+ if (elem.getAttribute('tabindex') != null) {
91
+ return true;
92
+ } // One last way `elem.tabIndex` can be wrong.
93
+
94
+
95
+ if (elem instanceof HTMLAnchorElement && elem.getAttribute('href') == null) {
96
+ return false;
97
+ }
98
+
99
+ return elem.tabIndex !== -1;
100
+ }
101
+ /**
102
+ * Determines whether the given element is tabbable. If `strict` is true, we may
103
+ * perform additional checks that require a reflow (less performant). This check
104
+ * ensures that the element is focusable and that its tabindex is not explicitly
105
+ * set to "-1" (which makes it focusable, but removes it from the tab order).
106
+ * @param elem
107
+ * @param strict
108
+ */
109
+
110
+
111
+ function isTabbable(elem, strict = false) {
112
+ return isFocusable(elem, strict) && elem.getAttribute('tabindex') !== '-1';
113
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "SSRProvider", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _ssr.SSRProvider;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "useSSRSafeId", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _ssr.useSSRSafeId;
16
+ }
17
+ });
18
+
19
+ var _ssr = require("@react-aria/ssr");
@@ -2,10 +2,11 @@
2
2
 
3
3
  var _semver = _interopRequireDefault(require("semver"));
4
4
 
5
- var _deprecate = require("../utils/deprecate");
5
+ var _deprecate = require("./deprecate");
6
6
 
7
7
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
8
 
9
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
9
10
  const ourVersion = require('../../package.json').version;
10
11
 
11
12
  beforeEach(() => {
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ // JSDOM doesn't mock ResizeObserver
4
+ global.ResizeObserver = jest.fn().mockImplementation(() => {
5
+ return {
6
+ observe: jest.fn(),
7
+ disconnect: jest.fn()
8
+ };
9
+ });
@@ -1,12 +1,10 @@
1
1
  "use strict";
2
2
 
3
- var _react = _interopRequireDefault(require("react"));
4
-
5
3
  require("jest-styled-components");
6
4
 
7
5
  var _serializer = require("jest-styled-components/serializer");
8
6
 
9
- var _theme = _interopRequireDefault(require("../theme"));
7
+ var _react = _interopRequireDefault(require("react"));
10
8
 
11
9
  var _testing = require("./testing");
12
10
 
@@ -15,14 +13,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
15
13
  expect.addSnapshotSerializer(_serializer.styleSheetSerializer);
16
14
 
17
15
  const stringify = d => JSON.stringify(d, null, ' ');
18
- /**
19
- * These are props that styled-system aliases for backwards compatibility.
20
- * For some reason, they don't show up in our toImplementSystemProps() matcher,
21
- * so we skip over them.
22
- */
23
16
 
24
-
25
- const ALIAS_PROP_TYPES = ['w', 'align', 'justify', 'wrap'];
26
17
  expect.extend({
27
18
  toMatchKeys(obj, values) {
28
19
  return {
@@ -49,23 +40,6 @@ expect.extend({
49
40
  };
50
41
  },
51
42
 
52
- toImplementSystemProps(Component, propNames) {
53
- const propKeys = new Set(Object.keys(Component.propTypes));
54
- const expectedPropKeys = Object.keys(propNames.propTypes);
55
- const missing = expectedPropKeys.filter(key => !propKeys.has(key)).filter(key => !ALIAS_PROP_TYPES.includes(key));
56
- return {
57
- pass: missing.length === 0,
58
- message: () => `Missing prop${missing.length === 1 ? '' : 's'}: ${stringify(missing)}`
59
- };
60
- },
61
-
62
- toImplementSxProp(Component) {
63
- return {
64
- pass: !!Component.propTypes.sx,
65
- message: () => 'Missing sx propTypes'
66
- };
67
- },
68
-
69
43
  toImplementSxBehavior(element) {
70
44
  const mediaKey = '@media (max-width:123px)';
71
45
  const sxPropValue = {
@@ -74,17 +48,16 @@ expect.extend({
74
48
  }
75
49
  };
76
50
 
77
- const elem = _react.default.cloneElement(element, {
51
+ const elem = /*#__PURE__*/_react.default.cloneElement(element, {
78
52
  sx: sxPropValue
79
53
  });
80
54
 
81
- const rendered = (0, _testing.render)(elem);
82
-
83
55
  function checkStylesDeep(rendered) {
84
- const className = rendered.props ? rendered.props.className : '';
56
+ const className = rendered.props.className;
85
57
  const styles = (0, _testing.getComputedStyles)(className);
58
+ const mediaStyles = styles[mediaKey];
86
59
 
87
- if (styles[mediaKey] && styles[mediaKey].color) {
60
+ if (mediaStyles && mediaStyles.color) {
88
61
  return true;
89
62
  } else if (rendered.children) {
90
63
  return rendered.children.some(child => checkStylesDeep(child));
@@ -94,28 +67,11 @@ expect.extend({
94
67
  }
95
68
 
96
69
  return {
97
- pass: checkStylesDeep(rendered),
70
+ pass: checkStylesDeep((0, _testing.render)(elem)),
98
71
  message: () => 'sx prop values did not change styles of component nor of any sub-components'
99
72
  };
100
73
  },
101
74
 
102
- toSetDefaultTheme(Component) {
103
- let comp;
104
-
105
- if (Component.type) {
106
- comp = Component;
107
- } else {
108
- comp = /*#__PURE__*/_react.default.createElement(Component, null);
109
- }
110
-
111
- const wrapper = (0, _testing.mount)(comp);
112
- const pass = this.equals(wrapper.prop('theme'), _theme.default);
113
- return {
114
- pass,
115
- message: () => 'default theme is not set'
116
- };
117
- },
118
-
119
75
  toSetExports(mod, expectedExports) {
120
76
  if (!Object.keys(expectedExports).includes('default')) {
121
77
  return {
@@ -8,7 +8,6 @@ exports.render = render;
8
8
  exports.renderRoot = renderRoot;
9
9
  exports.renderClasses = renderClasses;
10
10
  exports.rendersClass = rendersClass;
11
- exports.renderWithTheme = renderWithTheme;
12
11
  exports.px = px;
13
12
  exports.percent = percent;
14
13
  exports.renderStyles = renderStyles;
@@ -20,6 +19,7 @@ exports.loadCSS = loadCSS;
20
19
  exports.unloadCSS = unloadCSS;
21
20
  exports.behavesAsComponent = behavesAsComponent;
22
21
  exports.checkExports = checkExports;
22
+ exports.checkStoriesForAxeViolations = checkStoriesForAxeViolations;
23
23
  exports.COMPONENT_DISPLAY_NAME_REGEX = void 0;
24
24
 
25
25
  var _react = _interopRequireDefault(require("react"));
@@ -32,12 +32,17 @@ var _enzyme = _interopRequireDefault(require("enzyme"));
32
32
 
33
33
  var _enzymeAdapterReact = _interopRequireDefault(require("@wojtekmaj/enzyme-adapter-react-17"));
34
34
 
35
- var _styledComponents = require("styled-components");
35
+ var _react2 = require("@testing-library/react");
36
+
37
+ var _jestAxe = require("jest-axe");
38
+
39
+ var _ = require("..");
36
40
 
37
41
  var _theme = _interopRequireDefault(require("../theme"));
38
42
 
39
43
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
40
44
 
45
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
41
46
  const readFile = (0, _util.promisify)(require('fs').readFile);
42
47
  const COMPONENT_DISPLAY_NAME_REGEX = /^[A-Z][A-Za-z]+(\.[A-Z][A-Za-z]+)*$/;
43
48
  exports.COMPONENT_DISPLAY_NAME_REGEX = COMPONENT_DISPLAY_NAME_REGEX;
@@ -49,6 +54,7 @@ _enzyme.default.configure({
49
54
  function mount(component) {
50
55
  return _enzyme.default.mount(component);
51
56
  }
57
+
52
58
  /**
53
59
  * Render the component (a React.createElement() or JSX expression)
54
60
  * into its intermediate object representation with 'type',
@@ -60,10 +66,10 @@ function mount(component) {
60
66
  * expect(render(<Foo />)).toEqual(render(<div foo='bar' />))
61
67
  * ```
62
68
  */
63
-
64
-
65
- function render(component) {
66
- return _reactTestRenderer.default.create(component).toJSON();
69
+ function render(component, theme = _theme.default) {
70
+ return _reactTestRenderer.default.create( /*#__PURE__*/_react.default.createElement(_.ThemeProvider, {
71
+ theme: theme
72
+ }, component)).toJSON();
67
73
  }
68
74
  /**
69
75
  * Render the component (a React.createElement() or JSX expression)
@@ -103,12 +109,6 @@ function rendersClass(node, klass) {
103
109
  return renderClasses(node).includes(klass);
104
110
  }
105
111
 
106
- function renderWithTheme(node, theme = _theme.default) {
107
- return render( /*#__PURE__*/_react.default.createElement(_styledComponents.ThemeProvider, {
108
- theme: theme
109
- }, node));
110
- }
111
-
112
112
  function px(value) {
113
113
  return typeof value === 'number' ? `${value}px` : value;
114
114
  }
@@ -132,11 +132,12 @@ function getComputedStyles(className) {
132
132
  const computed = {};
133
133
 
134
134
  for (const sheet of document.styleSheets) {
135
+ // CSSRulesLists assumes every rule is a CSSRule, not a CSSStyleRule
135
136
  for (const rule of sheet.cssRules) {
136
- if (rule.type === 1) {
137
- readRule(rule, computed);
138
- } else if (rule.type === 4) {
137
+ if (rule instanceof CSSMediaRule) {
139
138
  readMedia(rule);
139
+ } else if (rule instanceof CSSStyleRule) {
140
+ readRule(rule, computed);
140
141
  } else {// console.warn('rule.type =', rule.type)
141
142
  }
142
143
  }
@@ -144,6 +145,18 @@ function getComputedStyles(className) {
144
145
 
145
146
  return computed;
146
147
 
148
+ function matchesSafe(node, selector) {
149
+ if (!selector) {
150
+ return false;
151
+ }
152
+
153
+ try {
154
+ return node.matches(selector);
155
+ } catch (error) {
156
+ return false;
157
+ }
158
+ }
159
+
147
160
  function readRule(rule, dest) {
148
161
  if (matchesSafe(div, rule.selectorText)) {
149
162
  const {
@@ -164,7 +177,9 @@ function getComputedStyles(className) {
164
177
  const dest = {};
165
178
 
166
179
  for (const rule of mediaRule.cssRules) {
167
- readRule(rule, dest);
180
+ if (rule instanceof CSSStyleRule) {
181
+ readRule(rule, dest);
182
+ }
168
183
  } // Don't add media rule to computed styles
169
184
  // if no styles were actually applied
170
185
 
@@ -173,18 +188,6 @@ function getComputedStyles(className) {
173
188
  computed[key] = dest;
174
189
  }
175
190
  }
176
-
177
- function matchesSafe(node, selector) {
178
- if (!selector) {
179
- return false;
180
- }
181
-
182
- try {
183
- return node.matches(selector);
184
- } catch (error) {
185
- return false;
186
- }
187
- }
188
191
  }
189
192
  /**
190
193
  * This provides a layer of compatibility between the render() function from
@@ -226,26 +229,16 @@ function unloadCSS(path) {
226
229
  // returns an element ready to be rendered.
227
230
 
228
231
 
229
- function behavesAsComponent(Component, systemPropArray, toRender = null, options) {
230
- if (typeof toRender === 'object' && !options) {
231
- options = toRender;
232
- toRender = null;
233
- }
234
-
232
+ function behavesAsComponent({
233
+ Component,
234
+ toRender,
235
+ options
236
+ }) {
235
237
  options = options || {};
236
238
 
237
239
  const getElement = () => toRender ? toRender() : /*#__PURE__*/_react.default.createElement(Component, null);
238
240
 
239
- it('implements system props', () => {
240
- for (const systemProps of systemPropArray) {
241
- expect(Component).toImplementSystemProps(systemProps);
242
- }
243
- });
244
-
245
241
  if (!options.skipSx) {
246
- it('implements the sx prop', () => {
247
- expect(Component).toImplementSxProp();
248
- });
249
242
  it('implements sx prop behavior', () => {
250
243
  expect(getElement()).toImplementSxBehavior();
251
244
  });
@@ -253,12 +246,12 @@ function behavesAsComponent(Component, systemPropArray, toRender = null, options
253
246
 
254
247
  if (!options.skipAs) {
255
248
  it('respects the as prop', () => {
256
- const As = _react.default.forwardRef((_props, ref) => /*#__PURE__*/_react.default.createElement("div", {
249
+ const As = /*#__PURE__*/_react.default.forwardRef((_props, ref) => /*#__PURE__*/_react.default.createElement("div", {
257
250
  className: "as-component",
258
251
  ref: ref
259
252
  }));
260
253
 
261
- const elem = _react.default.cloneElement(getElement(), {
254
+ const elem = /*#__PURE__*/_react.default.cloneElement(getElement(), {
262
255
  as: As
263
256
  });
264
257
 
@@ -269,18 +262,41 @@ function behavesAsComponent(Component, systemPropArray, toRender = null, options
269
262
  it('sets a valid displayName', () => {
270
263
  expect(Component.displayName).toMatch(COMPONENT_DISPLAY_NAME_REGEX);
271
264
  });
272
- it('sets the default theme', () => {
273
- expect(getElement()).toSetDefaultTheme();
274
- });
275
265
  it('renders consistently', () => {
276
266
  expect(render(getElement())).toMatchSnapshot();
277
267
  });
278
- }
268
+ } // eslint-disable-next-line @typescript-eslint/no-explicit-any
269
+
279
270
 
280
271
  function checkExports(path, exports) {
281
272
  it('has declared exports', () => {
273
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
282
274
  const mod = require(`../${path}`);
283
275
 
284
276
  expect(mod).toSetExports(exports);
285
277
  });
278
+ }
279
+
280
+ expect.extend(_jestAxe.toHaveNoViolations);
281
+
282
+ function checkStoriesForAxeViolations(name) {
283
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
284
+ const stories = require(`../stories/${name}.stories`); // eslint-disable-next-line @typescript-eslint/no-unused-vars -- _meta
285
+
286
+
287
+ const {
288
+ default: _meta,
289
+ ...Stories
290
+ } = stories;
291
+ Object.values(Stories).map(Story => {
292
+ if (typeof Story !== 'function') return;
293
+ it(`story ${Story.storyName} should have no axe violations`, async () => {
294
+ const {
295
+ container
296
+ } = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(Story, null));
297
+ const results = await (0, _jestAxe.axe)(container);
298
+ expect(results).toHaveNoViolations();
299
+ (0, _react2.cleanup)();
300
+ });
301
+ });
286
302
  }