@primer/components 0.0.0-2021983515 → 0.0.0-2022530194733

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 (596) hide show
  1. package/CHANGELOG.md +105 -492
  2. package/README.md +16 -16
  3. package/codemods/lib/modifyProps.js +7 -9
  4. package/codemods/lib/prettify.js +1 -1
  5. package/codemods/lib/replaceImportSource.js +5 -5
  6. package/dist/browser.esm.js +889 -1279
  7. package/dist/browser.esm.js.map +1 -1
  8. package/dist/browser.umd.js +839 -1234
  9. package/dist/browser.umd.js.map +1 -1
  10. package/index.d.ts +940 -0
  11. package/lib/AvatarPair.js +5 -6
  12. package/lib/AvatarStack.js +10 -10
  13. package/lib/BaseStyles.js +19 -18
  14. package/lib/BorderBox.js +5 -4
  15. package/lib/Box.js +2 -2
  16. package/lib/BranchName.js +1 -1
  17. package/lib/{Breadcrumbs.js → Breadcrumb.js} +23 -33
  18. package/lib/Button/Button.js +3 -3
  19. package/lib/Button/ButtonClose.js +4 -4
  20. package/lib/Button/ButtonDanger.js +2 -2
  21. package/lib/Button/ButtonInvisible.js +3 -3
  22. package/lib/Button/ButtonOutline.js +2 -2
  23. package/lib/Button/ButtonPrimary.js +2 -2
  24. package/lib/Button/ButtonTableList.js +1 -1
  25. package/lib/CircleBadge.js +1 -1
  26. package/lib/CircleOcticon.js +7 -9
  27. package/lib/CounterLabel.js +2 -2
  28. package/lib/Dialog.js +14 -13
  29. package/lib/Dropdown.js +2 -2
  30. package/lib/DropdownStyles.js +6 -6
  31. package/lib/FilterList.js +1 -1
  32. package/lib/Flash.js +1 -1
  33. package/lib/Flex.js +0 -3
  34. package/lib/Grid.js +3 -4
  35. package/lib/Header.js +2 -3
  36. package/lib/Label.js +4 -4
  37. package/lib/Link.js +12 -1
  38. package/lib/Overlay.js +36 -126
  39. package/lib/Pagehead.js +1 -1
  40. package/lib/Pagination/Pagination.js +2 -3
  41. package/lib/Popover.js +3 -3
  42. package/lib/Portal/Portal.js +12 -20
  43. package/lib/Position.js +27 -46
  44. package/lib/ProgressBar.js +1 -1
  45. package/lib/SelectMenu/SelectMenu.js +4 -4
  46. package/lib/SelectMenu/SelectMenuContext.js +1 -1
  47. package/lib/SelectMenu/SelectMenuDivider.js +3 -3
  48. package/lib/SelectMenu/SelectMenuFilter.js +6 -6
  49. package/lib/SelectMenu/SelectMenuFooter.js +3 -3
  50. package/lib/SelectMenu/SelectMenuHeader.js +2 -2
  51. package/lib/SelectMenu/SelectMenuItem.js +4 -4
  52. package/lib/SelectMenu/SelectMenuList.js +3 -3
  53. package/lib/SelectMenu/SelectMenuLoadingAnimation.js +15 -4
  54. package/lib/SelectMenu/SelectMenuModal.js +7 -7
  55. package/lib/SelectMenu/SelectMenuTab.js +3 -3
  56. package/lib/SelectMenu/SelectMenuTabPanel.js +3 -3
  57. package/lib/SelectMenu/SelectMenuTabs.js +2 -2
  58. package/lib/SelectMenu/hooks/useKeyboardNav.js +0 -2
  59. package/lib/SideNav.js +12 -20
  60. package/lib/StateLabel.js +4 -4
  61. package/lib/SubNav.js +3 -5
  62. package/lib/TabNav.js +3 -3
  63. package/lib/TextInput.js +59 -22
  64. package/lib/ThemeProvider.js +15 -32
  65. package/lib/Timeline.js +29 -24
  66. package/lib/Tooltip.js +1 -2
  67. package/lib/UnderlineNav.js +2 -2
  68. package/lib/behaviors/anchoredPosition.js +9 -17
  69. package/lib/behaviors/focusTrap.js +14 -32
  70. package/lib/behaviors/focusZone.js +148 -218
  71. package/lib/constants.js +2 -3
  72. package/lib/hooks/index.js +1 -9
  73. package/lib/hooks/useAnchoredPosition.js +4 -11
  74. package/lib/hooks/useDialog.js +1 -1
  75. package/lib/hooks/useFocusTrap.js +8 -26
  76. package/lib/hooks/useFocusZone.js +7 -7
  77. package/lib/hooks/useMouseIntent.js +58 -0
  78. package/lib/hooks/useOnEscapePress.js +10 -53
  79. package/lib/hooks/useOnOutsideClick.js +35 -62
  80. package/lib/hooks/useOpenAndCloseFocus.js +3 -8
  81. package/lib/hooks/useOverlay.js +19 -9
  82. package/lib/hooks/useSafeTimeout.js +0 -1
  83. package/lib/index.js +12 -112
  84. package/lib/polyfills/eventListenerSignal.js +1 -6
  85. package/lib/stories/Button.stories.js +114 -0
  86. package/lib/stories/Overlay.stories.js +102 -0
  87. package/lib/stories/Portal.stories.js +108 -0
  88. package/lib/stories/ThemeProvider.stories.js +95 -0
  89. package/lib/stories/useAnchoredPosition.stories.js +349 -0
  90. package/lib/stories/useFocusTrap.stories.js +278 -0
  91. package/lib/stories/useFocusZone.stories.js +490 -0
  92. package/lib/theme-preval.js +2057 -5148
  93. package/lib/utils/deprecate.js +2 -3
  94. package/lib/utils/isNumeric.js +0 -1
  95. package/lib/utils/iterateFocusableElements.js +1 -1
  96. package/lib/utils/test-deprecations.js +0 -1
  97. package/lib/utils/test-matchers.js +12 -3
  98. package/lib/utils/testing.js +4 -4
  99. package/lib/utils/theme.js +1 -1
  100. package/lib/utils/{types/AriaRole.js → types.js} +0 -0
  101. package/lib/utils/uniqueId.js +0 -1
  102. package/lib-esm/AvatarPair.js +5 -6
  103. package/lib-esm/AvatarStack.js +11 -11
  104. package/lib-esm/BaseStyles.js +16 -16
  105. package/lib-esm/BorderBox.js +3 -5
  106. package/lib-esm/Box.js +2 -2
  107. package/lib-esm/BranchName.js +1 -1
  108. package/lib-esm/{Breadcrumbs.js → Breadcrumb.js} +22 -32
  109. package/lib-esm/Button/Button.js +1 -1
  110. package/lib-esm/Button/ButtonClose.js +2 -2
  111. package/lib-esm/Button/ButtonInvisible.js +1 -1
  112. package/lib-esm/Button/ButtonTableList.js +1 -1
  113. package/lib-esm/CircleBadge.js +1 -1
  114. package/lib-esm/CircleOcticon.js +6 -9
  115. package/lib-esm/CounterLabel.js +2 -2
  116. package/lib-esm/Dialog.js +12 -10
  117. package/lib-esm/Dropdown.js +2 -2
  118. package/lib-esm/DropdownStyles.js +6 -6
  119. package/lib-esm/FilterList.js +1 -1
  120. package/lib-esm/Flash.js +1 -1
  121. package/lib-esm/Flex.js +0 -4
  122. package/lib-esm/Grid.js +2 -5
  123. package/lib-esm/Header.js +0 -1
  124. package/lib-esm/Label.js +2 -2
  125. package/lib-esm/Link.js +12 -1
  126. package/lib-esm/Overlay.js +38 -119
  127. package/lib-esm/Pagehead.js +1 -1
  128. package/lib-esm/Pagination/Pagination.js +2 -3
  129. package/lib-esm/Popover.js +3 -3
  130. package/lib-esm/Portal/Portal.js +12 -19
  131. package/lib-esm/Portal/index.js +1 -1
  132. package/lib-esm/Position.js +20 -45
  133. package/lib-esm/ProgressBar.js +1 -1
  134. package/lib-esm/SelectMenu/SelectMenu.js +3 -3
  135. package/lib-esm/SelectMenu/SelectMenuContext.js +1 -1
  136. package/lib-esm/SelectMenu/SelectMenuDivider.js +1 -1
  137. package/lib-esm/SelectMenu/SelectMenuFilter.js +4 -4
  138. package/lib-esm/SelectMenu/SelectMenuFooter.js +1 -1
  139. package/lib-esm/SelectMenu/SelectMenuHeader.js +2 -2
  140. package/lib-esm/SelectMenu/SelectMenuItem.js +2 -2
  141. package/lib-esm/SelectMenu/SelectMenuList.js +1 -1
  142. package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.js +10 -5
  143. package/lib-esm/SelectMenu/SelectMenuModal.js +5 -5
  144. package/lib-esm/SelectMenu/SelectMenuTab.js +1 -1
  145. package/lib-esm/SelectMenu/SelectMenuTabPanel.js +1 -1
  146. package/lib-esm/SelectMenu/hooks/useKeyboardNav.js +0 -2
  147. package/lib-esm/SideNav.js +7 -16
  148. package/lib-esm/StateLabel.js +4 -4
  149. package/lib-esm/SubNav.js +4 -7
  150. package/lib-esm/TabNav.js +4 -5
  151. package/lib-esm/TextInput.js +49 -22
  152. package/lib-esm/ThemeProvider.js +16 -31
  153. package/lib-esm/Timeline.js +24 -19
  154. package/lib-esm/Tooltip.js +1 -2
  155. package/lib-esm/UnderlineNav.js +3 -4
  156. package/lib-esm/behaviors/anchoredPosition.js +9 -17
  157. package/lib-esm/behaviors/focusTrap.js +14 -32
  158. package/lib-esm/behaviors/focusZone.js +148 -213
  159. package/lib-esm/constants.js +1 -2
  160. package/lib-esm/hooks/index.js +1 -2
  161. package/lib-esm/hooks/useAnchoredPosition.js +5 -10
  162. package/lib-esm/hooks/useDialog.js +1 -1
  163. package/lib-esm/hooks/useFocusTrap.js +8 -25
  164. package/lib-esm/hooks/useFocusZone.js +5 -5
  165. package/lib-esm/hooks/useMouseIntent.js +50 -0
  166. package/lib-esm/hooks/useOnEscapePress.js +10 -53
  167. package/lib-esm/hooks/useOnOutsideClick.js +37 -62
  168. package/lib-esm/hooks/useOpenAndCloseFocus.js +3 -8
  169. package/lib-esm/hooks/useOverlay.js +18 -9
  170. package/lib-esm/hooks/useSafeTimeout.js +0 -1
  171. package/lib-esm/index.js +10 -22
  172. package/lib-esm/polyfills/eventListenerSignal.js +1 -6
  173. package/lib-esm/stories/Button.stories.js +79 -0
  174. package/lib-esm/stories/Overlay.stories.js +80 -0
  175. package/lib-esm/stories/Portal.stories.js +72 -0
  176. package/lib-esm/stories/ThemeProvider.stories.js +76 -0
  177. package/lib-esm/stories/useAnchoredPosition.stories.js +311 -0
  178. package/lib-esm/stories/useFocusTrap.stories.js +234 -0
  179. package/lib-esm/stories/useFocusZone.stories.js +445 -0
  180. package/lib-esm/theme-preval.js +2057 -5148
  181. package/lib-esm/utils/deprecate.js +2 -3
  182. package/lib-esm/utils/isNumeric.js +0 -1
  183. package/lib-esm/utils/iterateFocusableElements.js +1 -1
  184. package/lib-esm/utils/test-deprecations.js +1 -1
  185. package/lib-esm/utils/test-matchers.js +11 -3
  186. package/lib-esm/utils/testing.js +6 -6
  187. package/lib-esm/utils/theme.js +1 -1
  188. package/lib-esm/utils/{test-helpers.d.ts → types.js} +0 -0
  189. package/lib-esm/utils/uniqueId.js +0 -1
  190. package/package.json +95 -103
  191. package/codemods/__tests__/deprecateUtilityComponents.js +0 -200
  192. package/codemods/__tests__/removeSystemProps.js +0 -225
  193. package/codemods/deprecateUtilityComponents.js +0 -111
  194. package/codemods/removeSystemProps.js +0 -312
  195. package/lib/ActionList/Divider.d.ts +0 -9
  196. package/lib/ActionList/Divider.js +0 -40
  197. package/lib/ActionList/Group.d.ts +0 -28
  198. package/lib/ActionList/Group.js +0 -35
  199. package/lib/ActionList/Header.d.ts +0 -29
  200. package/lib/ActionList/Header.js +0 -51
  201. package/lib/ActionList/Item.d.ts +0 -92
  202. package/lib/ActionList/Item.js +0 -288
  203. package/lib/ActionList/List.d.ts +0 -88
  204. package/lib/ActionList/List.js +0 -199
  205. package/lib/ActionList/index.d.ts +0 -17
  206. package/lib/ActionList/index.js +0 -29
  207. package/lib/ActionMenu.d.ts +0 -40
  208. package/lib/ActionMenu.js +0 -103
  209. package/lib/AnchoredOverlay/AnchoredOverlay.d.ts +0 -62
  210. package/lib/AnchoredOverlay/AnchoredOverlay.js +0 -124
  211. package/lib/AnchoredOverlay/index.d.ts +0 -2
  212. package/lib/AnchoredOverlay/index.js +0 -13
  213. package/lib/Autocomplete/Autocomplete.d.ts +0 -40
  214. package/lib/Autocomplete/Autocomplete.js +0 -68
  215. package/lib/Autocomplete/AutocompleteContext.d.ts +0 -17
  216. package/lib/Autocomplete/AutocompleteContext.js +0 -11
  217. package/lib/Autocomplete/AutocompleteInput.d.ts +0 -9
  218. package/lib/Autocomplete/AutocompleteInput.js +0 -150
  219. package/lib/Autocomplete/AutocompleteMenu.d.ts +0 -71
  220. package/lib/Autocomplete/AutocompleteMenu.js +0 -223
  221. package/lib/Autocomplete/AutocompleteOverlay.d.ts +0 -17
  222. package/lib/Autocomplete/AutocompleteOverlay.js +0 -69
  223. package/lib/Autocomplete/index.d.ts +0 -2
  224. package/lib/Autocomplete/index.js +0 -15
  225. package/lib/Avatar.d.ts +0 -15
  226. package/lib/AvatarPair.d.ts +0 -8
  227. package/lib/AvatarStack.d.ts +0 -8
  228. package/lib/BaseStyles.d.ts +0 -14
  229. package/lib/BorderBox.d.ts +0 -7
  230. package/lib/Box.d.ts +0 -6
  231. package/lib/BranchName.d.ts +0 -6
  232. package/lib/Breadcrumbs.d.ts +0 -40
  233. package/lib/Button/Button.d.ts +0 -284
  234. package/lib/Button/ButtonBase.d.ts +0 -12
  235. package/lib/Button/ButtonClose.d.ts +0 -321
  236. package/lib/Button/ButtonDanger.d.ts +0 -284
  237. package/lib/Button/ButtonGroup.d.ts +0 -4
  238. package/lib/Button/ButtonInvisible.d.ts +0 -284
  239. package/lib/Button/ButtonOutline.d.ts +0 -284
  240. package/lib/Button/ButtonPrimary.d.ts +0 -284
  241. package/lib/Button/ButtonStyles.d.ts +0 -2
  242. package/lib/Button/ButtonTableList.d.ts +0 -6
  243. package/lib/Button/index.d.ts +0 -16
  244. package/lib/Caret.d.ts +0 -21
  245. package/lib/CircleBadge.d.ts +0 -25
  246. package/lib/CircleOcticon.d.ts +0 -391
  247. package/lib/CounterLabel.d.ts +0 -8
  248. package/lib/Details.d.ts +0 -6
  249. package/lib/Dialog/ConfirmationDialog.d.ts +0 -44
  250. package/lib/Dialog/ConfirmationDialog.js +0 -191
  251. package/lib/Dialog/Dialog.d.ts +0 -167
  252. package/lib/Dialog/Dialog.js +0 -304
  253. package/lib/Dialog.d.ts +0 -406
  254. package/lib/Dropdown.d.ts +0 -1262
  255. package/lib/DropdownMenu/DropdownButton.d.ts +0 -323
  256. package/lib/DropdownMenu/DropdownButton.js +0 -31
  257. package/lib/DropdownMenu/DropdownMenu.d.ts +0 -43
  258. package/lib/DropdownMenu/DropdownMenu.js +0 -94
  259. package/lib/DropdownMenu/index.d.ts +0 -4
  260. package/lib/DropdownMenu/index.js +0 -21
  261. package/lib/DropdownStyles.d.ts +0 -3
  262. package/lib/FilterList.d.ts +0 -321
  263. package/lib/FilteredActionList/FilteredActionList.d.ts +0 -16
  264. package/lib/FilteredActionList/FilteredActionList.js +0 -137
  265. package/lib/FilteredActionList/index.d.ts +0 -2
  266. package/lib/FilteredActionList/index.js +0 -13
  267. package/lib/FilteredSearch.d.ts +0 -6
  268. package/lib/Flash.d.ts +0 -9
  269. package/lib/Flex.d.ts +0 -7
  270. package/lib/FormGroup.d.ts +0 -12
  271. package/lib/Grid.d.ts +0 -7
  272. package/lib/Header.d.ts +0 -24
  273. package/lib/Heading.d.ts +0 -6
  274. package/lib/Label.d.ts +0 -11
  275. package/lib/LabelGroup.d.ts +0 -6
  276. package/lib/Link.d.ts +0 -10
  277. package/lib/Overlay.d.ts +0 -63
  278. package/lib/Pagehead.d.ts +0 -6
  279. package/lib/Pagination/Pagination.d.ts +0 -24
  280. package/lib/Pagination/index.d.ts +0 -3
  281. package/lib/Pagination/model.d.ts +0 -26
  282. package/lib/PointerBox.d.ts +0 -11
  283. package/lib/Popover.d.ts +0 -21
  284. package/lib/Portal/Portal.d.ts +0 -25
  285. package/lib/Portal/index.d.ts +0 -4
  286. package/lib/Position.d.ts +0 -34
  287. package/lib/ProgressBar.d.ts +0 -21
  288. package/lib/SelectMenu/SelectMenu.d.ts +0 -1832
  289. package/lib/SelectMenu/SelectMenuContext.d.ts +0 -8
  290. package/lib/SelectMenu/SelectMenuDivider.d.ts +0 -6
  291. package/lib/SelectMenu/SelectMenuFilter.d.ts +0 -9
  292. package/lib/SelectMenu/SelectMenuFooter.d.ts +0 -6
  293. package/lib/SelectMenu/SelectMenuHeader.d.ts +0 -11
  294. package/lib/SelectMenu/SelectMenuItem.d.ts +0 -15
  295. package/lib/SelectMenu/SelectMenuList.d.ts +0 -6
  296. package/lib/SelectMenu/SelectMenuLoadingAnimation.d.ts +0 -7
  297. package/lib/SelectMenu/SelectMenuModal.d.ts +0 -15
  298. package/lib/SelectMenu/SelectMenuTab.d.ts +0 -14
  299. package/lib/SelectMenu/SelectMenuTabPanel.d.ts +0 -13
  300. package/lib/SelectMenu/SelectMenuTabs.d.ts +0 -11
  301. package/lib/SelectMenu/hooks/useKeyboardNav.d.ts +0 -2
  302. package/lib/SelectMenu/index.d.ts +0 -2
  303. package/lib/SelectPanel/SelectPanel.d.ts +0 -25
  304. package/lib/SelectPanel/SelectPanel.js +0 -147
  305. package/lib/SelectPanel/index.d.ts +0 -2
  306. package/lib/SelectPanel/index.js +0 -13
  307. package/lib/SideNav.d.ts +0 -31
  308. package/lib/Spinner.d.ts +0 -17
  309. package/lib/Spinner.js +0 -60
  310. package/lib/StateLabel.d.ts +0 -16
  311. package/lib/StyledOcticon.d.ts +0 -12
  312. package/lib/SubNav.d.ts +0 -32
  313. package/lib/TabNav.d.ts +0 -20
  314. package/lib/Text.d.ts +0 -6
  315. package/lib/TextInput.d.ts +0 -14
  316. package/lib/TextInputWithTokens.d.ts +0 -323
  317. package/lib/TextInputWithTokens.js +0 -244
  318. package/lib/ThemeProvider.d.ts +0 -26
  319. package/lib/Timeline.d.ts +0 -407
  320. package/lib/Token/IssueLabelToken.d.ts +0 -14
  321. package/lib/Token/IssueLabelToken.js +0 -144
  322. package/lib/Token/ProfileToken.d.ts +0 -7
  323. package/lib/Token/ProfileToken.js +0 -53
  324. package/lib/Token/Token.d.ts +0 -15
  325. package/lib/Token/Token.js +0 -94
  326. package/lib/Token/TokenBase.d.ts +0 -17
  327. package/lib/Token/TokenBase.js +0 -108
  328. package/lib/Token/_RemoveTokenButton.d.ts +0 -12
  329. package/lib/Token/_RemoveTokenButton.js +0 -77
  330. package/lib/Token/_TokenTextContainer.d.ts +0 -3
  331. package/lib/Token/_TokenTextContainer.js +0 -28
  332. package/lib/Token/index.d.ts +0 -3
  333. package/lib/Token/index.js +0 -31
  334. package/lib/Tooltip.d.ts +0 -18
  335. package/lib/Truncate.d.ts +0 -11
  336. package/lib/UnderlineNav.d.ts +0 -25
  337. package/lib/_TextInputWrapper.d.ts +0 -10
  338. package/lib/_TextInputWrapper.js +0 -51
  339. package/lib/_UnstyledTextInput.d.ts +0 -2
  340. package/lib/_UnstyledTextInput.js +0 -20
  341. package/lib/behaviors/anchoredPosition.d.ts +0 -89
  342. package/lib/behaviors/focusTrap.d.ts +0 -12
  343. package/lib/behaviors/focusZone.d.ts +0 -137
  344. package/lib/constants.d.ts +0 -20
  345. package/lib/hooks/index.d.ts +0 -11
  346. package/lib/hooks/useAnchoredPosition.d.ts +0 -20
  347. package/lib/hooks/useCombinedRefs.d.ts +0 -10
  348. package/lib/hooks/useCombinedRefs.js +0 -49
  349. package/lib/hooks/useDetails.d.ts +0 -17
  350. package/lib/hooks/useDialog.d.ts +0 -16
  351. package/lib/hooks/useFocusTrap.d.ts +0 -32
  352. package/lib/hooks/useFocusZone.d.ts +0 -23
  353. package/lib/hooks/useOnEscapePress.d.ts +0 -23
  354. package/lib/hooks/useOnOutsideClick.d.ts +0 -8
  355. package/lib/hooks/useOpenAndCloseFocus.d.ts +0 -8
  356. package/lib/hooks/useOverlay.d.ts +0 -15
  357. package/lib/hooks/useProvidedRefOrCreate.d.ts +0 -10
  358. package/lib/hooks/useProvidedStateOrCreate.d.ts +0 -10
  359. package/lib/hooks/useProvidedStateOrCreate.js +0 -27
  360. package/lib/hooks/useRenderForcingRef.d.ts +0 -8
  361. package/lib/hooks/useRenderForcingRef.js +0 -25
  362. package/lib/hooks/useResizeObserver.d.ts +0 -1
  363. package/lib/hooks/useResizeObserver.js +0 -20
  364. package/lib/hooks/useSafeTimeout.d.ts +0 -12
  365. package/lib/hooks/useScrollFlash.d.ts +0 -6
  366. package/lib/hooks/useScrollFlash.js +0 -29
  367. package/lib/index.d.ts +0 -114
  368. package/lib/polyfills/eventListenerSignal.d.ts +0 -6
  369. package/lib/sx.d.ts +0 -6
  370. package/lib/theme-preval.d.ts +0 -49
  371. package/lib/theme.d.ts +0 -2
  372. package/lib/utils/deprecate.d.ts +0 -18
  373. package/lib/utils/isNumeric.d.ts +0 -1
  374. package/lib/utils/iterateFocusableElements.d.ts +0 -42
  375. package/lib/utils/scrollIntoViewingArea.d.ts +0 -1
  376. package/lib/utils/scrollIntoViewingArea.js +0 -39
  377. package/lib/utils/ssr.d.ts +0 -1
  378. package/lib/utils/ssr.js +0 -19
  379. package/lib/utils/test-deprecations.d.ts +0 -1
  380. package/lib/utils/test-helpers.d.ts +0 -0
  381. package/lib/utils/test-helpers.js +0 -9
  382. package/lib/utils/test-matchers.d.ts +0 -1
  383. package/lib/utils/testing.d.ts +0 -1028
  384. package/lib/utils/theme.d.ts +0 -9
  385. package/lib/utils/types/AriaRole.d.ts +0 -4
  386. package/lib/utils/types/ComponentProps.d.ts +0 -9
  387. package/lib/utils/types/ComponentProps.js +0 -1
  388. package/lib/utils/types/Flatten.d.ts +0 -4
  389. package/lib/utils/types/Flatten.js +0 -1
  390. package/lib/utils/types/Merge.d.ts +0 -19
  391. package/lib/utils/types/Merge.js +0 -1
  392. package/lib/utils/types/index.d.ts +0 -4
  393. package/lib/utils/types/index.js +0 -57
  394. package/lib/utils/uniqueId.d.ts +0 -1
  395. package/lib/utils/userAgent.d.ts +0 -1
  396. package/lib-esm/ActionList/Divider.d.ts +0 -9
  397. package/lib-esm/ActionList/Divider.js +0 -23
  398. package/lib-esm/ActionList/Group.d.ts +0 -28
  399. package/lib-esm/ActionList/Group.js +0 -24
  400. package/lib-esm/ActionList/Header.d.ts +0 -29
  401. package/lib-esm/ActionList/Header.js +0 -33
  402. package/lib-esm/ActionList/Item.d.ts +0 -92
  403. package/lib-esm/ActionList/Item.js +0 -253
  404. package/lib-esm/ActionList/List.d.ts +0 -88
  405. package/lib-esm/ActionList/List.js +0 -181
  406. package/lib-esm/ActionList/index.d.ts +0 -17
  407. package/lib-esm/ActionList/index.js +0 -18
  408. package/lib-esm/ActionMenu.d.ts +0 -40
  409. package/lib-esm/ActionMenu.js +0 -82
  410. package/lib-esm/AnchoredOverlay/AnchoredOverlay.d.ts +0 -62
  411. package/lib-esm/AnchoredOverlay/AnchoredOverlay.js +0 -104
  412. package/lib-esm/AnchoredOverlay/index.d.ts +0 -2
  413. package/lib-esm/AnchoredOverlay/index.js +0 -1
  414. package/lib-esm/Autocomplete/Autocomplete.d.ts +0 -40
  415. package/lib-esm/Autocomplete/Autocomplete.js +0 -47
  416. package/lib-esm/Autocomplete/AutocompleteContext.d.ts +0 -17
  417. package/lib-esm/Autocomplete/AutocompleteContext.js +0 -2
  418. package/lib-esm/Autocomplete/AutocompleteInput.d.ts +0 -9
  419. package/lib-esm/Autocomplete/AutocompleteInput.js +0 -131
  420. package/lib-esm/Autocomplete/AutocompleteMenu.d.ts +0 -71
  421. package/lib-esm/Autocomplete/AutocompleteMenu.js +0 -204
  422. package/lib-esm/Autocomplete/AutocompleteOverlay.d.ts +0 -17
  423. package/lib-esm/Autocomplete/AutocompleteOverlay.js +0 -51
  424. package/lib-esm/Autocomplete/index.d.ts +0 -2
  425. package/lib-esm/Autocomplete/index.js +0 -1
  426. package/lib-esm/Avatar.d.ts +0 -15
  427. package/lib-esm/AvatarPair.d.ts +0 -8
  428. package/lib-esm/AvatarStack.d.ts +0 -8
  429. package/lib-esm/BaseStyles.d.ts +0 -14
  430. package/lib-esm/BorderBox.d.ts +0 -7
  431. package/lib-esm/Box.d.ts +0 -6
  432. package/lib-esm/BranchName.d.ts +0 -6
  433. package/lib-esm/Breadcrumbs.d.ts +0 -40
  434. package/lib-esm/Button/Button.d.ts +0 -284
  435. package/lib-esm/Button/ButtonBase.d.ts +0 -12
  436. package/lib-esm/Button/ButtonClose.d.ts +0 -321
  437. package/lib-esm/Button/ButtonDanger.d.ts +0 -284
  438. package/lib-esm/Button/ButtonGroup.d.ts +0 -4
  439. package/lib-esm/Button/ButtonInvisible.d.ts +0 -284
  440. package/lib-esm/Button/ButtonOutline.d.ts +0 -284
  441. package/lib-esm/Button/ButtonPrimary.d.ts +0 -284
  442. package/lib-esm/Button/ButtonStyles.d.ts +0 -2
  443. package/lib-esm/Button/ButtonTableList.d.ts +0 -6
  444. package/lib-esm/Button/index.d.ts +0 -16
  445. package/lib-esm/Caret.d.ts +0 -21
  446. package/lib-esm/CircleBadge.d.ts +0 -25
  447. package/lib-esm/CircleOcticon.d.ts +0 -391
  448. package/lib-esm/CounterLabel.d.ts +0 -8
  449. package/lib-esm/Details.d.ts +0 -6
  450. package/lib-esm/Dialog/ConfirmationDialog.d.ts +0 -44
  451. package/lib-esm/Dialog/ConfirmationDialog.js +0 -169
  452. package/lib-esm/Dialog/Dialog.d.ts +0 -167
  453. package/lib-esm/Dialog/Dialog.js +0 -274
  454. package/lib-esm/Dialog.d.ts +0 -406
  455. package/lib-esm/Dropdown.d.ts +0 -1262
  456. package/lib-esm/DropdownMenu/DropdownButton.d.ts +0 -323
  457. package/lib-esm/DropdownMenu/DropdownButton.js +0 -16
  458. package/lib-esm/DropdownMenu/DropdownMenu.d.ts +0 -43
  459. package/lib-esm/DropdownMenu/DropdownMenu.js +0 -77
  460. package/lib-esm/DropdownMenu/index.d.ts +0 -4
  461. package/lib-esm/DropdownMenu/index.js +0 -2
  462. package/lib-esm/DropdownStyles.d.ts +0 -3
  463. package/lib-esm/FilterList.d.ts +0 -321
  464. package/lib-esm/FilteredActionList/FilteredActionList.d.ts +0 -16
  465. package/lib-esm/FilteredActionList/FilteredActionList.js +0 -109
  466. package/lib-esm/FilteredActionList/index.d.ts +0 -2
  467. package/lib-esm/FilteredActionList/index.js +0 -1
  468. package/lib-esm/FilteredSearch.d.ts +0 -6
  469. package/lib-esm/Flash.d.ts +0 -9
  470. package/lib-esm/Flex.d.ts +0 -7
  471. package/lib-esm/FormGroup.d.ts +0 -12
  472. package/lib-esm/Grid.d.ts +0 -7
  473. package/lib-esm/Header.d.ts +0 -24
  474. package/lib-esm/Heading.d.ts +0 -6
  475. package/lib-esm/Label.d.ts +0 -11
  476. package/lib-esm/LabelGroup.d.ts +0 -6
  477. package/lib-esm/Link.d.ts +0 -10
  478. package/lib-esm/Overlay.d.ts +0 -63
  479. package/lib-esm/Pagehead.d.ts +0 -6
  480. package/lib-esm/Pagination/Pagination.d.ts +0 -24
  481. package/lib-esm/Pagination/index.d.ts +0 -3
  482. package/lib-esm/Pagination/model.d.ts +0 -26
  483. package/lib-esm/PointerBox.d.ts +0 -11
  484. package/lib-esm/Popover.d.ts +0 -21
  485. package/lib-esm/Portal/Portal.d.ts +0 -25
  486. package/lib-esm/Portal/index.d.ts +0 -4
  487. package/lib-esm/Position.d.ts +0 -34
  488. package/lib-esm/ProgressBar.d.ts +0 -21
  489. package/lib-esm/SelectMenu/SelectMenu.d.ts +0 -1832
  490. package/lib-esm/SelectMenu/SelectMenuContext.d.ts +0 -8
  491. package/lib-esm/SelectMenu/SelectMenuDivider.d.ts +0 -6
  492. package/lib-esm/SelectMenu/SelectMenuFilter.d.ts +0 -9
  493. package/lib-esm/SelectMenu/SelectMenuFooter.d.ts +0 -6
  494. package/lib-esm/SelectMenu/SelectMenuHeader.d.ts +0 -11
  495. package/lib-esm/SelectMenu/SelectMenuItem.d.ts +0 -15
  496. package/lib-esm/SelectMenu/SelectMenuList.d.ts +0 -6
  497. package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.d.ts +0 -7
  498. package/lib-esm/SelectMenu/SelectMenuModal.d.ts +0 -15
  499. package/lib-esm/SelectMenu/SelectMenuTab.d.ts +0 -14
  500. package/lib-esm/SelectMenu/SelectMenuTabPanel.d.ts +0 -13
  501. package/lib-esm/SelectMenu/SelectMenuTabs.d.ts +0 -11
  502. package/lib-esm/SelectMenu/hooks/useKeyboardNav.d.ts +0 -2
  503. package/lib-esm/SelectMenu/index.d.ts +0 -2
  504. package/lib-esm/SelectPanel/SelectPanel.d.ts +0 -25
  505. package/lib-esm/SelectPanel/SelectPanel.js +0 -127
  506. package/lib-esm/SelectPanel/index.d.ts +0 -2
  507. package/lib-esm/SelectPanel/index.js +0 -1
  508. package/lib-esm/SideNav.d.ts +0 -31
  509. package/lib-esm/Spinner.d.ts +0 -17
  510. package/lib-esm/Spinner.js +0 -46
  511. package/lib-esm/StateLabel.d.ts +0 -16
  512. package/lib-esm/StyledOcticon.d.ts +0 -12
  513. package/lib-esm/SubNav.d.ts +0 -32
  514. package/lib-esm/TabNav.d.ts +0 -20
  515. package/lib-esm/Text.d.ts +0 -6
  516. package/lib-esm/TextInput.d.ts +0 -14
  517. package/lib-esm/TextInputWithTokens.d.ts +0 -323
  518. package/lib-esm/TextInputWithTokens.js +0 -219
  519. package/lib-esm/ThemeProvider.d.ts +0 -26
  520. package/lib-esm/Timeline.d.ts +0 -407
  521. package/lib-esm/Token/IssueLabelToken.d.ts +0 -14
  522. package/lib-esm/Token/IssueLabelToken.js +0 -124
  523. package/lib-esm/Token/ProfileToken.d.ts +0 -7
  524. package/lib-esm/Token/ProfileToken.js +0 -33
  525. package/lib-esm/Token/Token.d.ts +0 -15
  526. package/lib-esm/Token/Token.js +0 -73
  527. package/lib-esm/Token/TokenBase.d.ts +0 -17
  528. package/lib-esm/Token/TokenBase.js +0 -87
  529. package/lib-esm/Token/_RemoveTokenButton.d.ts +0 -12
  530. package/lib-esm/Token/_RemoveTokenButton.js +0 -60
  531. package/lib-esm/Token/_TokenTextContainer.d.ts +0 -3
  532. package/lib-esm/Token/_TokenTextContainer.js +0 -15
  533. package/lib-esm/Token/index.d.ts +0 -3
  534. package/lib-esm/Token/index.js +0 -3
  535. package/lib-esm/Tooltip.d.ts +0 -18
  536. package/lib-esm/Truncate.d.ts +0 -11
  537. package/lib-esm/UnderlineNav.d.ts +0 -25
  538. package/lib-esm/_TextInputWrapper.d.ts +0 -10
  539. package/lib-esm/_TextInputWrapper.js +0 -31
  540. package/lib-esm/_UnstyledTextInput.d.ts +0 -2
  541. package/lib-esm/_UnstyledTextInput.js +0 -7
  542. package/lib-esm/behaviors/anchoredPosition.d.ts +0 -89
  543. package/lib-esm/behaviors/focusTrap.d.ts +0 -12
  544. package/lib-esm/behaviors/focusZone.d.ts +0 -137
  545. package/lib-esm/constants.d.ts +0 -20
  546. package/lib-esm/hooks/index.d.ts +0 -11
  547. package/lib-esm/hooks/useAnchoredPosition.d.ts +0 -20
  548. package/lib-esm/hooks/useCombinedRefs.d.ts +0 -10
  549. package/lib-esm/hooks/useCombinedRefs.js +0 -36
  550. package/lib-esm/hooks/useDetails.d.ts +0 -17
  551. package/lib-esm/hooks/useDialog.d.ts +0 -16
  552. package/lib-esm/hooks/useFocusTrap.d.ts +0 -32
  553. package/lib-esm/hooks/useFocusZone.d.ts +0 -23
  554. package/lib-esm/hooks/useOnEscapePress.d.ts +0 -23
  555. package/lib-esm/hooks/useOnOutsideClick.d.ts +0 -8
  556. package/lib-esm/hooks/useOpenAndCloseFocus.d.ts +0 -8
  557. package/lib-esm/hooks/useOverlay.d.ts +0 -15
  558. package/lib-esm/hooks/useProvidedRefOrCreate.d.ts +0 -10
  559. package/lib-esm/hooks/useProvidedStateOrCreate.d.ts +0 -10
  560. package/lib-esm/hooks/useProvidedStateOrCreate.js +0 -20
  561. package/lib-esm/hooks/useRenderForcingRef.d.ts +0 -8
  562. package/lib-esm/hooks/useRenderForcingRef.js +0 -18
  563. package/lib-esm/hooks/useResizeObserver.d.ts +0 -1
  564. package/lib-esm/hooks/useResizeObserver.js +0 -10
  565. package/lib-esm/hooks/useSafeTimeout.d.ts +0 -12
  566. package/lib-esm/hooks/useScrollFlash.d.ts +0 -6
  567. package/lib-esm/hooks/useScrollFlash.js +0 -22
  568. package/lib-esm/index.d.ts +0 -114
  569. package/lib-esm/polyfills/eventListenerSignal.d.ts +0 -6
  570. package/lib-esm/sx.d.ts +0 -6
  571. package/lib-esm/theme-preval.d.ts +0 -49
  572. package/lib-esm/theme.d.ts +0 -2
  573. package/lib-esm/utils/deprecate.d.ts +0 -18
  574. package/lib-esm/utils/isNumeric.d.ts +0 -1
  575. package/lib-esm/utils/iterateFocusableElements.d.ts +0 -42
  576. package/lib-esm/utils/scrollIntoViewingArea.d.ts +0 -1
  577. package/lib-esm/utils/scrollIntoViewingArea.js +0 -30
  578. package/lib-esm/utils/ssr.d.ts +0 -1
  579. package/lib-esm/utils/ssr.js +0 -1
  580. package/lib-esm/utils/test-deprecations.d.ts +0 -1
  581. package/lib-esm/utils/test-helpers.js +0 -7
  582. package/lib-esm/utils/test-matchers.d.ts +0 -1
  583. package/lib-esm/utils/testing.d.ts +0 -1028
  584. package/lib-esm/utils/theme.d.ts +0 -9
  585. package/lib-esm/utils/types/AriaRole.d.ts +0 -4
  586. package/lib-esm/utils/types/AriaRole.js +0 -1
  587. package/lib-esm/utils/types/ComponentProps.d.ts +0 -9
  588. package/lib-esm/utils/types/ComponentProps.js +0 -1
  589. package/lib-esm/utils/types/Flatten.d.ts +0 -4
  590. package/lib-esm/utils/types/Flatten.js +0 -1
  591. package/lib-esm/utils/types/Merge.d.ts +0 -19
  592. package/lib-esm/utils/types/Merge.js +0 -1
  593. package/lib-esm/utils/types/index.d.ts +0 -4
  594. package/lib-esm/utils/types/index.js +0 -4
  595. package/lib-esm/utils/uniqueId.d.ts +0 -1
  596. package/lib-esm/utils/userAgent.d.ts +0 -1
