@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.
- package/CHANGELOG.md +29 -0
- package/dist/AnchorNavigation/AnchorNavigation.styles.js +4 -4
- package/dist/Avatar/Avatar.styles.js +5 -5
- package/dist/AvatarStack/AvatarStack.js +2 -0
- package/dist/AvatarStack/AvatarStack.js.map +1 -1
- package/dist/AvatarStack/AvatarStack.styles.js +8 -8
- package/dist/Badge/Badge.styles.js +2 -2
- package/dist/BadgePill/BadgePill.styles.js +4 -4
- package/dist/Banner/Banner.d.ts +1 -0
- package/dist/Banner/Banner.js +31 -14
- package/dist/Banner/Banner.js.map +1 -1
- package/dist/Banner/Banner.styles.d.ts +10 -0
- package/dist/Banner/Banner.styles.js +29 -12
- package/dist/Banner/Banner.styles.js.map +1 -1
- package/dist/Banner/Banner.types.d.ts +1 -1
- package/dist/Banner/Banner.types.js.map +1 -1
- package/dist/Banner/index.d.ts +1 -1
- package/dist/Banner/index.js +1 -1
- package/dist/Banner/index.js.map +1 -1
- package/dist/Box/Box.styles.js +1 -1
- package/dist/Breadcrumbs/Breadcrumbs.styles.js +7 -6
- package/dist/Breadcrumbs/Breadcrumbs.styles.js.map +1 -1
- package/dist/Button/Button.styles.js +5 -5
- package/dist/Calendar/Calendar.styles.js +10 -10
- package/dist/Card/Card.styles.js +1 -1
- package/dist/Checkbox/Checkbox.styles.js +6 -6
- package/dist/ContactItem/ContactItem.styles.js +5 -5
- package/dist/Content/Content.styles.js +2 -2
- package/dist/DateInput/DateInput.styles.js +6 -6
- package/dist/DetailPage/DetailPage.styles.js +11 -9
- package/dist/DetailPage/DetailPage.styles.js.map +1 -1
- package/dist/Dropdown/Dropdown.styles.js +3 -3
- package/dist/DropdownFlyout/DropdownFlyout.js +8 -0
- package/dist/DropdownFlyout/DropdownFlyout.js.map +1 -1
- package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
- package/dist/Dropzone/Dropzone.js +1 -1
- package/dist/Dropzone/Dropzone.styles.js +9 -9
- package/dist/EmptyState/EmptyState.styles.js +6 -6
- package/dist/Field/Field.styles.js +3 -3
- package/dist/FileList/FileList.styles.js +3 -3
- package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +17 -14
- package/dist/FileSelect/FileExplorer/FileExplorer.styles.js.map +1 -1
- package/dist/FileSelect/FileExplorer/FileExplorerModal.js +4 -2
- package/dist/FileSelect/FileExplorer/FileExplorerModal.js.map +1 -1
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +5 -4
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js.map +1 -1
- package/dist/FileSelect/FileSelect.styles.js +2 -2
- package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
- package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
- package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
- package/dist/FileSelect/LocalSource/LocalSource.styles.js +6 -5
- package/dist/FileSelect/LocalSource/LocalSource.styles.js.map +1 -1
- package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
- package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +13 -11
- package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js.map +1 -1
- package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
- package/dist/FileToken/FileToken.styles.js +6 -6
- package/dist/FilterToken/FilterToken.styles.js +5 -5
- package/dist/FlexList/FlexList.styles.js +1 -1
- package/dist/Form/Form.styles.js +13 -13
- package/dist/Form/StyledFormikForm.styles.js +2 -2
- package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
- package/dist/Grid/Grid.styles.js +2 -2
- package/dist/GroupSelect/GroupSelect.styles.js +1 -1
- package/dist/Input/Input.styles.js +1 -1
- package/dist/Link/Link.styles.js +1 -1
- package/dist/ListPage/ListPage.styles.js +12 -11
- package/dist/ListPage/ListPage.styles.js.map +1 -1
- package/dist/Loader/Loader.styles.js +2 -2
- package/dist/MenuImperative/MenuImperative.styles.js +11 -11
- package/dist/Modal/Modal.js +0 -2
- package/dist/Modal/Modal.js.map +1 -1
- package/dist/Modal/Modal.styles.js +44 -32
- package/dist/Modal/Modal.styles.js.map +1 -1
- package/dist/MultiSelect/MultiSelect.styles.js +8 -8
- package/dist/NextMenu/NextMenu.styles.js +3 -3
- package/dist/NextTile/NextTile.styles.js +5 -5
- package/dist/Notation/Notation.js +1 -1
- package/dist/NumberInput/NumberInput.styles.js +7 -7
- package/dist/Overlay/OverlayArrow.styles.js +1 -1
- package/dist/OverlayTrigger/OverlayTrigger.js +12 -3
- package/dist/OverlayTrigger/OverlayTrigger.js.map +1 -1
- package/dist/OverlayTrigger/OverlayTrigger.types.d.ts +14 -0
- package/dist/OverlayTrigger/OverlayTrigger.types.js.map +1 -1
- package/dist/OverlayTrigger/a11yPresets.d.ts +19 -3
- package/dist/OverlayTrigger/a11yPresets.js +16 -6
- package/dist/OverlayTrigger/a11yPresets.js.map +1 -1
- package/dist/PageLayout/PageLayout.js +15 -4
- package/dist/PageLayout/PageLayout.js.map +1 -1
- package/dist/PageLayout/PageLayout.styles.js +35 -34
- package/dist/PageLayout/PageLayout.styles.js.map +1 -1
- package/dist/PageLayout/PageLayout.types.d.ts +1 -0
- package/dist/PageLayout/PageLayout.types.js.map +1 -1
- package/dist/PageLayout/PageLayout.utils.d.ts +11 -0
- package/dist/PageLayout/PageLayout.utils.js +45 -0
- package/dist/PageLayout/PageLayout.utils.js.map +1 -1
- package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.js +2 -2
- package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.js.map +1 -1
- package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.d.ts +5 -0
- package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +9 -2
- package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js.map +1 -1
- package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
- package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
- package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
- package/dist/Pagination/Pagination.styles.js +5 -5
- package/dist/Panel/Panel.styles.js +17 -16
- package/dist/Panel/Panel.styles.js.map +1 -1
- package/dist/Pill/Pill.styles.js +3 -3
- package/dist/PillSelect/PillSelect.styles.js +5 -5
- package/dist/Popover/Popover.js +6 -1
- package/dist/Popover/Popover.js.map +1 -1
- package/dist/Popover/Popover.styles.js +2 -2
- package/dist/Portal/Portal.styles.js +1 -1
- package/dist/ProgressBar/ProgressBar.styles.js +2 -2
- package/dist/RadioButton/RadioButton.styles.js +3 -3
- package/dist/Required/Required.styles.js +3 -3
- package/dist/Search/Search.styles.js +5 -5
- package/dist/Section/Section.styles.js +7 -7
- package/dist/SegmentedController/SegmentedController.styles.js +4 -4
- package/dist/Select/Select.js +5 -2
- package/dist/Select/Select.js.map +1 -1
- package/dist/Select/Select.styles.js +8 -8
- package/dist/Semantic/Semantic.styles.js +9 -9
- package/dist/Slider/Slider.styles.js +5 -5
- package/dist/Spinner/Spinner.styles.js +7 -7
- package/dist/SplitViewCard/SplitViewCard.styles.js +15 -13
- package/dist/SplitViewCard/SplitViewCard.styles.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.js +8 -0
- package/dist/SuperSelect/SuperSelect.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
- package/dist/SuperSelect/SuperSelect.styles.js +40 -40
- package/dist/SuperSelect/useSuperSelect.js +20 -4
- package/dist/SuperSelect/useSuperSelect.js.map +1 -1
- package/dist/Switch/Switch.styles.js +4 -4
- package/dist/Table/Table.js +63 -2
- package/dist/Table/Table.js.map +1 -1
- package/dist/Table/Table.styles.js +31 -30
- package/dist/Table/Table.styles.js.map +1 -1
- package/dist/TableShelf/TableShelf.styles.js +5 -5
- package/dist/Tabs/Tabs.js +11 -3
- package/dist/Tabs/Tabs.js.map +1 -1
- package/dist/Tabs/Tabs.styles.js +16 -16
- package/dist/Tearsheet/Tearsheet.js +4 -3
- package/dist/Tearsheet/Tearsheet.js.map +1 -1
- package/dist/Tearsheet/Tearsheet.styles.js +5 -5
- package/dist/TextArea/TextArea.styles.js +1 -1
- package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
- package/dist/Thumbnail/Thumbnail.styles.d.ts +1 -0
- package/dist/Thumbnail/Thumbnail.styles.js +22 -22
- package/dist/Thumbnail/Thumbnail.styles.js.map +1 -1
- package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
- package/dist/TieredSelect/TieredSelect.styles.js +9 -9
- package/dist/Tile/Tile.styles.js +8 -8
- package/dist/Title/Title.styles.js +11 -9
- package/dist/Title/Title.styles.js.map +1 -1
- package/dist/Toast/Toast.styles.js +3 -3
- package/dist/ToggleButton/ToggleButton.styles.js +1 -1
- package/dist/Token/Token.styles.js +5 -5
- package/dist/ToolHeader/ToolHeader.styles.js +15 -10
- package/dist/ToolHeader/ToolHeader.styles.js.map +1 -1
- package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
- package/dist/Tooltip/Tooltip.js +7 -1
- package/dist/Tooltip/Tooltip.js.map +1 -1
- package/dist/Tooltip/Tooltip.styles.js +3 -3
- package/dist/Tree/Tree.js +1 -1
- package/dist/Tree/Tree.styles.js +10 -10
- package/dist/Typeahead/Typeahead.styles.js +4 -4
- package/dist/Typography/Typography.styles.js +1 -1
- package/dist/Typography/Typography.table.story.js +2 -2
- package/dist/_hooks/I18n.d.ts +33 -13
- package/dist/_hooks/I18n.js +2 -0
- package/dist/_hooks/I18n.js.map +1 -1
- package/dist/_locales/de-DE.json +1 -0
- package/dist/_locales/en-AU.json +1 -0
- package/dist/_locales/en-CA.json +1 -0
- package/dist/_locales/en-GB.json +1 -0
- package/dist/_locales/en.json +3 -1
- package/dist/_locales/es-ES.json +1 -0
- package/dist/_locales/es.json +1 -0
- package/dist/_locales/fr-CA.json +1 -0
- package/dist/_locales/fr-FR.json +1 -0
- package/dist/_locales/is-IS.json +1 -0
- package/dist/_locales/it-IT.json +1 -0
- package/dist/_locales/ja-JP.json +1 -0
- package/dist/_locales/nb-NO.json +2 -1
- package/dist/_locales/pl-PL.json +1 -0
- package/dist/_locales/pseudo.json +3 -1
- package/dist/_locales/pt-BR.json +1 -0
- package/dist/_locales/pt-PT.json +3 -2
- package/dist/_locales/th-TH.json +1 -0
- package/dist/_locales/zh-SG.json +1 -0
- package/dist/_locales/zh-TW.json +2 -1
- package/dist/_storyHelpers_/components/Deprecation.styles.js +1 -1
- package/dist/_storyHelpers_/components/StoryGrid.js +5 -4
- package/dist/_storyHelpers_/components/StoryGrid.js.map +1 -1
- package/dist/_storyHelpers_/highZoom.d.ts +68 -0
- package/dist/_storyHelpers_/highZoom.js +72 -0
- package/dist/_storyHelpers_/highZoom.js.map +1 -0
- package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +7 -7
- package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
- package/dist/_typedoc/AvatarStack/AvatarStack.types.json +25 -25
- package/dist/_typedoc/Badge/Badge.types.json +6 -6
- package/dist/_typedoc/Banner/Banner.types.json +18 -18
- package/dist/_typedoc/Box/Box.types.json +68 -68
- package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +12 -12
- package/dist/_typedoc/Button/Button.types.json +14 -14
- package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
- package/dist/_typedoc/Card/Card.types.json +6 -6
- package/dist/_typedoc/Checkbox/Checkbox.types.json +8 -8
- package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
- package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
- package/dist/_typedoc/DateSelect/DateSelect.types.json +17 -17
- package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
- package/dist/_typedoc/DetailPageTemplate/DetailPageTemplate.types.json +3 -3
- package/dist/_typedoc/Dropdown/Dropdown.types.json +38 -38
- package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +37 -37
- package/dist/_typedoc/Dropzone/Dropzone.types.json +50 -50
- package/dist/_typedoc/EmptyState/EmptyState.types.json +18 -18
- package/dist/_typedoc/FileList/FileList.types.json +9 -9
- package/dist/_typedoc/FileSelect/FileSelect.types.json +27 -27
- package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
- package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
- package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +17 -17
- package/dist/_typedoc/Flex/Flex.types.json +27 -27
- package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
- package/dist/_typedoc/Form/Form.types.json +783 -783
- package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
- package/dist/_typedoc/Grid/Grid.types.json +8 -8
- package/dist/_typedoc/GroupSelect/GroupSelect.types.json +81 -81
- package/dist/_typedoc/Input/Input.types.json +2 -2
- package/dist/_typedoc/Link/Link.types.json +1 -1
- package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
- package/dist/_typedoc/Menu/Menu.types.json +62 -62
- package/dist/_typedoc/MenuImperative/MenuImperative.types.json +90 -90
- package/dist/_typedoc/Modal/Modal.types.json +48 -48
- package/dist/_typedoc/MultiSelect/MultiSelect.types.json +34 -34
- package/dist/_typedoc/NextTile/NextTile.types.json +33 -33
- package/dist/_typedoc/Notation/Notation.types.json +4 -4
- package/dist/_typedoc/NumberInput/NumberInput.types.json +52 -52
- package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +44 -33
- package/dist/_typedoc/PageLayout/PageLayout.types.json +42 -42
- package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
- package/dist/_typedoc/Panel/Panel.types.json +28 -28
- package/dist/_typedoc/Pill/Pill.types.json +2 -2
- package/dist/_typedoc/PillSelect/PillSelect.types.json +49 -49
- package/dist/_typedoc/Popover/Popover.types.json +15 -15
- package/dist/_typedoc/ProgressBar/ProgressBar.types.json +7 -7
- package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
- package/dist/_typedoc/Required/Required.types.json +5 -5
- package/dist/_typedoc/Search/Search.types.json +18 -18
- package/dist/_typedoc/Section/Section.types.json +15 -15
- package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
- package/dist/_typedoc/Select/Select.types.json +67 -67
- package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
- package/dist/_typedoc/SettingsPageTemplate/SettingsPageTemplate.types.json +3 -3
- package/dist/_typedoc/Slider/Slider.types.json +6 -6
- package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
- package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +14 -14
- package/dist/_typedoc/Table/Table.types.json +108 -108
- package/dist/_typedoc/Tabs/Tablist.types.json +10 -10
- package/dist/_typedoc/Tabs/Tabs.types.json +20 -20
- package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
- package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
- package/dist/_typedoc/TextEditor/TextEditor.types.json +11 -11
- package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
- package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
- package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +43 -43
- package/dist/_typedoc/TieredSelect/TieredSelect.types.json +29 -29
- package/dist/_typedoc/Tile/Tile.types.json +8 -8
- package/dist/_typedoc/Title/Title.types.json +1 -1
- package/dist/_typedoc/Toast/Toast.types.json +4 -4
- package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
- package/dist/_typedoc/Token/Token.types.json +7 -7
- package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
- package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +8 -8
- package/dist/_typedoc/ToolLandingPageTemplate/ToolLandingPageTemplate.types.json +2 -2
- package/dist/_typedoc/Tooltip/Tooltip.types.json +15 -15
- package/dist/_typedoc/Tree/Tree.types.json +132 -132
- package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
- package/dist/_typedoc/Typography/Typography.types.json +9 -9
- package/dist/_typedoc/_utils/types.json +3 -3
- package/dist/_typedoc/a11y-tips.json +1 -1
- package/package.json +2 -2
- package/dist/_hooks/ScrollLock.d.ts +0 -1
- package/dist/_hooks/ScrollLock.js +0 -31
- 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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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 (
|
|
74
|
-
var $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 (
|
|
77
|
-
var $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
|
-
},
|
|
83
|
-
var $
|
|
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-
|
|
89
|
-
})(["display:flex;flex-direction:column;max-height:90vh;overflow:hidden;width:100%;", ""], function (
|
|
90
|
-
var
|
|
91
|
-
$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-
|
|
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-
|
|
104
|
-
})(["align-items:flex-start;color:", ";display:flex;flex:0 0 auto;position:relative;", " padding:", "px"], colors.gray10, function (
|
|
105
|
-
var $compact =
|
|
106
|
-
$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-
|
|
115
|
-
})(["", " align-items:center;display:flex;flex:1 1 auto;min-height:36px;padding-right:", "px;", ""], function (
|
|
116
|
-
var $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 (
|
|
119
|
-
var $compact =
|
|
130
|
+
}, function (_ref11) {
|
|
131
|
+
var $compact = _ref11.$compact;
|
|
120
132
|
return $compact ? 36 : spacing.lg;
|
|
121
|
-
}, function (
|
|
122
|
-
var $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-
|
|
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-
|
|
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-
|
|
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-
|
|
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":"AAAA,SAASA,OAAO,QAAQ,qBAAqB;AAC7C,OAAOC,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAC/C,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,eAAe,QAAQ,gCAAgC;AAChE,SAASC,uBAAuB,QAAQ,6BAA6B;AACrE,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,2BAA2B;AAC7E,SAASC,UAAU,QAAQ,0BAA0B;AACrD,SAASC,mBAAmB,QAAQ,iCAAiC;AACrE,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,aAAa,QAAQ,mBAAmB;AACjD,SAASC,OAAO,QAAQ,oBAAoB;AAG5C,OAAO,IAAMC,eAAe,GAAG,SAAS;AACxC,OAAO,IAAMC,gBAAgB,GAAG,UAAU;AAC1C,OAAO,IAAMC,aAAa,GAAG,OAAO;AACpC,OAAO,IAAMC,gBAAgB,GAAGJ,OAAO,CAACK,EAAE;AAC1C,OAAO,IAAMC,gBAAgB,GAAG;EAC9BC,EAAE,EAAE,GAAG;EACPC,EAAE,EAAE,GAAG;EACPC,EAAE,EAAE,IAAI;EACRJ,EAAE,EAAE;AACN,CAAC;AAED,IAAMK,+BAA+B,GAAG,GAAG;AAC3C,IAAMC,2BAA2B,GAAG;EAClCC,MAAM,EAAE;IACNC,KAAK,EAAE;MACLC,GAAG,EAAE,CAAC;MACNC,GAAG,EAAE;IACP,CAAC;IACDC,KAAK,EAAE;MACLF,GAAG,EAAE,GAAG;MACRC,GAAG,EAAE;IACP;EACF;AACF,CAAC;AAED,OAAO,IAAME,WAAW,gBAAG5B,MAAM,CAAC6B,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,kNAU/BpB,eAAe,EAKfC,gBAAgB,CAIrB;AAED,OAAO,IAAMoB,kBAAkB,gBAAGjC,MAAM,CAAC6B,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,mFAG3BrB,OAAO,CAACS,EAAE,EAGRT,OAAO,CAACO,EAAE,CAE5B;AAED,OAAO,IAAMgB,oBAAoB,gBAAGlC,MAAM,CAACE,IAAI,CAAC,CAAA4B,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,wFAU5C,UAAAG,IAAA,EAAkB;EAAA,IAAfC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EACX,IAAI,CAACA,QAAQ,EAAE;IACb,OAAO,EAAE;EACX;EAEA,OAAOnC,GAAG,wPACaqB,2BAA2B,CAACC,MAAM,CAACC,KAAK,CACxDE,GAAG,EAAwBL,+BAA+B,EAK1CC,2BAA2B,CAACC,MAAM,CAACI,KAAK,CACxDF,GAAG,EAAuBH,2BAA2B,CAACC,MAAM,CAACI,KAAK,CAClED,GAAG,EAIcL,+BAA+B,GAAG,CAAC;AAK7D,CAAC,EAEC,UAAAgB,KAAA,EAAoB;EAAA,IAAjBC,UAAU,GAAAD,KAAA,CAAVC,UAAU;EACb,IAAIA,UAAU,KAAK,KAAK,EAAE;IACxB,OAAOrC,GAAG;EAGZ;EAEA,OAAOA,GAAG;AAIZ,CAAC,EAEC,UAAAsC,KAAA,EAA4B;EAAA,IAAzBC,MAAM,GAAAD,KAAA,CAANC,MAAM;IAAEF,UAAU,GAAAC,KAAA,CAAVD,UAAU;EACrB,IAAIE,MAAM,EAAE;IACV,OAAOvC,GAAG,yGACAc,gBAAgB,EACfA,gBAAgB,EAGZE,gBAAgB,CAACuB,MAAM,CAAC,EAGnCC,eAAe;EAIrB;EACA;EACA,OAAOxC,GAAG,iDAGJqC,UAAU,KAAK,QAAQ,IAAI,kBAAkB;AAErD,CAAC,EAEC,UAAAI,KAAA;EAAA,IAAGN,QAAQ,GAAAM,KAAA,CAARN,QAAQ;IAAEE,UAAU,GAAAI,KAAA,CAAVJ,UAAU;EAAA,OACvB,CAACF,QAAQ,IACTnC,GAAG,6NAEQE,eAAe,SAAM,EAExBmC,UAAU,KAAK,KAAK,aAAAK,MAAA,CACRhC,OAAO,CAACO,EAAE,qBAAAyB,MAAA,CACThC,OAAO,CAACO,EAAE,GAAG,CAAC,OAAI,EAMhBI,2BAA2B,CAACC,MAAM,CAACC,KAAK,CAACE,GAAG,CAalE;AAAA,EACJ;AAED,OAAO,IAAMkB,iBAAiB,gBAAG5C,MAAM,CAAC6B,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,8GAM9BrB,OAAO,CAACS,EAAE,CACtB;AAED,OAAO,IAAMqB,eAAe,gBAAGzC,MAAM,CAAC6B,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,gPAKrCxB,mBAAmB,CAAC,MAAM,CAAC,EAGzBE,aAAa,CAAC,CAAC,EAIVD,MAAM,CAACoC,MAAM,EAKpB,UAAAC,KAAA,EAAwB;EAAA,IAArBC,cAAc,GAAAD,KAAA,CAAdC,cAAc;EACjB,OAAO9C,GAAG,6BACGU,OAAO,CAACS,EAAE,EAAM2B,cAAc,GAAG,CAAC,GAAGpC,OAAO,CAACS,EAAE;AAE9D,CAAC,EAEC,UAAA4B,KAAA,EAAkB;EAAA,IAAfZ,QAAQ,GAAAY,KAAA,CAARZ,QAAQ;EACX,IAAI,CAACA,QAAQ,EAAE;IACb;IACA,OAAOnC,GAAG,sBACKa,aAAa;EAE9B;AACF,CAAC,EAEC,UAAAmC,KAAA;EAAA,IAAGb,QAAQ,GAAAa,KAAA,CAARb,QAAQ;EAAA,OACX,CAACA,QAAQ,IACTnC,GAAG,kGAEQE,eAAe,SAAM,EAMTmB,2BAA2B,CAACC,MAAM,CAACC,KAAK,CAACE,GAAG,CAGlE;AAAA,GAECrB,aAAa,EAIGC,kBAAkB,EAKlCF,uBAAuB,EACRO,OAAO,CAACS,EAAE,EAG3B,UAAA8B,KAAA;EAAA,IAAGC,eAAe,GAAAD,KAAA,CAAfC,eAAe;EAAA,OAClBA,eAAe,IACflD,GAAG,yGACK2C,iBAAiB,EAGDnC,MAAM,CAAC2C,MAAM,EAC/BC,wBAAwB,CAI7B;AAAA,EACJ;AAED,OAAO,IAAMC,kBAAkB,gBAAGtD,MAAM,CAAC6B,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,gGAOxC,UAAAuB,KAAA,EAA0B;EAAA,IAAAC,cAAA,GAAAD,KAAA,CAAvBnB,QAAQ;IAARA,QAAQ,GAAAoB,cAAA,cAAG,KAAK,GAAAA,cAAA;EACnB,IAAI,CAACpB,QAAQ,EAAE;IACb,OAAO,EAAE;EACX;EAEA,OAAOnC,GAAG;AAGZ,CAAC,EAEC,UAAAwD,KAAA;EAAA,IAAAC,cAAA,GAAAD,KAAA,CAAGrB,QAAQ;IAARA,QAAQ,GAAAsB,cAAA,cAAG,KAAK,GAAAA,cAAA;EAAA,OACnB,CAACtB,QAAQ,IACTnC,GAAG,qDACQE,eAAe,SAAM,CAI/B;AAAA,EACJ;AAED,OAAO,IAAMwD,yBAAyB,gBAAG3D,MAAM,CAACO,UAAU,CAAC,CAAAuB,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,oBAE1D;AAED,OAAO,IAAM4B,iBAAiB,gBAAG5D,MAAM,CAAC6B,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,2GAKhCvB,MAAM,CAACoD,MAAM,EAIpB,UAAAC,KAAA,EAAmC;EAAA,IAAhC1B,QAAQ,GAAA0B,KAAA,CAAR1B,QAAQ;IAAE2B,eAAe,GAAAD,KAAA,CAAfC,eAAe;EAC5B,IAAI3B,QAAQ,EAAE;IACZ,OAAOnC,GAAG,oCACmBQ,MAAM,CAAC2C,MAAM;EAE5C;EAEA,OAAOnD,GAAG,oCAEJ8D,eAAe,GAAGtD,MAAM,CAAC2C,MAAM,GAAG,aAAa;AAEvD,CAAC,EAEUzC,OAAO,CAACS,EAAE,CACtB;AAED,OAAO,IAAM4C,kBAAkB,gBAAGhE,MAAM,CAAC6B,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,qGACxC,UAAAiC,MAAA;EAAA,IAAG7B,QAAQ,GAAA6B,MAAA,CAAR7B,QAAQ;EAAA,OAAO5B,mBAAmB,CAAC4B,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;AAAA,GAK9C,UAAA8B,MAAA;EAAA,IAAG9B,QAAQ,GAAA8B,MAAA,CAAR9B,QAAQ;EAAA,OAAQA,QAAQ,GAAG,EAAE,GAAGzB,OAAO,CAACS,EAAE;AAAA,CAAC,EAE7D,UAAA+C,MAAA,EAAkB;EAAA,IAAf/B,QAAQ,GAAA+B,MAAA,CAAR/B,QAAQ;EACX,IAAI,CAACA,QAAQ,EAAE;IACb,OAAO,EAAE;EACX;EAEA,OAAOnC,GAAG;AAGZ,CAAC,CACF;AAED,OAAO,IAAMmE,iBAAiB,gBAAGpE,MAAM,CAAC6B,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,sBAE1C;AAED,OAAO,IAAMqC,gBAAgB,gBAAGrE,MAAM,CAAC6B,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,0GAQzC;AAED,OAAO,IAAMsC,sBAAsB,gBAAGtE,MAAM,CAACD,OAAO,CAAC,CAAA+B,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,wCAC1CvB,MAAM,CAAC8D,QAAQ,EACR5D,OAAO,CAACO,EAAE,CAC3B;AACD,OAAO,IAAMmC,wBAAwB,gBAAGrD,MAAM,CAAC6B,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,mLAC9CxB,mBAAmB,CAAC,OAAO,CAAC,EACVC,MAAM,CAAC+D,MAAM,EACN/D,MAAM,CAAC2C,MAAM,EAChB3C,MAAM,CAAC2C,MAAM,EAC5B3C,MAAM,CAACoC,MAAM,EAGXlC,OAAO,CAACS,EAAE,EAAOT,OAAO,CAACS,EAAE,EAAMT,OAAO,CAACS,EAAE,EAC3CT,OAAO,CAACS,EAAE,CACtB","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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
-
|
|
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
|
/**
|