@primer/components 0.0.0-2021111171525 → 0.0.0-20211111716

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 (711) hide show
  1. package/CHANGELOG.md +940 -41
  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.d.ts +9 -0
  15. package/lib/ActionList/Divider.js +40 -0
  16. package/lib/ActionList/Group.d.ts +28 -0
  17. package/lib/ActionList/Group.js +35 -0
  18. package/lib/ActionList/Header.d.ts +29 -0
  19. package/lib/ActionList/Header.js +51 -0
  20. package/lib/ActionList/Item.d.ts +98 -0
  21. package/lib/ActionList/Item.js +276 -0
  22. package/lib/ActionList/List.d.ts +88 -0
  23. package/lib/ActionList/List.js +199 -0
  24. package/lib/ActionList/index.d.ts +17 -0
  25. package/lib/ActionList/index.js +29 -0
  26. package/lib/ActionList2/Description.d.ts +12 -0
  27. package/lib/ActionList2/Description.js +57 -0
  28. package/lib/ActionList2/Divider.d.ts +5 -0
  29. package/lib/ActionList2/Divider.js +35 -0
  30. package/lib/ActionList2/Group.d.ts +37 -0
  31. package/lib/ActionList2/Group.js +106 -0
  32. package/lib/ActionList2/Item.d.ts +63 -0
  33. package/lib/ActionList2/Item.js +244 -0
  34. package/lib/ActionList2/LinkItem.d.ts +17 -0
  35. package/lib/ActionList2/LinkItem.js +57 -0
  36. package/lib/ActionList2/List.d.ts +26 -0
  37. package/lib/ActionList2/List.js +58 -0
  38. package/lib/ActionList2/Selection.d.ts +5 -0
  39. package/lib/ActionList2/Selection.js +86 -0
  40. package/lib/ActionList2/Visuals.d.ts +9 -0
  41. package/lib/ActionList2/Visuals.js +90 -0
  42. package/lib/ActionList2/index.d.ts +36 -0
  43. package/lib/ActionList2/index.js +47 -0
  44. package/lib/ActionMenu.d.ts +40 -0
  45. package/lib/ActionMenu.js +103 -0
  46. package/lib/AnchoredOverlay/AnchoredOverlay.d.ts +62 -0
  47. package/lib/AnchoredOverlay/AnchoredOverlay.js +124 -0
  48. package/lib/AnchoredOverlay/index.d.ts +2 -0
  49. package/lib/AnchoredOverlay/index.js +13 -0
  50. package/lib/Autocomplete/Autocomplete.d.ts +305 -0
  51. package/lib/Autocomplete/Autocomplete.js +145 -0
  52. package/lib/Autocomplete/AutocompleteContext.d.ts +17 -0
  53. package/lib/Autocomplete/AutocompleteContext.js +11 -0
  54. package/lib/Autocomplete/AutocompleteInput.d.ts +293 -0
  55. package/lib/Autocomplete/AutocompleteInput.js +157 -0
  56. package/lib/Autocomplete/AutocompleteMenu.d.ts +72 -0
  57. package/lib/Autocomplete/AutocompleteMenu.js +224 -0
  58. package/lib/Autocomplete/AutocompleteOverlay.d.ts +20 -0
  59. package/lib/Autocomplete/AutocompleteOverlay.js +80 -0
  60. package/lib/Autocomplete/index.d.ts +2 -0
  61. package/lib/Autocomplete/index.js +15 -0
  62. package/lib/Avatar.d.ts +14 -0
  63. package/lib/Avatar.js +1 -12
  64. package/lib/AvatarPair.d.ts +8 -0
  65. package/lib/AvatarPair.js +9 -16
  66. package/lib/AvatarStack.d.ts +8 -0
  67. package/lib/AvatarStack.js +12 -23
  68. package/lib/BaseStyles.d.ts +14 -0
  69. package/lib/BaseStyles.js +25 -31
  70. package/lib/BorderBox.d.ts +7 -0
  71. package/lib/BorderBox.js +5 -16
  72. package/lib/Box.d.ts +6 -0
  73. package/lib/Box.js +2 -15
  74. package/lib/BranchName.d.ts +5 -0
  75. package/lib/BranchName.js +1 -14
  76. package/lib/Breadcrumbs.d.ts +41 -0
  77. package/lib/Breadcrumbs.js +82 -0
  78. package/lib/Button/Button.d.ts +284 -0
  79. package/lib/Button/Button.js +3 -15
  80. package/lib/Button/ButtonBase.d.ts +9 -0
  81. package/lib/Button/ButtonBase.js +2 -25
  82. package/lib/Button/ButtonClose.d.ts +279 -0
  83. package/lib/Button/ButtonClose.js +9 -26
  84. package/lib/Button/ButtonDanger.d.ts +284 -0
  85. package/lib/Button/ButtonDanger.js +2 -14
  86. package/lib/Button/ButtonGroup.d.ts +4 -0
  87. package/lib/Button/ButtonGroup.js +2 -8
  88. package/lib/Button/ButtonInvisible.d.ts +284 -0
  89. package/lib/Button/ButtonInvisible.js +3 -15
  90. package/lib/Button/ButtonOutline.d.ts +284 -0
  91. package/lib/Button/ButtonOutline.js +2 -14
  92. package/lib/Button/ButtonPrimary.d.ts +284 -0
  93. package/lib/Button/ButtonPrimary.js +2 -14
  94. package/lib/Button/ButtonStyles.d.ts +2 -0
  95. package/lib/Button/ButtonTableList.d.ts +5 -0
  96. package/lib/Button/ButtonTableList.js +1 -15
  97. package/lib/Button/index.d.ts +16 -0
  98. package/lib/Button/index.js +9 -59
  99. package/lib/Caret.d.ts +21 -0
  100. package/lib/Caret.js +14 -17
  101. package/lib/Checkbox.d.ts +29 -0
  102. package/lib/Checkbox.js +64 -0
  103. package/lib/CircleBadge.d.ts +24 -0
  104. package/lib/CircleBadge.js +2 -20
  105. package/lib/CircleOcticon.d.ts +392 -0
  106. package/lib/CircleOcticon.js +9 -18
  107. package/lib/CounterLabel.d.ts +7 -0
  108. package/lib/CounterLabel.js +3 -17
  109. package/lib/Details.d.ts +5 -0
  110. package/lib/Details.js +1 -11
  111. package/lib/Dialog/ConfirmationDialog.d.ts +44 -0
  112. package/lib/Dialog/ConfirmationDialog.js +191 -0
  113. package/lib/Dialog/Dialog.d.ts +163 -0
  114. package/lib/Dialog/Dialog.js +311 -0
  115. package/lib/Dialog.d.ts +406 -0
  116. package/lib/Dialog.js +34 -49
  117. package/lib/Dropdown.d.ts +1113 -0
  118. package/lib/Dropdown.js +45 -60
  119. package/lib/DropdownMenu/DropdownButton.d.ts +280 -0
  120. package/lib/DropdownMenu/DropdownButton.js +33 -0
  121. package/lib/DropdownMenu/DropdownMenu.d.ts +43 -0
  122. package/lib/DropdownMenu/DropdownMenu.js +94 -0
  123. package/lib/DropdownMenu/index.d.ts +4 -0
  124. package/lib/DropdownMenu/index.js +21 -0
  125. package/lib/DropdownStyles.d.ts +3 -0
  126. package/lib/DropdownStyles.js +6 -6
  127. package/lib/FilterList.d.ts +283 -0
  128. package/lib/FilterList.js +2 -30
  129. package/lib/FilteredActionList/FilteredActionList.d.ts +16 -0
  130. package/lib/FilteredActionList/FilteredActionList.js +137 -0
  131. package/lib/FilteredActionList/index.d.ts +2 -0
  132. package/lib/FilteredActionList/index.js +13 -0
  133. package/lib/FilteredSearch.d.ts +5 -0
  134. package/lib/FilteredSearch.js +1 -12
  135. package/lib/Flash.d.ts +8 -0
  136. package/lib/Flash.js +35 -14
  137. package/lib/Flex.d.ts +7 -0
  138. package/lib/Flex.js +3 -5
  139. package/lib/FormGroup.d.ts +11 -0
  140. package/lib/FormGroup.js +2 -22
  141. package/lib/Grid.d.ts +7 -0
  142. package/lib/Grid.js +4 -9
  143. package/lib/Header.d.ts +23 -0
  144. package/lib/Header.js +7 -37
  145. package/lib/Heading.d.ts +5 -0
  146. package/lib/Heading.js +1 -13
  147. package/lib/Label.d.ts +10 -0
  148. package/lib/Label.js +5 -19
  149. package/lib/LabelGroup.d.ts +5 -0
  150. package/lib/LabelGroup.js +1 -9
  151. package/lib/Link.d.ts +9 -0
  152. package/lib/Link.js +2 -30
  153. package/lib/NewButton/button-counter.d.ts +6 -0
  154. package/lib/NewButton/button-counter.js +31 -0
  155. package/lib/NewButton/button.d.ts +13 -0
  156. package/lib/NewButton/button.js +308 -0
  157. package/lib/NewButton/index.d.ts +14 -0
  158. package/lib/NewButton/index.js +15 -0
  159. package/lib/NewButton/types.d.ts +32 -0
  160. package/lib/{utils → NewButton}/types.js +0 -0
  161. package/lib/Overlay.d.ts +66 -0
  162. package/lib/Overlay.js +184 -0
  163. package/lib/Pagehead.d.ts +5 -0
  164. package/lib/Pagehead.js +1 -13
  165. package/lib/Pagination/Pagination.d.ts +24 -0
  166. package/lib/Pagination/Pagination.js +14 -29
  167. package/lib/Pagination/index.d.ts +3 -0
  168. package/lib/Pagination/model.d.ts +26 -0
  169. package/lib/Pagination/model.js +1 -1
  170. package/lib/PointerBox.d.ts +11 -0
  171. package/lib/PointerBox.js +4 -13
  172. package/lib/Popover.d.ts +20 -0
  173. package/lib/Popover.js +5 -29
  174. package/lib/Portal/Portal.d.ts +25 -0
  175. package/lib/Portal/Portal.js +101 -0
  176. package/lib/Portal/index.d.ts +4 -0
  177. package/lib/Portal/index.js +17 -0
  178. package/lib/Position.d.ts +34 -0
  179. package/lib/Position.js +46 -46
  180. package/lib/ProgressBar.d.ts +26 -0
  181. package/lib/ProgressBar.js +8 -27
  182. package/lib/SelectMenu/SelectMenu.d.ts +1670 -0
  183. package/lib/SelectMenu/SelectMenu.js +32 -44
  184. package/lib/SelectMenu/SelectMenuContext.d.ts +8 -0
  185. package/lib/SelectMenu/SelectMenuContext.js +1 -1
  186. package/lib/SelectMenu/SelectMenuDivider.d.ts +5 -0
  187. package/lib/SelectMenu/SelectMenuDivider.js +6 -14
  188. package/lib/SelectMenu/SelectMenuFilter.d.ts +9 -0
  189. package/lib/SelectMenu/SelectMenuFilter.js +13 -21
  190. package/lib/SelectMenu/SelectMenuFooter.d.ts +5 -0
  191. package/lib/SelectMenu/SelectMenuFooter.js +6 -14
  192. package/lib/SelectMenu/SelectMenuHeader.d.ts +10 -0
  193. package/lib/SelectMenu/SelectMenuHeader.js +4 -17
  194. package/lib/SelectMenu/SelectMenuItem.d.ts +14 -0
  195. package/lib/SelectMenu/SelectMenuItem.js +13 -21
  196. package/lib/SelectMenu/SelectMenuList.d.ts +5 -0
  197. package/lib/SelectMenu/SelectMenuList.js +6 -14
  198. package/lib/SelectMenu/SelectMenuLoadingAnimation.d.ts +7 -0
  199. package/lib/SelectMenu/SelectMenuLoadingAnimation.js +6 -17
  200. package/lib/SelectMenu/SelectMenuModal.d.ts +14 -0
  201. package/lib/SelectMenu/SelectMenuModal.js +11 -23
  202. package/lib/SelectMenu/SelectMenuTab.d.ts +13 -0
  203. package/lib/SelectMenu/SelectMenuTab.js +16 -26
  204. package/lib/SelectMenu/SelectMenuTabPanel.d.ts +12 -0
  205. package/lib/SelectMenu/SelectMenuTabPanel.js +14 -25
  206. package/lib/SelectMenu/SelectMenuTabs.d.ts +10 -0
  207. package/lib/SelectMenu/SelectMenuTabs.js +10 -17
  208. package/lib/SelectMenu/hooks/useKeyboardNav.d.ts +2 -0
  209. package/lib/SelectMenu/hooks/useKeyboardNav.js +2 -0
  210. package/lib/SelectMenu/index.d.ts +2 -0
  211. package/lib/SelectMenu/index.js +7 -5
  212. package/lib/SelectPanel/SelectPanel.d.ts +25 -0
  213. package/lib/SelectPanel/SelectPanel.js +147 -0
  214. package/lib/SelectPanel/index.d.ts +2 -0
  215. package/lib/SelectPanel/index.js +13 -0
  216. package/lib/SideNav.d.ts +34 -0
  217. package/lib/SideNav.js +23 -41
  218. package/lib/Spinner.d.ts +16 -0
  219. package/lib/Spinner.js +58 -0
  220. package/lib/StateLabel.d.ts +15 -0
  221. package/lib/StateLabel.js +53 -23
  222. package/lib/StyledOcticon.d.ts +11 -0
  223. package/lib/StyledOcticon.js +1 -15
  224. package/lib/SubNav.d.ts +26 -0
  225. package/lib/SubNav.js +27 -49
  226. package/lib/TabNav.d.ts +19 -0
  227. package/lib/TabNav.js +15 -37
  228. package/lib/Text.d.ts +6 -0
  229. package/lib/Text.js +0 -12
  230. package/lib/TextInput.d.ts +14 -0
  231. package/lib/TextInput.js +25 -76
  232. package/lib/TextInputWithTokens.d.ts +328 -0
  233. package/lib/TextInputWithTokens.js +318 -0
  234. package/lib/ThemeProvider.d.ts +26 -0
  235. package/lib/ThemeProvider.js +193 -0
  236. package/lib/Timeline.d.ts +33 -0
  237. package/lib/Timeline.js +34 -87
  238. package/lib/Token/AvatarToken.d.ts +7 -0
  239. package/lib/Token/AvatarToken.js +64 -0
  240. package/lib/Token/IssueLabelToken.d.ts +14 -0
  241. package/lib/Token/IssueLabelToken.js +144 -0
  242. package/lib/Token/Token.d.ts +15 -0
  243. package/lib/Token/Token.js +105 -0
  244. package/lib/Token/TokenBase.d.ts +31 -0
  245. package/lib/Token/TokenBase.js +104 -0
  246. package/lib/Token/_RemoveTokenButton.d.ts +12 -0
  247. package/lib/Token/_RemoveTokenButton.js +90 -0
  248. package/lib/Token/_TokenTextContainer.d.ts +3 -0
  249. package/lib/Token/_TokenTextContainer.js +17 -0
  250. package/lib/Token/index.d.ts +3 -0
  251. package/lib/Token/index.js +31 -0
  252. package/lib/Tooltip.d.ts +17 -0
  253. package/lib/Tooltip.js +4 -21
  254. package/lib/Truncate.d.ts +10 -0
  255. package/lib/Truncate.js +2 -18
  256. package/lib/UnderlineNav.d.ts +24 -0
  257. package/lib/UnderlineNav.js +3 -29
  258. package/lib/_TextInputWrapper.d.ts +10 -0
  259. package/lib/_TextInputWrapper.js +51 -0
  260. package/lib/_UnstyledTextInput.d.ts +2 -0
  261. package/lib/_UnstyledTextInput.js +20 -0
  262. package/lib/behaviors/anchoredPosition.d.ts +89 -0
  263. package/lib/behaviors/anchoredPosition.js +316 -0
  264. package/lib/behaviors/focusTrap.d.ts +12 -0
  265. package/lib/behaviors/focusTrap.js +179 -0
  266. package/lib/behaviors/focusZone.d.ts +137 -0
  267. package/lib/behaviors/focusZone.js +578 -0
  268. package/lib/behaviors/scrollIntoViewingArea.d.ts +1 -0
  269. package/lib/behaviors/scrollIntoViewingArea.js +39 -0
  270. package/lib/constants.d.ts +20 -0
  271. package/lib/constants.js +11 -27
  272. package/lib/drafts.d.ts +8 -0
  273. package/lib/drafts.js +31 -0
  274. package/lib/hooks/index.d.ts +11 -0
  275. package/lib/hooks/index.js +61 -0
  276. package/lib/hooks/useAnchoredPosition.d.ts +20 -0
  277. package/lib/hooks/useAnchoredPosition.js +51 -0
  278. package/lib/hooks/useCombinedRefs.d.ts +10 -0
  279. package/lib/hooks/useCombinedRefs.js +47 -0
  280. package/lib/hooks/useDetails.d.ts +17 -0
  281. package/lib/hooks/useDialog.d.ts +16 -0
  282. package/lib/hooks/useDialog.js +21 -6
  283. package/lib/hooks/useFocusTrap.d.ts +32 -0
  284. package/lib/hooks/useFocusTrap.js +69 -0
  285. package/lib/hooks/useFocusZone.d.ts +23 -0
  286. package/lib/hooks/useFocusZone.js +53 -0
  287. package/lib/hooks/useOnEscapePress.d.ts +23 -0
  288. package/lib/hooks/useOnEscapePress.js +69 -0
  289. package/lib/hooks/useOnOutsideClick.d.ts +8 -0
  290. package/lib/hooks/useOnOutsideClick.js +90 -0
  291. package/lib/hooks/useOpenAndCloseFocus.d.ts +8 -0
  292. package/lib/hooks/useOpenAndCloseFocus.js +36 -0
  293. package/lib/hooks/useOverlay.d.ts +15 -0
  294. package/lib/hooks/useOverlay.js +43 -0
  295. package/lib/hooks/useProvidedRefOrCreate.d.ts +10 -0
  296. package/lib/hooks/useProvidedRefOrCreate.js +24 -0
  297. package/lib/hooks/useProvidedStateOrCreate.d.ts +10 -0
  298. package/lib/hooks/useProvidedStateOrCreate.js +27 -0
  299. package/lib/hooks/useRenderForcingRef.d.ts +8 -0
  300. package/lib/hooks/useRenderForcingRef.js +25 -0
  301. package/lib/hooks/useResizeObserver.d.ts +1 -0
  302. package/lib/hooks/useResizeObserver.js +20 -0
  303. package/lib/hooks/useSafeTimeout.d.ts +12 -0
  304. package/lib/hooks/useSafeTimeout.js +38 -0
  305. package/lib/hooks/useScrollFlash.d.ts +6 -0
  306. package/lib/hooks/useScrollFlash.js +29 -0
  307. package/lib/index.d.ts +120 -0
  308. package/lib/index.js +191 -7
  309. package/lib/polyfills/eventListenerSignal.d.ts +6 -0
  310. package/lib/polyfills/eventListenerSignal.js +64 -0
  311. package/lib/sx.d.ts +14 -0
  312. package/lib/sx.js +8 -5
  313. package/lib/theme-preval.d.ts +49 -0
  314. package/lib/theme-preval.js +3119 -357
  315. package/lib/theme.d.ts +80 -0
  316. package/lib/theme.js +5 -8
  317. package/lib/utils/create-slots.d.ts +17 -0
  318. package/lib/utils/create-slots.js +105 -0
  319. package/lib/utils/deprecate.d.ts +18 -0
  320. package/lib/utils/deprecate.js +6 -5
  321. package/lib/utils/isNumeric.d.ts +1 -0
  322. package/lib/utils/isNumeric.js +1 -0
  323. package/lib/utils/iterateFocusableElements.d.ts +42 -0
  324. package/lib/utils/iterateFocusableElements.js +113 -0
  325. package/lib/utils/ssr.d.ts +1 -0
  326. package/lib/utils/ssr.js +19 -0
  327. package/lib/utils/test-deprecations.d.ts +1 -0
  328. package/lib/utils/test-deprecations.js +2 -1
  329. package/lib/utils/test-helpers.d.ts +0 -0
  330. package/lib/utils/test-helpers.js +9 -0
  331. package/lib/utils/test-matchers.d.ts +1 -0
  332. package/lib/utils/test-matchers.js +6 -50
  333. package/lib/utils/testing.d.ts +545 -0
  334. package/lib/utils/testing.js +65 -49
  335. package/lib/utils/theme.d.ts +9 -0
  336. package/lib/utils/theme.js +68 -0
  337. package/lib/utils/types/AriaRole.d.ts +1 -0
  338. package/lib/utils/types/AriaRole.js +1 -0
  339. package/lib/utils/types/ComponentProps.d.ts +9 -0
  340. package/lib/utils/types/ComponentProps.js +1 -0
  341. package/lib/utils/types/Flatten.d.ts +4 -0
  342. package/lib/utils/types/Flatten.js +1 -0
  343. package/lib/utils/types/KeyPaths.d.ts +3 -0
  344. package/lib/utils/types/KeyPaths.js +1 -0
  345. package/lib/utils/types/MandateProps.d.ts +3 -0
  346. package/lib/utils/types/MandateProps.js +1 -0
  347. package/lib/utils/types/Merge.d.ts +19 -0
  348. package/lib/utils/types/Merge.js +1 -0
  349. package/lib/utils/types/index.d.ts +5 -0
  350. package/lib/utils/types/index.js +70 -0
  351. package/lib/utils/uniqueId.d.ts +1 -0
  352. package/lib/utils/uniqueId.js +12 -0
  353. package/lib/utils/use-force-update.d.ts +1 -0
  354. package/lib/utils/use-force-update.js +19 -0
  355. package/lib/utils/useIsomorphicLayoutEffect.d.ts +3 -0
  356. package/lib/utils/useIsomorphicLayoutEffect.js +12 -0
  357. package/lib/utils/userAgent.d.ts +1 -0
  358. package/lib/utils/userAgent.js +15 -0
  359. package/lib-esm/ActionList/Divider.d.ts +9 -0
  360. package/lib-esm/ActionList/Divider.js +23 -0
  361. package/lib-esm/ActionList/Group.d.ts +28 -0
  362. package/lib-esm/ActionList/Group.js +24 -0
  363. package/lib-esm/ActionList/Header.d.ts +29 -0
  364. package/lib-esm/ActionList/Header.js +33 -0
  365. package/lib-esm/ActionList/Item.d.ts +98 -0
  366. package/lib-esm/ActionList/Item.js +241 -0
  367. package/lib-esm/ActionList/List.d.ts +88 -0
  368. package/lib-esm/ActionList/List.js +181 -0
  369. package/lib-esm/ActionList/index.d.ts +17 -0
  370. package/lib-esm/ActionList/index.js +18 -0
  371. package/lib-esm/ActionList2/Description.d.ts +12 -0
  372. package/lib-esm/ActionList2/Description.js +41 -0
  373. package/lib-esm/ActionList2/Divider.d.ts +5 -0
  374. package/lib-esm/ActionList2/Divider.js +23 -0
  375. package/lib-esm/ActionList2/Group.d.ts +37 -0
  376. package/lib-esm/ActionList2/Group.js +87 -0
  377. package/lib-esm/ActionList2/Item.d.ts +63 -0
  378. package/lib-esm/ActionList2/Item.js +210 -0
  379. package/lib-esm/ActionList2/LinkItem.d.ts +17 -0
  380. package/lib-esm/ActionList2/LinkItem.js +43 -0
  381. package/lib-esm/ActionList2/List.d.ts +26 -0
  382. package/lib-esm/ActionList2/List.js +36 -0
  383. package/lib-esm/ActionList2/Selection.d.ts +5 -0
  384. package/lib-esm/ActionList2/Selection.js +68 -0
  385. package/lib-esm/ActionList2/Visuals.d.ts +9 -0
  386. package/lib-esm/ActionList2/Visuals.js +68 -0
  387. package/lib-esm/ActionList2/index.d.ts +36 -0
  388. package/lib-esm/ActionList2/index.js +33 -0
  389. package/lib-esm/ActionMenu.d.ts +40 -0
  390. package/lib-esm/ActionMenu.js +82 -0
  391. package/lib-esm/AnchoredOverlay/AnchoredOverlay.d.ts +62 -0
  392. package/lib-esm/AnchoredOverlay/AnchoredOverlay.js +104 -0
  393. package/lib-esm/AnchoredOverlay/index.d.ts +2 -0
  394. package/lib-esm/AnchoredOverlay/index.js +1 -0
  395. package/lib-esm/Autocomplete/Autocomplete.d.ts +305 -0
  396. package/lib-esm/Autocomplete/Autocomplete.js +123 -0
  397. package/lib-esm/Autocomplete/AutocompleteContext.d.ts +17 -0
  398. package/lib-esm/Autocomplete/AutocompleteContext.js +2 -0
  399. package/lib-esm/Autocomplete/AutocompleteInput.d.ts +293 -0
  400. package/lib-esm/Autocomplete/AutocompleteInput.js +138 -0
  401. package/lib-esm/Autocomplete/AutocompleteMenu.d.ts +72 -0
  402. package/lib-esm/Autocomplete/AutocompleteMenu.js +205 -0
  403. package/lib-esm/Autocomplete/AutocompleteOverlay.d.ts +20 -0
  404. package/lib-esm/Autocomplete/AutocompleteOverlay.js +62 -0
  405. package/lib-esm/Autocomplete/index.d.ts +2 -0
  406. package/lib-esm/Autocomplete/index.js +1 -0
  407. package/lib-esm/Avatar.d.ts +14 -0
  408. package/lib-esm/Avatar.js +2 -11
  409. package/lib-esm/AvatarPair.d.ts +8 -0
  410. package/lib-esm/AvatarPair.js +8 -14
  411. package/lib-esm/AvatarStack.d.ts +8 -0
  412. package/lib-esm/AvatarStack.js +12 -21
  413. package/lib-esm/BaseStyles.d.ts +14 -0
  414. package/lib-esm/BaseStyles.js +23 -26
  415. package/lib-esm/BorderBox.d.ts +7 -0
  416. package/lib-esm/BorderBox.js +6 -12
  417. package/lib-esm/Box.d.ts +6 -0
  418. package/lib-esm/Box.js +2 -13
  419. package/lib-esm/BranchName.d.ts +5 -0
  420. package/lib-esm/BranchName.js +2 -13
  421. package/lib-esm/Breadcrumbs.d.ts +41 -0
  422. package/lib-esm/Breadcrumbs.js +58 -0
  423. package/lib-esm/Button/Button.d.ts +284 -0
  424. package/lib-esm/Button/Button.js +3 -10
  425. package/lib-esm/Button/ButtonBase.d.ts +9 -0
  426. package/lib-esm/Button/ButtonBase.js +1 -19
  427. package/lib-esm/Button/ButtonClose.d.ts +279 -0
  428. package/lib-esm/Button/ButtonClose.js +5 -20
  429. package/lib-esm/Button/ButtonDanger.d.ts +284 -0
  430. package/lib-esm/Button/ButtonDanger.js +2 -9
  431. package/lib-esm/Button/ButtonGroup.d.ts +4 -0
  432. package/lib-esm/Button/ButtonGroup.js +2 -7
  433. package/lib-esm/Button/ButtonInvisible.d.ts +284 -0
  434. package/lib-esm/Button/ButtonInvisible.js +3 -10
  435. package/lib-esm/Button/ButtonOutline.d.ts +284 -0
  436. package/lib-esm/Button/ButtonOutline.js +2 -9
  437. package/lib-esm/Button/ButtonPrimary.d.ts +284 -0
  438. package/lib-esm/Button/ButtonPrimary.js +2 -9
  439. package/lib-esm/Button/ButtonStyles.d.ts +2 -0
  440. package/lib-esm/Button/ButtonTableList.d.ts +5 -0
  441. package/lib-esm/Button/ButtonTableList.js +2 -14
  442. package/lib-esm/Button/index.d.ts +16 -0
  443. package/lib-esm/Button/index.js +8 -8
  444. package/lib-esm/Caret.d.ts +21 -0
  445. package/lib-esm/Caret.js +13 -16
  446. package/lib-esm/Checkbox.d.ts +29 -0
  447. package/lib-esm/Checkbox.js +44 -0
  448. package/lib-esm/CircleBadge.d.ts +24 -0
  449. package/lib-esm/CircleBadge.js +3 -19
  450. package/lib-esm/CircleOcticon.d.ts +392 -0
  451. package/lib-esm/CircleOcticon.js +9 -15
  452. package/lib-esm/CounterLabel.d.ts +7 -0
  453. package/lib-esm/CounterLabel.js +4 -16
  454. package/lib-esm/Details.d.ts +5 -0
  455. package/lib-esm/Details.js +1 -9
  456. package/lib-esm/Dialog/ConfirmationDialog.d.ts +44 -0
  457. package/lib-esm/Dialog/ConfirmationDialog.js +169 -0
  458. package/lib-esm/Dialog/Dialog.d.ts +163 -0
  459. package/lib-esm/Dialog/Dialog.js +275 -0
  460. package/lib-esm/Dialog.d.ts +406 -0
  461. package/lib-esm/Dialog.js +31 -46
  462. package/lib-esm/Dropdown.d.ts +1113 -0
  463. package/lib-esm/Dropdown.js +38 -58
  464. package/lib-esm/DropdownMenu/DropdownButton.d.ts +280 -0
  465. package/lib-esm/DropdownMenu/DropdownButton.js +18 -0
  466. package/lib-esm/DropdownMenu/DropdownMenu.d.ts +43 -0
  467. package/lib-esm/DropdownMenu/DropdownMenu.js +77 -0
  468. package/lib-esm/DropdownMenu/index.d.ts +4 -0
  469. package/lib-esm/DropdownMenu/index.js +2 -0
  470. package/lib-esm/DropdownStyles.d.ts +3 -0
  471. package/lib-esm/DropdownStyles.js +6 -6
  472. package/lib-esm/FilterList.d.ts +283 -0
  473. package/lib-esm/FilterList.js +3 -29
  474. package/lib-esm/FilteredActionList/FilteredActionList.d.ts +16 -0
  475. package/lib-esm/FilteredActionList/FilteredActionList.js +109 -0
  476. package/lib-esm/FilteredActionList/index.d.ts +2 -0
  477. package/lib-esm/FilteredActionList/index.js +1 -0
  478. package/lib-esm/FilteredSearch.d.ts +5 -0
  479. package/lib-esm/FilteredSearch.js +2 -11
  480. package/lib-esm/Flash.d.ts +8 -0
  481. package/lib-esm/Flash.js +36 -13
  482. package/lib-esm/Flex.d.ts +7 -0
  483. package/lib-esm/Flex.js +4 -4
  484. package/lib-esm/FormGroup.d.ts +11 -0
  485. package/lib-esm/FormGroup.js +3 -20
  486. package/lib-esm/Grid.d.ts +7 -0
  487. package/lib-esm/Grid.js +5 -7
  488. package/lib-esm/Header.d.ts +23 -0
  489. package/lib-esm/Header.js +6 -34
  490. package/lib-esm/Heading.d.ts +5 -0
  491. package/lib-esm/Heading.js +2 -12
  492. package/lib-esm/Label.d.ts +10 -0
  493. package/lib-esm/Label.js +3 -15
  494. package/lib-esm/LabelGroup.d.ts +5 -0
  495. package/lib-esm/LabelGroup.js +2 -9
  496. package/lib-esm/Link.d.ts +9 -0
  497. package/lib-esm/Link.js +2 -28
  498. package/lib-esm/NewButton/button-counter.d.ts +6 -0
  499. package/lib-esm/NewButton/button-counter.js +18 -0
  500. package/lib-esm/NewButton/button.d.ts +13 -0
  501. package/lib-esm/NewButton/button.js +287 -0
  502. package/lib-esm/NewButton/index.d.ts +14 -0
  503. package/lib-esm/NewButton/index.js +5 -0
  504. package/lib-esm/NewButton/types.d.ts +32 -0
  505. package/lib-esm/NewButton/types.js +1 -0
  506. package/lib-esm/Overlay.d.ts +66 -0
  507. package/lib-esm/Overlay.js +160 -0
  508. package/lib-esm/Pagehead.d.ts +5 -0
  509. package/lib-esm/Pagehead.js +2 -12
  510. package/lib-esm/Pagination/Pagination.d.ts +24 -0
  511. package/lib-esm/Pagination/Pagination.js +15 -28
  512. package/lib-esm/Pagination/index.d.ts +3 -0
  513. package/lib-esm/Pagination/model.d.ts +26 -0
  514. package/lib-esm/Pagination/model.js +1 -1
  515. package/lib-esm/PointerBox.d.ts +11 -0
  516. package/lib-esm/PointerBox.js +4 -11
  517. package/lib-esm/Popover.d.ts +20 -0
  518. package/lib-esm/Popover.js +5 -27
  519. package/lib-esm/Portal/Portal.d.ts +25 -0
  520. package/lib-esm/Portal/Portal.js +83 -0
  521. package/lib-esm/Portal/index.d.ts +4 -0
  522. package/lib-esm/Portal/index.js +3 -0
  523. package/lib-esm/Position.d.ts +34 -0
  524. package/lib-esm/Position.js +42 -37
  525. package/lib-esm/ProgressBar.d.ts +26 -0
  526. package/lib-esm/ProgressBar.js +9 -25
  527. package/lib-esm/SelectMenu/SelectMenu.d.ts +1670 -0
  528. package/lib-esm/SelectMenu/SelectMenu.js +27 -38
  529. package/lib-esm/SelectMenu/SelectMenuContext.d.ts +8 -0
  530. package/lib-esm/SelectMenu/SelectMenuContext.js +1 -1
  531. package/lib-esm/SelectMenu/SelectMenuDivider.d.ts +5 -0
  532. package/lib-esm/SelectMenu/SelectMenuDivider.js +4 -11
  533. package/lib-esm/SelectMenu/SelectMenuFilter.d.ts +9 -0
  534. package/lib-esm/SelectMenu/SelectMenuFilter.js +13 -19
  535. package/lib-esm/SelectMenu/SelectMenuFooter.d.ts +5 -0
  536. package/lib-esm/SelectMenu/SelectMenuFooter.js +4 -11
  537. package/lib-esm/SelectMenu/SelectMenuHeader.d.ts +10 -0
  538. package/lib-esm/SelectMenu/SelectMenuHeader.js +7 -18
  539. package/lib-esm/SelectMenu/SelectMenuItem.d.ts +14 -0
  540. package/lib-esm/SelectMenu/SelectMenuItem.js +11 -17
  541. package/lib-esm/SelectMenu/SelectMenuList.d.ts +5 -0
  542. package/lib-esm/SelectMenu/SelectMenuList.js +4 -11
  543. package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.d.ts +7 -0
  544. package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.js +7 -13
  545. package/lib-esm/SelectMenu/SelectMenuModal.d.ts +14 -0
  546. package/lib-esm/SelectMenu/SelectMenuModal.js +10 -20
  547. package/lib-esm/SelectMenu/SelectMenuTab.d.ts +13 -0
  548. package/lib-esm/SelectMenu/SelectMenuTab.js +13 -21
  549. package/lib-esm/SelectMenu/SelectMenuTabPanel.d.ts +12 -0
  550. package/lib-esm/SelectMenu/SelectMenuTabPanel.js +9 -19
  551. package/lib-esm/SelectMenu/SelectMenuTabs.d.ts +10 -0
  552. package/lib-esm/SelectMenu/SelectMenuTabs.js +8 -15
  553. package/lib-esm/SelectMenu/hooks/useKeyboardNav.d.ts +2 -0
  554. package/lib-esm/SelectMenu/hooks/useKeyboardNav.js +2 -0
  555. package/lib-esm/SelectMenu/index.d.ts +2 -0
  556. package/lib-esm/SelectMenu/index.js +1 -2
  557. package/lib-esm/SelectPanel/SelectPanel.d.ts +25 -0
  558. package/lib-esm/SelectPanel/SelectPanel.js +127 -0
  559. package/lib-esm/SelectPanel/index.d.ts +2 -0
  560. package/lib-esm/SelectPanel/index.js +1 -0
  561. package/lib-esm/SideNav.d.ts +34 -0
  562. package/lib-esm/SideNav.js +20 -36
  563. package/lib-esm/Spinner.d.ts +16 -0
  564. package/lib-esm/Spinner.js +45 -0
  565. package/lib-esm/StateLabel.d.ts +15 -0
  566. package/lib-esm/StateLabel.js +55 -23
  567. package/lib-esm/StyledOcticon.d.ts +11 -0
  568. package/lib-esm/StyledOcticon.js +1 -12
  569. package/lib-esm/SubNav.d.ts +26 -0
  570. package/lib-esm/SubNav.js +24 -48
  571. package/lib-esm/TabNav.d.ts +19 -0
  572. package/lib-esm/TabNav.js +13 -33
  573. package/lib-esm/Text.d.ts +6 -0
  574. package/lib-esm/Text.js +0 -10
  575. package/lib-esm/TextInput.d.ts +14 -0
  576. package/lib-esm/TextInput.js +24 -62
  577. package/lib-esm/TextInputWithTokens.d.ts +328 -0
  578. package/lib-esm/TextInputWithTokens.js +291 -0
  579. package/lib-esm/ThemeProvider.d.ts +26 -0
  580. package/lib-esm/ThemeProvider.js +161 -0
  581. package/lib-esm/Timeline.d.ts +33 -0
  582. package/lib-esm/Timeline.js +26 -81
  583. package/lib-esm/Token/AvatarToken.d.ts +7 -0
  584. package/lib-esm/Token/AvatarToken.js +43 -0
  585. package/lib-esm/Token/IssueLabelToken.d.ts +14 -0
  586. package/lib-esm/Token/IssueLabelToken.js +124 -0
  587. package/lib-esm/Token/Token.d.ts +15 -0
  588. package/lib-esm/Token/Token.js +84 -0
  589. package/lib-esm/Token/TokenBase.d.ts +31 -0
  590. package/lib-esm/Token/TokenBase.js +83 -0
  591. package/lib-esm/Token/_RemoveTokenButton.d.ts +12 -0
  592. package/lib-esm/Token/_RemoveTokenButton.js +69 -0
  593. package/lib-esm/Token/_TokenTextContainer.d.ts +3 -0
  594. package/lib-esm/Token/_TokenTextContainer.js +6 -0
  595. package/lib-esm/Token/index.d.ts +3 -0
  596. package/lib-esm/Token/index.js +3 -0
  597. package/lib-esm/Tooltip.d.ts +17 -0
  598. package/lib-esm/Tooltip.js +4 -19
  599. package/lib-esm/Truncate.d.ts +10 -0
  600. package/lib-esm/Truncate.js +2 -15
  601. package/lib-esm/UnderlineNav.d.ts +24 -0
  602. package/lib-esm/UnderlineNav.js +5 -28
  603. package/lib-esm/_TextInputWrapper.d.ts +10 -0
  604. package/lib-esm/_TextInputWrapper.js +31 -0
  605. package/lib-esm/_UnstyledTextInput.d.ts +2 -0
  606. package/lib-esm/_UnstyledTextInput.js +7 -0
  607. package/lib-esm/behaviors/anchoredPosition.d.ts +89 -0
  608. package/lib-esm/behaviors/anchoredPosition.js +309 -0
  609. package/lib-esm/behaviors/focusTrap.d.ts +12 -0
  610. package/lib-esm/behaviors/focusTrap.js +170 -0
  611. package/lib-esm/behaviors/focusZone.d.ts +137 -0
  612. package/lib-esm/behaviors/focusZone.js +560 -0
  613. package/lib-esm/behaviors/scrollIntoViewingArea.d.ts +1 -0
  614. package/lib-esm/behaviors/scrollIntoViewingArea.js +30 -0
  615. package/lib-esm/constants.d.ts +20 -0
  616. package/lib-esm/constants.js +9 -23
  617. package/lib-esm/drafts.d.ts +8 -0
  618. package/lib-esm/drafts.js +9 -0
  619. package/lib-esm/hooks/index.d.ts +11 -0
  620. package/lib-esm/hooks/index.js +7 -0
  621. package/lib-esm/hooks/useAnchoredPosition.d.ts +20 -0
  622. package/lib-esm/hooks/useAnchoredPosition.js +35 -0
  623. package/lib-esm/hooks/useCombinedRefs.d.ts +10 -0
  624. package/lib-esm/hooks/useCombinedRefs.js +37 -0
  625. package/lib-esm/hooks/useDetails.d.ts +17 -0
  626. package/lib-esm/hooks/useDialog.d.ts +16 -0
  627. package/lib-esm/hooks/useDialog.js +21 -6
  628. package/lib-esm/hooks/useFocusTrap.d.ts +32 -0
  629. package/lib-esm/hooks/useFocusTrap.js +54 -0
  630. package/lib-esm/hooks/useFocusZone.d.ts +23 -0
  631. package/lib-esm/hooks/useFocusZone.js +37 -0
  632. package/lib-esm/hooks/useOnEscapePress.d.ts +23 -0
  633. package/lib-esm/hooks/useOnEscapePress.js +59 -0
  634. package/lib-esm/hooks/useOnOutsideClick.d.ts +8 -0
  635. package/lib-esm/hooks/useOnOutsideClick.js +79 -0
  636. package/lib-esm/hooks/useOpenAndCloseFocus.d.ts +8 -0
  637. package/lib-esm/hooks/useOpenAndCloseFocus.js +27 -0
  638. package/lib-esm/hooks/useOverlay.d.ts +15 -0
  639. package/lib-esm/hooks/useOverlay.js +30 -0
  640. package/lib-esm/hooks/useProvidedRefOrCreate.d.ts +10 -0
  641. package/lib-esm/hooks/useProvidedRefOrCreate.js +14 -0
  642. package/lib-esm/hooks/useProvidedStateOrCreate.d.ts +10 -0
  643. package/lib-esm/hooks/useProvidedStateOrCreate.js +20 -0
  644. package/lib-esm/hooks/useRenderForcingRef.d.ts +8 -0
  645. package/lib-esm/hooks/useRenderForcingRef.js +18 -0
  646. package/lib-esm/hooks/useResizeObserver.d.ts +1 -0
  647. package/lib-esm/hooks/useResizeObserver.js +10 -0
  648. package/lib-esm/hooks/useSafeTimeout.d.ts +12 -0
  649. package/lib-esm/hooks/useSafeTimeout.js +31 -0
  650. package/lib-esm/hooks/useScrollFlash.d.ts +6 -0
  651. package/lib-esm/hooks/useScrollFlash.js +22 -0
  652. package/lib-esm/index.d.ts +120 -0
  653. package/lib-esm/index.js +29 -7
  654. package/lib-esm/polyfills/eventListenerSignal.d.ts +6 -0
  655. package/lib-esm/polyfills/eventListenerSignal.js +57 -0
  656. package/lib-esm/sx.d.ts +14 -0
  657. package/lib-esm/sx.js +3 -5
  658. package/lib-esm/theme-preval.d.ts +49 -0
  659. package/lib-esm/theme-preval.js +3119 -357
  660. package/lib-esm/theme.d.ts +80 -0
  661. package/lib-esm/theme.js +3 -8
  662. package/lib-esm/utils/create-slots.d.ts +17 -0
  663. package/lib-esm/utils/create-slots.js +84 -0
  664. package/lib-esm/utils/deprecate.d.ts +18 -0
  665. package/lib-esm/utils/deprecate.js +6 -5
  666. package/lib-esm/utils/isNumeric.d.ts +1 -0
  667. package/lib-esm/utils/isNumeric.js +1 -0
  668. package/lib-esm/utils/iterateFocusableElements.d.ts +42 -0
  669. package/lib-esm/utils/iterateFocusableElements.js +102 -0
  670. package/lib-esm/utils/ssr.d.ts +1 -0
  671. package/lib-esm/utils/ssr.js +1 -0
  672. package/lib-esm/utils/test-deprecations.d.ts +1 -0
  673. package/lib-esm/utils/test-deprecations.js +1 -1
  674. package/lib-esm/utils/{types.js → test-helpers.d.ts} +0 -0
  675. package/lib-esm/utils/test-helpers.js +7 -0
  676. package/lib-esm/utils/test-matchers.d.ts +1 -0
  677. package/lib-esm/utils/test-matchers.js +7 -49
  678. package/lib-esm/utils/testing.d.ts +545 -0
  679. package/lib-esm/utils/testing.js +60 -46
  680. package/lib-esm/utils/theme.d.ts +9 -0
  681. package/lib-esm/utils/theme.js +66 -0
  682. package/lib-esm/utils/types/AriaRole.d.ts +1 -0
  683. package/lib-esm/utils/types/AriaRole.js +1 -0
  684. package/lib-esm/utils/types/ComponentProps.d.ts +9 -0
  685. package/lib-esm/utils/types/ComponentProps.js +1 -0
  686. package/lib-esm/utils/types/Flatten.d.ts +4 -0
  687. package/lib-esm/utils/types/Flatten.js +1 -0
  688. package/lib-esm/utils/types/KeyPaths.d.ts +3 -0
  689. package/lib-esm/utils/types/KeyPaths.js +1 -0
  690. package/lib-esm/utils/types/MandateProps.d.ts +3 -0
  691. package/lib-esm/utils/types/MandateProps.js +1 -0
  692. package/lib-esm/utils/types/Merge.d.ts +19 -0
  693. package/lib-esm/utils/types/Merge.js +1 -0
  694. package/lib-esm/utils/types/index.d.ts +5 -0
  695. package/lib-esm/utils/types/index.js +5 -0
  696. package/lib-esm/utils/uniqueId.d.ts +1 -0
  697. package/lib-esm/utils/uniqueId.js +5 -0
  698. package/lib-esm/utils/use-force-update.d.ts +1 -0
  699. package/lib-esm/utils/use-force-update.js +6 -0
  700. package/lib-esm/utils/useIsomorphicLayoutEffect.d.ts +3 -0
  701. package/lib-esm/utils/useIsomorphicLayoutEffect.js +3 -0
  702. package/lib-esm/utils/userAgent.d.ts +1 -0
  703. package/lib-esm/utils/userAgent.js +8 -0
  704. package/package.json +116 -93
  705. package/index.d.ts +0 -828
  706. package/lib/Breadcrumb.js +0 -96
  707. package/lib/hooks/useMouseIntent.js +0 -58
  708. package/lib/stories/Button.stories.js +0 -100
  709. package/lib-esm/Breadcrumb.js +0 -70
  710. package/lib-esm/hooks/useMouseIntent.js +0 -50
  711. package/lib-esm/stories/Button.stories.js +0 -65