@@ -18,34 +18,13 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
18
18
  * that should trap focus.
19
19
  * @param settings {FocusTrapHookSettings}
20
20
  */
21
- function useFocusTrap(settings, dependencies = []) {
21
+ function useFocusTrap(settings) {
22
22
  const containerRef = (0, _useProvidedRefOrCreate.useProvidedRefOrCreate)(settings === null || settings === void 0 ? void 0 : settings.containerRef);
23
23
  const initialFocusRef = (0, _useProvidedRefOrCreate.useProvidedRefOrCreate)(settings === null || settings === void 0 ? void 0 : settings.initialFocusRef);
24
24
  const disabled = settings === null || settings === void 0 ? void 0 : settings.disabled;
25
25
 
26
26
  const abortController = _react.default.useRef();
27
27
 
28
- const previousFocusedElement = _react.default.useRef(null); // If we are enabling a focus trap and haven't already stored the previously focused element
29
- // go ahead an do that so we can restore later when the trap is disabled.
30
-
31
-
32
- if (!previousFocusedElement.current && !(settings !== null && settings !== void 0 && settings.disabled)) {
33
- previousFocusedElement.current = document.activeElement;
34
- } // This function removes the event listeners that enable the focus trap and restores focus
35
- // to the previously-focused element (if necessary).
36
-
37
-
38
- function disableTrap() {
39
- var _abortController$curr;
40
-
41
- (_abortController$curr = abortController.current) === null || _abortController$curr === void 0 ? void 0 : _abortController$curr.abort();
42
-
43
- if (settings !== null && settings !== void 0 && settings.restoreFocusOnCleanUp && previousFocusedElement.current instanceof HTMLElement) {
44
- previousFocusedElement.current.focus();
45
- previousFocusedElement.current = null;
46
- }
47
- }
48
-
49
28
  _react.default.useEffect(() => {
50
29
  if (containerRef.current instanceof HTMLElement) {
51
30
  if (!disabled) {
@@ -53,14 +32,17 @@ function useFocusTrap(settings, dependencies = []) {
53
32
 
54
33
  abortController.current = (0, _focusTrap.focusTrap)(containerRef.current, (_initialFocusRef$curr = initialFocusRef.current) !== null && _initialFocusRef$curr !== void 0 ? _initialFocusRef$curr : undefined);
55
34
  return () => {
56
- disableTrap();
35
+ var _abortController$curr;
36
+
37
+ (_abortController$curr = abortController.current) === null || _abortController$curr === void 0 ? void 0 : _abortController$curr.abort();
57
38
  };
58
39
  } else {
59
- disableTrap();
40
+ var _abortController$curr2;
41
+
42
+ (_abortController$curr2 = abortController.current) === null || _abortController$curr2 === void 0 ? void 0 : _abortController$curr2.abort();
60
43
  }
61
44
  }
62
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
63
- [containerRef, initialFocusRef, disabled, ...dependencies]);
45
+ }, [containerRef, initialFocusRef, disabled]);
64
46
 
65
47
  return {
66
48
  containerRef,
@@ -11,16 +11,16 @@ var _focusZone = require("../behaviors/focusZone");
11
11
 
12
12
  var _useProvidedRefOrCreate = require("./useProvidedRefOrCreate");
13
13
 
14
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
15
15
 
16
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
17
 
18
- function useFocusZone(settings = {}, dependencies = []) {
18
+ function useFocusZone(settings = {}, dependencies) {
19
19
  const containerRef = (0, _useProvidedRefOrCreate.useProvidedRefOrCreate)(settings.containerRef);
20
20
  const useActiveDescendant = !!settings.activeDescendantFocus;
21
21
  const passedActiveDescendantRef = typeof settings.activeDescendantFocus === 'boolean' || !settings.activeDescendantFocus ? undefined : settings.activeDescendantFocus;
22
22
  const activeDescendantControlRef = (0, _useProvidedRefOrCreate.useProvidedRefOrCreate)(passedActiveDescendantRef);
23
- const disabled = settings.disabled;
23
+ const disabled = settings === null || settings === void 0 ? void 0 : settings.disabled;
24
24
 
25
25
  const abortController = _react.default.useRef();
26
26
 
@@ -43,9 +43,9 @@ function useFocusZone(settings = {}, dependencies = []) {
43
43
 
44
44
  (_abortController$curr2 = abortController.current) === null || _abortController$curr2 === void 0 ? void 0 : _abortController$curr2.abort();
45
45
  }
46
- }
47
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
48
- [disabled, ...dependencies]);
46
+ } // eslint-disable-next-line react-hooks/exhaustive-deps
47
+
48
+ }, dependencies !== null && dependencies !== void 0 ? dependencies : []);
49
49
  return {
50
50
  containerRef,
51
51
  activeDescendantControlRef
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ /* adapted from: https://github.com/github/github/blob/a959c0d15c29b98c49b881f520c5947fe24eecb9/app/assets/modules/github/behaviors/button-outline.ts */
11
+ const useMouseIntent = () => {
12
+ (0, _react.useEffect)(() => {
13
+ let lastActiveElement = null;
14
+ let currentInputIsMouse = false;
15
+
16
+ function setClass() {
17
+ lastActiveElement = document.activeElement;
18
+
19
+ if (document.body) {
20
+ document.body.classList.toggle('intent-mouse', currentInputIsMouse);
21
+ }
22
+ }
23
+
24
+ function onKeyDown() {
25
+ currentInputIsMouse = false;
26
+ }
27
+
28
+ function onMouseDown() {
29
+ currentInputIsMouse = true;
30
+ if (lastActiveElement === document.activeElement) setClass();
31
+ } // Use mousedown event to make sure outline is remove for holding and dragging
32
+
33
+
34
+ document.addEventListener('mousedown', onMouseDown, {
35
+ capture: true
36
+ });
37
+ document.addEventListener('keydown', onKeyDown, {
38
+ capture: true
39
+ });
40
+ document.addEventListener('focusin', setClass, {
41
+ capture: true
42
+ });
43
+ return () => {
44
+ document.removeEventListener('keydown', onKeyDown, {
45
+ capture: true
46
+ });
47
+ document.removeEventListener('focusin', setClass, {
48
+ capture: true
49
+ });
50
+ document.removeEventListener('mousedown', onMouseDown, {
51
+ capture: true
52
+ });
53
+ };
54
+ }, []);
55
+ };
56
+
57
+ var _default = useMouseIntent;
58
+ exports.default = _default;
@@ -7,63 +7,20 @@ exports.useOnEscapePress = void 0;
7
7
 
8
8
  var _react = require("react");
9
9
 
10
- const handlers = [];
11
- /**
12
- * Calls all handlers in reverse order
13
- * @param event The KeyboardEvent generated by the Escape keydown.
14
- */
15
-
16
- function handleEscape(event) {
17
- if (event.key === 'Escape' && !event.defaultPrevented) {
18
- for (let i = handlers.length - 1; i >= 0; --i) {
19
- handlers[i](event); // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
20
-
21
- if (event.defaultPrevented) {
22
- break;
23
- }
10
+ const useOnEscapePress = ({
11
+ onEscape
12
+ }) => {
13
+ const handleEscape = (0, _react.useCallback)(e => {
14
+ if (e.key === 'Escape' && !e.defaultPrevented) {
15
+ onEscape(e);
24
16
  }
25
- }
26
- }
27
- /**
28
- * Sets up a `keydown` listener on `window.document`. If
29
- * 1) The pressed key is "Escape", and
30
- * 2) The event has not had `.preventDefault()` called
31
- * The given callback will be executed.
32
- *
33
- * Note: If multiple `useOnEscapePress` hooks are active simultaneously, the
34
- * callbacks will occur in reverse order. In other words, if a parent component
35
- * and a child component both call `useOnEscapePress`, when the user presses
36
- * Escape, the child component's callback will execute, followed by the parent's
37
- * callback. Each callback has the chance to call `.preventDefault()` on the
38
- * event to prevent further callbacks.
39
- *
40
- * @param callback {(e: KeyboardEvent) => void} The callback that gets executed
41
- * when the Escape key is pressed. The KeyboardEvent generated by the Escape
42
- * keypress is passed as the only argument.
43
- *
44
- * @param callbackDependencies {React.DependencyList} The dependencies of the given
45
- * `onEscape` callback for memoization. Omit this param if the callback is already
46
- * memoized. See `React.useCallback` for more info on memoization.
47
- */
48
-
49
-
50
- const useOnEscapePress = (onEscape, callbackDependencies = [onEscape]) => {
51
- // eslint-disable-next-line react-hooks/exhaustive-deps
52
- const escapeCallback = (0, _react.useCallback)(onEscape, callbackDependencies);
17
+ }, [onEscape]);
53
18
  (0, _react.useEffect)(() => {
54
- if (handlers.length === 0) {
55
- document.addEventListener('keydown', handleEscape);
56
- }
57
-
58
- handlers.push(escapeCallback);
19
+ document.addEventListener('keydown', handleEscape);
59
20
  return () => {
60
- handlers.splice(handlers.findIndex(h => h === escapeCallback), 1);
61
-
62
- if (handlers.length === 0) {
63
- document.removeEventListener('keydown', handleEscape);
64
- }
21
+ document.removeEventListener('keydown', handleEscape);
65
22
  };
66
- }, [escapeCallback]);
23
+ }, [handleEscape]);
67
24
  };
68
25
 
69
26
  exports.useOnEscapePress = useOnEscapePress;
@@ -7,84 +7,57 @@ exports.useOnOutsideClick = void 0;
7
7
 
8
8
  var _react = require("react");
9
9
 
10
- // Because events are handled at the document level, we provide a mechanism for early return.
11
- const stopPropagation = true;
12
- /**
13
- * Calls all handlers in reverse order
14
- * @param event The MouseEvent generated by the click event.
15
- */
10
+ const shouldCallClickHandler = ({
11
+ ignoreClickRefs,
12
+ containerRef,
13
+ e
14
+ }) => {
15
+ var _containerRef$current;
16
16
 
17
- function handleClick(event) {
18
- if (!event.defaultPrevented) {
19
- for (const handler of Object.values(registry).reverse()) {
20
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
21
- if (handler(event) === stopPropagation || event.defaultPrevented) {
22
- break;
23
- }
24
- }
25
- }
26
- }
17
+ let shouldCallHandler = true; // don't call click handler if the mouse event was triggered by an auxiliary button (right click/wheel button/etc)
27
18
 
28
- const registry = {};
19
+ if (e instanceof MouseEvent && e.button > 0) {
20
+ shouldCallHandler = false;
21
+ } // don't call handler if the click happened inside of the container
29
22
 
30
- function register(id, handler) {
31
- registry[id] = handler;
32
- }
33
23
 
34
- function deregister(id) {
35
- delete registry[id];
36
- } // For auto-incrementing unique identifiers for registered handlers.
24
+ if ((_containerRef$current = containerRef.current) !== null && _containerRef$current !== void 0 && _containerRef$current.contains(e.target)) {
25
+ shouldCallHandler = false; // don't call handler if click happened on an ignored ref
26
+ } else if (ignoreClickRefs) {
27
+ for (const ignoreRef of ignoreClickRefs) {
28
+ var _ignoreRef$current;
37
29
 
30
+ if (ignoreRef && (_ignoreRef$current = ignoreRef.current) !== null && _ignoreRef$current !== void 0 && _ignoreRef$current.contains(e.target)) {
31
+ shouldCallHandler = false; // if we encounter one, break early, we don't need to go through the rest
38
32
 
39
- let handlerId = 0;
33
+ break;
34
+ }
35
+ }
36
+ }
37
+
38
+ return shouldCallHandler;
39
+ };
40
40
 
41
41
  const useOnOutsideClick = ({
42
42
  containerRef,
43
43
  ignoreClickRefs,
44
44
  onClickOutside
45
45
  }) => {
46
- const id = (0, _react.useMemo)(() => handlerId++, []);
47
- const handler = (0, _react.useCallback)(event => {
48
- var _containerRef$current;
49
-
50
- // don't call click handler if the mouse event was triggered by an auxiliary button (right click/wheel button/etc)
51
- if (event instanceof MouseEvent && event.button > 0) {
52
- return stopPropagation;
53
- } // don't call handler if the click happened inside of the container
54
-
55
-
56
- if ((_containerRef$current = containerRef.current) !== null && _containerRef$current !== void 0 && _containerRef$current.contains(event.target)) {
57
- return stopPropagation;
58
- } // don't call handler if click happened on an ignored ref
59
-
60
-
61
- if (ignoreClickRefs && ignoreClickRefs.some(({
62
- current
63
- }) => current === null || current === void 0 ? void 0 : current.contains(event.target))) {
64
- return stopPropagation;
46
+ const onOutsideClickInternal = (0, _react.useCallback)(e => {
47
+ if (shouldCallClickHandler({
48
+ ignoreClickRefs,
49
+ containerRef,
50
+ e
51
+ })) {
52
+ onClickOutside(e);
65
53
  }
66
-
67
- onClickOutside(event);
68
- }, [containerRef, ignoreClickRefs, onClickOutside]);
54
+ }, [onClickOutside, containerRef, ignoreClickRefs]);
69
55
  (0, _react.useEffect)(() => {
70
- if (Object.keys(registry).length === 0) {
71
- // use capture to ensure we get all events
72
- document.addEventListener('mousedown', handleClick, {
73
- capture: true
74
- });
75
- }
76
-
77
- register(id, handler);
56
+ document.addEventListener('click', onOutsideClickInternal);
78
57
  return () => {
79
- deregister(id);
80
-
81
- if (Object.keys(registry).length === 0) {
82
- document.removeEventListener('mousedown', handleClick, {
83
- capture: true
84
- });
85
- }
58
+ document.removeEventListener('click', onOutsideClickInternal);
86
59
  };
87
- }, [id, handler]);
60
+ }, [onOutsideClickInternal]);
88
61
  };
