@primer/components 0.0.0-20219835928 → 0.0.0-2022530195733

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 (600) hide show
  1. package/CHANGELOG.md +105 -492
  2. package/README.md +16 -16
  3. package/codemods/lib/modifyProps.js +7 -9
  4. package/codemods/lib/prettify.js +1 -1
  5. package/codemods/lib/replaceImportSource.js +5 -5
  6. package/dist/browser.esm.js +889 -1279
  7. package/dist/browser.esm.js.map +1 -1
  8. package/dist/browser.umd.js +839 -1234
  9. package/dist/browser.umd.js.map +1 -1
  10. package/index.d.ts +940 -0
  11. package/lib/AvatarPair.js +5 -6
  12. package/lib/AvatarStack.js +10 -10
  13. package/lib/BaseStyles.js +19 -18
  14. package/lib/BorderBox.js +5 -4
  15. package/lib/Box.js +2 -2
  16. package/lib/BranchName.js +1 -1
  17. package/lib/{Breadcrumbs.js → Breadcrumb.js} +23 -33
  18. package/lib/Button/Button.js +3 -3
  19. package/lib/Button/ButtonClose.js +4 -4
  20. package/lib/Button/ButtonDanger.js +2 -2
  21. package/lib/Button/ButtonInvisible.js +3 -3
  22. package/lib/Button/ButtonOutline.js +2 -2
  23. package/lib/Button/ButtonPrimary.js +2 -2
  24. package/lib/Button/ButtonTableList.js +1 -1
  25. package/lib/CircleBadge.js +1 -1
  26. package/lib/CircleOcticon.js +7 -9
  27. package/lib/CounterLabel.js +2 -2
  28. package/lib/Dialog.js +14 -13
  29. package/lib/Dropdown.js +2 -2
  30. package/lib/DropdownStyles.js +6 -6
  31. package/lib/FilterList.js +1 -1
  32. package/lib/Flash.js +1 -1
  33. package/lib/Flex.js +0 -3
  34. package/lib/Grid.js +3 -4
  35. package/lib/Header.js +2 -3
  36. package/lib/Label.js +4 -4
  37. package/lib/Link.js +12 -1
  38. package/lib/Overlay.js +36 -126
  39. package/lib/Pagehead.js +1 -1
  40. package/lib/Pagination/Pagination.js +2 -3
  41. package/lib/Popover.js +3 -3
  42. package/lib/Portal/Portal.js +12 -20
  43. package/lib/Position.js +27 -46
  44. package/lib/ProgressBar.js +1 -1
  45. package/lib/SelectMenu/SelectMenu.js +4 -4
  46. package/lib/SelectMenu/SelectMenuContext.js +1 -1
  47. package/lib/SelectMenu/SelectMenuDivider.js +3 -3
  48. package/lib/SelectMenu/SelectMenuFilter.js +6 -6
  49. package/lib/SelectMenu/SelectMenuFooter.js +3 -3
  50. package/lib/SelectMenu/SelectMenuHeader.js +2 -2
  51. package/lib/SelectMenu/SelectMenuItem.js +4 -4
  52. package/lib/SelectMenu/SelectMenuList.js +3 -3
  53. package/lib/SelectMenu/SelectMenuLoadingAnimation.js +15 -4
  54. package/lib/SelectMenu/SelectMenuModal.js +7 -7
  55. package/lib/SelectMenu/SelectMenuTab.js +3 -3
  56. package/lib/SelectMenu/SelectMenuTabPanel.js +3 -3
  57. package/lib/SelectMenu/SelectMenuTabs.js +2 -2
  58. package/lib/SelectMenu/hooks/useKeyboardNav.js +0 -2
  59. package/lib/SideNav.js +12 -20
  60. package/lib/StateLabel.js +4 -4
  61. package/lib/SubNav.js +3 -5
  62. package/lib/TabNav.js +3 -3
  63. package/lib/TextInput.js +59 -22
  64. package/lib/ThemeProvider.js +15 -32
  65. package/lib/Timeline.js +29 -24
  66. package/lib/Tooltip.js +1 -2
  67. package/lib/UnderlineNav.js +2 -2
  68. package/lib/behaviors/anchoredPosition.js +9 -17
  69. package/lib/behaviors/focusTrap.js +14 -32
  70. package/lib/behaviors/focusZone.js +148 -218
  71. package/lib/constants.js +2 -3
  72. package/lib/hooks/index.js +1 -9
  73. package/lib/hooks/useAnchoredPosition.js +4 -11
  74. package/lib/hooks/useDialog.js +1 -1
  75. package/lib/hooks/useFocusTrap.js +8 -26
  76. package/lib/hooks/useFocusZone.js +7 -7
  77. package/lib/hooks/useMouseIntent.js +58 -0
  78. package/lib/hooks/useOnEscapePress.js +10 -53
  79. package/lib/hooks/useOnOutsideClick.js +35 -62
  80. package/lib/hooks/useOpenAndCloseFocus.js +3 -8
  81. package/lib/hooks/useOverlay.js +19 -9
  82. package/lib/hooks/useSafeTimeout.js +0 -1
  83. package/lib/index.js +12 -112
  84. package/lib/polyfills/eventListenerSignal.js +1 -6
  85. package/lib/stories/Button.stories.js +114 -0
  86. package/lib/stories/Overlay.stories.js +102 -0
  87. package/lib/stories/Portal.stories.js +108 -0
  88. package/lib/stories/ThemeProvider.stories.js +95 -0
  89. package/lib/stories/useAnchoredPosition.stories.js +349 -0
  90. package/lib/stories/useFocusTrap.stories.js +278 -0
  91. package/lib/stories/useFocusZone.stories.js +490 -0
  92. package/lib/theme-preval.js +2057 -5148
  93. package/lib/utils/deprecate.js +2 -3
  94. package/lib/utils/isNumeric.js +0 -1
  95. package/lib/utils/iterateFocusableElements.js +1 -1
  96. package/lib/utils/test-deprecations.js +0 -1
  97. package/lib/utils/test-matchers.js +12 -3
  98. package/lib/utils/testing.js +4 -4
  99. package/lib/utils/theme.js +1 -1
  100. package/lib/utils/{types/AriaRole.js → types.js} +0 -0
  101. package/lib/utils/uniqueId.js +0 -1
  102. package/lib-esm/AvatarPair.js +5 -6
  103. package/lib-esm/AvatarStack.js +11 -11
  104. package/lib-esm/BaseStyles.js +16 -16
  105. package/lib-esm/BorderBox.js +3 -5
  106. package/lib-esm/Box.js +2 -2
  107. package/lib-esm/BranchName.js +1 -1
  108. package/lib-esm/{Breadcrumbs.js → Breadcrumb.js} +22 -32
  109. package/lib-esm/Button/Button.js +1 -1
  110. package/lib-esm/Button/ButtonClose.js +2 -2
  111. package/lib-esm/Button/ButtonInvisible.js +1 -1
  112. package/lib-esm/Button/ButtonTableList.js +1 -1
  113. package/lib-esm/CircleBadge.js +1 -1
  114. package/lib-esm/CircleOcticon.js +6 -9
  115. package/lib-esm/CounterLabel.js +2 -2
  116. package/lib-esm/Dialog.js +12 -10
  117. package/lib-esm/Dropdown.js +2 -2
  118. package/lib-esm/DropdownStyles.js +6 -6
  119. package/lib-esm/FilterList.js +1 -1
  120. package/lib-esm/Flash.js +1 -1
  121. package/lib-esm/Flex.js +0 -4
  122. package/lib-esm/Grid.js +2 -5
  123. package/lib-esm/Header.js +0 -1
  124. package/lib-esm/Label.js +2 -2
  125. package/lib-esm/Link.js +12 -1
  126. package/lib-esm/Overlay.js +38 -119
  127. package/lib-esm/Pagehead.js +1 -1
  128. package/lib-esm/Pagination/Pagination.js +2 -3
  129. package/lib-esm/Popover.js +3 -3
  130. package/lib-esm/Portal/Portal.js +12 -19
  131. package/lib-esm/Portal/index.js +1 -1
  132. package/lib-esm/Position.js +20 -45
  133. package/lib-esm/ProgressBar.js +1 -1
  134. package/lib-esm/SelectMenu/SelectMenu.js +3 -3
  135. package/lib-esm/SelectMenu/SelectMenuContext.js +1 -1
  136. package/lib-esm/SelectMenu/SelectMenuDivider.js +1 -1
  137. package/lib-esm/SelectMenu/SelectMenuFilter.js +4 -4
  138. package/lib-esm/SelectMenu/SelectMenuFooter.js +1 -1
  139. package/lib-esm/SelectMenu/SelectMenuHeader.js +2 -2
  140. package/lib-esm/SelectMenu/SelectMenuItem.js +2 -2
  141. package/lib-esm/SelectMenu/SelectMenuList.js +1 -1
  142. package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.js +10 -5
  143. package/lib-esm/SelectMenu/SelectMenuModal.js +5 -5
  144. package/lib-esm/SelectMenu/SelectMenuTab.js +1 -1
  145. package/lib-esm/SelectMenu/SelectMenuTabPanel.js +1 -1
  146. package/lib-esm/SelectMenu/hooks/useKeyboardNav.js +0 -2
  147. package/lib-esm/SideNav.js +7 -16
  148. package/lib-esm/StateLabel.js +4 -4
  149. package/lib-esm/SubNav.js +4 -7
  150. package/lib-esm/TabNav.js +4 -5
  151. package/lib-esm/TextInput.js +49 -22
  152. package/lib-esm/ThemeProvider.js +16 -31
  153. package/lib-esm/Timeline.js +24 -19
  154. package/lib-esm/Tooltip.js +1 -2
  155. package/lib-esm/UnderlineNav.js +3 -4
  156. package/lib-esm/behaviors/anchoredPosition.js +9 -17
  157. package/lib-esm/behaviors/focusTrap.js +14 -32
  158. package/lib-esm/behaviors/focusZone.js +148 -213
  159. package/lib-esm/constants.js +1 -2
  160. package/lib-esm/hooks/index.js +1 -2
  161. package/lib-esm/hooks/useAnchoredPosition.js +5 -10
  162. package/lib-esm/hooks/useDialog.js +1 -1
  163. package/lib-esm/hooks/useFocusTrap.js +8 -25
  164. package/lib-esm/hooks/useFocusZone.js +5 -5
  165. package/lib-esm/hooks/useMouseIntent.js +50 -0
  166. package/lib-esm/hooks/useOnEscapePress.js +10 -53
  167. package/lib-esm/hooks/useOnOutsideClick.js +37 -62
  168. package/lib-esm/hooks/useOpenAndCloseFocus.js +3 -8
  169. package/lib-esm/hooks/useOverlay.js +18 -9
  170. package/lib-esm/hooks/useSafeTimeout.js +0 -1
  171. package/lib-esm/index.js +10 -22
  172. package/lib-esm/polyfills/eventListenerSignal.js +1 -6
  173. package/lib-esm/stories/Button.stories.js +79 -0
  174. package/lib-esm/stories/Overlay.stories.js +80 -0
  175. package/lib-esm/stories/Portal.stories.js +72 -0
  176. package/lib-esm/stories/ThemeProvider.stories.js +76 -0
  177. package/lib-esm/stories/useAnchoredPosition.stories.js +311 -0
  178. package/lib-esm/stories/useFocusTrap.stories.js +234 -0
  179. package/lib-esm/stories/useFocusZone.stories.js +445 -0
  180. package/lib-esm/theme-preval.js +2057 -5148
  181. package/lib-esm/utils/deprecate.js +2 -3
  182. package/lib-esm/utils/isNumeric.js +0 -1
  183. package/lib-esm/utils/iterateFocusableElements.js +1 -1
  184. package/lib-esm/utils/test-deprecations.js +1 -1
  185. package/lib-esm/utils/test-matchers.js +11 -3
  186. package/lib-esm/utils/testing.js +6 -6
  187. package/lib-esm/utils/theme.js +1 -1
  188. package/lib-esm/utils/{test-helpers.d.ts → types.js} +0 -0
  189. package/lib-esm/utils/uniqueId.js +0 -1
  190. package/package.json +95 -103
  191. package/codemods/__tests__/deprecateUtilityComponents.js +0 -200
  192. package/codemods/__tests__/removeSystemProps.js +0 -225
  193. package/codemods/deprecateUtilityComponents.js +0 -111
  194. package/codemods/removeSystemProps.js +0 -312
  195. package/lib/ActionList/Divider.d.ts +0 -9
  196. package/lib/ActionList/Divider.js +0 -40
  197. package/lib/ActionList/Group.d.ts +0 -28
  198. package/lib/ActionList/Group.js +0 -35
  199. package/lib/ActionList/Header.d.ts +0 -29
  200. package/lib/ActionList/Header.js +0 -51
  201. package/lib/ActionList/Item.d.ts +0 -92
  202. package/lib/ActionList/Item.js +0 -288
  203. package/lib/ActionList/List.d.ts +0 -88
  204. package/lib/ActionList/List.js +0 -199
  205. package/lib/ActionList/index.d.ts +0 -17
  206. package/lib/ActionList/index.js +0 -29
  207. package/lib/ActionMenu.d.ts +0 -40
  208. package/lib/ActionMenu.js +0 -103
  209. package/lib/AnchoredOverlay/AnchoredOverlay.d.ts +0 -62
  210. package/lib/AnchoredOverlay/AnchoredOverlay.js +0 -124
  211. package/lib/AnchoredOverlay/index.d.ts +0 -2
  212. package/lib/AnchoredOverlay/index.js +0 -13
  213. package/lib/Autocomplete/Autocomplete.d.ts +0 -40
  214. package/lib/Autocomplete/Autocomplete.js +0 -68
  215. package/lib/Autocomplete/AutocompleteContext.d.ts +0 -17
  216. package/lib/Autocomplete/AutocompleteContext.js +0 -11
  217. package/lib/Autocomplete/AutocompleteInput.d.ts +0 -9
  218. package/lib/Autocomplete/AutocompleteInput.js +0 -150
  219. package/lib/Autocomplete/AutocompleteMenu.d.ts +0 -71
  220. package/lib/Autocomplete/AutocompleteMenu.js +0 -223
  221. package/lib/Autocomplete/AutocompleteOverlay.d.ts +0 -17
  222. package/lib/Autocomplete/AutocompleteOverlay.js +0 -69
  223. package/lib/Autocomplete/index.d.ts +0 -2
  224. package/lib/Autocomplete/index.js +0 -15
  225. package/lib/Avatar.d.ts +0 -15
  226. package/lib/AvatarPair.d.ts +0 -8
  227. package/lib/AvatarStack.d.ts +0 -8
  228. package/lib/BaseStyles.d.ts +0 -14
  229. package/lib/BorderBox.d.ts +0 -7
  230. package/lib/Box.d.ts +0 -6
  231. package/lib/BranchName.d.ts +0 -6
  232. package/lib/Breadcrumbs.d.ts +0 -40
  233. package/lib/Button/Button.d.ts +0 -284
  234. package/lib/Button/ButtonBase.d.ts +0 -12
  235. package/lib/Button/ButtonClose.d.ts +0 -321
  236. package/lib/Button/ButtonDanger.d.ts +0 -284
  237. package/lib/Button/ButtonGroup.d.ts +0 -4
  238. package/lib/Button/ButtonInvisible.d.ts +0 -284
  239. package/lib/Button/ButtonOutline.d.ts +0 -284
  240. package/lib/Button/ButtonPrimary.d.ts +0 -284
  241. package/lib/Button/ButtonStyles.d.ts +0 -2
  242. package/lib/Button/ButtonTableList.d.ts +0 -6
  243. package/lib/Button/index.d.ts +0 -16
  244. package/lib/Caret.d.ts +0 -21
  245. package/lib/CircleBadge.d.ts +0 -25
  246. package/lib/CircleOcticon.d.ts +0 -391
  247. package/lib/CounterLabel.d.ts +0 -8
  248. package/lib/Details.d.ts +0 -6
  249. package/lib/Dialog/ConfirmationDialog.d.ts +0 -44
  250. package/lib/Dialog/ConfirmationDialog.js +0 -191
  251. package/lib/Dialog/Dialog.d.ts +0 -167
  252. package/lib/Dialog/Dialog.js +0 -304
  253. package/lib/Dialog.d.ts +0 -406
  254. package/lib/Dropdown.d.ts +0 -1262
  255. package/lib/DropdownMenu/DropdownButton.d.ts +0 -323
  256. package/lib/DropdownMenu/DropdownButton.js +0 -31
  257. package/lib/DropdownMenu/DropdownMenu.d.ts +0 -43
  258. package/lib/DropdownMenu/DropdownMenu.js +0 -94
  259. package/lib/DropdownMenu/index.d.ts +0 -4
  260. package/lib/DropdownMenu/index.js +0 -21
  261. package/lib/DropdownStyles.d.ts +0 -3
  262. package/lib/FilterList.d.ts +0 -321
  263. package/lib/FilteredActionList/FilteredActionList.d.ts +0 -16
  264. package/lib/FilteredActionList/FilteredActionList.js +0 -137
  265. package/lib/FilteredActionList/index.d.ts +0 -2
  266. package/lib/FilteredActionList/index.js +0 -13
  267. package/lib/FilteredSearch.d.ts +0 -6
  268. package/lib/Flash.d.ts +0 -9
  269. package/lib/Flex.d.ts +0 -7
  270. package/lib/FormGroup.d.ts +0 -12
  271. package/lib/Grid.d.ts +0 -7
  272. package/lib/Header.d.ts +0 -24
  273. package/lib/Heading.d.ts +0 -6
  274. package/lib/Label.d.ts +0 -11
  275. package/lib/LabelGroup.d.ts +0 -6
  276. package/lib/Link.d.ts +0 -10
  277. package/lib/Overlay.d.ts +0 -63
  278. package/lib/Pagehead.d.ts +0 -6
  279. package/lib/Pagination/Pagination.d.ts +0 -24
  280. package/lib/Pagination/index.d.ts +0 -3
  281. package/lib/Pagination/model.d.ts +0 -26
  282. package/lib/PointerBox.d.ts +0 -11
  283. package/lib/Popover.d.ts +0 -21
  284. package/lib/Portal/Portal.d.ts +0 -25
  285. package/lib/Portal/index.d.ts +0 -4
  286. package/lib/Position.d.ts +0 -34
  287. package/lib/ProgressBar.d.ts +0 -21
  288. package/lib/SelectMenu/SelectMenu.d.ts +0 -1832
  289. package/lib/SelectMenu/SelectMenuContext.d.ts +0 -8
  290. package/lib/SelectMenu/SelectMenuDivider.d.ts +0 -6
  291. package/lib/SelectMenu/SelectMenuFilter.d.ts +0 -9
  292. package/lib/SelectMenu/SelectMenuFooter.d.ts +0 -6
  293. package/lib/SelectMenu/SelectMenuHeader.d.ts +0 -11
  294. package/lib/SelectMenu/SelectMenuItem.d.ts +0 -15
  295. package/lib/SelectMenu/SelectMenuList.d.ts +0 -6
  296. package/lib/SelectMenu/SelectMenuLoadingAnimation.d.ts +0 -7
  297. package/lib/SelectMenu/SelectMenuModal.d.ts +0 -15
  298. package/lib/SelectMenu/SelectMenuTab.d.ts +0 -14
  299. package/lib/SelectMenu/SelectMenuTabPanel.d.ts +0 -13
  300. package/lib/SelectMenu/SelectMenuTabs.d.ts +0 -11
  301. package/lib/SelectMenu/hooks/useKeyboardNav.d.ts +0 -2
  302. package/lib/SelectMenu/index.d.ts +0 -2
  303. package/lib/SelectPanel/SelectPanel.d.ts +0 -25
  304. package/lib/SelectPanel/SelectPanel.js +0 -147
  305. package/lib/SelectPanel/index.d.ts +0 -2
  306. package/lib/SelectPanel/index.js +0 -13
  307. package/lib/SideNav.d.ts +0 -31
  308. package/lib/Spinner.d.ts +0 -17
  309. package/lib/Spinner.js +0 -60
  310. package/lib/StateLabel.d.ts +0 -16
  311. package/lib/StyledOcticon.d.ts +0 -12
  312. package/lib/SubNav.d.ts +0 -32
  313. package/lib/TabNav.d.ts +0 -20
  314. package/lib/Text.d.ts +0 -6
  315. package/lib/TextInput.d.ts +0 -14
  316. package/lib/TextInputWithTokens.d.ts +0 -323
  317. package/lib/TextInputWithTokens.js +0 -244
  318. package/lib/ThemeProvider.d.ts +0 -26
  319. package/lib/Timeline.d.ts +0 -407
  320. package/lib/Token/IssueLabelToken.d.ts +0 -14
  321. package/lib/Token/IssueLabelToken.js +0 -144
  322. package/lib/Token/ProfileToken.d.ts +0 -7
  323. package/lib/Token/ProfileToken.js +0 -53
  324. package/lib/Token/Token.d.ts +0 -15
  325. package/lib/Token/Token.js +0 -94
  326. package/lib/Token/TokenBase.d.ts +0 -17
  327. package/lib/Token/TokenBase.js +0 -108
  328. package/lib/Token/_RemoveTokenButton.d.ts +0 -12
  329. package/lib/Token/_RemoveTokenButton.js +0 -77
  330. package/lib/Token/_TokenTextContainer.d.ts +0 -3
  331. package/lib/Token/_TokenTextContainer.js +0 -28
  332. package/lib/Token/index.d.ts +0 -3
  333. package/lib/Token/index.js +0 -31
  334. package/lib/Tooltip.d.ts +0 -18
  335. package/lib/Truncate.d.ts +0 -11
  336. package/lib/UnderlineNav.d.ts +0 -25
  337. package/lib/_TextInputWrapper.d.ts +0 -10
  338. package/lib/_TextInputWrapper.js +0 -51
  339. package/lib/_UnstyledTextInput.d.ts +0 -2
  340. package/lib/_UnstyledTextInput.js +0 -20
  341. package/lib/behaviors/anchoredPosition.d.ts +0 -89
  342. package/lib/behaviors/focusTrap.d.ts +0 -12
  343. package/lib/behaviors/focusZone.d.ts +0 -137
  344. package/lib/constants.d.ts +0 -20
  345. package/lib/hooks/index.d.ts +0 -11
  346. package/lib/hooks/useAnchoredPosition.d.ts +0 -20
  347. package/lib/hooks/useCombinedRefs.d.ts +0 -10
  348. package/lib/hooks/useCombinedRefs.js +0 -49
  349. package/lib/hooks/useDetails.d.ts +0 -17
  350. package/lib/hooks/useDialog.d.ts +0 -16
  351. package/lib/hooks/useFocusTrap.d.ts +0 -32
  352. package/lib/hooks/useFocusZone.d.ts +0 -23
  353. package/lib/hooks/useOnEscapePress.d.ts +0 -23
  354. package/lib/hooks/useOnOutsideClick.d.ts +0 -8
  355. package/lib/hooks/useOpenAndCloseFocus.d.ts +0 -8
  356. package/lib/hooks/useOverlay.d.ts +0 -15
  357. package/lib/hooks/useProvidedRefOrCreate.d.ts +0 -10
  358. package/lib/hooks/useProvidedStateOrCreate.d.ts +0 -10
  359. package/lib/hooks/useProvidedStateOrCreate.js +0 -27
  360. package/lib/hooks/useRenderForcingRef.d.ts +0 -8
  361. package/lib/hooks/useRenderForcingRef.js +0 -25
  362. package/lib/hooks/useResizeObserver.d.ts +0 -1
  363. package/lib/hooks/useResizeObserver.js +0 -20
  364. package/lib/hooks/useSafeTimeout.d.ts +0 -12
  365. package/lib/hooks/useScrollFlash.d.ts +0 -6
  366. package/lib/hooks/useScrollFlash.js +0 -29
  367. package/lib/index.d.ts +0 -114
  368. package/lib/polyfills/eventListenerSignal.d.ts +0 -6
  369. package/lib/sx.d.ts +0 -6
  370. package/lib/theme-preval.d.ts +0 -49
  371. package/lib/theme.d.ts +0 -2
  372. package/lib/utils/deprecate.d.ts +0 -18
  373. package/lib/utils/isNumeric.d.ts +0 -1
  374. package/lib/utils/iterateFocusableElements.d.ts +0 -42
  375. package/lib/utils/scrollIntoViewingArea.d.ts +0 -1
  376. package/lib/utils/scrollIntoViewingArea.js +0 -39
  377. package/lib/utils/ssr.d.ts +0 -1
  378. package/lib/utils/ssr.js +0 -19
  379. package/lib/utils/test-deprecations.d.ts +0 -1
  380. package/lib/utils/test-helpers.d.ts +0 -0
  381. package/lib/utils/test-helpers.js +0 -9
  382. package/lib/utils/test-matchers.d.ts +0 -1
  383. package/lib/utils/testing.d.ts +0 -1028
  384. package/lib/utils/theme.d.ts +0 -9
  385. package/lib/utils/types/AriaRole.d.ts +0 -1
  386. package/lib/utils/types/ComponentProps.d.ts +0 -9
  387. package/lib/utils/types/ComponentProps.js +0 -1
  388. package/lib/utils/types/Flatten.d.ts +0 -4
  389. package/lib/utils/types/Flatten.js +0 -1
  390. package/lib/utils/types/MandateProps.d.ts +0 -3
  391. package/lib/utils/types/MandateProps.js +0 -1
  392. package/lib/utils/types/Merge.d.ts +0 -19
  393. package/lib/utils/types/Merge.js +0 -1
  394. package/lib/utils/types/index.d.ts +0 -5
  395. package/lib/utils/types/index.js +0 -70
  396. package/lib/utils/uniqueId.d.ts +0 -1
  397. package/lib/utils/userAgent.d.ts +0 -1
  398. package/lib-esm/ActionList/Divider.d.ts +0 -9
  399. package/lib-esm/ActionList/Divider.js +0 -23
  400. package/lib-esm/ActionList/Group.d.ts +0 -28
  401. package/lib-esm/ActionList/Group.js +0 -24
  402. package/lib-esm/ActionList/Header.d.ts +0 -29
  403. package/lib-esm/ActionList/Header.js +0 -33
  404. package/lib-esm/ActionList/Item.d.ts +0 -92
  405. package/lib-esm/ActionList/Item.js +0 -253
  406. package/lib-esm/ActionList/List.d.ts +0 -88
  407. package/lib-esm/ActionList/List.js +0 -181
  408. package/lib-esm/ActionList/index.d.ts +0 -17
  409. package/lib-esm/ActionList/index.js +0 -18
  410. package/lib-esm/ActionMenu.d.ts +0 -40
  411. package/lib-esm/ActionMenu.js +0 -82
  412. package/lib-esm/AnchoredOverlay/AnchoredOverlay.d.ts +0 -62
  413. package/lib-esm/AnchoredOverlay/AnchoredOverlay.js +0 -104
  414. package/lib-esm/AnchoredOverlay/index.d.ts +0 -2
  415. package/lib-esm/AnchoredOverlay/index.js +0 -1
  416. package/lib-esm/Autocomplete/Autocomplete.d.ts +0 -40
  417. package/lib-esm/Autocomplete/Autocomplete.js +0 -47
  418. package/lib-esm/Autocomplete/AutocompleteContext.d.ts +0 -17
  419. package/lib-esm/Autocomplete/AutocompleteContext.js +0 -2
  420. package/lib-esm/Autocomplete/AutocompleteInput.d.ts +0 -9
  421. package/lib-esm/Autocomplete/AutocompleteInput.js +0 -131
  422. package/lib-esm/Autocomplete/AutocompleteMenu.d.ts +0 -71
  423. package/lib-esm/Autocomplete/AutocompleteMenu.js +0 -204
  424. package/lib-esm/Autocomplete/AutocompleteOverlay.d.ts +0 -17
  425. package/lib-esm/Autocomplete/AutocompleteOverlay.js +0 -51
  426. package/lib-esm/Autocomplete/index.d.ts +0 -2
  427. package/lib-esm/Autocomplete/index.js +0 -1
  428. package/lib-esm/Avatar.d.ts +0 -15
  429. package/lib-esm/AvatarPair.d.ts +0 -8
  430. package/lib-esm/AvatarStack.d.ts +0 -8
  431. package/lib-esm/BaseStyles.d.ts +0 -14
  432. package/lib-esm/BorderBox.d.ts +0 -7
  433. package/lib-esm/Box.d.ts +0 -6
  434. package/lib-esm/BranchName.d.ts +0 -6
  435. package/lib-esm/Breadcrumbs.d.ts +0 -40
  436. package/lib-esm/Button/Button.d.ts +0 -284
  437. package/lib-esm/Button/ButtonBase.d.ts +0 -12
  438. package/lib-esm/Button/ButtonClose.d.ts +0 -321
  439. package/lib-esm/Button/ButtonDanger.d.ts +0 -284
  440. package/lib-esm/Button/ButtonGroup.d.ts +0 -4
  441. package/lib-esm/Button/ButtonInvisible.d.ts +0 -284
  442. package/lib-esm/Button/ButtonOutline.d.ts +0 -284
  443. package/lib-esm/Button/ButtonPrimary.d.ts +0 -284
  444. package/lib-esm/Button/ButtonStyles.d.ts +0 -2
  445. package/lib-esm/Button/ButtonTableList.d.ts +0 -6
  446. package/lib-esm/Button/index.d.ts +0 -16
  447. package/lib-esm/Caret.d.ts +0 -21
  448. package/lib-esm/CircleBadge.d.ts +0 -25
  449. package/lib-esm/CircleOcticon.d.ts +0 -391
  450. package/lib-esm/CounterLabel.d.ts +0 -8
  451. package/lib-esm/Details.d.ts +0 -6
  452. package/lib-esm/Dialog/ConfirmationDialog.d.ts +0 -44
  453. package/lib-esm/Dialog/ConfirmationDialog.js +0 -169
  454. package/lib-esm/Dialog/Dialog.d.ts +0 -167
  455. package/lib-esm/Dialog/Dialog.js +0 -274
  456. package/lib-esm/Dialog.d.ts +0 -406
  457. package/lib-esm/Dropdown.d.ts +0 -1262
  458. package/lib-esm/DropdownMenu/DropdownButton.d.ts +0 -323
  459. package/lib-esm/DropdownMenu/DropdownButton.js +0 -16
  460. package/lib-esm/DropdownMenu/DropdownMenu.d.ts +0 -43
  461. package/lib-esm/DropdownMenu/DropdownMenu.js +0 -77
  462. package/lib-esm/DropdownMenu/index.d.ts +0 -4
  463. package/lib-esm/DropdownMenu/index.js +0 -2
  464. package/lib-esm/DropdownStyles.d.ts +0 -3
  465. package/lib-esm/FilterList.d.ts +0 -321
  466. package/lib-esm/FilteredActionList/FilteredActionList.d.ts +0 -16
  467. package/lib-esm/FilteredActionList/FilteredActionList.js +0 -109
  468. package/lib-esm/FilteredActionList/index.d.ts +0 -2
  469. package/lib-esm/FilteredActionList/index.js +0 -1
  470. package/lib-esm/FilteredSearch.d.ts +0 -6
  471. package/lib-esm/Flash.d.ts +0 -9
  472. package/lib-esm/Flex.d.ts +0 -7
  473. package/lib-esm/FormGroup.d.ts +0 -12
  474. package/lib-esm/Grid.d.ts +0 -7
  475. package/lib-esm/Header.d.ts +0 -24
  476. package/lib-esm/Heading.d.ts +0 -6
  477. package/lib-esm/Label.d.ts +0 -11
  478. package/lib-esm/LabelGroup.d.ts +0 -6
  479. package/lib-esm/Link.d.ts +0 -10
  480. package/lib-esm/Overlay.d.ts +0 -63
  481. package/lib-esm/Pagehead.d.ts +0 -6
  482. package/lib-esm/Pagination/Pagination.d.ts +0 -24
  483. package/lib-esm/Pagination/index.d.ts +0 -3
  484. package/lib-esm/Pagination/model.d.ts +0 -26
  485. package/lib-esm/PointerBox.d.ts +0 -11
  486. package/lib-esm/Popover.d.ts +0 -21
  487. package/lib-esm/Portal/Portal.d.ts +0 -25
  488. package/lib-esm/Portal/index.d.ts +0 -4
  489. package/lib-esm/Position.d.ts +0 -34
  490. package/lib-esm/ProgressBar.d.ts +0 -21
  491. package/lib-esm/SelectMenu/SelectMenu.d.ts +0 -1832
  492. package/lib-esm/SelectMenu/SelectMenuContext.d.ts +0 -8
  493. package/lib-esm/SelectMenu/SelectMenuDivider.d.ts +0 -6
  494. package/lib-esm/SelectMenu/SelectMenuFilter.d.ts +0 -9
  495. package/lib-esm/SelectMenu/SelectMenuFooter.d.ts +0 -6
  496. package/lib-esm/SelectMenu/SelectMenuHeader.d.ts +0 -11
  497. package/lib-esm/SelectMenu/SelectMenuItem.d.ts +0 -15
  498. package/lib-esm/SelectMenu/SelectMenuList.d.ts +0 -6
  499. package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.d.ts +0 -7
  500. package/lib-esm/SelectMenu/SelectMenuModal.d.ts +0 -15
  501. package/lib-esm/SelectMenu/SelectMenuTab.d.ts +0 -14
  502. package/lib-esm/SelectMenu/SelectMenuTabPanel.d.ts +0 -13
  503. package/lib-esm/SelectMenu/SelectMenuTabs.d.ts +0 -11
  504. package/lib-esm/SelectMenu/hooks/useKeyboardNav.d.ts +0 -2
  505. package/lib-esm/SelectMenu/index.d.ts +0 -2
  506. package/lib-esm/SelectPanel/SelectPanel.d.ts +0 -25
  507. package/lib-esm/SelectPanel/SelectPanel.js +0 -127
  508. package/lib-esm/SelectPanel/index.d.ts +0 -2
  509. package/lib-esm/SelectPanel/index.js +0 -1
  510. package/lib-esm/SideNav.d.ts +0 -31
  511. package/lib-esm/Spinner.d.ts +0 -17
  512. package/lib-esm/Spinner.js +0 -46
  513. package/lib-esm/StateLabel.d.ts +0 -16
  514. package/lib-esm/StyledOcticon.d.ts +0 -12
  515. package/lib-esm/SubNav.d.ts +0 -32
  516. package/lib-esm/TabNav.d.ts +0 -20
  517. package/lib-esm/Text.d.ts +0 -6
  518. package/lib-esm/TextInput.d.ts +0 -14
  519. package/lib-esm/TextInputWithTokens.d.ts +0 -323
  520. package/lib-esm/TextInputWithTokens.js +0 -219
  521. package/lib-esm/ThemeProvider.d.ts +0 -26
  522. package/lib-esm/Timeline.d.ts +0 -407
  523. package/lib-esm/Token/IssueLabelToken.d.ts +0 -14
  524. package/lib-esm/Token/IssueLabelToken.js +0 -124
  525. package/lib-esm/Token/ProfileToken.d.ts +0 -7
  526. package/lib-esm/Token/ProfileToken.js +0 -33
  527. package/lib-esm/Token/Token.d.ts +0 -15
  528. package/lib-esm/Token/Token.js +0 -73
  529. package/lib-esm/Token/TokenBase.d.ts +0 -17
  530. package/lib-esm/Token/TokenBase.js +0 -87
  531. package/lib-esm/Token/_RemoveTokenButton.d.ts +0 -12
  532. package/lib-esm/Token/_RemoveTokenButton.js +0 -60
  533. package/lib-esm/Token/_TokenTextContainer.d.ts +0 -3
  534. package/lib-esm/Token/_TokenTextContainer.js +0 -15
  535. package/lib-esm/Token/index.d.ts +0 -3
  536. package/lib-esm/Token/index.js +0 -3
  537. package/lib-esm/Tooltip.d.ts +0 -18
  538. package/lib-esm/Truncate.d.ts +0 -11
  539. package/lib-esm/UnderlineNav.d.ts +0 -25
  540. package/lib-esm/_TextInputWrapper.d.ts +0 -10
  541. package/lib-esm/_TextInputWrapper.js +0 -31
  542. package/lib-esm/_UnstyledTextInput.d.ts +0 -2
  543. package/lib-esm/_UnstyledTextInput.js +0 -7
  544. package/lib-esm/behaviors/anchoredPosition.d.ts +0 -89
  545. package/lib-esm/behaviors/focusTrap.d.ts +0 -12
  546. package/lib-esm/behaviors/focusZone.d.ts +0 -137
  547. package/lib-esm/constants.d.ts +0 -20
  548. package/lib-esm/hooks/index.d.ts +0 -11
  549. package/lib-esm/hooks/useAnchoredPosition.d.ts +0 -20
  550. package/lib-esm/hooks/useCombinedRefs.d.ts +0 -10
  551. package/lib-esm/hooks/useCombinedRefs.js +0 -36
  552. package/lib-esm/hooks/useDetails.d.ts +0 -17
  553. package/lib-esm/hooks/useDialog.d.ts +0 -16
  554. package/lib-esm/hooks/useFocusTrap.d.ts +0 -32
  555. package/lib-esm/hooks/useFocusZone.d.ts +0 -23
  556. package/lib-esm/hooks/useOnEscapePress.d.ts +0 -23
  557. package/lib-esm/hooks/useOnOutsideClick.d.ts +0 -8
  558. package/lib-esm/hooks/useOpenAndCloseFocus.d.ts +0 -8
  559. package/lib-esm/hooks/useOverlay.d.ts +0 -15
  560. package/lib-esm/hooks/useProvidedRefOrCreate.d.ts +0 -10
  561. package/lib-esm/hooks/useProvidedStateOrCreate.d.ts +0 -10
  562. package/lib-esm/hooks/useProvidedStateOrCreate.js +0 -20
  563. package/lib-esm/hooks/useRenderForcingRef.d.ts +0 -8
  564. package/lib-esm/hooks/useRenderForcingRef.js +0 -18
  565. package/lib-esm/hooks/useResizeObserver.d.ts +0 -1
  566. package/lib-esm/hooks/useResizeObserver.js +0 -10
  567. package/lib-esm/hooks/useSafeTimeout.d.ts +0 -12
  568. package/lib-esm/hooks/useScrollFlash.d.ts +0 -6
  569. package/lib-esm/hooks/useScrollFlash.js +0 -22
  570. package/lib-esm/index.d.ts +0 -114
  571. package/lib-esm/polyfills/eventListenerSignal.d.ts +0 -6
  572. package/lib-esm/sx.d.ts +0 -6
  573. package/lib-esm/theme-preval.d.ts +0 -49
  574. package/lib-esm/theme.d.ts +0 -2
  575. package/lib-esm/utils/deprecate.d.ts +0 -18
  576. package/lib-esm/utils/isNumeric.d.ts +0 -1
  577. package/lib-esm/utils/iterateFocusableElements.d.ts +0 -42
  578. package/lib-esm/utils/scrollIntoViewingArea.d.ts +0 -1
  579. package/lib-esm/utils/scrollIntoViewingArea.js +0 -30
  580. package/lib-esm/utils/ssr.d.ts +0 -1
  581. package/lib-esm/utils/ssr.js +0 -1
  582. package/lib-esm/utils/test-deprecations.d.ts +0 -1
  583. package/lib-esm/utils/test-helpers.js +0 -7
  584. package/lib-esm/utils/test-matchers.d.ts +0 -1
  585. package/lib-esm/utils/testing.d.ts +0 -1028
  586. package/lib-esm/utils/theme.d.ts +0 -9
  587. package/lib-esm/utils/types/AriaRole.d.ts +0 -1
  588. package/lib-esm/utils/types/AriaRole.js +0 -1
  589. package/lib-esm/utils/types/ComponentProps.d.ts +0 -9
  590. package/lib-esm/utils/types/ComponentProps.js +0 -1
  591. package/lib-esm/utils/types/Flatten.d.ts +0 -4
  592. package/lib-esm/utils/types/Flatten.js +0 -1
  593. package/lib-esm/utils/types/MandateProps.d.ts +0 -3
  594. package/lib-esm/utils/types/MandateProps.js +0 -1
  595. package/lib-esm/utils/types/Merge.d.ts +0 -19
  596. package/lib-esm/utils/types/Merge.js +0 -1
  597. package/lib-esm/utils/types/index.d.ts +0 -5
  598. package/lib-esm/utils/types/index.js +0 -5
  599. package/lib-esm/utils/uniqueId.d.ts +0 -1
  600. package/lib-esm/utils/userAgent.d.ts +0 -1
