@primer/components 0.0.0-2021111235020 → 0.0.0-202111136954

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 (737) hide show
  1. package/README.md +16 -16
  2. package/codemods/__tests__/deprecateUtilityComponents.js +200 -0
  3. package/codemods/__tests__/removeSystemProps.js +225 -0
  4. package/codemods/deprecateUtilityComponents.js +111 -0
  5. package/codemods/lib/modifyProps.js +9 -7
  6. package/codemods/lib/prettify.js +1 -1
  7. package/codemods/lib/replaceImportSource.js +5 -5
  8. package/codemods/removeSystemProps.js +312 -0
  9. package/dist/browser.esm.js +3 -1796
  10. package/dist/browser.esm.js.map +1 -1
  11. package/dist/browser.umd.js +5 -1798
  12. package/dist/browser.umd.js.map +1 -1
  13. package/lib/ActionList/Divider.d.ts +9 -0
  14. package/lib/ActionList/Divider.js +40 -0
  15. package/lib/ActionList/Group.d.ts +28 -0
  16. package/lib/ActionList/Group.js +35 -0
  17. package/lib/ActionList/Header.d.ts +29 -0
  18. package/lib/ActionList/Header.js +51 -0
  19. package/lib/ActionList/Item.d.ts +98 -0
  20. package/lib/ActionList/Item.js +276 -0
  21. package/lib/ActionList/List.d.ts +88 -0
  22. package/lib/ActionList/List.js +199 -0
  23. package/lib/ActionList/index.d.ts +17 -0
  24. package/lib/ActionList/index.js +29 -0
  25. package/lib/ActionList2/ActionListContainerContext.d.ts +10 -0
  26. package/lib/ActionList2/ActionListContainerContext.js +15 -0
  27. package/lib/ActionList2/Description.d.ts +12 -0
  28. package/lib/ActionList2/Description.js +57 -0
  29. package/lib/ActionList2/Divider.d.ts +6 -0
  30. package/lib/ActionList2/Divider.js +40 -0
  31. package/lib/ActionList2/Group.d.ts +37 -0
  32. package/lib/ActionList2/Group.js +106 -0
  33. package/lib/ActionList2/Item.d.ts +63 -0
  34. package/lib/ActionList2/Item.js +258 -0
  35. package/lib/ActionList2/LinkItem.d.ts +17 -0
  36. package/lib/ActionList2/LinkItem.js +57 -0
  37. package/lib/ActionList2/List.d.ts +26 -0
  38. package/lib/ActionList2/List.js +68 -0
  39. package/lib/ActionList2/Selection.d.ts +5 -0
  40. package/lib/ActionList2/Selection.js +97 -0
  41. package/lib/ActionList2/Visuals.d.ts +9 -0
  42. package/lib/ActionList2/Visuals.js +90 -0
  43. package/lib/ActionList2/index.d.ts +35 -0
  44. package/lib/ActionList2/index.js +47 -0
  45. package/lib/ActionMenu.d.ts +40 -0
  46. package/lib/ActionMenu.js +103 -0
  47. package/lib/ActionMenu2.d.ts +317 -0
  48. package/lib/ActionMenu2.js +125 -0
  49. package/lib/AnchoredOverlay/AnchoredOverlay.d.ts +62 -0
  50. package/lib/AnchoredOverlay/AnchoredOverlay.js +124 -0
  51. package/lib/AnchoredOverlay/index.d.ts +2 -0
  52. package/lib/AnchoredOverlay/index.js +13 -0
  53. package/lib/Autocomplete/Autocomplete.d.ts +306 -0
  54. package/lib/Autocomplete/Autocomplete.js +145 -0
  55. package/lib/Autocomplete/AutocompleteContext.d.ts +17 -0
  56. package/lib/Autocomplete/AutocompleteContext.js +11 -0
  57. package/lib/Autocomplete/AutocompleteInput.d.ts +294 -0
  58. package/lib/Autocomplete/AutocompleteInput.js +157 -0
  59. package/lib/Autocomplete/AutocompleteMenu.d.ts +72 -0
  60. package/lib/Autocomplete/AutocompleteMenu.js +224 -0
  61. package/lib/Autocomplete/AutocompleteOverlay.d.ts +20 -0
  62. package/lib/Autocomplete/AutocompleteOverlay.js +80 -0
  63. package/lib/Autocomplete/index.d.ts +2 -0
  64. package/lib/Autocomplete/index.js +15 -0
  65. package/lib/Avatar.d.ts +14 -0
  66. package/lib/Avatar.js +1 -12
  67. package/lib/AvatarPair.d.ts +8 -0
  68. package/lib/AvatarPair.js +9 -16
  69. package/lib/AvatarStack.d.ts +8 -0
  70. package/lib/AvatarStack.js +12 -23
  71. package/lib/BaseStyles.d.ts +14 -0
  72. package/lib/BaseStyles.js +14 -38
  73. package/lib/BorderBox.d.ts +7 -0
  74. package/lib/BorderBox.js +6 -17
  75. package/lib/Box.d.ts +6 -0
  76. package/lib/Box.js +3 -16
  77. package/lib/BranchName.d.ts +5 -0
  78. package/lib/BranchName.js +1 -14
  79. package/lib/Breadcrumbs.d.ts +41 -0
  80. package/lib/Breadcrumbs.js +82 -0
  81. package/lib/Button/Button.d.ts +284 -0
  82. package/lib/Button/Button.js +4 -16
  83. package/lib/Button/ButtonBase.d.ts +9 -0
  84. package/lib/Button/ButtonBase.js +2 -25
  85. package/lib/Button/ButtonClose.d.ts +279 -0
  86. package/lib/Button/ButtonClose.js +9 -24
  87. package/lib/Button/ButtonDanger.d.ts +284 -0
  88. package/lib/Button/ButtonDanger.js +2 -14
  89. package/lib/Button/ButtonGroup.d.ts +4 -0
  90. package/lib/Button/ButtonGroup.js +3 -9
  91. package/lib/Button/ButtonInvisible.d.ts +284 -0
  92. package/lib/Button/ButtonInvisible.js +3 -15
  93. package/lib/Button/ButtonOutline.d.ts +284 -0
  94. package/lib/Button/ButtonOutline.js +2 -14
  95. package/lib/Button/ButtonPrimary.d.ts +284 -0
  96. package/lib/Button/ButtonPrimary.js +2 -14
  97. package/lib/Button/ButtonStyles.d.ts +2 -0
  98. package/lib/Button/ButtonTableList.d.ts +5 -0
  99. package/lib/Button/ButtonTableList.js +1 -15
  100. package/lib/Button/index.d.ts +16 -0
  101. package/lib/Caret.d.ts +21 -0
  102. package/lib/Caret.js +14 -17
  103. package/lib/Checkbox.d.ts +29 -0
  104. package/lib/Checkbox.js +64 -0
  105. package/lib/CircleBadge.d.ts +24 -0
  106. package/lib/CircleBadge.js +2 -20
  107. package/lib/CircleOcticon.d.ts +392 -0
  108. package/lib/CircleOcticon.js +9 -18
  109. package/lib/CounterLabel.d.ts +7 -0
  110. package/lib/CounterLabel.js +3 -17
  111. package/lib/Details.d.ts +5 -0
  112. package/lib/Details.js +2 -12
  113. package/lib/Dialog/ConfirmationDialog.d.ts +44 -0
  114. package/lib/Dialog/ConfirmationDialog.js +191 -0
  115. package/lib/Dialog/Dialog.d.ts +163 -0
  116. package/lib/Dialog/Dialog.js +311 -0
  117. package/lib/Dialog.d.ts +406 -0
  118. package/lib/Dialog.js +34 -49
  119. package/lib/Dropdown.d.ts +1113 -0
  120. package/lib/Dropdown.js +45 -60
  121. package/lib/DropdownMenu/DropdownButton.d.ts +283 -0
  122. package/lib/DropdownMenu/DropdownButton.js +33 -0
  123. package/lib/DropdownMenu/DropdownMenu.d.ts +43 -0
  124. package/lib/DropdownMenu/DropdownMenu.js +94 -0
  125. package/lib/DropdownMenu/index.d.ts +4 -0
  126. package/lib/DropdownMenu/index.js +21 -0
  127. package/lib/DropdownStyles.d.ts +3 -0
  128. package/lib/DropdownStyles.js +6 -6
  129. package/lib/FilterList.d.ts +283 -0
  130. package/lib/FilterList.js +2 -30
  131. package/lib/FilteredActionList/FilteredActionList.d.ts +16 -0
  132. package/lib/FilteredActionList/FilteredActionList.js +137 -0
  133. package/lib/FilteredActionList/index.d.ts +2 -0
  134. package/lib/FilteredActionList/index.js +13 -0
  135. package/lib/FilteredSearch.d.ts +5 -0
  136. package/lib/FilteredSearch.js +1 -12
  137. package/lib/Flash.d.ts +8 -0
  138. package/lib/Flash.js +35 -14
  139. package/lib/Flex.d.ts +7 -0
  140. package/lib/Flex.js +4 -6
  141. package/lib/FormGroup.d.ts +11 -0
  142. package/lib/FormGroup.js +2 -22
  143. package/lib/Grid.d.ts +7 -0
  144. package/lib/Grid.js +4 -9
  145. package/lib/Header.d.ts +23 -0
  146. package/lib/Header.js +7 -37
  147. package/lib/Heading.d.ts +5 -0
  148. package/lib/Heading.js +1 -13
  149. package/lib/Label.d.ts +10 -0
  150. package/lib/Label.js +5 -19
  151. package/lib/LabelGroup.d.ts +5 -0
  152. package/lib/LabelGroup.js +2 -10
  153. package/lib/Link.d.ts +9 -0
  154. package/lib/Link.js +2 -30
  155. package/lib/NewButton/button-base.d.ts +6 -0
  156. package/lib/NewButton/button-base.js +69 -0
  157. package/lib/NewButton/button-counter.d.ts +6 -0
  158. package/lib/NewButton/button-counter.js +31 -0
  159. package/lib/NewButton/button-link.d.ts +27 -0
  160. package/lib/NewButton/button-link.js +31 -0
  161. package/lib/NewButton/button.d.ts +4 -0
  162. package/lib/NewButton/button.js +31 -0
  163. package/lib/NewButton/icon-button.d.ts +4 -0
  164. package/lib/NewButton/icon-button.js +62 -0
  165. package/lib/NewButton/index.d.ts +9 -0
  166. package/lib/NewButton/index.js +33 -0
  167. package/lib/NewButton/styles.d.ts +202 -0
  168. package/lib/NewButton/styles.js +248 -0
  169. package/lib/NewButton/types.d.ts +52 -0
  170. package/lib/NewButton/types.js +19 -0
  171. package/lib/Overlay.d.ts +66 -0
  172. package/lib/Overlay.js +184 -0
  173. package/lib/Pagehead.d.ts +5 -0
  174. package/lib/Pagehead.js +1 -13
  175. package/lib/Pagination/Pagination.d.ts +24 -0
  176. package/lib/Pagination/Pagination.js +14 -29
  177. package/lib/Pagination/index.d.ts +3 -0
  178. package/lib/Pagination/model.d.ts +26 -0
  179. package/lib/Pagination/model.js +1 -1
  180. package/lib/PointerBox.d.ts +11 -0
  181. package/lib/PointerBox.js +4 -13
  182. package/lib/Popover.d.ts +20 -0
  183. package/lib/Popover.js +5 -29
  184. package/lib/Portal/Portal.d.ts +25 -0
  185. package/lib/Portal/Portal.js +101 -0
  186. package/lib/Portal/index.d.ts +4 -0
  187. package/lib/Portal/index.js +17 -0
  188. package/lib/Position.d.ts +34 -0
  189. package/lib/Position.js +47 -47
  190. package/lib/ProgressBar.d.ts +26 -0
  191. package/lib/ProgressBar.js +8 -27
  192. package/lib/Radio.d.ts +38 -0
  193. package/lib/Radio.js +55 -0
  194. package/lib/SelectMenu/SelectMenu.d.ts +1671 -0
  195. package/lib/SelectMenu/SelectMenu.js +32 -44
  196. package/lib/SelectMenu/SelectMenuContext.d.ts +8 -0
  197. package/lib/SelectMenu/SelectMenuContext.js +1 -1
  198. package/lib/SelectMenu/SelectMenuDivider.d.ts +5 -0
  199. package/lib/SelectMenu/SelectMenuDivider.js +6 -14
  200. package/lib/SelectMenu/SelectMenuFilter.d.ts +9 -0
  201. package/lib/SelectMenu/SelectMenuFilter.js +13 -21
  202. package/lib/SelectMenu/SelectMenuFooter.d.ts +5 -0
  203. package/lib/SelectMenu/SelectMenuFooter.js +6 -14
  204. package/lib/SelectMenu/SelectMenuHeader.d.ts +10 -0
  205. package/lib/SelectMenu/SelectMenuHeader.js +4 -17
  206. package/lib/SelectMenu/SelectMenuItem.d.ts +14 -0
  207. package/lib/SelectMenu/SelectMenuItem.js +13 -21
  208. package/lib/SelectMenu/SelectMenuList.d.ts +5 -0
  209. package/lib/SelectMenu/SelectMenuList.js +6 -14
  210. package/lib/SelectMenu/SelectMenuLoadingAnimation.d.ts +7 -0
  211. package/lib/SelectMenu/SelectMenuLoadingAnimation.js +6 -17
  212. package/lib/SelectMenu/SelectMenuModal.d.ts +14 -0
  213. package/lib/SelectMenu/SelectMenuModal.js +11 -23
  214. package/lib/SelectMenu/SelectMenuTab.d.ts +13 -0
  215. package/lib/SelectMenu/SelectMenuTab.js +16 -26
  216. package/lib/SelectMenu/SelectMenuTabPanel.d.ts +12 -0
  217. package/lib/SelectMenu/SelectMenuTabPanel.js +14 -25
  218. package/lib/SelectMenu/SelectMenuTabs.d.ts +10 -0
  219. package/lib/SelectMenu/SelectMenuTabs.js +10 -17
  220. package/lib/SelectMenu/hooks/useKeyboardNav.d.ts +2 -0
  221. package/lib/SelectMenu/hooks/useKeyboardNav.js +2 -0
  222. package/lib/SelectMenu/index.d.ts +2 -0
  223. package/lib/SelectMenu/index.js +7 -5
  224. package/lib/SelectPanel/SelectPanel.d.ts +25 -0
  225. package/lib/SelectPanel/SelectPanel.js +147 -0
  226. package/lib/SelectPanel/index.d.ts +2 -0
  227. package/lib/SelectPanel/index.js +13 -0
  228. package/lib/SideNav.d.ts +34 -0
  229. package/lib/SideNav.js +23 -41
  230. package/lib/Spinner.d.ts +16 -0
  231. package/lib/Spinner.js +58 -0
  232. package/lib/StateLabel.d.ts +15 -0
  233. package/lib/StateLabel.js +54 -24
  234. package/lib/StyledOcticon.d.ts +11 -0
  235. package/lib/StyledOcticon.js +2 -16
  236. package/lib/SubNav.d.ts +26 -0
  237. package/lib/SubNav.js +11 -42
  238. package/lib/TabNav.d.ts +19 -0
  239. package/lib/TabNav.js +15 -37
  240. package/lib/Text.d.ts +6 -0
  241. package/lib/Text.js +0 -12
  242. package/lib/TextInput.d.ts +14 -0
  243. package/lib/TextInput.js +25 -76
  244. package/lib/TextInputWithTokens.d.ts +329 -0
  245. package/lib/TextInputWithTokens.js +318 -0
  246. package/lib/ThemeProvider.d.ts +27 -0
  247. package/lib/ThemeProvider.js +206 -0
  248. package/lib/Timeline.d.ts +33 -0
  249. package/lib/Timeline.js +36 -89
  250. package/lib/Token/AvatarToken.d.ts +7 -0
  251. package/lib/Token/AvatarToken.js +64 -0
  252. package/lib/Token/IssueLabelToken.d.ts +14 -0
  253. package/lib/Token/IssueLabelToken.js +144 -0
  254. package/lib/Token/Token.d.ts +15 -0
  255. package/lib/Token/Token.js +105 -0
  256. package/lib/Token/TokenBase.d.ts +31 -0
  257. package/lib/Token/TokenBase.js +104 -0
  258. package/lib/Token/_RemoveTokenButton.d.ts +12 -0
  259. package/lib/Token/_RemoveTokenButton.js +90 -0
  260. package/lib/Token/_TokenTextContainer.d.ts +3 -0
  261. package/lib/Token/_TokenTextContainer.js +17 -0
  262. package/lib/Token/index.d.ts +3 -0
  263. package/lib/Token/index.js +31 -0
  264. package/lib/Tooltip.d.ts +17 -0
  265. package/lib/Tooltip.js +5 -22
  266. package/lib/Truncate.d.ts +10 -0
  267. package/lib/Truncate.js +2 -18
  268. package/lib/UnderlineNav.d.ts +24 -0
  269. package/lib/UnderlineNav.js +5 -31
  270. package/lib/_TextInputWrapper.d.ts +10 -0
  271. package/lib/_TextInputWrapper.js +51 -0
  272. package/lib/_UnstyledTextInput.d.ts +2 -0
  273. package/lib/_UnstyledTextInput.js +20 -0
  274. package/lib/behaviors/anchoredPosition.d.ts +89 -0
  275. package/lib/behaviors/anchoredPosition.js +316 -0
  276. package/lib/behaviors/focusTrap.d.ts +12 -0
  277. package/lib/behaviors/focusTrap.js +179 -0
  278. package/lib/behaviors/focusZone.d.ts +137 -0
  279. package/lib/behaviors/focusZone.js +578 -0
  280. package/lib/behaviors/scrollIntoViewingArea.d.ts +1 -0
  281. package/lib/behaviors/scrollIntoViewingArea.js +39 -0
  282. package/lib/constants.d.ts +20 -0
  283. package/lib/constants.js +11 -27
  284. package/lib/drafts.d.ts +9 -0
  285. package/lib/drafts.js +44 -0
  286. package/lib/hooks/index.d.ts +12 -0
  287. package/lib/hooks/index.js +69 -0
  288. package/lib/hooks/useAnchoredPosition.d.ts +20 -0
  289. package/lib/hooks/useAnchoredPosition.js +51 -0
  290. package/lib/hooks/useCombinedRefs.d.ts +10 -0
  291. package/lib/hooks/useCombinedRefs.js +47 -0
  292. package/lib/hooks/useDetails.d.ts +17 -0
  293. package/lib/hooks/useDialog.d.ts +16 -0
  294. package/lib/hooks/useDialog.js +21 -6
  295. package/lib/hooks/useFocusTrap.d.ts +32 -0
  296. package/lib/hooks/useFocusTrap.js +69 -0
  297. package/lib/hooks/useFocusZone.d.ts +23 -0
  298. package/lib/hooks/useFocusZone.js +53 -0
  299. package/lib/hooks/useOnEscapePress.d.ts +23 -0
  300. package/lib/hooks/useOnEscapePress.js +69 -0
  301. package/lib/hooks/useOnOutsideClick.d.ts +8 -0
  302. package/lib/hooks/useOnOutsideClick.js +90 -0
  303. package/lib/hooks/useOpenAndCloseFocus.d.ts +8 -0
  304. package/lib/hooks/useOpenAndCloseFocus.js +36 -0
  305. package/lib/hooks/useOverlay.d.ts +15 -0
  306. package/lib/hooks/useOverlay.js +43 -0
  307. package/lib/hooks/useProvidedRefOrCreate.d.ts +10 -0
  308. package/lib/hooks/useProvidedRefOrCreate.js +24 -0
  309. package/lib/hooks/useProvidedStateOrCreate.d.ts +10 -0
  310. package/lib/hooks/useProvidedStateOrCreate.js +27 -0
  311. package/lib/hooks/useRenderForcingRef.d.ts +8 -0
  312. package/lib/hooks/useRenderForcingRef.js +25 -0
  313. package/lib/hooks/useResizeObserver.d.ts +1 -0
  314. package/lib/hooks/useResizeObserver.js +20 -0
  315. package/lib/hooks/useSafeTimeout.d.ts +12 -0
  316. package/lib/hooks/useSafeTimeout.js +4 -1
  317. package/lib/hooks/useScrollFlash.d.ts +6 -0
  318. package/lib/hooks/useScrollFlash.js +29 -0
  319. package/lib/index.d.ts +122 -0
  320. package/lib/index.js +194 -10
  321. package/lib/polyfills/eventListenerSignal.d.ts +6 -0
  322. package/lib/polyfills/eventListenerSignal.js +64 -0
  323. package/lib/sx.d.ts +14 -0
  324. package/lib/sx.js +8 -5
  325. package/lib/theme-preval.d.ts +49 -0
  326. package/lib/theme-preval.js +3119 -357
  327. package/lib/theme.d.ts +80 -0
  328. package/lib/theme.js +5 -8
  329. package/lib/utils/create-slots.d.ts +17 -0
  330. package/lib/utils/create-slots.js +105 -0
  331. package/lib/utils/deprecate.d.ts +18 -0
  332. package/lib/utils/deprecate.js +6 -5
  333. package/lib/utils/isNumeric.d.ts +1 -0
  334. package/lib/utils/isNumeric.js +1 -0
  335. package/lib/utils/iterateFocusableElements.d.ts +42 -0
  336. package/lib/utils/iterateFocusableElements.js +113 -0
  337. package/lib/utils/ssr.d.ts +1 -0
  338. package/lib/utils/ssr.js +19 -0
  339. package/lib/utils/test-deprecations.d.ts +1 -0
  340. package/lib/utils/test-deprecations.js +2 -1
  341. package/lib/utils/test-helpers.d.ts +0 -0
  342. package/lib/utils/test-helpers.js +9 -0
  343. package/lib/utils/test-matchers.d.ts +1 -0
  344. package/lib/utils/test-matchers.js +6 -50
  345. package/lib/utils/testing.d.ts +545 -0
  346. package/lib/utils/testing.js +38 -26
  347. package/lib/utils/theme.d.ts +9 -0
  348. package/lib/utils/theme.js +68 -0
  349. package/lib/utils/types/AriaRole.d.ts +1 -0
  350. package/lib/utils/{types.js → types/AriaRole.js} +0 -0
  351. package/lib/utils/types/ComponentProps.d.ts +9 -0
  352. package/lib/utils/types/ComponentProps.js +1 -0
  353. package/lib/utils/types/Flatten.d.ts +4 -0
  354. package/lib/utils/types/Flatten.js +1 -0
  355. package/lib/utils/types/KeyPaths.d.ts +3 -0
  356. package/lib/utils/types/KeyPaths.js +1 -0
  357. package/lib/utils/types/MandateProps.d.ts +3 -0
  358. package/lib/utils/types/MandateProps.js +1 -0
  359. package/lib/utils/types/Merge.d.ts +19 -0
  360. package/lib/utils/types/Merge.js +1 -0
  361. package/lib/utils/types/index.d.ts +5 -0
  362. package/lib/utils/types/index.js +70 -0
  363. package/lib/utils/uniqueId.d.ts +1 -0
  364. package/lib/utils/uniqueId.js +12 -0
  365. package/lib/utils/use-force-update.d.ts +1 -0
  366. package/lib/utils/use-force-update.js +19 -0
  367. package/lib/utils/useIsomorphicLayoutEffect.d.ts +3 -0
  368. package/lib/utils/useIsomorphicLayoutEffect.js +12 -0
  369. package/lib/utils/userAgent.d.ts +1 -0
  370. package/lib/utils/userAgent.js +15 -0
  371. package/lib-esm/ActionList/Divider.d.ts +9 -0
  372. package/lib-esm/ActionList/Divider.js +23 -0
  373. package/lib-esm/ActionList/Group.d.ts +28 -0
  374. package/lib-esm/ActionList/Group.js +24 -0
  375. package/lib-esm/ActionList/Header.d.ts +29 -0
  376. package/lib-esm/ActionList/Header.js +33 -0
  377. package/lib-esm/ActionList/Item.d.ts +98 -0
  378. package/lib-esm/ActionList/Item.js +241 -0
  379. package/lib-esm/ActionList/List.d.ts +88 -0
  380. package/lib-esm/ActionList/List.js +181 -0
  381. package/lib-esm/ActionList/index.d.ts +17 -0
  382. package/lib-esm/ActionList/index.js +18 -0
  383. package/lib-esm/ActionList2/ActionListContainerContext.d.ts +10 -0
  384. package/lib-esm/ActionList2/ActionListContainerContext.js +3 -0
  385. package/lib-esm/ActionList2/Description.d.ts +12 -0
  386. package/lib-esm/ActionList2/Description.js +41 -0
  387. package/lib-esm/ActionList2/Divider.d.ts +6 -0
  388. package/lib-esm/ActionList2/Divider.js +26 -0
  389. package/lib-esm/ActionList2/Group.d.ts +37 -0
  390. package/lib-esm/ActionList2/Group.js +87 -0
  391. package/lib-esm/ActionList2/Item.d.ts +63 -0
  392. package/lib-esm/ActionList2/Item.js +222 -0
  393. package/lib-esm/ActionList2/LinkItem.d.ts +17 -0
  394. package/lib-esm/ActionList2/LinkItem.js +43 -0
  395. package/lib-esm/ActionList2/List.d.ts +26 -0
  396. package/lib-esm/ActionList2/List.js +44 -0
  397. package/lib-esm/ActionList2/Selection.d.ts +5 -0
  398. package/lib-esm/ActionList2/Selection.js +77 -0
  399. package/lib-esm/ActionList2/Visuals.d.ts +9 -0
  400. package/lib-esm/ActionList2/Visuals.js +68 -0
  401. package/lib-esm/ActionList2/index.d.ts +35 -0
  402. package/lib-esm/ActionList2/index.js +33 -0
  403. package/lib-esm/ActionMenu.d.ts +40 -0
  404. package/lib-esm/ActionMenu.js +82 -0
  405. package/lib-esm/ActionMenu2.d.ts +317 -0
  406. package/lib-esm/ActionMenu2.js +100 -0
  407. package/lib-esm/AnchoredOverlay/AnchoredOverlay.d.ts +62 -0
  408. package/lib-esm/AnchoredOverlay/AnchoredOverlay.js +104 -0
  409. package/lib-esm/AnchoredOverlay/index.d.ts +2 -0
  410. package/lib-esm/AnchoredOverlay/index.js +1 -0
  411. package/lib-esm/Autocomplete/Autocomplete.d.ts +306 -0
  412. package/lib-esm/Autocomplete/Autocomplete.js +123 -0
  413. package/lib-esm/Autocomplete/AutocompleteContext.d.ts +17 -0
  414. package/lib-esm/Autocomplete/AutocompleteContext.js +2 -0
  415. package/lib-esm/Autocomplete/AutocompleteInput.d.ts +294 -0
  416. package/lib-esm/Autocomplete/AutocompleteInput.js +138 -0
  417. package/lib-esm/Autocomplete/AutocompleteMenu.d.ts +72 -0
  418. package/lib-esm/Autocomplete/AutocompleteMenu.js +205 -0
  419. package/lib-esm/Autocomplete/AutocompleteOverlay.d.ts +20 -0
  420. package/lib-esm/Autocomplete/AutocompleteOverlay.js +62 -0
  421. package/lib-esm/Autocomplete/index.d.ts +2 -0
  422. package/lib-esm/Autocomplete/index.js +1 -0
  423. package/lib-esm/Avatar.d.ts +14 -0
  424. package/lib-esm/Avatar.js +2 -11
  425. package/lib-esm/AvatarPair.d.ts +8 -0
  426. package/lib-esm/AvatarPair.js +8 -14
  427. package/lib-esm/AvatarStack.d.ts +8 -0
  428. package/lib-esm/AvatarStack.js +12 -21
  429. package/lib-esm/BaseStyles.d.ts +14 -0
  430. package/lib-esm/BaseStyles.js +13 -34
  431. package/lib-esm/BorderBox.d.ts +7 -0
  432. package/lib-esm/BorderBox.js +7 -13
  433. package/lib-esm/Box.d.ts +6 -0
  434. package/lib-esm/Box.js +3 -14
  435. package/lib-esm/BranchName.d.ts +5 -0
  436. package/lib-esm/BranchName.js +2 -13
  437. package/lib-esm/Breadcrumbs.d.ts +41 -0
  438. package/lib-esm/Breadcrumbs.js +58 -0
  439. package/lib-esm/Button/Button.d.ts +284 -0
  440. package/lib-esm/Button/Button.js +4 -11
  441. package/lib-esm/Button/ButtonBase.d.ts +9 -0
  442. package/lib-esm/Button/ButtonBase.js +1 -19
  443. package/lib-esm/Button/ButtonClose.d.ts +279 -0
  444. package/lib-esm/Button/ButtonClose.js +5 -18
  445. package/lib-esm/Button/ButtonDanger.d.ts +284 -0
  446. package/lib-esm/Button/ButtonDanger.js +2 -9
  447. package/lib-esm/Button/ButtonGroup.d.ts +4 -0
  448. package/lib-esm/Button/ButtonGroup.js +3 -8
  449. package/lib-esm/Button/ButtonInvisible.d.ts +284 -0
  450. package/lib-esm/Button/ButtonInvisible.js +3 -10
  451. package/lib-esm/Button/ButtonOutline.d.ts +284 -0
  452. package/lib-esm/Button/ButtonOutline.js +2 -9
  453. package/lib-esm/Button/ButtonPrimary.d.ts +284 -0
  454. package/lib-esm/Button/ButtonPrimary.js +2 -9
  455. package/lib-esm/Button/ButtonStyles.d.ts +2 -0
  456. package/lib-esm/Button/ButtonTableList.d.ts +5 -0
  457. package/lib-esm/Button/ButtonTableList.js +2 -14
  458. package/lib-esm/Button/index.d.ts +16 -0
  459. package/lib-esm/Caret.d.ts +21 -0
  460. package/lib-esm/Caret.js +13 -16
  461. package/lib-esm/Checkbox.d.ts +29 -0
  462. package/lib-esm/Checkbox.js +44 -0
  463. package/lib-esm/CircleBadge.d.ts +24 -0
  464. package/lib-esm/CircleBadge.js +3 -19
  465. package/lib-esm/CircleOcticon.d.ts +392 -0
  466. package/lib-esm/CircleOcticon.js +9 -15
  467. package/lib-esm/CounterLabel.d.ts +7 -0
  468. package/lib-esm/CounterLabel.js +4 -16
  469. package/lib-esm/Details.d.ts +5 -0
  470. package/lib-esm/Details.js +2 -10
  471. package/lib-esm/Dialog/ConfirmationDialog.d.ts +44 -0
  472. package/lib-esm/Dialog/ConfirmationDialog.js +169 -0
  473. package/lib-esm/Dialog/Dialog.d.ts +163 -0
  474. package/lib-esm/Dialog/Dialog.js +275 -0
  475. package/lib-esm/Dialog.d.ts +406 -0
  476. package/lib-esm/Dialog.js +31 -46
  477. package/lib-esm/Dropdown.d.ts +1113 -0
  478. package/lib-esm/Dropdown.js +38 -58
  479. package/lib-esm/DropdownMenu/DropdownButton.d.ts +283 -0
  480. package/lib-esm/DropdownMenu/DropdownButton.js +18 -0
  481. package/lib-esm/DropdownMenu/DropdownMenu.d.ts +43 -0
  482. package/lib-esm/DropdownMenu/DropdownMenu.js +77 -0
  483. package/lib-esm/DropdownMenu/index.d.ts +4 -0
  484. package/lib-esm/DropdownMenu/index.js +2 -0
  485. package/lib-esm/DropdownStyles.d.ts +3 -0
  486. package/lib-esm/DropdownStyles.js +6 -6
  487. package/lib-esm/FilterList.d.ts +283 -0
  488. package/lib-esm/FilterList.js +3 -29
  489. package/lib-esm/FilteredActionList/FilteredActionList.d.ts +16 -0
  490. package/lib-esm/FilteredActionList/FilteredActionList.js +109 -0
  491. package/lib-esm/FilteredActionList/index.d.ts +2 -0
  492. package/lib-esm/FilteredActionList/index.js +1 -0
  493. package/lib-esm/FilteredSearch.d.ts +5 -0
  494. package/lib-esm/FilteredSearch.js +2 -11
  495. package/lib-esm/Flash.d.ts +8 -0
  496. package/lib-esm/Flash.js +36 -13
  497. package/lib-esm/Flex.d.ts +7 -0
  498. package/lib-esm/Flex.js +5 -5
  499. package/lib-esm/FormGroup.d.ts +11 -0
  500. package/lib-esm/FormGroup.js +3 -20
  501. package/lib-esm/Grid.d.ts +7 -0
  502. package/lib-esm/Grid.js +5 -7
  503. package/lib-esm/Header.d.ts +23 -0
  504. package/lib-esm/Header.js +6 -34
  505. package/lib-esm/Heading.d.ts +5 -0
  506. package/lib-esm/Heading.js +2 -12
  507. package/lib-esm/Label.d.ts +10 -0
  508. package/lib-esm/Label.js +3 -15
  509. package/lib-esm/LabelGroup.d.ts +5 -0
  510. package/lib-esm/LabelGroup.js +3 -10
  511. package/lib-esm/Link.d.ts +9 -0
  512. package/lib-esm/Link.js +2 -28
  513. package/lib-esm/NewButton/button-base.d.ts +6 -0
  514. package/lib-esm/NewButton/button-base.js +47 -0
  515. package/lib-esm/NewButton/button-counter.d.ts +6 -0
  516. package/lib-esm/NewButton/button-counter.js +18 -0
  517. package/lib-esm/NewButton/button-link.d.ts +27 -0
  518. package/lib-esm/NewButton/button-link.js +15 -0
  519. package/lib-esm/NewButton/button.d.ts +4 -0
  520. package/lib-esm/NewButton/button.js +16 -0
  521. package/lib-esm/NewButton/icon-button.d.ts +4 -0
  522. package/lib-esm/NewButton/icon-button.js +39 -0
  523. package/lib-esm/NewButton/index.d.ts +9 -0
  524. package/lib-esm/NewButton/index.js +8 -0
  525. package/lib-esm/NewButton/styles.d.ts +202 -0
  526. package/lib-esm/NewButton/styles.js +229 -0
  527. package/lib-esm/NewButton/types.d.ts +52 -0
  528. package/lib-esm/NewButton/types.js +6 -0
  529. package/lib-esm/Overlay.d.ts +66 -0
  530. package/lib-esm/Overlay.js +160 -0
  531. package/lib-esm/Pagehead.d.ts +5 -0
  532. package/lib-esm/Pagehead.js +2 -12
  533. package/lib-esm/Pagination/Pagination.d.ts +24 -0
  534. package/lib-esm/Pagination/Pagination.js +15 -28
  535. package/lib-esm/Pagination/index.d.ts +3 -0
  536. package/lib-esm/Pagination/model.d.ts +26 -0
  537. package/lib-esm/Pagination/model.js +1 -1
  538. package/lib-esm/PointerBox.d.ts +11 -0
  539. package/lib-esm/PointerBox.js +4 -11
  540. package/lib-esm/Popover.d.ts +20 -0
  541. package/lib-esm/Popover.js +5 -27
  542. package/lib-esm/Portal/Portal.d.ts +25 -0
  543. package/lib-esm/Portal/Portal.js +83 -0
  544. package/lib-esm/Portal/index.d.ts +4 -0
  545. package/lib-esm/Portal/index.js +3 -0
  546. package/lib-esm/Position.d.ts +34 -0
  547. package/lib-esm/Position.js +43 -38
  548. package/lib-esm/ProgressBar.d.ts +26 -0
  549. package/lib-esm/ProgressBar.js +9 -25
  550. package/lib-esm/Radio.d.ts +38 -0
  551. package/lib-esm/Radio.js +40 -0
  552. package/lib-esm/SelectMenu/SelectMenu.d.ts +1671 -0
  553. package/lib-esm/SelectMenu/SelectMenu.js +27 -38
  554. package/lib-esm/SelectMenu/SelectMenuContext.d.ts +8 -0
  555. package/lib-esm/SelectMenu/SelectMenuContext.js +1 -1
  556. package/lib-esm/SelectMenu/SelectMenuDivider.d.ts +5 -0
  557. package/lib-esm/SelectMenu/SelectMenuDivider.js +4 -11
  558. package/lib-esm/SelectMenu/SelectMenuFilter.d.ts +9 -0
  559. package/lib-esm/SelectMenu/SelectMenuFilter.js +13 -19
  560. package/lib-esm/SelectMenu/SelectMenuFooter.d.ts +5 -0
  561. package/lib-esm/SelectMenu/SelectMenuFooter.js +4 -11
  562. package/lib-esm/SelectMenu/SelectMenuHeader.d.ts +10 -0
  563. package/lib-esm/SelectMenu/SelectMenuHeader.js +7 -18
  564. package/lib-esm/SelectMenu/SelectMenuItem.d.ts +14 -0
  565. package/lib-esm/SelectMenu/SelectMenuItem.js +11 -17
  566. package/lib-esm/SelectMenu/SelectMenuList.d.ts +5 -0
  567. package/lib-esm/SelectMenu/SelectMenuList.js +4 -11
  568. package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.d.ts +7 -0
  569. package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.js +7 -13
  570. package/lib-esm/SelectMenu/SelectMenuModal.d.ts +14 -0
  571. package/lib-esm/SelectMenu/SelectMenuModal.js +10 -20
  572. package/lib-esm/SelectMenu/SelectMenuTab.d.ts +13 -0
  573. package/lib-esm/SelectMenu/SelectMenuTab.js +13 -21
  574. package/lib-esm/SelectMenu/SelectMenuTabPanel.d.ts +12 -0
  575. package/lib-esm/SelectMenu/SelectMenuTabPanel.js +9 -19
  576. package/lib-esm/SelectMenu/SelectMenuTabs.d.ts +10 -0
  577. package/lib-esm/SelectMenu/SelectMenuTabs.js +8 -15
  578. package/lib-esm/SelectMenu/hooks/useKeyboardNav.d.ts +2 -0
  579. package/lib-esm/SelectMenu/hooks/useKeyboardNav.js +2 -0
  580. package/lib-esm/SelectMenu/index.d.ts +2 -0
  581. package/lib-esm/SelectMenu/index.js +1 -2
  582. package/lib-esm/SelectPanel/SelectPanel.d.ts +25 -0
  583. package/lib-esm/SelectPanel/SelectPanel.js +127 -0
  584. package/lib-esm/SelectPanel/index.d.ts +2 -0
  585. package/lib-esm/SelectPanel/index.js +1 -0
  586. package/lib-esm/SideNav.d.ts +34 -0
  587. package/lib-esm/SideNav.js +20 -36
  588. package/lib-esm/Spinner.d.ts +16 -0
  589. package/lib-esm/Spinner.js +45 -0
  590. package/lib-esm/StateLabel.d.ts +15 -0
  591. package/lib-esm/StateLabel.js +56 -24
  592. package/lib-esm/StyledOcticon.d.ts +11 -0
  593. package/lib-esm/StyledOcticon.js +2 -13
  594. package/lib-esm/SubNav.d.ts +26 -0
  595. package/lib-esm/SubNav.js +11 -39
  596. package/lib-esm/TabNav.d.ts +19 -0
  597. package/lib-esm/TabNav.js +13 -33
  598. package/lib-esm/Text.d.ts +6 -0
  599. package/lib-esm/Text.js +0 -10
  600. package/lib-esm/TextInput.d.ts +14 -0
  601. package/lib-esm/TextInput.js +24 -62
  602. package/lib-esm/TextInputWithTokens.d.ts +329 -0
  603. package/lib-esm/TextInputWithTokens.js +291 -0
  604. package/lib-esm/ThemeProvider.d.ts +27 -0
  605. package/lib-esm/ThemeProvider.js +174 -0
  606. package/lib-esm/Timeline.d.ts +33 -0
  607. package/lib-esm/Timeline.js +28 -83
  608. package/lib-esm/Token/AvatarToken.d.ts +7 -0
  609. package/lib-esm/Token/AvatarToken.js +43 -0
  610. package/lib-esm/Token/IssueLabelToken.d.ts +14 -0
  611. package/lib-esm/Token/IssueLabelToken.js +124 -0
  612. package/lib-esm/Token/Token.d.ts +15 -0
  613. package/lib-esm/Token/Token.js +84 -0
  614. package/lib-esm/Token/TokenBase.d.ts +31 -0
  615. package/lib-esm/Token/TokenBase.js +83 -0
  616. package/lib-esm/Token/_RemoveTokenButton.d.ts +12 -0
  617. package/lib-esm/Token/_RemoveTokenButton.js +69 -0
  618. package/lib-esm/Token/_TokenTextContainer.d.ts +3 -0
  619. package/lib-esm/Token/_TokenTextContainer.js +6 -0
  620. package/lib-esm/Token/index.d.ts +3 -0
  621. package/lib-esm/Token/index.js +3 -0
  622. package/lib-esm/Tooltip.d.ts +17 -0
  623. package/lib-esm/Tooltip.js +5 -20
  624. package/lib-esm/Truncate.d.ts +10 -0
  625. package/lib-esm/Truncate.js +2 -15
  626. package/lib-esm/UnderlineNav.d.ts +24 -0
  627. package/lib-esm/UnderlineNav.js +7 -30
  628. package/lib-esm/_TextInputWrapper.d.ts +10 -0
  629. package/lib-esm/_TextInputWrapper.js +31 -0
  630. package/lib-esm/_UnstyledTextInput.d.ts +2 -0
  631. package/lib-esm/_UnstyledTextInput.js +7 -0
  632. package/lib-esm/behaviors/anchoredPosition.d.ts +89 -0
  633. package/lib-esm/behaviors/anchoredPosition.js +309 -0
  634. package/lib-esm/behaviors/focusTrap.d.ts +12 -0
  635. package/lib-esm/behaviors/focusTrap.js +170 -0
  636. package/lib-esm/behaviors/focusZone.d.ts +137 -0
  637. package/lib-esm/behaviors/focusZone.js +560 -0
  638. package/lib-esm/behaviors/scrollIntoViewingArea.d.ts +1 -0
  639. package/lib-esm/behaviors/scrollIntoViewingArea.js +30 -0
  640. package/lib-esm/constants.d.ts +20 -0
  641. package/lib-esm/constants.js +9 -23
  642. package/lib-esm/drafts.d.ts +9 -0
  643. package/lib-esm/drafts.js +10 -0
  644. package/lib-esm/hooks/index.d.ts +12 -0
  645. package/lib-esm/hooks/index.js +8 -0
  646. package/lib-esm/hooks/useAnchoredPosition.d.ts +20 -0
  647. package/lib-esm/hooks/useAnchoredPosition.js +35 -0
  648. package/lib-esm/hooks/useCombinedRefs.d.ts +10 -0
  649. package/lib-esm/hooks/useCombinedRefs.js +37 -0
  650. package/lib-esm/hooks/useDetails.d.ts +17 -0
  651. package/lib-esm/hooks/useDialog.d.ts +16 -0
  652. package/lib-esm/hooks/useDialog.js +21 -6
  653. package/lib-esm/hooks/useFocusTrap.d.ts +32 -0
  654. package/lib-esm/hooks/useFocusTrap.js +54 -0
  655. package/lib-esm/hooks/useFocusZone.d.ts +23 -0
  656. package/lib-esm/hooks/useFocusZone.js +37 -0
  657. package/lib-esm/hooks/useOnEscapePress.d.ts +23 -0
  658. package/lib-esm/hooks/useOnEscapePress.js +59 -0
  659. package/lib-esm/hooks/useOnOutsideClick.d.ts +8 -0
  660. package/lib-esm/hooks/useOnOutsideClick.js +79 -0
  661. package/lib-esm/hooks/useOpenAndCloseFocus.d.ts +8 -0
  662. package/lib-esm/hooks/useOpenAndCloseFocus.js +27 -0
  663. package/lib-esm/hooks/useOverlay.d.ts +15 -0
  664. package/lib-esm/hooks/useOverlay.js +30 -0
  665. package/lib-esm/hooks/useProvidedRefOrCreate.d.ts +10 -0
  666. package/lib-esm/hooks/useProvidedRefOrCreate.js +14 -0
  667. package/lib-esm/hooks/useProvidedStateOrCreate.d.ts +10 -0
  668. package/lib-esm/hooks/useProvidedStateOrCreate.js +20 -0
  669. package/lib-esm/hooks/useRenderForcingRef.d.ts +8 -0
  670. package/lib-esm/hooks/useRenderForcingRef.js +18 -0
  671. package/lib-esm/hooks/useResizeObserver.d.ts +1 -0
  672. package/lib-esm/hooks/useResizeObserver.js +10 -0
  673. package/lib-esm/hooks/useSafeTimeout.d.ts +12 -0
  674. package/lib-esm/hooks/useSafeTimeout.js +4 -1
  675. package/lib-esm/hooks/useScrollFlash.d.ts +6 -0
  676. package/lib-esm/hooks/useScrollFlash.js +22 -0
  677. package/lib-esm/index.d.ts +122 -0
  678. package/lib-esm/index.js +30 -8
  679. package/lib-esm/polyfills/eventListenerSignal.d.ts +6 -0
  680. package/lib-esm/polyfills/eventListenerSignal.js +57 -0
  681. package/lib-esm/sx.d.ts +14 -0
  682. package/lib-esm/sx.js +3 -5
  683. package/lib-esm/theme-preval.d.ts +49 -0
  684. package/lib-esm/theme-preval.js +3119 -357
  685. package/lib-esm/theme.d.ts +80 -0
  686. package/lib-esm/theme.js +3 -8
  687. package/lib-esm/utils/create-slots.d.ts +17 -0
  688. package/lib-esm/utils/create-slots.js +84 -0
  689. package/lib-esm/utils/deprecate.d.ts +18 -0
  690. package/lib-esm/utils/deprecate.js +6 -5
  691. package/lib-esm/utils/isNumeric.d.ts +1 -0
  692. package/lib-esm/utils/isNumeric.js +1 -0
  693. package/lib-esm/utils/iterateFocusableElements.d.ts +42 -0
  694. package/lib-esm/utils/iterateFocusableElements.js +102 -0
  695. package/lib-esm/utils/ssr.d.ts +1 -0
  696. package/lib-esm/utils/ssr.js +1 -0
  697. package/lib-esm/utils/test-deprecations.d.ts +1 -0
  698. package/lib-esm/utils/test-deprecations.js +1 -1
  699. package/lib-esm/utils/{types.js → test-helpers.d.ts} +0 -0
  700. package/lib-esm/utils/test-helpers.js +7 -0
  701. package/lib-esm/utils/test-matchers.d.ts +1 -0
  702. package/lib-esm/utils/test-matchers.js +7 -49
  703. package/lib-esm/utils/testing.d.ts +545 -0
  704. package/lib-esm/utils/testing.js +35 -26
  705. package/lib-esm/utils/theme.d.ts +9 -0
  706. package/lib-esm/utils/theme.js +66 -0
  707. package/lib-esm/utils/types/AriaRole.d.ts +1 -0
  708. package/lib-esm/utils/types/AriaRole.js +1 -0
  709. package/lib-esm/utils/types/ComponentProps.d.ts +9 -0
  710. package/lib-esm/utils/types/ComponentProps.js +1 -0
  711. package/lib-esm/utils/types/Flatten.d.ts +4 -0
  712. package/lib-esm/utils/types/Flatten.js +1 -0
  713. package/lib-esm/utils/types/KeyPaths.d.ts +3 -0
  714. package/lib-esm/utils/types/KeyPaths.js +1 -0
  715. package/lib-esm/utils/types/MandateProps.d.ts +3 -0
  716. package/lib-esm/utils/types/MandateProps.js +1 -0
  717. package/lib-esm/utils/types/Merge.d.ts +19 -0
  718. package/lib-esm/utils/types/Merge.js +1 -0
  719. package/lib-esm/utils/types/index.d.ts +5 -0
  720. package/lib-esm/utils/types/index.js +5 -0
  721. package/lib-esm/utils/uniqueId.d.ts +1 -0
  722. package/lib-esm/utils/uniqueId.js +5 -0
  723. package/lib-esm/utils/use-force-update.d.ts +1 -0
  724. package/lib-esm/utils/use-force-update.js +6 -0
  725. package/lib-esm/utils/useIsomorphicLayoutEffect.d.ts +3 -0
  726. package/lib-esm/utils/useIsomorphicLayoutEffect.js +3 -0
  727. package/lib-esm/utils/userAgent.d.ts +1 -0
  728. package/lib-esm/utils/userAgent.js +8 -0
  729. package/package.json +119 -94
  730. package/CHANGELOG.md +0 -103
  731. package/index.d.ts +0 -838
  732. package/lib/Breadcrumb.js +0 -96
  733. package/lib/hooks/useMouseIntent.js +0 -58
  734. package/lib/stories/Button.stories.js +0 -100
  735. package/lib-esm/Breadcrumb.js +0 -70
  736. package/lib-esm/hooks/useMouseIntent.js +0 -50
  737. package/lib-esm/stories/Button.stories.js +0 -65
