@procore/core-react 12.34.1 → 12.36.0

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 (284) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
  3. package/dist/Avatar/Avatar.styles.js +5 -5
  4. package/dist/AvatarStack/AvatarStack.styles.js +7 -7
  5. package/dist/Badge/Badge.styles.js +2 -2
  6. package/dist/BadgePill/BadgePill.styles.js +4 -4
  7. package/dist/Banner/Banner.styles.js +10 -10
  8. package/dist/Box/Box.styles.js +1 -1
  9. package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  10. package/dist/Button/Button.styles.js +5 -5
  11. package/dist/Calendar/Calendar.d.ts +2 -2
  12. package/dist/Calendar/Calendar.js.map +1 -1
  13. package/dist/Calendar/Calendar.styles.d.ts +6 -3
  14. package/dist/Calendar/Calendar.styles.js +15 -9
  15. package/dist/Calendar/Calendar.styles.js.map +1 -1
  16. package/dist/Calendar/Calendar.types.d.ts +1 -31
  17. package/dist/Calendar/Calendar.types.js.map +1 -1
  18. package/dist/Card/Card.styles.js +1 -1
  19. package/dist/Checkbox/Checkbox.styles.js +6 -6
  20. package/dist/Checkbox/CheckboxTooltip.js +1 -1
  21. package/dist/ContactItem/ContactItem.styles.js +5 -5
  22. package/dist/ContactItem/ContactItem.types.d.ts +2 -0
  23. package/dist/ContactItem/ContactItem.types.js.map +1 -1
  24. package/dist/Content/Content.styles.js +2 -2
  25. package/dist/DateInput/DateInput.js +58 -53
  26. package/dist/DateInput/DateInput.js.map +1 -1
  27. package/dist/DateInput/DateInput.styles.js +9 -9
  28. package/dist/DateInput/DateInput.styles.js.map +1 -1
  29. package/dist/DetailPage/DetailPage.styles.js +7 -7
  30. package/dist/Dropdown/Dropdown.styles.js +3 -3
  31. package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
  32. package/dist/Dropzone/Dropzone.js +1 -1
  33. package/dist/Dropzone/Dropzone.styles.js +9 -9
  34. package/dist/EmptyState/EmptyState.styles.js +6 -6
  35. package/dist/Field/Field.styles.js +3 -3
  36. package/dist/FileList/FileList.styles.js +4 -4
  37. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
  38. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
  39. package/dist/FileSelect/FileSelect.styles.js +2 -2
  40. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  41. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
  42. package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
  43. package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
  44. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  45. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
  46. package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
  47. package/dist/FileToken/FileToken.styles.js +4 -4
  48. package/dist/FilterToken/FilterToken.styles.js +5 -5
  49. package/dist/FlexList/FlexList.styles.js +1 -1
  50. package/dist/Form/Form.styles.js +14 -14
  51. package/dist/Form/StyledFormikForm.styles.js +2 -2
  52. package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
  53. package/dist/Grid/Grid.styles.js +2 -2
  54. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  55. package/dist/Input/Input.styles.js +2 -2
  56. package/dist/Input/Input.styles.js.map +1 -1
  57. package/dist/Link/Link.styles.js +1 -1
  58. package/dist/ListPage/ListPage.styles.js +8 -8
  59. package/dist/Loader/Loader.styles.js +2 -2
  60. package/dist/MenuImperative/MenuImperative.styles.js +10 -10
  61. package/dist/Modal/Modal.styles.js +13 -13
  62. package/dist/MultiSelect/MultiSelect.styles.js +6 -6
  63. package/dist/NextMenu/NextMenu.styles.js +3 -3
  64. package/dist/Notation/Notation.js +1 -1
  65. package/dist/NumberInput/NumberInput.styles.js +9 -9
  66. package/dist/NumberInput/NumberInput.styles.js.map +1 -1
  67. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  68. package/dist/OverlayTrigger/OverlayTrigger.js +16 -0
  69. package/dist/OverlayTrigger/OverlayTrigger.js.map +1 -1
  70. package/dist/PageLayout/PageLayout.styles.js +16 -16
  71. package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
  72. package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
  73. package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
  74. package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
  75. package/dist/Pagination/Pagination.styles.js +6 -6
  76. package/dist/Pagination/Pagination.styles.js.map +1 -1
  77. package/dist/Pagination/Pagination.types.d.ts +4 -0
  78. package/dist/Pagination/Pagination.types.js.map +1 -1
  79. package/dist/Pagination/PaginationSelect.js +59 -3
  80. package/dist/Pagination/PaginationSelect.js.map +1 -1
  81. package/dist/Panel/Panel.js +6 -2
  82. package/dist/Panel/Panel.js.map +1 -1
  83. package/dist/Panel/Panel.styles.js +11 -11
  84. package/dist/Pill/Pill.styles.js +3 -3
  85. package/dist/PillSelect/PillSelect.styles.js +4 -4
  86. package/dist/Popover/Popover.styles.js +2 -2
  87. package/dist/Portal/Portal.js +4 -1
  88. package/dist/Portal/Portal.js.map +1 -1
  89. package/dist/Portal/Portal.styles.js +1 -1
  90. package/dist/Portal/Portal.types.d.ts +1 -1
  91. package/dist/Portal/Portal.types.js.map +1 -1
  92. package/dist/Portal/PortalProvider.d.ts +5 -0
  93. package/dist/Portal/PortalProvider.js +14 -0
  94. package/dist/Portal/PortalProvider.js.map +1 -0
  95. package/dist/Portal/PortalProvider.types.d.ts +4 -0
  96. package/dist/Portal/PortalProvider.types.js +2 -0
  97. package/dist/Portal/PortalProvider.types.js.map +1 -0
  98. package/dist/Portal/index.d.ts +2 -0
  99. package/dist/Portal/index.js +1 -0
  100. package/dist/Portal/index.js.map +1 -1
  101. package/dist/ProgressBar/ProgressBar.styles.js +2 -2
  102. package/dist/RadioButton/RadioButton.styles.js +4 -4
  103. package/dist/RadioButton/RadioButton.styles.js.map +1 -1
  104. package/dist/Required/Required.styles.js +3 -3
  105. package/dist/Search/Search.styles.js +5 -5
  106. package/dist/Section/Section.styles.js +7 -7
  107. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  108. package/dist/Select/Select.js +1 -0
  109. package/dist/Select/Select.js.map +1 -1
  110. package/dist/Select/Select.styles.js +10 -10
  111. package/dist/Select/Select.styles.js.map +1 -1
  112. package/dist/Semantic/Semantic.styles.js +9 -9
  113. package/dist/Slider/Slider.js +3 -1
  114. package/dist/Slider/Slider.js.map +1 -1
  115. package/dist/Slider/Slider.styles.js +5 -5
  116. package/dist/Spinner/Spinner.styles.js +7 -7
  117. package/dist/SplitViewCard/SplitViewCard.context.js +10 -2
  118. package/dist/SplitViewCard/SplitViewCard.context.js.map +1 -1
  119. package/dist/SplitViewCard/SplitViewCard.js +4 -2
  120. package/dist/SplitViewCard/SplitViewCard.js.map +1 -1
  121. package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
  122. package/dist/SplitViewCard/SplitViewCard.types.js.map +1 -1
  123. package/dist/SuperSelect/SuperSelect.components.js +3 -3
  124. package/dist/SuperSelect/SuperSelect.components.js.map +1 -1
  125. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  126. package/dist/SuperSelect/SuperSelect.styles.js +41 -41
  127. package/dist/SuperSelect/SuperSelect.styles.js.map +1 -1
  128. package/dist/SuperSelect/useSuperSelect.js +11 -11
  129. package/dist/SuperSelect/useSuperSelect.js.map +1 -1
  130. package/dist/Switch/Switch.styles.js +4 -4
  131. package/dist/Table/Table.d.ts +2 -2
  132. package/dist/Table/Table.js +58 -18
  133. package/dist/Table/Table.js.map +1 -1
  134. package/dist/Table/Table.styles.d.ts +3 -1
  135. package/dist/Table/Table.styles.js +34 -33
  136. package/dist/Table/Table.styles.js.map +1 -1
  137. package/dist/Table/Table.types.d.ts +5 -0
  138. package/dist/Table/Table.types.js.map +1 -1
  139. package/dist/TableShelf/TableShelf.styles.js +5 -5
  140. package/dist/Tabs/Tabs.styles.js +15 -15
  141. package/dist/Tearsheet/Tearsheet.styles.js +5 -5
  142. package/dist/TextArea/TextArea.js +1 -0
  143. package/dist/TextArea/TextArea.js.map +1 -1
  144. package/dist/TextArea/TextArea.styles.js +1 -1
  145. package/dist/TextEditor/TextEditor.d.ts +1 -1
  146. package/dist/TextEditor/TextEditor.js +67 -12
  147. package/dist/TextEditor/TextEditor.js.map +1 -1
  148. package/dist/TextEditor/TextEditor.types.d.ts +17 -0
  149. package/dist/TextEditor/TextEditor.types.js.map +1 -1
  150. package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
  151. package/dist/Thumbnail/Thumbnail.styles.js +17 -17
  152. package/dist/Thumbnail/ThumbnailDocumentIcon.d.ts +3 -1
  153. package/dist/Thumbnail/ThumbnailDocumentIcon.js +61 -21
  154. package/dist/Thumbnail/ThumbnailDocumentIcon.js.map +1 -1
  155. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
  156. package/dist/TieredSelect/TieredSelect.styles.js +9 -9
  157. package/dist/Tile/Tile.styles.js +8 -8
  158. package/dist/Title/Title.styles.js +7 -7
  159. package/dist/Toast/Toast.js +1 -1
  160. package/dist/Toast/Toast.js.map +1 -1
  161. package/dist/Toast/Toast.styles.js +3 -3
  162. package/dist/ToggleButton/ToggleButton.styles.js +1 -1
  163. package/dist/Token/Token.styles.js +3 -3
  164. package/dist/ToolHeader/ToolHeader.styles.js +6 -6
  165. package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
  166. package/dist/Tooltip/Tooltip.styles.js +2 -2
  167. package/dist/Tree/Tree.hooks.js +11 -6
  168. package/dist/Tree/Tree.hooks.js.map +1 -1
  169. package/dist/Tree/Tree.js +142 -49
  170. package/dist/Tree/Tree.js.map +1 -1
  171. package/dist/Tree/Tree.styles.d.ts +5 -0
  172. package/dist/Tree/Tree.styles.js +17 -9
  173. package/dist/Tree/Tree.styles.js.map +1 -1
  174. package/dist/Tree/Tree.types.d.ts +21 -1
  175. package/dist/Tree/Tree.types.js.map +1 -1
  176. package/dist/Typeahead/Typeahead.styles.js +3 -3
  177. package/dist/Typography/Typography.styles.js +1 -1
  178. package/dist/Typography/Typography.table.story.js +2 -2
  179. package/dist/_hooks/I18n.d.ts +200 -11
  180. package/dist/_locales/de-DE.json +11 -3
  181. package/dist/_locales/en-AU.json +10 -2
  182. package/dist/_locales/en-CA.json +10 -2
  183. package/dist/_locales/en-GB.json +10 -2
  184. package/dist/_locales/en.json +6 -0
  185. package/dist/_locales/es-ES.json +12 -4
  186. package/dist/_locales/es.json +15 -7
  187. package/dist/_locales/fr-CA.json +11 -3
  188. package/dist/_locales/fr-FR.json +12 -4
  189. package/dist/_locales/is-IS.json +11 -3
  190. package/dist/_locales/it-IT.json +56 -48
  191. package/dist/_locales/ja-JP.json +12 -4
  192. package/dist/_locales/pl-PL.json +10 -2
  193. package/dist/_locales/pseudo.json +6 -0
  194. package/dist/_locales/pt-BR.json +11 -3
  195. package/dist/_locales/pt-PT.json +190 -182
  196. package/dist/_locales/th-TH.json +13 -5
  197. package/dist/_locales/zh-SG.json +10 -2
  198. package/dist/_locales/zh-TW.json +16 -8
  199. package/dist/_storyHelpers_/components/Deprecation.styles.js +1 -1
  200. package/dist/_storyHelpers_/components/StoryGrid.js +3 -3
  201. package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +3 -3
  202. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  203. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +24 -24
  204. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  205. package/dist/_typedoc/Banner/Banner.types.json +13 -13
  206. package/dist/_typedoc/Box/Box.types.json +68 -68
  207. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
  208. package/dist/_typedoc/Button/Button.types.json +13 -13
  209. package/dist/_typedoc/Calendar/Calendar.types.json +89 -89
  210. package/dist/_typedoc/Card/Card.types.json +6 -6
  211. package/dist/_typedoc/Checkbox/Checkbox.types.json +8 -8
  212. package/dist/_typedoc/ContactItem/ContactItem.types.json +12 -10
  213. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  214. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  215. package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
  216. package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
  217. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +30 -30
  218. package/dist/_typedoc/Dropzone/Dropzone.types.json +44 -44
  219. package/dist/_typedoc/EmptyState/EmptyState.types.json +16 -16
  220. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  221. package/dist/_typedoc/FileSelect/FileSelect.types.json +27 -27
  222. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  223. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  224. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
  225. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  226. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  227. package/dist/_typedoc/Form/Form.types.json +794 -754
  228. package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
  229. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  230. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +52 -52
  231. package/dist/_typedoc/Input/Input.types.json +2 -2
  232. package/dist/_typedoc/Link/Link.types.json +1 -1
  233. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  234. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  235. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +77 -77
  236. package/dist/_typedoc/Modal/Modal.types.json +46 -46
  237. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +31 -31
  238. package/dist/_typedoc/NextTile/NextTile.types.json +32 -32
  239. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  240. package/dist/_typedoc/NumberInput/NumberInput.types.json +48 -48
  241. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +34 -34
  242. package/dist/_typedoc/PageLayout/PageLayout.types.json +26 -26
  243. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  244. package/dist/_typedoc/Panel/Panel.types.json +30 -30
  245. package/dist/_typedoc/Pill/Pill.types.json +2 -2
  246. package/dist/_typedoc/PillSelect/PillSelect.types.json +51 -51
  247. package/dist/_typedoc/Popover/Popover.types.json +15 -15
  248. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +7 -7
  249. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  250. package/dist/_typedoc/Required/Required.types.json +5 -5
  251. package/dist/_typedoc/Search/Search.types.json +18 -18
  252. package/dist/_typedoc/Section/Section.types.json +15 -15
  253. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
  254. package/dist/_typedoc/Select/Select.types.json +64 -64
  255. package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
  256. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  257. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  258. package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +14 -14
  259. package/dist/_typedoc/Table/Table.types.json +113 -103
  260. package/dist/_typedoc/Tabs/Tabs.types.json +20 -20
  261. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
  262. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  263. package/dist/_typedoc/TextEditor/TextEditor.types.json +29 -9
  264. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
  265. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  266. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +43 -43
  267. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +29 -29
  268. package/dist/_typedoc/Tile/Tile.types.json +8 -8
  269. package/dist/_typedoc/Title/Title.types.json +1 -1
  270. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  271. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
  272. package/dist/_typedoc/Token/Token.types.json +7 -7
  273. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  274. package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +8 -8
  275. package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
  276. package/dist/_typedoc/Tree/Tree.types.json +111 -86
  277. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  278. package/dist/_typedoc/Typography/Typography.types.json +9 -9
  279. package/dist/_typedoc/_utils/types.json +3 -3
  280. package/dist/_typedoc/deprecations.json +1 -1
  281. package/dist/_utils/a11y.d.ts +1 -0
  282. package/dist/_utils/a11y.js +8 -0
  283. package/dist/_utils/a11y.js.map +1 -0
  284. package/package.json +1 -1
