@procore/core-react 12.53.4 → 12.54.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 (286) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/AnchorNavigation/AnchorNavigation.styles.js +4 -4
  3. package/dist/Avatar/Avatar.styles.js +5 -5
  4. package/dist/AvatarStack/AvatarStack.js +2 -0
  5. package/dist/AvatarStack/AvatarStack.js.map +1 -1
  6. package/dist/AvatarStack/AvatarStack.styles.js +8 -8
  7. package/dist/Badge/Badge.styles.js +2 -2
  8. package/dist/BadgePill/BadgePill.styles.js +4 -4
  9. package/dist/Banner/Banner.d.ts +1 -0
  10. package/dist/Banner/Banner.js +31 -14
  11. package/dist/Banner/Banner.js.map +1 -1
  12. package/dist/Banner/Banner.styles.d.ts +10 -0
  13. package/dist/Banner/Banner.styles.js +29 -12
  14. package/dist/Banner/Banner.styles.js.map +1 -1
  15. package/dist/Banner/Banner.types.d.ts +1 -1
  16. package/dist/Banner/Banner.types.js.map +1 -1
  17. package/dist/Banner/index.d.ts +1 -1
  18. package/dist/Banner/index.js +1 -1
  19. package/dist/Banner/index.js.map +1 -1
  20. package/dist/Box/Box.styles.js +1 -1
  21. package/dist/Breadcrumbs/Breadcrumbs.styles.js +7 -6
  22. package/dist/Breadcrumbs/Breadcrumbs.styles.js.map +1 -1
  23. package/dist/Button/Button.styles.js +5 -5
  24. package/dist/Calendar/Calendar.styles.js +10 -10
  25. package/dist/Card/Card.styles.js +1 -1
  26. package/dist/Checkbox/Checkbox.styles.js +6 -6
  27. package/dist/ContactItem/ContactItem.styles.js +5 -5
  28. package/dist/Content/Content.styles.js +2 -2
  29. package/dist/DateInput/DateInput.styles.js +6 -6
  30. package/dist/DetailPage/DetailPage.styles.js +11 -9
  31. package/dist/DetailPage/DetailPage.styles.js.map +1 -1
  32. package/dist/Dropdown/Dropdown.styles.js +3 -3
  33. package/dist/DropdownFlyout/DropdownFlyout.js +8 -0
  34. package/dist/DropdownFlyout/DropdownFlyout.js.map +1 -1
  35. package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
  36. package/dist/Dropzone/Dropzone.js +1 -1
  37. package/dist/Dropzone/Dropzone.styles.js +9 -9
  38. package/dist/EmptyState/EmptyState.styles.js +6 -6
  39. package/dist/Field/Field.styles.js +3 -3
  40. package/dist/FileList/FileList.styles.js +3 -3
  41. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +17 -14
  42. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js.map +1 -1
  43. package/dist/FileSelect/FileExplorer/FileExplorerModal.js +4 -2
  44. package/dist/FileSelect/FileExplorer/FileExplorerModal.js.map +1 -1
  45. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +5 -4
  46. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js.map +1 -1
  47. package/dist/FileSelect/FileSelect.styles.js +2 -2
  48. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  49. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
  50. package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
  51. package/dist/FileSelect/LocalSource/LocalSource.styles.js +6 -5
  52. package/dist/FileSelect/LocalSource/LocalSource.styles.js.map +1 -1
  53. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  54. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +13 -11
  55. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js.map +1 -1
  56. package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
  57. package/dist/FileToken/FileToken.styles.js +6 -6
  58. package/dist/FilterToken/FilterToken.styles.js +5 -5
  59. package/dist/FlexList/FlexList.styles.js +1 -1
  60. package/dist/Form/Form.styles.js +13 -13
  61. package/dist/Form/StyledFormikForm.styles.js +2 -2
  62. package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
  63. package/dist/Grid/Grid.styles.js +2 -2
  64. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  65. package/dist/Input/Input.styles.js +1 -1
  66. package/dist/Link/Link.styles.js +1 -1
  67. package/dist/ListPage/ListPage.styles.js +12 -11
  68. package/dist/ListPage/ListPage.styles.js.map +1 -1
  69. package/dist/Loader/Loader.styles.js +2 -2
  70. package/dist/MenuImperative/MenuImperative.styles.js +11 -11
  71. package/dist/Modal/Modal.js +0 -2
  72. package/dist/Modal/Modal.js.map +1 -1
  73. package/dist/Modal/Modal.styles.js +44 -32
  74. package/dist/Modal/Modal.styles.js.map +1 -1
  75. package/dist/MultiSelect/MultiSelect.styles.js +8 -8
  76. package/dist/NextMenu/NextMenu.styles.js +3 -3
  77. package/dist/NextTile/NextTile.styles.js +5 -5
  78. package/dist/Notation/Notation.js +1 -1
  79. package/dist/NumberInput/NumberInput.styles.js +7 -7
  80. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  81. package/dist/OverlayTrigger/OverlayTrigger.js +12 -3
  82. package/dist/OverlayTrigger/OverlayTrigger.js.map +1 -1
  83. package/dist/OverlayTrigger/OverlayTrigger.types.d.ts +14 -0
  84. package/dist/OverlayTrigger/OverlayTrigger.types.js.map +1 -1
  85. package/dist/OverlayTrigger/a11yPresets.d.ts +19 -3
  86. package/dist/OverlayTrigger/a11yPresets.js +16 -6
  87. package/dist/OverlayTrigger/a11yPresets.js.map +1 -1
  88. package/dist/PageLayout/PageLayout.js +15 -4
  89. package/dist/PageLayout/PageLayout.js.map +1 -1
  90. package/dist/PageLayout/PageLayout.styles.js +35 -34
  91. package/dist/PageLayout/PageLayout.styles.js.map +1 -1
  92. package/dist/PageLayout/PageLayout.types.d.ts +1 -0
  93. package/dist/PageLayout/PageLayout.types.js.map +1 -1
  94. package/dist/PageLayout/PageLayout.utils.d.ts +11 -0
  95. package/dist/PageLayout/PageLayout.utils.js +45 -0
  96. package/dist/PageLayout/PageLayout.utils.js.map +1 -1
  97. package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.js +2 -2
  98. package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.js.map +1 -1
  99. package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.d.ts +5 -0
  100. package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +9 -2
  101. package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js.map +1 -1
  102. package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
  103. package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
  104. package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
  105. package/dist/Pagination/Pagination.styles.js +5 -5
  106. package/dist/Panel/Panel.styles.js +17 -16
  107. package/dist/Panel/Panel.styles.js.map +1 -1
  108. package/dist/Pill/Pill.styles.js +3 -3
  109. package/dist/PillSelect/PillSelect.styles.js +5 -5
  110. package/dist/Popover/Popover.js +6 -1
  111. package/dist/Popover/Popover.js.map +1 -1
  112. package/dist/Popover/Popover.styles.js +2 -2
  113. package/dist/Portal/Portal.styles.js +1 -1
  114. package/dist/ProgressBar/ProgressBar.styles.js +2 -2
  115. package/dist/RadioButton/RadioButton.styles.js +3 -3
  116. package/dist/Required/Required.styles.js +3 -3
  117. package/dist/Search/Search.styles.js +5 -5
  118. package/dist/Section/Section.styles.js +7 -7
  119. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  120. package/dist/Select/Select.js +5 -2
  121. package/dist/Select/Select.js.map +1 -1
  122. package/dist/Select/Select.styles.js +8 -8
  123. package/dist/Semantic/Semantic.styles.js +9 -9
  124. package/dist/Slider/Slider.styles.js +5 -5
  125. package/dist/Spinner/Spinner.styles.js +7 -7
  126. package/dist/SplitViewCard/SplitViewCard.styles.js +15 -13
  127. package/dist/SplitViewCard/SplitViewCard.styles.js.map +1 -1
  128. package/dist/SuperSelect/SuperSelect.js +8 -0
  129. package/dist/SuperSelect/SuperSelect.js.map +1 -1
  130. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  131. package/dist/SuperSelect/SuperSelect.styles.js +40 -40
  132. package/dist/SuperSelect/useSuperSelect.js +20 -4
  133. package/dist/SuperSelect/useSuperSelect.js.map +1 -1
  134. package/dist/Switch/Switch.styles.js +4 -4
  135. package/dist/Table/Table.js +63 -2
  136. package/dist/Table/Table.js.map +1 -1
  137. package/dist/Table/Table.styles.js +31 -30
  138. package/dist/Table/Table.styles.js.map +1 -1
  139. package/dist/TableShelf/TableShelf.styles.js +5 -5
  140. package/dist/Tabs/Tabs.js +11 -3
  141. package/dist/Tabs/Tabs.js.map +1 -1
  142. package/dist/Tabs/Tabs.styles.js +16 -16
  143. package/dist/Tearsheet/Tearsheet.js +4 -3
  144. package/dist/Tearsheet/Tearsheet.js.map +1 -1
  145. package/dist/Tearsheet/Tearsheet.styles.js +5 -5
  146. package/dist/TextArea/TextArea.styles.js +1 -1
  147. package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
  148. package/dist/Thumbnail/Thumbnail.styles.d.ts +1 -0
  149. package/dist/Thumbnail/Thumbnail.styles.js +22 -22
  150. package/dist/Thumbnail/Thumbnail.styles.js.map +1 -1
  151. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
  152. package/dist/TieredSelect/TieredSelect.styles.js +9 -9
  153. package/dist/Tile/Tile.styles.js +8 -8
  154. package/dist/Title/Title.styles.js +11 -9
  155. package/dist/Title/Title.styles.js.map +1 -1
  156. package/dist/Toast/Toast.styles.js +3 -3
  157. package/dist/ToggleButton/ToggleButton.styles.js +1 -1
  158. package/dist/Token/Token.styles.js +5 -5
  159. package/dist/ToolHeader/ToolHeader.styles.js +15 -10
  160. package/dist/ToolHeader/ToolHeader.styles.js.map +1 -1
  161. package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
  162. package/dist/Tooltip/Tooltip.js +7 -1
  163. package/dist/Tooltip/Tooltip.js.map +1 -1
  164. package/dist/Tooltip/Tooltip.styles.js +3 -3
  165. package/dist/Tree/Tree.js +1 -1
  166. package/dist/Tree/Tree.styles.js +10 -10
  167. package/dist/Typeahead/Typeahead.styles.js +4 -4
  168. package/dist/Typography/Typography.styles.js +1 -1
  169. package/dist/Typography/Typography.table.story.js +2 -2
  170. package/dist/_hooks/I18n.d.ts +33 -13
  171. package/dist/_hooks/I18n.js +2 -0
  172. package/dist/_hooks/I18n.js.map +1 -1
  173. package/dist/_locales/de-DE.json +1 -0
  174. package/dist/_locales/en-AU.json +1 -0
  175. package/dist/_locales/en-CA.json +1 -0
  176. package/dist/_locales/en-GB.json +1 -0
  177. package/dist/_locales/en.json +3 -1
  178. package/dist/_locales/es-ES.json +1 -0
  179. package/dist/_locales/es.json +1 -0
  180. package/dist/_locales/fr-CA.json +1 -0
  181. package/dist/_locales/fr-FR.json +1 -0
  182. package/dist/_locales/is-IS.json +1 -0
  183. package/dist/_locales/it-IT.json +1 -0
  184. package/dist/_locales/ja-JP.json +1 -0
  185. package/dist/_locales/nb-NO.json +2 -1
  186. package/dist/_locales/pl-PL.json +1 -0
  187. package/dist/_locales/pseudo.json +3 -1
  188. package/dist/_locales/pt-BR.json +1 -0
  189. package/dist/_locales/pt-PT.json +3 -2
  190. package/dist/_locales/th-TH.json +1 -0
  191. package/dist/_locales/zh-SG.json +1 -0
  192. package/dist/_locales/zh-TW.json +2 -1
  193. package/dist/_storyHelpers_/components/Deprecation.styles.js +1 -1
  194. package/dist/_storyHelpers_/components/StoryGrid.js +5 -4
  195. package/dist/_storyHelpers_/components/StoryGrid.js.map +1 -1
  196. package/dist/_storyHelpers_/highZoom.d.ts +68 -0
  197. package/dist/_storyHelpers_/highZoom.js +72 -0
  198. package/dist/_storyHelpers_/highZoom.js.map +1 -0
  199. package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +7 -7
  200. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  201. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +25 -25
  202. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  203. package/dist/_typedoc/Banner/Banner.types.json +18 -18
  204. package/dist/_typedoc/Box/Box.types.json +68 -68
  205. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +12 -12
  206. package/dist/_typedoc/Button/Button.types.json +14 -14
  207. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  208. package/dist/_typedoc/Card/Card.types.json +6 -6
  209. package/dist/_typedoc/Checkbox/Checkbox.types.json +8 -8
  210. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  211. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  212. package/dist/_typedoc/DateSelect/DateSelect.types.json +17 -17
  213. package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
  214. package/dist/_typedoc/DetailPageTemplate/DetailPageTemplate.types.json +3 -3
  215. package/dist/_typedoc/Dropdown/Dropdown.types.json +38 -38
  216. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +37 -37
  217. package/dist/_typedoc/Dropzone/Dropzone.types.json +50 -50
  218. package/dist/_typedoc/EmptyState/EmptyState.types.json +18 -18
  219. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  220. package/dist/_typedoc/FileSelect/FileSelect.types.json +27 -27
  221. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  222. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  223. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +17 -17
  224. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  225. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  226. package/dist/_typedoc/Form/Form.types.json +783 -783
  227. package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
  228. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  229. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +81 -81
  230. package/dist/_typedoc/Input/Input.types.json +2 -2
  231. package/dist/_typedoc/Link/Link.types.json +1 -1
  232. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  233. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  234. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +90 -90
  235. package/dist/_typedoc/Modal/Modal.types.json +48 -48
  236. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +34 -34
  237. package/dist/_typedoc/NextTile/NextTile.types.json +33 -33
  238. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  239. package/dist/_typedoc/NumberInput/NumberInput.types.json +52 -52
  240. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +44 -33
  241. package/dist/_typedoc/PageLayout/PageLayout.types.json +42 -42
  242. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  243. package/dist/_typedoc/Panel/Panel.types.json +28 -28
  244. package/dist/_typedoc/Pill/Pill.types.json +2 -2
  245. package/dist/_typedoc/PillSelect/PillSelect.types.json +49 -49
  246. package/dist/_typedoc/Popover/Popover.types.json +15 -15
  247. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +7 -7
  248. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  249. package/dist/_typedoc/Required/Required.types.json +5 -5
  250. package/dist/_typedoc/Search/Search.types.json +18 -18
  251. package/dist/_typedoc/Section/Section.types.json +15 -15
  252. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
  253. package/dist/_typedoc/Select/Select.types.json +67 -67
  254. package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
  255. package/dist/_typedoc/SettingsPageTemplate/SettingsPageTemplate.types.json +3 -3
  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 +108 -108
  260. package/dist/_typedoc/Tabs/Tablist.types.json +10 -10
  261. package/dist/_typedoc/Tabs/Tabs.types.json +20 -20
  262. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
  263. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  264. package/dist/_typedoc/TextEditor/TextEditor.types.json +11 -11
  265. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
  266. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  267. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +43 -43
  268. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +29 -29
  269. package/dist/_typedoc/Tile/Tile.types.json +8 -8
  270. package/dist/_typedoc/Title/Title.types.json +1 -1
  271. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  272. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
  273. package/dist/_typedoc/Token/Token.types.json +7 -7
  274. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  275. package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +8 -8
  276. package/dist/_typedoc/ToolLandingPageTemplate/ToolLandingPageTemplate.types.json +2 -2
  277. package/dist/_typedoc/Tooltip/Tooltip.types.json +15 -15
  278. package/dist/_typedoc/Tree/Tree.types.json +132 -132
  279. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  280. package/dist/_typedoc/Typography/Typography.types.json +9 -9
  281. package/dist/_typedoc/_utils/types.json +3 -3
  282. package/dist/_typedoc/a11y-tips.json +1 -1
  283. package/package.json +2 -2
  284. package/dist/_hooks/ScrollLock.d.ts +0 -1
  285. package/dist/_hooks/ScrollLock.js +0 -31
  286. package/dist/_hooks/ScrollLock.js.map +0 -1