@@ -0,0 +1,160 @@
1
+ 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); }
2
+
3
+ import styled from 'styled-components';
4
+ import React, { useEffect, useRef } from 'react';
5
+ import useLayoutEffect from './utils/useIsomorphicLayoutEffect';
6
+ import { get } from './constants';
7
+ import { useOverlay } from './hooks';
8
+ import Portal from './Portal';
9
+ import sx from './sx';
10
+ import { useCombinedRefs } from './hooks/useCombinedRefs';
11
+ import { useTheme } from './ThemeProvider';
12
+ const heightMap = {
13
+ xsmall: '192px',
14
+ small: '256px',
15
+ medium: '320px',
16
+ large: '432px',
17
+ xlarge: '600px',
18
+ auto: 'auto',
19
+ initial: 'auto' // Passing 'initial' initially applies 'auto'
20
+
21
+ };
22
+ const widthMap = {
23
+ small: '256px',
24
+ medium: '320px',
25
+ large: '480px',
26
+ xlarge: '640px',
27
+ xxlarge: '960px',
28
+ auto: 'auto'
29
+ };
30
+ const animationDuration = 200;
31
+
32
+ function getSlideAnimationStartingVector(anchorSide) {
33
+ if (anchorSide !== null && anchorSide !== void 0 && anchorSide.endsWith('bottom')) {
34
+ return {
35
+ x: 0,
36
+ y: -1
37
+ };
38
+ } else if (anchorSide !== null && anchorSide !== void 0 && anchorSide.endsWith('top')) {
39
+ return {
40
+ x: 0,
41
+ y: 1
42
+ };
43
+ } else if (anchorSide !== null && anchorSide !== void 0 && anchorSide.endsWith('right')) {
44
+ return {
45
+ x: -1,
46
+ y: 0
47
+ };
48
+ } else if (anchorSide !== null && anchorSide !== void 0 && anchorSide.endsWith('left')) {
49
+ return {
50
+ x: 1,
51
+ y: 0
52
+ };
53
+ }
54
+
55
+ return {
56
+ x: 0,
57
+ y: 0
58
+ };
59
+ }
60
+
61
+ const StyledOverlay = styled.div.withConfig({
62
+ displayName: "Overlay__StyledOverlay",
63
+ componentId: "sc-jhwkzw-0"
64
+ })(["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;}", ";"], get('colors.canvas.overlay'), get('shadows.overlay.shadow'), props => heightMap[props.height || 'auto'], props => props.maxHeight && heightMap[props.maxHeight], props => widthMap[props.width || 'auto'], animationDuration, get('animation.easeOutCubic'), sx);
65
+
66
+ /**
67
+ * An `Overlay` is a flexible floating surface, used to display transient content such as menus,
68
+ * selection options, dialogs, and more. Overlays use shadows to express elevation. The `Overlay`
69
+ * component handles all behaviors needed by overlay UIs as well as the common styles that all overlays * should have.
70
+ * @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.
71
+ * @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.
72
+ * @param returnFocusRef Required. Ref for the element to focus when the `Overlay` is closed.
73
+ * @param onClickOutside Required. Function to call when clicking outside of the `Overlay`. Typically this function removes the Overlay.
74
+ * @param onEscape Required. Function to call when user presses `Escape`. Typically this function removes the Overlay.
75
+ * @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`.
76
+ * @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`.
77
+ * @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`.
78
+ * @param anchorSide If provided, the Overlay will slide into position from the side of the anchor with a brief animation
79
+ * @param top Optional. Vertical position of the overlay, relative to its closest positioned ancestor (often its `Portal`).
80
+ * @param left Optional. Horizontal position of the overlay, relative to its closest positioned ancestor (often its `Portal`).
81
+ * @param portalContainerName Optional. The name of the portal container to render the Overlay into.
82
+ */
83
+ const Overlay = /*#__PURE__*/React.forwardRef(({
84
+ onClickOutside,
85
+ role = 'none',
86
+ initialFocusRef,
87
+ returnFocusRef,
88
+ ignoreClickRefs,
89
+ onEscape,
90
+ visibility = 'visible',
91
+ height,
92
+ top,
93
+ left,
94
+ anchorSide,
95
+ portalContainerName,
96
+ preventFocusOnOpen,
97
+ ...rest
98
+ }, forwardedRef) => {
99
+ const overlayRef = useRef(null);
100
+ const combinedRef = useCombinedRefs(overlayRef, forwardedRef);
101
+ const {
102
+ theme
103
+ } = useTheme();
104
+ const slideAnimationDistance = parseInt(get('space.2')(theme).replace('px', ''));
105
+ const slideAnimationEasing = get('animation.easeOutCubic')(theme);
106
+ useOverlay({
107
+ overlayRef,
108
+ returnFocusRef,
109
+ onEscape,
110
+ ignoreClickRefs,
111
+ onClickOutside,
112
+ initialFocusRef,
113
+ preventFocusOnOpen
114
+ });
115
+ useEffect(() => {
116
+ var _combinedRef$current;
117
+
118
+ if (height === 'initial' && (_combinedRef$current = combinedRef.current) !== null && _combinedRef$current !== void 0 && _combinedRef$current.clientHeight) {
119
+ combinedRef.current.style.height = `${combinedRef.current.clientHeight}px`;
120
+ }
121
+ }, [height, combinedRef]);
122
+ useLayoutEffect(() => {
123
+ var _overlayRef$current;
124
+
125
+ const {
126
+ x,
127
+ y
128
+ } = getSlideAnimationStartingVector(anchorSide);
129
+
130
+ if (!x && !y || !((_overlayRef$current = overlayRef.current) !== null && _overlayRef$current !== void 0 && _overlayRef$current.animate) || visibility === 'hidden') {
131
+ return;
132
+ } // JS animation is required because Safari does not allow css animations to start paused and then run
133
+
134
+
135
+ overlayRef.current.animate({
136
+ transform: [`translate(${slideAnimationDistance * x}px, ${slideAnimationDistance * y}px)`, `translate(0, 0)`]
137
+ }, {
138
+ duration: animationDuration,
139
+ easing: slideAnimationEasing
140
+ });
141
+ }, [anchorSide, slideAnimationDistance, slideAnimationEasing, visibility]);
142
+ return /*#__PURE__*/React.createElement(Portal, {
143
+ containerName: portalContainerName
144
+ }, /*#__PURE__*/React.createElement(StyledOverlay, _extends({
145
+ height: height,
146
+ role: role
147
+ }, rest, {
148
+ ref: combinedRef,
149
+ style: {
150
+ top: `${top || 0}px`,
151
+ left: `${left || 0}px`,
152
+ '--styled-overlay-visibility': visibility
153
+ }
154
+ })));
155
+ });
156
+ Overlay.defaultProps = {
157
+ height: 'auto',
158
+ width: 'auto'
159
+ };
160
+ export default Overlay;
@@ -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;
@@ -1,18 +1,8 @@
1
- import PropTypes from 'prop-types';
2
1
  import styled from 'styled-components';