package/lib/constants.js CHANGED
@@ -5,22 +5,19 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.GRID = exports.FLEX = exports.POSITION = exports.LAYOUT = exports.BORDER = exports.TYPOGRAPHY = exports.COMMON = exports.get = void 0;
7
7
 
8
- var _propTypes = _interopRequireDefault(require("@styled-system/prop-types"));
9
-
10
8
  var _themeGet = require("@styled-system/theme-get");
11
9
 
12
- var _propTypes2 = _interopRequireDefault(require("prop-types"));
13
-
14
10
  var styledSystem = _interopRequireWildcard(require("styled-system"));
15
11
 
16
12
  var _theme = _interopRequireDefault(require("./theme"));
17
13
 
18
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
15
 
20
- 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; }
16
+ 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); }
21
17
 
22
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
+ 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; }
23
19
 
20
+ // eslint-disable-next-line import/no-namespace
24
21
  const {
25
22
  get: getKey,
26
23
  compose,
@@ -33,10 +30,7 @@ const get = key => (0, _themeGet.themeGet)(key, getKey(_theme.default, key)); //
33
30
  exports.get = get;
34
31
  const COMMON = compose(styledSystem.space, styledSystem.color, styledSystem.display);
35
32
  exports.COMMON = COMMON;
36
- COMMON.propTypes = { ..._propTypes.default.space,
37
- ..._propTypes.default.color
38
- }; // Typography props
39
-
33
+ // Typography props
40
34
  const whiteSpace = system({
41
35
  whiteSpace: {
42
36
  property: 'whiteSpace' // cssProperty: 'whiteSpace',
@@ -45,28 +39,18 @@ const whiteSpace = system({
45
39
  });
46
40
  const TYPOGRAPHY = compose(styledSystem.typography, whiteSpace);
47
41
  exports.TYPOGRAPHY = TYPOGRAPHY;
48
- TYPOGRAPHY.propTypes = { ..._propTypes.default.typography,
49
- whiteSpace: _propTypes2.default.oneOf(['normal', 'nowrap', 'pre-wrap', 'pre', 'pre-line'])
50
- }; // Border props
51
-
42
+ // Border props
52
43
  const BORDER = compose(styledSystem.border, styledSystem.shadow);
53
44
  exports.BORDER = BORDER;
54
- BORDER.propTypes = { ..._propTypes.default.border,
55
- ..._propTypes.default.shadow
56
- }; // Layout props
57
-
45
+ // Layout props
58
46
  const LAYOUT = styledSystem.layout;
59
47
  exports.LAYOUT = LAYOUT;
60
- LAYOUT.propTypes = _propTypes.default.layout; // Position props
61
-
48
+ // Position props
62
49
  const POSITION = styledSystem.position;
63
50
  exports.POSITION = POSITION;
64
- POSITION.propTypes = _propTypes.default.position; // Flex props
65
-
51
+ // Flex props
66
52
  const FLEX = styledSystem.flexbox;
67
53
  exports.FLEX = FLEX;
68
- FLEX.propTypes = _propTypes.default.flexbox; // Grid props
69
-
54
+ // Grid props
70
55
  const GRID = styledSystem.grid;
71
- exports.GRID = GRID;
72
- GRID.propTypes = _propTypes.default.grid;
56
+ exports.GRID = GRID;
@@ -0,0 +1,8 @@
1
+ /** This is the place where we keep components that are not part of the public
2
+ * api yet (not in main bundle). We don't recommend using it in production.
3
+ *
4
+ * But, they are published on npm and you can import them for experimentation/feedback.
5
+ * example: import {ActionList} from '@primer/components/drafts
6
+ */
7
+ export * from './ActionList2';
8
+ export * from './NewButton';
package/lib/drafts.js ADDED
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _ActionList = require("./ActionList2");
8
+
9
+ Object.keys(_ActionList).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (key in exports && exports[key] === _ActionList[key]) return;
12
+ Object.defineProperty(exports, key, {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _ActionList[key];
16
+ }
17
+ });
18
+ });
19
+
20
+ var _NewButton = require("./NewButton");
21
+
22
+ Object.keys(_NewButton).forEach(function (key) {
23
+ if (key === "default" || key === "__esModule") return;
24
+ if (key in exports && exports[key] === _NewButton[key]) return;
25
+ Object.defineProperty(exports, key, {
26
+ enumerable: true,
27
+ get: function () {
28
+ return _NewButton[key];
29
+ }
30
+ });
31
+ });
@@ -0,0 +1,11 @@
1
+ export { useOnOutsideClick } from './useOnOutsideClick';
2
+ export type { UseOnOutsideClickSettings, TouchOrMouseEvent } from './useOnOutsideClick';
3
+ export { useProvidedRefOrCreate } from './useProvidedRefOrCreate';
4
+ export { useOnEscapePress } from './useOnEscapePress';
5
+ export { useOpenAndCloseFocus } from './useOpenAndCloseFocus';
6
+ export type { UseOpenAndCloseFocusSettings } from './useOpenAndCloseFocus';
7
+ export type { AnchoredPositionHookSettings } from './useAnchoredPosition';
8
+ export { useAnchoredPosition } from './useAnchoredPosition';
9
+ export { useOverlay } from './useOverlay';
10
+ export type { UseOverlaySettings } from './useOverlay';
11
+ export { useRenderForcingRef } from './useRenderForcingRef';
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "useOnOutsideClick", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _useOnOutsideClick.useOnOutsideClick;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "useProvidedRefOrCreate", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _useProvidedRefOrCreate.useProvidedRefOrCreate;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "useOnEscapePress", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _useOnEscapePress.useOnEscapePress;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "useOpenAndCloseFocus", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _useOpenAndCloseFocus.useOpenAndCloseFocus;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "useAnchoredPosition", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _useAnchoredPosition.useAnchoredPosition;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "useOverlay", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _useOverlay.useOverlay;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "useRenderForcingRef", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _useRenderForcingRef.useRenderForcingRef;
46
+ }
47
+ });
48
+
49
+ var _useOnOutsideClick = require("./useOnOutsideClick");
50
+
51
+ var _useProvidedRefOrCreate = require("./useProvidedRefOrCreate");
52
+
53
+ var _useOnEscapePress = require("./useOnEscapePress");
54
+
55
+ var _useOpenAndCloseFocus = require("./useOpenAndCloseFocus");
56
+
57
+ var _useAnchoredPosition = require("./useAnchoredPosition");
58
+
59
+ var _useOverlay = require("./useOverlay");
60
+
61
+ var _useRenderForcingRef = require("./useRenderForcingRef");
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { PositionSettings, AnchorPosition } from '../behaviors/anchoredPosition';
3
+ export interface AnchoredPositionHookSettings extends Partial<PositionSettings> {
4
+ floatingElementRef?: React.RefObject<Element>;
5
+ anchorElementRef?: React.RefObject<Element>;
6
+ }
7
+ /**
8
+ * Calculates the top and left values for an absolutely-positioned floating element
9
+ * to be anchored to some anchor element. Returns refs for the floating element
10
+ * and the anchor element, along with the position.
11
+ * @param settings Settings for calculating the anchored position.
12
+ * @param dependencies Dependencies to determine when to re-calculate the position.
13
+ * @returns An object of {top: number, left: number} to absolutely-position the
14
+ * floating element.
15
+ */
16
+ export declare function useAnchoredPosition(settings?: AnchoredPositionHookSettings, dependencies?: React.DependencyList): {
17
+ floatingElementRef: React.RefObject<Element>;
18
+ anchorElementRef: React.RefObject<Element>;
19
+ position: AnchorPosition | undefined;
20
+ };
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useAnchoredPosition = useAnchoredPosition;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _anchoredPosition = require("../behaviors/anchoredPosition");
11
+
12
+ var _useProvidedRefOrCreate = require("./useProvidedRefOrCreate");
13
+
14
+ var _useResizeObserver = require("./useResizeObserver");
15
+
16
+ var _useIsomorphicLayoutEffect = _interopRequireDefault(require("../utils/useIsomorphicLayoutEffect"));
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+
20
+ /**
21
+ * Calculates the top and left values for an absolutely-positioned floating element
22
+ * to be anchored to some anchor element. Returns refs for the floating element
23
+ * and the anchor element, along with the position.
24
+ * @param settings Settings for calculating the anchored position.
25
+ * @param dependencies Dependencies to determine when to re-calculate the position.
26
+ * @returns An object of {top: number, left: number} to absolutely-position the
27
+ * floating element.
28
+ */
29
+ function useAnchoredPosition(settings, dependencies = []) {
30
+ const floatingElementRef = (0, _useProvidedRefOrCreate.useProvidedRefOrCreate)(settings === null || settings === void 0 ? void 0 : settings.floatingElementRef);
31
+ const anchorElementRef = (0, _useProvidedRefOrCreate.useProvidedRefOrCreate)(settings === null || settings === void 0 ? void 0 : settings.anchorElementRef);
32
+
33
+ const [position, setPosition] = _react.default.useState(undefined);
34
+
35
+ const updatePosition = _react.default.useCallback(() => {
36
+ if (floatingElementRef.current instanceof Element && anchorElementRef.current instanceof Element) {
37
+ setPosition((0, _anchoredPosition.getAnchoredPosition)(floatingElementRef.current, anchorElementRef.current, settings));
38
+ } else {
39
+ setPosition(undefined);
40
+ }
41
+ }, // eslint-disable-next-line react-hooks/exhaustive-deps
42
+ [floatingElementRef, anchorElementRef, ...dependencies]);
43
+
44
+ (0, _useIsomorphicLayoutEffect.default)(updatePosition, [updatePosition]);
45
+ (0, _useResizeObserver.useResizeObserver)(updatePosition);
46
+ return {
47
+ floatingElementRef,
48
+ anchorElementRef,
49
+ position
50
+ };
51
+ }
@@ -0,0 +1,10 @@
1
+ import { ForwardedRef } from 'react';
2
+ /**
3
+ * Creates a ref by combining multiple constituent refs. The ref returned by this hook
4
+ * should be passed as the ref for the element that needs to be shared. This is
5
+ * particularly useful when you are using `React.forwardRef` in your component but you
6
+ * also want to be able to access the local element. This is a small anti-pattern,
7
+ * though, as it breaks encapsulation.
8
+ * @param refs
9
+ */
10
+ export declare function useCombinedRefs<T>(...refs: (ForwardedRef<T> | null | undefined)[]): import("react").MutableRefObject<T | null>;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useCombinedRefs = useCombinedRefs;
7
+
8
+ var _react = require("react");
9
+
10
+ var _useIsomorphicLayoutEffect = _interopRequireDefault(require("../utils/useIsomorphicLayoutEffect"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ /**
15
+ * Creates a ref by combining multiple constituent refs. The ref returned by this hook
16
+ * should be passed as the ref for the element that needs to be shared. This is
17
+ * particularly useful when you are using `React.forwardRef` in your component but you
18
+ * also want to be able to access the local element. This is a small anti-pattern,
19
+ * though, as it breaks encapsulation.
20
+ * @param refs
21
+ */
22
+ function useCombinedRefs(...refs) {
23
+ const combinedRef = (0, _react.useRef)(null);
24
+ (0, _useIsomorphicLayoutEffect.default)(() => {
25
+ function setRefs(current = null) {
26
+ for (const ref of refs) {
27
+ if (!ref) {
28
+ return;
29
+ }
30
+
31
+ if (typeof ref === 'function') {
32
+ ref(current);
33
+ } else {
34
+ ref.current = current;
35
+ }
36
+ }
37
+ }
38
+
39
+ setRefs(combinedRef.current);
40
+ return () => {
41
+ // ensure the refs get updated on unmount
42
+ // eslint-disable-next-line react-hooks/exhaustive-deps
43
+ setRefs(combinedRef.current);
44
+ }; // eslint-disable-next-line react-hooks/exhaustive-deps
45
+ }, [...refs, combinedRef.current]);
46
+ return combinedRef;
47
+ }
@@ -0,0 +1,17 @@
1
+ /// <reference types="react" />
2
+ declare type UseDetailsParameters = {
3
+ ref?: React.RefObject<HTMLElement>;
4
+ closeOnOutsideClick?: boolean;
5
+ defaultOpen?: boolean;
6
+ onClickOutside?: (event: MouseEvent) => void;
7
+ };
8
+ declare function useDetails({ ref, closeOnOutsideClick, defaultOpen, onClickOutside }: UseDetailsParameters): {
9
+ open: boolean | undefined;
10
+ setOpen: import("react").Dispatch<import("react").SetStateAction<boolean | undefined>>;
11
+ getDetailsProps: () => {
12
+ onToggle: (e: React.SyntheticEvent<HTMLElement, Event>) => void;
13
+ open: boolean | undefined;
14
+ ref: import("react").RefObject<HTMLElement>;
15
+ };
16
+ };
17
+ export default useDetails;
@@ -0,0 +1,16 @@
1
+ /// <reference types="react" />
2
+ declare type UseDialogParameters = {
3
+ modalRef: React.RefObject<HTMLElement>;
4
+ overlayRef: React.RefObject<HTMLElement>;
5
+ isOpen?: boolean;
6
+ onDismiss?: () => void;
7
+ initialFocusRef?: React.RefObject<HTMLElement>;
8
+ closeButtonRef?: React.RefObject<HTMLElement>;
9
+ returnFocusRef?: React.RefObject<HTMLElement>;
10
+ };
11
+ declare function useDialog({ modalRef, overlayRef, isOpen, onDismiss, initialFocusRef, closeButtonRef }: UseDialogParameters): {
12
+ getDialogProps: () => {
13
+ onKeyDown: (event: any) => void;
14
+ };
15
+ };
16
+ export default useDialog;
@@ -7,22 +7,25 @@ exports.default = void 0;
7
7
 
8
8
  var _react = require("react");
9
9
 
10
+ const noop = () => null;
11
+
10
12
  function visible(el) {
11
13
  return !el.hidden && (!el.type || el.type !== 'hidden') && (el.offsetWidth > 0 || el.offsetHeight > 0);
12
14
  }
13
15
 
14
16
  function focusable(el) {
15
- return el.tabIndex >= 0 && !el.disabled && visible(el);
17
+ const inputEl = el;
18
+ return inputEl.tabIndex >= 0 && !inputEl.disabled && visible(inputEl);
16
19
  }
17
20
 
18
21
  function useDialog({
19
22
  modalRef,
20
23
  overlayRef,
21
24
  isOpen,
22
- onDismiss,
25
+ onDismiss = noop,
23
26
  initialFocusRef,
24
27
  closeButtonRef
25
- } = {}) {
28
+ }) {
26
29
  const onClickOutside = (0, _react.useCallback)(e => {
27
30
  if (modalRef.current && overlayRef.current && !modalRef.current.contains(e.target) && overlayRef.current.contains(e.target)) {
28
31
  onDismiss();
@@ -46,20 +49,32 @@ function useDialog({
46
49
  }
47
50
  }, [isOpen, initialFocusRef, closeButtonRef]);
48
51
  const getFocusableItem = (0, _react.useCallback)((e, movement) => {
49
- if (modalRef && modalRef.current) {
52
+ if (modalRef.current) {
50
53
  const items = Array.from(modalRef.current.querySelectorAll('*')).filter(focusable);
51
54
  if (items.length === 0) return;
52
55
  e.preventDefault();
53
56
  const focusedElement = document.activeElement;
57
+
58
+ if (!focusedElement) {
59
+ return;
60
+ }
61
+
54
62
  const index = items.indexOf(focusedElement);
55
63
  const offsetIndex = index + movement;
56
64
  const fallbackIndex = movement === 1 ? 0 : items.length - 1;
57
- return items[offsetIndex] || items[fallbackIndex];
65
+ const focusableItem = items[offsetIndex] || items[fallbackIndex];
66
+ return focusableItem;
58
67
  }
59
68
  }, [modalRef]);
60
69
  const handleTab = (0, _react.useCallback)(e => {
61
70
  const movement = e.shiftKey ? -1 : 1;
62
- getFocusableItem(e, movement).focus();
71
+ const focusableItem = getFocusableItem(e, movement);
72
+
73
+ if (!focusableItem) {
74
+ return;
75
+ }
76
+
77
+ focusableItem.focus();
63
78
  }, [getFocusableItem]);
64
79
  const onKeyDown = (0, _react.useCallback)(event => {
65
80
  switch (event.key) {
@@ -0,0 +1,32 @@
1
+ import React from 'react';
2
+ export interface FocusTrapHookSettings {
3
+ /**
4
+ * Ref that will be used for the trapping container. If not provided, one will
5
+ * be created by this hook and returned.
6
+ */
7
+ containerRef?: React.RefObject<HTMLElement>;
8
+ /**
9
+ * Ref for the element that should receive focus when the focus trap is first enabled. If
10
+ * not provided, one will be created by this hook and returned. Its use is optional.
11
+ */
12
+ initialFocusRef?: React.RefObject<HTMLElement>;
13
+ /**
14
+ * Set to true to disable the focus trap and clean up listeners. Can be re-enabled at
15
+ * any time.
16
+ */
17
+ disabled?: boolean;
18
+ /**
19
+ * If true, when this focus trap is cleaned up, restore focus to the element that had
20
+ * focus immediately before the focus trap was enabled. (Default: false)
21
+ */
22
+ restoreFocusOnCleanUp?: boolean;
23
+ }
24
+ /**
25
+ * Hook used to trap focus inside a container. Returns a ref that can be added to the container
26
+ * that should trap focus.
27
+ * @param settings {FocusTrapHookSettings}
28
+ */
29
+ export declare function useFocusTrap(settings?: FocusTrapHookSettings, dependencies?: React.DependencyList): {
30
+ containerRef: React.RefObject<HTMLElement>;
31
+ initialFocusRef: React.RefObject<HTMLElement>;
32
+ };
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useFocusTrap = useFocusTrap;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _focusTrap = require("../behaviors/focusTrap");
11
+
12
+ var _useProvidedRefOrCreate = require("./useProvidedRefOrCreate");
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ /**
17
+ * Hook used to trap focus inside a container. Returns a ref that can be added to the container
18
+ * that should trap focus.
19
+ * @param settings {FocusTrapHookSettings}
20
+ */
21
+ function useFocusTrap(settings, dependencies = []) {
22
+ const containerRef = (0, _useProvidedRefOrCreate.useProvidedRefOrCreate)(settings === null || settings === void 0 ? void 0 : settings.containerRef);
23
+ const initialFocusRef = (0, _useProvidedRefOrCreate.useProvidedRefOrCreate)(settings === null || settings === void 0 ? void 0 : settings.initialFocusRef);
24
+ const disabled = settings === null || settings === void 0 ? void 0 : settings.disabled;
25
+
26
+ const abortController = _react.default.useRef();
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
+ _react.default.useEffect(() => {
50
+ if (containerRef.current instanceof HTMLElement) {
51
+ if (!disabled) {
52
+ var _initialFocusRef$curr;
53
+
54
+ abortController.current = (0, _focusTrap.focusTrap)(containerRef.current, (_initialFocusRef$curr = initialFocusRef.current) !== null && _initialFocusRef$curr !== void 0 ? _initialFocusRef$curr : undefined);
55
+ return () => {
56
+ disableTrap();
57
+ };
58
+ } else {
59
+ disableTrap();
60
+ }
61
+ }
62
+ }, // eslint-disable-next-line react-hooks/exhaustive-deps
63
+ [containerRef, initialFocusRef, disabled, ...dependencies]);
64
+
65
+ return {
66
+ containerRef,
67
+ initialFocusRef
68
+ };
69
+ }
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ import { FocusZoneSettings } from '../behaviors/focusZone';
3
+ export interface FocusZoneHookSettings extends Omit<FocusZoneSettings, 'activeDescendantControl'> {
4
+ /**
5
+ * Optional ref for the container that holds all elements participating in arrow key focus.
6
+ * If one is not passed, we will create one for you and return it from the hook.
7
+ */
8
+ containerRef?: React.RefObject<HTMLElement>;
9
+ /**
10
+ * If using the "active descendant" focus pattern, pass `true` or a ref to the controlling
11
+ * element. If a ref object is not passed, we will create one for you.
12
+ */
13
+ activeDescendantFocus?: boolean | React.RefObject<HTMLElement>;
14
+ /**
15
+ * Set to true to disable the focus zone and clean up listeners. Can be re-enabled at
16
+ * any time.
17
+ */
18
+ disabled?: boolean;
19
+ }
20
+ export declare function useFocusZone(settings?: FocusZoneHookSettings, dependencies?: React.DependencyList): {
21
+ containerRef: React.RefObject<HTMLElement>;
22
+ activeDescendantControlRef: React.RefObject<HTMLElement>;
23
+ };
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useFocusZone = useFocusZone;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _focusZone = require("../behaviors/focusZone");
11
+
12
+ var _useProvidedRefOrCreate = require("./useProvidedRefOrCreate");
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); }
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; }
17
+
18
+ function useFocusZone(settings = {}, dependencies = []) {
19
+ const containerRef = (0, _useProvidedRefOrCreate.useProvidedRefOrCreate)(settings.containerRef);
20
+ const useActiveDescendant = !!settings.activeDescendantFocus;
21
+ const passedActiveDescendantRef = typeof settings.activeDescendantFocus === 'boolean' || !settings.activeDescendantFocus ? undefined : settings.activeDescendantFocus;
22
+ const activeDescendantControlRef = (0, _useProvidedRefOrCreate.useProvidedRefOrCreate)(passedActiveDescendantRef);
23
+ const disabled = settings.disabled;
24
+
25
+ const abortController = _react.default.useRef();
26
+
27
+ (0, _react.useEffect)(() => {
28
+ if (containerRef.current instanceof HTMLElement && (!useActiveDescendant || activeDescendantControlRef.current instanceof HTMLElement)) {
29
+ if (!disabled) {
30
+ var _activeDescendantCont;
31
+
32
+ const vanillaSettings = { ...settings,
33
+ activeDescendantControl: (_activeDescendantCont = activeDescendantControlRef.current) !== null && _activeDescendantCont !== void 0 ? _activeDescendantCont : undefined
34
+ };
35
+ abortController.current = (0, _focusZone.focusZone)(containerRef.current, vanillaSettings);
36
+ return () => {
37
+ var _abortController$curr;
38
+
39
+ (_abortController$curr = abortController.current) === null || _abortController$curr === void 0 ? void 0 : _abortController$curr.abort();
40
+ };
41
+ } else {
42
+ var _abortController$curr2;
43
+
44
+ (_abortController$curr2 = abortController.current) === null || _abortController$curr2 === void 0 ? void 0 : _abortController$curr2.abort();
45
+ }
46
+ }
47
+ }, // eslint-disable-next-line react-hooks/exhaustive-deps
48
+ [disabled, ...dependencies]);
49
+ return {
50
+ containerRef,
51
+ activeDescendantControlRef
52
+ };
53
+ }
@@ -0,0 +1,23 @@
1
+ /// <reference types="react" />
2
+ /**
3
+ * Sets up a `keydown` listener on `window.document`. If
4
+ * 1) The pressed key is "Escape", and
5
+ * 2) The event has not had `.preventDefault()` called
6
+ * The given callback will be executed.
7
+ *
8
+ * Note: If multiple `useOnEscapePress` hooks are active simultaneously, the
9
+ * callbacks will occur in reverse order. In other words, if a parent component
10
+ * and a child component both call `useOnEscapePress`, when the user presses
11
+ * Escape, the child component's callback will execute, followed by the parent's
12
+ * callback. Each callback has the chance to call `.preventDefault()` on the
13
+ * event to prevent further callbacks.
14
+ *
15
+ * @param callback {(e: KeyboardEvent) => void} The callback that gets executed
16
+ * when the Escape key is pressed. The KeyboardEvent generated by the Escape
17
+ * keypress is passed as the only argument.
18
+ *
19
+ * @param callbackDependencies {React.DependencyList} The dependencies of the given
20
+ * `onEscape` callback for memoization. Omit this param if the callback is already
21
+ * memoized. See `React.useCallback` for more info on memoization.
22
+ */
23
+ export declare const useOnEscapePress: (onEscape: (e: KeyboardEvent) => void, callbackDependencies?: import("react").DependencyList) => void;