89
62
 
90
63
  exports.useOnOutsideClick = useOnOutsideClick;
@@ -12,19 +12,14 @@ var _iterateFocusableElements = require("../utils/iterateFocusableElements");
12
12
  function useOpenAndCloseFocus({
13
13
  initialFocusRef,
14
14
  returnFocusRef,
15
- containerRef,
16
- preventFocusOnOpen
15
+ containerRef
17
16
  }) {
18
17
  (0, _react.useEffect)(() => {
19
- if (preventFocusOnOpen) {
20
- return;
21
- }
22
-
23
18
  const returnRef = returnFocusRef.current;
24
19
 
25
20
  if (initialFocusRef && initialFocusRef.current) {
26
21
  initialFocusRef.current.focus();
27
- } else if (containerRef.current) {
22
+ } else if (containerRef && containerRef.current) {
28
23
  const firstItem = (0, _iterateFocusableElements.iterateFocusableElements)(containerRef.current).next().value;
29
24
  firstItem === null || firstItem === void 0 ? void 0 : firstItem.focus();
30
25
  }
@@ -32,5 +27,5 @@ function useOpenAndCloseFocus({
32
27
  return function () {
33
28
  returnRef === null || returnRef === void 0 ? void 0 : returnRef.focus();
34
29
  };
35
- }, [initialFocusRef, returnFocusRef, containerRef, preventFocusOnOpen]);
30
+ }, [initialFocusRef, returnFocusRef, containerRef]);
36
31
  }