3
- import { COMMON, get } from './constants';
2
+ import { get } from './constants';
4
3
  import sx from './sx';
5
- import theme from './theme';
6
4
  const Pagehead = styled.div.withConfig({
7
5
  displayName: "Pagehead",
8
6
  componentId: "sc-1ntn78e-0"
9
- })(["position:relative;padding-top:", ";padding-bottom:", ";margin-bottom:", ";border-bottom:1px solid ", ";", ";", ";"], get('space.4'), get('space.4'), get('space.4'), get('colors.border.gray'), COMMON, sx);
10
- Pagehead.defaultProps = {
11
- theme
12
- };
13
- Pagehead.propTypes = {
14
- children: PropTypes.node,
15
- ...COMMON.propTypes,
16
- ...sx.propTypes
17
- };
7
+ })(["position:relative;padding-top:", ";padding-bottom:", ";margin-bottom:", ";border-bottom:1px solid ", ";", ";"], get('space.4'), get('space.4'), get('space.4'), get('colors.border.default'), sx);
18
8
  export default Pagehead;
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ export declare type PaginationProps = {
3
+ theme?: Record<string, unknown>;
4
+ pageCount: number;
5
+ currentPage: number;
6
+ onPageChange?: (e: React.MouseEvent, n: number) => void;
7
+ hrefBuilder?: (n: number) => string;
8
+ marginPageCount: number;
9
+ showPages?: boolean;
10
+ surroundingPageCount?: number;
11
+ };
12
+ declare function Pagination({ theme, pageCount, currentPage, onPageChange, hrefBuilder, marginPageCount, showPages, surroundingPageCount, ...rest }: PaginationProps): JSX.Element;
13
+ declare namespace Pagination {
14
+ var defaultProps: {
15
+ hrefBuilder: typeof defaultHrefBuilder;
16
+ marginPageCount: number;
17
+ onPageChange: typeof noop;
18
+ showPages: boolean;
19
+ surroundingPageCount: number;
20
+ };
21
+ }
22
+ declare function defaultHrefBuilder(pageNum: number): string;
23
+ declare function noop(): void;
24
+ export default Pagination;
@@ -1,17 +1,15 @@
1
1
  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); }
