@primer/components 0.0.0-202111114525 → 0.0.0-2021111164412

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 (821) hide show
  1. package/CHANGELOG.md +944 -31
  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 +1286 -849
  11. package/dist/browser.esm.js.map +1 -1
  12. package/dist/browser.umd.js +1322 -885
  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 +217 -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 +15 -0
  63. package/lib/Avatar.js +0 -11
  64. package/lib/AvatarPair.d.ts +8 -0
  65. package/lib/AvatarPair.js +10 -16
  66. package/lib/AvatarStack.d.ts +8 -0
  67. package/lib/AvatarStack.js +16 -25
  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 +6 -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 +25 -31
  101. package/lib/Checkbox.d.ts +29 -0
  102. package/lib/Checkbox.js +64 -0
  103. package/lib/CheckboxInputField.d.ts +11 -0
  104. package/lib/CheckboxInputField.js +73 -0
  105. package/lib/ChoiceFieldset/ChoiceFieldCaption.d.ts +3 -0
  106. package/lib/ChoiceFieldset/ChoiceFieldCaption.js +35 -0
  107. package/lib/ChoiceFieldset/ChoiceFieldLabel.d.ts +3 -0
  108. package/lib/ChoiceFieldset/ChoiceFieldLabel.js +35 -0
  109. package/lib/ChoiceFieldset/ChoiceFieldset.d.ts +64 -0
  110. package/lib/ChoiceFieldset/ChoiceFieldset.js +99 -0
  111. package/lib/ChoiceFieldset/ChoiceFieldsetCaption.d.ts +3 -0
  112. package/lib/ChoiceFieldset/ChoiceFieldsetCaption.js +30 -0
  113. package/lib/ChoiceFieldset/ChoiceFieldsetLegend.d.ts +6 -0
  114. package/lib/ChoiceFieldset/ChoiceFieldsetLegend.js +44 -0
  115. package/lib/ChoiceFieldset/ChoiceFieldsetList.d.ts +6 -0
  116. package/lib/ChoiceFieldset/ChoiceFieldsetList.js +80 -0
  117. package/lib/ChoiceFieldset/ChoiceFieldsetListContext.d.ts +18 -0
  118. package/lib/ChoiceFieldset/ChoiceFieldsetListContext.js +15 -0
  119. package/lib/ChoiceFieldset/ChoiceFieldsetListItem.d.ts +24 -0
  120. package/lib/ChoiceFieldset/ChoiceFieldsetListItem.js +65 -0
  121. package/lib/ChoiceFieldset/ChoiceFieldsetValidation.d.ts +6 -0
  122. package/lib/ChoiceFieldset/ChoiceFieldsetValidation.js +17 -0
  123. package/lib/ChoiceFieldset/index.d.ts +3 -0
  124. package/lib/ChoiceFieldset/index.js +23 -0
  125. package/lib/CircleBadge.d.ts +24 -0
  126. package/lib/CircleBadge.js +16 -40
  127. package/lib/CircleOcticon.d.ts +392 -0
  128. package/lib/CircleOcticon.js +9 -19
  129. package/lib/CounterLabel.d.ts +7 -0
  130. package/lib/CounterLabel.js +3 -17
  131. package/lib/Details.d.ts +6 -0
  132. package/lib/Details.js +1 -9
  133. package/lib/Dialog/ConfirmationDialog.d.ts +44 -0
  134. package/lib/Dialog/ConfirmationDialog.js +191 -0
  135. package/lib/Dialog/Dialog.d.ts +163 -0
  136. package/lib/Dialog/Dialog.js +311 -0
  137. package/lib/Dialog.d.ts +406 -0
  138. package/lib/Dialog.js +34 -49
  139. package/lib/Dropdown.d.ts +1177 -0
  140. package/lib/Dropdown.js +45 -60
  141. package/lib/DropdownMenu/DropdownButton.d.ts +280 -0
  142. package/lib/DropdownMenu/DropdownButton.js +33 -0
  143. package/lib/DropdownMenu/DropdownMenu.d.ts +43 -0
  144. package/lib/DropdownMenu/DropdownMenu.js +94 -0
  145. package/lib/DropdownMenu/index.d.ts +4 -0
  146. package/lib/DropdownMenu/index.js +21 -0
  147. package/lib/DropdownStyles.d.ts +3 -0
  148. package/lib/DropdownStyles.js +6 -6
  149. package/lib/FilterList.d.ts +283 -0
  150. package/lib/FilterList.js +2 -30
  151. package/lib/FilteredActionList/FilteredActionList.d.ts +16 -0
  152. package/lib/FilteredActionList/FilteredActionList.js +137 -0
  153. package/lib/FilteredActionList/index.d.ts +2 -0
  154. package/lib/FilteredActionList/index.js +13 -0
  155. package/lib/FilteredSearch.d.ts +5 -0
  156. package/lib/FilteredSearch.js +1 -12
  157. package/lib/Flash.d.ts +8 -0
  158. package/lib/Flash.js +35 -14
  159. package/lib/Flex.d.ts +7 -0
  160. package/lib/Flex.js +3 -5
  161. package/lib/FormGroup.d.ts +11 -0
  162. package/lib/FormGroup.js +2 -22
  163. package/lib/Grid.d.ts +7 -0
  164. package/lib/Grid.js +4 -9
  165. package/lib/Header.d.ts +23 -0
  166. package/lib/Header.js +7 -37
  167. package/lib/Heading.d.ts +6 -0
  168. package/lib/Heading.js +0 -7
  169. package/lib/Label.d.ts +10 -0
  170. package/lib/Label.js +5 -19
  171. package/lib/LabelGroup.d.ts +5 -0
  172. package/lib/LabelGroup.js +1 -9
  173. package/lib/Link.d.ts +9 -0
  174. package/lib/Link.js +2 -30
  175. package/lib/NewButton/button-counter.d.ts +6 -0
  176. package/lib/NewButton/button-counter.js +31 -0
  177. package/lib/NewButton/button.d.ts +13 -0
  178. package/lib/NewButton/button.js +308 -0
  179. package/lib/NewButton/index.d.ts +14 -0
  180. package/lib/NewButton/index.js +15 -0
  181. package/lib/NewButton/types.d.ts +32 -0
  182. package/lib/{utils → NewButton}/types.js +0 -0
  183. package/lib/Overlay.d.ts +66 -0
  184. package/lib/Overlay.js +184 -0
  185. package/lib/Pagehead.d.ts +5 -0
  186. package/lib/Pagehead.js +1 -13
  187. package/lib/Pagination/Pagination.d.ts +24 -0
  188. package/lib/Pagination/Pagination.js +14 -29
  189. package/lib/Pagination/index.d.ts +3 -0
  190. package/lib/Pagination/model.d.ts +26 -0
  191. package/lib/Pagination/model.js +1 -1
  192. package/lib/PointerBox.d.ts +11 -0
  193. package/lib/PointerBox.js +4 -13
  194. package/lib/Popover.d.ts +20 -0
  195. package/lib/Popover.js +15 -38
  196. package/lib/Portal/Portal.d.ts +25 -0
  197. package/lib/Portal/Portal.js +101 -0
  198. package/lib/Portal/index.d.ts +4 -0
  199. package/lib/Portal/index.js +17 -0
  200. package/lib/Position.d.ts +34 -0
  201. package/lib/Position.js +46 -46
  202. package/lib/ProgressBar.d.ts +21 -0
  203. package/lib/ProgressBar.js +3 -18
  204. package/lib/RadioInputField.d.ts +9 -0
  205. package/lib/RadioInputField.js +82 -0
  206. package/lib/SelectMenu/SelectMenu.d.ts +1670 -0
  207. package/lib/SelectMenu/SelectMenu.js +32 -44
  208. package/lib/SelectMenu/SelectMenuContext.d.ts +8 -0
  209. package/lib/SelectMenu/SelectMenuContext.js +1 -1
  210. package/lib/SelectMenu/SelectMenuDivider.d.ts +5 -0
  211. package/lib/SelectMenu/SelectMenuDivider.js +6 -14
  212. package/lib/SelectMenu/SelectMenuFilter.d.ts +9 -0
  213. package/lib/SelectMenu/SelectMenuFilter.js +13 -21
  214. package/lib/SelectMenu/SelectMenuFooter.d.ts +5 -0
  215. package/lib/SelectMenu/SelectMenuFooter.js +6 -14
  216. package/lib/SelectMenu/SelectMenuHeader.d.ts +10 -0
  217. package/lib/SelectMenu/SelectMenuHeader.js +4 -17
  218. package/lib/SelectMenu/SelectMenuItem.d.ts +14 -0
  219. package/lib/SelectMenu/SelectMenuItem.js +13 -21
  220. package/lib/SelectMenu/SelectMenuList.d.ts +5 -0
  221. package/lib/SelectMenu/SelectMenuList.js +6 -14
  222. package/lib/SelectMenu/SelectMenuLoadingAnimation.d.ts +7 -0
  223. package/lib/SelectMenu/SelectMenuLoadingAnimation.js +6 -17
  224. package/lib/SelectMenu/SelectMenuModal.d.ts +14 -0
  225. package/lib/SelectMenu/SelectMenuModal.js +11 -23
  226. package/lib/SelectMenu/SelectMenuTab.d.ts +13 -0
  227. package/lib/SelectMenu/SelectMenuTab.js +16 -26
  228. package/lib/SelectMenu/SelectMenuTabPanel.d.ts +12 -0
  229. package/lib/SelectMenu/SelectMenuTabPanel.js +14 -25
  230. package/lib/SelectMenu/SelectMenuTabs.d.ts +10 -0
  231. package/lib/SelectMenu/SelectMenuTabs.js +10 -17
  232. package/lib/SelectMenu/hooks/useKeyboardNav.d.ts +2 -0
  233. package/lib/SelectMenu/hooks/useKeyboardNav.js +2 -0
  234. package/lib/SelectMenu/index.d.ts +2 -0
  235. package/lib/SelectMenu/index.js +7 -5
  236. package/lib/SelectPanel/SelectPanel.d.ts +25 -0
  237. package/lib/SelectPanel/SelectPanel.js +147 -0
  238. package/lib/SelectPanel/index.d.ts +2 -0
  239. package/lib/SelectPanel/index.js +13 -0
  240. package/lib/SideNav.d.ts +34 -0
  241. package/lib/SideNav.js +35 -51
  242. package/lib/Spinner.d.ts +17 -0
  243. package/lib/Spinner.js +60 -0
  244. package/lib/StateLabel.d.ts +15 -0
  245. package/lib/StateLabel.js +53 -23
  246. package/lib/StyledOcticon.d.ts +11 -0
  247. package/lib/StyledOcticon.js +1 -15
  248. package/lib/SubNav.d.ts +26 -0
  249. package/lib/SubNav.js +10 -40
  250. package/lib/TabNav.d.ts +19 -0
  251. package/lib/TabNav.js +29 -49
  252. package/lib/Text.d.ts +6 -0
  253. package/lib/Text.js +0 -12
  254. package/lib/TextInput.d.ts +14 -0
  255. package/lib/TextInput.js +25 -76
  256. package/lib/TextInputField.d.ts +581 -0
  257. package/lib/TextInputField.js +66 -0
  258. package/lib/TextInputWithTokens.d.ts +328 -0
  259. package/lib/TextInputWithTokens.js +318 -0
  260. package/lib/ThemeProvider.d.ts +26 -0
  261. package/lib/ThemeProvider.js +193 -0
  262. package/lib/Timeline.d.ts +33 -0
  263. package/lib/Timeline.js +54 -99
  264. package/lib/Token/AvatarToken.d.ts +7 -0
  265. package/lib/Token/AvatarToken.js +64 -0
  266. package/lib/Token/IssueLabelToken.d.ts +14 -0
  267. package/lib/Token/IssueLabelToken.js +144 -0
  268. package/lib/Token/Token.d.ts +15 -0
  269. package/lib/Token/Token.js +105 -0
  270. package/lib/Token/TokenBase.d.ts +31 -0
  271. package/lib/Token/TokenBase.js +104 -0
  272. package/lib/Token/_RemoveTokenButton.d.ts +12 -0
  273. package/lib/Token/_RemoveTokenButton.js +90 -0
  274. package/lib/Token/_TokenTextContainer.d.ts +3 -0
  275. package/lib/Token/_TokenTextContainer.js +17 -0
  276. package/lib/Token/index.d.ts +3 -0
  277. package/lib/Token/index.js +31 -0
  278. package/lib/Tooltip.d.ts +17 -0
  279. package/lib/Tooltip.js +12 -30
  280. package/lib/Truncate.d.ts +10 -0
  281. package/lib/Truncate.js +2 -18
  282. package/lib/UnderlineNav.d.ts +24 -0
  283. package/lib/UnderlineNav.js +3 -29
  284. package/lib/_InputCaption.d.ts +13 -0
  285. package/lib/_InputCaption.js +27 -0
  286. package/lib/_InputField/InputField.d.ts +39 -0
  287. package/lib/_InputField/InputField.js +90 -0
  288. package/lib/_InputField/InputFieldCaption.d.ts +3 -0
  289. package/lib/_InputField/InputFieldCaption.js +30 -0
  290. package/lib/_InputField/InputFieldLabel.d.ts +9 -0
  291. package/lib/_InputField/InputFieldLabel.js +34 -0
  292. package/lib/_InputField/InputFieldValidation.d.ts +6 -0
  293. package/lib/_InputField/InputFieldValidation.js +17 -0
  294. package/lib/_InputField/ToggleInputField.d.ts +13 -0
  295. package/lib/_InputField/ToggleInputField.js +71 -0
  296. package/lib/_InputField/ToggleInputLeadingVisual.d.ts +3 -0
  297. package/lib/_InputField/ToggleInputLeadingVisual.js +22 -0
  298. package/lib/_InputField/ValidationAnimationContainer.d.ts +6 -0
  299. package/lib/_InputField/ValidationAnimationContainer.js +48 -0
  300. package/lib/_InputField/index.d.ts +1 -0
  301. package/lib/_InputField/index.js +15 -0
  302. package/lib/_InputField/slots.d.ts +13 -0
  303. package/lib/_InputField/slots.js +17 -0
  304. package/lib/_InputLabel.d.ts +8 -0
  305. package/lib/_InputLabel.js +44 -0
  306. package/lib/_InputValidation.d.ts +8 -0
  307. package/lib/_InputValidation.js +56 -0
  308. package/lib/_TextInputWrapper.d.ts +10 -0
  309. package/lib/_TextInputWrapper.js +51 -0
  310. package/lib/_UnstyledTextInput.d.ts +2 -0
  311. package/lib/_UnstyledTextInput.js +20 -0
  312. package/lib/_VisuallyHidden.d.ts +6 -0
  313. package/lib/_VisuallyHidden.js +39 -0
  314. package/lib/behaviors/anchoredPosition.d.ts +89 -0
  315. package/lib/behaviors/anchoredPosition.js +316 -0
  316. package/lib/behaviors/focusTrap.d.ts +12 -0
  317. package/lib/behaviors/focusTrap.js +179 -0
  318. package/lib/behaviors/focusZone.d.ts +137 -0
  319. package/lib/behaviors/focusZone.js +578 -0
  320. package/lib/behaviors/scrollIntoViewingArea.d.ts +1 -0
  321. package/lib/behaviors/scrollIntoViewingArea.js +39 -0
  322. package/lib/constants.d.ts +20 -0
  323. package/lib/constants.js +11 -27
  324. package/lib/drafts.d.ts +8 -0
  325. package/lib/drafts.js +31 -0
  326. package/lib/hooks/index.d.ts +11 -0
  327. package/lib/hooks/index.js +61 -0
  328. package/lib/hooks/useAnchoredPosition.d.ts +20 -0
  329. package/lib/hooks/useAnchoredPosition.js +51 -0
  330. package/lib/hooks/useCombinedRefs.d.ts +10 -0
  331. package/lib/hooks/useCombinedRefs.js +47 -0
  332. package/lib/hooks/useDetails.d.ts +17 -0
  333. package/lib/hooks/useDetails.js +10 -3
  334. package/lib/hooks/useDialog.d.ts +16 -0
  335. package/lib/hooks/useDialog.js +21 -6
  336. package/lib/hooks/useFocusTrap.d.ts +32 -0
  337. package/lib/hooks/useFocusTrap.js +69 -0
  338. package/lib/hooks/useFocusZone.d.ts +23 -0
  339. package/lib/hooks/useFocusZone.js +53 -0
  340. package/lib/hooks/useOnEscapePress.d.ts +23 -0
  341. package/lib/hooks/useOnEscapePress.js +69 -0
  342. package/lib/hooks/useOnOutsideClick.d.ts +8 -0
  343. package/lib/hooks/useOnOutsideClick.js +90 -0
  344. package/lib/hooks/useOpenAndCloseFocus.d.ts +8 -0
  345. package/lib/hooks/useOpenAndCloseFocus.js +36 -0
  346. package/lib/hooks/useOverlay.d.ts +15 -0
  347. package/lib/hooks/useOverlay.js +43 -0
  348. package/lib/hooks/useProvidedRefOrCreate.d.ts +10 -0
  349. package/lib/hooks/useProvidedRefOrCreate.js +24 -0
  350. package/lib/hooks/useProvidedStateOrCreate.d.ts +10 -0
  351. package/lib/hooks/useProvidedStateOrCreate.js +27 -0
  352. package/lib/hooks/useRenderForcingRef.d.ts +8 -0
  353. package/lib/hooks/useRenderForcingRef.js +25 -0
  354. package/lib/hooks/useResizeObserver.d.ts +1 -0
  355. package/lib/hooks/useResizeObserver.js +20 -0
  356. package/lib/hooks/useSafeTimeout.d.ts +12 -0
  357. package/lib/hooks/useSafeTimeout.js +38 -0
  358. package/lib/hooks/useScrollFlash.d.ts +6 -0
  359. package/lib/hooks/useScrollFlash.js +29 -0
  360. package/lib/index.d.ts +124 -0
  361. package/lib/index.js +229 -7
  362. package/lib/polyfills/eventListenerSignal.d.ts +6 -0
  363. package/lib/polyfills/eventListenerSignal.js +64 -0
  364. package/lib/sx.d.ts +14 -0
  365. package/lib/sx.js +8 -5
  366. package/lib/theme-preval.d.ts +49 -0
  367. package/lib/theme-preval.js +3119 -357
  368. package/lib/theme.d.ts +80 -0
  369. package/lib/theme.js +5 -8
  370. package/lib/utils/create-slots.d.ts +17 -0
  371. package/lib/utils/create-slots.js +105 -0
  372. package/lib/utils/deprecate.d.ts +18 -0
  373. package/lib/utils/deprecate.js +6 -5
  374. package/lib/utils/isNumeric.d.ts +1 -0
  375. package/lib/utils/isNumeric.js +1 -0
  376. package/lib/utils/iterateFocusableElements.d.ts +42 -0
  377. package/lib/utils/iterateFocusableElements.js +113 -0
  378. package/lib/utils/ssr.d.ts +1 -0
  379. package/lib/utils/ssr.js +19 -0
  380. package/lib/utils/test-deprecations.d.ts +1 -0
  381. package/lib/utils/test-deprecations.js +2 -1
  382. package/lib/utils/test-helpers.d.ts +0 -0
  383. package/lib/utils/test-helpers.js +9 -0
  384. package/lib/utils/test-matchers.d.ts +1 -0
  385. package/lib/utils/test-matchers.js +6 -50
  386. package/lib/utils/testing.d.ts +545 -0
  387. package/lib/utils/testing.js +65 -49
  388. package/lib/utils/theme.d.ts +9 -0
  389. package/lib/utils/theme.js +68 -0
  390. package/lib/utils/types/AriaRole.d.ts +1 -0
  391. package/lib/utils/types/AriaRole.js +1 -0
  392. package/lib/utils/types/ComponentProps.d.ts +9 -0
  393. package/lib/utils/types/ComponentProps.js +1 -0
  394. package/lib/utils/types/Flatten.d.ts +4 -0
  395. package/lib/utils/types/Flatten.js +1 -0
  396. package/lib/utils/types/FormValidationStatus.d.ts +1 -0
  397. package/lib/utils/types/FormValidationStatus.js +1 -0
  398. package/lib/utils/types/KeyPaths.d.ts +3 -0
  399. package/lib/utils/types/KeyPaths.js +1 -0
  400. package/lib/utils/types/MandateProps.d.ts +3 -0
  401. package/lib/utils/types/MandateProps.js +1 -0
  402. package/lib/utils/types/Merge.d.ts +19 -0
  403. package/lib/utils/types/Merge.js +1 -0
  404. package/lib/utils/types/index.d.ts +5 -0
  405. package/lib/utils/types/index.js +70 -0
  406. package/lib/utils/uniqueId.d.ts +1 -0
  407. package/lib/utils/uniqueId.js +12 -0
  408. package/lib/utils/use-force-update.d.ts +1 -0
  409. package/lib/utils/use-force-update.js +19 -0
  410. package/lib/utils/useIsomorphicLayoutEffect.d.ts +3 -0
  411. package/lib/utils/useIsomorphicLayoutEffect.js +12 -0
  412. package/lib/utils/userAgent.d.ts +1 -0
  413. package/lib/utils/userAgent.js +15 -0
  414. package/lib-esm/ActionList/Divider.d.ts +9 -0
  415. package/lib-esm/ActionList/Divider.js +23 -0
  416. package/lib-esm/ActionList/Group.d.ts +28 -0
  417. package/lib-esm/ActionList/Group.js +24 -0
  418. package/lib-esm/ActionList/Header.d.ts +29 -0
  419. package/lib-esm/ActionList/Header.js +33 -0
  420. package/lib-esm/ActionList/Item.d.ts +98 -0
  421. package/lib-esm/ActionList/Item.js +241 -0
  422. package/lib-esm/ActionList/List.d.ts +88 -0
  423. package/lib-esm/ActionList/List.js +181 -0
  424. package/lib-esm/ActionList/index.d.ts +17 -0
  425. package/lib-esm/ActionList/index.js +18 -0
  426. package/lib-esm/ActionList2/Description.d.ts +12 -0
  427. package/lib-esm/ActionList2/Description.js +41 -0
  428. package/lib-esm/ActionList2/Divider.d.ts +5 -0
  429. package/lib-esm/ActionList2/Divider.js +23 -0
  430. package/lib-esm/ActionList2/Group.d.ts +37 -0
  431. package/lib-esm/ActionList2/Group.js +87 -0
  432. package/lib-esm/ActionList2/Item.d.ts +63 -0
  433. package/lib-esm/ActionList2/Item.js +210 -0
  434. package/lib-esm/ActionList2/LinkItem.d.ts +17 -0
  435. package/lib-esm/ActionList2/LinkItem.js +43 -0
  436. package/lib-esm/ActionList2/List.d.ts +26 -0
  437. package/lib-esm/ActionList2/List.js +36 -0
  438. package/lib-esm/ActionList2/Selection.d.ts +5 -0
  439. package/lib-esm/ActionList2/Selection.js +68 -0
  440. package/lib-esm/ActionList2/Visuals.d.ts +9 -0
  441. package/lib-esm/ActionList2/Visuals.js +68 -0
  442. package/lib-esm/ActionList2/index.d.ts +36 -0
  443. package/lib-esm/ActionList2/index.js +33 -0
  444. package/lib-esm/ActionMenu.d.ts +40 -0
  445. package/lib-esm/ActionMenu.js +82 -0
  446. package/lib-esm/AnchoredOverlay/AnchoredOverlay.d.ts +62 -0
  447. package/lib-esm/AnchoredOverlay/AnchoredOverlay.js +104 -0
  448. package/lib-esm/AnchoredOverlay/index.d.ts +2 -0
  449. package/lib-esm/AnchoredOverlay/index.js +1 -0
  450. package/lib-esm/Autocomplete/Autocomplete.d.ts +305 -0
  451. package/lib-esm/Autocomplete/Autocomplete.js +123 -0
  452. package/lib-esm/Autocomplete/AutocompleteContext.d.ts +17 -0
  453. package/lib-esm/Autocomplete/AutocompleteContext.js +2 -0
  454. package/lib-esm/Autocomplete/AutocompleteInput.d.ts +293 -0
  455. package/lib-esm/Autocomplete/AutocompleteInput.js +138 -0
  456. package/lib-esm/Autocomplete/AutocompleteMenu.d.ts +72 -0
  457. package/lib-esm/Autocomplete/AutocompleteMenu.js +195 -0
  458. package/lib-esm/Autocomplete/AutocompleteOverlay.d.ts +20 -0
  459. package/lib-esm/Autocomplete/AutocompleteOverlay.js +62 -0
  460. package/lib-esm/Autocomplete/index.d.ts +2 -0
  461. package/lib-esm/Autocomplete/index.js +1 -0
  462. package/lib-esm/Avatar.d.ts +15 -0
  463. package/lib-esm/Avatar.js +0 -9
  464. package/lib-esm/AvatarPair.d.ts +8 -0
  465. package/lib-esm/AvatarPair.js +9 -14
  466. package/lib-esm/AvatarStack.d.ts +8 -0
  467. package/lib-esm/AvatarStack.js +15 -23
  468. package/lib-esm/BaseStyles.d.ts +14 -0
  469. package/lib-esm/BaseStyles.js +23 -26
  470. package/lib-esm/BorderBox.d.ts +7 -0
  471. package/lib-esm/BorderBox.js +6 -12
  472. package/lib-esm/Box.d.ts +6 -0
  473. package/lib-esm/Box.js +2 -13
  474. package/lib-esm/BranchName.d.ts +6 -0
  475. package/lib-esm/BranchName.js +1 -12
  476. package/lib-esm/Breadcrumbs.d.ts +41 -0
  477. package/lib-esm/Breadcrumbs.js +58 -0
  478. package/lib-esm/Button/Button.d.ts +284 -0
  479. package/lib-esm/Button/Button.js +3 -10
  480. package/lib-esm/Button/ButtonBase.d.ts +9 -0
  481. package/lib-esm/Button/ButtonBase.js +1 -19
  482. package/lib-esm/Button/ButtonClose.d.ts +279 -0
  483. package/lib-esm/Button/ButtonClose.js +5 -20
  484. package/lib-esm/Button/ButtonDanger.d.ts +284 -0
  485. package/lib-esm/Button/ButtonDanger.js +2 -9
  486. package/lib-esm/Button/ButtonGroup.d.ts +4 -0
  487. package/lib-esm/Button/ButtonGroup.js +2 -7
  488. package/lib-esm/Button/ButtonInvisible.d.ts +284 -0
  489. package/lib-esm/Button/ButtonInvisible.js +3 -10
  490. package/lib-esm/Button/ButtonOutline.d.ts +284 -0
  491. package/lib-esm/Button/ButtonOutline.js +2 -9
  492. package/lib-esm/Button/ButtonPrimary.d.ts +284 -0
  493. package/lib-esm/Button/ButtonPrimary.js +2 -9
  494. package/lib-esm/Button/ButtonStyles.d.ts +2 -0
  495. package/lib-esm/Button/ButtonTableList.d.ts +5 -0
  496. package/lib-esm/Button/ButtonTableList.js +2 -14
  497. package/lib-esm/Button/index.d.ts +16 -0
  498. package/lib-esm/Button/index.js +8 -8
  499. package/lib-esm/Caret.d.ts +21 -0
  500. package/lib-esm/Caret.js +24 -30
  501. package/lib-esm/Checkbox.d.ts +29 -0
  502. package/lib-esm/Checkbox.js +44 -0
  503. package/lib-esm/CheckboxInputField.d.ts +11 -0
  504. package/lib-esm/CheckboxInputField.js +56 -0
  505. package/lib-esm/ChoiceFieldset/ChoiceFieldCaption.d.ts +3 -0
  506. package/lib-esm/ChoiceFieldset/ChoiceFieldCaption.js +20 -0
  507. package/lib-esm/ChoiceFieldset/ChoiceFieldLabel.d.ts +3 -0
  508. package/lib-esm/ChoiceFieldset/ChoiceFieldLabel.js +20 -0
  509. package/lib-esm/ChoiceFieldset/ChoiceFieldset.d.ts +64 -0
  510. package/lib-esm/ChoiceFieldset/ChoiceFieldset.js +76 -0
  511. package/lib-esm/ChoiceFieldset/ChoiceFieldsetCaption.d.ts +3 -0
  512. package/lib-esm/ChoiceFieldset/ChoiceFieldsetCaption.js +18 -0
  513. package/lib-esm/ChoiceFieldset/ChoiceFieldsetLegend.d.ts +6 -0
  514. package/lib-esm/ChoiceFieldset/ChoiceFieldsetLegend.js +31 -0
  515. package/lib-esm/ChoiceFieldset/ChoiceFieldsetList.d.ts +6 -0
  516. package/lib-esm/ChoiceFieldset/ChoiceFieldsetList.js +63 -0
  517. package/lib-esm/ChoiceFieldset/ChoiceFieldsetListContext.d.ts +18 -0
  518. package/lib-esm/ChoiceFieldset/ChoiceFieldsetListContext.js +5 -0
  519. package/lib-esm/ChoiceFieldset/ChoiceFieldsetListItem.d.ts +24 -0
  520. package/lib-esm/ChoiceFieldset/ChoiceFieldsetListItem.js +44 -0
  521. package/lib-esm/ChoiceFieldset/ChoiceFieldsetValidation.d.ts +6 -0
  522. package/lib-esm/ChoiceFieldset/ChoiceFieldsetValidation.js +7 -0
  523. package/lib-esm/ChoiceFieldset/index.d.ts +3 -0
  524. package/lib-esm/ChoiceFieldset/index.js +2 -0
  525. package/lib-esm/CircleBadge.d.ts +24 -0
  526. package/lib-esm/CircleBadge.js +15 -39
  527. package/lib-esm/CircleOcticon.d.ts +392 -0
  528. package/lib-esm/CircleOcticon.js +9 -16
  529. package/lib-esm/CounterLabel.d.ts +7 -0
  530. package/lib-esm/CounterLabel.js +4 -16
  531. package/lib-esm/Details.d.ts +6 -0
  532. package/lib-esm/Details.js +1 -8
  533. package/lib-esm/Dialog/ConfirmationDialog.d.ts +44 -0
  534. package/lib-esm/Dialog/ConfirmationDialog.js +169 -0
  535. package/lib-esm/Dialog/Dialog.d.ts +163 -0
  536. package/lib-esm/Dialog/Dialog.js +275 -0
  537. package/lib-esm/Dialog.d.ts +406 -0
  538. package/lib-esm/Dialog.js +31 -46
  539. package/lib-esm/Dropdown.d.ts +1177 -0
  540. package/lib-esm/Dropdown.js +38 -58
  541. package/lib-esm/DropdownMenu/DropdownButton.d.ts +280 -0
  542. package/lib-esm/DropdownMenu/DropdownButton.js +18 -0
  543. package/lib-esm/DropdownMenu/DropdownMenu.d.ts +43 -0
  544. package/lib-esm/DropdownMenu/DropdownMenu.js +77 -0
  545. package/lib-esm/DropdownMenu/index.d.ts +4 -0
  546. package/lib-esm/DropdownMenu/index.js +2 -0
  547. package/lib-esm/DropdownStyles.d.ts +3 -0
  548. package/lib-esm/DropdownStyles.js +6 -6
  549. package/lib-esm/FilterList.d.ts +283 -0
  550. package/lib-esm/FilterList.js +3 -29
  551. package/lib-esm/FilteredActionList/FilteredActionList.d.ts +16 -0
  552. package/lib-esm/FilteredActionList/FilteredActionList.js +109 -0
  553. package/lib-esm/FilteredActionList/index.d.ts +2 -0
  554. package/lib-esm/FilteredActionList/index.js +1 -0
  555. package/lib-esm/FilteredSearch.d.ts +5 -0
  556. package/lib-esm/FilteredSearch.js +2 -11
  557. package/lib-esm/Flash.d.ts +8 -0
  558. package/lib-esm/Flash.js +36 -13
  559. package/lib-esm/Flex.d.ts +7 -0
  560. package/lib-esm/Flex.js +4 -4
  561. package/lib-esm/FormGroup.d.ts +11 -0
  562. package/lib-esm/FormGroup.js +3 -20
  563. package/lib-esm/Grid.d.ts +7 -0
  564. package/lib-esm/Grid.js +5 -7
  565. package/lib-esm/Header.d.ts +23 -0
  566. package/lib-esm/Header.js +6 -34
  567. package/lib-esm/Heading.d.ts +6 -0
  568. package/lib-esm/Heading.js +0 -6
  569. package/lib-esm/Label.d.ts +10 -0
  570. package/lib-esm/Label.js +3 -15
  571. package/lib-esm/LabelGroup.d.ts +5 -0
  572. package/lib-esm/LabelGroup.js +2 -9
  573. package/lib-esm/Link.d.ts +9 -0
  574. package/lib-esm/Link.js +2 -28
  575. package/lib-esm/NewButton/button-counter.d.ts +6 -0
  576. package/lib-esm/NewButton/button-counter.js +18 -0
  577. package/lib-esm/NewButton/button.d.ts +13 -0
  578. package/lib-esm/NewButton/button.js +287 -0
  579. package/lib-esm/NewButton/index.d.ts +14 -0
  580. package/lib-esm/NewButton/index.js +5 -0
  581. package/lib-esm/NewButton/types.d.ts +32 -0
  582. package/lib-esm/NewButton/types.js +1 -0
  583. package/lib-esm/Overlay.d.ts +66 -0
  584. package/lib-esm/Overlay.js +160 -0
  585. package/lib-esm/Pagehead.d.ts +5 -0
  586. package/lib-esm/Pagehead.js +2 -12
  587. package/lib-esm/Pagination/Pagination.d.ts +24 -0
  588. package/lib-esm/Pagination/Pagination.js +15 -28
  589. package/lib-esm/Pagination/index.d.ts +3 -0
  590. package/lib-esm/Pagination/model.d.ts +26 -0
  591. package/lib-esm/Pagination/model.js +1 -1
  592. package/lib-esm/PointerBox.d.ts +11 -0
  593. package/lib-esm/PointerBox.js +4 -11
  594. package/lib-esm/Popover.d.ts +20 -0
  595. package/lib-esm/Popover.js +13 -36
  596. package/lib-esm/Portal/Portal.d.ts +25 -0
  597. package/lib-esm/Portal/Portal.js +83 -0
  598. package/lib-esm/Portal/index.d.ts +4 -0
  599. package/lib-esm/Portal/index.js +3 -0
  600. package/lib-esm/Position.d.ts +34 -0
  601. package/lib-esm/Position.js +42 -37
  602. package/lib-esm/ProgressBar.d.ts +21 -0
  603. package/lib-esm/ProgressBar.js +3 -15
  604. package/lib-esm/RadioInputField.d.ts +9 -0
  605. package/lib-esm/RadioInputField.js +65 -0
  606. package/lib-esm/SelectMenu/SelectMenu.d.ts +1670 -0
  607. package/lib-esm/SelectMenu/SelectMenu.js +27 -38
  608. package/lib-esm/SelectMenu/SelectMenuContext.d.ts +8 -0
  609. package/lib-esm/SelectMenu/SelectMenuContext.js +1 -1
  610. package/lib-esm/SelectMenu/SelectMenuDivider.d.ts +5 -0
  611. package/lib-esm/SelectMenu/SelectMenuDivider.js +4 -11
  612. package/lib-esm/SelectMenu/SelectMenuFilter.d.ts +9 -0
  613. package/lib-esm/SelectMenu/SelectMenuFilter.js +13 -19
  614. package/lib-esm/SelectMenu/SelectMenuFooter.d.ts +5 -0
  615. package/lib-esm/SelectMenu/SelectMenuFooter.js +4 -11
  616. package/lib-esm/SelectMenu/SelectMenuHeader.d.ts +10 -0
  617. package/lib-esm/SelectMenu/SelectMenuHeader.js +7 -18
  618. package/lib-esm/SelectMenu/SelectMenuItem.d.ts +14 -0
  619. package/lib-esm/SelectMenu/SelectMenuItem.js +11 -17
  620. package/lib-esm/SelectMenu/SelectMenuList.d.ts +5 -0
  621. package/lib-esm/SelectMenu/SelectMenuList.js +4 -11
  622. package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.d.ts +7 -0
  623. package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.js +7 -13
  624. package/lib-esm/SelectMenu/SelectMenuModal.d.ts +14 -0
  625. package/lib-esm/SelectMenu/SelectMenuModal.js +10 -20
  626. package/lib-esm/SelectMenu/SelectMenuTab.d.ts +13 -0
  627. package/lib-esm/SelectMenu/SelectMenuTab.js +13 -21
  628. package/lib-esm/SelectMenu/SelectMenuTabPanel.d.ts +12 -0
  629. package/lib-esm/SelectMenu/SelectMenuTabPanel.js +9 -19
  630. package/lib-esm/SelectMenu/SelectMenuTabs.d.ts +10 -0
  631. package/lib-esm/SelectMenu/SelectMenuTabs.js +8 -15
  632. package/lib-esm/SelectMenu/hooks/useKeyboardNav.d.ts +2 -0
  633. package/lib-esm/SelectMenu/hooks/useKeyboardNav.js +2 -0
  634. package/lib-esm/SelectMenu/index.d.ts +2 -0
  635. package/lib-esm/SelectMenu/index.js +1 -2
  636. package/lib-esm/SelectPanel/SelectPanel.d.ts +25 -0
  637. package/lib-esm/SelectPanel/SelectPanel.js +127 -0
  638. package/lib-esm/SelectPanel/index.d.ts +2 -0
  639. package/lib-esm/SelectPanel/index.js +1 -0
  640. package/lib-esm/SideNav.d.ts +34 -0
  641. package/lib-esm/SideNav.js +29 -45
  642. package/lib-esm/Spinner.d.ts +17 -0
  643. package/lib-esm/Spinner.js +46 -0
  644. package/lib-esm/StateLabel.d.ts +15 -0
  645. package/lib-esm/StateLabel.js +55 -23
  646. package/lib-esm/StyledOcticon.d.ts +11 -0
  647. package/lib-esm/StyledOcticon.js +1 -12
  648. package/lib-esm/SubNav.d.ts +26 -0
  649. package/lib-esm/SubNav.js +10 -37
  650. package/lib-esm/TabNav.d.ts +19 -0
  651. package/lib-esm/TabNav.js +23 -46
  652. package/lib-esm/Text.d.ts +6 -0
  653. package/lib-esm/Text.js +0 -10
  654. package/lib-esm/TextInput.d.ts +14 -0
  655. package/lib-esm/TextInput.js +24 -62
  656. package/lib-esm/TextInputField.d.ts +581 -0
  657. package/lib-esm/TextInputField.js +50 -0
  658. package/lib-esm/TextInputWithTokens.d.ts +328 -0
  659. package/lib-esm/TextInputWithTokens.js +291 -0
  660. package/lib-esm/ThemeProvider.d.ts +26 -0
  661. package/lib-esm/ThemeProvider.js +161 -0
  662. package/lib-esm/Timeline.d.ts +33 -0
  663. package/lib-esm/Timeline.js +45 -94
  664. package/lib-esm/Token/AvatarToken.d.ts +7 -0
  665. package/lib-esm/Token/AvatarToken.js +43 -0
  666. package/lib-esm/Token/IssueLabelToken.d.ts +14 -0
  667. package/lib-esm/Token/IssueLabelToken.js +124 -0
  668. package/lib-esm/Token/Token.d.ts +15 -0
  669. package/lib-esm/Token/Token.js +84 -0
  670. package/lib-esm/Token/TokenBase.d.ts +31 -0
  671. package/lib-esm/Token/TokenBase.js +83 -0
  672. package/lib-esm/Token/_RemoveTokenButton.d.ts +12 -0
  673. package/lib-esm/Token/_RemoveTokenButton.js +69 -0
  674. package/lib-esm/Token/_TokenTextContainer.d.ts +3 -0
  675. package/lib-esm/Token/_TokenTextContainer.js +6 -0
  676. package/lib-esm/Token/index.d.ts +3 -0
  677. package/lib-esm/Token/index.js +3 -0
  678. package/lib-esm/Tooltip.d.ts +17 -0
  679. package/lib-esm/Tooltip.js +11 -28
  680. package/lib-esm/Truncate.d.ts +10 -0
  681. package/lib-esm/Truncate.js +2 -15
  682. package/lib-esm/UnderlineNav.d.ts +24 -0
  683. package/lib-esm/UnderlineNav.js +5 -28
  684. package/lib-esm/_InputCaption.d.ts +13 -0
  685. package/lib-esm/_InputCaption.js +16 -0
  686. package/lib-esm/_InputField/InputField.d.ts +39 -0
  687. package/lib-esm/_InputField/InputField.js +70 -0
  688. package/lib-esm/_InputField/InputFieldCaption.d.ts +3 -0
  689. package/lib-esm/_InputField/InputFieldCaption.js +18 -0
  690. package/lib-esm/_InputField/InputFieldLabel.d.ts +9 -0
  691. package/lib-esm/_InputField/InputFieldLabel.js +22 -0
  692. package/lib-esm/_InputField/InputFieldValidation.d.ts +6 -0
  693. package/lib-esm/_InputField/InputFieldValidation.js +7 -0
  694. package/lib-esm/_InputField/ToggleInputField.d.ts +13 -0
  695. package/lib-esm/_InputField/ToggleInputField.js +54 -0
  696. package/lib-esm/_InputField/ToggleInputLeadingVisual.d.ts +3 -0
  697. package/lib-esm/_InputField/ToggleInputLeadingVisual.js +11 -0
  698. package/lib-esm/_InputField/ValidationAnimationContainer.d.ts +6 -0
  699. package/lib-esm/_InputField/ValidationAnimationContainer.js +33 -0
  700. package/lib-esm/_InputField/index.d.ts +1 -0
  701. package/lib-esm/_InputField/index.js +1 -0
  702. package/lib-esm/_InputField/slots.d.ts +13 -0
  703. package/lib-esm/_InputField/slots.js +5 -0
  704. package/lib-esm/_InputLabel.d.ts +8 -0
  705. package/lib-esm/_InputLabel.js +32 -0
  706. package/lib-esm/_InputValidation.d.ts +8 -0
  707. package/lib-esm/_InputValidation.js +43 -0
  708. package/lib-esm/_TextInputWrapper.d.ts +10 -0
  709. package/lib-esm/_TextInputWrapper.js +31 -0
  710. package/lib-esm/_UnstyledTextInput.d.ts +2 -0
  711. package/lib-esm/_UnstyledTextInput.js +7 -0
  712. package/lib-esm/_VisuallyHidden.d.ts +6 -0
  713. package/lib-esm/_VisuallyHidden.js +26 -0
  714. package/lib-esm/behaviors/anchoredPosition.d.ts +89 -0
  715. package/lib-esm/behaviors/anchoredPosition.js +309 -0
  716. package/lib-esm/behaviors/focusTrap.d.ts +12 -0
  717. package/lib-esm/behaviors/focusTrap.js +170 -0
  718. package/lib-esm/behaviors/focusZone.d.ts +137 -0
  719. package/lib-esm/behaviors/focusZone.js +560 -0
  720. package/lib-esm/behaviors/scrollIntoViewingArea.d.ts +1 -0
  721. package/lib-esm/behaviors/scrollIntoViewingArea.js +30 -0
  722. package/lib-esm/constants.d.ts +20 -0
  723. package/lib-esm/constants.js +9 -23
  724. package/lib-esm/drafts.d.ts +8 -0
  725. package/lib-esm/drafts.js +9 -0
  726. package/lib-esm/hooks/index.d.ts +11 -0
  727. package/lib-esm/hooks/index.js +7 -0
  728. package/lib-esm/hooks/useAnchoredPosition.d.ts +20 -0
  729. package/lib-esm/hooks/useAnchoredPosition.js +35 -0
  730. package/lib-esm/hooks/useCombinedRefs.d.ts +10 -0
  731. package/lib-esm/hooks/useCombinedRefs.js +37 -0
  732. package/lib-esm/hooks/useDetails.d.ts +17 -0
  733. package/lib-esm/hooks/useDetails.js +10 -3
  734. package/lib-esm/hooks/useDialog.d.ts +16 -0
  735. package/lib-esm/hooks/useDialog.js +21 -6
  736. package/lib-esm/hooks/useFocusTrap.d.ts +32 -0
  737. package/lib-esm/hooks/useFocusTrap.js +54 -0
  738. package/lib-esm/hooks/useFocusZone.d.ts +23 -0
  739. package/lib-esm/hooks/useFocusZone.js +37 -0
  740. package/lib-esm/hooks/useOnEscapePress.d.ts +23 -0
  741. package/lib-esm/hooks/useOnEscapePress.js +59 -0
  742. package/lib-esm/hooks/useOnOutsideClick.d.ts +8 -0
  743. package/lib-esm/hooks/useOnOutsideClick.js +79 -0
  744. package/lib-esm/hooks/useOpenAndCloseFocus.d.ts +8 -0
  745. package/lib-esm/hooks/useOpenAndCloseFocus.js +27 -0
  746. package/lib-esm/hooks/useOverlay.d.ts +15 -0
  747. package/lib-esm/hooks/useOverlay.js +30 -0
  748. package/lib-esm/hooks/useProvidedRefOrCreate.d.ts +10 -0
  749. package/lib-esm/hooks/useProvidedRefOrCreate.js +14 -0
  750. package/lib-esm/hooks/useProvidedStateOrCreate.d.ts +10 -0
  751. package/lib-esm/hooks/useProvidedStateOrCreate.js +20 -0
  752. package/lib-esm/hooks/useRenderForcingRef.d.ts +8 -0
  753. package/lib-esm/hooks/useRenderForcingRef.js +18 -0
  754. package/lib-esm/hooks/useResizeObserver.d.ts +1 -0
  755. package/lib-esm/hooks/useResizeObserver.js +10 -0
  756. package/lib-esm/hooks/useSafeTimeout.d.ts +12 -0
  757. package/lib-esm/hooks/useSafeTimeout.js +31 -0
  758. package/lib-esm/hooks/useScrollFlash.d.ts +6 -0
  759. package/lib-esm/hooks/useScrollFlash.js +22 -0
  760. package/lib-esm/index.d.ts +124 -0
  761. package/lib-esm/index.js +33 -7
  762. package/lib-esm/polyfills/eventListenerSignal.d.ts +6 -0
  763. package/lib-esm/polyfills/eventListenerSignal.js +57 -0
  764. package/lib-esm/sx.d.ts +14 -0
  765. package/lib-esm/sx.js +3 -5
  766. package/lib-esm/theme-preval.d.ts +49 -0
  767. package/lib-esm/theme-preval.js +3119 -357
  768. package/lib-esm/theme.d.ts +80 -0
  769. package/lib-esm/theme.js +3 -8
  770. package/lib-esm/utils/create-slots.d.ts +17 -0
  771. package/lib-esm/utils/create-slots.js +84 -0
  772. package/lib-esm/utils/deprecate.d.ts +18 -0
  773. package/lib-esm/utils/deprecate.js +6 -5
  774. package/lib-esm/utils/isNumeric.d.ts +1 -0
  775. package/lib-esm/utils/isNumeric.js +1 -0
  776. package/lib-esm/utils/iterateFocusableElements.d.ts +42 -0
  777. package/lib-esm/utils/iterateFocusableElements.js +102 -0
  778. package/lib-esm/utils/ssr.d.ts +1 -0
  779. package/lib-esm/utils/ssr.js +1 -0
  780. package/lib-esm/utils/test-deprecations.d.ts +1 -0
  781. package/lib-esm/utils/test-deprecations.js +1 -1
  782. package/lib-esm/utils/{types.js → test-helpers.d.ts} +0 -0
  783. package/lib-esm/utils/test-helpers.js +7 -0
  784. package/lib-esm/utils/test-matchers.d.ts +1 -0
  785. package/lib-esm/utils/test-matchers.js +7 -49
  786. package/lib-esm/utils/testing.d.ts +545 -0
  787. package/lib-esm/utils/testing.js +60 -46
  788. package/lib-esm/utils/theme.d.ts +9 -0
  789. package/lib-esm/utils/theme.js +66 -0
  790. package/lib-esm/utils/types/AriaRole.d.ts +1 -0
  791. package/lib-esm/utils/types/AriaRole.js +1 -0
  792. package/lib-esm/utils/types/ComponentProps.d.ts +9 -0
  793. package/lib-esm/utils/types/ComponentProps.js +1 -0
  794. package/lib-esm/utils/types/Flatten.d.ts +4 -0
  795. package/lib-esm/utils/types/Flatten.js +1 -0
  796. package/lib-esm/utils/types/FormValidationStatus.d.ts +1 -0
  797. package/lib-esm/utils/types/FormValidationStatus.js +1 -0
  798. package/lib-esm/utils/types/KeyPaths.d.ts +3 -0
  799. package/lib-esm/utils/types/KeyPaths.js +1 -0
  800. package/lib-esm/utils/types/MandateProps.d.ts +3 -0
  801. package/lib-esm/utils/types/MandateProps.js +1 -0
  802. package/lib-esm/utils/types/Merge.d.ts +19 -0
  803. package/lib-esm/utils/types/Merge.js +1 -0
  804. package/lib-esm/utils/types/index.d.ts +5 -0
  805. package/lib-esm/utils/types/index.js +5 -0
  806. package/lib-esm/utils/uniqueId.d.ts +1 -0
  807. package/lib-esm/utils/uniqueId.js +5 -0
  808. package/lib-esm/utils/use-force-update.d.ts +1 -0
  809. package/lib-esm/utils/use-force-update.js +6 -0
  810. package/lib-esm/utils/useIsomorphicLayoutEffect.d.ts +3 -0
  811. package/lib-esm/utils/useIsomorphicLayoutEffect.js +3 -0
  812. package/lib-esm/utils/userAgent.d.ts +1 -0
  813. package/lib-esm/utils/userAgent.js +8 -0
  814. package/package.json +114 -93
  815. package/index.d.ts +0 -828
  816. package/lib/Breadcrumb.js +0 -96
  817. package/lib/hooks/useMouseIntent.js +0 -58
  818. package/lib/stories/Button.stories.js +0 -100
  819. package/lib-esm/Breadcrumb.js +0 -70
  820. package/lib-esm/hooks/useMouseIntent.js +0 -50
  821. package/lib-esm/stories/Button.stories.js +0 -65
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useConfirm = useConfirm;
7
+ exports.ConfirmationDialog = void 0;
8
+
9
+ var _react = _interopRequireWildcard(require("react"));
10
+
11
+ var _reactDom = _interopRequireDefault(require("react-dom"));
12
+
13
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
14
+
15
+ var _Box = _interopRequireDefault(require("../Box"));
16
+
17
+ var _ThemeProvider = require("../ThemeProvider");
18
+
19
+ var _focusZone = require("../behaviors/focusZone");
20
+
21
+ var _constants = require("../constants");
22
+
23
+ var _Dialog = require("../Dialog/Dialog");
24
+
25
+ var _useFocusZone = require("../hooks/useFocusZone");
26
+
27
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
28
+
29
+ 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); }
30
+
31
+ 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; }
32
+
33
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
34
+
35
+ const StyledConfirmationHeader = _styledComponents.default.header.withConfig({
36
+ displayName: "ConfirmationDialog__StyledConfirmationHeader",
37
+ componentId: "sc-1ub32x2-0"
38
+ })(["padding:", ";display:flex;flex-direction:row;"], (0, _constants.get)('space.2'));
39
+
40
+ const StyledTitle = (0, _styledComponents.default)(_Box.default).withConfig({
41
+ displayName: "ConfirmationDialog__StyledTitle",
42
+ componentId: "sc-1ub32x2-1"
43
+ })(["font-size:", ";font-weight:", ";padding:6px ", ";flex-grow:1;"], (0, _constants.get)('fontSizes.3'), (0, _constants.get)('fontWeights.bold'), (0, _constants.get)('space.2'));
44
+
45
+ const ConfirmationHeader = ({
46
+ title,
47
+ onClose,
48
+ dialogLabelId
49
+ }) => {
50
+ const onCloseClick = (0, _react.useCallback)(() => {
51
+ onClose('close-button');
52
+ }, [onClose]);
53
+ return /*#__PURE__*/_react.default.createElement(StyledConfirmationHeader, null, /*#__PURE__*/_react.default.createElement(StyledTitle, {
54
+ id: dialogLabelId
55
+ }, title), /*#__PURE__*/_react.default.createElement(_Dialog.Dialog.CloseButton, {
56
+ onClose: onCloseClick
57
+ }));
58
+ };
59
+
60
+ ConfirmationHeader.displayName = "ConfirmationHeader";
61
+ const StyledConfirmationBody = (0, _styledComponents.default)(_Box.default).withConfig({
62
+ displayName: "ConfirmationDialog__StyledConfirmationBody",
63
+ componentId: "sc-1ub32x2-2"
64
+ })(["font-size:", ";padding:0 ", " ", " ", ";color:", ";flex-grow:1;"], (0, _constants.get)('fontSizes.1'), (0, _constants.get)('space.3'), (0, _constants.get)('space.3'), (0, _constants.get)('space.3'), (0, _constants.get)('colors.fg.muted'));
65
+
66
+ const ConfirmationBody = ({
67
+ children
68
+ }) => {
69
+ return /*#__PURE__*/_react.default.createElement(StyledConfirmationBody, null, children);
70
+ };
71
+
72
+ ConfirmationBody.displayName = "ConfirmationBody";
73
+ const StyledConfirmationFooter = (0, _styledComponents.default)(_Box.default).withConfig({
74
+ displayName: "ConfirmationDialog__StyledConfirmationFooter",
75
+ componentId: "sc-1ub32x2-3"
76
+ })(["display:grid;grid-auto-flow:column;grid-auto-columns:max-content;grid-gap:", ";align-items:end;justify-content:end;padding:", " ", " ", ";"], (0, _constants.get)('space.2'), (0, _constants.get)('space.1'), (0, _constants.get)('space.3'), (0, _constants.get)('space.3'));
77
+
78
+ const ConfirmationFooter = ({
79
+ footerButtons
80
+ }) => {
81
+ const {
82
+ containerRef: footerRef
83
+ } = (0, _useFocusZone.useFocusZone)({
84
+ bindKeys: _focusZone.FocusKeys.ArrowHorizontal | _focusZone.FocusKeys.Tab,
85
+ focusInStrategy: 'closest'
86
+ }); // Must have exactly 2 buttons!
87
+
88
+ return /*#__PURE__*/_react.default.createElement(StyledConfirmationFooter, {
89
+ ref: footerRef
90
+ }, /*#__PURE__*/_react.default.createElement(_Dialog.Dialog.Buttons, {
91
+ buttons: footerButtons !== null && footerButtons !== void 0 ? footerButtons : []
92
+ }));
93
+ };
94
+
95
+ ConfirmationFooter.displayName = "ConfirmationFooter";
96
+
97
+ /**
98
+ * A ConfirmationDialog is a special kind of dialog with more rigid behavior. It
99
+ * is used to confirm a user action. ConfirmationDialogs always have exactly
100
+ * two buttons: one to cancel the action and one to confirm it. No custom
101
+ * rendering capabilities are provided for ConfirmationDialog.
102
+ */
103
+ const ConfirmationDialog = props => {
104
+ const {
105
+ onClose,
106
+ title,
107
+ cancelButtonContent = 'Cancel',
108
+ confirmButtonContent = 'OK',
109
+ confirmButtonType = 'normal',
110
+ children
111
+ } = props;
112
+ const onCancelButtonClick = (0, _react.useCallback)(() => {
113
+ onClose('cancel');
114
+ }, [onClose]);
115
+ const onConfirmButtonClick = (0, _react.useCallback)(() => {
116
+ onClose('confirm');
117
+ }, [onClose]);
118
+ const cancelButton = {
119
+ content: cancelButtonContent,
120
+ onClick: onCancelButtonClick
121
+ };
122
+ const confirmButton = {
123
+ content: confirmButtonContent,
124
+ buttonType: confirmButtonType,
125
+ onClick: onConfirmButtonClick,
126
+ autoFocus: true
127
+ };
128
+ const footerButtons = [cancelButton, confirmButton];
129
+ return /*#__PURE__*/_react.default.createElement(_Dialog.Dialog, {
130
+ onClose: onClose,
131
+ title: title,
132
+ footerButtons: footerButtons,
133
+ role: "alertdialog",
134
+ width: "medium",
135
+ renderHeader: ConfirmationHeader,
136
+ renderBody: ConfirmationBody,
137
+ renderFooter: ConfirmationFooter
138
+ }, children);
139
+ };
140
+
141
+ exports.ConfirmationDialog = ConfirmationDialog;
142
+ ConfirmationDialog.displayName = "ConfirmationDialog";
143
+
144
+ async function confirm(themeProps, options) {
145
+ const {
146
+ content,
147
+ ...confirmationDialogProps
148
+ } = options;
149
+ return new Promise(resolve => {
150
+ const hostElement = document.createElement('div');
151
+
152
+ const onClose = gesture => {
153
+ _reactDom.default.unmountComponentAtNode(hostElement);
154
+
155
+ if (gesture === 'confirm') {
156
+ resolve(true);
157
+ } else {
158
+ resolve(false);
159
+ }
160
+ };
161
+
162
+ _reactDom.default.render( /*#__PURE__*/_react.default.createElement(_ThemeProvider.ThemeProvider, themeProps, /*#__PURE__*/_react.default.createElement(ConfirmationDialog, _extends({}, confirmationDialogProps, {
163
+ onClose: onClose
164
+ }), content)), hostElement);
165
+ });
166
+ }
167
+ /**
168
+ * This hook takes no parameters and returns an `async` function, `confirm`. When `confirm`
169
+ * is called, it shows the confirmation dialog. When the dialog is dismissed, a promise is
170
+ * resolved with `true` or `false` depending on whether or not the confirm button was used.
171
+ */
172
+
173
+
174
+ function useConfirm() {
175
+ const {
176
+ theme,
177
+ colorMode,
178
+ dayScheme,
179
+ nightScheme
180
+ } = (0, _ThemeProvider.useTheme)();
181
+ const result = (0, _react.useCallback)(options => {
182
+ const themeProps = {
183
+ theme,
184
+ colorMode,
185
+ dayScheme,
186
+ nightScheme
187
+ };
188
+ return confirm(themeProps, options);
189
+ }, [theme, colorMode, dayScheme, nightScheme]);
190
+ return result;
191
+ }
@@ -0,0 +1,163 @@
1
+ import React from 'react';
2
+ import { ButtonProps } from '../Button';
3
+ import { SxProp } from '../sx';
4
+ /**
5
+ * Props that characterize a button to be rendered into the footer of
6
+ * a Dialog.
7
+ */
8
+ export declare type DialogButtonProps = ButtonProps & {
9
+ /**
10
+ * The type of Button element to use
11
+ */
12
+ buttonType?: 'normal' | 'primary' | 'danger';
13
+ /**
14
+ * The Button's inner text
15
+ */
16
+ content: React.ReactNode;
17
+ /**
18
+ * If true, and if this is the only button with autoFocus set to true,
19
+ * focus this button automatically when the dialog appears.
20
+ */
21
+ autoFocus?: boolean;
22
+ /**
23
+ * A reference to the rendered Button’s DOM node, used together with
24
+ * `autoFocus` for `focusTrap`’s `initialFocus`.
25
+ */
26
+ ref?: React.RefObject<HTMLButtonElement>;
27
+ };
28
+ /**
29
+ * Props to customize the rendering of the Dialog.
30
+ */
31
+ export interface DialogProps {
32
+ /**
33
+ * Title of the Dialog. Also serves as the aria-label for this Dialog.
34
+ */
35
+ title?: React.ReactNode;
36
+ /**
37
+ * The Dialog's subtitle. Optional. Rendered below the title in smaller
38
+ * type with less contrast. Also serves as the aria-describedby for this
39
+ * Dialog.
40
+ */
41
+ subtitle?: React.ReactNode;
42
+ /**
43
+ * Provide a custom renderer for the dialog header. This content is
44
+ * rendered directly into the dialog body area, full bleed from edge
45
+ * to edge, top to the start of the body element.
46
+ *
47
+ * Warning: using a custom renderer may violate Primer UX principles.
48
+ */
49
+ renderHeader?: React.FunctionComponent<DialogHeaderProps>;
50
+ /**
51
+ * Provide a custom render function for the dialog body. This content is
52
+ * rendered directly into the dialog body area, full bleed from edge to
53
+ * edge, header to footer.
54
+ *
55
+ * Warning: using a custom renderer may violate Primer UX principles.
56
+ */
57
+ renderBody?: React.FunctionComponent<DialogProps>;
58
+ /**
59
+ * Provide a custom render function for the dialog footer. This content is
60
+ * rendered directly into the dialog footer area, full bleed from edge to
61
+ * edge, end of the body element to bottom.
62
+ *
63
+ * Warning: using a custom renderer may violate Primer UX principles.
64
+ */
65
+ renderFooter?: React.FunctionComponent<DialogProps>;
66
+ /**
67
+ * Specifies the buttons to be rendered in the Dialog footer.
68
+ */
69
+ footerButtons?: DialogButtonProps[];
70
+ /**
71
+ * This method is invoked when a gesture to close the dialog is used (either
72
+ * an Escape key press or clicking the "X" in the top-right corner). The
73
+ * gesture argument indicates the gesture that was used to close the dialog
74
+ * (either 'close-button' or 'escape').
75
+ */
76
+ onClose: (gesture: 'close-button' | 'escape') => void;
77
+ /**
78
+ * Default: "dialog". The ARIA role to assign to this dialog.
79
+ * @see https://www.w3.org/TR/wai-aria-practices-1.1/#dialog_modal
80
+ * @see https://www.w3.org/TR/wai-aria-practices-1.1/#alertdialog
81
+ */
82
+ role?: 'dialog' | 'alertdialog';
83
+ /**
84
+ * The width of the dialog.
85
+ * small: 296px
86
+ * medium: 320px
87
+ * large: 480px
88
+ * xlarge: 640px
89
+ */
90
+ width?: DialogWidth;
91
+ /**
92
+ * The height of the dialog.
93
+ * small: 296x480
94
+ * large: 480x640
95
+ * auto: variable based on contents
96
+ */
97
+ height?: DialogHeight;
98
+ }
99
+ /**
100
+ * Props that are passed to a component that serves as a dialog header
101
+ */
102
+ export interface DialogHeaderProps extends DialogProps {
103
+ /**
104
+ * ID of the element that will be used as the `aria-labelledby` attribute on the
105
+ * dialog. This ID should be set to the element that renders the dialog's title.
106
+ */
107
+ dialogLabelId: string;
108
+ /**
109
+ * ID of the element that will be used as the `aria-describedby` attribute on the
110
+ * dialog. This ID should be set to the element that renders the dialog's subtitle.
111
+ */
112
+ dialogDescriptionId: string;
113
+ }
114
+ declare const heightMap: {
115
+ readonly small: "480px";
116
+ readonly large: "640px";
117
+ readonly auto: "auto";
118
+ };
119
+ declare const widthMap: {
120
+ readonly small: "296px";
121
+ readonly medium: "320px";
122
+ readonly large: "480px";
123
+ readonly xlarge: "640px";
124
+ };
125
+ export declare type DialogWidth = keyof typeof widthMap;
126
+ export declare type DialogHeight = keyof typeof heightMap;
127
+ /**
128
+ * A dialog is a type of overlay that can be used for confirming actions, asking
129
+ * for disambiguation, and presenting small forms. They generally allow the user
130
+ * to focus on a quick task without having to navigate to a different page.
131
+ *
132
+ * Dialogs appear in the page after a direct user interaction. Don't show dialogs
133
+ * on page load or as system alerts.
134
+ *
135
+ * Dialogs appear centered in the page, with a visible backdrop that dims the rest
136
+ * of the window for focus.
137
+ *
138
+ * All dialogs have a title and a close button.
139
+ *
140
+ * Dialogs are modal. Dialogs can be dismissed by clicking on the close button,
141
+ * pressing the escape key, or by interacting with another button in the dialog.
142
+ * To avoid losing information and missing important messages, clicking outside
143
+ * of the dialog will not close it.
144
+ *
145
+ * The sub components provided (e.g. Header, Title, etc.) are available for custom
146
+ * renderers only. They are not intended to be used otherwise.
147
+ */
148
+ export declare const Dialog: React.ForwardRefExoticComponent<DialogProps & {
149
+ children?: React.ReactNode;
150
+ } & React.RefAttributes<HTMLDivElement>> & {
151
+ Header: import("styled-components").StyledComponent<"div", any, {}, never>;
152
+ Title: import("styled-components").StyledComponent<"div", any, SxProp, never>;
153
+ Subtitle: import("styled-components").StyledComponent<"div", any, SxProp, never>;
154
+ Body: import("styled-components").StyledComponent<"div", any, SxProp, never>;
155
+ Footer: import("styled-components").StyledComponent<"div", any, SxProp, never>;
156
+ Buttons: React.FC<{
157
+ buttons: DialogButtonProps[];
158
+ }>;
159
+ CloseButton: React.FC<{
160
+ onClose: () => void;
161
+ }>;
162
+ };
163
+ export {};
@@ -0,0 +1,311 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Dialog = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
+
12
+ var _Button = _interopRequireWildcard(require("../Button"));
13
+
14
+ var _Box = _interopRequireDefault(require("../Box"));
15
+
16
+ var _constants = require("../constants");
17
+
18
+ var _hooks = require("../hooks");
19
+
20
+ var _useFocusTrap = require("../hooks/useFocusTrap");
21
+
22
+ var _sx = _interopRequireDefault(require("../sx"));
23
+
24
+ var _StyledOcticon = _interopRequireDefault(require("../StyledOcticon"));
25
+
26
+ var _octiconsReact = require("@primer/octicons-react");
27
+
28
+ var _useFocusZone = require("../hooks/useFocusZone");
29
+
30
+ var _focusZone = require("../behaviors/focusZone");
31
+
32
+ var _Portal = _interopRequireDefault(require("../Portal"));
33
+
34
+ var _useCombinedRefs = require("../hooks/useCombinedRefs");
35
+
36
+ var _ssr = require("@react-aria/ssr");
37
+
38
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
39
+
40
+ 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); }
41
+
42
+ 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; }
43
+
44
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
45
+
46
+ const ANIMATION_DURATION = '200ms';
47
+ /**
48
+ * Props that characterize a button to be rendered into the footer of
49
+ * a Dialog.
50
+ */
51
+
52
+ const Backdrop = (0, _styledComponents.default)('div').withConfig({
53
+ displayName: "Dialog__Backdrop",
54
+ componentId: "sc-11pkgky-0"
55
+ })(["position:fixed;top:0;left:0;bottom:0;right:0;display:flex;align-items:center;justify-content:center;background-color:rgba(0,0,0,0.4);animation:dialog-backdrop-appear ", " ", ";@keyframes dialog-backdrop-appear{0%{opacity:0;}100%{opacity:1;}}"], ANIMATION_DURATION, (0, _constants.get)('animation.easeOutCubic'));
56
+ const heightMap = {
57
+ small: '480px',
58
+ large: '640px',
59
+ auto: 'auto'
60
+ };
61
+ const widthMap = {
62
+ small: '296px',
63
+ medium: '320px',
64
+ large: '480px',
65
+ xlarge: '640px'
66
+ };
67
+
68
+ const StyledDialog = _styledComponents.default.div.withConfig({
69
+ displayName: "Dialog__StyledDialog",
70
+ componentId: "sc-11pkgky-1"
71
+ })(["display:flex;flex-direction:column;background-color:", ";box-shadow:", ";min-width:296px;max-width:calc(100vw - 64px);max-height:calc(100vh - 64px);width:", ";height:", ";border-radius:12px;opacity:1;animation:overlay--dialog-appear ", " ", ";@keyframes overlay--dialog-appear{0%{opacity:0;transform:scale(0.5);}100%{opacity:1;transform:scale(1);}}", ";"], (0, _constants.get)('colors.canvas.overlay'), (0, _constants.get)('shadows.overlay.shadow'), props => {
72
+ var _props$width;
73
+
74
+ return widthMap[(_props$width = props.width) !== null && _props$width !== void 0 ? _props$width : 'xlarge'];
75
+ }, props => {
76
+ var _props$height;
77
+
78
+ return heightMap[(_props$height = props.height) !== null && _props$height !== void 0 ? _props$height : 'auto'];
79
+ }, ANIMATION_DURATION, (0, _constants.get)('animation.easeOutCubic'), _sx.default);
80
+
81
+ const DefaultHeader = ({
82
+ dialogLabelId,
83
+ title,
84
+ subtitle,
85
+ dialogDescriptionId,
86
+ onClose
87
+ }) => {
88
+ const onCloseClick = (0, _react.useCallback)(() => {
89
+ onClose('close-button');
90
+ }, [onClose]);
91
+ return /*#__PURE__*/_react.default.createElement(Dialog.Header, null, /*#__PURE__*/_react.default.createElement(_Box.default, {
92
+ display: "flex"
93
+ }, /*#__PURE__*/_react.default.createElement(_Box.default, {
94
+ display: "flex",
95
+ px: 2,
96
+ py: "6px",
97
+ flexDirection: "column",
98
+ flexGrow: 1
99
+ }, /*#__PURE__*/_react.default.createElement(Dialog.Title, {
100
+ id: dialogLabelId
101
+ }, title !== null && title !== void 0 ? title : 'Dialog'), subtitle && /*#__PURE__*/_react.default.createElement(Dialog.Subtitle, {
102
+ id: dialogDescriptionId
103
+ }, subtitle)), /*#__PURE__*/_react.default.createElement(Dialog.CloseButton, {
104
+ onClose: onCloseClick
105
+ })));
106
+ };
107
+
108
+ DefaultHeader.displayName = "DefaultHeader";
109
+
110
+ const DefaultBody = ({
111
+ children
112
+ }) => {
113
+ return /*#__PURE__*/_react.default.createElement(Dialog.Body, null, children);
114
+ };
115
+
116
+ DefaultBody.displayName = "DefaultBody";
117
+
118
+ const DefaultFooter = ({
119
+ footerButtons
120
+ }) => {
121
+ const {
122
+ containerRef: footerRef
123
+ } = (0, _useFocusZone.useFocusZone)({
124
+ bindKeys: _focusZone.FocusKeys.ArrowHorizontal | _focusZone.FocusKeys.Tab,
125
+ focusInStrategy: 'closest'
126
+ });
127
+ return footerButtons ? /*#__PURE__*/_react.default.createElement(Dialog.Footer, {
128
+ ref: footerRef
129
+ }, /*#__PURE__*/_react.default.createElement(Dialog.Buttons, {
130
+ buttons: footerButtons
131
+ })) : null;
132
+ };
133
+
134
+ const _Dialog = /*#__PURE__*/_react.default.forwardRef((props, forwardedRef) => {
135
+ const {
136
+ title = 'Dialog',
137
+ subtitle = '',
138
+ renderHeader,
139
+ renderBody,
140
+ renderFooter,
141
+ onClose,
142
+ role = 'dialog',
143
+ width = 'xlarge',
144
+ height = 'auto',
145
+ footerButtons = []
146
+ } = props;
147
+ const dialogLabelId = (0, _ssr.useSSRSafeId)();
148
+ const dialogDescriptionId = (0, _ssr.useSSRSafeId)();
149
+ const autoFocusedFooterButtonRef = (0, _react.useRef)(null);
150
+
151
+ for (const footerButton of footerButtons) {
152
+ if (footerButton.autoFocus) {
153
+ footerButton.ref = autoFocusedFooterButtonRef;
154
+ }
155
+ }
156
+
157
+ const defaultedProps = { ...props,
158
+ title,
159
+ subtitle,
160
+ role,
161
+ dialogLabelId,
162
+ dialogDescriptionId
163
+ };
164
+ const dialogRef = (0, _react.useRef)(null);
165
+ const combinedRef = (0, _useCombinedRefs.useCombinedRefs)(dialogRef, forwardedRef);
166
+ const backdropRef = (0, _react.useRef)(null);
167
+ (0, _useFocusTrap.useFocusTrap)({
168
+ containerRef: dialogRef,
169
+ restoreFocusOnCleanUp: true,
170
+ initialFocusRef: autoFocusedFooterButtonRef
171
+ });
172
+ (0, _hooks.useOnEscapePress)(event => {
173
+ onClose('escape');
174
+ event.preventDefault();
175
+ }, [onClose]);
176
+ const header = (renderHeader !== null && renderHeader !== void 0 ? renderHeader : DefaultHeader)(defaultedProps);
177
+ const body = (renderBody !== null && renderBody !== void 0 ? renderBody : DefaultBody)(defaultedProps);
178
+ const footer = (renderFooter !== null && renderFooter !== void 0 ? renderFooter : DefaultFooter)(defaultedProps);
179
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Portal.default, null, /*#__PURE__*/_react.default.createElement(Backdrop, {
180
+ ref: backdropRef
181
+ }, /*#__PURE__*/_react.default.createElement(StyledDialog, {
182
+ width: width,
183
+ height: height,
184
+ ref: combinedRef,
185
+ role: role,
186
+ "aria-labelledby": dialogLabelId,
187
+ "aria-describedby": dialogDescriptionId
188
+ }, header, body, footer))));
189
+ });
190
+
191
+ _Dialog.displayName = 'Dialog';
192
+
193
+ const Header = _styledComponents.default.div.attrs({
194
+ as: 'header'
195
+ }).withConfig({
196
+ displayName: "Dialog__Header",
197
+ componentId: "sc-11pkgky-2"
198
+ })(["box-shadow:0 1px 0 ", ";padding:", ";z-index:1;flex-shrink:0;"], (0, _constants.get)('colors.border.default'), (0, _constants.get)('space.2'));
199
+
200
+ const Title = _styledComponents.default.div.withConfig({
201
+ displayName: "Dialog__Title",
202
+ componentId: "sc-11pkgky-3"
203
+ })(["font-size:", ";font-weight:", ";", ";"], (0, _constants.get)('fontSizes.1'), (0, _constants.get)('fontWeights.bold'), _sx.default);
204
+
205
+ const Subtitle = _styledComponents.default.div.withConfig({
206
+ displayName: "Dialog__Subtitle",
207
+ componentId: "sc-11pkgky-4"
208
+ })(["font-size:", ";margin-top:", ";color:", ";", ";"], (0, _constants.get)('fontSizes.0'), (0, _constants.get)('space.1'), (0, _constants.get)('colors.fg.muted'), _sx.default);
209
+
210
+ const Body = _styledComponents.default.div.withConfig({
211
+ displayName: "Dialog__Body",
212
+ componentId: "sc-11pkgky-5"
213
+ })(["flex-grow:1;overflow:auto;padding:", ";", ";"], (0, _constants.get)('space.3'), _sx.default);
214
+
215
+ const Footer = _styledComponents.default.div.attrs({
216
+ as: 'footer'
217
+ }).withConfig({
218
+ displayName: "Dialog__Footer",
219
+ componentId: "sc-11pkgky-6"
220
+ })(["box-shadow:0 -1px 0 ", ";padding:", ";display:flex;flex-flow:wrap;justify-content:flex-end;z-index:1;flex-shrink:0;button{margin-left:", ";&:first-child{margin-left:0;}}", ";"], (0, _constants.get)('colors.border.default'), (0, _constants.get)('space.3'), (0, _constants.get)('space.1'), _sx.default);
221
+
222
+ const buttonTypes = {
223
+ normal: _Button.default,
224
+ primary: _Button.ButtonPrimary,
225
+ danger: _Button.ButtonDanger
226
+ };
227
+
228
+ const Buttons = ({
229
+ buttons
230
+ }) => {
231
+ var _buttons$find;
232
+
233
+ const autoFocusRef = (0, _hooks.useProvidedRefOrCreate)((_buttons$find = buttons.find(button => button.autoFocus)) === null || _buttons$find === void 0 ? void 0 : _buttons$find.ref);
234
+ let autoFocusCount = 0;
235
+ const [hasRendered, setHasRendered] = (0, _react.useState)(0);
236
+ (0, _react.useEffect)(() => {
237
+ // hack to work around dialogs originating from other focus traps.
238
+ if (hasRendered === 1) {
239
+ var _autoFocusRef$current;
240
+
241
+ (_autoFocusRef$current = autoFocusRef.current) === null || _autoFocusRef$current === void 0 ? void 0 : _autoFocusRef$current.focus();
242
+ } else {
243
+ setHasRendered(hasRendered + 1);
244
+ }
245
+ }, [autoFocusRef, hasRendered]);
246
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, buttons.map((dialogButtonProps, index) => {
247
+ const {
248
+ content,
249
+ buttonType = 'normal',
250
+ autoFocus = false,
251
+ ...buttonProps
252
+ } = dialogButtonProps;
253
+ const ButtonElement = buttonTypes[buttonType];
254
+ return /*#__PURE__*/_react.default.createElement(ButtonElement, _extends({
255
+ key: index
256
+ }, buttonProps, {
257
+ variant: buttonType,
258
+ ref: autoFocus && autoFocusCount === 0 ? (autoFocusCount++, autoFocusRef) : null
259
+ }), content);
260
+ }));
261
+ };
262
+
263
+ const DialogCloseButton = (0, _styledComponents.default)(_Button.default).withConfig({
264
+ displayName: "Dialog__DialogCloseButton",
265
+ componentId: "sc-11pkgky-7"
266
+ })(["border-radius:4px;background:transparent;border:0;vertical-align:middle;color:", ";padding:", ";align-self:flex-start;line-height:normal;box-shadow:none;"], (0, _constants.get)('colors.fg.muted'), (0, _constants.get)('space.2'));
267
+
268
+ const CloseButton = ({
269
+ onClose
270
+ }) => {
271
+ return /*#__PURE__*/_react.default.createElement(DialogCloseButton, {
272
+ "aria-label": "Close",
273
+ onClick: onClose
274
+ }, /*#__PURE__*/_react.default.createElement(_StyledOcticon.default, {
275
+ icon: _octiconsReact.XIcon
276
+ }));
277
+ };
278
+
279
+ CloseButton.displayName = "CloseButton";
280
+
281
+ /**
282
+ * A dialog is a type of overlay that can be used for confirming actions, asking
283
+ * for disambiguation, and presenting small forms. They generally allow the user
284
+ * to focus on a quick task without having to navigate to a different page.
285
+ *
286
+ * Dialogs appear in the page after a direct user interaction. Don't show dialogs
287
+ * on page load or as system alerts.
288
+ *
289
+ * Dialogs appear centered in the page, with a visible backdrop that dims the rest
290
+ * of the window for focus.
291
+ *
292
+ * All dialogs have a title and a close button.
293
+ *
294
+ * Dialogs are modal. Dialogs can be dismissed by clicking on the close button,
295
+ * pressing the escape key, or by interacting with another button in the dialog.
296
+ * To avoid losing information and missing important messages, clicking outside
297
+ * of the dialog will not close it.
298
+ *
299
+ * The sub components provided (e.g. Header, Title, etc.) are available for custom
300
+ * renderers only. They are not intended to be used otherwise.
301
+ */
302
+ const Dialog = Object.assign(_Dialog, {
303
+ Header,
304
+ Title,
305
+ Subtitle,
306
+ Body,
307
+ Footer,
308
+ Buttons,
309
+ CloseButton
310
+ });
311
+ exports.Dialog = Dialog;