@@ -11,32 +11,42 @@ var _useOpenAndCloseFocus = require("./useOpenAndCloseFocus");
11
11
 
12
12
  var _useOnEscapePress = require("./useOnEscapePress");
13
13
 
14
- var _useProvidedRefOrCreate = require("./useProvidedRefOrCreate");
14
+ var _useAnchoredPosition = require("./useAnchoredPosition");
15
+
16
+ var _react = require("react");
15
17
 
16
18
  const useOverlay = ({
17
- overlayRef: _overlayRef,
19
+ anchorRef,
20
+ positionSettings = {},
21
+ positionDeps,
18
22
  returnFocusRef,
19
23
  initialFocusRef,
20
24
  onEscape,
21
25
  ignoreClickRefs,
22
- onClickOutside,
23
- preventFocusOnOpen
26
+ onClickOutside
24
27
  }) => {
25
- const overlayRef = (0, _useProvidedRefOrCreate.useProvidedRefOrCreate)(_overlayRef);
28
+ const overlayRef = (0, _react.useRef)(null);
29
+ positionSettings.anchorElementRef = anchorRef;
30
+ positionSettings.floatingElementRef = overlayRef;
26
31
  (0, _useOpenAndCloseFocus.useOpenAndCloseFocus)({
27
32
  containerRef: overlayRef,
28
33
  returnFocusRef,
29
- initialFocusRef,
30
- preventFocusOnOpen
34
+ initialFocusRef
31
35
  });
32
36
  (0, _useOnOutsideClick.useOnOutsideClick)({
33
37
  containerRef: overlayRef,
34
38
  ignoreClickRefs,
35
39
  onClickOutside
36
40
  });
37
- (0, _useOnEscapePress.useOnEscapePress)(onEscape);
41
+ (0, _useOnEscapePress.useOnEscapePress)({
42
+ onEscape
43
+ });
44
+ const {
45
+ position
46
+ } = (0, _useAnchoredPosition.useAnchoredPosition)(positionSettings, positionDeps);
38
47
  return {
39
- ref: overlayRef
48
+ ref: overlayRef,
49
+ position
40
50
  };
41
51
  };