@@ -164,6 +164,22 @@ export var OverlayTrigger = /*#__PURE__*/React.forwardRef(function OverlayTrigge
164
164
  trigger: trigger,
165
165
  triggerRef: triggerElRef
166
166
  });
167
+
168
+ // Enable Escape key dismissal for hover-triggered overlays.
169
+ React.useEffect(function () {
170
+ var hasHoverTrigger = triggers.includes('hover');
171
+ if (!visibility.isVisible || !hasHoverTrigger) return;
172
+ var onKeyDown = function onKeyDown(e) {
173
+ if (e.key !== 'Escape' && e.key !== 'Esc') return;
174
+ delayedToggle.disable(e);
175
+ e.preventDefault();
176
+ e.stopPropagation();
177
+ };
178
+ document.addEventListener('keydown', onKeyDown, true);
179
+ return function () {
180
+ document.removeEventListener('keydown', onKeyDown, true);
181
+ };
182
+ }, [triggers, visibility.isVisible, delayedToggle]);
167
183
  var triggerElement = typeof children === 'function' ? children(triggerApi) : children;
168
184
  var overlayId = useId();
169
185
  var _useOverlayTriggerA = useOverlayTriggerA11y({
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayTrigger.js","names":["arrow","floatingArrow","flip","floatingFlip","limitShift","offset","floatingOffset","shift","floatingShift","size","floatingSize","FocusScope","useId","React","Arrow","arrowSize","useOverlay","Portal","useClickOutside","DelayedToggleContext","useDelayedToggle","useDelayedToggleContext","Trigger","useTrigger","useVisibility","mergeRefs","useOverlayTriggerA11y","ClickOutside","_ref","container","onClickOutside","refs","createElement","Fragment","OverlayTrigger","forwardRef","_ref2","ref","_ref2$afterHide","afterHide","_ref2$afterShow","afterShow","ariaDescribedby","ariaDetails","ariaLabel","ariaLabelledby","autoFocus","_ref2$beforeHide","beforeHide","_ref2$beforeShow","beforeShow","_ref2$canFlip","canFlip","children","_ref2$clickOutsideIgn","clickOutsideIgnoreRefs","containFocus","_ref2$hideDelay","hideDelay","hideKeys_","hideKeys","_ref2$initialIsVisibl","initialIsVisible","overlay","_ref2$padding","padding","_ref2$placement","placement","_ref2$restoreFocusOnH","restoreFocusOnHide","_ref2$showDelay","showDelay","_ref2$showKeys","showKeys","_ref2$shrinkOverlay","shrinkOverlay","trackAriaExpanded","_ref2$trigger","trigger","_ref2$arrow","overlayApiRef","overlayRef","role","_ref2$passA11yPropsTo","passA11yPropsToOverlay","isDialogRole","includes","console","warn","concat","target","triggerElRef","useRef","overlayElRef","_React$useState","useState","_React$useState2","_slicedToArray","referenceElement","setReferenceElement","clickedOutsideRef","visibility","useImperativeHandle","show","hide","triggers","useMemo","Array","isArray","useEffect","indexOf","isVisible","current","focus","delayedToggle","beforeDisable","beforeEnable","disableDelay","enableDelay","isEnabled","onDisable","onEnable","triggerApi","enable","disable","enableKeys","disableKeys","triggerRef","triggerElement","overlayId","_useOverlayTriggerA","canPropOverlayUp","isValidElement","id","isOpen","wrapperProps","overlayProps","portalProps","triggerProps","focusScopeProps","labelProps","hasAriaExpanded","wrappedTriggerElement","cloneElement","_objectSpread","open","Provider","value","event","_toConsumableArray","_extends","TriggerOverlay","contain","restoreFocus","overlayCloneProps","CloseOnFocus","_ref3","style","height","position","top","width","onFocus","opacity","useOverlayTriggerContext","_useDelayedToggleCont","toggle","_ref4","arrowRef","arrowPadding","middleware","mainAxis","limiter","apply","_ref5","elements","Object","assign","floating","minWidth","reference","getBoundingClientRect","element","filter","_useOverlay","isPositioned","overlayStyle","referenceRefCallback","referenceRef","middlewareData","currentPlacement","mergedRefs","shownStyles","left"],"sources":["../../src/OverlayTrigger/OverlayTrigger.tsx"],"sourcesContent":["import {\n arrow as floatingArrow,\n flip as floatingFlip,\n limitShift,\n offset as floatingOffset,\n shift as floatingShift,\n size as floatingSize,\n} from '@floating-ui/react-dom'\nimport { FocusScope } from '@react-aria/focus'\nimport { useId } from '@react-aria/utils'\nimport React from 'react'\nimport { Arrow } from '../Overlay/OverlayArrow'\nimport { arrowSize } from '../Overlay/OverlayArrow.styles'\nimport type { OverlayMiddleware } from '../Overlay/useOverlay'\nimport { useOverlay } from '../Overlay/useOverlay'\nimport { Portal } from '../Portal'\nimport type { ClickOutsideConfig } from '../_hooks/ClickOutside'\nimport { useClickOutside } from '../_hooks/ClickOutside'\nimport {\n DelayedToggleContext,\n useDelayedToggle,\n useDelayedToggleContext,\n} from '../_hooks/DelayedToggle'\nimport type { TriggerApi } from '../_hooks/Trigger'\nimport { Trigger, useTrigger } from '../_hooks/Trigger'\nimport { useVisibility } from '../_hooks/Visibility'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { Placement } from '../_utils/placement'\nimport type { ReactElementWithRef } from '../_utils/types'\nimport { useOverlayTriggerA11y } from './a11yPresets'\nimport type {\n DeprecatedOverlayTriggerRef,\n OverlayTriggerProps,\n} from './OverlayTrigger.types'\n\nconst ClickOutside = ({\n container,\n onClickOutside,\n refs,\n}: ClickOutsideConfig) => {\n useClickOutside({\n onClickOutside,\n refs,\n container,\n })\n\n return <></>\n}\n\n/**\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-overlaytrigger--demo)\n\n */\nexport const OverlayTrigger = React.forwardRef<\n DeprecatedOverlayTriggerRef,\n OverlayTriggerProps\n>(function OverlayTrigger(\n {\n afterHide = () => {},\n afterShow = () => {},\n ['aria-describedby']: ariaDescribedby,\n ['aria-details']: ariaDetails,\n ['aria-label']: ariaLabel,\n ['aria-labelledby']: ariaLabelledby,\n autoFocus,\n beforeHide = () => true,\n beforeShow = () => true,\n canFlip = true,\n children,\n clickOutsideIgnoreRefs = [],\n containFocus,\n container,\n hideDelay = 100,\n hideKeys: hideKeys_,\n initialIsVisible = false,\n overlay,\n padding = 2,\n placement = 'top',\n restoreFocusOnHide = true, // TODO: change default to be false, but that is a breaking change\n showDelay = 0,\n showKeys = ['ArrowDown', 'Down'],\n shrinkOverlay = false,\n trackAriaExpanded,\n trigger = 'click',\n arrow = false,\n overlayRef: overlayApiRef,\n role,\n passA11yPropsToOverlay = false,\n },\n ref\n) {\n const isDialogRole = role === 'dialog'\n\n if (isDialogRole && (trigger === 'hover' || trigger?.includes('hover'))) {\n console.warn(\n `@procore/core-react: OverlayTigger has role ${role} and a hover trigger, this may cause weird focus management and is unrecommended. Review autoFocus prop.`\n )\n }\n\n const hideKeys = hideKeys_ ?? {\n // Note by default OverlayTrigger closes on tab. Dialog role changes the default.\n overlay:\n containFocus ?? isDialogRole\n ? ['Escape', 'Esc']\n : ['Escape', 'Esc', 'Tab'],\n target: ['Escape', 'Esc'],\n }\n\n const triggerElRef = React.useRef<HTMLElement>(null)\n const overlayElRef = React.useRef<HTMLElement>(null)\n const [referenceElement, setReferenceElement] =\n React.useState<HTMLElement | null>(null)\n const clickedOutsideRef = React.useRef(true)\n\n const visibility = useVisibility({\n afterHide,\n afterShow,\n initialIsVisible,\n })\n\n React.useImperativeHandle(overlayApiRef, () => ({\n show: visibility.show,\n hide: visibility.hide,\n }))\n\n const triggers = React.useMemo(\n () => (Array.isArray(trigger) ? trigger : [trigger]),\n [trigger]\n )\n\n React.useEffect(() => {\n if (triggers.indexOf('none') >= 0 && visibility.isVisible) {\n visibility.hide()\n }\n if (triggers.indexOf('always') >= 0 && !visibility.isVisible) {\n visibility.show()\n }\n }, [triggers, visibility.isVisible])\n\n // TODO delete in a separate branch for testing and rely only on FocusScope\n React.useEffect(() => {\n if (\n [true, 'core-react'].includes(restoreFocusOnHide) &&\n !visibility.isVisible &&\n !clickedOutsideRef.current\n ) {\n triggerElRef.current && triggerElRef.current.focus()\n }\n\n clickedOutsideRef.current = false\n }, [restoreFocusOnHide, triggerElRef, visibility.isVisible])\n\n const delayedToggle = useDelayedToggle({\n beforeDisable: beforeHide,\n beforeEnable: beforeShow,\n disableDelay: hideDelay,\n enableDelay: showDelay,\n isEnabled: visibility.isVisible,\n onDisable: visibility.hide,\n onEnable: visibility.show,\n })\n\n const triggerApi = useTrigger({\n isEnabled: visibility.isVisible,\n enable: delayedToggle.enable,\n disable: delayedToggle.disable,\n enableKeys: showKeys,\n disableKeys: hideKeys.target,\n trigger,\n triggerRef: triggerElRef,\n })\n\n const triggerElement =\n typeof children === 'function'\n ? (children as (props: TriggerApi) => ReactElementWithRef)(triggerApi)\n : (children as ReactElementWithRef)\n\n const overlayId = useId()\n\n const {\n wrapperProps,\n overlayProps,\n portalProps,\n triggerProps,\n focusScopeProps,\n // Does not use. User needs to wire up when using dialog role!\n labelProps,\n } = useOverlayTriggerA11y({\n canPropOverlayUp: React.isValidElement(overlay) && passA11yPropsToOverlay,\n 'aria-describedby': ariaDescribedby,\n 'aria-details': ariaDetails,\n 'aria-labelledby': ariaLabelledby,\n 'aria-label': ariaLabel,\n id: overlayId,\n isOpen: visibility.isVisible,\n role,\n })\n\n const hasAriaExpanded = trackAriaExpanded\n ? { 'aria-expanded': triggerApi.isVisible }\n : {}\n\n const wrappedTriggerElement = React.cloneElement(triggerElement, {\n ...hasAriaExpanded,\n open: triggerApi.isVisible,\n ref: triggerElement.ref\n ? mergeRefs(triggerElement.ref, ref, triggerElRef, setReferenceElement)\n : mergeRefs(ref, triggerElRef, setReferenceElement),\n ...triggerProps,\n })\n\n return (\n <DelayedToggleContext.Provider value={delayedToggle}>\n {wrappedTriggerElement}\n {visibility.isVisible && (\n <>\n <ClickOutside\n {...{\n container: container,\n onClickOutside: (event) => {\n clickedOutsideRef.current = true\n delayedToggle.disable(event)\n },\n refs: [overlayElRef, triggerElRef, ...clickOutsideIgnoreRefs],\n }}\n />\n <Portal container={container} {...portalProps}>\n <Trigger\n {...{\n isEnabled: visibility.isVisible,\n enable: delayedToggle.enable,\n disable: delayedToggle.disable,\n disableKeys: hideKeys.overlay,\n trigger: trigger === 'click' ? 'none' : trigger,\n triggerRef: overlayElRef,\n }}\n >\n <TriggerOverlay\n autoFocus={autoFocus ?? focusScopeProps.autoFocus}\n containFocus={containFocus ?? focusScopeProps.contain}\n restoreFocus={[true, 'react-aria-focus-scope'].includes(\n restoreFocusOnHide\n )}\n ref={overlayElRef}\n referenceElement={referenceElement}\n overlay={overlay}\n shrinkOverlay={shrinkOverlay}\n placement={placement}\n padding={padding}\n canFlip={canFlip}\n arrow={arrow}\n wrapperProps={wrapperProps}\n overlayCloneProps={overlayProps}\n />\n </Trigger>\n </Portal>\n </>\n )}\n </DelayedToggleContext.Provider>\n )\n})\n\nexport function CloseOnFocus({ hide }: { hide: (event: any) => any }) {\n return (\n // in IE, the hidden input's cursor appears right under the menu\n // this positions it arbitrarily away where it won't be noticed\n <div\n style={{\n height: 0,\n position: 'absolute',\n top: 1000,\n width: 0,\n }}\n >\n <input onFocus={hide} style={{ opacity: 0 }} />\n </div>\n )\n}\n\nexport function useOverlayTriggerContext() {\n const { enable: show, disable: hide, toggle } = useDelayedToggleContext()\n\n return {\n hide,\n show,\n toggle,\n }\n}\n\ninterface TriggerOverlayProps {\n containFocus?: boolean\n autoFocus?: boolean\n restoreFocus?: boolean\n placement: Placement\n canFlip?: boolean\n arrow?: boolean\n padding: number\n shrinkOverlay: boolean\n overlay: React.ReactNode\n overlayCloneProps: any\n wrapperProps: Record<string, unknown>\n referenceElement: HTMLElement | null\n}\n\nexport const TriggerOverlay = React.forwardRef<\n HTMLElement,\n TriggerOverlayProps\n>(function (\n {\n autoFocus,\n containFocus,\n restoreFocus,\n placement,\n canFlip,\n arrow,\n padding,\n shrinkOverlay,\n overlay,\n referenceElement,\n wrapperProps,\n overlayCloneProps,\n },\n ref\n) {\n const arrowRef = React.useRef<HTMLDivElement>(null)\n\n const arrowPadding = arrowSize / 2 + 1\n const middleware = [\n floatingOffset({ mainAxis: arrow ? padding + arrowPadding : padding }),\n canFlip ? floatingFlip() : null,\n floatingShift({ limiter: limitShift() }),\n !shrinkOverlay\n ? floatingSize({\n apply({ elements }) {\n Object.assign(elements.floating.style, {\n minWidth: `${elements.reference.getBoundingClientRect().width}px`,\n })\n },\n })\n : null,\n floatingArrow({\n element: arrowRef,\n padding: 6,\n }),\n ].filter((middleware) => middleware !== null) as OverlayMiddleware[]\n\n const {\n isPositioned,\n overlayStyle,\n referenceRef: referenceRefCallback,\n overlayRef,\n middlewareData,\n placement: currentPlacement,\n } = useOverlay({\n middleware,\n placement,\n })\n\n React.useEffect(() => {\n referenceRefCallback(referenceElement)\n }, [referenceElement, referenceRefCallback])\n\n const mergedRefs = mergeRefs(ref, overlayRef)\n\n // TODO could just move clone and clone props to parent\n if (!React.isValidElement(overlay) && overlayCloneProps) {\n console.warn(\n 'PLEASE REPORT ISSUE @procore/core-react: OverlayTrigger TriggerOverlay is not a valid React element but wants to clone \"overlay\" with props. Cannot pass props to the element.'\n )\n }\n\n const shownStyles: React.CSSProperties = {\n ...overlayStyle,\n left: isPositioned ? overlayStyle.left : '-99999px',\n top: isPositioned ? overlayStyle.top : '-99999px',\n }\n\n return (\n <FocusScope\n autoFocus={autoFocus}\n contain={containFocus}\n restoreFocus={restoreFocus}\n >\n <div\n data-qa=\"core-overlay-trigger-overlay-wrapper\"\n ref={mergedRefs}\n style={shownStyles}\n {...wrapperProps}\n >\n {React.isValidElement(overlay)\n ? React.cloneElement(overlay, overlayCloneProps)\n : overlay}\n {arrow && (\n <Arrow\n ref={arrowRef}\n arrow={middlewareData.arrow}\n placement={currentPlacement}\n />\n )}\n </div>\n </FocusScope>\n )\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"OverlayTrigger.js","names":["arrow","floatingArrow","flip","floatingFlip","limitShift","offset","floatingOffset","shift","floatingShift","size","floatingSize","FocusScope","useId","React","Arrow","arrowSize","useOverlay","Portal","useClickOutside","DelayedToggleContext","useDelayedToggle","useDelayedToggleContext","Trigger","useTrigger","useVisibility","mergeRefs","useOverlayTriggerA11y","ClickOutside","_ref","container","onClickOutside","refs","createElement","Fragment","OverlayTrigger","forwardRef","_ref2","ref","_ref2$afterHide","afterHide","_ref2$afterShow","afterShow","ariaDescribedby","ariaDetails","ariaLabel","ariaLabelledby","autoFocus","_ref2$beforeHide","beforeHide","_ref2$beforeShow","beforeShow","_ref2$canFlip","canFlip","children","_ref2$clickOutsideIgn","clickOutsideIgnoreRefs","containFocus","_ref2$hideDelay","hideDelay","hideKeys_","hideKeys","_ref2$initialIsVisibl","initialIsVisible","overlay","_ref2$padding","padding","_ref2$placement","placement","_ref2$restoreFocusOnH","restoreFocusOnHide","_ref2$showDelay","showDelay","_ref2$showKeys","showKeys","_ref2$shrinkOverlay","shrinkOverlay","trackAriaExpanded","_ref2$trigger","trigger","_ref2$arrow","overlayApiRef","overlayRef","role","_ref2$passA11yPropsTo","passA11yPropsToOverlay","isDialogRole","includes","console","warn","concat","target","triggerElRef","useRef","overlayElRef","_React$useState","useState","_React$useState2","_slicedToArray","referenceElement","setReferenceElement","clickedOutsideRef","visibility","useImperativeHandle","show","hide","triggers","useMemo","Array","isArray","useEffect","indexOf","isVisible","current","focus","delayedToggle","beforeDisable","beforeEnable","disableDelay","enableDelay","isEnabled","onDisable","onEnable","triggerApi","enable","disable","enableKeys","disableKeys","triggerRef","hasHoverTrigger","onKeyDown","e","key","preventDefault","stopPropagation","document","addEventListener","removeEventListener","triggerElement","overlayId","_useOverlayTriggerA","canPropOverlayUp","isValidElement","id","isOpen","wrapperProps","overlayProps","portalProps","triggerProps","focusScopeProps","labelProps","hasAriaExpanded","wrappedTriggerElement","cloneElement","_objectSpread","open","Provider","value","event","_toConsumableArray","_extends","TriggerOverlay","contain","restoreFocus","overlayCloneProps","CloseOnFocus","_ref3","style","height","position","top","width","onFocus","opacity","useOverlayTriggerContext","_useDelayedToggleCont","toggle","_ref4","arrowRef","arrowPadding","middleware","mainAxis","limiter","apply","_ref5","elements","Object","assign","floating","minWidth","reference","getBoundingClientRect","element","filter","_useOverlay","isPositioned","overlayStyle","referenceRefCallback","referenceRef","middlewareData","currentPlacement","mergedRefs","shownStyles","left"],"sources":["../../src/OverlayTrigger/OverlayTrigger.tsx"],"sourcesContent":["import {\n arrow as floatingArrow,\n flip as floatingFlip,\n limitShift,\n offset as floatingOffset,\n shift as floatingShift,\n size as floatingSize,\n} from '@floating-ui/react-dom'\nimport { FocusScope } from '@react-aria/focus'\nimport { useId } from '@react-aria/utils'\nimport React from 'react'\nimport { Arrow } from '../Overlay/OverlayArrow'\nimport { arrowSize } from '../Overlay/OverlayArrow.styles'\nimport type { OverlayMiddleware } from '../Overlay/useOverlay'\nimport { useOverlay } from '../Overlay/useOverlay'\nimport { Portal } from '../Portal'\nimport type { ClickOutsideConfig } from '../_hooks/ClickOutside'\nimport { useClickOutside } from '../_hooks/ClickOutside'\nimport {\n DelayedToggleContext,\n useDelayedToggle,\n useDelayedToggleContext,\n} from '../_hooks/DelayedToggle'\nimport type { TriggerApi } from '../_hooks/Trigger'\nimport { Trigger, useTrigger } from '../_hooks/Trigger'\nimport { useVisibility } from '../_hooks/Visibility'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { Placement } from '../_utils/placement'\nimport type { ReactElementWithRef } from '../_utils/types'\nimport { useOverlayTriggerA11y } from './a11yPresets'\nimport type {\n DeprecatedOverlayTriggerRef,\n OverlayTriggerProps,\n} from './OverlayTrigger.types'\n\nconst ClickOutside = ({\n container,\n onClickOutside,\n refs,\n}: ClickOutsideConfig) => {\n useClickOutside({\n onClickOutside,\n refs,\n container,\n })\n\n return <></>\n}\n\n/**\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-overlaytrigger--demo)\n\n */\nexport const OverlayTrigger = React.forwardRef<\n DeprecatedOverlayTriggerRef,\n OverlayTriggerProps\n>(function OverlayTrigger(\n {\n afterHide = () => {},\n afterShow = () => {},\n ['aria-describedby']: ariaDescribedby,\n ['aria-details']: ariaDetails,\n ['aria-label']: ariaLabel,\n ['aria-labelledby']: ariaLabelledby,\n autoFocus,\n beforeHide = () => true,\n beforeShow = () => true,\n canFlip = true,\n children,\n clickOutsideIgnoreRefs = [],\n containFocus,\n container,\n hideDelay = 100,\n hideKeys: hideKeys_,\n initialIsVisible = false,\n overlay,\n padding = 2,\n placement = 'top',\n restoreFocusOnHide = true, // TODO: change default to be false, but that is a breaking change\n showDelay = 0,\n showKeys = ['ArrowDown', 'Down'],\n shrinkOverlay = false,\n trackAriaExpanded,\n trigger = 'click',\n arrow = false,\n overlayRef: overlayApiRef,\n role,\n passA11yPropsToOverlay = false,\n },\n ref\n) {\n const isDialogRole = role === 'dialog'\n\n if (isDialogRole && (trigger === 'hover' || trigger?.includes('hover'))) {\n console.warn(\n `@procore/core-react: OverlayTigger has role ${role} and a hover trigger, this may cause weird focus management and is unrecommended. Review autoFocus prop.`\n )\n }\n\n const hideKeys = hideKeys_ ?? {\n // Note by default OverlayTrigger closes on tab. Dialog role changes the default.\n overlay:\n containFocus ?? isDialogRole\n ? ['Escape', 'Esc']\n : ['Escape', 'Esc', 'Tab'],\n target: ['Escape', 'Esc'],\n }\n\n const triggerElRef = React.useRef<HTMLElement>(null)\n const overlayElRef = React.useRef<HTMLElement>(null)\n const [referenceElement, setReferenceElement] =\n React.useState<HTMLElement | null>(null)\n const clickedOutsideRef = React.useRef(true)\n\n const visibility = useVisibility({\n afterHide,\n afterShow,\n initialIsVisible,\n })\n\n React.useImperativeHandle(overlayApiRef, () => ({\n show: visibility.show,\n hide: visibility.hide,\n }))\n\n const triggers = React.useMemo(\n () => (Array.isArray(trigger) ? trigger : [trigger]),\n [trigger]\n )\n\n React.useEffect(() => {\n if (triggers.indexOf('none') >= 0 && visibility.isVisible) {\n visibility.hide()\n }\n if (triggers.indexOf('always') >= 0 && !visibility.isVisible) {\n visibility.show()\n }\n }, [triggers, visibility.isVisible])\n\n // TODO delete in a separate branch for testing and rely only on FocusScope\n React.useEffect(() => {\n if (\n [true, 'core-react'].includes(restoreFocusOnHide) &&\n !visibility.isVisible &&\n !clickedOutsideRef.current\n ) {\n triggerElRef.current && triggerElRef.current.focus()\n }\n\n clickedOutsideRef.current = false\n }, [restoreFocusOnHide, triggerElRef, visibility.isVisible])\n\n const delayedToggle = useDelayedToggle({\n beforeDisable: beforeHide,\n beforeEnable: beforeShow,\n disableDelay: hideDelay,\n enableDelay: showDelay,\n isEnabled: visibility.isVisible,\n onDisable: visibility.hide,\n onEnable: visibility.show,\n })\n\n const triggerApi = useTrigger({\n isEnabled: visibility.isVisible,\n enable: delayedToggle.enable,\n disable: delayedToggle.disable,\n enableKeys: showKeys,\n disableKeys: hideKeys.target,\n trigger,\n triggerRef: triggerElRef,\n })\n\n // Enable Escape key dismissal for hover-triggered overlays.\n React.useEffect(() => {\n const hasHoverTrigger = triggers.includes('hover')\n if (!visibility.isVisible || !hasHoverTrigger) return\n\n const onKeyDown = (e: KeyboardEvent) => {\n if (e.key !== 'Escape' && e.key !== 'Esc') return\n\n delayedToggle.disable(e)\n e.preventDefault()\n e.stopPropagation()\n }\n\n document.addEventListener('keydown', onKeyDown, true)\n return () => {\n document.removeEventListener('keydown', onKeyDown, true)\n }\n }, [triggers, visibility.isVisible, delayedToggle])\n\n const triggerElement =\n typeof children === 'function'\n ? (children as (props: TriggerApi) => ReactElementWithRef)(triggerApi)\n : (children as ReactElementWithRef)\n\n const overlayId = useId()\n\n const {\n wrapperProps,\n overlayProps,\n portalProps,\n triggerProps,\n focusScopeProps,\n // Does not use. User needs to wire up when using dialog role!\n labelProps,\n } = useOverlayTriggerA11y({\n canPropOverlayUp: React.isValidElement(overlay) && passA11yPropsToOverlay,\n 'aria-describedby': ariaDescribedby,\n 'aria-details': ariaDetails,\n 'aria-labelledby': ariaLabelledby,\n 'aria-label': ariaLabel,\n id: overlayId,\n isOpen: visibility.isVisible,\n role,\n })\n\n const hasAriaExpanded = trackAriaExpanded\n ? { 'aria-expanded': triggerApi.isVisible }\n : {}\n\n const wrappedTriggerElement = React.cloneElement(triggerElement, {\n ...hasAriaExpanded,\n open: triggerApi.isVisible,\n ref: triggerElement.ref\n ? mergeRefs(triggerElement.ref, ref, triggerElRef, setReferenceElement)\n : mergeRefs(ref, triggerElRef, setReferenceElement),\n ...triggerProps,\n })\n\n return (\n <DelayedToggleContext.Provider value={delayedToggle}>\n {wrappedTriggerElement}\n {visibility.isVisible && (\n <>\n <ClickOutside\n {...{\n container: container,\n onClickOutside: (event) => {\n clickedOutsideRef.current = true\n delayedToggle.disable(event)\n },\n refs: [overlayElRef, triggerElRef, ...clickOutsideIgnoreRefs],\n }}\n />\n <Portal container={container} {...portalProps}>\n <Trigger\n {...{\n isEnabled: visibility.isVisible,\n enable: delayedToggle.enable,\n disable: delayedToggle.disable,\n disableKeys: hideKeys.overlay,\n trigger: trigger === 'click' ? 'none' : trigger,\n triggerRef: overlayElRef,\n }}\n >\n <TriggerOverlay\n autoFocus={autoFocus ?? focusScopeProps.autoFocus}\n containFocus={containFocus ?? focusScopeProps.contain}\n restoreFocus={[true, 'react-aria-focus-scope'].includes(\n restoreFocusOnHide\n )}\n ref={overlayElRef}\n referenceElement={referenceElement}\n overlay={overlay}\n shrinkOverlay={shrinkOverlay}\n placement={placement}\n padding={padding}\n canFlip={canFlip}\n arrow={arrow}\n wrapperProps={wrapperProps}\n overlayCloneProps={overlayProps}\n />\n </Trigger>\n </Portal>\n </>\n )}\n </DelayedToggleContext.Provider>\n )\n})\n\nexport function CloseOnFocus({ hide }: { hide: (event: any) => any }) {\n return (\n // in IE, the hidden input's cursor appears right under the menu\n // this positions it arbitrarily away where it won't be noticed\n <div\n style={{\n height: 0,\n position: 'absolute',\n top: 1000,\n width: 0,\n }}\n >\n <input onFocus={hide} style={{ opacity: 0 }} />\n </div>\n )\n}\n\nexport function useOverlayTriggerContext() {\n const { enable: show, disable: hide, toggle } = useDelayedToggleContext()\n\n return {\n hide,\n show,\n toggle,\n }\n}\n\ninterface TriggerOverlayProps {\n containFocus?: boolean\n autoFocus?: boolean\n restoreFocus?: boolean\n placement: Placement\n canFlip?: boolean\n arrow?: boolean\n padding: number\n shrinkOverlay: boolean\n overlay: React.ReactNode\n overlayCloneProps: any\n wrapperProps: Record<string, unknown>\n referenceElement: HTMLElement | null\n}\n\nexport const TriggerOverlay = React.forwardRef<\n HTMLElement,\n TriggerOverlayProps\n>(function (\n {\n autoFocus,\n containFocus,\n restoreFocus,\n placement,\n canFlip,\n arrow,\n padding,\n shrinkOverlay,\n overlay,\n referenceElement,\n wrapperProps,\n overlayCloneProps,\n },\n ref\n) {\n const arrowRef = React.useRef<HTMLDivElement>(null)\n\n const arrowPadding = arrowSize / 2 + 1\n const middleware = [\n floatingOffset({ mainAxis: arrow ? padding + arrowPadding : padding }),\n canFlip ? floatingFlip() : null,\n floatingShift({ limiter: limitShift() }),\n !shrinkOverlay\n ? floatingSize({\n apply({ elements }) {\n Object.assign(elements.floating.style, {\n minWidth: `${elements.reference.getBoundingClientRect().width}px`,\n })\n },\n })\n : null,\n floatingArrow({\n element: arrowRef,\n padding: 6,\n }),\n ].filter((middleware) => middleware !== null) as OverlayMiddleware[]\n\n const {\n isPositioned,\n overlayStyle,\n referenceRef: referenceRefCallback,\n overlayRef,\n middlewareData,\n placement: currentPlacement,\n } = useOverlay({\n middleware,\n placement,\n })\n\n React.useEffect(() => {\n referenceRefCallback(referenceElement)\n }, [referenceElement, referenceRefCallback])\n\n const mergedRefs = mergeRefs(ref, overlayRef)\n\n // TODO could just move clone and clone props to parent\n if (!React.isValidElement(overlay) && overlayCloneProps) {\n console.warn(\n 'PLEASE REPORT ISSUE @procore/core-react: OverlayTrigger TriggerOverlay is not a valid React element but wants to clone \"overlay\" with props. Cannot pass props to the element.'\n )\n }\n\n const shownStyles: React.CSSProperties = {\n ...overlayStyle,\n left: isPositioned ? overlayStyle.left : '-99999px',\n top: isPositioned ? overlayStyle.top : '-99999px',\n }\n\n return (\n <FocusScope\n autoFocus={autoFocus}\n contain={containFocus}\n restoreFocus={restoreFocus}\n >\n <div\n data-qa=\"core-overlay-trigger-overlay-wrapper\"\n ref={mergedRefs}\n style={shownStyles}\n {...wrapperProps}\n >\n {React.isValidElement(overlay)\n ? React.cloneElement(overlay, overlayCloneProps)\n : overlay}\n {arrow && (\n <Arrow\n ref={arrowRef}\n arrow={middlewareData.arrow}\n placement={currentPlacement}\n />\n )}\n </div>\n </FocusScope>\n )\n})\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,SACEA,KAAK,IAAIC,aAAa,EACtBC,IAAI,IAAIC,YAAY,EACpBC,UAAU,EACVC,MAAM,IAAIC,cAAc,EACxBC,KAAK,IAAIC,aAAa,EACtBC,IAAI,IAAIC,YAAY,QACf,wBAAwB;AAC/B,SAASC,UAAU,QAAQ,mBAAmB;AAC9C,SAASC,KAAK,QAAQ,mBAAmB;AACzC,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,KAAK,QAAQ,yBAAyB;AAC/C,SAASC,SAAS,QAAQ,gCAAgC;AAE1D,SAASC,UAAU,QAAQ,uBAAuB;AAClD,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,eAAe,QAAQ,wBAAwB;AACxD,SACEC,oBAAoB,EACpBC,gBAAgB,EAChBC,uBAAuB,QAClB,yBAAyB;AAEhC,SAASC,OAAO,EAAEC,UAAU,QAAQ,mBAAmB;AACvD,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,SAAS,QAAQ,qBAAqB;AAG/C,SAASC,qBAAqB,QAAQ,eAAe;AAMrD,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA,EAIQ;EAAA,IAHxBC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,cAAc,GAAAF,IAAA,CAAdE,cAAc;IACdC,IAAI,GAAAH,IAAA,CAAJG,IAAI;EAEJb,eAAe,CAAC;IACdY,cAAc,EAAdA,cAAc;IACdC,IAAI,EAAJA,IAAI;IACJF,SAAS,EAATA;EACF,CAAC,CAAC;EAEF,oBAAOhB,KAAA,CAAAmB,aAAA,CAAAnB,KAAA,CAAAoB,QAAA,MAAI,CAAC;AACd,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,cAAc,gBAAGrB,KAAK,CAACsB,UAAU,CAG5C,SAASD,cAAcA,CAAAE,KAAA,EAiCvBC,GAAG,EACH;EAAA,IAAAC,eAAA,GAAAF,KAAA,CAhCEG,SAAS;IAATA,SAAS,GAAAD,eAAA,cAAG,YAAM,CAAC,CAAC,GAAAA,eAAA;IAAAE,eAAA,GAAAJ,KAAA,CACpBK,SAAS;IAATA,SAAS,GAAAD,eAAA,cAAG,YAAM,CAAC,CAAC,GAAAA,eAAA;IACEE,eAAe,GAAAN,KAAA,CAApC,kBAAkB;IACDO,WAAW,GAAAP,KAAA,CAA5B,cAAc;IACCQ,SAAS,GAAAR,KAAA,CAAxB,YAAY;IACQS,cAAc,GAAAT,KAAA,CAAlC,iBAAiB;IAClBU,SAAS,GAAAV,KAAA,CAATU,SAAS;IAAAC,gBAAA,GAAAX,KAAA,CACTY,UAAU;IAAVA,UAAU,GAAAD,gBAAA,cAAG;MAAA,OAAM,IAAI;IAAA,IAAAA,gBAAA;IAAAE,gBAAA,GAAAb,KAAA,CACvBc,UAAU;IAAVA,UAAU,GAAAD,gBAAA,cAAG;MAAA,OAAM,IAAI;IAAA,IAAAA,gBAAA;IAAAE,aAAA,GAAAf,KAAA,CACvBgB,OAAO;IAAPA,OAAO,GAAAD,aAAA,cAAG,IAAI,GAAAA,aAAA;IACdE,QAAQ,GAAAjB,KAAA,CAARiB,QAAQ;IAAAC,qBAAA,GAAAlB,KAAA,CACRmB,sBAAsB;IAAtBA,sBAAsB,GAAAD,qBAAA,cAAG,EAAE,GAAAA,qBAAA;IAC3BE,YAAY,GAAApB,KAAA,CAAZoB,YAAY;IACZ3B,SAAS,GAAAO,KAAA,CAATP,SAAS;IAAA4B,eAAA,GAAArB,KAAA,CACTsB,SAAS;IAATA,SAAS,GAAAD,eAAA,cAAG,GAAG,GAAAA,eAAA;IACLE,SAAS,GAAAvB,KAAA,CAAnBwB,QAAQ;IAAAC,qBAAA,GAAAzB,KAAA,CACR0B,gBAAgB;IAAhBA,gBAAgB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA;IACxBE,OAAO,GAAA3B,KAAA,CAAP2B,OAAO;IAAAC,aAAA,GAAA5B,KAAA,CACP6B,OAAO;IAAPA,OAAO,GAAAD,aAAA,cAAG,CAAC,GAAAA,aAAA;IAAAE,eAAA,GAAA9B,KAAA,CACX+B,SAAS;IAATA,SAAS,GAAAD,eAAA,cAAG,KAAK,GAAAA,eAAA;IAAAE,qBAAA,GAAAhC,KAAA,CACjBiC,kBAAkB;IAAlBA,kBAAkB,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;IAAAE,eAAA,GAAAlC,KAAA,CACzBmC,SAAS;IAATA,SAAS,GAAAD,eAAA,cAAG,CAAC,GAAAA,eAAA;IAAAE,cAAA,GAAApC,KAAA,CACbqC,QAAQ;IAARA,QAAQ,GAAAD,cAAA,cAAG,CAAC,WAAW,EAAE,MAAM,CAAC,GAAAA,cAAA;IAAAE,mBAAA,GAAAtC,KAAA,CAChCuC,aAAa;IAAbA,aAAa,GAAAD,mBAAA,cAAG,KAAK,GAAAA,mBAAA;IACrBE,iBAAiB,GAAAxC,KAAA,CAAjBwC,iBAAiB;IAAAC,aAAA,GAAAzC,KAAA,CACjB0C,OAAO;IAAPA,OAAO,GAAAD,aAAA,cAAG,OAAO,GAAAA,aAAA;IAAAE,WAAA,GAAA3C,KAAA,CACjBpC,KAAK;IAALA,KAAK,GAAA+E,WAAA,cAAG,KAAK,GAAAA,WAAA;IACDC,aAAa,GAAA5C,KAAA,CAAzB6C,UAAU;IACVC,IAAI,GAAA9C,KAAA,CAAJ8C,IAAI;IAAAC,qBAAA,GAAA/C,KAAA,CACJgD,sBAAsB;IAAtBA,sBAAsB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA;EAIhC,IAAME,YAAY,GAAGH,IAAI,KAAK,QAAQ;EAEtC,IAAIG,YAAY,KAAKP,OAAO,KAAK,OAAO,IAAIA,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEQ,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE;IACvEC,OAAO,CAACC,IAAI,gDAAAC,MAAA,CACqCP,IAAI,6GACrD,CAAC;EACH;EAEA,IAAMtB,QAAQ,GAAGD,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI;IAC5B;IACAI,OAAO,EACL,CAAAP,YAAY,aAAZA,YAAY,cAAZA,YAAY,GAAI6B,YAAY,IACxB,CAAC,QAAQ,EAAE,KAAK,CAAC,GACjB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC;IAC9BK,MAAM,EAAE,CAAC,QAAQ,EAAE,KAAK;EAC1B,CAAC;EAED,IAAMC,YAAY,GAAG9E,KAAK,CAAC+E,MAAM,CAAc,IAAI,CAAC;EACpD,IAAMC,YAAY,GAAGhF,KAAK,CAAC+E,MAAM,CAAc,IAAI,CAAC;EACpD,IAAAE,eAAA,GACEjF,KAAK,CAACkF,QAAQ,CAAqB,IAAI,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAH,eAAA;IADnCI,gBAAgB,GAAAF,gBAAA;IAAEG,mBAAmB,GAAAH,gBAAA;EAE5C,IAAMI,iBAAiB,GAAGvF,KAAK,CAAC+E,MAAM,CAAC,IAAI,CAAC;EAE5C,IAAMS,UAAU,GAAG7E,aAAa,CAAC;IAC/Be,SAAS,EAATA,SAAS;IACTE,SAAS,EAATA,SAAS;IACTqB,gBAAgB,EAAhBA;EACF,CAAC,CAAC;EAEFjD,KAAK,CAACyF,mBAAmB,CAACtB,aAAa,EAAE;IAAA,OAAO;MAC9CuB,IAAI,EAAEF,UAAU,CAACE,IAAI;MACrBC,IAAI,EAAEH,UAAU,CAACG;IACnB,CAAC;EAAA,CAAC,CAAC;EAEH,IAAMC,QAAQ,GAAG5F,KAAK,CAAC6F,OAAO,CAC5B;IAAA,OAAOC,KAAK,CAACC,OAAO,CAAC9B,OAAO,CAAC,GAAGA,OAAO,GAAG,CAACA,OAAO,CAAC;EAAA,CAAC,EACpD,CAACA,OAAO,CACV,CAAC;EAEDjE,KAAK,CAACgG,SAAS,CAAC,YAAM;IACpB,IAAIJ,QAAQ,CAACK,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAIT,UAAU,CAACU,SAAS,EAAE;MACzDV,UAAU,CAACG,IAAI,CAAC,CAAC;IACnB;IACA,IAAIC,QAAQ,CAACK,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAACT,UAAU,CAACU,SAAS,EAAE;MAC5DV,UAAU,CAACE,IAAI,CAAC,CAAC;IACnB;EACF,CAAC,EAAE,CAACE,QAAQ,EAAEJ,UAAU,CAACU,SAAS,CAAC,CAAC;;EAEpC;EACAlG,KAAK,CAACgG,SAAS,CAAC,YAAM;IACpB,IACE,CAAC,IAAI,EAAE,YAAY,CAAC,CAACvB,QAAQ,CAACjB,kBAAkB,CAAC,IACjD,CAACgC,UAAU,CAACU,SAAS,IACrB,CAACX,iBAAiB,CAACY,OAAO,EAC1B;MACArB,YAAY,CAACqB,OAAO,IAAIrB,YAAY,CAACqB,OAAO,CAACC,KAAK,CAAC,CAAC;IACtD;IAEAb,iBAAiB,CAACY,OAAO,GAAG,KAAK;EACnC,CAAC,EAAE,CAAC3C,kBAAkB,EAAEsB,YAAY,EAAEU,UAAU,CAACU,SAAS,CAAC,CAAC;EAE5D,IAAMG,aAAa,GAAG9F,gBAAgB,CAAC;IACrC+F,aAAa,EAAEnE,UAAU;IACzBoE,YAAY,EAAElE,UAAU;IACxBmE,YAAY,EAAE3D,SAAS;IACvB4D,WAAW,EAAE/C,SAAS;IACtBgD,SAAS,EAAElB,UAAU,CAACU,SAAS;IAC/BS,SAAS,EAAEnB,UAAU,CAACG,IAAI;IAC1BiB,QAAQ,EAAEpB,UAAU,CAACE;EACvB,CAAC,CAAC;EAEF,IAAMmB,UAAU,GAAGnG,UAAU,CAAC;IAC5BgG,SAAS,EAAElB,UAAU,CAACU,SAAS;IAC/BY,MAAM,EAAET,aAAa,CAACS,MAAM;IAC5BC,OAAO,EAAEV,aAAa,CAACU,OAAO;IAC9BC,UAAU,EAAEpD,QAAQ;IACpBqD,WAAW,EAAElE,QAAQ,CAAC8B,MAAM;IAC5BZ,OAAO,EAAPA,OAAO;IACPiD,UAAU,EAAEpC;EACd,CAAC,CAAC;;EAEF;EACA9E,KAAK,CAACgG,SAAS,CAAC,YAAM;IACpB,IAAMmB,eAAe,GAAGvB,QAAQ,CAACnB,QAAQ,CAAC,OAAO,CAAC;IAClD,IAAI,CAACe,UAAU,CAACU,SAAS,IAAI,CAACiB,eAAe,EAAE;IAE/C,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAIC,CAAgB,EAAK;MACtC,IAAIA,CAAC,CAACC,GAAG,KAAK,QAAQ,IAAID,CAAC,CAACC,GAAG,KAAK,KAAK,EAAE;MAE3CjB,aAAa,CAACU,OAAO,CAACM,CAAC,CAAC;MACxBA,CAAC,CAACE,cAAc,CAAC,CAAC;MAClBF,CAAC,CAACG,eAAe,CAAC,CAAC;IACrB,CAAC;IAEDC,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAEN,SAAS,EAAE,IAAI,CAAC;IACrD,OAAO,YAAM;MACXK,QAAQ,CAACE,mBAAmB,CAAC,SAAS,EAAEP,SAAS,EAAE,IAAI,CAAC;IAC1D,CAAC;EACH,CAAC,EAAE,CAACxB,QAAQ,EAAEJ,UAAU,CAACU,SAAS,EAAEG,aAAa,CAAC,CAAC;EAEnD,IAAMuB,cAAc,GAClB,OAAOpF,QAAQ,KAAK,UAAU,GACzBA,QAAQ,CAAgDqE,UAAU,CAAC,GACnErE,QAAgC;EAEvC,IAAMqF,SAAS,GAAG9H,KAAK,CAAC,CAAC;EAEzB,IAAA+H,mBAAA,GAQIjH,qBAAqB,CAAC;MACxBkH,gBAAgB,EAAE,aAAA/H,KAAK,CAACgI,cAAc,CAAC9E,OAAO,CAAC,IAAIqB,sBAAsB;MACzE,kBAAkB,EAAE1C,eAAe;MACnC,cAAc,EAAEC,WAAW;MAC3B,iBAAiB,EAAEE,cAAc;MACjC,YAAY,EAAED,SAAS;MACvBkG,EAAE,EAAEJ,SAAS;MACbK,MAAM,EAAE1C,UAAU,CAACU,SAAS;MAC5B7B,IAAI,EAAJA;IACF,CAAC,CAAC;IAhBA8D,YAAY,GAAAL,mBAAA,CAAZK,YAAY;IACZC,YAAY,GAAAN,mBAAA,CAAZM,YAAY;IACZC,WAAW,GAAAP,mBAAA,CAAXO,WAAW;IACXC,YAAY,GAAAR,mBAAA,CAAZQ,YAAY;IACZC,eAAe,GAAAT,mBAAA,CAAfS,eAAe;IAEfC,UAAU,GAAAV,mBAAA,CAAVU,UAAU;EAYZ,IAAMC,eAAe,GAAG1E,iBAAiB,GACrC;IAAE,eAAe,EAAE8C,UAAU,CAACX;EAAU,CAAC,GACzC,CAAC,CAAC;EAEN,IAAMwC,qBAAqB,gBAAG1I,KAAK,CAAC2I,YAAY,CAACf,cAAc,EAAAgB,aAAA,CAAAA,aAAA,KAC1DH,eAAe;IAClBI,IAAI,EAAEhC,UAAU,CAACX,SAAS;IAC1B1E,GAAG,EAAEoG,cAAc,CAACpG,GAAG,GACnBZ,SAAS,CAACgH,cAAc,CAACpG,GAAG,EAAEA,GAAG,EAAEsD,YAAY,EAAEQ,mBAAmB,CAAC,GACrE1E,SAAS,CAACY,GAAG,EAAEsD,YAAY,EAAEQ,mBAAmB;EAAC,GAClDgD,YAAY,CAChB,CAAC;EAEF,oBACEtI,KAAA,CAAAmB,aAAA,CAACb,oBAAoB,CAACwI,QAAQ;IAACC,KAAK,EAAE1C;EAAc,GACjDqC,qBAAqB,EACrBlD,UAAU,CAACU,SAAS,iBACnBlG,KAAA,CAAAmB,aAAA,CAAAnB,KAAA,CAAAoB,QAAA,qBACEpB,KAAA,CAAAmB,aAAA,CAACL,YAAY;IAETE,SAAS,EAAEA,SAAS;IACpBC,cAAc,EAAE,SAAhBA,cAAcA,CAAG+H,KAAK,EAAK;MACzBzD,iBAAiB,CAACY,OAAO,GAAG,IAAI;MAChCE,aAAa,CAACU,OAAO,CAACiC,KAAK,CAAC;IAC9B,CAAC;IACD9H,IAAI,GAAG8D,YAAY,EAAEF,YAAY,EAAAF,MAAA,CAAAqE,kBAAA,CAAKvG,sBAAsB;EAAC,CAEhE,CAAC,eACF1C,KAAA,CAAAmB,aAAA,CAACf,MAAM,EAAA8I,QAAA;IAAClI,SAAS,EAAEA;EAAU,GAAKqH,WAAW,gBAC3CrI,KAAA,CAAAmB,aAAA,CAACV,OAAO;IAEJiG,SAAS,EAAElB,UAAU,CAACU,SAAS;IAC/BY,MAAM,EAAET,aAAa,CAACS,MAAM;IAC5BC,OAAO,EAAEV,aAAa,CAACU,OAAO;IAC9BE,WAAW,EAAElE,QAAQ,CAACG,OAAO;IAC7Be,OAAO,EAAEA,OAAO,KAAK,OAAO,GAAG,MAAM,GAAGA,OAAO;IAC/CiD,UAAU,EAAElC;EAAY,gBAG1BhF,KAAA,CAAAmB,aAAA,CAACgI,cAAc;IACblH,SAAS,EAAEA,SAAS,aAATA,SAAS,cAATA,SAAS,GAAIsG,eAAe,CAACtG,SAAU;IAClDU,YAAY,EAAEA,YAAY,aAAZA,YAAY,cAAZA,YAAY,GAAI4F,eAAe,CAACa,OAAQ;IACtDC,YAAY,EAAE,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC5E,QAAQ,CACrDjB,kBACF,CAAE;IACFhC,GAAG,EAAEwD,YAAa;IAClBK,gBAAgB,EAAEA,gBAAiB;IACnCnC,OAAO,EAAEA,OAAQ;IACjBY,aAAa,EAAEA,aAAc;IAC7BR,SAAS,EAAEA,SAAU;IACrBF,OAAO,EAAEA,OAAQ;IACjBb,OAAO,EAAEA,OAAQ;IACjBpD,KAAK,EAAEA,KAAM;IACbgJ,YAAY,EAAEA,YAAa;IAC3BmB,iBAAiB,EAAElB;EAAa,CACjC,CACM,CACH,CACR,CAEyB,CAAC;AAEpC,CAAC,CAAC;AAEF,OAAO,SAASmB,YAAYA,CAAAC,KAAA,EAA0C;EAAA,IAAvC7D,IAAI,GAAA6D,KAAA,CAAJ7D,IAAI;EACjC;IAAA;IACE;IACA;IACA3F,KAAA,CAAAmB,aAAA;MACEsI,KAAK,EAAE;QACLC,MAAM,EAAE,CAAC;QACTC,QAAQ,EAAE,UAAU;QACpBC,GAAG,EAAE,IAAI;QACTC,KAAK,EAAE;MACT;IAAE,gBAEF7J,KAAA,CAAAmB,aAAA;MAAO2I,OAAO,EAAEnE,IAAK;MAAC8D,KAAK,EAAE;QAAEM,OAAO,EAAE;MAAE;IAAE,CAAE,CAC3C;EAAC;AAEV;AAEA,OAAO,SAASC,wBAAwBA,CAAA,EAAG;EACzC,IAAAC,qBAAA,GAAgDzJ,uBAAuB,CAAC,CAAC;IAAzDkF,IAAI,GAAAuE,qBAAA,CAAZnD,MAAM;IAAiBnB,IAAI,GAAAsE,qBAAA,CAAblD,OAAO;IAAQmD,MAAM,GAAAD,qBAAA,CAANC,MAAM;EAE3C,OAAO;IACLvE,IAAI,EAAJA,IAAI;IACJD,IAAI,EAAJA,IAAI;IACJwE,MAAM,EAANA;EACF,CAAC;AACH;AAiBA,OAAO,IAAMf,cAAc,gBAAGnJ,KAAK,CAACsB,UAAU,CAG5C,UAAA6I,KAAA,EAeA3I,GAAG,EACH;EAAA,IAdES,SAAS,GAAAkI,KAAA,CAATlI,SAAS;IACTU,YAAY,GAAAwH,KAAA,CAAZxH,YAAY;IACZ0G,YAAY,GAAAc,KAAA,CAAZd,YAAY;IACZ/F,SAAS,GAAA6G,KAAA,CAAT7G,SAAS;IACTf,OAAO,GAAA4H,KAAA,CAAP5H,OAAO;IACPpD,KAAK,GAAAgL,KAAA,CAALhL,KAAK;IACLiE,OAAO,GAAA+G,KAAA,CAAP/G,OAAO;IACPU,aAAa,GAAAqG,KAAA,CAAbrG,aAAa;IACbZ,OAAO,GAAAiH,KAAA,CAAPjH,OAAO;IACPmC,gBAAgB,GAAA8E,KAAA,CAAhB9E,gBAAgB;IAChB8C,YAAY,GAAAgC,KAAA,CAAZhC,YAAY;IACZmB,iBAAiB,GAAAa,KAAA,CAAjBb,iBAAiB;EAInB,IAAMc,QAAQ,GAAGpK,KAAK,CAAC+E,MAAM,CAAiB,IAAI,CAAC;EAEnD,IAAMsF,YAAY,GAAGnK,SAAS,GAAG,CAAC,GAAG,CAAC;EACtC,IAAMoK,UAAU,GAAG,CACjB7K,cAAc,CAAC;IAAE8K,QAAQ,EAAEpL,KAAK,GAAGiE,OAAO,GAAGiH,YAAY,GAAGjH;EAAQ,CAAC,CAAC,EACtEb,OAAO,GAAGjD,YAAY,CAAC,CAAC,GAAG,IAAI,EAC/BK,aAAa,CAAC;IAAE6K,OAAO,EAAEjL,UAAU,CAAC;EAAE,CAAC,CAAC,EACxC,CAACuE,aAAa,GACVjE,YAAY,CAAC;IACX4K,KAAK,WAALA,KAAKA,CAAAC,KAAA,EAAe;MAAA,IAAZC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;MACdC,MAAM,CAACC,MAAM,CAACF,QAAQ,CAACG,QAAQ,CAACrB,KAAK,EAAE;QACrCsB,QAAQ,KAAAnG,MAAA,CAAK+F,QAAQ,CAACK,SAAS,CAACC,qBAAqB,CAAC,CAAC,CAACpB,KAAK;MAC/D,CAAC,CAAC;IACJ;EACF,CAAC,CAAC,GACF,IAAI,EACRzK,aAAa,CAAC;IACZ8L,OAAO,EAAEd,QAAQ;IACjBhH,OAAO,EAAE;EACX,CAAC,CAAC,CACH,CAAC+H,MAAM,CAAC,UAACb,UAAU;IAAA,OAAKA,UAAU,KAAK,IAAI;EAAA,EAAwB;EAEpE,IAAAc,WAAA,GAOIjL,UAAU,CAAC;MACbmK,UAAU,EAAVA,UAAU;MACVhH,SAAS,EAATA;IACF,CAAC,CAAC;IATA+H,YAAY,GAAAD,WAAA,CAAZC,YAAY;IACZC,YAAY,GAAAF,WAAA,CAAZE,YAAY;IACEC,oBAAoB,GAAAH,WAAA,CAAlCI,YAAY;IACZpH,UAAU,GAAAgH,WAAA,CAAVhH,UAAU;IACVqH,cAAc,GAAAL,WAAA,CAAdK,cAAc;IACHC,gBAAgB,GAAAN,WAAA,CAA3B9H,SAAS;EAMXtD,KAAK,CAACgG,SAAS,CAAC,YAAM;IACpBuF,oBAAoB,CAAClG,gBAAgB,CAAC;EACxC,CAAC,EAAE,CAACA,gBAAgB,EAAEkG,oBAAoB,CAAC,CAAC;EAE5C,IAAMI,UAAU,GAAG/K,SAAS,CAACY,GAAG,EAAE4C,UAAU,CAAC;;EAE7C;EACA,IAAI,eAACpE,KAAK,CAACgI,cAAc,CAAC9E,OAAO,CAAC,IAAIoG,iBAAiB,EAAE;IACvD5E,OAAO,CAACC,IAAI,CACV,gLACF,CAAC;EACH;EAEA,IAAMiH,WAAgC,GAAAhD,aAAA,CAAAA,aAAA,KACjC0C,YAAY;IACfO,IAAI,EAAER,YAAY,GAAGC,YAAY,CAACO,IAAI,GAAG,UAAU;IACnDjC,GAAG,EAAEyB,YAAY,GAAGC,YAAY,CAAC1B,GAAG,GAAG;EAAU,EAClD;EAED,oBACE5J,KAAA,CAAAmB,aAAA,CAACrB,UAAU;IACTmC,SAAS,EAAEA,SAAU;IACrBmH,OAAO,EAAEzG,YAAa;IACtB0G,YAAY,EAAEA;EAAa,gBAE3BrJ,KAAA,CAAAmB,aAAA,QAAA+H,QAAA;IACE,WAAQ,sCAAsC;IAC9C1H,GAAG,EAAEmK,UAAW;IAChBlC,KAAK,EAAEmC;EAAY,GACfzD,YAAY,GAEf,aAAAnI,KAAK,CAACgI,cAAc,CAAC9E,OAAO,CAAC,gBAC1BlD,KAAK,CAAC2I,YAAY,CAACzF,OAAO,EAAEoG,iBAAiB,CAAC,GAC9CpG,OAAO,EACV/D,KAAK,iBACJa,KAAA,CAAAmB,aAAA,CAAClB,KAAK;IACJuB,GAAG,EAAE4I,QAAS;IACdjL,KAAK,EAAEsM,cAAc,CAACtM,KAAM;IAC5BmE,SAAS,EAAEoI;EAAiB,CAC7B,CAEA,CACK,CAAC;AAEjB,CAAC,CAAC"}
@@ -11,52 +11,52 @@ var outerPageSpacing = spacing.lg;
11
11
  var outerPageSpacingSmaller = spacing.md;
12
12
  export var StyledPageHeader = /*#__PURE__*/styled.div.withConfig({
13
13
  displayName: "StyledPageHeader",
14
- componentId: "core-12_34_1__sc-1cvdbsv-0"
14
+ componentId: "core-12_36_0__sc-1cvdbsv-0"
15
15
  })(["padding-top:", "px;padding-right:", "px;padding-left:", "px;@media ", "{padding-right:", "px;padding-left:", "px;}", ""], headerVerticalSpacing, outerPageSpacing, outerPageSpacing, mediaBreakpointsDown.tabletMd, outerPageSpacingSmaller, outerPageSpacingSmaller, function (_ref) {
16
16
  var $transparent = _ref.$transparent;
17
17
  return !$transparent && css(["", " background-color:", ";"], getShadow(1.5), colors.white);
18
18
  });
19
19
  var StyledPageHeaderItem = /*#__PURE__*/styled.div.withConfig({
20
20
  displayName: "StyledPageHeaderItem",
21
- componentId: "core-12_34_1__sc-1cvdbsv-1"
21
+ componentId: "core-12_36_0__sc-1cvdbsv-1"
22
22
  })(["margin-top:", "px;&:first-child{margin-top:0;}"], headerVerticalSpacing);
23
23
  export var StyledPageTitle = /*#__PURE__*/styled(StyledPageHeaderItem).withConfig({
24
24
  displayName: "StyledPageTitle",
25
- componentId: "core-12_34_1__sc-1cvdbsv-2"
25
+ componentId: "core-12_36_0__sc-1cvdbsv-2"
26
26
  })(["&:last-child{padding-bottom:", "px;}"], headerVerticalSpacing);
27
27
  export var StyledPageBreadcrumbs = /*#__PURE__*/styled(StyledPageHeaderItem).attrs({
28
28
  as: 'nav'
29
29
  }).withConfig({
30
30
  displayName: "StyledPageBreadcrumbs",
31
- componentId: "core-12_34_1__sc-1cvdbsv-3"
31
+ componentId: "core-12_36_0__sc-1cvdbsv-3"
32
32
  })([""]);
33
33
  export var StyledPageBanner = /*#__PURE__*/styled(StyledPageHeaderItem).withConfig({
34
34
  displayName: "StyledPageBanner",
35
- componentId: "core-12_34_1__sc-1cvdbsv-4"
35
+ componentId: "core-12_36_0__sc-1cvdbsv-4"
36
36
  })([""]);
37
37
  export var getActions = function getActions() {
38
38
  return css(["flex-shrink:0;padding-left:", "px;> button,> a{&:first-child{margin-left:0;}margin-left:", "px;}"], spacing.xl, spacing.sm);
39
39
  };
40
40
  export var StyledPageActions = /*#__PURE__*/styled.div.withConfig({
41
41
  displayName: "StyledPageActions",
42
- componentId: "core-12_34_1__sc-1cvdbsv-5"
42
+ componentId: "core-12_36_0__sc-1cvdbsv-5"
43
43
  })(["", ""], getActions());
44
44
  export var StyledPageTabs = /*#__PURE__*/styled(StyledPageHeaderItem).withConfig({
45
45
  displayName: "StyledPageTabs",
46
- componentId: "core-12_34_1__sc-1cvdbsv-6"
46
+ componentId: "core-12_36_0__sc-1cvdbsv-6"
47
47
  })([""]);
48
48
  export var StyledBody = /*#__PURE__*/styled.div.withConfig({
49
49
  displayName: "StyledBody",
50
- componentId: "core-12_34_1__sc-1cvdbsv-7"
50
+ componentId: "core-12_36_0__sc-1cvdbsv-7"
51
51
  })(["padding-top:", "px;padding-left:", "px;padding-right:", "px;@media ", "{padding-top:", "px;padding-left:", "px;padding-right:", "px;}"], outerPageSpacing, outerPageSpacing, outerPageSpacing, mediaBreakpointsDown.tabletMd, outerPageSpacingSmaller, outerPageSpacingSmaller, outerPageSpacingSmaller);
52
52
  var navigationWidth = 200;
53
53
  export var StyledNavigation = /*#__PURE__*/styled.div.withConfig({
54
54
  displayName: "StyledNavigation",
55
- componentId: "core-12_34_1__sc-1cvdbsv-8"
55
+ componentId: "core-12_36_0__sc-1cvdbsv-8"
56
56
  })(["float:left;max-height:100vh;min-width:", "px;overflow-y:auto;position:sticky;top:0;width:", "px;", "{padding:20px ", "px 0 0;}@media screen and (max-width:1024px){display:none;}"], navigationWidth, navigationWidth, StyledAnchorNavigation, spacing.sm);
57
57
  export var StyledContent = /*#__PURE__*/styled.div.withConfig({
58
58
  displayName: "StyledContent",
59
- componentId: "core-12_34_1__sc-1cvdbsv-9"
59
+ componentId: "core-12_36_0__sc-1cvdbsv-9"
60
60
  })([""]);
61
61
  var panelWidth = 400;
62
62
  var zIndexes = {
@@ -69,7 +69,7 @@ export var animationDuration = {
69
69
  };
70
70
  export var StyledFooter = /*#__PURE__*/styled.div.withConfig({
71
71
  displayName: "StyledFooter",
72
- componentId: "core-12_34_1__sc-1cvdbsv-10"
72
+ componentId: "core-12_36_0__sc-1cvdbsv-10"
73
73
  })(["background-color:", ";", " position:sticky;bottom:0;z-index:", ";", ""], colors.white, function (_ref2) {
74
74
  var $hasShadow = _ref2.$hasShadow;
75
75
  return $hasShadow && getShadow(2, 'top');
@@ -79,7 +79,7 @@ export var StyledFooter = /*#__PURE__*/styled.div.withConfig({
79
79
  });
80
80
  export var StyledAside = /*#__PURE__*/styled.div.withConfig({
81
81
  displayName: "StyledAside",
82
- componentId: "core-12_34_1__sc-1cvdbsv-11"
82
+ componentId: "core-12_36_0__sc-1cvdbsv-11"
83
83
  })(["", " @media ", "{position:absolute;right:0;}"], function (_ref4) {
84
84
  var $closed = _ref4.$closed,
85
85
  $open = _ref4.$open;
@@ -99,7 +99,7 @@ var getPanelAnimation = function getPanelAnimation() {
99
99
  };
100
100
  export var StyledAsidePanel = /*#__PURE__*/styled.div.withConfig({
101
101
  displayName: "StyledAsidePanel",
102
- componentId: "core-12_34_1__sc-1cvdbsv-12"
102
+ componentId: "core-12_36_0__sc-1cvdbsv-12"
103
103
  })(["", " @media ", "{", "}", " ", " border-left:1px solid ", ";width:", "px;position:fixed;background-color:", ";overflow:auto;z-index:", ";", " ", ""], function (_ref7) {
104
104
  var $rightOffset = _ref7.$rightOffset;
105
105
  return css(["@media ", "{", " border-left:0;z-index:", ";right:", "px;}"], mediaBreakpointsDown.tabletMd, getShadow(2), zIndexes.panelNarrowScreen, $rightOffset);
@@ -118,7 +118,7 @@ export var StyledAsidePanel = /*#__PURE__*/styled.div.withConfig({
118
118
  });
119
119
  export var StyledPageMain = /*#__PURE__*/styled.div.withConfig({
120
120
  displayName: "StyledPageMain",
121
- componentId: "core-12_34_1__sc-1cvdbsv-13"
121
+ componentId: "core-12_36_0__sc-1cvdbsv-13"
122
122
  })(["position:relative;max-width:100%;background-color:", ";", " ", ""], colors.gray96, function () {
123
123
  return isIE11() && css(["flex:1 0 0%;"]);
124
124
  }, function (_ref10) {
@@ -133,13 +133,13 @@ export var StyledPageMain = /*#__PURE__*/styled.div.withConfig({
133
133
  });
134
134
  export var StyledPageContainer = /*#__PURE__*/styled.div.withConfig({
135
135
  displayName: "StyledPageContainer",
136
- componentId: "core-12_34_1__sc-1cvdbsv-14"
136
+ componentId: "core-12_36_0__sc-1cvdbsv-14"
137
137
  })(["display:grid;grid-template-columns:1fr auto;", ""], function () {
138
138
  return isIE11() && css(["display:flex;flex-wrap:wrap;"]);
139
139
  });
140
140
  export var StyledAsideFluidContainer = /*#__PURE__*/styled.div.withConfig({
141
141
  displayName: "StyledAsideFluidContainer",
142
- componentId: "core-12_34_1__sc-1cvdbsv-15"
142
+ componentId: "core-12_36_0__sc-1cvdbsv-15"
143
143
  })(["", ""], function (_ref11) {
144
144
  var $closed = _ref11.$closed,
145
145
  $open = _ref11.$open;
@@ -3,6 +3,6 @@ import { colors } from '../../_styles/colors';
3
3
  import { spacing } from '../../_styles/spacing';
4
4
  export var StyledPageFooter = /*#__PURE__*/styled.footer.withConfig({
5
5
  displayName: "StyledPageFooter",
6
- componentId: "core-12_34_1__sc-1f0zfyf-0"
6
+ componentId: "core-12_36_0__sc-1f0zfyf-0"
7
7
  })(["display:flex;align-items:center;justify-content:space-between;background-color:", ";padding:", "px;width:100%;box-shadow:0 -2px 6px 0 rgba(0,0,0,0.1);position:sticky;bottom:0;"], colors.white, spacing.lg);
8
8
  //# sourceMappingURL=PageFooterTemplate.styles.js.map
@@ -5,16 +5,16 @@ import { colors } from '../../_styles/colors';
5
5
  import { spacing } from '../../_styles/spacing';
6
6
  export var StyledPageHeader = /*#__PURE__*/styled(Page.Header).withConfig({
7
7
  displayName: "StyledPageHeader",
8
- componentId: "core-12_34_1__sc-1d5kop0-0"
8
+ componentId: "core-12_36_0__sc-1d5kop0-0"
9
9
  })(["border-bottom:1px solid ", ";padding-top:", "px;", ""], colors.gray85, spacing.lg, function (p) {
10
10
  return p.$hasPaddingBottom && "padding-bottom: ".concat(spacing.lg, "px;");
11
11
  });
12
12
  export var StyledActions = /*#__PURE__*/styled(Box).withConfig({
13
13
  displayName: "StyledActions",
14
- componentId: "core-12_34_1__sc-1d5kop0-1"
14
+ componentId: "core-12_36_0__sc-1d5kop0-1"
15
15
  })(["width:fit-content;"]);
16
16
  export var StyledToggleActionBox = /*#__PURE__*/styled(Box).withConfig({
17
17
  displayName: "StyledToggleActionBox",
18
- componentId: "core-12_34_1__sc-1d5kop0-2"
18
+ componentId: "core-12_36_0__sc-1d5kop0-2"
19
19
  })(["bottom:", "px;position:relative;padding-left:48px;"], spacing.lg);
20
20
  //# sourceMappingURL=PageHeaderTemplate.styles.js.map
@@ -10,10 +10,10 @@ var panelWidthSmall = 360;
10
10
  export var mobileBreakpoint = 440;
11
11
  export var StyledPageAside = /*#__PURE__*/styled(Page.Aside).withConfig({
12
12
  displayName: "StyledPageAside",
13
- componentId: "core-12_34_1__sc-1p7nu53-0"
13
+ componentId: "core-12_36_0__sc-1p7nu53-0"
14
14
  })(["position:sticky;top:0;right:0;max-height:100vh;width:100%;height:100%;@media ", "{position:sticky;max-width:", "px;flex-basis:", "px;}", "{@media ", "{max-width:", "px;}}", "{position:sticky;top:0;right:0;box-shadow:none;animation:none;padding-bottom:68px;@media ", "{width:", "px;}@media (max-width:", "px){padding-bottom:0;}}", "{position:fixed;bottom:0;display:flex;width:100%;max-width:400px;@media ", "{max-width:", "px;}}"], mediaBreakpointsDown.tabletLg, panelWidthSmall, panelWidthSmall, StyledAsideFluidContainer, mediaBreakpointsDown.tabletLg, panelWidthSmall, StyledAsidePanel, mediaBreakpointsDown.tabletLg, panelWidthSmall, mobileBreakpoint, StyledPanelFooter, mediaBreakpointsDown.tabletLg, panelWidthSmall);
15
15
  export var StyledModal = /*#__PURE__*/styled(Modal).withConfig({
16
16
  displayName: "StyledModal",
17
- componentId: "core-12_34_1__sc-1p7nu53-1"
17
+ componentId: "core-12_36_0__sc-1p7nu53-1"
18
18
  })(["top:", "px;bottom:", "px;max-width:416px;transform:none;", "{max-height:100vh;}@media (max-width:", "px){top:0;bottom:0;left:0;right:0;max-width:100%;}"], spacing.md, spacing.md, StyledModalContent, mobileBreakpoint);
19
19
  //# sourceMappingURL=PagePaneTemplate.styles.js.map
@@ -5,14 +5,14 @@ import { spacing } from '../../_styles/spacing';
5
5
  export var mobileBreakpoint = 440;
6
6
  export var StyledPageWrapper = /*#__PURE__*/styled.div.withConfig({
7
7
  displayName: "StyledPageWrapper",
8
- componentId: "core-12_34_1__sc-uuo7st-0"
8
+ componentId: "core-12_36_0__sc-uuo7st-0"
9
9
  })(["display:flex;flex-direction:column;"]);
10
10
  export var StyledPageBodyWrapper = /*#__PURE__*/styled.div.withConfig({
11
11
  displayName: "StyledPageBodyWrapper",
12
- componentId: "core-12_34_1__sc-uuo7st-1"
12
+ componentId: "core-12_36_0__sc-uuo7st-1"
13
13
  })(["display:grid;grid-template-columns:1fr auto;"]);
14
14
  export var StyledPageBody = /*#__PURE__*/styled(Page.Body).withConfig({
15
15
  displayName: "StyledPageBody",
16
- componentId: "core-12_34_1__sc-uuo7st-2"
16
+ componentId: "core-12_36_0__sc-uuo7st-2"
17
17
  })(["padding-bottom:", "px;@media ", "{padding:", "px;}"], spacing.lg, mediaBreakpointsDown.desktopMd, spacing.md);
18
18
  //# sourceMappingURL=PageTemplate.styles.js.map
@@ -5,22 +5,22 @@ import { Typography } from '../Typography/Typography';
5
5
  import { spacing } from '../_styles/spacing';
6
6
  export var StyledContainer = /*#__PURE__*/styled.div.withConfig({
7
7
  displayName: "StyledContainer",
8
- componentId: "core-12_34_1__sc-fy34i1-0"
8
+ componentId: "core-12_36_0__sc-fy34i1-0"
9
9
  })(["display:flex;align-items:center;"]);
10
10
  export var StyledPageCount = /*#__PURE__*/styled(Typography).withConfig({
11
11
  displayName: "StyledPageCount",
12
- componentId: "core-12_34_1__sc-fy34i1-1"
12
+ componentId: "core-12_36_0__sc-fy34i1-1"
13
13
  })(["margin-right:", "px;"], spacing.xl);
14
14
  export var StyledCurrentPage = /*#__PURE__*/styled(Typography).withConfig({
15
15
  displayName: "StyledCurrentPage",
16
- componentId: "core-12_34_1__sc-fy34i1-2"
16
+ componentId: "core-12_36_0__sc-fy34i1-2"
17
17
  })(["margin-right:", "px;"], spacing.sm);
18
18
  export var StyledButton = /*#__PURE__*/styled(Button).withConfig({
19
19
  displayName: "StyledButton",
20
- componentId: "core-12_34_1__sc-fy34i1-3"
20
+ componentId: "core-12_36_0__sc-fy34i1-3"
21
21
  })(["margin-left:", "px;"], spacing.sm);
22
22
  export var StyledOverlay = /*#__PURE__*/styled(Card).withConfig({
23
23
  displayName: "StyledOverlay",
24
- componentId: "core-12_34_1__sc-fy34i1-4"
25
- })(["max-height:300px;max-width:248px;"]);
24
+ componentId: "core-12_36_0__sc-fy34i1-4"
25
+ })(["min-height:80px;max-height:300px;max-width:248px;"]);
26
26
  //# sourceMappingURL=Pagination.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.styles.js","names":["styled","Button","Card","Typography","spacing","StyledContainer","div","withConfig","displayName","componentId","StyledPageCount","xl","StyledCurrentPage","sm","StyledButton","StyledOverlay"],"sources":["../../src/Pagination/Pagination.styles.ts"],"sourcesContent":["import styled from 'styled-components'\nimport { Button } from '../Button/Button'\nimport { Card } from '../Card/Card'\nimport { Typography } from '../Typography/Typography'\nimport { spacing } from '../_styles/spacing'\n\nexport const StyledContainer = styled.div`\n display: flex;\n align-items: center;\n`\n\nexport const StyledPageCount = styled(Typography)`\n margin-right: ${spacing.xl}px;\n`\n\nexport const StyledCurrentPage = styled(Typography)`\n margin-right: ${spacing.sm}px;\n`\n\nexport const StyledButton = styled(Button)`\n margin-left: ${spacing.sm}px;\n`\n\nexport const StyledOverlay = styled(Card)`\n max-height: 300px; // TODO one-off\n max-width: 248px; // TODO one-off\n`\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB;AACtC,SAASC,MAAM,QAAQ,kBAAkB;AACzC,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,UAAU,QAAQ,0BAA0B;AACrD,SAASC,OAAO,QAAQ,oBAAoB;AAE5C,OAAO,IAAMC,eAAe,gBAAGL,MAAM,CAACM,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,wCAGxC;AAED,OAAO,IAAMC,eAAe,gBAAGV,MAAM,CAACG,UAAU,CAAC,CAAAI,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,6BAC/BL,OAAO,CAACO,EAAE,CAC3B;AAED,OAAO,IAAMC,iBAAiB,gBAAGZ,MAAM,CAACG,UAAU,CAAC,CAAAI,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,6BACjCL,OAAO,CAACS,EAAE,CAC3B;AAED,OAAO,IAAMC,YAAY,gBAAGd,MAAM,CAACC,MAAM,CAAC,CAAAM,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,4BACzBL,OAAO,CAACS,EAAE,CAC1B;AAED,OAAO,IAAME,aAAa,gBAAGf,MAAM,CAACE,IAAI,CAAC,CAAAK,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,yCAGxC"}
1
+ {"version":3,"file":"Pagination.styles.js","names":["styled","Button","Card","Typography","spacing","StyledContainer","div","withConfig","displayName","componentId","StyledPageCount","xl","StyledCurrentPage","sm","StyledButton","StyledOverlay"],"sources":["../../src/Pagination/Pagination.styles.ts"],"sourcesContent":["import styled from 'styled-components'\nimport { Button } from '../Button/Button'\nimport { Card } from '../Card/Card'\nimport { Typography } from '../Typography/Typography'\nimport { spacing } from '../_styles/spacing'\n\nexport const StyledContainer = styled.div`\n display: flex;\n align-items: center;\n`\n\nexport const StyledPageCount = styled(Typography)`\n margin-right: ${spacing.xl}px;\n`\n\nexport const StyledCurrentPage = styled(Typography)`\n margin-right: ${spacing.sm}px;\n`\n\nexport const StyledButton = styled(Button)`\n margin-left: ${spacing.sm}px;\n`\n\nexport const StyledOverlay = styled(Card)`\n min-height: 80px;\n max-height: 300px; // TODO one-off\n max-width: 248px; // TODO one-off\n`\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB;AACtC,SAASC,MAAM,QAAQ,kBAAkB;AACzC,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,UAAU,QAAQ,0BAA0B;AACrD,SAASC,OAAO,QAAQ,oBAAoB;AAE5C,OAAO,IAAMC,eAAe,gBAAGL,MAAM,CAACM,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,wCAGxC;AAED,OAAO,IAAMC,eAAe,gBAAGV,MAAM,CAACG,UAAU,CAAC,CAAAI,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,6BAC/BL,OAAO,CAACO,EAAE,CAC3B;AAED,OAAO,IAAMC,iBAAiB,gBAAGZ,MAAM,CAACG,UAAU,CAAC,CAAAI,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,6BACjCL,OAAO,CAACS,EAAE,CAC3B;AAED,OAAO,IAAMC,YAAY,gBAAGd,MAAM,CAACC,MAAM,CAAC,CAAAM,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,4BACzBL,OAAO,CAACS,EAAE,CAC1B;AAED,OAAO,IAAME,aAAa,gBAAGf,MAAM,CAACE,IAAI,CAAC,CAAAK,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,yDAIxC"}
@@ -58,6 +58,10 @@ export interface PaginationMenuProps {
58
58
  * @since 10.19.0
59
59
  */
60
60
  activePage: number;
61
+ /**
62
+ * @since 12.34.2
63
+ */
64
+ maxHeight?: number;
61
65
  /**
62
66
  * @since 10.19.0
63
67
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.types.js","names":[],"sources":["../../src/Pagination/Pagination.types.ts"],"sourcesContent":["import type { MenuRef, Selection } from '../MenuImperative/MenuImperative.types'\nimport type { Props } from '../_utils/types'\n\nexport interface FieldProps extends Props {\n /**\n * @since 10.19.0\n */\n label?: string\n}\n\nexport interface PageNotationProps extends Props {\n /**\n * @since 10.19.0\n */\n end: number\n /**\n * @since 10.19.0\n */\n items: number\n /**\n * @since 10.19.0\n */\n start: number\n}\n\nexport interface NavigationIconProps extends Props {\n /**\n * @since 10.19.0\n */\n disabled?: boolean\n /**\n * @since 10.19.0\n */\n onClick?: any\n}\n\nexport interface PresetPaginationProps extends Props {\n /**\n * Current page selected, 1 based.\n * @since 10.19.0\n */\n activePage?: number\n\n /**\n * Total number of items across pages.\n * @since 10.19.0\n */\n items: number\n\n /**\n * A callback that receives the page selected.\n * @since 10.19.0\n */\n onSelectPage?: (page: number) => void\n\n /**\n * Number of items per page.\n * @since 10.19.0\n */\n perPage?: number\n}\n\nexport interface PaginationMenuProps {\n /**\n * @since 10.19.0\n */\n activePage: number\n /**\n * @since 10.19.0\n */\n menuRef: React.RefObject<MenuRef>\n /**\n * @since 10.19.0\n */\n pages: number\n /**\n * @since 10.19.0\n */\n onSelect?: PageSelectProps['onSelect']\n}\n\nexport interface PageSelectProps extends Props {\n /**\n * @since 10.19.0\n */\n activePage?: number\n /**\n * @since 11.6.0\n */\n 'aria-labelledby'?: string\n /**\n * @since 10.19.0\n */\n disabled?: boolean\n /**\n * @since 11.6.0\n */\n id?: string\n /**\n * @since 10.19.0\n */\n onSelect?: (selection: Selection) => any\n /**\n * @since 10.19.0\n */\n pages?: number\n}\n\nexport interface PaginationHookConfig {\n /**\n * @since 10.19.0\n */\n activePage: number\n /**\n * @since 10.19.0\n */\n items: number\n /**\n * @since 10.19.0\n */\n onSelectPage: (page: number) => void\n /**\n * @since 10.19.0\n */\n perPage: number\n}\n\nexport interface PaginationHook {\n /**\n * @since 10.19.0\n */\n end: number\n /**\n * @since 10.19.0\n */\n isFirst: boolean\n /**\n * @since 10.19.0\n */\n isLast: boolean\n /**\n * @since 10.19.0\n */\n pages: number\n /**\n * @since 10.19.0\n */\n selectNext: () => void\n /**\n * @since 10.19.0\n */\n selectPage: (selection: Selection) => void\n /**\n * @since 10.19.0\n */\n selectPrev: () => void\n /**\n * @since 10.19.0\n */\n start: number\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Pagination.types.js","names":[],"sources":["../../src/Pagination/Pagination.types.ts"],"sourcesContent":["import type { MenuRef, Selection } from '../MenuImperative/MenuImperative.types'\nimport type { Props } from '../_utils/types'\n\nexport interface FieldProps extends Props {\n /**\n * @since 10.19.0\n */\n label?: string\n}\n\nexport interface PageNotationProps extends Props {\n /**\n * @since 10.19.0\n */\n end: number\n /**\n * @since 10.19.0\n */\n items: number\n /**\n * @since 10.19.0\n */\n start: number\n}\n\nexport interface NavigationIconProps extends Props {\n /**\n * @since 10.19.0\n */\n disabled?: boolean\n /**\n * @since 10.19.0\n */\n onClick?: any\n}\n\nexport interface PresetPaginationProps extends Props {\n /**\n * Current page selected, 1 based.\n * @since 10.19.0\n */\n activePage?: number\n\n /**\n * Total number of items across pages.\n * @since 10.19.0\n */\n items: number\n\n /**\n * A callback that receives the page selected.\n * @since 10.19.0\n */\n onSelectPage?: (page: number) => void\n\n /**\n * Number of items per page.\n * @since 10.19.0\n */\n perPage?: number\n}\n\nexport interface PaginationMenuProps {\n /**\n * @since 10.19.0\n */\n activePage: number\n /**\n * @since 12.34.2\n */\n maxHeight?: number\n /**\n * @since 10.19.0\n */\n menuRef: React.RefObject<MenuRef>\n /**\n * @since 10.19.0\n */\n pages: number\n /**\n * @since 10.19.0\n */\n onSelect?: PageSelectProps['onSelect']\n}\n\nexport interface PageSelectProps extends Props {\n /**\n * @since 10.19.0\n */\n activePage?: number\n /**\n * @since 11.6.0\n */\n 'aria-labelledby'?: string\n /**\n * @since 10.19.0\n */\n disabled?: boolean\n /**\n * @since 11.6.0\n */\n id?: string\n /**\n * @since 10.19.0\n */\n onSelect?: (selection: Selection) => any\n /**\n * @since 10.19.0\n */\n pages?: number\n}\n\nexport interface PaginationHookConfig {\n /**\n * @since 10.19.0\n */\n activePage: number\n /**\n * @since 10.19.0\n */\n items: number\n /**\n * @since 10.19.0\n */\n onSelectPage: (page: number) => void\n /**\n * @since 10.19.0\n */\n perPage: number\n}\n\nexport interface PaginationHook {\n /**\n * @since 10.19.0\n */\n end: number\n /**\n * @since 10.19.0\n */\n isFirst: boolean\n /**\n * @since 10.19.0\n */\n isLast: boolean\n /**\n * @since 10.19.0\n */\n pages: number\n /**\n * @since 10.19.0\n */\n selectNext: () => void\n /**\n * @since 10.19.0\n */\n selectPage: (selection: Selection) => void\n /**\n * @since 10.19.0\n */\n selectPrev: () => void\n /**\n * @since 10.19.0\n */\n start: number\n}\n"],"mappings":""}
@@ -1,4 +1,10 @@
1
- var _excluded = ["activePage", "menuRef", "onSelect", "pages"];
1
+ var _excluded = ["activePage", "maxHeight", "menuRef", "onSelect", "pages"];
2
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
3
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
5
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
6
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
7
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
2
8
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
3
9
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
4
10
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
@@ -7,10 +13,25 @@ import React from 'react';
7
13
  import { DropdownButton } from '../Dropdown/Dropdown';
8
14
  import { MenuImperative } from '../MenuImperative/MenuImperative';
9
15
  import { OverlayTrigger, useOverlayTriggerContext } from '../OverlayTrigger/OverlayTrigger';
16
+ import { mergeRefs } from '../_utils/mergeRefs';
10
17
  import { StyledOverlay } from './Pagination.styles';
11
18
  var noop = function noop() {};
19
+ var DEFAULT_MAX_HEIGHT = 300;
20
+ var VIEWPORT_PADDING = 16;
21
+ function computeAvailableHeight(triggerEl) {
22
+ if (!triggerEl) {
23
+ return DEFAULT_MAX_HEIGHT;
24
+ }
25
+ var rect = triggerEl.getBoundingClientRect();
26
+ var viewportHeight = window.innerHeight;
27
+ var spaceBelow = viewportHeight - rect.bottom - VIEWPORT_PADDING;
28
+ var spaceAbove = rect.top - VIEWPORT_PADDING;
29
+ var availableSpace = Math.max(spaceBelow, spaceAbove);
30
+ return Math.min(DEFAULT_MAX_HEIGHT, availableSpace);
31
+ }
12
32
  var PaginationMenu = /*#__PURE__*/React.forwardRef(function PaginationMenu(_ref, ref) {
13
33
  var activePage = _ref.activePage,
34
+ maxHeight = _ref.maxHeight,
14
35
  menuRef = _ref.menuRef,
15
36
  _ref$onSelect = _ref.onSelect,
16
37
  onSelect_ = _ref$onSelect === void 0 ? noop : _ref$onSelect,
@@ -60,9 +81,13 @@ var PaginationMenu = /*#__PURE__*/React.forwardRef(function PaginationMenu(_ref,
60
81
  ref: lastItemRef
61
82
  }, page);
62
83
  }, pages);
84
+ var overlayStyle = maxHeight ? {
85
+ maxHeight: maxHeight
86
+ } : undefined;
63
87
  return /*#__PURE__*/React.createElement(StyledOverlay, {
64
88
  ref: ref,
65
- shadowStrength: 2
89
+ shadowStrength: 2,
90
+ style: overlayStyle
66
91
  }, /*#__PURE__*/React.createElement(MenuImperative, _extends({
67
92
  circular: true
68
93
  }, props, {
@@ -84,6 +109,27 @@ export var PaginationSelect = /*#__PURE__*/React.forwardRef(function PaginationS
84
109
  pages = _ref2$pages === void 0 ? 0 : _ref2$pages,
85
110
  props = _objectWithoutProperties(_ref2, ["activePage", "aria-labelledby", "disabled", "id", "onSelect", "pages"]);
86
111
  var menuRef = React.useRef(null);
112
+ var triggerRef = React.useRef(null);
113
+ var _React$useState = React.useState(undefined),
114
+ _React$useState2 = _slicedToArray(_React$useState, 2),
115
+ maxHeight = _React$useState2[0],
116
+ setMaxHeight = _React$useState2[1];
117
+ var _React$useState3 = React.useState(false),
118
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
119
+ isOpen = _React$useState4[0],
120
+ setIsOpen = _React$useState4[1];
121
+
122
+ // Recompute height on viewport resize
123
+ React.useEffect(function () {
124
+ if (!isOpen) return;
125
+ function handleResize() {
126
+ setMaxHeight(computeAvailableHeight(triggerRef.current));
127
+ }
128
+ window.addEventListener('resize', handleResize);
129
+ return function () {
130
+ return window.removeEventListener('resize', handleResize);
131
+ };
132
+ }, [isOpen]);
87
133
 
88
134
  // Safari has an issue with giving focus to buttons after clicking on them
89
135
  // if the button or menu do not have focus, the keyboard navigation does not work,
@@ -94,6 +140,14 @@ export var PaginationSelect = /*#__PURE__*/React.forwardRef(function PaginationS
94
140
  // but super specific to pagination, not really a concern elsewhere
95
141
  ;
96
142
  (_menuRef$current7 = menuRef.current) === null || _menuRef$current7 === void 0 ? void 0 : (_menuRef$current7$el = _menuRef$current7.el) === null || _menuRef$current7$el === void 0 ? void 0 : (_menuRef$current7$el$ = _menuRef$current7$el.firstChild) === null || _menuRef$current7$el$ === void 0 ? void 0 : _menuRef$current7$el$.focus();
143
+
144
+ // Compute available height
145
+ setIsOpen(true);
146
+ setMaxHeight(computeAvailableHeight(triggerRef.current));
147
+ }
148
+ function afterHide() {
149
+ setIsOpen(false);
150
+ setMaxHeight(undefined);
97
151
  }
98
152
  function onKeyDown(e) {
99
153
  if (e.key === 'Up' || e.key === 'ArrowUp') {
@@ -115,14 +169,16 @@ export var PaginationSelect = /*#__PURE__*/React.forwardRef(function PaginationS
115
169
  passA11yPropsToOverlay: true,
116
170
  autoFocus: true,
117
171
  afterShow: afterShow,
172
+ afterHide: afterHide,
118
173
  overlay: /*#__PURE__*/React.createElement(PaginationMenu, {
119
174
  activePage: activePage,
175
+ maxHeight: maxHeight,
120
176
  menuRef: menuRef,
121
177
  onSelect: onSelect,
122
178
  pages: pages
123
179
  }),
124
180
  placement: "bottom-left",
125
- ref: ref,
181
+ ref: mergeRefs(ref, triggerRef),
126
182
  trigger: "click"
127
183
  }, props), /*#__PURE__*/React.createElement(DropdownButton, {
128
184
  "aria-labelledby": ariaLabelledby,
@@ -1 +1 @@
1
- {"version":3,"file":"PaginationSelect.js","names":["times","React","DropdownButton","MenuImperative","OverlayTrigger","useOverlayTriggerContext","StyledOverlay","noop","PaginationMenu","forwardRef","_ref","ref","activePage","menuRef","_ref$onSelect","onSelect","onSelect_","pages","props","_objectWithoutProperties","_excluded","ctx","lastItemRef","useRef","hasFooter","useEffect","_menuRef$current","current","highlightFirst","_menuRef$current2","_menuRef$current3","highlightSuggested","highlightSelected","onKeyDown","event","_menuRef$current4","currentPage","highlighted","key","_menuRef$current5","highlight","_menuRef$current6","stopPropagation","highlightLast","selection","hide","children","index","page","createElement","Item","item","selected","shadowStrength","_extends","circular","Fragment","Options","slice","Footer","padding","length","PaginationSelect","_ref2","_ref2$activePage","ariaLabelledby","disabled","id","_ref2$pages","afterShow","_menuRef$current7","_menuRef$current7$el","_menuRef$current7$el$","el","firstChild","focus","e","_menuRef$current8","preventDefault","prev","_menuRef$current9","next","_menuRef$current0","select","role","passA11yPropsToOverlay","autoFocus","overlay","placement","trigger","arrow","variant"],"sources":["../../src/Pagination/PaginationSelect.tsx"],"sourcesContent":["import { times } from 'ramda'\nimport React from 'react'\nimport { DropdownButton } from '../Dropdown/Dropdown'\nimport { MenuImperative } from '../MenuImperative/MenuImperative'\nimport type { MenuRef, Selection } from '../MenuImperative/MenuImperative.types'\nimport {\n OverlayTrigger,\n useOverlayTriggerContext,\n} from '../OverlayTrigger/OverlayTrigger'\nimport { StyledOverlay } from './Pagination.styles'\nimport type { PageSelectProps, PaginationMenuProps } from './Pagination.types'\n\nconst noop = () => {}\n\nconst PaginationMenu = React.forwardRef<HTMLDivElement, PaginationMenuProps>(\n function PaginationMenu(\n { activePage, menuRef, onSelect: onSelect_ = noop, pages, ...props },\n ref\n ) {\n const ctx = useOverlayTriggerContext()\n\n const lastItemRef = React.useRef<HTMLDivElement>(null)\n\n const hasFooter = pages > 10\n\n React.useEffect(() => {\n menuRef.current?.highlightFirst()\n }, [menuRef])\n\n React.useEffect(() => {\n menuRef.current?.highlightSuggested()\n menuRef.current?.highlightSelected()\n }, [menuRef])\n\n function onKeyDown(event: React.KeyboardEvent<HTMLDivElement>) {\n const currentPage = menuRef.current?.highlighted()\n\n if (event.key === 'ArrowDown' || event.key === 'Down') {\n // when on the second to last item, want to jump to the last item (in the footer)\n if (currentPage === pages - 1 && lastItemRef.current) {\n menuRef.current?.highlight(lastItemRef.current)\n }\n } else if (event.key === 'ArrowUp' || event.key === 'Up') {\n // on the last item (in the footer), want to jump back to the second to last\n // item back in the menu\n if (hasFooter && currentPage === pages) {\n event.stopPropagation()\n menuRef.current?.highlightLast()\n }\n }\n }\n\n function onSelect(selection: Selection) {\n onSelect_(selection)\n\n ctx.hide(selection.event)\n }\n\n const children = times((index: number) => {\n const page = index + 1\n\n return (\n <MenuImperative.Item\n item={page}\n key={index}\n selected={page === activePage}\n ref={lastItemRef}\n >\n {page}\n </MenuImperative.Item>\n )\n }, pages)\n\n return (\n <StyledOverlay ref={ref} shadowStrength={2}>\n <MenuImperative\n circular\n {...props}\n ref={menuRef}\n onKeyDown={onKeyDown}\n onSelect={onSelect}\n >\n {hasFooter ? (\n <>\n <MenuImperative.Options>\n {children.slice(0, -1)}\n </MenuImperative.Options>\n <MenuImperative.Footer padding=\"xs none\">\n {children[children.length - 1]}\n </MenuImperative.Footer>\n </>\n ) : (\n <MenuImperative.Options>{children}</MenuImperative.Options>\n )}\n </MenuImperative>\n </StyledOverlay>\n )\n }\n)\n\nexport const PaginationSelect = React.forwardRef<\n HTMLButtonElement,\n PageSelectProps\n>(function PaginationSelect(\n {\n activePage = 1,\n [`aria-labelledby`]: ariaLabelledby,\n disabled,\n id,\n onSelect,\n pages = 0,\n ...props\n },\n ref\n) {\n const menuRef = React.useRef<MenuRef>(null)\n\n // Safari has an issue with giving focus to buttons after clicking on them\n // if the button or menu do not have focus, the keyboard navigation does not work,\n // so just focus the menu when we open it\n function afterShow() {\n // this is brittle, if MenuImperative dom structure changes this could break\n // but super specific to pagination, not really a concern elsewhere\n ;(menuRef.current?.el?.firstChild as HTMLDivElement)?.focus()\n }\n\n function onKeyDown(e: React.KeyboardEvent<HTMLButtonElement>) {\n if (e.key === 'Up' || e.key === 'ArrowUp') {\n e.preventDefault()\n menuRef.current?.prev()\n } else if (e.key === 'Down' || e.key === 'ArrowDown') {\n e.preventDefault()\n menuRef.current?.next()\n } else if (e.key === 'Enter') {\n e.preventDefault()\n menuRef.current?.select(e)\n }\n }\n\n return (\n <OverlayTrigger\n role=\"listbox\"\n passA11yPropsToOverlay\n autoFocus\n afterShow={afterShow}\n overlay={\n <PaginationMenu\n activePage={activePage}\n menuRef={menuRef}\n onSelect={onSelect}\n pages={pages}\n />\n }\n placement=\"bottom-left\"\n ref={ref}\n trigger=\"click\"\n {...props}\n >\n <DropdownButton\n aria-labelledby={ariaLabelledby}\n arrow\n disabled={disabled}\n id={id}\n onKeyDown={onKeyDown}\n role=\"combobox\"\n variant=\"tertiary\"\n >\n {activePage}\n </DropdownButton>\n </OverlayTrigger>\n )\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"PaginationSelect.js","names":["times","React","DropdownButton","MenuImperative","OverlayTrigger","useOverlayTriggerContext","mergeRefs","StyledOverlay","noop","DEFAULT_MAX_HEIGHT","VIEWPORT_PADDING","computeAvailableHeight","triggerEl","rect","getBoundingClientRect","viewportHeight","window","innerHeight","spaceBelow","bottom","spaceAbove","top","availableSpace","Math","max","min","PaginationMenu","forwardRef","_ref","ref","activePage","maxHeight","menuRef","_ref$onSelect","onSelect","onSelect_","pages","props","_objectWithoutProperties","_excluded","ctx","lastItemRef","useRef","hasFooter","useEffect","_menuRef$current","current","highlightFirst","_menuRef$current2","_menuRef$current3","highlightSuggested","highlightSelected","onKeyDown","event","_menuRef$current4","currentPage","highlighted","key","_menuRef$current5","highlight","_menuRef$current6","stopPropagation","highlightLast","selection","hide","children","index","page","createElement","Item","item","selected","overlayStyle","undefined","shadowStrength","style","_extends","circular","Fragment","Options","slice","Footer","padding","length","PaginationSelect","_ref2","_ref2$activePage","ariaLabelledby","disabled","id","_ref2$pages","triggerRef","_React$useState","useState","_React$useState2","_slicedToArray","setMaxHeight","_React$useState3","_React$useState4","isOpen","setIsOpen","handleResize","addEventListener","removeEventListener","afterShow","_menuRef$current7","_menuRef$current7$el","_menuRef$current7$el$","el","firstChild","focus","afterHide","e","_menuRef$current8","preventDefault","prev","_menuRef$current9","next","_menuRef$current0","select","role","passA11yPropsToOverlay","autoFocus","overlay","placement","trigger","arrow","variant"],"sources":["../../src/Pagination/PaginationSelect.tsx"],"sourcesContent":["import { times } from 'ramda'\nimport React from 'react'\nimport { DropdownButton } from '../Dropdown/Dropdown'\nimport { MenuImperative } from '../MenuImperative/MenuImperative'\nimport type { MenuRef, Selection } from '../MenuImperative/MenuImperative.types'\nimport {\n OverlayTrigger,\n useOverlayTriggerContext,\n} from '../OverlayTrigger/OverlayTrigger'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport { StyledOverlay } from './Pagination.styles'\nimport type { PageSelectProps, PaginationMenuProps } from './Pagination.types'\n\nconst noop = () => {}\n\nconst DEFAULT_MAX_HEIGHT = 300\nconst VIEWPORT_PADDING = 16\n\nfunction computeAvailableHeight(triggerEl: HTMLElement | null): number {\n if (!triggerEl) {\n return DEFAULT_MAX_HEIGHT\n }\n\n const rect = triggerEl.getBoundingClientRect()\n const viewportHeight = window.innerHeight\n\n const spaceBelow = viewportHeight - rect.bottom - VIEWPORT_PADDING\n const spaceAbove = rect.top - VIEWPORT_PADDING\n\n const availableSpace = Math.max(spaceBelow, spaceAbove)\n\n return Math.min(DEFAULT_MAX_HEIGHT, availableSpace)\n}\n\nconst PaginationMenu = React.forwardRef<HTMLDivElement, PaginationMenuProps>(\n function PaginationMenu(\n {\n activePage,\n maxHeight,\n menuRef,\n onSelect: onSelect_ = noop,\n pages,\n ...props\n },\n ref\n ) {\n const ctx = useOverlayTriggerContext()\n\n const lastItemRef = React.useRef<HTMLDivElement>(null)\n\n const hasFooter = pages > 10\n\n React.useEffect(() => {\n menuRef.current?.highlightFirst()\n }, [menuRef])\n\n React.useEffect(() => {\n menuRef.current?.highlightSuggested()\n menuRef.current?.highlightSelected()\n }, [menuRef])\n\n function onKeyDown(event: React.KeyboardEvent<HTMLDivElement>) {\n const currentPage = menuRef.current?.highlighted()\n\n if (event.key === 'ArrowDown' || event.key === 'Down') {\n // when on the second to last item, want to jump to the last item (in the footer)\n if (currentPage === pages - 1 && lastItemRef.current) {\n menuRef.current?.highlight(lastItemRef.current)\n }\n } else if (event.key === 'ArrowUp' || event.key === 'Up') {\n // on the last item (in the footer), want to jump back to the second to last\n // item back in the menu\n if (hasFooter && currentPage === pages) {\n event.stopPropagation()\n menuRef.current?.highlightLast()\n }\n }\n }\n\n function onSelect(selection: Selection) {\n onSelect_(selection)\n\n ctx.hide(selection.event)\n }\n\n const children = times((index: number) => {\n const page = index + 1\n\n return (\n <MenuImperative.Item\n item={page}\n key={index}\n selected={page === activePage}\n ref={lastItemRef}\n >\n {page}\n </MenuImperative.Item>\n )\n }, pages)\n\n const overlayStyle = maxHeight ? { maxHeight } : undefined\n\n return (\n <StyledOverlay ref={ref} shadowStrength={2} style={overlayStyle}>\n <MenuImperative\n circular\n {...props}\n ref={menuRef}\n onKeyDown={onKeyDown}\n onSelect={onSelect}\n >\n {hasFooter ? (\n <>\n <MenuImperative.Options>\n {children.slice(0, -1)}\n </MenuImperative.Options>\n <MenuImperative.Footer padding=\"xs none\">\n {children[children.length - 1]}\n </MenuImperative.Footer>\n </>\n ) : (\n <MenuImperative.Options>{children}</MenuImperative.Options>\n )}\n </MenuImperative>\n </StyledOverlay>\n )\n }\n)\n\nexport const PaginationSelect = React.forwardRef<\n HTMLButtonElement,\n PageSelectProps\n>(function PaginationSelect(\n {\n activePage = 1,\n [`aria-labelledby`]: ariaLabelledby,\n disabled,\n id,\n onSelect,\n pages = 0,\n ...props\n },\n ref\n) {\n const menuRef = React.useRef<MenuRef>(null)\n const triggerRef = React.useRef<HTMLButtonElement>(null)\n const [maxHeight, setMaxHeight] = React.useState<number | undefined>(\n undefined\n )\n const [isOpen, setIsOpen] = React.useState(false)\n\n // Recompute height on viewport resize\n React.useEffect(() => {\n if (!isOpen) return\n\n function handleResize() {\n setMaxHeight(computeAvailableHeight(triggerRef.current))\n }\n\n window.addEventListener('resize', handleResize)\n return () => window.removeEventListener('resize', handleResize)\n }, [isOpen])\n\n // Safari has an issue with giving focus to buttons after clicking on them\n // if the button or menu do not have focus, the keyboard navigation does not work,\n // so just focus the menu when we open it\n function afterShow() {\n // this is brittle, if MenuImperative dom structure changes this could break\n // but super specific to pagination, not really a concern elsewhere\n ;(menuRef.current?.el?.firstChild as HTMLDivElement)?.focus()\n\n // Compute available height\n setIsOpen(true)\n setMaxHeight(computeAvailableHeight(triggerRef.current))\n }\n\n function afterHide() {\n setIsOpen(false)\n setMaxHeight(undefined)\n }\n\n function onKeyDown(e: React.KeyboardEvent<HTMLButtonElement>) {\n if (e.key === 'Up' || e.key === 'ArrowUp') {\n e.preventDefault()\n menuRef.current?.prev()\n } else if (e.key === 'Down' || e.key === 'ArrowDown') {\n e.preventDefault()\n menuRef.current?.next()\n } else if (e.key === 'Enter') {\n e.preventDefault()\n menuRef.current?.select(e)\n }\n }\n\n return (\n <OverlayTrigger\n role=\"listbox\"\n passA11yPropsToOverlay\n autoFocus\n afterShow={afterShow}\n afterHide={afterHide}\n overlay={\n <PaginationMenu\n activePage={activePage}\n maxHeight={maxHeight}\n menuRef={menuRef}\n onSelect={onSelect}\n pages={pages}\n />\n }\n placement=\"bottom-left\"\n ref={mergeRefs(ref, triggerRef)}\n trigger=\"click\"\n {...props}\n >\n <DropdownButton\n aria-labelledby={ariaLabelledby}\n arrow\n disabled={disabled}\n id={id}\n onKeyDown={onKeyDown}\n role=\"combobox\"\n variant=\"tertiary\"\n >\n {activePage}\n </DropdownButton>\n </OverlayTrigger>\n )\n})\n"],"mappings":"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"}