@@ -1,6 +1,7 @@
1
1
  import { Warning } from '@procore/core-icons';
2
2
  import styled, { css } from 'styled-components';
3
3
  import { Card } from '../Card/Card';
4
+ import { mediaHeightDown } from '../PageLayout/PageLayout.utils';
4
5
  import { StyledRequiredContainer } from '../Required/Required.styles';
5
6
  import { StyledSection, StyledSectionInner } from '../Section/Section.styles';
6
7
  import { Typography } from '../Typography/Typography';
@@ -33,16 +34,16 @@ var screenWidthPixelBreakpoints = {
33
34
  };
34
35
  export var StyledModal = /*#__PURE__*/styled.div.withConfig({
35
36
  displayName: "StyledModal",
36
- componentId: "core-12_53_4__sc-1ijdug2-0"
37
+ componentId: "core-12_54_0__sc-1ijdug2-0"
37
38
  })(["display:flex;height:100vh;position:absolute;opacity:0;transition:0.3s opacity ease;width:100vw;z-index:0;pointer-events:none;&.", "{opacity:1;pointer-events:auto;}&.", "{opacity:0;pointer-events:none;}"], fadeInClassName, fadeOutClassName);
38
39
  export var StyledModalButtons = /*#__PURE__*/styled.div.withConfig({
39
40
  displayName: "StyledModalButtons",
40
- componentId: "core-12_53_4__sc-1ijdug2-1"
41
+ componentId: "core-12_54_0__sc-1ijdug2-1"
41
42
  })(["display:flex;flex:0 0 auto;margin-left:", "px;> * + *{margin-left:", "px;}"], spacing.lg, spacing.sm);