@@ -0,0 +1,349 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.WithPortal = exports.ComplexAncestry = exports.CenteredOnScreen = exports.UseAnchoredPosition = exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _ = require("..");
11
+
12
+ var _useAnchoredPosition = require("../hooks/useAnchoredPosition");
13
+
14
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
15
+
16
+ var _constants = require("../constants");
17
+
18
+ var _Portal = _interopRequireWildcard(require("../Portal"));
19
+
20
+ var _Button = _interopRequireDefault(require("../Button"));
21
+
22
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
23
+
24
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
+
26
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
+
28
+ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
29
+ var _default = {
30
+ title: 'Hooks/useAnchoredPosition',
31
+ decorators: [// Note: For some reason, if you use <BaseStyles><Story /></BaseStyles>,
32
+ // the component gets unmounted from the root every time a control changes!
33
+ Story => {
34
+ return /*#__PURE__*/_react.default.createElement(_.ThemeProvider, null, /*#__PURE__*/_react.default.createElement(_.BaseStyles, null, Story()));
35
+ }],
36
+ argTypes: {
37
+ anchorX: {
38
+ control: {
39
+ type: 'range',
40
+ min: 0,
41
+ max: 500
42
+ }
43
+ },
44
+ anchorY: {
45
+ control: {
46
+ type: 'range',
47
+ min: 0,
48
+ max: 500
49
+ }
50
+ },
51
+ anchorWidth: {
52
+ control: {
53
+ type: 'range',
54
+ min: 50,
55
+ max: 500
56
+ }
57
+ },
58
+ anchorHeight: {
59
+ control: {
60
+ type: 'range',
61
+ min: 50,
62
+ max: 500
63
+ }
64
+ },
65
+ floatWidth: {
66
+ control: {
67
+ type: 'range',
68
+ min: 50,
69
+ max: 500
70
+ }
71
+ },
72
+ floatHeight: {
73
+ control: {
74
+ type: 'range',
75
+ min: 50,
76
+ max: 500
77
+ }
78
+ },
79
+ anchorPosition: {
80
+ control: {
81
+ type: 'inline-radio',
82
+ options: ['inside', 'outside']
83
+ }
84
+ },
85
+ anchorSide: {
86
+ control: {
87
+ type: 'inline-radio',
88
+ options: ['top', 'bottom', 'left', 'right', 'center']
89
+ },
90
+ description: 'note'
91
+ },
92
+ anchorAlignment: {
93
+ control: {
94
+ type: 'inline-radio',
95
+ options: ['first', 'center', 'last']
96
+ }
97
+ },
98
+ anchorOffset: {
99
+ control: {
100
+ type: 'range',
101
+ min: -100,
102
+ max: 100
103
+ }
104
+ },
105
+ alignmentOffset: {
106
+ control: {
107
+ type: 'range',
108
+ min: -100,
109
+ max: 100
110
+ }
111
+ },
112
+ allowOutOfBounds: {
113
+ control: {
114
+ type: 'boolean'
115
+ }
116
+ }
117
+ }
118
+ };
119
+ exports.default = _default;
120
+ const Float = (0, _styledComponents.default)(_.Position).withConfig({
121
+ displayName: "useAnchoredPositionstories__Float",
122
+ componentId: "sc-18cdzou-0"
123
+ })(["position:absolute;border:1px solid ", ";border-radius:", ";background-color:", ";display:flex;flex-direction:column;text-align:center;font-size:", ";font-weight:", ";padding:", ";"], (0, _constants.get)('colors.black'), (0, _constants.get)('radii.2'), (0, _constants.get)('colors.orange.3'), (0, _constants.get)('fontSizes.3'), (0, _constants.get)('fontWeights.bold'), (0, _constants.get)('space.3'));
124
+ const Anchor = (0, _styledComponents.default)(_.Position).withConfig({
125
+ displayName: "useAnchoredPositionstories__Anchor",
126
+ componentId: "sc-18cdzou-1"
127
+ })(["position:absolute;border:1px solid ", ";border-radius:", ";background-color:", ";display:flex;flex-direction:column;text-align:center;font-size:", ";font-weight:", ";padding:", ";"], (0, _constants.get)('colors.black'), (0, _constants.get)('radii.2'), (0, _constants.get)('colors.blue.3'), (0, _constants.get)('fontSizes.3'), (0, _constants.get)('fontWeights.bold'), (0, _constants.get)('space.3')); // eslint-disable-next-line @typescript-eslint/no-explicit-any
128
+
129
+ const UseAnchoredPosition = args => {
130
+ var _args$anchorPosition, _args$anchorSide, _args$anchorAlignment, _parseInt, _parseInt2, _args$allowOutOfBound, _args$anchorY, _args$anchorX, _position$top, _position$left, _args$floatWidth, _args$floatHeight;
131
+
132
+ const {
133
+ floatingElementRef,
134
+ anchorElementRef,
135
+ position
136
+ } = (0, _useAnchoredPosition.useAnchoredPosition)({
137
+ side: `${(_args$anchorPosition = args.anchorPosition) !== null && _args$anchorPosition !== void 0 ? _args$anchorPosition : 'outside'}-${(_args$anchorSide = args.anchorSide) !== null && _args$anchorSide !== void 0 ? _args$anchorSide : 'bottom'}`,
138
+ align: (_args$anchorAlignment = args.anchorAlignment) !== null && _args$anchorAlignment !== void 0 ? _args$anchorAlignment : 'start',
139
+ anchorOffset: args.anchorOffset && ((_parseInt = parseInt(args.anchorOffset, 10)) !== null && _parseInt !== void 0 ? _parseInt : undefined),
140
+ alignmentOffset: args.alignmentOffset && ((_parseInt2 = parseInt(args.alignmentOffset, 10)) !== null && _parseInt2 !== void 0 ? _parseInt2 : undefined),
141
+ allowOutOfBounds: (_args$allowOutOfBound = args.allowOutOfBounds) !== null && _args$allowOutOfBound !== void 0 ? _args$allowOutOfBound : undefined
142
+ }, [args]);
143
+ return /*#__PURE__*/_react.default.createElement(_.Relative, {
144
+ m: 2
145
+ }, /*#__PURE__*/_react.default.createElement(Anchor, {
146
+ top: (_args$anchorY = args.anchorY) !== null && _args$anchorY !== void 0 ? _args$anchorY : 0,
147
+ left: (_args$anchorX = args.anchorX) !== null && _args$anchorX !== void 0 ? _args$anchorX : 0,
148
+ width: args.anchorWidth,
149
+ height: args.anchorHeight,
150
+ ref: anchorElementRef
151
+ }, "Anchor Element"), /*#__PURE__*/_react.default.createElement(Float, {
152
+ top: (_position$top = position === null || position === void 0 ? void 0 : position.top) !== null && _position$top !== void 0 ? _position$top : 0,
153
+ left: (_position$left = position === null || position === void 0 ? void 0 : position.left) !== null && _position$left !== void 0 ? _position$left : 0,
154
+ width: (_args$floatWidth = args.floatWidth) !== null && _args$floatWidth !== void 0 ? _args$floatWidth : 150,
155
+ height: (_args$floatHeight = args.floatHeight) !== null && _args$floatHeight !== void 0 ? _args$floatHeight : 150,
156
+ ref: floatingElementRef
157
+ }, "Floating element"));
158
+ };
159
+
160
+ exports.UseAnchoredPosition = UseAnchoredPosition;
161
+ UseAnchoredPosition.displayName = "UseAnchoredPosition";
162
+
163
+ const CenteredOnScreen = () => {
164
+ var _position$top2, _position$left2;
165
+
166
+ const {
167
+ floatingElementRef,
168
+ anchorElementRef,
169
+ position
170
+ } = (0, _useAnchoredPosition.useAnchoredPosition)({
171
+ side: 'inside-center',
172
+ align: 'center'
173
+ }); // The outer Position element simply fills all available space
174
+
175
+ return /*#__PURE__*/_react.default.createElement(_.Position, {
176
+ ref: anchorElementRef,
177
+ position: "absolute",
178
+ top: 0,
179
+ bottom: 0,
180
+ left: 0,
181
+ right: 0
182
+ }, /*#__PURE__*/_react.default.createElement(Float, {
183
+ ref: floatingElementRef,
184
+ top: (_position$top2 = position === null || position === void 0 ? void 0 : position.top) !== null && _position$top2 !== void 0 ? _position$top2 : 0,
185
+ left: (_position$left2 = position === null || position === void 0 ? void 0 : position.left) !== null && _position$left2 !== void 0 ? _position$left2 : 0
186
+ }, /*#__PURE__*/_react.default.createElement("p", null, "Screen-Centered Floating Element "), /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("small", null, /*#__PURE__*/_react.default.createElement("em", null, "(Controls are ignored for this story)")))));
187
+ };
188
+
189
+ exports.CenteredOnScreen = CenteredOnScreen;
190
+ CenteredOnScreen.displayName = "CenteredOnScreen";
191
+
192
+ const ComplexAncestry = () => {
193
+ var _position$top3, _position$left3;
194
+
195
+ const [recalculateSignal, setRecalculateSignal] = _react.default.useState(0);
196
+
197
+ const {
198
+ floatingElementRef,
199
+ anchorElementRef,
200
+ position
201
+ } = (0, _useAnchoredPosition.useAnchoredPosition)({
202
+ side: 'outside-bottom',
203
+ align: 'start'
204
+ }, [recalculateSignal]);
205
+
206
+ const onRecalculateClick = _react.default.useCallback(() => {
207
+ setRecalculateSignal(recalculateSignal + 1);
208
+ }, [recalculateSignal]); // The outer Position element simply fills all available space
209
+
210
+
211
+ const space = 2;
212
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_.Box, {
213
+ m: space,
214
+ p: space,
215
+ sx: {
216
+ border: '1px solid #000',
217
+ backgroundColor: 'blue.1',
218
+ height: '440px',
219
+ overflow: 'auto',
220
+ position: 'relative'
221
+ }
222
+ }, "Clipping container - this element has ", /*#__PURE__*/_react.default.createElement("code", null, "overflow"), " set to something other than ", /*#__PURE__*/_react.default.createElement("code", null, "visible"), /*#__PURE__*/_react.default.createElement(_.Box, {
223
+ m: space,
224
+ p: space,
225
+ sx: {
226
+ border: '1px solid #000',
227
+ backgroundColor: 'blue.2',
228
+ position: 'relative'
229
+ }
230
+ }, "Relatively positioned parent, but fluid height, so not the clipping parent.", /*#__PURE__*/_react.default.createElement(_.Box, {
231
+ m: space,
232
+ p: space,
233
+ sx: {
234
+ border: '1px solid #000',
235
+ backgroundColor: 'blue.3',
236
+ position: 'static',
237
+ overflow: 'hidden'
238
+ }
239
+ }, "Floating element container. Position=static and overflow=hidden to show that overflow-hidden on a statically-positioned element will not have any effect.", /*#__PURE__*/_react.default.createElement(Float, {
240
+ top: (_position$top3 = position === null || position === void 0 ? void 0 : position.top) !== null && _position$top3 !== void 0 ? _position$top3 : 0,
241
+ left: (_position$left3 = position === null || position === void 0 ? void 0 : position.left) !== null && _position$left3 !== void 0 ? _position$left3 : 0,
242
+ width: 150,
243
+ height: 220,
244
+ ref: floatingElementRef
245
+ }, "Floating element"))), /*#__PURE__*/_react.default.createElement(_.Box, {
246
+ m: space,
247
+ p: space,
248
+ backgroundColor: "blue.3",
249
+ sx: {
250
+ border: '1px solid #000',
251
+ height: '2000px'
252
+ }
253
+ }, "Anchor element container. This element is really tall to demonstrate behavior within a scrollable clipping container.", /*#__PURE__*/_react.default.createElement(_.Box, {
254
+ width: "200px",
255
+ backgroundColor: "orange.3",
256
+ height: 60,
257
+ ref: anchorElementRef,
258
+ sx: {
259
+ border: '1px solid #000'
260
+ },
261
+ m: space,
262
+ p: space
263
+ }, "Anchor Element"))), /*#__PURE__*/_react.default.createElement(_Button.default, {
264
+ onClick: onRecalculateClick
265
+ }, "Click to recalculate floating position"));
266
+ };
267
+
268
+ exports.ComplexAncestry = ComplexAncestry;
269
+ const Nav = (0, _styledComponents.default)('nav').withConfig({
270
+ displayName: "useAnchoredPositionstories__Nav",
271
+ componentId: "sc-18cdzou-2"
272
+ })(["width:300px;padding:", ";position:relative;overflow:hidden;border-right:1px solid ", ";"], (0, _constants.get)('space.3'), (0, _constants.get)('colors.border.gray'));
273
+ const Main = (0, _styledComponents.default)('main').withConfig({
274
+ displayName: "useAnchoredPositionstories__Main",
275
+ componentId: "sc-18cdzou-3"
276
+ })(["display:flex;position:absolute;top:0;left:0;right:0;bottom:0;"]);
277
+ /*
278
+
279
+ There are a few "gotchas" to take note of from this example. See the
280
+ documentation for more info.
281
+
282
+ 1. The portal's root (<Main> in this example) needs to be large enough
283
+ to include ANY space that the overlay might need to take. By default,
284
+ elements are not rendered at full height! Notice how <Main> uses
285
+ top, left, right, and bottom all set to 0 to achieve a full-size box.
286
+
287
+ 2. The positioning routine needs to know the size of the overlay before
288
+ calculating its position! Therefore, we use visibility: hidden to
289
+ prevent showing a single frame of the overlay being positioned at
290
+ (0, 0).
291
+
292
+ */
293
+
294
+ const WithPortal = () => {
295
+ var _position$top4, _position$left4;
296
+
297
+ const [showMenu, setShowMenu] = _react.default.useState(false);
298
+
299
+ const mainRef = _react.default.useRef(null); // Calculate the position of the menu
300
+
301
+
302
+ const {
303
+ floatingElementRef,
304
+ anchorElementRef,
305
+ position
306
+ } = (0, _useAnchoredPosition.useAnchoredPosition)({
307
+ side: 'outside-bottom',
308
+ align: 'start'
309
+ }, [showMenu]); // Register <Main> as the Portal root
310
+
311
+ _react.default.useEffect(() => {
312
+ if (mainRef.current) {
313
+ (0, _Portal.registerPortalRoot)(mainRef.current);
314
+ }
315
+ }, [mainRef]); // Toggles rendering the menu when the button is clicked
316
+
317
+
318
+ const toggleMenu = _react.default.useCallback(() => {
319
+ setShowMenu(!showMenu);
320
+ }, [showMenu]);
321
+
322
+ return /*#__PURE__*/_react.default.createElement(Main, {
323
+ ref: mainRef
324
+ }, /*#__PURE__*/_react.default.createElement(Nav, null, /*#__PURE__*/_react.default.createElement("h2", null, "The nav bar!"), /*#__PURE__*/_react.default.createElement("p", null, "This \u201Cnav bar\u201D has a width of 300px and is ", /*#__PURE__*/_react.default.createElement("code", null, "position:relative"), " with", ' ', /*#__PURE__*/_react.default.createElement("code", null, "overflow:hidden"), ", meaning that its children cannot overflow this container. Using <Portal> with ", /*#__PURE__*/_react.default.createElement("code", null, "useAnchoredPosition"), ", we can break out of this contraint."), /*#__PURE__*/_react.default.createElement(_.Box, {
325
+ sx: {
326
+ textAlign: 'right'
327
+ }
328
+ }, /*#__PURE__*/_react.default.createElement(_.ButtonPrimary, {
329
+ onClick: toggleMenu,
330
+ ref: anchorElementRef
331
+ }, "Show the overlay!"), showMenu && /*#__PURE__*/_react.default.createElement(_Portal.default, null, /*#__PURE__*/_react.default.createElement(Float, {
332
+ ref: floatingElementRef,
333
+ top: (_position$top4 = position === null || position === void 0 ? void 0 : position.top) !== null && _position$top4 !== void 0 ? _position$top4 : 0,
334
+ left: (_position$left4 = position === null || position === void 0 ? void 0 : position.left) !== null && _position$left4 !== void 0 ? _position$left4 : 0,
335
+ width: 250,
336
+ height: 400,
337
+ sx: {
338
+ visibility: position ? 'visible' : 'hidden'
339
+ }
340
+ }, "An un-constrained overlay!")))), /*#__PURE__*/_react.default.createElement(_.Box, {
341
+ sx: {
342
+ flexGrow: 1
343
+ },
344
+ p: 3
345
+ }, /*#__PURE__*/_react.default.createElement("h1", null, "The body!"), /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("em", null, "Note: The controls below have no effect in this story."))));
346
+ };
347
+
348
+ exports.WithPortal = WithPortal;
349
+ WithPortal.displayName = "WithPortal";
@@ -0,0 +1,278 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MultipleFocusTraps = exports.DynamicFocusTrapContents = exports.CustomInitialFocus = exports.FocusTrap = exports.default = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
11
+
12
+ var _ = require("..");
13
+
14
+ var _useFocusTrap = require("../hooks/useFocusTrap");
15
+
16
+ var _Flex = _interopRequireDefault(require("../Flex"));
17
+
18
+ var _themeGet = require("@styled-system/theme-get");
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+
22
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
23
+
24
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
+
26
+ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
27
+ var _default = {
28
+ title: 'Hooks/useFocusTrap',
29
+ decorators: [Story => {
30
+ return /*#__PURE__*/_react.default.createElement(_.ThemeProvider, null, /*#__PURE__*/_react.default.createElement(_.BaseStyles, null, /*#__PURE__*/_react.default.createElement(Story, null)));
31
+ }]
32
+ }; // NOTE: the below styles are solely intended as a visual aid for
33
+ // this Storybook story, but they're not recommended for a real site!
34
+
35
+ exports.default = _default;
36
+ const HelperGlobalStyling = (0, _styledComponents.createGlobalStyle)`
37
+ *:focus {
38
+ outline: 2px solid ${(0, _themeGet.themeGet)('colors.blue.3')} !important;
39
+ }
40
+ [data-focus-trap='active'] {
41
+ background-color: ${(0, _themeGet.themeGet)('colors.green.2')}
42
+ }
43
+ [data-focus-trap='suspended'] {
44
+ background-color: ${(0, _themeGet.themeGet)('colors.yellow.2')}
45
+ }
46
+ `;
47
+ const MarginButton = (0, _styledComponents.default)(_.Button).withConfig({
48
+ displayName: "useFocusTrapstories__MarginButton",
49
+ componentId: "sc-12zkn1e-0"
50
+ })(["margin:", " 0;"], (0, _themeGet.themeGet)('space.1'));
51
+
52
+ const FocusTrap = () => {
53
+ const [trapEnabled, setTrapEnabled] = _react.default.useState(false);
54
+
55
+ const {
56
+ containerRef
57
+ } = (0, _useFocusTrap.useFocusTrap)({
58
+ disabled: !trapEnabled
59
+ });
60
+
61
+ const spaceListener = _react.default.useCallback(event => {
62
+ if (event.key === ' ') {
63
+ setTrapEnabled(!trapEnabled);
64
+ }
65
+ }, [trapEnabled]);
66
+
67
+ (0, _react.useEffect)(() => {
68
+ document.addEventListener('keypress', spaceListener);
69
+ return () => {
70
+ document.removeEventListener('keypress', spaceListener);
71
+ };
72
+ }, [spaceListener]);
73
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(HelperGlobalStyling, null), /*#__PURE__*/_react.default.createElement(_Flex.default, {
74
+ flexDirection: "column",
75
+ alignItems: "flex-start"
76
+ }, /*#__PURE__*/_react.default.createElement(MarginButton, null, "Apple"), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Banana"), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Cantaloupe"), /*#__PURE__*/_react.default.createElement(_.BorderBox, {
77
+ borderColor: "gray.5",
78
+ ref: containerRef,
79
+ m: 4,
80
+ p: 4
81
+ }, /*#__PURE__*/_react.default.createElement("strong", null, "Trap zone! Press SPACE to ", trapEnabled ? 'deactivate' : 'activate', "."), /*#__PURE__*/_react.default.createElement(_Flex.default, {
82
+ flexDirection: "column",
83
+ alignItems: "flex-start"
84
+ }, /*#__PURE__*/_react.default.createElement(MarginButton, null, "Durian"), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Elderberry"), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Fig"))), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Grapefruit"), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Honeydew"), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Jackfruit")));
85
+ };
86
+
87
+ exports.FocusTrap = FocusTrap;
88
+
89
+ const CustomInitialFocus = () => {
90
+ const [trapEnabled, setTrapEnabled] = _react.default.useState(false);
91
+
92
+ const {
93
+ containerRef,
94
+ initialFocusRef
95
+ } = (0, _useFocusTrap.useFocusTrap)({
96
+ disabled: !trapEnabled
97
+ });
98
+
99
+ const spaceListener = _react.default.useCallback(event => {
100
+ if (event.key === ' ') {
101
+ setTrapEnabled(!trapEnabled);
102
+ }
103
+ }, [trapEnabled]);
104
+
105
+ (0, _react.useEffect)(() => {
106
+ document.addEventListener('keypress', spaceListener);
107
+ return () => {
108
+ document.removeEventListener('keypress', spaceListener);
109
+ };
110
+ }, [spaceListener]);
111
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(HelperGlobalStyling, null), /*#__PURE__*/_react.default.createElement(_Flex.default, {
112
+ flexDirection: "column",
113
+ alignItems: "flex-start"
114
+ }, /*#__PURE__*/_react.default.createElement(_.Flash, {
115
+ mb: 3
116
+ }, "This story is the same as the `Focus Trap` story, except, when the trap zone is activated, the \u201CElderberry\u201D button will receive the initial focus (if the trap zone container does not already have focus)."), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Apple"), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Banana"), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Cantaloupe"), /*#__PURE__*/_react.default.createElement(_.BorderBox, {
117
+ borderColor: "gray.5",
118
+ ref: containerRef,
119
+ m: 4,
120
+ p: 4
121
+ }, /*#__PURE__*/_react.default.createElement("strong", null, "Trap zone! Press SPACE to ", trapEnabled ? 'deactivate' : 'activate', "."), /*#__PURE__*/_react.default.createElement(_Flex.default, {
122
+ flexDirection: "column",
123
+ alignItems: "flex-start"
124
+ }, /*#__PURE__*/_react.default.createElement(MarginButton, null, "Durian"), /*#__PURE__*/_react.default.createElement(MarginButton, {
125
+ ref: initialFocusRef
126
+ }, "Elderberry"), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Fig"))), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Grapefruit"), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Honeydew"), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Jackfruit")));
127
+ };
128
+
129
+ exports.CustomInitialFocus = CustomInitialFocus;
130
+
131
+ function useKeyPressListener(key, handler, capture = false) {
132
+ const listener = (0, _react.useCallback)(event => {
133
+ if (event.key === key) {
134
+ handler();
135
+ }
136
+ }, [key, handler]);
137
+ (0, _react.useEffect)(() => {
138
+ document.addEventListener('keypress', listener, {
139
+ capture
140
+ });
141
+ return () => {
142
+ document.removeEventListener('keypress', listener, {
143
+ capture
144
+ });
145
+ };
146
+ }, [listener, capture]);
147
+ }
148
+
149
+ function ToggleableButton({
150
+ name
151
+ }) {
152
+ const [showButton, setShowButton] = _react.default.useState(true);
153
+
154
+ const key = name.substr(0, 1).toLowerCase();
155
+ useKeyPressListener(key, (0, _react.useCallback)(() => setShowButton(!showButton), [showButton]));
156
+ return /*#__PURE__*/_react.default.createElement("span", null, showButton ? /*#__PURE__*/_react.default.createElement(MarginButton, null, name) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, name, " (Hidden) - "), "Press ", key, " to toggle");
157
+ }
158
+
159
+ ToggleableButton.displayName = "ToggleableButton";
160
+
161
+ const DynamicFocusTrapContents = () => {
162
+ const [trapEnabled, setTrapEnabled] = _react.default.useState(false);
163
+
164
+ const {
165
+ containerRef
166
+ } = (0, _useFocusTrap.useFocusTrap)({
167
+ disabled: !trapEnabled
168
+ });
169
+ useKeyPressListener(' ', (0, _react.useCallback)(() => setTrapEnabled(!trapEnabled), [trapEnabled]));
170
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(HelperGlobalStyling, null), /*#__PURE__*/_react.default.createElement(_Flex.default, {
171
+ flexDirection: "column",
172
+ alignItems: "flex-start"
173
+ }, /*#__PURE__*/_react.default.createElement(MarginButton, null, "Apple"), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Banana"), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Cantaloupe"), /*#__PURE__*/_react.default.createElement(_.BorderBox, {
174
+ borderColor: "gray.5",
175
+ ref: containerRef,
176
+ m: 4,
177
+ p: 4
178
+ }, /*#__PURE__*/_react.default.createElement("strong", null, "Trap zone! Press SPACE to ", trapEnabled ? 'deactivate' : 'activate', "."), /*#__PURE__*/_react.default.createElement(_Flex.default, {
179
+ flexDirection: "column",
180
+ alignItems: "flex-start"
181
+ }, /*#__PURE__*/_react.default.createElement(ToggleableButton, {
182
+ name: "Durian"
183
+ }), /*#__PURE__*/_react.default.createElement(ToggleableButton, {
184
+ name: "Elderberry"
185
+ }), /*#__PURE__*/_react.default.createElement(ToggleableButton, {
186
+ name: "Fig"
187
+ }))), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Grapefruit"), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Honeydew"), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Jackfruit")));
188
+ };
189
+
190
+ exports.DynamicFocusTrapContents = DynamicFocusTrapContents;
191
+
192
+ const MultipleFocusTraps = () => {
193
+ const [trapEnabled1, setTrapEnabled1] = _react.default.useState(false);
194
+
195
+ const [trapEnabled2, setTrapEnabled2] = _react.default.useState(false);
196
+
197
+ const {
198
+ containerRef: containerRef1
199
+ } = (0, _useFocusTrap.useFocusTrap)({
200
+ disabled: !trapEnabled1
201
+ });
202
+ const {
203
+ containerRef: containerRef2
204
+ } = (0, _useFocusTrap.useFocusTrap)({
205
+ disabled: !trapEnabled2
206
+ });
207
+
208
+ const keyListener = _react.default.useCallback(event => {
209
+ if (event.key === '1') {
210
+ setTrapEnabled1(!trapEnabled1);
211
+ }
212
+
213
+ if (event.key === '2') {
214
+ setTrapEnabled2(!trapEnabled2);
215
+ }
216
+ }, [trapEnabled1, trapEnabled2]);
217
+
218
+ (0, _react.useEffect)(() => {
219
+ document.addEventListener('keydown', keyListener, {
220
+ capture: true
221
+ });
222
+ return () => {
223
+ document.removeEventListener('keydown', keyListener, {
224
+ capture: true
225
+ });
226
+ };
227
+ }, [keyListener]);
228
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(HelperGlobalStyling, null), /*#__PURE__*/_react.default.createElement(_Flex.default, {
229
+ flexDirection: "column",
230
+ alignItems: "flex-start"
231
+ }, /*#__PURE__*/_react.default.createElement(_.Flash, {
232
+ mb: 3
233
+ }, "This story demonstrates the global nature of focus traps. When a focus trap is enabled, if there is already an active focus trap, it becomes suspended and pushed onto a stack. Once the newly-active focus trap is disabled, the most recently-suspended trap will reactivate. Suspended focus traps can be disabled, causing them to be removed from the stack of suspended traps."), /*#__PURE__*/_react.default.createElement(_.BorderBox, {
234
+ p: 2,
235
+ mb: 3
236
+ }, "Legend", /*#__PURE__*/_react.default.createElement(_Flex.default, {
237
+ flexDirection: "row"
238
+ }, /*#__PURE__*/_react.default.createElement(_.BorderBox, {
239
+ width: 40,
240
+ height: 22,
241
+ mr: 2,
242
+ borderColor: "gray.5"
243
+ }), /*#__PURE__*/_react.default.createElement(_.Text, null, " - Inactive")), /*#__PURE__*/_react.default.createElement(_Flex.default, {
244
+ flexDirection: "row"
245
+ }, /*#__PURE__*/_react.default.createElement(_.BorderBox, {
246
+ width: 40,
247
+ height: 22,
248
+ mr: 2,
249
+ borderColor: "gray.5",
250
+ backgroundColor: "yellow.2"
251
+ }), /*#__PURE__*/_react.default.createElement(_.Text, null, " - Suspended")), /*#__PURE__*/_react.default.createElement(_Flex.default, {
252
+ flexDirection: "row"
253
+ }, /*#__PURE__*/_react.default.createElement(_.BorderBox, {
254
+ width: 40,
255
+ height: 22,
256
+ mr: 2,
257
+ borderColor: "gray.5",
258
+ backgroundColor: "green.2"
259
+ }), /*#__PURE__*/_react.default.createElement(_.Text, null, " - Active"))), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Apple"), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Banana"), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Cantaloupe"), /*#__PURE__*/_react.default.createElement(_.BorderBox, {
260
+ borderColor: "gray.5",
261
+ ref: containerRef1,
262
+ m: 2,
263
+ p: 2
264
+ }, /*#__PURE__*/_react.default.createElement("strong", null, "Trap zone (", trapEnabled1 ? 'enabled' : 'disabled', ")! Press ", /*#__PURE__*/_react.default.createElement("code", null, "1"), " to toggle."), /*#__PURE__*/_react.default.createElement(_Flex.default, {
265
+ flexDirection: "column",
266
+ alignItems: "flex-start"
267
+ }, /*#__PURE__*/_react.default.createElement(MarginButton, null, "Durian"), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Elderberry"), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Fig"))), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Grapefruit"), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Honeydew"), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Jackfruit"), /*#__PURE__*/_react.default.createElement(_.BorderBox, {
268
+ borderColor: "gray.5",
269
+ ref: containerRef2,
270
+ m: 2,
271
+ p: 2
272
+ }, /*#__PURE__*/_react.default.createElement("strong", null, "Trap zone (", trapEnabled2 ? 'enabled' : 'disabled', ")! Press ", /*#__PURE__*/_react.default.createElement("code", null, "2"), " to toggle."), /*#__PURE__*/_react.default.createElement(_Flex.default, {
273
+ flexDirection: "column",
274
+ alignItems: "flex-start"
275
+ }, /*#__PURE__*/_react.default.createElement(MarginButton, null, "Kiwi"), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Lemon"), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Mango"))), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Nectarine"), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Orange"), /*#__PURE__*/_react.default.createElement(MarginButton, null, "Peach")));
276
+ };
277
+
278
+ exports.MultipleFocusTraps = MultipleFocusTraps;