2
2
 
3
3
  import React from 'react';
4
- import PropTypes from 'prop-types';
5
4
  import styled from 'styled-components';
6
- import sx from '../sx';
7
- import { get, COMMON } from '../constants';
8
- import theme from '../theme';
9
5
  import Box from '../Box';
10
- import { buildPaginationModel, buildComponentData } from './model';
6
+ import { get } from '../constants';
7
+ import sx from '../sx';
8
+ import { buildComponentData, buildPaginationModel } from './model';
11
9
  const Page = styled.a.withConfig({
12
10
  displayName: "Pagination__Page",
13
- componentId: "sc-58gpf2-0"
14
- })(["display:inline-block;min-width:32px;padding:5px 10px;font-style:normal;line-height:20px;color:", ";text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;user-select:none;text-decoration:none;margin-right:", ";&:last-child{margin-right:0;}border:", " solid transparent;border-radius:", ";transition:border-color 0.2s cubic-bezier(0.3,0,0.5,1);&:hover,&:focus{text-decoration:none;border-color:", ";outline:0;transition-duration:0.1s;}&:active{border-color:", ";}&[rel='prev'],&[rel='next']{color:", ";}&[aria-current],&[aria-current]:hover{color:", ";background-color:", ";border-color:", ";}&[aria-disabled],&[aria-disabled]:hover{color:", ";cursor:default;border-color:", ";}@supports (clip-path:polygon(50% 0,100% 50%,50% 100%)){&[rel='prev']::before,&[rel='next']::after{display:inline-block;width:16px;height:16px;vertical-align:text-bottom;content:'';background-color:currentColor;}&[rel='prev']::before{margin-right:", ";clip-path:polygon( 9.8px 12.8px,8.7px 12.8px,4.5px 8.5px,4.5px 7.5px,8.7px 3.2px,9.8px 4.3px,6.1px 8px,9.8px 11.7px,9.8px 12.8px );}&[rel='next']::after{margin-left:", ";clip-path:polygon( 6.2px 3.2px,7.3px 3.2px,11.5px 7.5px,11.5px 8.5px,7.3px 12.8px,6.2px 11.7px,9.9px 8px,6.2px 4.3px,6.2px 3.2px );}}", ";"], get('pagination.colors.normal.fg'), get('pagination.spaceBetween'), get('borderWidths.1'), get('pagination.borderRadius'), get('pagination.colors.hover.border'), get('pagination.colors.active.border'), get('pagination.colors.nextPrevious.fg'), get('pagination.colors.selected.fg'), get('pagination.colors.selected.bg'), get('pagination.colors.selected.border'), get('pagination.colors.disabled.fg'), get('pagination.colors.disabled.border'), get('pagination.spaceBetween'), get('pagination.spaceBetween'), COMMON);
11
+ componentId: "sc-b80nss-0"
12
+ })(["display:inline-block;min-width:32px;padding:5px 10px;font-style:normal;line-height:20px;color:", ";text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;user-select:none;text-decoration:none;margin-right:", ";&:last-child{margin-right:0;}border:", " solid transparent;border-radius:", ";transition:border-color 0.2s cubic-bezier(0.3,0,0.5,1);&:hover,&:focus{text-decoration:none;border-color:", ";outline:0;transition-duration:0.1s;}&:active{border-color:", ";}&[rel='prev'],&[rel='next']{color:", ";}&[aria-current],&[aria-current]:hover{color:", ";background-color:", ";border-color:transparent;}&[aria-disabled],&[aria-disabled]:hover{color:", ";cursor:default;border-color:transparent;}@supports (clip-path:polygon(50% 0,100% 50%,50% 100%)){&[rel='prev']::before,&[rel='next']::after{display:inline-block;width:16px;height:16px;vertical-align:text-bottom;content:'';background-color:currentColor;}&[rel='prev']::before{margin-right:", ";clip-path:polygon( 9.8px 12.8px,8.7px 12.8px,4.5px 8.5px,4.5px 7.5px,8.7px 3.2px,9.8px 4.3px,6.1px 8px,9.8px 11.7px,9.8px 12.8px );}&[rel='next']::after{margin-left:", ";clip-path:polygon( 6.2px 3.2px,7.3px 3.2px,11.5px 7.5px,11.5px 8.5px,7.3px 12.8px,6.2px 11.7px,9.9px 8px,6.2px 4.3px,6.2px 3.2px );}}"], get('colors.fg.default'), get('space.1'), get('borderWidths.1'), get('radii.2'), get('colors.border.default'), get('colors.border.muted'), get('colors.accent.fg'), get('colors.fg.onEmphasis'), get('colors.accent.emphasis'), get('colors.primer.fg.disabled'), get('space.1'), get('space.1'));
15
13
 