42
43
  export var StyledModalContainer = /*#__PURE__*/styled(Card).withConfig({
43
44
  displayName: "StyledModalContainer",
44
- componentId: "core-12_53_4__sc-1ijdug2-2"
45
- })(["display:flex;flex-direction:row;position:absolute;z-index:2;", " ", " ", ""], function (_ref) {
45
+ componentId: "core-12_54_0__sc-1ijdug2-2"
46
+ })(["display:flex;flex-direction:row;position:absolute;z-index:2;", " ", " ", " ", ""], function (_ref) {
46
47
  var $compact = _ref.$compact;
47
48
  if (!$compact) {
48
49
  return '';
@@ -62,48 +63,59 @@ export var StyledModalContainer = /*#__PURE__*/styled(Card).withConfig({
62
63
  }
63
64
  // TODO deprecated, uses new centering, required width
64
65
  return css(["left:50vw;transform:translateX(-50%) ", ";"], $placement === 'center' && 'translateY(-50%)');
66
+ }, function (_ref4) {
67
+ var $compact = _ref4.$compact,
68
+ $placement = _ref4.$placement;
69
+ return !$compact && css(["@media ", "{max-height:calc( ", " );overflow-y:auto;}@media (max-width:", "px){top:0;left:0;right:0;transform:none;margin:0;width:100vw;max-width:none;height:100vh;max-height:100vh;border-radius:0;overflow-y:auto;}"], mediaHeightDown["short"], $placement === 'top' ? "95vh - ".concat(spacing.sm, "px") : "100vh - ".concat(spacing.sm * 2, "px"), screenWidthPixelBreakpoints.mobile.small.max);
65
70
  });
66
71
  export var StyledModalFooter = /*#__PURE__*/styled.div.withConfig({
67
72
  displayName: "StyledModalFooter",
68
- componentId: "core-12_53_4__sc-1ijdug2-3"
73
+ componentId: "core-12_54_0__sc-1ijdug2-3"
69
74
  })(["align-items:center;display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;padding:", "px;"], spacing.lg);
70
75
  export var StyledModalBody = /*#__PURE__*/styled.div.withConfig({
71
76
  displayName: "StyledModalBody",
72
- componentId: "core-12_53_4__sc-1ijdug2-4"
73
- })(["", " &:focus-visible{", "}box-sizing:border-box;color:", ";display:flex;flex-direction:column;overflow:auto;", " ", " > ", "{padding-left:0;padding-right:0;&:first-child > ", "{padding-top:0;}}> ", "{margin-bottom:", "px;}", ""], getTypographyIntent('body'), getFocusInset(), colors.gray15, function (_ref4) {
74
- var $noSideSpacing = _ref4.$noSideSpacing;
77
+ componentId: "core-12_54_0__sc-1ijdug2-4"
78
+ })(["", " &:focus-visible{", "}box-sizing:border-box;color:", ";display:flex;flex-direction:column;overflow:auto;", " ", " ", " > ", "{padding-left:0;padding-right:0;&:first-child > ", "{padding-top:0;}}> ", "{margin-bottom:", "px;}", ""], getTypographyIntent('body'), getFocusInset(), colors.gray15, function (_ref5) {
79
+ var $noSideSpacing = _ref5.$noSideSpacing;
75
80
  return css(["padding:", "px ", "px;"], spacing.lg, $noSideSpacing ? 0 : spacing.lg);
76
- }, function (_ref5) {
77
- var $compact = _ref5.$compact;
81
+ }, function (_ref6) {
82
+ var $compact = _ref6.$compact;
78
83
  if (!$compact) {
79
84
  // TODO deprecated, moving width up. delete line in breaking change
80
85
  return css(["max-width:", ";"], modalMaxWidth);
81
86
  }
82
- }, StyledSection, StyledSectionInner, StyledRequiredContainer, spacing.lg, function (_ref6) {
83
- var $isOverflowingY = _ref6.$isOverflowingY;
87
+ }, function (_ref7) {
88
+ var $compact = _ref7.$compact;
89
+ return !$compact && css(["@media ", "{flex:none;max-height:none !important;}@media (max-width:", "px){padding-top:0;}"], mediaHeightDown["short"], screenWidthPixelBreakpoints.mobile.small.max);
90
+ }, StyledSection, StyledSectionInner, StyledRequiredContainer, spacing.lg, function (_ref8) {
91
+ var $isOverflowingY = _ref8.$isOverflowingY;
84
92
  return $isOverflowingY && css(["& + ", "{border-top-width:1px;border-top-style:solid;border-top-color:", ";", "{border-top:none;}}"], StyledModalFooter, colors.gray85, StyledModalFooterSummary);
85
93
  });
86
94
  export var StyledModalContent = /*#__PURE__*/styled.div.withConfig({
87
95
  displayName: "StyledModalContent",
88
- componentId: "core-12_53_4__sc-1ijdug2-5"
89
- })(["display:flex;flex-direction:column;max-height:90vh;overflow:hidden;width:100%;", ""], function (_ref7) {
90
- var _ref7$$compact = _ref7.$compact,
91
- $compact = _ref7$$compact === void 0 ? false : _ref7$$compact;
96
+ componentId: "core-12_54_0__sc-1ijdug2-5"
97
+ })(["display:flex;flex-direction:column;max-height:90vh;overflow:hidden;width:100%;", " ", ""], function (_ref9) {
98
+ var _ref9$$compact = _ref9.$compact,
99
+ $compact = _ref9$$compact === void 0 ? false : _ref9$$compact;
92
100
  if (!$compact) {
93
101
  return '';
94
102
  }
95
103
  return css(["max-height:unset;"]);
104
+ }, function (_ref0) {
105
+ var _ref0$$compact = _ref0.$compact,
106
+ $compact = _ref0$$compact === void 0 ? false : _ref0$$compact;
107
+ return !$compact && css(["@media ", "{max-height:none;overflow:visible;}"], mediaHeightDown["short"]);
96
108
  });
97
109
  export var StyledModalFooterNotation = /*#__PURE__*/styled(Typography).withConfig({
98
110
  displayName: "StyledModalFooterNotation",
99
- componentId: "core-12_53_4__sc-1ijdug2-6"
111
+ componentId: "core-12_54_0__sc-1ijdug2-6"
100
112
  })(["flex-grow:1;"]);
101
113
  export var StyledModalHeader = /*#__PURE__*/styled.div.withConfig({
102
114
  displayName: "StyledModalHeader",
103
- componentId: "core-12_53_4__sc-1ijdug2-7"
104
- })(["align-items:flex-start;color:", ";display:flex;flex:0 0 auto;position:relative;", " padding:", "px"], colors.gray10, function (_ref8) {
105
- var $compact = _ref8.$compact,
106
- $isBodyScrolled = _ref8.$isBodyScrolled;
115
+ componentId: "core-12_54_0__sc-1ijdug2-7"
116
+ })(["align-items:flex-start;color:", ";display:flex;flex:0 0 auto;position:relative;", " padding:", "px"], colors.gray10, function (_ref1) {
117
+ var $compact = _ref1.$compact,
118
+ $isBodyScrolled = _ref1.$isBodyScrolled;
107
119
  if ($compact) {
108
120
  return css(["border-bottom:1px solid ", ";"], colors.gray85);
109
121
  }
@@ -111,15 +123,15 @@ export var StyledModalHeader = /*#__PURE__*/styled.div.withConfig({
111
123
  }, spacing.lg);
112
124
  export var StyledModalHeading = /*#__PURE__*/styled.div.withConfig({
113
125
  displayName: "StyledModalHeading",
114
- componentId: "core-12_53_4__sc-1ijdug2-8"
115
- })(["", " align-items:center;display:flex;flex:1 1 auto;min-height:36px;padding-right:", "px;", ""], function (_ref9) {
116
- var $compact = _ref9.$compact;
126
+ componentId: "core-12_54_0__sc-1ijdug2-8"
127
+ })(["", " align-items:center;display:flex;flex:1 1 auto;min-height:36px;padding-right:", "px;", ""], function (_ref10) {
128
+ var $compact = _ref10.$compact;
117
129
  return getTypographyIntent($compact ? 'h3' : 'h2');
118
- }, function (_ref0) {
119
- var $compact = _ref0.$compact;
130
+ }, function (_ref11) {
131
+ var $compact = _ref11.$compact;
120
132
  return $compact ? 36 : spacing.lg;
121
- }, function (_ref1) {
122
- var $compact = _ref1.$compact;
133
+ }, function (_ref12) {
134
+ var $compact = _ref12.$compact;
123
135
  if (!$compact) {
124
136
  return '';
125
137
  }
@@ -127,18 +139,18 @@ export var StyledModalHeading = /*#__PURE__*/styled.div.withConfig({
127
139
  });
128
140
  export var StyledModalCancel = /*#__PURE__*/styled.div.withConfig({
129
141
  displayName: "StyledModalCancel",
130
- componentId: "core-12_53_4__sc-1ijdug2-9"
142
+ componentId: "core-12_54_0__sc-1ijdug2-9"
131
143
  })(["flex:0 0 auto;"]);
132
144
  export var StyledModalScrim = /*#__PURE__*/styled.div.withConfig({
133
145
  displayName: "StyledModalScrim",
134
- componentId: "core-12_53_4__sc-1ijdug2-10"
146
+ componentId: "core-12_54_0__sc-1ijdug2-10"
135
147
  })(["background:hsla(200,8%,10%,0.6);height:100vh;left:0;position:absolute;top:0;width:100vw;z-index:1;"]);
136
148
  export var StyledModalWarningIcon = /*#__PURE__*/styled(Warning).withConfig({
137
149
  displayName: "StyledModalWarningIcon",
138
- componentId: "core-12_53_4__sc-1ijdug2-11"
150
+ componentId: "core-12_54_0__sc-1ijdug2-11"
139
151
  })(["color:", ";margin-right:", "px;"], colors.yellow40, spacing.sm);
140
152
  export var StyledModalFooterSummary = /*#__PURE__*/styled.div.withConfig({
141
153
  displayName: "StyledModalFooterSummary",
142
- componentId: "core-12_53_4__sc-1ijdug2-12"
154
+ componentId: "core-12_54_0__sc-1ijdug2-12"
143
155
  })(["", " background-color:", ";border-bottom:1px solid ", ";border-top:1px solid ", ";color:", ";flex:1 1 100%;font-style:italic;margin:-", "px -", "px ", "px;padding:", "px;"], getTypographyIntent('small'), colors.gray98, colors.gray85, colors.gray85, colors.gray15, spacing.lg, spacing.lg, spacing.lg, spacing.lg);
144
156
  //# sourceMappingURL=Modal.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.styles.js","names":["Warning","styled","css","Card","StyledRequiredContainer","StyledSection","StyledSectionInner","Typography","getTypographyIntent","colors","getFocusInset","spacing","fadeInClassName","fadeOutClassName","modalMaxWidth","modalPixelGutter","xl","modalPixelWidths","sm","md","lg","compactModalFullscreenMaxHeight","screenWidthPixelBreakpoints","mobile","small","min","max","large","StyledModal","div","withConfig","displayName","componentId","StyledModalButtons","StyledModalContainer","_ref","$compact","_ref2","$placement","_ref3","$width","StyledModalBody","StyledModalFooter","gray15","_ref4","$noSideSpacing","_ref5","_ref6","$isOverflowingY","gray85","StyledModalFooterSummary","StyledModalContent","_ref7","_ref7$$compact","StyledModalFooterNotation","StyledModalHeader","gray10","_ref8","$isBodyScrolled","StyledModalHeading","_ref9","_ref0","_ref1","StyledModalCancel","StyledModalScrim","StyledModalWarningIcon","yellow40","gray98"],"sources":["../../src/Modal/Modal.styles.ts"],"sourcesContent":["import { Warning } from '@procore/core-icons'\nimport styled, { css } from 'styled-components'\nimport { Card } from '../Card/Card'\nimport { StyledRequiredContainer } from '../Required/Required.styles'\nimport { StyledSection, StyledSectionInner } from '../Section/Section.styles'\nimport { Typography } from '../Typography/Typography'\nimport { getTypographyIntent } from '../Typography/Typography.styles'\nimport { colors } from '../_styles/colors'\nimport { getFocusInset } from '../_styles/mixins'\nimport { spacing } from '../_styles/spacing'\nimport type { ModalPlacement, ModalWidth } from './Modal.types'\n\nexport const fadeInClassName = 'fade-in'\nexport const fadeOutClassName = 'fade-out'\nexport const modalMaxWidth = '640px'\nexport const modalPixelGutter = spacing.xl\nexport const modalPixelWidths = {\n sm: 432,\n md: 688,\n lg: 1152,\n xl: 1920,\n}\n\nconst compactModalFullscreenMaxHeight = 940\nconst screenWidthPixelBreakpoints = {\n mobile: {\n small: {\n min: 0,\n max: 439,\n },\n large: {\n min: 440,\n max: 767,\n },\n },\n}\n\nexport const StyledModal = styled.div`\n display: flex;\n height: 100vh;\n position: absolute;\n opacity: 0;\n transition: 0.3s opacity ease;\n width: 100vw;\n z-index: 0;\n pointer-events: none;\n\n &.${fadeInClassName} {\n opacity: 1;\n pointer-events: auto;\n }\n\n &.${fadeOutClassName} {\n opacity: 0;\n pointer-events: none;\n }\n`\n\nexport const StyledModalButtons = styled.div`\n display: flex;\n flex: 0 0 auto;\n margin-left: ${spacing.lg}px;\n\n > * + * {\n margin-left: ${spacing.sm}px;\n }\n`\n\nexport const StyledModalContainer = styled(Card)<{\n $compact: boolean\n $placement: ModalPlacement\n $width?: ModalWidth\n}>`\n display: flex;\n flex-direction: row;\n position: absolute;\n z-index: 2;\n\n ${({ $compact }) => {\n if (!$compact) {\n return ''\n }\n\n return css`\n @media (max-width: ${screenWidthPixelBreakpoints.mobile.small\n .max}px) and (max-height: ${compactModalFullscreenMaxHeight}px) {\n border-radius: 0;\n height: 100vh;\n width: 100vw;\n }\n @media (min-width: ${screenWidthPixelBreakpoints.mobile.large\n .min}px) and (max-width: ${screenWidthPixelBreakpoints.mobile.large\n .max}px) {\n max-height: calc(100vh - 24px);\n width: 416px;\n }\n @media (min-height: ${compactModalFullscreenMaxHeight + 1}px) {\n height: 916px;\n max-width: 100vw;\n }\n `\n }}\n\n ${({ $placement }) => {\n if ($placement === 'top') {\n return css`\n top: 5vh;\n `\n }\n\n return css`\n top: 50vh;\n transform: translateY(-50%);\n `\n }}\n\n ${({ $width, $placement }) => {\n if ($width) {\n return css`\n left: ${modalPixelGutter}px;\n right: ${modalPixelGutter}px;\n margin-left: auto;\n margin-right: auto;\n max-width: ${modalPixelWidths[$width]}px;\n\n // TODO deprecated, moving width up. delete line in breaking change\n ${StyledModalBody} {\n max-width: none;\n }\n `\n }\n // TODO deprecated, uses new centering, required width\n return css`\n left: 50vw;\n transform: translateX(-50%)\n ${$placement === 'center' && 'translateY(-50%)'};\n `\n }}\n`\n\nexport const StyledModalFooter = styled.div`\n align-items: center;\n display: flex;\n flex: 0 0 auto;\n flex-wrap: wrap;\n justify-content: flex-end;\n padding: ${spacing.lg}px;\n`\n\nexport const StyledModalBody = styled.div<{\n $compact: boolean\n $isOverflowingY: boolean\n $noSideSpacing: boolean\n}>`\n ${getTypographyIntent('body')}\n\n &:focus-visible {\n ${getFocusInset()}\n }\n\n box-sizing: border-box;\n color: ${colors.gray15};\n display: flex;\n flex-direction: column;\n overflow: auto;\n\n ${({ $noSideSpacing }) => {\n return css`\n padding: ${spacing.lg}px ${$noSideSpacing ? 0 : spacing.lg}px;\n `\n }}\n\n ${({ $compact }) => {\n if (!$compact) {\n // TODO deprecated, moving width up. delete line in breaking change\n return css`\n max-width: ${modalMaxWidth};\n `\n }\n }}\n\n > ${StyledSection} {\n padding-left: 0;\n padding-right: 0;\n\n &:first-child > ${StyledSectionInner} {\n padding-top: 0;\n }\n }\n\n > ${StyledRequiredContainer} {\n margin-bottom: ${spacing.lg}px;\n }\n\n ${({ $isOverflowingY }) =>\n $isOverflowingY &&\n css`\n & + ${StyledModalFooter} {\n border-top-width: 1px;\n border-top-style: solid;\n border-top-color: ${colors.gray85};\n ${StyledModalFooterSummary} {\n border-top: none;\n }\n }\n `}\n`\n\nexport const StyledModalContent = styled.div<{ $compact?: boolean }>`\n display: flex;\n flex-direction: column;\n max-height: 90vh;\n overflow: hidden;\n width: 100%;\n\n ${({ $compact = false }) => {\n if (!$compact) {\n return ''\n }\n\n return css`\n max-height: unset;\n `\n }}\n`\n\nexport const StyledModalFooterNotation = styled(Typography)`\n flex-grow: 1;\n`\n\nexport const StyledModalHeader = styled.div<{\n $compact: boolean\n $isBodyScrolled: boolean\n}>`\n align-items: flex-start;\n color: ${colors.gray10};\n display: flex;\n flex: 0 0 auto;\n position: relative;\n ${({ $compact, $isBodyScrolled }) => {\n if ($compact) {\n return css`\n border-bottom: 1px solid ${colors.gray85};\n `\n }\n\n return css`\n border-bottom: 1px solid\n ${$isBodyScrolled ? colors.gray85 : 'transparent'};\n `\n }}\n\n padding: ${spacing.lg}px\n`\n\nexport const StyledModalHeading = styled.div<{ $compact: boolean }>`\n ${({ $compact }) => getTypographyIntent($compact ? 'h3' : 'h2')}\n align-items: center;\n display: flex;\n flex: 1 1 auto;\n min-height: 36px;\n padding-right: ${({ $compact }) => ($compact ? 36 : spacing.lg)}px;\n\n ${({ $compact }) => {\n if (!$compact) {\n return ''\n }\n\n return css`\n min-height: unset;\n `\n }}\n`\n\nexport const StyledModalCancel = styled.div`\n flex: 0 0 auto;\n`\n\nexport const StyledModalScrim = styled.div`\n background: hsla(200, 8%, 10%, 0.6);\n height: 100vh;\n left: 0;\n position: absolute;\n top: 0;\n width: 100vw;\n z-index: 1;\n`\n\nexport const StyledModalWarningIcon = styled(Warning)`\n color: ${colors.yellow40};\n margin-right: ${spacing.sm}px;\n`\nexport const StyledModalFooterSummary = styled.div`\n ${getTypographyIntent('small')}\n background-color: ${colors.gray98};\n border-bottom: 1px solid ${colors.gray85};\n border-top: 1px solid ${colors.gray85};\n color: ${colors.gray15};\n flex: 1 1 100%;\n font-style: italic;\n margin: -${spacing.lg}px -${spacing.lg}px ${spacing.lg}px;\n padding: ${spacing.lg}px;\n`\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Modal.styles.js","names":["Warning","styled","css","Card","mediaHeightDown","StyledRequiredContainer","StyledSection","StyledSectionInner","Typography","getTypographyIntent","colors","getFocusInset","spacing","fadeInClassName","fadeOutClassName","modalMaxWidth","modalPixelGutter","xl","modalPixelWidths","sm","md","lg","compactModalFullscreenMaxHeight","screenWidthPixelBreakpoints","mobile","small","min","max","large","StyledModal","div","withConfig","displayName","componentId","StyledModalButtons","StyledModalContainer","_ref","$compact","_ref2","$placement","_ref3","$width","StyledModalBody","_ref4","concat","StyledModalFooter","gray15","_ref5","$noSideSpacing","_ref6","_ref7","_ref8","$isOverflowingY","gray85","StyledModalFooterSummary","StyledModalContent","_ref9","_ref9$$compact","_ref0","_ref0$$compact","StyledModalFooterNotation","StyledModalHeader","gray10","_ref1","$isBodyScrolled","StyledModalHeading","_ref10","_ref11","_ref12","StyledModalCancel","StyledModalScrim","StyledModalWarningIcon","yellow40","gray98"],"sources":["../../src/Modal/Modal.styles.ts"],"sourcesContent":["import { Warning } from '@procore/core-icons'\nimport styled, { css } from 'styled-components'\nimport { Card } from '../Card/Card'\nimport { mediaHeightDown } from '../PageLayout/PageLayout.utils'\nimport { StyledRequiredContainer } from '../Required/Required.styles'\nimport { StyledSection, StyledSectionInner } from '../Section/Section.styles'\nimport { Typography } from '../Typography/Typography'\nimport { getTypographyIntent } from '../Typography/Typography.styles'\nimport { colors } from '../_styles/colors'\nimport { getFocusInset } from '../_styles/mixins'\nimport { spacing } from '../_styles/spacing'\nimport type { ModalPlacement, ModalWidth } from './Modal.types'\n\nexport const fadeInClassName = 'fade-in'\nexport const fadeOutClassName = 'fade-out'\nexport const modalMaxWidth = '640px'\nexport const modalPixelGutter = spacing.xl\nexport const modalPixelWidths = {\n sm: 432,\n md: 688,\n lg: 1152,\n xl: 1920,\n}\n\nconst compactModalFullscreenMaxHeight = 940\nconst screenWidthPixelBreakpoints = {\n mobile: {\n small: {\n min: 0,\n max: 439,\n },\n large: {\n min: 440,\n max: 767,\n },\n },\n}\n\nexport const StyledModal = styled.div`\n display: flex;\n height: 100vh;\n position: absolute;\n opacity: 0;\n transition: 0.3s opacity ease;\n width: 100vw;\n z-index: 0;\n pointer-events: none;\n\n &.${fadeInClassName} {\n opacity: 1;\n pointer-events: auto;\n }\n\n &.${fadeOutClassName} {\n opacity: 0;\n pointer-events: none;\n }\n`\n\nexport const StyledModalButtons = styled.div`\n display: flex;\n flex: 0 0 auto;\n margin-left: ${spacing.lg}px;\n\n > * + * {\n margin-left: ${spacing.sm}px;\n }\n`\n\nexport const StyledModalContainer = styled(Card)<{\n $compact: boolean\n $placement: ModalPlacement\n $width?: ModalWidth\n}>`\n display: flex;\n flex-direction: row;\n position: absolute;\n z-index: 2;\n\n ${({ $compact }) => {\n if (!$compact) {\n return ''\n }\n\n return css`\n @media (max-width: ${screenWidthPixelBreakpoints.mobile.small\n .max}px) and (max-height: ${compactModalFullscreenMaxHeight}px) {\n border-radius: 0;\n height: 100vh;\n width: 100vw;\n }\n @media (min-width: ${screenWidthPixelBreakpoints.mobile.large\n .min}px) and (max-width: ${screenWidthPixelBreakpoints.mobile.large\n .max}px) {\n max-height: calc(100vh - 24px);\n width: 416px;\n }\n @media (min-height: ${compactModalFullscreenMaxHeight + 1}px) {\n height: 916px;\n max-width: 100vw;\n }\n `\n }}\n\n ${({ $placement }) => {\n if ($placement === 'top') {\n return css`\n top: 5vh;\n `\n }\n\n return css`\n top: 50vh;\n transform: translateY(-50%);\n `\n }}\n\n ${({ $width, $placement }) => {\n if ($width) {\n return css`\n left: ${modalPixelGutter}px;\n right: ${modalPixelGutter}px;\n margin-left: auto;\n margin-right: auto;\n max-width: ${modalPixelWidths[$width]}px;\n\n // TODO deprecated, moving width up. delete line in breaking change\n ${StyledModalBody} {\n max-width: none;\n }\n `\n }\n // TODO deprecated, uses new centering, required width\n return css`\n left: 50vw;\n transform: translateX(-50%)\n ${$placement === 'center' && 'translateY(-50%)'};\n `\n }}\n\n ${({ $compact, $placement }) =>\n !$compact &&\n css`\n // High zoom: the dialog scrolls as a whole\n @media ${mediaHeightDown.short} {\n max-height: calc(\n ${$placement === 'top'\n ? `95vh - ${spacing.sm}px`\n : `100vh - ${spacing.sm * 2}px`}\n );\n overflow-y: auto;\n }\n\n // 400% zoom: full screen\n @media (max-width: ${screenWidthPixelBreakpoints.mobile.small.max}px) {\n top: 0;\n left: 0;\n right: 0;\n transform: none;\n margin: 0;\n width: 100vw;\n max-width: none;\n height: 100vh;\n max-height: 100vh;\n border-radius: 0;\n overflow-y: auto;\n }\n `}\n`\n\nexport const StyledModalFooter = styled.div`\n align-items: center;\n display: flex;\n flex: 0 0 auto;\n flex-wrap: wrap;\n justify-content: flex-end;\n padding: ${spacing.lg}px;\n`\n\nexport const StyledModalBody = styled.div<{\n $compact: boolean\n $isOverflowingY: boolean\n $noSideSpacing: boolean\n}>`\n ${getTypographyIntent('body')}\n\n &:focus-visible {\n ${getFocusInset()}\n }\n\n box-sizing: border-box;\n color: ${colors.gray15};\n display: flex;\n flex-direction: column;\n overflow: auto;\n\n ${({ $noSideSpacing }) => {\n return css`\n padding: ${spacing.lg}px ${$noSideSpacing ? 0 : spacing.lg}px;\n `\n }}\n\n ${({ $compact }) => {\n if (!$compact) {\n // TODO deprecated, moving width up. delete line in breaking change\n return css`\n max-width: ${modalMaxWidth};\n `\n }\n }}\n\n ${({ $compact }) =>\n !$compact &&\n css`\n // High zoom: one scroll area, also over an inline max-height\n @media ${mediaHeightDown.short} {\n flex: none;\n max-height: none !important;\n }\n\n // 400% zoom: no top padding\n @media (max-width: ${screenWidthPixelBreakpoints.mobile.small.max}px) {\n padding-top: 0;\n }\n `}\n\n > ${StyledSection} {\n padding-left: 0;\n padding-right: 0;\n\n &:first-child > ${StyledSectionInner} {\n padding-top: 0;\n }\n }\n\n > ${StyledRequiredContainer} {\n margin-bottom: ${spacing.lg}px;\n }\n\n ${({ $isOverflowingY }) =>\n $isOverflowingY &&\n css`\n & + ${StyledModalFooter} {\n border-top-width: 1px;\n border-top-style: solid;\n border-top-color: ${colors.gray85};\n ${StyledModalFooterSummary} {\n border-top: none;\n }\n }\n `}\n`\n\nexport const StyledModalContent = styled.div<{ $compact?: boolean }>`\n display: flex;\n flex-direction: column;\n max-height: 90vh;\n overflow: hidden;\n width: 100%;\n\n ${({ $compact = false }) => {\n if (!$compact) {\n return ''\n }\n\n return css`\n max-height: unset;\n `\n }}\n\n ${({ $compact = false }) =>\n !$compact &&\n css`\n @media ${mediaHeightDown.short} {\n max-height: none;\n overflow: visible;\n }\n `}\n`\n\nexport const StyledModalFooterNotation = styled(Typography)`\n flex-grow: 1;\n`\n\nexport const StyledModalHeader = styled.div<{\n $compact: boolean\n $isBodyScrolled: boolean\n}>`\n align-items: flex-start;\n color: ${colors.gray10};\n display: flex;\n flex: 0 0 auto;\n position: relative;\n ${({ $compact, $isBodyScrolled }) => {\n if ($compact) {\n return css`\n border-bottom: 1px solid ${colors.gray85};\n `\n }\n\n return css`\n border-bottom: 1px solid\n ${$isBodyScrolled ? colors.gray85 : 'transparent'};\n `\n }}\n\n padding: ${spacing.lg}px\n`\n\nexport const StyledModalHeading = styled.div<{ $compact: boolean }>`\n ${({ $compact }) => getTypographyIntent($compact ? 'h3' : 'h2')}\n align-items: center;\n display: flex;\n flex: 1 1 auto;\n min-height: 36px;\n padding-right: ${({ $compact }) => ($compact ? 36 : spacing.lg)}px;\n\n ${({ $compact }) => {\n if (!$compact) {\n return ''\n }\n\n return css`\n min-height: unset;\n `\n }}\n`\n\nexport const StyledModalCancel = styled.div`\n flex: 0 0 auto;\n`\n\nexport const StyledModalScrim = styled.div`\n background: hsla(200, 8%, 10%, 0.6);\n height: 100vh;\n left: 0;\n position: absolute;\n top: 0;\n width: 100vw;\n z-index: 1;\n`\n\nexport const StyledModalWarningIcon = styled(Warning)`\n color: ${colors.yellow40};\n margin-right: ${spacing.sm}px;\n`\nexport const StyledModalFooterSummary = styled.div`\n ${getTypographyIntent('small')}\n background-color: ${colors.gray98};\n border-bottom: 1px solid ${colors.gray85};\n border-top: 1px solid ${colors.gray85};\n color: ${colors.gray15};\n flex: 1 1 100%;\n font-style: italic;\n margin: -${spacing.lg}px -${spacing.lg}px ${spacing.lg}px;\n padding: ${spacing.lg}px;\n`\n"],"mappings":"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","ignoreList":[]}
@@ -8,34 +8,34 @@ import { getFocus } from '../_styles/mixins';
8
8
  import { spacing } from '../_styles/spacing';
9
9
  export var StyledMultiSelectInner = /*#__PURE__*/styled.div.withConfig({
10
10
  displayName: "StyledMultiSelectInner",
11
- componentId: "core-12_53_4__sc-s9ym9q-0"
11
+ componentId: "core-12_54_0__sc-s9ym9q-0"
12
12
  })(["display:flex;flex-wrap:wrap;margin-bottom:2px;margin-left:", "px;margin-right:", "px;margin-top:2px;min-width:0;width:100%;"], spacing.md, spacing.xs);
13
13
  export var StyledMultiSelectValues = /*#__PURE__*/styled.div.withConfig({
14
14
  displayName: "StyledMultiSelectValues",
15
- componentId: "core-12_53_4__sc-s9ym9q-1"
15
+ componentId: "core-12_54_0__sc-s9ym9q-1"
16
16
  })(["display:contents;"]);
17
17
  export var StyledMultiSelectToken = /*#__PURE__*/styled.div.withConfig({
18
18
  displayName: "StyledMultiSelectToken",
19
- componentId: "core-12_53_4__sc-s9ym9q-2"
19
+ componentId: "core-12_54_0__sc-s9ym9q-2"
20
20
  })(["margin-bottom:2px;margin-right:", "px;margin-top:2px;flex:0 1 auto;> div{max-width:178px;width:100%;}"], spacing.xs);
21
21
  export var StyledMultiSelectSearchInput = /*#__PURE__*/styled.input.withConfig({
22
22
  displayName: "StyledMultiSelectSearchInput",
23
- componentId: "core-12_53_4__sc-s9ym9q-3"
23
+ componentId: "core-12_54_0__sc-s9ym9q-3"
24
24
  })(["background-color:transparent;border-width:0;font-family:inherit;padding:0;height:24px;width:100%;", " ", " &::-ms-clear{display:none;}&:focus{box-shadow:none;outline:none;}&::placeholder{color:", ";}"], getTypographyIntent('body'), function (_ref) {
25
25
  var $isNavigatingTokens = _ref.$isNavigatingTokens;
26
26
  return $isNavigatingTokens && css(["color:transparent;"]);
27
27
  }, colors.gray45);
28
28
  export var StyledMultiSelectSearch = /*#__PURE__*/styled.div.withConfig({
29
29
  displayName: "StyledMultiSelectSearch",
30
- componentId: "core-12_53_4__sc-s9ym9q-4"
30
+ componentId: "core-12_54_0__sc-s9ym9q-4"
31
31
  })(["margin-bottom:2px;margin-right:", "px;margin-top:2px;flex:1;max-width:100%;min-width:24px;"], spacing.xs);
32
32
  export var StyledMultiSelectSearchIcon = /*#__PURE__*/styled.div.withConfig({
33
33
  displayName: "StyledMultiSelectSearchIcon",
34
- componentId: "core-12_53_4__sc-s9ym9q-5"
34
+ componentId: "core-12_54_0__sc-s9ym9q-5"
35
35
  })(["align-items:center;align-self:flex-start;display:flex;height:34px;justify-content:flex-end;margin-left:", "px;margin-right:", "px;min-width:40px;width:40px;"], spacing.xs, spacing.md);
36
36
  export var StyledMultiSelectClearIcon = /*#__PURE__*/styled(Button).withConfig({
37
37
  displayName: "StyledMultiSelectClearIcon",
38
- componentId: "core-12_53_4__sc-s9ym9q-6"
38
+ componentId: "core-12_54_0__sc-s9ym9q-6"
39
39
  })(["", " ", "{pointer-events:none;}"], function (_ref2) {
40
40
  var $show = _ref2.$show;
41
41
  return css(["opacity:", ";"], $show ? 1 : 0);
@@ -45,7 +45,7 @@ export var StyledMultiSelectArrow = StyledSelectArrow;
45
45
  export var StyledMultiSelectMenu = StyledSelectMenu;
46
46
  export var StyledMultiSelectButton = /*#__PURE__*/styled(StyledSelectButton).withConfig({
47
47
  displayName: "StyledMultiSelectButton",
48
- componentId: "core-12_53_4__sc-s9ym9q-7"
48
+ componentId: "core-12_54_0__sc-s9ym9q-7"
49
49
  })(["height:auto;padding:0;white-space:normal;&:focus-within{", "}", ""], getFocus(), function (_ref3) {
50
50
  var $emptyValue = _ref3.$emptyValue;
51
51
  return $emptyValue && css(["", "{cursor:pointer;}"], StyledMultiSelectSearchInput);
@@ -6,14 +6,14 @@ export var optionMinHeight = 32;
6
6
  export var defaultMenuHeight = 64;
7
7
  export var StyledOptions = /*#__PURE__*/styled.div.withConfig({
8
8
  displayName: "StyledOptions",
9
- componentId: "core-12_53_4__sc-3o6zya-0"
9
+ componentId: "core-12_54_0__sc-3o6zya-0"
10
10
  })([""]);
11
11
  export var StyledItem = /*#__PURE__*/styled.div.withConfig({
12
12
  displayName: "StyledItem",
13
- componentId: "core-12_53_4__sc-3o6zya-1"
13
+ componentId: "core-12_54_0__sc-3o6zya-1"
14
14
  })(["", ";padding:", "px ", "px;cursor:pointer;list-style-type:none;"], getTypographyIntent('body'), spacing.xs, spacing.md);
15
15
  export var StyledGroup = /*#__PURE__*/styled.div.withConfig({
16
16
  displayName: "StyledGroup",
17
- componentId: "core-12_53_4__sc-3o6zya-2"
17
+ componentId: "core-12_54_0__sc-3o6zya-2"
18
18
  })(["", ";padding:", "px ", "px ", "px;font-weight:", ";background:white;list-style-type:none;"], getTypographyIntent('body'), spacing.md, spacing.md, spacing.xs, typographyWeights.semibold);
19
19
  //# sourceMappingURL=NextMenu.styles.js.map
@@ -75,26 +75,26 @@ function selectableTileFocusWithinOutlineCss() {
75
75
  }
76
76
  export var StyledNextTileInertContent = /*#__PURE__*/styled.div.withConfig({
77
77
  displayName: "StyledNextTileInertContent",
78
- componentId: "core-12_53_4__sc-17bbrfw-0"
78
+ componentId: "core-12_54_0__sc-17bbrfw-0"
79
79
  })(["display:contents;color:", ";& *{color:inherit;}"], disabledText);
80
80
  export var StyledNextTileFocusTarget = /*#__PURE__*/styled.div.withConfig({
81
81
  displayName: "StyledNextTileFocusTarget",
82
- componentId: "core-12_53_4__sc-17bbrfw-1"
82
+ componentId: "core-12_54_0__sc-17bbrfw-1"
83
83
  })(["border-radius:inherit;min-height:0;outline:none;"]);
84
84
  export var StyledNextInteractableTile = /*#__PURE__*/styled(StyledInteractableTile).withConfig({
85
85
  displayName: "StyledNextInteractableTile",
86
- componentId: "core-12_53_4__sc-17bbrfw-2"
86
+ componentId: "core-12_54_0__sc-17bbrfw-2"
87
87
  })(["border:", ";position:relative;", ""], nextTileNeutralBorder, function (_ref5) {
88
88
  var $disabled = _ref5.$disabled;
89
89
  return $disabled && css(["&&{border-color:", ";cursor:not-allowed;pointer-events:none;}&&:focus{border:1px solid ", ";box-shadow:none;outline:none;}", ""], colors.gray85, colors.gray85, disabledInteractableStyles);
90
90
  });
91
91
  export var StyledNextLinkTile = /*#__PURE__*/styled(StyledLinkTile).withConfig({
92
92
  displayName: "StyledNextLinkTile",
93
- componentId: "core-12_53_4__sc-17bbrfw-3"
93
+ componentId: "core-12_54_0__sc-17bbrfw-3"
94
94
  })(["border:", ";position:relative;", ""], nextTileNeutralBorder, nextTileLinkLikeFocusStyles);
95
95
  export var StyledNextSelectableTile = /*#__PURE__*/styled(StyledSelectableTile).withConfig({
96
96
  displayName: "StyledNextSelectableTile",
97
- componentId: "core-12_53_4__sc-17bbrfw-4"
97
+ componentId: "core-12_54_0__sc-17bbrfw-4"
98
98
  })(["position:relative;", " ", " ", " ", " ", " &:focus{", " outline:none;}", " ", ""], function (p) {
99
99
  return nextTileSelectableBorderStyles(p);
100
100
  }, function (_ref6) {
@@ -14,7 +14,7 @@ var variantColorMap = {
14
14
  };
15
15
  var StyledNotation = /*#__PURE__*/styled.i.withConfig({
16
16
  displayName: "StyledNotation",
17
- componentId: "core-12_53_4__sc-160q1m6-0"
17
+ componentId: "core-12_54_0__sc-160q1m6-0"
18
18
  })(["", " color:", ";font-style:italic;"], getTypographyIntent('small'), function (_ref) {
19
19
  var $variant = _ref.$variant;
20
20
  return $variant ? colors[variantColorMap[$variant]] : colors.gray15;
@@ -12,37 +12,37 @@ var inputBgColor = colors.white;
12
12
  var inputBorder = "".concat(colors.gray50, " solid 1px");
13
13
  var StyledRootAddon = /*#__PURE__*/styled.span.withConfig({
14
14
  displayName: "StyledRootAddon",
15
- componentId: "core-12_53_4__sc-1782nvg-0"
15
+ componentId: "core-12_54_0__sc-1782nvg-0"
16
16
  })(["display:inline-flex;align-items:center;height:100%;position:absolute;top:0;color:", ";", ";"], function (_ref) {
17
17
  var disabled = _ref.disabled;
18
18
  return disabled ? colors.gray70 : colors.gray45;
19
19
  }, getTypographyIntent('body'));
20
20
  export var StyledPrefix = /*#__PURE__*/styled(StyledRootAddon).withConfig({
21
21
  displayName: "StyledPrefix",
22
- componentId: "core-12_53_4__sc-1782nvg-1"
22
+ componentId: "core-12_54_0__sc-1782nvg-1"
23
23
  })(["left:", "px;"], spacing.md);
24
24
  export var StyledSuffix = /*#__PURE__*/styled(StyledRootAddon).withConfig({
25
25
  displayName: "StyledSuffix",
26
- componentId: "core-12_53_4__sc-1782nvg-2"
26
+ componentId: "core-12_54_0__sc-1782nvg-2"
27
27
  })(["right:", "px;"], function (_ref2) {
28
28
  var $withIncrementer = _ref2.$withIncrementer;
29
29
  return $withIncrementer ? spacing.md + incrementerWidth : spacing.md;
30
30
  });
31
31
  export var StyledIncrementerWrapper = /*#__PURE__*/styled.div.withConfig({
32
32
  displayName: "StyledIncrementerWrapper",
33
- componentId: "core-12_53_4__sc-1782nvg-3"
33
+ componentId: "core-12_54_0__sc-1782nvg-3"
34
34
  })(["display:flex;flex-direction:column;position:absolute;top:1px;right:1px;height:100%;"]);
35
35
  export var StyledIncrementerButton = /*#__PURE__*/styled.button.withConfig({
36
36
  displayName: "StyledIncrementerButton",
37
- componentId: "core-12_53_4__sc-1782nvg-4"
37
+ componentId: "core-12_54_0__sc-1782nvg-4"
38
38
  })(["display:inline-flex;justify-content:center;align-items:center;width:", "px;height:calc(50% - 1px);border:none;border-radius:0px;outline:none;background-color:", ";padding:0;cursor:pointer;&:first-child,&:last-child{border-left:", ";&:disabled{border-color:", ";background-color:", ";}}&:first-child{border-top-right-radius:2px;}&:last-child{border-top:", ";border-bottom-right-radius:2px;}svg{fill:", ";}&:hover{svg{fill:", ";}}&:disabled{cursor:default;svg{fill:", ";}}"], incrementerWidth, inputBgColor, inputBorder, colors.gray50, colors.gray94, inputBorder, colors.gray45, colors.gray10, colors.gray70);
39
39
  export var StyledInput = /*#__PURE__*/styled(Input).withConfig({
40
40
  displayName: "StyledInput",
41
- componentId: "core-12_53_4__sc-1782nvg-5"
41
+ componentId: "core-12_54_0__sc-1782nvg-5"
42
42
  })([""]);
43
43
  export var StyledWrapper = /*#__PURE__*/styled.div.withConfig({
44
44
  displayName: "StyledWrapper",
45
- componentId: "core-12_53_4__sc-1782nvg-6"
45
+ componentId: "core-12_54_0__sc-1782nvg-6"
46
46
  })(["position:relative;", ""], function (_ref3) {
47
47
  var $hasIncrementer = _ref3.$hasIncrementer;
48
48
  return $hasIncrementer && css(["", "{padding-right:", "px;}"], StyledInput, spacing.md + incrementerWidth);
@@ -2,6 +2,6 @@ import styled from 'styled-components';
2
2
  export var arrowSize = 8;
3
3
  export var StyledArrow = /*#__PURE__*/styled.div.withConfig({
4
4
  displayName: "StyledArrow",
5
- componentId: "core-12_53_4__sc-1epxw7u-0"
5
+ componentId: "core-12_54_0__sc-1epxw7u-0"
6
6
  })(["position:absolute;background:inherit;width:", "px;height:", "px;transform:rotate(45deg);"], arrowSize, arrowSize);
7
7
  //# sourceMappingURL=OverlayArrow.styles.js.map
@@ -102,7 +102,9 @@ export var OverlayTrigger = /*#__PURE__*/React.forwardRef(function OverlayTrigge
102
102
  role = _ref2.role,
103
103
  _ref2$passA11yPropsTo = _ref2.passA11yPropsToOverlay,
104
104
  passA11yPropsToOverlay = _ref2$passA11yPropsTo === void 0 ? false : _ref2$passA11yPropsTo,
105
- overlayIdProp = _ref2.overlayId;
105
+ overlayIdProp = _ref2.overlayId,
106
+ _ref2$scrollLock = _ref2.scrollLock,
107
+ scrollLock = _ref2$scrollLock === void 0 ? true : _ref2$scrollLock;
106
108
  var isDialogRole = role === 'dialog';
107
109
  if (isDialogRole && (trigger === 'hover' || trigger !== null && trigger !== void 0 && trigger.includes('hover'))) {
108
110
  console.warn("@procore/core-react: OverlayTigger has role ".concat(role, " and a hover trigger, this may cause weird focus management and is unrecommended. Review autoFocus prop."));
@@ -156,7 +158,13 @@ export var OverlayTrigger = /*#__PURE__*/React.forwardRef(function OverlayTrigge
156
158
  clickedOutsideRef.current = false;
157
159
  }, [restoreFocusOnHide, triggerElRef, visibility.isVisible]);
158
160
  var delayedToggle = useDelayedToggle({
159
- beforeDisable: beforeHide,
161
+ // Consume Escape so a parent (Tearsheet, Modal) doesn't also close. Runs only while open.
162
+ beforeDisable: function beforeDisable(event) {
163
+ if (event instanceof KeyboardEvent && (event.key === 'Escape' || event.key === 'Esc')) {
164
+ event.stopPropagation();
165
+ }
166
+ return beforeHide(event);
167
+ },
160
168
  beforeEnable: beforeShow,
161
169
  disableDelay: hideDelay,
162
170
  enableDelay: showDelay,
@@ -200,7 +208,8 @@ export var OverlayTrigger = /*#__PURE__*/React.forwardRef(function OverlayTrigge
200
208
  'aria-label': ariaLabel,
201
209
  id: overlayId,
202
210
  isOpen: visibility.isVisible,
203
- role: role
211
+ role: role,
212
+ scrollLock: scrollLock
204
213
  }),
205
214
  wrapperProps = _useOverlayTriggerA.wrapperProps,
206
215
  overlayProps = _useOverlayTriggerA.overlayProps,
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayTrigger.js","names":["arrow","floatingArrow","flip","floatingFlip","offset","floatingOffset","shift","floatingShift","size","floatingSize","limitShift","FocusScope","useId","React","useClickOutside","DelayedToggleContext","useDelayedToggle","useDelayedToggleContext","Trigger","useTrigger","useVisibility","mergeRefs","Arrow","arrowSize","useOverlay","Portal","useOverlayTriggerA11y","OVERLAY_AVAILABLE_HEIGHT_VAR","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","overlayIdProp","overlayId","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","prevTriggersRef","useEffect","prevTriggers","current","indexOf","isVisible","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","defaultOverlayId","_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","availableHeight","elements","floating","setProperty","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 offset as floatingOffset,\n shift as floatingShift,\n size as floatingSize,\n limitShift,\n} from '@floating-ui/react-dom'\nimport { FocusScope } from '@react-aria/focus'\nimport { useId } from '@react-aria/utils'\nimport React from 'react'\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 { 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 { useOverlayTriggerA11y } from './a11yPresets'\nimport type {\n DeprecatedOverlayTriggerRef,\n OverlayTriggerProps,\n} from './OverlayTrigger.types'\n\n// CSS custom property exposing the floating-ui `availableHeight` value on the overlay wrapper.\nexport const OVERLAY_AVAILABLE_HEIGHT_VAR = '--core-overlay-available-height'\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 overlayId: overlayIdProp,\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 const prevTriggersRef = React.useRef(triggers)\n\n React.useEffect(() => {\n const prevTriggers = prevTriggersRef.current\n prevTriggersRef.current = triggers\n\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 if (\n prevTriggers.indexOf('always') >= 0 &&\n triggers.indexOf('always') < 0 &&\n visibility.isVisible\n ) {\n visibility.hide()\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 defaultOverlayId = useId()\n const overlayId = overlayIdProp ?? defaultOverlayId\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 floatingSize({\n apply({ availableHeight, elements }) {\n elements.floating.style.setProperty(\n OVERLAY_AVAILABLE_HEIGHT_VAR,\n `${availableHeight}px`\n )\n if (!shrinkOverlay) {\n elements.floating.style.minWidth = `${\n elements.reference.getBoundingClientRect().width\n }px`\n }\n },\n }),\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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","ignoreList":[]}
1
+ {"version":3,"file":"OverlayTrigger.js","names":["arrow","floatingArrow","flip","floatingFlip","offset","floatingOffset","shift","floatingShift","size","floatingSize","limitShift","FocusScope","useId","React","useClickOutside","DelayedToggleContext","useDelayedToggle","useDelayedToggleContext","Trigger","useTrigger","useVisibility","mergeRefs","Arrow","arrowSize","useOverlay","Portal","useOverlayTriggerA11y","OVERLAY_AVAILABLE_HEIGHT_VAR","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","overlayIdProp","overlayId","_ref2$scrollLock","scrollLock","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","prevTriggersRef","useEffect","prevTriggers","current","indexOf","isVisible","focus","delayedToggle","beforeDisable","event","KeyboardEvent","key","stopPropagation","beforeEnable","disableDelay","enableDelay","isEnabled","onDisable","onEnable","triggerApi","enable","disable","enableKeys","disableKeys","triggerRef","hasHoverTrigger","onKeyDown","e","preventDefault","document","addEventListener","removeEventListener","triggerElement","defaultOverlayId","_useOverlayTriggerA","canPropOverlayUp","isValidElement","id","isOpen","wrapperProps","overlayProps","portalProps","triggerProps","focusScopeProps","labelProps","hasAriaExpanded","wrappedTriggerElement","cloneElement","_objectSpread","open","Provider","value","_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","availableHeight","elements","floating","setProperty","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 offset as floatingOffset,\n shift as floatingShift,\n size as floatingSize,\n limitShift,\n} from '@floating-ui/react-dom'\nimport { FocusScope } from '@react-aria/focus'\nimport { useId } from '@react-aria/utils'\nimport React from 'react'\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 { 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 { useOverlayTriggerA11y } from './a11yPresets'\nimport type {\n DeprecatedOverlayTriggerRef,\n OverlayTriggerProps,\n} from './OverlayTrigger.types'\n\n// CSS custom property exposing the floating-ui `availableHeight` value on the overlay wrapper.\nexport const OVERLAY_AVAILABLE_HEIGHT_VAR = '--core-overlay-available-height'\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 overlayId: overlayIdProp,\n scrollLock = true,\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 const prevTriggersRef = React.useRef(triggers)\n\n React.useEffect(() => {\n const prevTriggers = prevTriggersRef.current\n prevTriggersRef.current = triggers\n\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 if (\n prevTriggers.indexOf('always') >= 0 &&\n triggers.indexOf('always') < 0 &&\n visibility.isVisible\n ) {\n visibility.hide()\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 // Consume Escape so a parent (Tearsheet, Modal) doesn't also close. Runs only while open.\n beforeDisable: (event) => {\n if (\n event instanceof KeyboardEvent &&\n (event.key === 'Escape' || event.key === 'Esc')\n ) {\n event.stopPropagation()\n }\n return beforeHide(event)\n },\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 defaultOverlayId = useId()\n const overlayId = overlayIdProp ?? defaultOverlayId\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 scrollLock,\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 floatingSize({\n apply({ availableHeight, elements }) {\n elements.floating.style.setProperty(\n OVERLAY_AVAILABLE_HEIGHT_VAR,\n `${availableHeight}px`\n )\n if (!shrinkOverlay) {\n elements.floating.style.minWidth = `${\n elements.reference.getBoundingClientRect().width\n }px`\n }\n },\n }),\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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","ignoreList":[]}
@@ -115,6 +115,20 @@ export interface OverlayTriggerProps extends PickedOverlayProps, PickedTriggerPr
115
115
  * @since 12.36.1
116
116
  */
117
117
  overlayId?: string;
118
+ /**
119
+ * When true, locks background scroll (on the document body) while the
120
+ * overlay is visible, following the React Aria overlay pattern. This
121
+ * keeps the overlay from overflowing constrained containers or lagging
122
+ * behind on scroll, since the page itself cannot scroll while it is open.
123
+ *
124
+ * Defaults to true, since most overlays (dropdowns, menus, pickers,
125
+ * flyouts) benefit from this. Set to false for overlays that are not
126
+ * dropdown-like, for example hover/focus-triggered tooltips and popovers,
127
+ * where locking background scroll would be unexpected.
128
+ * @default true
129
+ * @since 12.54.0
130
+ */
131
+ scrollLock?: boolean;
118
132
  }
119
133
  export interface OverlayTriggerRef {
120
134
  /**