@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
@@ -0,0 +1,308 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Button = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _Box = _interopRequireDefault(require("../Box"));
11
+
12
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
13
+
14
+ var _sx = _interopRequireWildcard(require("../sx"));
15
+
16
+ var _ThemeProvider = require("../ThemeProvider");
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+
20
+ 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
+
22
+ 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
+
24
+ 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); }
25
+
26
+ const TEXT_ROW_HEIGHT = '20px'; // custom value off the scale
27
+
28
+ const getVariantStyles = (variant = 'default', theme) => {
29
+ const style = {
30
+ default: {
31
+ color: 'btn.text',
32
+ backgroundColor: 'btn.bg',
33
+ boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.shadow}, ${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.insetShadow}`,
34
+ '&:hover:not([disabled])': {
35
+ backgroundColor: 'btn.hoverBg'
36
+ },
37
+ // focus must come before :active so that the active box shadow overrides
38
+ '&:focus:not([disabled])': {
39
+ boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.focusShadow}`
40
+ },
41
+ '&:active:not([disabled])': {
42
+ backgroundColor: 'btn.selectedBg',
43
+ boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.shadowActive}`
44
+ },
45
+ '&:disabled': {
46
+ color: 'primer.fg.disabled',
47
+ backgroundColor: 'btn.disabledBg'
48
+ }
49
+ },
50
+ primary: {
51
+ color: 'btn.primary.text',
52
+ backgroundColor: 'btn.primary.bg',
53
+ borderColor: 'border.subtle',
54
+ boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.primary.shadow}`,
55
+ '&:hover:not([disabled])': {
56
+ color: 'btn.primary.hoverText',
57
+ backgroundColor: 'btn.primary.hoverBg'
58
+ },
59
+ // focus must come before :active so that the active box shadow overrides
60
+ '&:focus:not([disabled])': {
61
+ boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.primary.focusShadow}`
62
+ },
63
+ '&:active:not([disabled])': {
64
+ backgroundColor: 'btn.primary.selectedBg',
65
+ boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.primary.selectedShadow}`
66
+ },
67
+ '&:disabled': {
68
+ color: 'btn.primary.disabledText',
69
+ backgroundColor: 'btn.primary.disabledBg'
70
+ },
71
+ '[data-component="ButtonCounter"]': {
72
+ backgroundColor: 'btn.primary.counterBg',
73
+ color: 'btn.primary.text'
74
+ }
75
+ },
76
+ danger: {
77
+ color: 'btn.danger.text',
78
+ backgroundColor: 'btn.bg',
79
+ boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.shadow}`,
80
+ '&:hover:not([disabled])': {
81
+ color: 'btn.danger.hoverText',
82
+ backgroundColor: 'btn.danger.hoverBg',
83
+ borderColor: 'btn.danger.hoverBorder',
84
+ boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.danger.hoverShadow}`,
85
+ '[data-component="ButtonCounter"]': {
86
+ backgroundColor: 'btn.danger.hoverCounterBg',
87
+ color: 'btn.danger.hoverText'
88
+ }
89
+ },
90
+ // focus must come before :active so that the active box shadow overrides
91
+ '&:focus:not([disabled])': {
92
+ borderColor: 'btn.danger.focusBorder',
93
+ boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.danger.focusShadow}`
94
+ },
95
+ '&:active:not([disabled])': {
96
+ color: 'btn.danger.selectedText',
97
+ backgroundColor: 'btn.danger.selectedBg',
98
+ boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.danger.selectedShadow}`,
99
+ borderColor: 'btn.danger.selectedBorder'
100
+ },
101
+ '&:disabled': {
102
+ color: 'btn.danger.disabledText',
103
+ backgroundColor: 'btn.danger.disabledBg',
104
+ borderColor: 'btn.danger.disabledBorder',
105
+ '[data-component="ButtonCounter"]': {
106
+ backgroundColor: 'btn.danger.disabledCounterBg'
107
+ }
108
+ },
109
+ '[data-component="ButtonCounter"]': {
110
+ color: 'btn.danger.text',
111
+ backgroundColor: 'btn.danger.counterBg'
112
+ }
113
+ },
114
+ invisible: {
115
+ color: 'accent.fg',
116
+ backgroundColor: 'transparent',
117
+ border: '0',
118
+ boxShadow: 'none',
119
+ '&:hover:not([disabled])': {
120
+ backgroundColor: 'btn.hoverBg'
121
+ },
122
+ // focus must come before :active so that the active box shadow overrides
123
+ '&:focus:not([disabled])': {
124
+ boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.focusShadow}`
125
+ },
126
+ '&:active:not([disabled])': {
127
+ backgroundColor: 'btn.selectedBg'
128
+ },
129
+ '&:disabled': {
130
+ color: 'primer.fg.disabled'
131
+ }
132
+ },
133
+ outline: {
134
+ color: 'btn.outline.text',
135
+ boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.shadow}`,
136
+ '&:hover': {
137
+ color: 'btn.outline.hoverText',
138
+ backgroundColor: 'btn.outline.hoverBg',
139
+ borderColor: 'outline.hoverBorder',
140
+ boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.outline.hoverShadow}`,
141
+ '[data-component="ButtonCounter"]': {
142
+ backgroundColor: 'btn.outline.hoverCounterBg',
143
+ color: 'btn.outline.hoverText'
144
+ }
145
+ },
146
+ // focus must come before :active so that the active box shadow overrides
147
+ '&:focus': {
148
+ borderColor: 'btn.outline.focusBorder',
149
+ boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.outline.focusShadow}`
150
+ },
151
+ '&:active:not([disabled])': {
152
+ color: 'btn.outline.selectedText',
153
+ backgroundColor: 'btn.outline.selectedBg',
154
+ boxShadow: `${theme === null || theme === void 0 ? void 0 : theme.shadows.btn.outline.selectedShadow}`,
155
+ borderColor: 'btn.outline.selectedBorder'
156
+ },
157
+ '&:disabled': {
158
+ color: 'btn.outline.disabledText',
159
+ backgroundColor: 'btn.outline.disabledBg',
160
+ borderColor: 'btn.border',
161
+ '[data-component="ButtonCounter"]': {
162
+ backgroundColor: 'btn.outline.disabledCounterBg'
163
+ }
164
+ },
165
+ '[data-component="ButtonCounter"]': {
166
+ backgroundColor: 'btn.outline.counterBg',
167
+ color: 'btn.outline.text'
168
+ }
169
+ }
170
+ };
171
+ return style[variant];
172
+ };
173
+
174
+ const getSizeStyles = (size = 'medium', variant = 'default', iconOnly) => {
175
+ let paddingY, paddingX, fontSize;
176
+
177
+ switch (size) {
178
+ case 'small':
179
+ paddingY = 3;
180
+ paddingX = 12;
181
+ fontSize = 0;
182
+ break;
183
+
184
+ case 'large':
185
+ paddingY = 9;
186
+ paddingX = 20;
187
+ fontSize = 2;
188
+ break;
189
+
190
+ case 'medium':
191
+ default:
192
+ paddingY = 5;
193
+ paddingX = 16;
194
+ fontSize = 1;
195
+ }
196
+
197
+ if (iconOnly) {
198
+ paddingX = paddingY + 2;
199
+ }
200
+
201
+ if (variant === 'invisible') {
202
+ paddingY = paddingY + 1;
203
+ }
204
+
205
+ return {
206
+ paddingY: `${paddingY}px`,
207
+ paddingX: `${paddingX}px`,
208
+ fontSize,
209
+ '[data-component="ButtonCounter"]': {
210
+ fontSize
211
+ }
212
+ };
213
+ };
214
+
215
+ const ButtonBase = _styledComponents.default.button.withConfig({
216
+ displayName: "button__ButtonBase",
217
+ componentId: "sc-15k5iqk-0"
218
+ })(_sx.default);
219
+
220
+ const Button = /*#__PURE__*/(0, _react.forwardRef)(({
221
+ children,
222
+ sx: sxProp = {},
223
+ ...props
224
+ }, forwardedRef) => {
225
+ const {
226
+ icon: Icon,
227
+ leadingIcon: LeadingIcon,
228
+ trailingIcon: TrailingIcon,
229
+ variant = 'default',
230
+ size = 'medium'
231
+ } = props;
232
+ const iconOnly = !!Icon;
233
+ const {
234
+ theme
235
+ } = (0, _ThemeProvider.useTheme)();
236
+ const styles = {
237
+ borderRadius: '2',
238
+ border: '1px solid',
239
+ borderColor: theme === null || theme === void 0 ? void 0 : theme.colors.btn.border,
240
+ display: 'grid',
241
+ gridTemplateAreas: '"leadingIcon text trailingIcon"',
242
+ fontWeight: 'bold',
243
+ lineHeight: TEXT_ROW_HEIGHT,
244
+ whiteSpace: 'nowrap',
245
+ verticalAlign: 'middle',
246
+ cursor: 'pointer',
247
+ appearance: 'none',
248
+ userSelect: 'none',
249
+ textDecoration: 'none',
250
+ textAlign: 'center',
251
+ '& > :not(:last-child)': {
252
+ mr: '2'
253
+ },
254
+ '&:focus': {
255
+ outline: 'none'
256
+ },
257
+ '&:disabled': {
258
+ cursor: 'default'
259
+ },
260
+ '&:disabled svg': {
261
+ opacity: '0.6'
262
+ },
263
+ '[data-component="leadingIcon"]': {
264
+ gridArea: 'leadingIcon'
265
+ },
266
+ '[data-component="text"]': {
267
+ gridArea: 'text'
268
+ },
269
+ '[data-component="trailingIcon"]': {
270
+ gridArea: 'trailingIcon'
271
+ }
272
+ };
273
+ const iconWrapStyles = {
274
+ display: 'inline-block'
275
+ };
276
+
277
+ const sxStyles = _sx.merge.all([styles, getSizeStyles(size, variant, iconOnly), getVariantStyles(variant, theme), sxProp]);
278
+
279
+ return /*#__PURE__*/_react.default.createElement(ButtonBase, _extends({
280
+ sx: sxStyles,
281
+ ref: forwardedRef
282
+ }, props), LeadingIcon && /*#__PURE__*/_react.default.createElement(_Box.default, {
283
+ as: "span",
284
+ "data-component": "leadingIcon",
285
+ sx: iconWrapStyles,
286
+ "aria-hidden": !iconOnly
287
+ }, /*#__PURE__*/_react.default.createElement(LeadingIcon, null)), /*#__PURE__*/_react.default.createElement("span", {
288
+ "data-component": "text",
289
+ hidden: Icon ? true : false
290
+ }, children), Icon && /*#__PURE__*/_react.default.createElement(_Box.default, {
291
+ "data-component": "icon-only",
292
+ as: "span",
293
+ sx: {
294
+ display: 'inline-block'
295
+ },
296
+ "aria-hidden": !iconOnly
297
+ }, /*#__PURE__*/_react.default.createElement(Icon, null)), TrailingIcon && /*#__PURE__*/_react.default.createElement(_Box.default, {
298
+ as: "span",
299
+ "data-component": "trailingIcon",
300
+ sx: { ...iconWrapStyles,
301
+ ml: 2
302
+ },
303
+ "aria-hidden": !iconOnly
304
+ }, /*#__PURE__*/_react.default.createElement(TrailingIcon, null)));
305
+ });
306
+ exports.Button = Button;
307
+ Button.displayName = 'Button';
308
+ Object.assign(Button, {});
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import { ButtonProps } from './types';
3
+ export type { ButtonProps as NewButtonProps };
4
+ export declare const NewButton: import("react").ForwardRefExoticComponent<{
5
+ variant?: import("./types").VariantType | undefined;
6
+ size?: import("./types").Size | undefined;
7
+ icon?: import("react").FunctionComponent<import("@primer/octicons-react/dist/icons").IconProps> | undefined;
8
+ leadingIcon?: import("react").FunctionComponent<import("@primer/octicons-react/dist/icons").IconProps> | undefined;
9
+ trailingIcon?: import("react").FunctionComponent<import("@primer/octicons-react/dist/icons").IconProps> | undefined;
10
+ disabled?: boolean | undefined;
11
+ children: import("react").ReactNode;
12
+ } & import("../sx").SxProp & import("react").HTMLAttributes<HTMLButtonElement> & import("react").RefAttributes<HTMLButtonElement>> & {
13
+ Counter: ({ children, sx: sxProp, ...props }: import("./button-counter").CounterProps) => JSX.Element;
14
+ };
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.NewButton = void 0;
7
+
8
+ var _button = require("./button");
9
+
10
+ var _buttonCounter = require("./button-counter");
11
+
12
+ const NewButton = Object.assign(_button.Button, {
13
+ Counter: _buttonCounter.Counter
14
+ });
15
+ exports.NewButton = NewButton;
@@ -0,0 +1,32 @@
1
+ import React, { HTMLAttributes } from 'react';
2
+ import { IconProps } from '@primer/octicons-react';
3
+ import { SxProp } from '../sx';
4
+ export declare type VariantType = 'default' | 'primary' | 'invisible' | 'danger' | 'outline';
5
+ export declare type Size = 'small' | 'medium' | 'large';
6
+ export declare type ButtonProps = {
7
+ /**
8
+ * Determine's the styles on a button one of 'default' | 'primary' | 'invisible' | 'danger'
9
+ */
10
+ variant?: VariantType;
11
+ /**
12
+ * Size of button and fontSize of text in button
13
+ */
14
+ size?: Size;
15
+ /**
16
+ * This is to be used if it is an icon-only button. Will make text visually hidden
17
+ */
18
+ icon?: React.FunctionComponent<IconProps>;
19
+ /**
20
+ * The leading icon comes before button content
21
+ */
22
+ leadingIcon?: React.FunctionComponent<IconProps>;
23
+ /**
24
+ * The trailing icon comes after button content
25
+ */
26
+ trailingIcon?: React.FunctionComponent<IconProps>;
27
+ /**
28
+ * Items that are disabled can not be clicked, selected, or navigated through.
29
+ */
30
+ disabled?: boolean;
31
+ children: React.ReactNode;
32
+ } & SxProp & HTMLAttributes<HTMLButtonElement>;
File without changes
@@ -0,0 +1,66 @@
1
+ import React, { ComponentPropsWithRef } from 'react';
2
+ import { AriaRole, Merge } from './utils/types';
3
+ import { TouchOrMouseEvent } from './hooks';
4
+ import { SxProp } from './sx';
5
+ import { AnchorSide } from './behaviors/anchoredPosition';
6
+ import { ForwardRefComponent as PolymorphicForwardRefComponent } from '@radix-ui/react-polymorphic';
7
+ declare type StyledOverlayProps = {
8
+ width?: keyof typeof widthMap;
9
+ height?: keyof typeof heightMap;
10
+ maxHeight?: keyof Omit<typeof heightMap, 'auto' | 'initial'>;
11
+ visibility?: 'visible' | 'hidden';
12
+ anchorSide?: AnchorSide;
13
+ } & SxProp;
14
+ declare const heightMap: {
15
+ xsmall: string;
16
+ small: string;
17
+ medium: string;
18
+ large: string;
19
+ xlarge: string;
20
+ auto: string;
21
+ initial: string;
22
+ };
23
+ declare const widthMap: {
24
+ small: string;
25
+ medium: string;
26
+ large: string;
27
+ xlarge: string;
28
+ xxlarge: string;
29
+ auto: string;
30
+ };
31
+ declare type BaseOverlayProps = {
32
+ ignoreClickRefs?: React.RefObject<HTMLElement>[];
33
+ initialFocusRef?: React.RefObject<HTMLElement>;
34
+ returnFocusRef: React.RefObject<HTMLElement>;
35
+ onClickOutside: (e: TouchOrMouseEvent) => void;
36
+ onEscape: (e: KeyboardEvent) => void;
37
+ visibility?: 'visible' | 'hidden';
38
+ 'data-test-id'?: unknown;
39
+ top?: number;
40
+ left?: number;
41
+ portalContainerName?: string;
42
+ preventFocusOnOpen?: boolean;
43
+ role?: AriaRole;
44
+ children?: React.ReactNode;
45
+ };
46
+ declare type OwnOverlayProps = Merge<StyledOverlayProps, BaseOverlayProps>;
47
+ /**
48
+ * An `Overlay` is a flexible floating surface, used to display transient content such as menus,
49
+ * selection options, dialogs, and more. Overlays use shadows to express elevation. The `Overlay`
50
+ * component handles all behaviors needed by overlay UIs as well as the common styles that all overlays * should have.
51
+ * @param ignoreClickRefs Optional. An array of ref objects to ignore clicks on in the `onOutsideClick` behavior. This is often used to ignore clicking on the element that toggles the open/closed state for the `Overlay` to prevent the `Overlay` from being toggled twice.
52
+ * @param initialFocusRef Optional. Ref for the element to focus when the `Overlay` is opened. If nothing is provided, the first focusable element in the `Overlay` body is focused.
53
+ * @param returnFocusRef Required. Ref for the element to focus when the `Overlay` is closed.
54
+ * @param onClickOutside Required. Function to call when clicking outside of the `Overlay`. Typically this function removes the Overlay.
55
+ * @param onEscape Required. Function to call when user presses `Escape`. Typically this function removes the Overlay.
56
+ * @param width Sets the width of the `Overlay`, pick from our set list of widths, or pass `auto` to automatically set the width based on the content of the `Overlay`. `small` corresponds to `256px`, `medium` corresponds to `320px`, `large` corresponds to `480px`, `xlarge` corresponds to `640px`, `xxlarge` corresponds to `960px`.
57
+ * @param height Sets the height of the `Overlay`, pick from our set list of heights, or pass `auto` to automatically set the height based on the content of the `Overlay`, or pass `initial` to set the height based on the initial content of the `Overlay` (i.e. ignoring content changes). `xsmall` corresponds to `192px`, `small` corresponds to `256px`, `medium` corresponds to `320px`, `large` corresponds to `432px`, `xlarge` corresponds to `600px`.
58
+ * @param maxHeight Sets the maximum height of the `Overlay`, pick from our set list of heights. `xsmall` corresponds to `192px`, `small` corresponds to `256px`, `medium` corresponds to `320px`, `large` corresponds to `432px`, `xlarge` corresponds to `600px`.
59
+ * @param anchorSide If provided, the Overlay will slide into position from the side of the anchor with a brief animation
60
+ * @param top Optional. Vertical position of the overlay, relative to its closest positioned ancestor (often its `Portal`).
61
+ * @param left Optional. Horizontal position of the overlay, relative to its closest positioned ancestor (often its `Portal`).
62
+ * @param portalContainerName Optional. The name of the portal container to render the Overlay into.
63
+ */
64
+ declare const Overlay: PolymorphicForwardRefComponent<"div", OwnOverlayProps>;
65
+ export declare type OverlayProps = ComponentPropsWithRef<typeof Overlay>;
66
+ export default Overlay;
package/lib/Overlay.js ADDED
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _useIsomorphicLayoutEffect = _interopRequireDefault(require("./utils/useIsomorphicLayoutEffect"));
13
+
14
+ var _constants = require("./constants");
15
+
16
+ var _hooks = require("./hooks");
17
+
18
+ var _Portal = _interopRequireDefault(require("./Portal"));
19
+
20
+ var _sx = _interopRequireDefault(require("./sx"));
21
+
22
+ var _useCombinedRefs = require("./hooks/useCombinedRefs");
23
+
24
+ var _ThemeProvider = require("./ThemeProvider");
25
+
26
+ 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); }
27
+
28
+ 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; }
29
+
30
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
+
32
+ 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); }
33
+
34
+ const heightMap = {
35
+ xsmall: '192px',
36
+ small: '256px',
37
+ medium: '320px',
38
+ large: '432px',
39
+ xlarge: '600px',
40
+ auto: 'auto',
41
+ initial: 'auto' // Passing 'initial' initially applies 'auto'
42
+
43
+ };
44
+ const widthMap = {
45
+ small: '256px',
46
+ medium: '320px',
47
+ large: '480px',
48
+ xlarge: '640px',
49
+ xxlarge: '960px',
50
+ auto: 'auto'
51
+ };
52
+ const animationDuration = 200;
53
+
54
+ function getSlideAnimationStartingVector(anchorSide) {
55
+ if (anchorSide !== null && anchorSide !== void 0 && anchorSide.endsWith('bottom')) {
56
+ return {
57
+ x: 0,
58
+ y: -1
59
+ };
60
+ } else if (anchorSide !== null && anchorSide !== void 0 && anchorSide.endsWith('top')) {
61
+ return {
62
+ x: 0,
63
+ y: 1
64
+ };
65
+ } else if (anchorSide !== null && anchorSide !== void 0 && anchorSide.endsWith('right')) {
66
+ return {
67
+ x: -1,
68
+ y: 0
69
+ };
70
+ } else if (anchorSide !== null && anchorSide !== void 0 && anchorSide.endsWith('left')) {
71
+ return {
72
+ x: 1,
73
+ y: 0
74
+ };
75
+ }
76
+
77
+ return {
78
+ x: 0,
79
+ y: 0
80
+ };
81
+ }
82
+
83
+ const StyledOverlay = _styledComponents.default.div.withConfig({
84
+ displayName: "Overlay__StyledOverlay",
85
+ componentId: "jhwkzw-0"
86
+ })(["background-color:", ";box-shadow:", ";position:absolute;min-width:192px;max-width:640px;height:", ";max-height:", ";width:", ";border-radius:12px;overflow:hidden;animation:overlay-appear ", "ms ", ";@keyframes overlay-appear{0%{opacity:0;}100%{opacity:1;}}visibility:var(--styled-overlay-visibility);:focus{outline:none;}", ";"], (0, _constants.get)('colors.canvas.overlay'), (0, _constants.get)('shadows.overlay.shadow'), props => heightMap[props.height || 'auto'], props => props.maxHeight && heightMap[props.maxHeight], props => widthMap[props.width || 'auto'], animationDuration, (0, _constants.get)('animation.easeOutCubic'), _sx.default);
87
+
88
+ /**
89
+ * An `Overlay` is a flexible floating surface, used to display transient content such as menus,
90
+ * selection options, dialogs, and more. Overlays use shadows to express elevation. The `Overlay`
91
+ * component handles all behaviors needed by overlay UIs as well as the common styles that all overlays * should have.
92
+ * @param ignoreClickRefs Optional. An array of ref objects to ignore clicks on in the `onOutsideClick` behavior. This is often used to ignore clicking on the element that toggles the open/closed state for the `Overlay` to prevent the `Overlay` from being toggled twice.
93
+ * @param initialFocusRef Optional. Ref for the element to focus when the `Overlay` is opened. If nothing is provided, the first focusable element in the `Overlay` body is focused.
94
+ * @param returnFocusRef Required. Ref for the element to focus when the `Overlay` is closed.
95
+ * @param onClickOutside Required. Function to call when clicking outside of the `Overlay`. Typically this function removes the Overlay.
96
+ * @param onEscape Required. Function to call when user presses `Escape`. Typically this function removes the Overlay.
97
+ * @param width Sets the width of the `Overlay`, pick from our set list of widths, or pass `auto` to automatically set the width based on the content of the `Overlay`. `small` corresponds to `256px`, `medium` corresponds to `320px`, `large` corresponds to `480px`, `xlarge` corresponds to `640px`, `xxlarge` corresponds to `960px`.
98
+ * @param height Sets the height of the `Overlay`, pick from our set list of heights, or pass `auto` to automatically set the height based on the content of the `Overlay`, or pass `initial` to set the height based on the initial content of the `Overlay` (i.e. ignoring content changes). `xsmall` corresponds to `192px`, `small` corresponds to `256px`, `medium` corresponds to `320px`, `large` corresponds to `432px`, `xlarge` corresponds to `600px`.
99
+ * @param maxHeight Sets the maximum height of the `Overlay`, pick from our set list of heights. `xsmall` corresponds to `192px`, `small` corresponds to `256px`, `medium` corresponds to `320px`, `large` corresponds to `432px`, `xlarge` corresponds to `600px`.
100
+ * @param anchorSide If provided, the Overlay will slide into position from the side of the anchor with a brief animation
101
+ * @param top Optional. Vertical position of the overlay, relative to its closest positioned ancestor (often its `Portal`).
102
+ * @param left Optional. Horizontal position of the overlay, relative to its closest positioned ancestor (often its `Portal`).
103
+ * @param portalContainerName Optional. The name of the portal container to render the Overlay into.
104
+ */
105
+ const Overlay = /*#__PURE__*/_react.default.forwardRef(({
106
+ onClickOutside,
107
+ role = 'none',
108
+ initialFocusRef,
109
+ returnFocusRef,
110
+ ignoreClickRefs,
111
+ onEscape,
112
+ visibility = 'visible',
113
+ height,
114
+ top,
115
+ left,
116
+ anchorSide,
117
+ portalContainerName,
118
+ preventFocusOnOpen,
119
+ ...rest
120
+ }, forwardedRef) => {
121
+ const overlayRef = (0, _react.useRef)(null);
122
+ const combinedRef = (0, _useCombinedRefs.useCombinedRefs)(overlayRef, forwardedRef);
123
+ const {
124
+ theme
125
+ } = (0, _ThemeProvider.useTheme)();
126
+ const slideAnimationDistance = parseInt((0, _constants.get)('space.2')(theme).replace('px', ''));
127
+ const slideAnimationEasing = (0, _constants.get)('animation.easeOutCubic')(theme);
128
+ (0, _hooks.useOverlay)({
129
+ overlayRef,
130
+ returnFocusRef,
131
+ onEscape,
132
+ ignoreClickRefs,
133
+ onClickOutside,
134
+ initialFocusRef,
135
+ preventFocusOnOpen
136
+ });
137
+ (0, _react.useEffect)(() => {
138
+ var _combinedRef$current;
139
+
140
+ if (height === 'initial' && (_combinedRef$current = combinedRef.current) !== null && _combinedRef$current !== void 0 && _combinedRef$current.clientHeight) {
141
+ combinedRef.current.style.height = `${combinedRef.current.clientHeight}px`;
142
+ }
143
+ }, [height, combinedRef]);
144
+ (0, _useIsomorphicLayoutEffect.default)(() => {
145
+ var _overlayRef$current;
146
+
147
+ const {
148
+ x,
149
+ y
150
+ } = getSlideAnimationStartingVector(anchorSide);
151
+
152
+ if (!x && !y || !((_overlayRef$current = overlayRef.current) !== null && _overlayRef$current !== void 0 && _overlayRef$current.animate) || visibility === 'hidden') {
153
+ return;
154
+ } // JS animation is required because Safari does not allow css animations to start paused and then run
155
+
156
+
157
+ overlayRef.current.animate({
158
+ transform: [`translate(${slideAnimationDistance * x}px, ${slideAnimationDistance * y}px)`, `translate(0, 0)`]
159
+ }, {
160
+ duration: animationDuration,
161
+ easing: slideAnimationEasing
162
+ });
163
+ }, [anchorSide, slideAnimationDistance, slideAnimationEasing, visibility]);
164
+ return /*#__PURE__*/_react.default.createElement(_Portal.default, {
165
+ containerName: portalContainerName
166
+ }, /*#__PURE__*/_react.default.createElement(StyledOverlay, _extends({
167
+ height: height,
168
+ role: role
169
+ }, rest, {
170
+ ref: combinedRef,
171
+ style: {
172
+ top: `${top || 0}px`,
173
+ left: `${left || 0}px`,
174
+ '--styled-overlay-visibility': visibility
175
+ }
176
+ })));
177
+ });
178
+
179
+ Overlay.defaultProps = {
180
+ height: 'auto',
181
+ width: 'auto'
182
+ };
183
+ var _default = Overlay;
184
+ exports.default = _default;
@@ -0,0 +1,5 @@
1
+ import { SxProp } from './sx';
2
+ import { ComponentProps } from './utils/types';
3
+ declare const Pagehead: import("styled-components").StyledComponent<"div", any, SxProp, never>;
4
+ export declare type PageheadProps = ComponentProps<typeof Pagehead>;
5
+ export default Pagehead;
package/lib/Pagehead.js CHANGED
@@ -5,30 +5,18 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
-
10
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
11
9
 
12
10
  var _constants = require("./constants");
13
11
 
14
12
  var _sx = _interopRequireDefault(require("./sx"));
15
13
 
16
- var _theme = _interopRequireDefault(require("./theme"));
17
-
18
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
15
 
20
16
  const Pagehead = _styledComponents.default.div.withConfig({
21
17
  displayName: "Pagehead",
22
18
  componentId: "sc-1ntn78e-0"
23
- })(["position:relative;padding-top:", ";padding-bottom:", ";margin-bottom:", ";border-bottom:1px solid ", ";", ";", ";"], (0, _constants.get)('space.4'), (0, _constants.get)('space.4'), (0, _constants.get)('space.4'), (0, _constants.get)('colors.border.gray'), _constants.COMMON, _sx.default);
19
+ })(["position:relative;padding-top:", ";padding-bottom:", ";margin-bottom:", ";border-bottom:1px solid ", ";", ";"], (0, _constants.get)('space.4'), (0, _constants.get)('space.4'), (0, _constants.get)('space.4'), (0, _constants.get)('colors.border.default'), _sx.default);
24
20
 
25
- Pagehead.defaultProps = {
26
- theme: _theme.default
27
- };
28
- Pagehead.propTypes = {
29
- children: _propTypes.default.node,
30
- ..._constants.COMMON.propTypes,
31
- ..._sx.default.propTypes
32
- };
33
21
  var _default = Pagehead;
34
22
  exports.default = _default;