16
14
  function usePaginationPages({
17
15
  theme,
@@ -25,7 +23,7 @@ function usePaginationPages({
25
23
  }) {
26
24
  const pageChange = React.useCallback(n => e => onPageChange(e, n), [onPageChange]);
27
25
  const model = React.useMemo(() => {
28
- return buildPaginationModel(pageCount, currentPage, showPages, marginPageCount, surroundingPageCount);
26
+ return buildPaginationModel(pageCount, currentPage, !!showPages, marginPageCount, surroundingPageCount);
29
27
  }, [pageCount, currentPage, showPages, marginPageCount, surroundingPageCount]);
30
28
  const children = React.useMemo(() => {
31
29
  return model.map(page => {
@@ -45,18 +43,18 @@ function usePaginationPages({
45
43
 
46
44
  const PaginationContainer = styled.nav.withConfig({
47
45
  displayName: "Pagination__PaginationContainer",
48
- componentId: "sc-58gpf2-1"
46
+ componentId: "sc-b80nss-1"
49
47
  })(["margin-top:20px;margin-bottom:15px;text-align:center;", ";"], sx);
50
48
 
51
49
  function Pagination({
52
50
  theme,
53
51
  pageCount,
54
52
  currentPage,
55
- onPageChange,
56
- hrefBuilder,
57
- marginPageCount,
58
- showPages,
59
- surroundingPageCount,
53
+ onPageChange = noop,
54
+ hrefBuilder = defaultHrefBuilder,
55
+ marginPageCount = 1,
56
+ showPages = true,
57
+ surroundingPageCount = 2,
60
58
  ...rest
61
59
  }) {
62
60
  const pageElements = usePaginationPages({
@@ -83,27 +81,16 @@ Pagination.displayName = "Pagination";
83
81
 
84
82
  function defaultHrefBuilder(pageNum) {
85
83
  return `#${pageNum}`;
86
- }
84
+ } // eslint-disable-next-line @typescript-eslint/no-empty-function
85
+
87
86
 
88
87
  function noop() {}
89
88
 
90
- Pagination.propTypes = {
91
- currentPage: PropTypes.number.isRequired,
92
- hrefBuilder: PropTypes.func,
93
- marginPageCount: PropTypes.number,
94
- onPageChange: PropTypes.func,
95
- pageCount: PropTypes.number.isRequired,
96
- showPages: PropTypes.bool,
97
- surroundingPageCount: PropTypes.number,
98
- ...COMMON.propTypes,
99
- ...sx.propTypes
100
- };
101
89
  Pagination.defaultProps = {
102
90
  hrefBuilder: defaultHrefBuilder,
103
91
  marginPageCount: 1,
104
92
  onPageChange: noop,
105
93
  showPages: true,
106
- surroundingPageCount: 2,
107
- theme
94
+ surroundingPageCount: 2
108
95
  };
109
96
  export default Pagination;
@@ -0,0 +1,3 @@
1
+ import Pagination from './Pagination';
2
+ export type { PaginationProps } from './Pagination';
3
+ export default Pagination;
@@ -0,0 +1,26 @@
1
+ /// <reference types="react" />
2
+ export declare function buildPaginationModel(pageCount: number, currentPage: number, showPages: boolean, marginPageCount: number, surroundingPageCount: number): ({
3
+ type: string;
4
+ num: number;
5
+ disabled: boolean;
6
+ } | {
7
+ type: string;
8
+ num: number;
9
+ selected?: undefined;
10
+ } | {
11
+ type: string;
12
+ num: number;
13
+ selected: boolean;
14
+ })[];
15
+ declare type PageType = {
16
+ type: string;
17
+ num: number;
18
+ disabled?: boolean;
19
+ selected?: boolean;
20
+ };
21
+ export declare function buildComponentData(page: PageType, hrefBuilder: (n: number) => string, onClick: (e: React.MouseEvent) => void): {
22
+ props: {};
23
+ key: string;
24
+ content: string;
25
+ };
26
+ export {};
@@ -179,7 +179,7 @@ export function buildComponentData(page, hrefBuilder, onClick) {
179
179
  case 'NUM':
180
180
  {
181
181
  key = `page-${page.num}`;
182
- content = page.num;
182
+ content = String(page.num);
183
183
 
184
184
  if (page.selected) {
185
185
  Object.assign(props, {
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import { BorderBoxProps } from './BorderBox';
3
+ import { CaretProps } from './Caret';
4
+ export declare type PointerBoxProps = {
5
+ caret?: CaretProps['location'];
6
+ bg?: CaretProps['bg'];
7
+ borderColor?: CaretProps['borderColor'];
8
+ border?: CaretProps['borderWidth'];
9
+ } & BorderBoxProps;
10
+ declare function PointerBox(props: PointerBoxProps): JSX.Element;
11
+ export default PointerBox;
@@ -1,17 +1,16 @@
1
1
  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); }
2
2
 
3
3
  import React from 'react';
4
- import PropTypes from 'prop-types';
5
4
  import BorderBox from './BorderBox';
6
5
  import Caret from './Caret';
7
- import theme from './theme';
8
6
 
9
7
  function PointerBox(props) {
10
8
  // don't destructure these, just grab them
11
9
  const {
12
10
  bg,
13
11
  border,
14
- borderColor
12
+ borderColor,
13
+ theme
15
14
  } = props;
16
15
  const {
17
16
  caret,
@@ -22,7 +21,8 @@ function PointerBox(props) {
22
21
  bg,
23
22
  borderColor,
24
23
  borderWidth: border,
25
- location: caret
24
+ location: caret,
25
+ theme
26
26
  };
27
27
  return /*#__PURE__*/React.createElement(BorderBox, _extends({
28
28
  sx: {
@@ -32,11 +32,4 @@ function PointerBox(props) {
32
32
  }
33
33
 
34
34
  PointerBox.displayName = "PointerBox";
35
- PointerBox.defaultProps = {
36
- theme
37
- };
38
- PointerBox.propTypes = { ...BorderBox.propTypes,
39
- caret: Caret.propTypes.location,
40
- theme: PropTypes.object
41
- };
42
35
  export default PointerBox;
@@ -0,0 +1,20 @@
1
+ /// <reference types="hoist-non-react-statics" />
2
+ import { SxProp } from './sx';
3
+ import { ComponentProps } from './utils/types';
4
+ declare type CaretPosition = 'top' | 'bottom' | 'left' | 'right' | 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right' | 'left-bottom' | 'left-top' | 'right-bottom' | 'right-top';
5
+ declare const Popover: import("styled-components").StyledComponent<"div", any, {
6
+ caret?: CaretPosition | undefined;
7
+ relative?: boolean | undefined;
8
+ open?: boolean | undefined;
9
+ } & SxProp, never>;
10
+ declare const PopoverContent: import("styled-components").StyledComponent<"div", any, SxProp, never>;
11
+ export declare type PopoverProps = ComponentProps<typeof Popover>;
12
+ export declare type PopoverContentProps = ComponentProps<typeof PopoverContent>;
13
+ declare const _default: string & import("styled-components").StyledComponentBase<"div", any, {
14
+ caret?: CaretPosition | undefined;
15
+ relative?: boolean | undefined;
16
+ open?: boolean | undefined;
17
+ } & SxProp, never> & import("hoist-non-react-statics").NonReactStatics<never, {}> & {
18
+ Content: import("styled-components").StyledComponent<"div", any, SxProp, never>;
19
+ };
20
+ export default _default;
@@ -1,10 +1,7 @@
1
1
  import classnames from 'classnames';
2
- import PropTypes from 'prop-types';
3
2
  import styled from 'styled-components';
4
- import BorderBox from './BorderBox';
5
- import { COMMON, get, LAYOUT, POSITION } from './constants';
3
+ import { get } from './constants';
6
4
  import sx from './sx';
7
- import theme from './theme';
8
5
  const Popover = styled.div.attrs(({
9
6
  className,
10
7
  caret
@@ -15,32 +12,13 @@ const Popover = styled.div.attrs(({
15
12
  }).withConfig({
16
13
  displayName: "Popover",
17
14
  componentId: "sc-1nxygy2-0"
18
- })(["position:", ";z-index:100;display:", ";", ";", ";", ";", ";"], props => props.relative ? 'relative' : 'absolute', props => props.open ? 'block' : 'none', COMMON, LAYOUT, POSITION, sx);
19
- const PopoverContent = styled(BorderBox).withConfig({
15
+ })(["position:", ";z-index:100;display:", ";", ";"], props => props.relative ? 'relative' : 'absolute', props => props.open ? 'block' : 'none', sx);
16
+ const PopoverContent = styled.div.withConfig({
20
17
  displayName: "Popover__PopoverContent",
21
18
  componentId: "sc-1nxygy2-1"
22
- })(["position:relative;width:232px;margin-right:auto;margin-left:auto;padding:", ";background-color:", ";", ";", ";&::before,&::after{position:absolute;left:50%;display:inline-block;content:'';}&::before{top:-", ";margin-left:-9px;border:", " solid transparent;border-bottom-color:", ";}&::after{top:-14px;margin-left:-", ";border:7px solid transparent;border-bottom-color:", ";}", ".caret-pos--bottom &,", ".caret-pos--bottom-right &,", ".caret-pos--bottom-left &{&::before,&::after{top:auto;border-bottom-color:transparent;}&::before{bottom:-", ";border-top-color:", ";}&::after{bottom:-14px;border-top-color:", ";}}", ".caret-pos--top-right &,", ".caret-pos--bottom-right &{right:-9px;margin-right:0;&::before,&::after{left:auto;margin-left:0;}&::before{right:20px;}&::after{right:21px;}}", ".caret-pos--top-left &,", ".caret-pos--bottom-left &{left:-9px;margin-left:0;&::before,&::after{left:", ";margin-left:0;}&::after{left:calc(", " + 1px);}}", ".caret-pos--right &,", ".caret-pos--right-top &,", ".caret-pos--right-bottom &,", ".caret-pos--left &,", ".caret-pos--left-top &,", ".caret-pos--left-bottom &{&::before,&::after{top:50%;left:auto;margin-left:0;border-bottom-color:transparent;}&::before{margin-top:calc((", " + 1px) * -1);}&::after{margin-top:-", ";}}", ".caret-pos--right &,", ".caret-pos--right-top &,", ".caret-pos--right-bottom &{&::before{right:-", ";border-left-color:", ";}&::after{right:-14px;border-left-color:", ";}}", ".caret-pos--left &,", ".caret-pos--left-top &,", ".caret-pos--left-bottom &{&::before{left:-", ";border-right-color:", ";}&::after{left:-14px;border-right-color:", ";}}", ".caret-pos--right-top &,", ".caret-pos--left-top &{&::before,&::after{top:", ";}}", ".caret-pos--right-bottom &,", ".caret-pos--left-bottom &{&::before,&::after{top:auto;}&::before{bottom:", ";}&::after{bottom:calc(", " + 1px);}}", ";"], get('space.4'), get('colors.white'), COMMON, LAYOUT, get('space.3'), get('space.2'), get('popovers.colors.caret'), get('space.2'), get('colors.white'), Popover, Popover, Popover, get('space.3'), get('popovers.colors.caret'), get('colors.white'), Popover, Popover, Popover, Popover, get('space.4'), get('space.4'), Popover, Popover, Popover, Popover, Popover, Popover, get('space.2'), get('space.2'), Popover, Popover, Popover, get('space.3'), get('popovers.colors.caret'), get('colors.white'), Popover, Popover, Popover, get('space.3'), get('popovers.colors.caret'), get('colors.white'), Popover, Popover, get('space.4'), Popover, Popover, get('space.3'), get('space.3'), sx);
19
+ })(["border:1px solid ", ";border-radius:", ";position:relative;width:232px;margin-right:auto;margin-left:auto;padding:", ";background-color:", ";&::before,&::after{position:absolute;left:50%;display:inline-block;content:'';}&::before{top:-", ";margin-left:-9px;border:", " solid transparent;border-bottom-color:", ";}&::after{top:-14px;margin-left:-", ";border:7px solid transparent;border-bottom-color:", ";}", ".caret-pos--bottom &,", ".caret-pos--bottom-right &,", ".caret-pos--bottom-left &{&::before,&::after{top:auto;border-bottom-color:transparent;}&::before{bottom:-", ";border-top-color:", ";}&::after{bottom:-14px;border-top-color:", ";}}", ".caret-pos--top-right &,", ".caret-pos--bottom-right &{right:-9px;margin-right:0;&::before,&::after{left:auto;margin-left:0;}&::before{right:20px;}&::after{right:21px;}}", ".caret-pos--top-left &,", ".caret-pos--bottom-left &{left:-9px;margin-left:0;&::before,&::after{left:", ";margin-left:0;}&::after{left:calc(", " + 1px);}}", ".caret-pos--right &,", ".caret-pos--right-top &,", ".caret-pos--right-bottom &,", ".caret-pos--left &,", ".caret-pos--left-top &,", ".caret-pos--left-bottom &{&::before,&::after{top:50%;left:auto;margin-left:0;border-bottom-color:transparent;}&::before{margin-top:calc((", " + 1px) * -1);}&::after{margin-top:-", ";}}", ".caret-pos--right &,", ".caret-pos--right-top &,", ".caret-pos--right-bottom &{&::before{right:-", ";border-left-color:", ";}&::after{right:-14px;border-left-color:", ";}}", ".caret-pos--left &,", ".caret-pos--left-top &,", ".caret-pos--left-bottom &{&::before{left:-", ";border-right-color:", ";}&::after{left:-14px;border-right-color:", ";}}", ".caret-pos--right-top &,", ".caret-pos--left-top &{&::before,&::after{top:", ";}}", ".caret-pos--right-bottom &,", ".caret-pos--left-bottom &{&::before,&::after{top:auto;}&::before{bottom:", ";}&::after{bottom:calc(", " + 1px);}}", ";"], get('colors.border.default'), get('radii.2'), get('space.4'), get('colors.canvas.overlay'), get('space.3'), get('space.2'), get('colors.border.default'), get('space.2'), get('colors.canvas.overlay'), Popover, Popover, Popover, get('space.3'), get('colors.border.default'), get('colors.canvas.overlay'), Popover, Popover, Popover, Popover, get('space.4'), get('space.4'), Popover, Popover, Popover, Popover, Popover, Popover, get('space.2'), get('space.2'), Popover, Popover, Popover, get('space.3'), get('colors.border.default'), get('colors.canvas.overlay'), Popover, Popover, Popover, get('space.3'), get('colors.border.default'), get('colors.canvas.overlay'), Popover, Popover, get('space.4'), Popover, Popover, get('space.3'), get('space.3'), sx);
23
20
  Popover.defaultProps = {
24
- caret: 'top',
25
- theme
26
- };
27
- Popover.propTypes = {
28
- caret: PropTypes.any,
29
- open: PropTypes.bool,
30
- relative: PropTypes.bool,
31
- theme: PropTypes.object,
32
- ...COMMON.propTypes,
33
- ...LAYOUT.propTypes,
34
- ...POSITION.propTypes,
35
- ...sx.propTypes
36
- };
37
- PopoverContent.defaultProps = {
38
- theme
39
- };
40
- PopoverContent.propTypes = {
41
- theme: PropTypes.object,
42
- ...BorderBox.propTypes,
43
- ...sx.propTypes
21
+ caret: 'top'
44
22
  };
45
23
  PopoverContent.displayName = 'Popover.Content';
46
24
  export default Object.assign(Popover, {
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ /**
3
+ * Register a container to serve as a portal root.
4
+ * @param root The element that will be the root for portals created in this container
5
+ * @param name The name of the container, to be used with the `containerName` prop on the Portal Component.
6
+ * If name is not specified, registers the default portal root.
7
+ */
8
+ export declare function registerPortalRoot(root: Element, name?: string): void;
9
+ export interface PortalProps {
10
+ /**
11
+ * Called when this portal is added to the DOM
12
+ */
13
+ onMount?: () => void;
14
+ /**
15
+ * Optional. Mount this portal at the container specified
16
+ * by this name. The container must be previously registered
17
+ * with `registerPortal`.
18
+ */
19
+ containerName?: string;
20
+ }
21
+ /**
22
+ * Creates a React Portal, placing all children in a separate physical DOM root node.
23
+ * @see https://reactjs.org/docs/portals.html
24
+ */
25
+ export declare const Portal: React.FC<PortalProps>;
@@ -0,0 +1,83 @@
1
+ import React from 'react';
2
+ import { createPortal } from 'react-dom';
3
+ import useLayoutEffect from '../utils/useIsomorphicLayoutEffect';
4
+ const PRIMER_PORTAL_ROOT_ID = '__primerPortalRoot__';
5
+ const DEFAULT_PORTAL_CONTAINER_NAME = '__default__';
6
+ const portalRootRegistry = {};
7
+ /**
8
+ * Register a container to serve as a portal root.
9
+ * @param root The element that will be the root for portals created in this container
10
+ * @param name The name of the container, to be used with the `containerName` prop on the Portal Component.
11
+ * If name is not specified, registers the default portal root.
12
+ */
13
+
14
+ export function registerPortalRoot(root, name = DEFAULT_PORTAL_CONTAINER_NAME) {
15
+ portalRootRegistry[name] = root;
16
+ } // Ensures that a default portal root exists and is registered. If a DOM element exists
17
+ // with id __primerPortalRoot__, allow that element to serve as the default portal root.
18
+ // Otherwise, create that element and attach it to the end of document.body.
19
+
20
+ function ensureDefaultPortal() {
21
+ const existingDefaultPortalContainer = portalRootRegistry[DEFAULT_PORTAL_CONTAINER_NAME];
22
+
23
+ if (!existingDefaultPortalContainer || !document.body.contains(existingDefaultPortalContainer)) {
24
+ let defaultPortalContainer = document.getElementById(PRIMER_PORTAL_ROOT_ID);
25
+
26
+ if (!(defaultPortalContainer instanceof Element)) {
27
+ defaultPortalContainer = document.createElement('div');
28
+ defaultPortalContainer.setAttribute('id', PRIMER_PORTAL_ROOT_ID);
29
+ defaultPortalContainer.style.position = 'absolute';
30
+ defaultPortalContainer.style.top = '0';
31
+ defaultPortalContainer.style.left = '0';
32
+ const suitablePortalRoot = document.querySelector('[data-portal-root]');
33
+
34
+ if (suitablePortalRoot) {
35
+ suitablePortalRoot.appendChild(defaultPortalContainer);
36
+ } else {
37
+ document.body.appendChild(defaultPortalContainer);
38
+ }
39
+ }
40
+
41
+ registerPortalRoot(defaultPortalContainer);
42
+ }
43
+ }
44
+
45
+ /**
46
+ * Creates a React Portal, placing all children in a separate physical DOM root node.
47
+ * @see https://reactjs.org/docs/portals.html
48
+ */
49
+ export const Portal = ({
50
+ children,
51
+ onMount,
52
+ containerName: _containerName
53
+ }) => {
54
+ const hostElement = document.createElement('div'); // Portaled content should get their own stacking context so they don't interfere
55
+ // with each other in unexpected ways. One should never find themselves tempted
56
+ // to change the zIndex to a value other than "1".
57
+
58
+ hostElement.style.position = 'relative';
59
+ hostElement.style.zIndex = '1';
60
+ const elementRef = React.useRef(hostElement);
61
+ useLayoutEffect(() => {
62
+ let containerName = _containerName;
63
+
64
+ if (containerName === undefined) {
65
+ containerName = DEFAULT_PORTAL_CONTAINER_NAME;
66
+ ensureDefaultPortal();
67
+ }
68
+
69
+ const parentElement = portalRootRegistry[containerName];
70
+
71
+ if (!parentElement) {
72
+ throw new Error(`Portal container '${_containerName}' is not yet registered. Container must be registered with registerPortal before use.`);
73
+ }
74
+
75
+ const element = elementRef.current;
76
+ parentElement.appendChild(element);
77
+ onMount === null || onMount === void 0 ? void 0 : onMount();
78
+ return () => {
79
+ parentElement.removeChild(element);
80
+ }; // eslint-disable-next-line react-hooks/exhaustive-deps
81
+ }, [elementRef]);
82
+ return /*#__PURE__*/createPortal(children, elementRef.current);
83
+ };
@@ -0,0 +1,4 @@
1
+ import { Portal, PortalProps, registerPortalRoot } from './Portal';
2
+ export default Portal;
3
+ export { registerPortalRoot };
4
+ export type { PortalProps };
@@ -0,0 +1,3 @@
1
+ import { Portal, registerPortalRoot } from './Portal';
2
+ export default Portal;
3
+ export { registerPortalRoot };