42
52
 
@@ -25,7 +25,6 @@ function useSafeTimeout() {
25
25
  }, []);
26
26
  (0, _react.useEffect)(() => {
27
27
  return () => {
28
- // eslint-disable-next-line react-hooks/exhaustive-deps
29
28
  for (const id of timers.current) {
30
29
  clearTimeout(id);
31
30
  }
package/lib/index.js CHANGED
@@ -99,6 +99,12 @@ Object.defineProperty(exports, "useDetails", {
99
99
  return _useDetails.default;
100
100
  }
101
101
  });
102
+ Object.defineProperty(exports, "useMouseIntent", {
103
+ enumerable: true,
104
+ get: function () {
105
+ return _useMouseIntent.default;
106
+ }
107
+ });
102
108
  Object.defineProperty(exports, "useSafeTimeout", {
103
109
  enumerable: true,
104
110
  get: function () {
@@ -129,36 +135,6 @@ Object.defineProperty(exports, "useOverlay", {
129
135
  return _useOverlay.useOverlay;
130
136
  }
131
137
  });
132
- Object.defineProperty(exports, "useConfirm", {
133
- enumerable: true,
134
- get: function () {
135
- return _ConfirmationDialog.useConfirm;
136
- }
137
- });
138
- Object.defineProperty(exports, "ConfirmationDialog", {
139
- enumerable: true,
140
- get: function () {
141
- return _ConfirmationDialog.ConfirmationDialog;
142
- }
143
- });
144
- Object.defineProperty(exports, "ActionList", {
145
- enumerable: true,
146
- get: function () {
147
- return _ActionList.ActionList;
148
- }
149
- });
150
- Object.defineProperty(exports, "ActionMenu", {
151
- enumerable: true,
152
- get: function () {
153
- return _ActionMenu.ActionMenu;
154
- }
155
- });
156
- Object.defineProperty(exports, "Autocomplete", {
157
- enumerable: true,
158
- get: function () {
159
- return _Autocomplete.default;
160
- }
161
- });
162
138
  Object.defineProperty(exports, "Avatar", {
163
139
  enumerable: true,
164
140
  get: function () {
@@ -183,16 +159,10 @@ Object.defineProperty(exports, "BranchName", {
183
159
  return _BranchName.default;
184
160
  }
185
161
  });
186
- Object.defineProperty(exports, "Breadcrumbs", {
187
- enumerable: true,
188
- get: function () {
189
- return _Breadcrumbs.default;
190
- }
191
- });
192
162
  Object.defineProperty(exports, "Breadcrumb", {
193
163
  enumerable: true,
194
164
  get: function () {
195
- return _Breadcrumbs.Breadcrumb;
165
+ return _Breadcrumb.default;
196
166
  }
197
167
  });
198
168
  Object.defineProperty(exports, "Button", {
@@ -285,18 +255,6 @@ Object.defineProperty(exports, "Dropdown", {
285
255
  return _Dropdown.default;
286
256
  }
287
257
  });
288
- Object.defineProperty(exports, "DropdownButton", {
289
- enumerable: true,
290
- get: function () {
291
- return _DropdownMenu.DropdownButton;
292
- }
293
- });
294
- Object.defineProperty(exports, "DropdownMenu", {
295
- enumerable: true,
296
- get: function () {
297
- return _DropdownMenu.DropdownMenu;
298
- }
299
- });
300
258
  Object.defineProperty(exports, "FilteredSearch", {
301
259
  enumerable: true,
302
260
  get: function () {
@@ -399,12 +357,6 @@ Object.defineProperty(exports, "SideNav", {
399
357
  return _SideNav.default;
400
358
  }
401
359
  });
402
- Object.defineProperty(exports, "Spinner", {
403
- enumerable: true,
404
- get: function () {
405
- return _Spinner.default;
406
- }
407
- });
408
360
  Object.defineProperty(exports, "StateLabel", {
409
361
  enumerable: true,
410
362
  get: function () {
@@ -435,12 +387,6 @@ Object.defineProperty(exports, "TextInput", {
435
387
  return _TextInput.default;
436
388
  }
437
389
  });
438
- Object.defineProperty(exports, "TextInputWithTokens", {
439
- enumerable: true,
440
- get: function () {
441
- return _TextInputWithTokens.default;
442
- }
443
- });
444
390
  Object.defineProperty(exports, "Text", {
445
391
  enumerable: true,
446
392
  get: function () {
@@ -453,24 +399,6 @@ Object.defineProperty(exports, "Timeline", {
453
399
  return _Timeline.default;
454
400
  }
455
401
  });
456
- Object.defineProperty(exports, "Token", {
457
- enumerable: true,
458
- get: function () {
459
- return _Token.default;
460
- }
461
- });
462
- Object.defineProperty(exports, "IssueLabelToken", {
463
- enumerable: true,
464
- get: function () {
465
- return _Token.IssueLabelToken;
466
- }
467
- });
468
- Object.defineProperty(exports, "ProfileToken", {
469
- enumerable: true,
470
- get: function () {
471
- return _Token.ProfileToken;
472
- }
473
- });
474
402
  Object.defineProperty(exports, "Tooltip", {
475
403
  enumerable: true,
476
404
  get: function () {
@@ -489,18 +417,6 @@ Object.defineProperty(exports, "UnderlineNav", {
489
417
  return _UnderlineNav.default;
490
418
  }
491
419
  });
492
- Object.defineProperty(exports, "SSRProvider", {
493
- enumerable: true,
494
- get: function () {
495
- return _ssr.SSRProvider;
496
- }
497
- });
498
- Object.defineProperty(exports, "useSSRSafeId", {
499
- enumerable: true,
500
- get: function () {
501
- return _ssr.useSSRSafeId;
502
- }
503
- });
504
420
 
505
421
  var _theme = _interopRequireDefault(require("./theme"));
506
422
 
@@ -522,6 +438,8 @@ var _Position = _interopRequireWildcard(require("./Position"));
522
438
 
523
439
  var _useDetails = _interopRequireDefault(require("./hooks/useDetails"));
524
440
 
441
+ var _useMouseIntent = _interopRequireDefault(require("./hooks/useMouseIntent"));
442
+
525
443
  var _useSafeTimeout = _interopRequireDefault(require("./hooks/useSafeTimeout"));
526
444
 
527
445
  var _useOnOutsideClick = require("./hooks/useOnOutsideClick");
@@ -532,14 +450,6 @@ var _useOnEscapePress = require("./hooks/useOnEscapePress");
532
450
 
533
451
  var _useOverlay = require("./hooks/useOverlay");
534
452
 
535
- var _ConfirmationDialog = require("./Dialog/ConfirmationDialog");
536
-
537
- var _ActionList = require("./ActionList");
538
-
539
- var _ActionMenu = require("./ActionMenu");
540
-
541
- var _Autocomplete = _interopRequireDefault(require("./Autocomplete"));
542
-
543
453
  var _Avatar = _interopRequireDefault(require("./Avatar"));
544
454
 
545
455
  var _AvatarPair = _interopRequireDefault(require("./AvatarPair"));
@@ -548,7 +458,7 @@ var _AvatarStack = _interopRequireDefault(require("./AvatarStack"));
548
458
 
549
459
  var _BranchName = _interopRequireDefault(require("./BranchName"));
550
460
 
551
- var _Breadcrumbs = _interopRequireWildcard(require("./Breadcrumbs"));
461
+ var _Breadcrumb = _interopRequireDefault(require("./Breadcrumb"));
552
462
 
553
463
  var _Button = _interopRequireWildcard(require("./Button"));
554
464
 
@@ -566,8 +476,6 @@ var _Dialog = _interopRequireDefault(require("./Dialog"));
566
476
 
567
477
  var _Dropdown = _interopRequireDefault(require("./Dropdown"));
568
478
 
569
- var _DropdownMenu = require("./DropdownMenu");
570
-
571
479
  var _FilteredSearch = _interopRequireDefault(require("./FilteredSearch"));
572
480
 
573
481
  var _FilterList = _interopRequireDefault(require("./FilterList"));
@@ -602,8 +510,6 @@ var _SelectMenu = _interopRequireDefault(require("./SelectMenu"));
602
510
 
603
511
  var _SideNav = _interopRequireDefault(require("./SideNav"));
604
512
 
605
- var _Spinner = _interopRequireDefault(require("./Spinner"));
606
-
607
513
  var _StateLabel = _interopRequireDefault(require("./StateLabel"));
608
514
 
609
515
  var _StyledOcticon = _interopRequireDefault(require("./StyledOcticon"));
@@ -614,24 +520,18 @@ var _TabNav = _interopRequireDefault(require("./TabNav"));
614
520
 
615
521
  var _TextInput = _interopRequireDefault(require("./TextInput"));
616
522
 
617
- var _TextInputWithTokens = _interopRequireDefault(require("./TextInputWithTokens"));
618
-
619
523
  var _Text = _interopRequireDefault(require("./Text"));
620
524
 
621
525
  var _Timeline = _interopRequireDefault(require("./Timeline"));
622
526
 
623
- var _Token = _interopRequireWildcard(require("./Token"));
624
-
625
527
  var _Tooltip = _interopRequireDefault(require("./Tooltip"));
626
528
 
627
529
  var _Truncate = _interopRequireDefault(require("./Truncate"));
628
530
 
629
531
  var _UnderlineNav = _interopRequireDefault(require("./UnderlineNav"));
630
532
 
631
- var _ssr = require("./utils/ssr");
632
-
633
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
533
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
634
534
 
635
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
535
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
636
536
 
637
537
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }