@procore/core-react 12.50.1 → 12.51.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 +13 -0
- package/README.md +14 -0
- package/dist/AnchorNavigation/AnchorNavigation.styles.js +4 -4
- package/dist/Avatar/Avatar.styles.js +5 -5
- 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.styles.js +10 -10
- package/dist/Box/Box.styles.js +1 -1
- package/dist/Breadcrumbs/Breadcrumbs.d.ts +15 -2
- package/dist/Breadcrumbs/Breadcrumbs.js +27 -4
- package/dist/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
- package/dist/Breadcrumbs/Breadcrumbs.types.d.ts +9 -0
- package/dist/Breadcrumbs/Breadcrumbs.types.js.map +1 -1
- package/dist/Button/Button.styles.js +11 -12
- package/dist/Button/Button.styles.js.map +1 -1
- package/dist/Calendar/Calendar.styles.js +9 -9
- 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 +7 -7
- package/dist/Dropdown/Dropdown.styles.js +3 -3
- package/dist/DropdownFlyout/DropdownFlyout.helpers.d.ts +3 -0
- package/dist/DropdownFlyout/DropdownFlyout.helpers.js +30 -2
- package/dist/DropdownFlyout/DropdownFlyout.helpers.js.map +1 -1
- package/dist/DropdownFlyout/DropdownFlyout.js +7 -1
- package/dist/DropdownFlyout/DropdownFlyout.js.map +1 -1
- package/dist/DropdownFlyout/DropdownFlyout.styles.js +5 -5
- package/dist/DropdownFlyout/DropdownFlyout.styles.js.map +1 -1
- package/dist/DropdownFlyout/DropdownFlyout.types.d.ts +4 -0
- package/dist/DropdownFlyout/DropdownFlyout.types.js.map +1 -1
- 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 +9 -9
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
- 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 +4 -4
- package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
- package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
- 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 +8 -8
- package/dist/Loader/Loader.styles.js +2 -2
- package/dist/Menu/Menu.js +7 -0
- package/dist/Menu/Menu.js.map +1 -1
- package/dist/Menu/Menu.types.d.ts +1 -0
- package/dist/Menu/Menu.types.js.map +1 -1
- package/dist/MenuImperative/MenuImperative.styles.d.ts +1 -0
- package/dist/MenuImperative/MenuImperative.styles.js +25 -22
- package/dist/MenuImperative/MenuImperative.styles.js.map +1 -1
- package/dist/MenuImperative/sensors.js +20 -4
- package/dist/MenuImperative/sensors.js.map +1 -1
- package/dist/Modal/Modal.styles.js +13 -13
- 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/PageLayout/PageLayout.styles.js +16 -16
- package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +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 +11 -11
- package/dist/Pill/Pill.styles.js +3 -3
- package/dist/PillSelect/PillSelect.styles.js +4 -4
- 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.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 +8 -8
- package/dist/SuperSelect/SuperSelect.components.js +2 -0
- package/dist/SuperSelect/SuperSelect.components.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
- package/dist/SuperSelect/SuperSelect.styles.d.ts +1 -0
- package/dist/SuperSelect/SuperSelect.styles.js +79 -76
- package/dist/SuperSelect/SuperSelect.styles.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.types.d.ts +1 -0
- package/dist/SuperSelect/SuperSelect.types.js.map +1 -1
- package/dist/SuperSelect/useSuperSelect.js +1 -0
- package/dist/SuperSelect/useSuperSelect.js.map +1 -1
- package/dist/Switch/Switch.styles.js +4 -4
- package/dist/Table/Table.styles.js +29 -29
- package/dist/TableShelf/TableShelf.styles.js +5 -5
- package/dist/Tabs/Tabs.styles.js +16 -16
- 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.js +21 -21
- 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 +7 -7
- 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 +6 -6
- package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
- 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 +45 -9
- package/dist/_locales/de-DE.json +1 -1
- package/dist/_locales/en-AU.json +1 -1
- package/dist/_locales/en-CA.json +1 -1
- package/dist/_locales/en-GB.json +1 -1
- package/dist/_locales/en.json +1 -1
- package/dist/_locales/es-ES.json +1 -1
- package/dist/_locales/fr-CA.json +1 -1
- package/dist/_locales/fr-FR.json +1 -1
- package/dist/_locales/is-IS.json +1 -1
- package/dist/_locales/ja-JP.json +2 -2
- package/dist/_locales/nb-NO.json +1 -1
- package/dist/_locales/pl-PL.json +1 -1
- package/dist/_locales/pt-PT.json +1 -1
- package/dist/_locales/th-TH.json +1 -1
- package/dist/_storyHelpers_/components/Deprecation.styles.js +1 -1
- package/dist/_storyHelpers_/components/StoryGrid.js +3 -3
- package/dist/_storyHelpers_/primaryButtonThemeCssVars.d.ts +8 -0
- package/dist/_storyHelpers_/primaryButtonThemeCssVars.js +9 -0
- package/dist/_storyHelpers_/primaryButtonThemeCssVars.js.map +1 -0
- package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +4 -4
- 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 +15 -15
- package/dist/_typedoc/Box/Box.types.json +68 -68
- package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +32 -10
- 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 +14 -14
- package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
- package/dist/_typedoc/Dropdown/Dropdown.types.json +38 -38
- package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +41 -31
- package/dist/_typedoc/Dropzone/Dropzone.types.json +44 -44
- 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 +9 -9
- 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 +770 -770
- 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 +54 -54
- 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 +84 -84
- package/dist/_typedoc/Modal/Modal.types.json +48 -48
- package/dist/_typedoc/MultiSelect/MultiSelect.types.json +33 -33
- 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 +33 -33
- package/dist/_typedoc/PageLayout/PageLayout.types.json +39 -39
- 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/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 +105 -105
- package/dist/_typedoc/Tabs/Tabs.types.json +23 -23
- 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/Tooltip/Tooltip.types.json +15 -15
- package/dist/_typedoc/Tree/Tree.types.json +88 -88
- 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/dist/_utils/shadowDOM.d.ts +3 -0
- package/dist/_utils/shadowDOM.js +20 -0
- package/dist/_utils/shadowDOM.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
|
@@ -8,19 +8,19 @@ export var pulseAnimationDuration = 600;
|
|
|
8
8
|
var focusPulse = /*#__PURE__*/keyframes(["0%{box-shadow:0 0 0 0 ", ",0 0 0 0 ", ",0 0 0 0 ", ";}25%{box-shadow:0 0 0 0 ", ",0 0 0 0 ", ",0 0 0 0 ", ";}50%{box-shadow:0 0 0 1px ", ",0 0 0 3px ", ",0 0 0 2px ", ";}100%{box-shadow:0 0 0 1.5px ", ",0 0 0 3px ", ",0 0 0 6px ", ";}"], colors.blue60, colors.blue90, colors.blue94, colors.blue60, colors.blue90, colors.blue94, colors.blue60, colors.blue90, colors.blue94, colors.blue60, colors.blue90, colors.blue94);
|
|
9
9
|
export var StyledFilenameShortcut = /*#__PURE__*/styled.div.withConfig({
|
|
10
10
|
displayName: "StyledFilenameShortcut",
|
|
11
|
-
componentId: "core-
|
|
11
|
+
componentId: "core-12_51_0__sc-13jx4bx-0"
|
|
12
12
|
})(["display:flex;"]);
|
|
13
13
|
export var StyledFilename = /*#__PURE__*/styled.span.withConfig({
|
|
14
14
|
displayName: "StyledFilename",
|
|
15
|
-
componentId: "core-
|
|
15
|
+
componentId: "core-12_51_0__sc-13jx4bx-1"
|
|
16
16
|
})(["flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;"]);
|
|
17
17
|
export var StyledExtension = /*#__PURE__*/styled.span.withConfig({
|
|
18
18
|
displayName: "StyledExtension",
|
|
19
|
-
componentId: "core-
|
|
19
|
+
componentId: "core-12_51_0__sc-13jx4bx-2"
|
|
20
20
|
})(["flex-shrink:0;"]);
|
|
21
21
|
export var StyledFileToken = /*#__PURE__*/styled.div.withConfig({
|
|
22
22
|
displayName: "StyledFileToken",
|
|
23
|
-
componentId: "core-
|
|
23
|
+
componentId: "core-12_51_0__sc-13jx4bx-3"
|
|
24
24
|
})(["background-color:", ";border-radius:200px;max-width:100%;outline:none;overflow:hidden;position:relative;&:focus,&.focus{box-shadow:0 0 0 2px ", ";outline:none;", "{border-color:transparent;", "}}", "{background:none;color:", ";display:flex;user-select:none;", "{color:", ";}}", "{overflow:hidden;", "{border-radius:200px 0 0 200px;color:", ";padding-right:0;transition:color 0s linear,background-color 0s linear;user-select:none;", "{flex:0 0 auto;}}}", ""], colors.gray96, colors.blue40, StyledToken, function (_ref) {
|
|
25
25
|
var $progressComplete = _ref.$progressComplete;
|
|
26
26
|
return $progressComplete && css(["background-color:", ";"], colors.blue45);
|
|
@@ -37,10 +37,10 @@ export var StyledFileToken = /*#__PURE__*/styled.div.withConfig({
|
|
|
37
37
|
});
|
|
38
38
|
export var StyledErrorMessage = /*#__PURE__*/styled.span.withConfig({
|
|
39
39
|
displayName: "StyledErrorMessage",
|
|
40
|
-
componentId: "core-
|
|
40
|
+
componentId: "core-12_51_0__sc-13jx4bx-4"
|
|
41
41
|
})(["display:block;color:", ";margin-top:", "px;word-break:break-word;", ""], colors.red50, spacing.xs, getTypographyIntent('small'));
|
|
42
42
|
export var StyledFileTokenErrorContainer = /*#__PURE__*/styled.div.withConfig({
|
|
43
43
|
displayName: "StyledFileTokenErrorContainer",
|
|
44
|
-
componentId: "core-
|
|
44
|
+
componentId: "core-12_51_0__sc-13jx4bx-5"
|
|
45
45
|
})(["max-width:100%;outline:none;&:focus,&.focus{> ", "{box-shadow:0 0 0 2px ", ";outline:none;}}"], StyledFileToken, colors.blue40);
|
|
46
46
|
//# sourceMappingURL=FileToken.styles.js.map
|
|
@@ -6,11 +6,11 @@ import { getEllipsis, getFocus } from '../_styles/mixins';
|
|
|
6
6
|
import { spacing } from '../_styles/spacing';
|
|
7
7
|
export var StyledLabel = /*#__PURE__*/styled.span.withConfig({
|
|
8
8
|
displayName: "StyledLabel",
|
|
9
|
-
componentId: "core-
|
|
9
|
+
componentId: "core-12_51_0__sc-1l1h29r-0"
|
|
10
10
|
})(["", " ", " ", " flex:0 1 auto;"], getTypographyIntent('body'), getEllipsis, semiboldRules);
|
|
11
11
|
export var StyledFilterToken = /*#__PURE__*/styled.div.withConfig({
|
|
12
12
|
displayName: "StyledFilterToken",
|
|
13
|
-
componentId: "core-
|
|
13
|
+
componentId: "core-12_51_0__sc-1l1h29r-1"
|
|
14
14
|
})(["align-items:center;background-color:", ";border-radius:4px;border:1px solid transparent;color:", ";cursor:default;display:inline-flex;height:36px;justify-content:space-between;line-height:1;max-width:360px;min-width:48px;padding:", "px ", "px;&:hover,&.hover{background-color:", ";}", ""], colors.blue96, colors.blue45, spacing.sm, spacing.md, colors.blue90, function (_ref) {
|
|
15
15
|
var _ref$$focused = _ref.$focused,
|
|
16
16
|
$focused = _ref$$focused === void 0 ? false : _ref$$focused;
|
|
@@ -18,17 +18,17 @@ export var StyledFilterToken = /*#__PURE__*/styled.div.withConfig({
|
|
|
18
18
|
});
|
|
19
19
|
export var StyledFilterRemoveButton = /*#__PURE__*/styled.button.withConfig({
|
|
20
20
|
displayName: "StyledFilterRemoveButton",
|
|
21
|
-
componentId: "core-
|
|
21
|
+
componentId: "core-12_51_0__sc-1l1h29r-2"
|
|
22
22
|
})(["", " ", ";background:transparent;color:", ";&:active,&:focus,&:hover{background:", ";color:", ";}&:disabled{pointer-events:none;user-select:none;}&:disabled,&[aria-disabled='true']{background:transparent;color:", ";}height:24px;margin:0 0 0 6px;padding:0 ", "px;[data-icon-prop='true']{pointer-events:none;height:16px;width:16px;}"], function (_ref2) {
|
|
23
23
|
var $disabled = _ref2.$disabled;
|
|
24
24
|
return getButtonStyles(false, $disabled, false, 'sm', 'tertiary');
|
|
25
25
|
}, getTypographyIntent('small'), colors.blue45, colors.white, colors.blue45, colors.blue45, spacing.xs);
|
|
26
26
|
export var StyledContent = /*#__PURE__*/styled.span.withConfig({
|
|
27
27
|
displayName: "StyledContent",
|
|
28
|
-
componentId: "core-
|
|
28
|
+
componentId: "core-12_51_0__sc-1l1h29r-3"
|
|
29
29
|
})(["align-items:center;display:flex;overflow:hidden;"]);
|
|
30
30
|
export var StyledContentLabel = /*#__PURE__*/styled.span.withConfig({
|
|
31
31
|
displayName: "StyledContentLabel",
|
|
32
|
-
componentId: "core-
|
|
32
|
+
componentId: "core-12_51_0__sc-1l1h29r-4"
|
|
33
33
|
})(["overflow:hidden;padding:0 6px;text-overflow:ellipsis;white-space:nowrap;& + span{padding-left:0;}"]);
|
|
34
34
|
//# sourceMappingURL=FilterToken.styles.js.map
|
|
@@ -3,7 +3,7 @@ import { StyledBox } from '../Box/Box.styles';
|
|
|
3
3
|
import { Flex } from '../Flex/Flex';
|
|
4
4
|
export var StyledFlex = /*#__PURE__*/styled(Flex).withConfig({
|
|
5
5
|
displayName: "StyledFlex",
|
|
6
|
-
componentId: "core-
|
|
6
|
+
componentId: "core-12_51_0__sc-1quvv61-0"
|
|
7
7
|
})(["> ", "{", "}"], StyledBox, function (_ref) {
|
|
8
8
|
var $direction = _ref.$direction;
|
|
9
9
|
if ($direction !== null && $direction !== void 0 && $direction.includes('reverse')) {
|
package/dist/Form/Form.styles.js
CHANGED
|
@@ -23,7 +23,7 @@ function applyStylesOnlyToIE11(styles) {
|
|
|
23
23
|
}
|
|
24
24
|
export var StyledFormFieldMain = /*#__PURE__*/styled.div.withConfig({
|
|
25
25
|
displayName: "StyledFormFieldMain",
|
|
26
|
-
componentId: "core-
|
|
26
|
+
componentId: "core-12_51_0__sc-ncj3pf-0"
|
|
27
27
|
})(["-ms-grid-row:2;grid-row:2;", " ", " ", ""], function (_ref) {
|
|
28
28
|
var $colStart = _ref.$colStart,
|
|
29
29
|
$colEnd = _ref.$colEnd,
|
|
@@ -35,15 +35,15 @@ export var StyledFormFieldMain = /*#__PURE__*/styled.div.withConfig({
|
|
|
35
35
|
}, applyStylesOnlyToIE11("\n padding-left: ".concat(columnGutter, ";\n\n &:nth-child(2) {\n padding-left: 0;\n }\n ")));
|
|
36
36
|
export var StyledLabel = /*#__PURE__*/styled(StyledLabelBase).withConfig({
|
|
37
37
|
displayName: "StyledLabel",
|
|
38
|
-
componentId: "core-
|
|
38
|
+
componentId: "core-12_51_0__sc-ncj3pf-1"
|
|
39
39
|
})(["word-wrap:break-word;word-break:break-word;"]);
|
|
40
40
|
export var StyledDescription = /*#__PURE__*/styled.div.withConfig({
|
|
41
41
|
displayName: "StyledDescription",
|
|
42
|
-
componentId: "core-
|
|
42
|
+
componentId: "core-12_51_0__sc-ncj3pf-2"
|
|
43
43
|
})(["", " color:", ";word-wrap:break-word;word-break:break-word;"], getTypographyIntent('body'), colors.gray45);
|
|
44
44
|
export var StyledCheckboxInlineDescription = /*#__PURE__*/styled(StyledDescription).withConfig({
|
|
45
45
|
displayName: "StyledCheckboxInlineDescription",
|
|
46
|
-
componentId: "core-
|
|
46
|
+
componentId: "core-12_51_0__sc-ncj3pf-3"
|
|
47
47
|
})(["margin-top:", "px;", ""], spacing.xs, function (_ref3) {
|
|
48
48
|
var $read = _ref3.$read;
|
|
49
49
|
if (!$read) {
|
|
@@ -52,7 +52,7 @@ export var StyledCheckboxInlineDescription = /*#__PURE__*/styled(StyledDescripti
|
|
|
52
52
|
});
|
|
53
53
|
export var StyledFormFieldHeader = /*#__PURE__*/styled(StyledFieldHeader).withConfig({
|
|
54
54
|
displayName: "StyledFormFieldHeader",
|
|
55
|
-
componentId: "core-
|
|
55
|
+
componentId: "core-12_51_0__sc-ncj3pf-4"
|
|
56
56
|
})(["-ms-grid-row:1;grid-row:1;align-self:end;margin-bottom:", "px;", " ", " * + ", "{margin-top:", "px;}"], spacing.xs, function (_ref4) {
|
|
57
57
|
var $colStart = _ref4.$colStart,
|
|
58
58
|
$colEnd = _ref4.$colEnd,
|
|
@@ -61,20 +61,20 @@ export var StyledFormFieldHeader = /*#__PURE__*/styled(StyledFieldHeader).withCo
|
|
|
61
61
|
}, applyStylesOnlyToIE11("\n padding-left: ".concat(columnGutter, ";\n\n &:first-child {\n padding-left: 0;\n }\n\n ").concat(StyledFormFieldMain, " {\n padding-left: ").concat(columnGutter, ";\n\n &:nth-child(2) {\n padding-left: 0;\n }\n }\n ")), StyledDescription, spacing.xs);
|
|
62
62
|
export var StyledFormFieldRequiredMark = /*#__PURE__*/styled(Required).withConfig({
|
|
63
63
|
displayName: "StyledFormFieldRequiredMark",
|
|
64
|
-
componentId: "core-
|
|
64
|
+
componentId: "core-12_51_0__sc-ncj3pf-5"
|
|
65
65
|
})(["padding-left:", "px;vertical-align:top;"], spacing.xs);
|
|
66
66
|
export var StyledFormFieldErrorIcon = /*#__PURE__*/styled(Error).withConfig({
|
|
67
67
|
displayName: "StyledFormFieldErrorIcon",
|
|
68
|
-
componentId: "core-
|
|
68
|
+
componentId: "core-12_51_0__sc-ncj3pf-6"
|
|
69
69
|
})(["vertical-align:sub;"]);
|
|
70
70
|
export var StyledFormFieldBanner = /*#__PURE__*/styled.div.withConfig({
|
|
71
71
|
displayName: "StyledFormFieldBanner",
|
|
72
|
-
componentId: "core-
|
|
72
|
+
componentId: "core-12_51_0__sc-ncj3pf-7"
|
|
73
73
|
})(["display:flex;align-items:flex-start;min-height:22px;margin-top:", "px;margin-bottom:2px;word-break:break-word;word-wrap:break-word;color:", ";", ""], spacing.xs, colors.red50, getTypographyIntent('body'));
|
|
74
74
|
/** @deprecated The traditional field layout is deprecated */
|
|
75
75
|
export var StyledTraditionalFormColumn = /*#__PURE__*/styled.div.withConfig({
|
|
76
76
|
displayName: "StyledTraditionalFormColumn",
|
|
77
|
-
componentId: "core-
|
|
77
|
+
componentId: "core-12_51_0__sc-ncj3pf-8"
|
|
78
78
|
})(["padding:", ";align-self:center;height:100%;&:nth-child(1){-ms-grid-column:1;}&:nth-child(2){-ms-grid-column:2;}&:nth-child(3){-ms-grid-column:3;}&:nth-child(4){-ms-grid-column:4;}", " ", ""], traditionalPadding, function (_ref5) {
|
|
79
79
|
var _ref5$$fullWidth = _ref5.$fullWidth,
|
|
80
80
|
$fullWidth = _ref5$$fullWidth === void 0 ? false : _ref5$$fullWidth;
|
|
@@ -86,15 +86,15 @@ export var StyledTraditionalFormColumn = /*#__PURE__*/styled.div.withConfig({
|
|
|
86
86
|
});
|
|
87
87
|
export var StyledFormOutputTextArea = /*#__PURE__*/styled.span.withConfig({
|
|
88
88
|
displayName: "StyledFormOutputTextArea",
|
|
89
|
-
componentId: "core-
|
|
89
|
+
componentId: "core-12_51_0__sc-ncj3pf-9"
|
|
90
90
|
})(["white-space:pre-wrap;"]);
|
|
91
91
|
export var StyledFormOutputFiledset = /*#__PURE__*/styled.fieldset.withConfig({
|
|
92
92
|
displayName: "StyledFormOutputFiledset",
|
|
93
|
-
componentId: "core-
|
|
93
|
+
componentId: "core-12_51_0__sc-ncj3pf-10"
|
|
94
94
|
})(["border:none;padding:0;margin-top:", "px;"], spacing.xs);
|
|
95
95
|
export var StyledFormRow = /*#__PURE__*/styled.div.withConfig({
|
|
96
96
|
displayName: "StyledFormRow",
|
|
97
|
-
componentId: "core-
|
|
97
|
+
componentId: "core-12_51_0__sc-ncj3pf-11"
|
|
98
98
|
})(["", ""], function (_ref7) {
|
|
99
99
|
var _ref7$$traditional = _ref7.$traditional,
|
|
100
100
|
$traditional = _ref7$$traditional === void 0 ? false : _ref7$$traditional,
|
|
@@ -105,6 +105,6 @@ export var StyledFormRow = /*#__PURE__*/styled.div.withConfig({
|
|
|
105
105
|
export var formWrapper = /*#__PURE__*/css(["display:inherit;flex-direction:inherit;height:inherit;max-height:inherit;"]);
|
|
106
106
|
export var StyledForm = /*#__PURE__*/styled.div.withConfig({
|
|
107
107
|
displayName: "StyledForm",
|
|
108
|
-
componentId: "core-
|
|
108
|
+
componentId: "core-12_51_0__sc-ncj3pf-12"
|
|
109
109
|
})(["", ""], formWrapper);
|
|
110
110
|
//# sourceMappingURL=Form.styles.js.map
|
|
@@ -5,13 +5,13 @@ import { spacing } from '../_styles/spacing';
|
|
|
5
5
|
import { formWrapper } from './Form.styles';
|
|
6
6
|
export var StyledFormikForm = /*#__PURE__*/styled(FormikForm).withConfig({
|
|
7
7
|
displayName: "StyledFormikForm",
|
|
8
|
-
componentId: "core-
|
|
8
|
+
componentId: "core-12_51_0__sc-1ks7m0l-0"
|
|
9
9
|
})(["", ""], formWrapper);
|
|
10
10
|
|
|
11
11
|
/** @deprecated The traditional field layout is deprecated */
|
|
12
12
|
export var StyledTraditionalFormLabel = /*#__PURE__*/styled(Typography).withConfig({
|
|
13
13
|
displayName: "StyledTraditionalFormLabel",
|
|
14
|
-
componentId: "core-
|
|
14
|
+
componentId: "core-12_51_0__sc-1ks7m0l-1"
|
|
15
15
|
})(["display:inline-block;word-break:break-word;word-wrap:break-word;", ""], function (_ref) {
|
|
16
16
|
var $view = _ref.$view;
|
|
17
17
|
return ['create', 'update'].includes($view) && css(["padding-top:", "px;"], spacing.sm);
|
|
@@ -3,7 +3,7 @@ import { spacing } from '../_styles/spacing';
|
|
|
3
3
|
var shimmerAnimation = /*#__PURE__*/keyframes(["0%{background-position:-1000px 500px;}100%{background-position:1000px 500px;}"]);
|
|
4
4
|
export var PlaceholderItem = /*#__PURE__*/styled.div.withConfig({
|
|
5
5
|
displayName: "PlaceholderItem",
|
|
6
|
-
componentId: "core-
|
|
6
|
+
componentId: "core-12_51_0__sc-1nja302-0"
|
|
7
7
|
})(["width:100%;min-height:24px;padding:10px 0;animation:", " 3s ease-out infinite;background:radial-gradient( ellipse at center,", " 0%,", " 50% );background-size:2000px 2000px;border-radius:", "px;@media (prefers-reduced-motion:reduce){animation:none;}"], shimmerAnimation, function (props) {
|
|
8
8
|
return props.$startGradientColor;
|
|
9
9
|
}, function (props) {
|
|
@@ -11,7 +11,7 @@ export var PlaceholderItem = /*#__PURE__*/styled.div.withConfig({
|
|
|
11
11
|
}, spacing.sm);
|
|
12
12
|
export var RoundPlaceholderItem = /*#__PURE__*/styled(PlaceholderItem).withConfig({
|
|
13
13
|
displayName: "RoundPlaceholderItem",
|
|
14
|
-
componentId: "core-
|
|
14
|
+
componentId: "core-12_51_0__sc-1nja302-1"
|
|
15
15
|
})(["width:", ";height:", ";border-radius:50%;"], function (props) {
|
|
16
16
|
return props.$small ? '24px' : '40px';
|
|
17
17
|
}, function (props) {
|
package/dist/Grid/Grid.styles.js
CHANGED
|
@@ -75,7 +75,7 @@ var getRowGutterVertical = function getRowGutterVertical(gutterY, breakpoint) {
|
|
|
75
75
|
};
|
|
76
76
|
export var StyledGridRow = /*#__PURE__*/styled.div.withConfig({
|
|
77
77
|
displayName: "StyledGridRow",
|
|
78
|
-
componentId: "core-
|
|
78
|
+
componentId: "core-12_51_0__sc-8pinsp-0"
|
|
79
79
|
})(["", " display:flex;flex-wrap:wrap;"], function (_ref) {
|
|
80
80
|
var $gutterX = _ref.$gutterX,
|
|
81
81
|
$gutterY = _ref.$gutterY;
|
|
@@ -87,7 +87,7 @@ export var StyledGridRow = /*#__PURE__*/styled.div.withConfig({
|
|
|
87
87
|
});
|
|
88
88
|
export var StyledGridCol = /*#__PURE__*/styled.div.withConfig({
|
|
89
89
|
displayName: "StyledGridCol",
|
|
90
|
-
componentId: "core-
|
|
90
|
+
componentId: "core-12_51_0__sc-8pinsp-1"
|
|
91
91
|
})(["flex-shrink:0;width:100%;max-width:100%;", ""], function (_ref2) {
|
|
92
92
|
var $span = _ref2.$span,
|
|
93
93
|
$offset = _ref2.$offset,
|
|
@@ -3,7 +3,7 @@ import { MultiSelect } from '../MultiSelect/MultiSelect';
|
|
|
3
3
|
import { colors } from '../_styles/colors';
|
|
4
4
|
export var StyledGroupSelectOption = /*#__PURE__*/styled(MultiSelect.Option).withConfig({
|
|
5
5
|
displayName: "StyledGroupSelectOption",
|
|
6
|
-
componentId: "core-
|
|
6
|
+
componentId: "core-12_51_0__sc-u5gu8j-0"
|
|
7
7
|
})(["", ""], function (_ref) {
|
|
8
8
|
var disabled = _ref.disabled;
|
|
9
9
|
return disabled && css(["color:", ";cursor:not-allowed;a,a:hover{color:", ";text-decoration:none;}"], colors.gray70, colors.gray70);
|
|
@@ -16,6 +16,6 @@ export function getInputStyles(_ref) {
|
|
|
16
16
|
}
|
|
17
17
|
export var StyledInput = /*#__PURE__*/styled.input.withConfig({
|
|
18
18
|
displayName: "StyledInput",
|
|
19
|
-
componentId: "core-
|
|
19
|
+
componentId: "core-12_51_0__sc-12sjkxg-0"
|
|
20
20
|
})(["", " padding:0 ", "px;&::-ms-clear{display:none;}&[type='number']{-moz-appearance:textfield;&::-webkit-inner-spin-button,&::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}}"], getInputStyles, spacing.md);
|
|
21
21
|
//# sourceMappingURL=Input.styles.js.map
|
package/dist/Link/Link.styles.js
CHANGED
|
@@ -17,6 +17,6 @@ function getLinkColors(_ref) {
|
|
|
17
17
|
}
|
|
18
18
|
export var StyledLink = /*#__PURE__*/styled.a.withConfig({
|
|
19
19
|
displayName: "StyledLink",
|
|
20
|
-
componentId: "core-
|
|
20
|
+
componentId: "core-12_51_0__sc-jfowrl-0"
|
|
21
21
|
})(["text-decoration:underline;&:hover{cursor:pointer;text-decoration:underline;}", " &.focus,&:focus{", ";}", ""], focusable, getBorderRadius('md'), getLinkColors);
|
|
22
22
|
//# sourceMappingURL=Link.styles.js.map
|
|
@@ -3,19 +3,19 @@ import { colors } from '../_styles/colors';
|
|
|
3
3
|
import { spacing } from '../_styles/spacing';
|
|
4
4
|
export var StyledListPageMain = /*#__PURE__*/styled.div.withConfig({
|
|
5
5
|
displayName: "StyledListPageMain",
|
|
6
|
-
componentId: "core-
|
|
6
|
+
componentId: "core-12_51_0__sc-1eq7fzi-0"
|
|
7
7
|
})(["display:flex;flex:1 0 auto;flex-direction:column;min-width:0;padding:", "px ", "px;width:100%;"], spacing.lg, spacing.xl);
|
|
8
8
|
export var StyledListPageBanner = /*#__PURE__*/styled.div.withConfig({
|
|
9
9
|
displayName: "StyledListPageBanner",
|
|
10
|
-
componentId: "core-
|
|
10
|
+
componentId: "core-12_51_0__sc-1eq7fzi-1"
|
|
11
11
|
})(["flex:0 0 auto;"]);
|
|
12
12
|
export var StyledListPageToolHeader = /*#__PURE__*/styled.div.withConfig({
|
|
13
13
|
displayName: "StyledListPageToolHeader",
|
|
14
|
-
componentId: "core-
|
|
14
|
+
componentId: "core-12_51_0__sc-1eq7fzi-2"
|
|
15
15
|
})(["flex:0 0 auto;padding-bottom:", "px;"], spacing.lg);
|
|
16
16
|
export var StyledListPageControl = /*#__PURE__*/styled.div.withConfig({
|
|
17
17
|
displayName: "StyledListPageControl",
|
|
18
|
-
componentId: "core-
|
|
18
|
+
componentId: "core-12_51_0__sc-1eq7fzi-3"
|
|
19
19
|
})(["flex:", ";", " ", ""], function (_ref) {
|
|
20
20
|
var $block = _ref.$block;
|
|
21
21
|
return $block ? '1 0 auto' : '0 0 auto';
|
|
@@ -32,18 +32,18 @@ export var StyledListPageControl = /*#__PURE__*/styled.div.withConfig({
|
|
|
32
32
|
});
|
|
33
33
|
export var StyledListPageContentControls = /*#__PURE__*/styled.div.withConfig({
|
|
34
34
|
displayName: "StyledListPageContentControls",
|
|
35
|
-
componentId: "core-
|
|
35
|
+
componentId: "core-12_51_0__sc-1eq7fzi-4"
|
|
36
36
|
})(["align-items:center;display:flex;flex:0 0 auto;justify-content:space-between;padding:", "px 0;", " + ", "{margin-left:", "px;}"], spacing.md, StyledListPageControl, StyledListPageControl, spacing.lg);
|
|
37
37
|
export var StyledListPageBody = /*#__PURE__*/styled.div.withConfig({
|
|
38
38
|
displayName: "StyledListPageBody",
|
|
39
|
-
componentId: "core-
|
|
39
|
+
componentId: "core-12_51_0__sc-1eq7fzi-5"
|
|
40
40
|
})(["display:flex;flex:1 0 auto;padding-top:", "px;"], spacing.md);
|
|
41
41
|
export var StyledListPageBodyContent = /*#__PURE__*/styled.div.withConfig({
|
|
42
42
|
displayName: "StyledListPageBodyContent",
|
|
43
|
-
componentId: "core-
|
|
43
|
+
componentId: "core-12_51_0__sc-1eq7fzi-6"
|
|
44
44
|
})(["flex:1 1 auto;"]);
|
|
45
45
|
export var StyledListPage = /*#__PURE__*/styled.div.withConfig({
|
|
46
46
|
displayName: "StyledListPage",
|
|
47
|
-
componentId: "core-
|
|
47
|
+
componentId: "core-12_51_0__sc-1eq7fzi-7"
|
|
48
48
|
})(["display:flex;flex-direction:row;height:100%;width:100%;", " + ", "{padding-top:", "px;}", " + ", "{border-top-color:", ";border-top-style:solid;border-top-width:1px;}", " + ", ",", " + ", "{border-top-color:", ";border-top-style:solid;border-top-width:1px;}", " + ", "{padding-top:0;}"], StyledListPageBanner, StyledListPageToolHeader, spacing.lg, StyledListPageContentControls, StyledListPageContentControls, colors.gray85, StyledListPageToolHeader, StyledListPageContentControls, StyledListPageToolHeader, StyledListPageBody, colors.gray85, StyledListPageContentControls, StyledListPageBody);
|
|
49
49
|
//# sourceMappingURL=ListPage.styles.js.map
|
|
@@ -7,11 +7,11 @@ export var loaderTransitionDuration = 250;
|
|
|
7
7
|
var movingStripes = /*#__PURE__*/keyframes(["from{background-position:", "px 0;}100%{background-position:0 ", "px;}"], backgroundSize, backgroundSize);
|
|
8
8
|
export var StyledLoader = /*#__PURE__*/styled.div.withConfig({
|
|
9
9
|
displayName: "StyledLoader",
|
|
10
|
-
componentId: "core-
|
|
10
|
+
componentId: "core-12_51_0__sc-wgvjj9-0"
|
|
11
11
|
})(["display:block;height:100%;left:0;min-width:12px;position:absolute;transition:width ", "ms ease-out;top:0;"], loaderTransitionDuration);
|
|
12
12
|
export var StyledGradient = /*#__PURE__*/styled.div.withConfig({
|
|
13
13
|
displayName: "StyledGradient",
|
|
14
|
-
componentId: "core-
|
|
14
|
+
componentId: "core-12_51_0__sc-wgvjj9-1"
|
|
15
15
|
})(["height:100%;", ""], function (_ref) {
|
|
16
16
|
var $animated = _ref.$animated;
|
|
17
17
|
return $animated ? css(["@media (prefers-reduced-motion:no-preference){animation:", " 0.5s linear infinite;}background-image:linear-gradient( 45deg,", " 26%,", " 25%,", " 51%,", " 50%,", " 76%,", " 75%,", " );background-size:", "px ", "px;"], movingStripes, color1, color2, color2, color1, color1, color2, color2, backgroundSize, backgroundSize) : css(["background-color:", ";"], colors.blue50);
|
package/dist/Menu/Menu.js
CHANGED
|
@@ -78,6 +78,7 @@ export function useMenu(_ref) {
|
|
|
78
78
|
size: 0
|
|
79
79
|
});
|
|
80
80
|
var highlighted = React.useRef(null);
|
|
81
|
+
var keyboardNavigated = React.useRef(false);
|
|
81
82
|
var keyHandlerRef = externalKeyHandlerRef || /*#__PURE__*/React.createRef();
|
|
82
83
|
var selectItem = React.useCallback(function (selection) {
|
|
83
84
|
onSelect(selection);
|
|
@@ -85,9 +86,11 @@ export function useMenu(_ref) {
|
|
|
85
86
|
var _onKeyDown = React.useCallback(function (e) {
|
|
86
87
|
var key = e.key;
|
|
87
88
|
if (key === 'ArrowDown' || key === 'Down') {
|
|
89
|
+
keyboardNavigated.current = true;
|
|
88
90
|
listNavigation.increment();
|
|
89
91
|
e.preventDefault();
|
|
90
92
|
} else if (key === 'ArrowUp' || key === 'Up') {
|
|
93
|
+
keyboardNavigated.current = true;
|
|
91
94
|
listNavigation.decrement();
|
|
92
95
|
e.preventDefault();
|
|
93
96
|
} else if (key === 'Enter') {
|
|
@@ -118,6 +121,7 @@ export function useMenu(_ref) {
|
|
|
118
121
|
},
|
|
119
122
|
highlighted: highlighted,
|
|
120
123
|
isSelectable: isSelectable,
|
|
124
|
+
keyboardNavigated: keyboardNavigated,
|
|
121
125
|
listNavigation: listNavigation,
|
|
122
126
|
multiple: multiple,
|
|
123
127
|
onScrollBottom: onScrollBottom,
|
|
@@ -212,6 +216,7 @@ export var Item = /*#__PURE__*/React.forwardRef(function Item(_ref4, ref) {
|
|
|
212
216
|
props = _objectWithoutProperties(_ref4, _excluded3);
|
|
213
217
|
var _useMenuHookContext = useMenuHookContext(),
|
|
214
218
|
highlighted = _useMenuHookContext.highlighted,
|
|
219
|
+
keyboardNavigated = _useMenuHookContext.keyboardNavigated,
|
|
215
220
|
listNavigation = _useMenuHookContext.listNavigation,
|
|
216
221
|
multiple = _useMenuHookContext.multiple,
|
|
217
222
|
selectItem = _useMenuHookContext.selectItem;
|
|
@@ -256,11 +261,13 @@ export var Item = /*#__PURE__*/React.forwardRef(function Item(_ref4, ref) {
|
|
|
256
261
|
_onMouseMove(event);
|
|
257
262
|
}
|
|
258
263
|
if (listNavigation.index !== index) {
|
|
264
|
+
keyboardNavigated.current = false;
|
|
259
265
|
listNavigation.set(index);
|
|
260
266
|
}
|
|
261
267
|
},
|
|
262
268
|
ref: itemRef,
|
|
263
269
|
role: "menuitem",
|
|
270
|
+
$focusVisible: isHighlighted && keyboardNavigated.current,
|
|
264
271
|
$highlighted: isHighlighted,
|
|
265
272
|
$selected: selected
|
|
266
273
|
}), children);
|
package/dist/Menu/Menu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.js","names":["React","StyledFooter","StyledGroup","StyledGroupLabel","StyledHeader","StyledItem","StyledMenu","StyledOptions","StyledSearch","StyledWrapper","useOverlayTriggerContext","Typeahead","useEventListener","useI18nContext","useListNavigation","addSubcomponents","usingHookOrDefault","onScrollBottomThreshold","isItem","element","type","Item","scrollIntoView","index","parentElement","scrollTop","offsetTop","clientHeight","_element$parentElemen","parentHeight","checkBottomScrollPosition","callback","onScroll","e","currentTarget","HTMLElement","scrollHeight","noop","useMenu","_ref","_ref$isSelectable","isSelectable","externalKeyHandlerRef","keyHandlerRef","_ref$multiple","multiple","onScrollBottom","_ref$onSearch","onSearch","_ref$onSelect","onSelect","_ref$scrollable","scrollable","listNavigation","circular","initialIndex","size","highlighted","useRef","createRef","selectItem","useCallback","selection","onKeyDown","key","increment","preventDefault","decrement","current","click","useEffect","el","addEventListener","removeEventListener","domHandlers","nativeEvent","MenuHookContext","createContext","useMenuHookContext","context","useContext","Error","Menu_","forwardRef","Menu","_ref2","ref","children","_ref2$UNSAFE_closesOn","UNSAFE_closesOnSelect","_ref2$isSelectable","_ref2$onSelect","_ref2$scrollable","usingHook","props","_objectWithoutProperties","_excluded","overlayTriggerContext","menu","reset","hide","event","createElement","Provider","value","_objectSpread","_extends","role","tabIndex","Group","_ref3","item","_excluded2","_ref4","_ref4$index","_ref4$onClick","onClick","_ref4$selected","selected","_ref4$suggested","suggested","onMouseMove","_excluded3","_useMenuHookContext","itemRef","isHighlighted","set","group","$highlighted","$selected","Options","_ref5","className","_ref5$scrollable","_useMenuHookContext2","menuScrollable","optionsRef","Children","toArray","filter","length","setSize","handler","scope","$scrollable","map","child","isValidElement","selectableIndex","cloneElement","Search","_ref6","_ref6$i18nScope","i18nScope","placeholder","_onChange","onChange","_excluded4","I18n","_React$useState","useState","_React$useState2","_slicedToArray","setValue","_menu$onSearch","target","call","autoFocus","t","Header","_ref7","_objectDestructuringEmpty","Footer","_ref8","_ref8$padding","padding","_excluded5","displayName"],"sources":["../../src/Menu/Menu.tsx"],"sourcesContent":["import React from 'react'\nimport {\n StyledFooter,\n StyledGroup,\n StyledGroupLabel,\n StyledHeader,\n StyledItem,\n StyledMenu,\n StyledOptions,\n StyledSearch,\n StyledWrapper,\n} from '../MenuImperative/MenuImperative.styles'\nimport { useOverlayTriggerContext } from '../OverlayTrigger/OverlayTrigger'\nimport type { TypeaheadProps } from '../Typeahead'\nimport { Typeahead } from '../Typeahead'\nimport { useEventListener } from '../_hooks/EventListener'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useListNavigation } from '../_hooks/ListNavigation'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport { usingHookOrDefault } from '../_utils/usingHookOrDefault'\nimport type {\n ElementTypeChecker,\n MenuFooterProps,\n MenuGroupProps,\n MenuHeaderProps,\n MenuHook,\n MenuHookConfig,\n MenuItemProps,\n MenuOptionsProps,\n MenuProps,\n MenuSearchProps,\n MenuSelection,\n} from './Menu.types'\n\nconst onScrollBottomThreshold = 8\n\nexport const isItem: ElementTypeChecker = (element) => element.type === Item\n\nfunction scrollIntoView(index: number, element: HTMLElement) {\n if (!element.parentElement) {\n return\n }\n\n if (index === 0) {\n element.parentElement.scrollTop = 0\n\n return\n }\n\n const { offsetTop, clientHeight } = element\n\n const { scrollTop, clientHeight: parentHeight } = element.parentElement\n\n if (offsetTop < scrollTop) {\n element.parentElement.scrollTop = offsetTop\n } else if (offsetTop + clientHeight > scrollTop + parentHeight) {\n element.parentElement.scrollTop = offsetTop - parentHeight + clientHeight\n }\n}\n\nfunction checkBottomScrollPosition(callback?: (e: Event) => void) {\n return function onScroll(e: Event) {\n if (\n callback &&\n e.currentTarget instanceof HTMLElement &&\n e.currentTarget.scrollTop >=\n e.currentTarget.scrollHeight -\n e.currentTarget.clientHeight -\n onScrollBottomThreshold\n ) {\n callback(e)\n }\n }\n}\n\nfunction noop() {}\n\nexport function useMenu({\n isSelectable = isItem,\n keyHandlerRef: externalKeyHandlerRef,\n multiple = false,\n onScrollBottom,\n onSearch = noop,\n onSelect = noop,\n scrollable = true,\n}: MenuHookConfig): MenuHook {\n const listNavigation = useListNavigation({\n circular: !onScrollBottom,\n initialIndex: 0,\n size: 0,\n })\n\n const highlighted = React.useRef<HTMLDivElement>(null)\n\n const keyHandlerRef = externalKeyHandlerRef || React.createRef<HTMLElement>()\n\n const selectItem = React.useCallback(\n (selection: MenuSelection) => {\n onSelect(selection)\n },\n [onSelect]\n )\n\n const onKeyDown = React.useCallback(\n function (e: KeyboardEvent) {\n const { key } = e\n\n if (key === 'ArrowDown' || key === 'Down') {\n listNavigation.increment()\n e.preventDefault()\n } else if (key === 'ArrowUp' || key === 'Up') {\n listNavigation.decrement()\n e.preventDefault()\n } else if (key === 'Enter') {\n if (highlighted.current) {\n highlighted.current.click()\n }\n }\n },\n [listNavigation]\n )\n\n // TODO - deprecate keyhandlerRef, this is just for backwards compatibility since we already exposed it\n React.useEffect(\n function () {\n let el: HTMLElement\n\n if (keyHandlerRef.current) {\n keyHandlerRef.current.addEventListener('keydown', onKeyDown)\n\n el = keyHandlerRef.current\n }\n\n return function () {\n if (el) {\n el.removeEventListener('keydown', onKeyDown)\n }\n }\n },\n [keyHandlerRef, onKeyDown]\n )\n\n return {\n domHandlers: {\n onKeyDown: (e: React.KeyboardEvent<HTMLElement>) =>\n onKeyDown(e.nativeEvent),\n },\n highlighted,\n isSelectable,\n listNavigation,\n multiple,\n onScrollBottom,\n onSearch,\n scrollable,\n selectItem,\n }\n}\n\nexport const MenuHookContext = React.createContext<MenuHook | null>(null)\n\nexport function useMenuHookContext(): MenuHook {\n const context = React.useContext(MenuHookContext)\n\n if (context === null) {\n throw new Error(\n 'Cannot find `MenuHook` context, please wrap your component in `<MenuHookContext.Provider>`'\n )\n }\n\n return context\n}\n\nexport const Menu_ = React.forwardRef<HTMLDivElement, MenuProps>(function Menu(\n {\n children,\n UNSAFE_closesOnSelect = true,\n isSelectable = isItem,\n keyHandlerRef,\n onScrollBottom,\n onSelect = noop,\n onSearch,\n scrollable = true,\n usingHook,\n ...props\n },\n ref\n) {\n // Don't be tempted to put this in useMenu. In order for hooks to be portable\n // across the dom tree, they should not contain context consumers.\n const overlayTriggerContext = useOverlayTriggerContext()\n\n const menu = usingHookOrDefault(\n usingHook,\n useMenu\n )({\n isSelectable,\n keyHandlerRef,\n onScrollBottom,\n onSelect,\n onSearch,\n scrollable,\n })\n\n React.useEffect(\n function () {\n // When unmounting, reset the listNavigation index and set\n // the current highlighted item to null. we only want to run this once,\n // so don't pass any dependencies\n return function () {\n menu.listNavigation.reset()\n menu.highlighted.current = null\n }\n },\n /* eslint-disable */ [] /* eslint-enable */\n )\n\n function selectItem(selection: MenuSelection) {\n menu.selectItem(selection)\n\n if (UNSAFE_closesOnSelect) {\n overlayTriggerContext.hide(selection.event)\n }\n }\n\n return (\n <MenuHookContext.Provider value={{ ...menu, selectItem }}>\n <StyledWrapper {...menu.domHandlers} ref={ref} role=\"menu\" tabIndex={0}>\n <StyledMenu {...props}>{children}</StyledMenu>\n </StyledWrapper>\n </MenuHookContext.Provider>\n )\n})\n\nexport const Group = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & MenuGroupProps\n>(function Group({ children, item, ...props }, ref) {\n return (\n <StyledGroup\n {...props}\n ref={ref}\n // onClick={(event) => {\n // TODO: implement selecting groups?\n // }}\n >\n <StyledGroupLabel>{children}</StyledGroupLabel>\n </StyledGroup>\n )\n})\n\nexport const Item = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & MenuItemProps\n>(function Item(\n {\n children,\n index = 0,\n item,\n onClick = noop,\n selected = false,\n suggested = false,\n onMouseMove,\n ...props\n },\n ref\n) {\n const { highlighted, listNavigation, multiple, selectItem } =\n useMenuHookContext()\n\n const itemRef =\n // eslint-disable-next-line react-hooks/rules-of-hooks\n (ref as React.RefObject<HTMLDivElement>) || React.useRef<HTMLDivElement>()\n\n const isHighlighted = index === listNavigation.index\n\n React.useEffect(\n function () {\n // When mounting, check if this item is selected or suggested, and if\n // it is, then set it as the current index and scroll to it.\n // We only want to run this once, so don't pass any dependencies\n\n if (multiple) {\n // don't do this behavior in multiple mode\n return\n }\n\n if (itemRef.current && (selected || suggested)) {\n highlighted.current = itemRef.current\n listNavigation.set(index)\n }\n },\n /* eslint-disable */ [] /* eslint-enable */\n )\n\n React.useEffect(\n function () {\n // If this item has become highlighted, scroll to it\n if (itemRef.current && isHighlighted) {\n highlighted.current = itemRef.current\n scrollIntoView(index, itemRef.current)\n }\n },\n [highlighted, index, isHighlighted, itemRef]\n )\n\n return (\n <StyledItem\n {...props}\n onClick={(event: React.MouseEvent<HTMLDivElement>) => {\n listNavigation.set(index)\n\n selectItem({ event: event.nativeEvent, item, group: false })\n\n onClick(event)\n }}\n onMouseMove={(event: React.MouseEvent<HTMLDivElement>) => {\n if (onMouseMove) {\n onMouseMove(event)\n }\n if (listNavigation.index !== index) {\n listNavigation.set(index)\n }\n }}\n ref={itemRef}\n role=\"menuitem\"\n $highlighted={isHighlighted}\n $selected={selected}\n >\n {children}\n </StyledItem>\n )\n})\n\nexport const Options = React.forwardRef<HTMLDivElement, MenuOptionsProps>(\n function Options({ children, className, scrollable = true }, ref) {\n const {\n listNavigation,\n isSelectable,\n onScrollBottom,\n scrollable: menuScrollable,\n } = useMenuHookContext()\n\n const optionsRef =\n (ref as React.RefObject<HTMLDivElement>) || React.createRef()\n\n const size = React.Children.toArray(children).filter(isSelectable).length\n\n React.useEffect(\n function () {\n listNavigation.setSize(size)\n },\n [listNavigation, size]\n )\n\n useEventListener({\n event: 'scroll',\n handler: checkBottomScrollPosition(onScrollBottom),\n scope: optionsRef,\n })\n\n let index = 0\n\n return (\n <StyledOptions\n className={className}\n ref={optionsRef}\n $scrollable={menuScrollable || scrollable}\n >\n {React.Children.map(children, (child) => {\n if (React.isValidElement(child) && isSelectable(child)) {\n const selectableIndex = index\n\n index = index + 1\n\n return React.cloneElement(child, {\n index: selectableIndex,\n })\n }\n\n return child\n })}\n </StyledOptions>\n )\n }\n)\n\nexport const Search = ({\n className,\n i18nScope = 'core.menu',\n placeholder,\n onChange: _onChange,\n ...props\n}: MenuSearchProps) => {\n const I18n = useI18nContext()\n const menu = useMenuHookContext()\n\n const [value, setValue] = React.useState('')\n\n const onChange: TypeaheadProps['onChange'] = React.useCallback(\n function (value: string, event: any) {\n setValue(event.target.value)\n menu.onSearch?.(event)\n menu.listNavigation.set(0)\n _onChange?.(event)\n },\n [_onChange]\n )\n\n return (\n <StyledSearch className={className}>\n <Typeahead\n {...props}\n autoFocus={true}\n placeholder={placeholder || I18n.t('search', { scope: i18nScope })}\n onChange={onChange}\n value={value}\n />\n </StyledSearch>\n )\n}\n\nexport const Header = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & MenuHeaderProps\n>(function Header({ ...props }, ref) {\n return <StyledHeader ref={ref} {...props} />\n})\n\nexport const Footer = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & MenuFooterProps\n>(function Footer({ padding = 'md lg', ...props }, ref) {\n return <StyledFooter ref={ref} padding={padding} {...props} />\n})\n\nMenu_.displayName = 'Menu'\n\nFooter.displayName = 'Menu.Footer'\n\nGroup.displayName = 'Menu.Group'\n\nHeader.displayName = 'Menu.Header'\n\nItem.displayName = 'Menu.Item'\n\nOptions.displayName = 'Menu.Options'\n\nSearch.displayName = 'Menu.Search'\n\n/**\n\n Menus are used in conjunction with components that contain dropdowns.\n For example, multi select, single select, and dropdown.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-menu--demo)\n\n @see [Design Guidelines](https://design.procore.com/menu)\n\n */\nexport const Menu = addSubcomponents(\n {\n Footer,\n Group,\n Header,\n Item,\n Options,\n Search,\n },\n Menu_\n)\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Menu.js","names":["React","StyledFooter","StyledGroup","StyledGroupLabel","StyledHeader","StyledItem","StyledMenu","StyledOptions","StyledSearch","StyledWrapper","useOverlayTriggerContext","Typeahead","useEventListener","useI18nContext","useListNavigation","addSubcomponents","usingHookOrDefault","onScrollBottomThreshold","isItem","element","type","Item","scrollIntoView","index","parentElement","scrollTop","offsetTop","clientHeight","_element$parentElemen","parentHeight","checkBottomScrollPosition","callback","onScroll","e","currentTarget","HTMLElement","scrollHeight","noop","useMenu","_ref","_ref$isSelectable","isSelectable","externalKeyHandlerRef","keyHandlerRef","_ref$multiple","multiple","onScrollBottom","_ref$onSearch","onSearch","_ref$onSelect","onSelect","_ref$scrollable","scrollable","listNavigation","circular","initialIndex","size","highlighted","useRef","keyboardNavigated","createRef","selectItem","useCallback","selection","onKeyDown","key","current","increment","preventDefault","decrement","click","useEffect","el","addEventListener","removeEventListener","domHandlers","nativeEvent","MenuHookContext","createContext","useMenuHookContext","context","useContext","Error","Menu_","forwardRef","Menu","_ref2","ref","children","_ref2$UNSAFE_closesOn","UNSAFE_closesOnSelect","_ref2$isSelectable","_ref2$onSelect","_ref2$scrollable","usingHook","props","_objectWithoutProperties","_excluded","overlayTriggerContext","menu","reset","hide","event","createElement","Provider","value","_objectSpread","_extends","role","tabIndex","Group","_ref3","item","_excluded2","_ref4","_ref4$index","_ref4$onClick","onClick","_ref4$selected","selected","_ref4$suggested","suggested","onMouseMove","_excluded3","_useMenuHookContext","itemRef","isHighlighted","set","group","$focusVisible","$highlighted","$selected","Options","_ref5","className","_ref5$scrollable","_useMenuHookContext2","menuScrollable","optionsRef","Children","toArray","filter","length","setSize","handler","scope","$scrollable","map","child","isValidElement","selectableIndex","cloneElement","Search","_ref6","_ref6$i18nScope","i18nScope","placeholder","_onChange","onChange","_excluded4","I18n","_React$useState","useState","_React$useState2","_slicedToArray","setValue","_menu$onSearch","target","call","autoFocus","t","Header","_ref7","_objectDestructuringEmpty","Footer","_ref8","_ref8$padding","padding","_excluded5","displayName"],"sources":["../../src/Menu/Menu.tsx"],"sourcesContent":["import React from 'react'\nimport {\n StyledFooter,\n StyledGroup,\n StyledGroupLabel,\n StyledHeader,\n StyledItem,\n StyledMenu,\n StyledOptions,\n StyledSearch,\n StyledWrapper,\n} from '../MenuImperative/MenuImperative.styles'\nimport { useOverlayTriggerContext } from '../OverlayTrigger/OverlayTrigger'\nimport type { TypeaheadProps } from '../Typeahead'\nimport { Typeahead } from '../Typeahead'\nimport { useEventListener } from '../_hooks/EventListener'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useListNavigation } from '../_hooks/ListNavigation'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport { usingHookOrDefault } from '../_utils/usingHookOrDefault'\nimport type {\n ElementTypeChecker,\n MenuFooterProps,\n MenuGroupProps,\n MenuHeaderProps,\n MenuHook,\n MenuHookConfig,\n MenuItemProps,\n MenuOptionsProps,\n MenuProps,\n MenuSearchProps,\n MenuSelection,\n} from './Menu.types'\n\nconst onScrollBottomThreshold = 8\n\nexport const isItem: ElementTypeChecker = (element) => element.type === Item\n\nfunction scrollIntoView(index: number, element: HTMLElement) {\n if (!element.parentElement) {\n return\n }\n\n if (index === 0) {\n element.parentElement.scrollTop = 0\n\n return\n }\n\n const { offsetTop, clientHeight } = element\n\n const { scrollTop, clientHeight: parentHeight } = element.parentElement\n\n if (offsetTop < scrollTop) {\n element.parentElement.scrollTop = offsetTop\n } else if (offsetTop + clientHeight > scrollTop + parentHeight) {\n element.parentElement.scrollTop = offsetTop - parentHeight + clientHeight\n }\n}\n\nfunction checkBottomScrollPosition(callback?: (e: Event) => void) {\n return function onScroll(e: Event) {\n if (\n callback &&\n e.currentTarget instanceof HTMLElement &&\n e.currentTarget.scrollTop >=\n e.currentTarget.scrollHeight -\n e.currentTarget.clientHeight -\n onScrollBottomThreshold\n ) {\n callback(e)\n }\n }\n}\n\nfunction noop() {}\n\nexport function useMenu({\n isSelectable = isItem,\n keyHandlerRef: externalKeyHandlerRef,\n multiple = false,\n onScrollBottom,\n onSearch = noop,\n onSelect = noop,\n scrollable = true,\n}: MenuHookConfig): MenuHook {\n const listNavigation = useListNavigation({\n circular: !onScrollBottom,\n initialIndex: 0,\n size: 0,\n })\n\n const highlighted = React.useRef<HTMLDivElement>(null)\n const keyboardNavigated = React.useRef(false)\n\n const keyHandlerRef = externalKeyHandlerRef || React.createRef<HTMLElement>()\n\n const selectItem = React.useCallback(\n (selection: MenuSelection) => {\n onSelect(selection)\n },\n [onSelect]\n )\n\n const onKeyDown = React.useCallback(\n function (e: KeyboardEvent) {\n const { key } = e\n\n if (key === 'ArrowDown' || key === 'Down') {\n keyboardNavigated.current = true\n listNavigation.increment()\n e.preventDefault()\n } else if (key === 'ArrowUp' || key === 'Up') {\n keyboardNavigated.current = true\n listNavigation.decrement()\n e.preventDefault()\n } else if (key === 'Enter') {\n if (highlighted.current) {\n highlighted.current.click()\n }\n }\n },\n [listNavigation]\n )\n\n // TODO - deprecate keyhandlerRef, this is just for backwards compatibility since we already exposed it\n React.useEffect(\n function () {\n let el: HTMLElement\n\n if (keyHandlerRef.current) {\n keyHandlerRef.current.addEventListener('keydown', onKeyDown)\n\n el = keyHandlerRef.current\n }\n\n return function () {\n if (el) {\n el.removeEventListener('keydown', onKeyDown)\n }\n }\n },\n [keyHandlerRef, onKeyDown]\n )\n\n return {\n domHandlers: {\n onKeyDown: (e: React.KeyboardEvent<HTMLElement>) =>\n onKeyDown(e.nativeEvent),\n },\n highlighted,\n isSelectable,\n keyboardNavigated,\n listNavigation,\n multiple,\n onScrollBottom,\n onSearch,\n scrollable,\n selectItem,\n }\n}\n\nexport const MenuHookContext = React.createContext<MenuHook | null>(null)\n\nexport function useMenuHookContext(): MenuHook {\n const context = React.useContext(MenuHookContext)\n\n if (context === null) {\n throw new Error(\n 'Cannot find `MenuHook` context, please wrap your component in `<MenuHookContext.Provider>`'\n )\n }\n\n return context\n}\n\nexport const Menu_ = React.forwardRef<HTMLDivElement, MenuProps>(function Menu(\n {\n children,\n UNSAFE_closesOnSelect = true,\n isSelectable = isItem,\n keyHandlerRef,\n onScrollBottom,\n onSelect = noop,\n onSearch,\n scrollable = true,\n usingHook,\n ...props\n },\n ref\n) {\n // Don't be tempted to put this in useMenu. In order for hooks to be portable\n // across the dom tree, they should not contain context consumers.\n const overlayTriggerContext = useOverlayTriggerContext()\n\n const menu = usingHookOrDefault(\n usingHook,\n useMenu\n )({\n isSelectable,\n keyHandlerRef,\n onScrollBottom,\n onSelect,\n onSearch,\n scrollable,\n })\n\n React.useEffect(\n function () {\n // When unmounting, reset the listNavigation index and set\n // the current highlighted item to null. we only want to run this once,\n // so don't pass any dependencies\n return function () {\n menu.listNavigation.reset()\n menu.highlighted.current = null\n }\n },\n /* eslint-disable */ [] /* eslint-enable */\n )\n\n function selectItem(selection: MenuSelection) {\n menu.selectItem(selection)\n\n if (UNSAFE_closesOnSelect) {\n overlayTriggerContext.hide(selection.event)\n }\n }\n\n return (\n <MenuHookContext.Provider value={{ ...menu, selectItem }}>\n <StyledWrapper {...menu.domHandlers} ref={ref} role=\"menu\" tabIndex={0}>\n <StyledMenu {...props}>{children}</StyledMenu>\n </StyledWrapper>\n </MenuHookContext.Provider>\n )\n})\n\nexport const Group = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & MenuGroupProps\n>(function Group({ children, item, ...props }, ref) {\n return (\n <StyledGroup\n {...props}\n ref={ref}\n // onClick={(event) => {\n // TODO: implement selecting groups?\n // }}\n >\n <StyledGroupLabel>{children}</StyledGroupLabel>\n </StyledGroup>\n )\n})\n\nexport const Item = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & MenuItemProps\n>(function Item(\n {\n children,\n index = 0,\n item,\n onClick = noop,\n selected = false,\n suggested = false,\n onMouseMove,\n ...props\n },\n ref\n) {\n const {\n highlighted,\n keyboardNavigated,\n listNavigation,\n multiple,\n selectItem,\n } = useMenuHookContext()\n\n const itemRef =\n // eslint-disable-next-line react-hooks/rules-of-hooks\n (ref as React.RefObject<HTMLDivElement>) || React.useRef<HTMLDivElement>()\n\n const isHighlighted = index === listNavigation.index\n\n React.useEffect(\n function () {\n // When mounting, check if this item is selected or suggested, and if\n // it is, then set it as the current index and scroll to it.\n // We only want to run this once, so don't pass any dependencies\n\n if (multiple) {\n // don't do this behavior in multiple mode\n return\n }\n\n if (itemRef.current && (selected || suggested)) {\n highlighted.current = itemRef.current\n listNavigation.set(index)\n }\n },\n /* eslint-disable */ [] /* eslint-enable */\n )\n\n React.useEffect(\n function () {\n // If this item has become highlighted, scroll to it\n if (itemRef.current && isHighlighted) {\n highlighted.current = itemRef.current\n scrollIntoView(index, itemRef.current)\n }\n },\n [highlighted, index, isHighlighted, itemRef]\n )\n\n return (\n <StyledItem\n {...props}\n onClick={(event: React.MouseEvent<HTMLDivElement>) => {\n listNavigation.set(index)\n\n selectItem({ event: event.nativeEvent, item, group: false })\n\n onClick(event)\n }}\n onMouseMove={(event: React.MouseEvent<HTMLDivElement>) => {\n if (onMouseMove) {\n onMouseMove(event)\n }\n if (listNavigation.index !== index) {\n keyboardNavigated.current = false\n listNavigation.set(index)\n }\n }}\n ref={itemRef}\n role=\"menuitem\"\n $focusVisible={isHighlighted && keyboardNavigated.current}\n $highlighted={isHighlighted}\n $selected={selected}\n >\n {children}\n </StyledItem>\n )\n})\n\nexport const Options = React.forwardRef<HTMLDivElement, MenuOptionsProps>(\n function Options({ children, className, scrollable = true }, ref) {\n const {\n listNavigation,\n isSelectable,\n onScrollBottom,\n scrollable: menuScrollable,\n } = useMenuHookContext()\n\n const optionsRef =\n (ref as React.RefObject<HTMLDivElement>) || React.createRef()\n\n const size = React.Children.toArray(children).filter(isSelectable).length\n\n React.useEffect(\n function () {\n listNavigation.setSize(size)\n },\n [listNavigation, size]\n )\n\n useEventListener({\n event: 'scroll',\n handler: checkBottomScrollPosition(onScrollBottom),\n scope: optionsRef,\n })\n\n let index = 0\n\n return (\n <StyledOptions\n className={className}\n ref={optionsRef}\n $scrollable={menuScrollable || scrollable}\n >\n {React.Children.map(children, (child) => {\n if (React.isValidElement(child) && isSelectable(child)) {\n const selectableIndex = index\n\n index = index + 1\n\n return React.cloneElement(child, {\n index: selectableIndex,\n })\n }\n\n return child\n })}\n </StyledOptions>\n )\n }\n)\n\nexport const Search = ({\n className,\n i18nScope = 'core.menu',\n placeholder,\n onChange: _onChange,\n ...props\n}: MenuSearchProps) => {\n const I18n = useI18nContext()\n const menu = useMenuHookContext()\n\n const [value, setValue] = React.useState('')\n\n const onChange: TypeaheadProps['onChange'] = React.useCallback(\n function (value: string, event: any) {\n setValue(event.target.value)\n menu.onSearch?.(event)\n menu.listNavigation.set(0)\n _onChange?.(event)\n },\n [_onChange]\n )\n\n return (\n <StyledSearch className={className}>\n <Typeahead\n {...props}\n autoFocus={true}\n placeholder={placeholder || I18n.t('search', { scope: i18nScope })}\n onChange={onChange}\n value={value}\n />\n </StyledSearch>\n )\n}\n\nexport const Header = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & MenuHeaderProps\n>(function Header({ ...props }, ref) {\n return <StyledHeader ref={ref} {...props} />\n})\n\nexport const Footer = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & MenuFooterProps\n>(function Footer({ padding = 'md lg', ...props }, ref) {\n return <StyledFooter ref={ref} padding={padding} {...props} />\n})\n\nMenu_.displayName = 'Menu'\n\nFooter.displayName = 'Menu.Footer'\n\nGroup.displayName = 'Menu.Group'\n\nHeader.displayName = 'Menu.Header'\n\nItem.displayName = 'Menu.Item'\n\nOptions.displayName = 'Menu.Options'\n\nSearch.displayName = 'Menu.Search'\n\n/**\n\n Menus are used in conjunction with components that contain dropdowns.\n For example, multi select, single select, and dropdown.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-menu--demo)\n\n @see [Design Guidelines](https://design.procore.com/menu)\n\n */\nexport const Menu = addSubcomponents(\n {\n Footer,\n Group,\n Header,\n Item,\n Options,\n Search,\n },\n Menu_\n)\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.types.js","names":[],"sources":["../../src/Menu/Menu.types.ts"],"sourcesContent":["import type React from 'react'\nimport type { BoxProps } from '../Box/Box.types'\nimport type { SearchHook } from '../Search/Search.types'\nimport type {\n TypeaheadInputProps,\n TypeaheadProps,\n} from '../Typeahead/Typeahead.types'\nimport type { ListNavigationApi } from '../_hooks/ListNavigation'\nimport type { ChangeEvent } from '../_hooks/TextEntry'\nimport type { Props } from '../_utils/types'\n\nexport type ElementTypeChecker = (\n element: any,\n index?: number,\n list?: any[]\n) => boolean\n\nexport interface MenuSelection {\n /**\n * @since 10.19.0\n */\n event: Event\n /**\n * @since 10.19.0\n */\n group: boolean\n /**\n * @since 10.19.0\n */\n item: any\n}\n\nexport interface MenuNavigationProps extends Props {\n /**\n * @since 10.19.0\n */\n index?: number\n /**\n * @since 10.19.0\n */\n ref?: React.Ref<any>\n}\n\nexport interface MenuItemProps extends MenuNavigationProps {\n /**\n * @since 10.19.0\n */\n children?: React.ReactNode\n /**\n * @since 10.19.0\n */\n className?: string\n /**\n * Value which can be passed around various callback functions.\n * Can be anything!\n * @since 10.19.0\n */\n item?: any\n /**\n * @since 10.19.0\n */\n onClick?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => any\n /**\n * Is the item selected\n * @default false\n * @since 10.19.0\n */\n selected?: boolean\n /**\n * @since 10.19.0\n */\n suggested?: boolean\n}\n\nexport interface MenuGroupProps {\n /**\n * @since 10.19.0\n */\n className?: string\n\n /**\n * Can the group item be clicked\n * @since 10.19.0\n */\n clickable?: boolean\n\n /**\n * Value which can be passed around various callback functions.\n * Can be anything!\n * @since 10.19.0\n */\n item?: any\n}\n\nexport interface MenuOptionsProps {\n /**\n * @since 10.19.0\n */\n children?: React.ReactNode\n /**\n * @since 10.19.0\n */\n className?: string\n /**\n * @since 10.19.0\n */\n padding?: string\n\n /**\n * @default true\n */\n scrollable?: boolean\n}\n\nexport interface MenuSearchProps\n extends Omit<TypeaheadProps, 'onChange'>,\n TypeaheadInputProps,\n Props {\n /**\n * The i18n key to use for the menu search's configurable strings. Defaults to\n * using the core library's default strings.\n * @since 10.19.0\n */\n i18nScope?: string\n /**\n * @since 10.21.0\n */\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void\n}\n\nexport interface MenuHeaderProps extends Props {\n /**\n * @since 10.19.0\n */\n tabIndex?: number\n}\n\nexport interface MenuFooterProps extends Omit<BoxProps, 'as'> {}\n\nexport interface MenuHookConfig {\n /**\n * @since 10.19.0\n */\n isSelectable?: MenuHook['isSelectable']\n /**\n * @since 10.19.0\n */\n keyHandlerRef?: React.RefObject<HTMLElement>\n /**\n * @since 10.19.0\n */\n multiple?: boolean\n /**\n * @since 10.19.0\n */\n onScrollBottom?: MenuHook['onScrollBottom']\n /**\n * @since 10.19.0\n */\n onSearch?: (event: ChangeEvent) => void\n /**\n * @since 10.19.0\n */\n onSelect?: MenuHook['selectItem']\n /**\n * @since 10.19.0\n */\n scrollable?: MenuHook['scrollable']\n /**\n * @since 10.19.0\n */\n usingSearchHook?: SearchHook\n}\n\nexport interface MenuHook {\n /**\n * @since 10.19.0\n */\n domHandlers: {\n onKeyDown: (e: React.KeyboardEvent<HTMLElement>) => void\n }\n /**\n * @since 10.19.0\n */\n highlighted: React.MutableRefObject<HTMLDivElement | null>\n /**\n * @since 10.19.0\n */\n isSelectable: ElementTypeChecker\n /**\n * @since 10.19.0\n */\n listNavigation: ListNavigationApi\n /**\n * @since 10.19.0\n */\n multiple: boolean\n /**\n * @since 10.19.0\n */\n onScrollBottom?: (e: Event) => void\n /**\n * @since 11\n */\n onSearch?: (event: ChangeEvent) => void\n /**\n * @default true\n */\n scrollable: boolean\n /**\n * @since 10.19.0\n */\n selectItem: (selection: MenuSelection) => void\n}\n\n// TODO unify with MenuHookConfig\nexport interface MenuProps extends Props, Omit<MenuOptionsProps, 'padding'> {\n /**\n * @deprecated\n *\n * The `isSelectable` prop has been deprecated and will be removed in a future version.\n * Menu item selection is now handled internally and there is no need to configure this\n * anymore.\n *\n * @deprecatedSince 10.20.0\n * @since 10.19.0\n */\n isSelectable?: ElementTypeChecker\n\n /**\n * Ref object which will get the key handler listeners\n * @since 10.19.0\n */\n keyHandlerRef?: React.RefObject<HTMLElement>\n /**\n * @since 10.19.0\n */\n onScrollBottom?: (e: Event) => void\n\n /**\n * Callback for selecting an item from the menu. `item` will be the `item` prop supplied to the\n * `Item` component. `group` will be `true` if the clicked item was a group label.\n * @since 10.19.0\n */\n onSelect?: (selection: MenuSelection) => any\n /**\n * @since 11\n */\n onSearch?: (event: ChangeEvent) => void\n /**\n * @deprecatedSince 9\n * @deprecated Never offically documented/supported. Please migrate to the other props like `onSelect` and `onSearch` on the `Menu` component. In v11, the **internal only** `useMenu` removed its search state. You should not be using `useMenu` nor this `usingHook` prop.\n * @since 10.19.0\n */\n usingHook?: MenuHook\n\n /**\n * Unsafe, do not use\n * @deprecatedSince 9\n * @deprecated Never offically documented/supported\n * @since 10.19.0\n */\n UNSAFE_closesOnSelect?: boolean\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"Menu.types.js","names":[],"sources":["../../src/Menu/Menu.types.ts"],"sourcesContent":["import type React from 'react'\nimport type { BoxProps } from '../Box/Box.types'\nimport type { SearchHook } from '../Search/Search.types'\nimport type {\n TypeaheadInputProps,\n TypeaheadProps,\n} from '../Typeahead/Typeahead.types'\nimport type { ListNavigationApi } from '../_hooks/ListNavigation'\nimport type { ChangeEvent } from '../_hooks/TextEntry'\nimport type { Props } from '../_utils/types'\n\nexport type ElementTypeChecker = (\n element: any,\n index?: number,\n list?: any[]\n) => boolean\n\nexport interface MenuSelection {\n /**\n * @since 10.19.0\n */\n event: Event\n /**\n * @since 10.19.0\n */\n group: boolean\n /**\n * @since 10.19.0\n */\n item: any\n}\n\nexport interface MenuNavigationProps extends Props {\n /**\n * @since 10.19.0\n */\n index?: number\n /**\n * @since 10.19.0\n */\n ref?: React.Ref<any>\n}\n\nexport interface MenuItemProps extends MenuNavigationProps {\n /**\n * @since 10.19.0\n */\n children?: React.ReactNode\n /**\n * @since 10.19.0\n */\n className?: string\n /**\n * Value which can be passed around various callback functions.\n * Can be anything!\n * @since 10.19.0\n */\n item?: any\n /**\n * @since 10.19.0\n */\n onClick?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => any\n /**\n * Is the item selected\n * @default false\n * @since 10.19.0\n */\n selected?: boolean\n /**\n * @since 10.19.0\n */\n suggested?: boolean\n}\n\nexport interface MenuGroupProps {\n /**\n * @since 10.19.0\n */\n className?: string\n\n /**\n * Can the group item be clicked\n * @since 10.19.0\n */\n clickable?: boolean\n\n /**\n * Value which can be passed around various callback functions.\n * Can be anything!\n * @since 10.19.0\n */\n item?: any\n}\n\nexport interface MenuOptionsProps {\n /**\n * @since 10.19.0\n */\n children?: React.ReactNode\n /**\n * @since 10.19.0\n */\n className?: string\n /**\n * @since 10.19.0\n */\n padding?: string\n\n /**\n * @default true\n */\n scrollable?: boolean\n}\n\nexport interface MenuSearchProps\n extends Omit<TypeaheadProps, 'onChange'>,\n TypeaheadInputProps,\n Props {\n /**\n * The i18n key to use for the menu search's configurable strings. Defaults to\n * using the core library's default strings.\n * @since 10.19.0\n */\n i18nScope?: string\n /**\n * @since 10.21.0\n */\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void\n}\n\nexport interface MenuHeaderProps extends Props {\n /**\n * @since 10.19.0\n */\n tabIndex?: number\n}\n\nexport interface MenuFooterProps extends Omit<BoxProps, 'as'> {}\n\nexport interface MenuHookConfig {\n /**\n * @since 10.19.0\n */\n isSelectable?: MenuHook['isSelectable']\n /**\n * @since 10.19.0\n */\n keyHandlerRef?: React.RefObject<HTMLElement>\n /**\n * @since 10.19.0\n */\n multiple?: boolean\n /**\n * @since 10.19.0\n */\n onScrollBottom?: MenuHook['onScrollBottom']\n /**\n * @since 10.19.0\n */\n onSearch?: (event: ChangeEvent) => void\n /**\n * @since 10.19.0\n */\n onSelect?: MenuHook['selectItem']\n /**\n * @since 10.19.0\n */\n scrollable?: MenuHook['scrollable']\n /**\n * @since 10.19.0\n */\n usingSearchHook?: SearchHook\n}\n\nexport interface MenuHook {\n /**\n * @since 10.19.0\n */\n domHandlers: {\n onKeyDown: (e: React.KeyboardEvent<HTMLElement>) => void\n }\n /**\n * @since 10.19.0\n */\n highlighted: React.MutableRefObject<HTMLDivElement | null>\n /**\n * @since 10.19.0\n */\n isSelectable: ElementTypeChecker\n keyboardNavigated: React.MutableRefObject<boolean>\n /**\n * @since 10.19.0\n */\n listNavigation: ListNavigationApi\n /**\n * @since 10.19.0\n */\n multiple: boolean\n /**\n * @since 10.19.0\n */\n onScrollBottom?: (e: Event) => void\n /**\n * @since 11\n */\n onSearch?: (event: ChangeEvent) => void\n /**\n * @default true\n */\n scrollable: boolean\n /**\n * @since 10.19.0\n */\n selectItem: (selection: MenuSelection) => void\n}\n\n// TODO unify with MenuHookConfig\nexport interface MenuProps extends Props, Omit<MenuOptionsProps, 'padding'> {\n /**\n * @deprecated\n *\n * The `isSelectable` prop has been deprecated and will be removed in a future version.\n * Menu item selection is now handled internally and there is no need to configure this\n * anymore.\n *\n * @deprecatedSince 10.20.0\n * @since 10.19.0\n */\n isSelectable?: ElementTypeChecker\n\n /**\n * Ref object which will get the key handler listeners\n * @since 10.19.0\n */\n keyHandlerRef?: React.RefObject<HTMLElement>\n /**\n * @since 10.19.0\n */\n onScrollBottom?: (e: Event) => void\n\n /**\n * Callback for selecting an item from the menu. `item` will be the `item` prop supplied to the\n * `Item` component. `group` will be `true` if the clicked item was a group label.\n * @since 10.19.0\n */\n onSelect?: (selection: MenuSelection) => any\n /**\n * @since 11\n */\n onSearch?: (event: ChangeEvent) => void\n /**\n * @deprecatedSince 9\n * @deprecated Never offically documented/supported. Please migrate to the other props like `onSelect` and `onSearch` on the `Menu` component. In v11, the **internal only** `useMenu` removed its search state. You should not be using `useMenu` nor this `usingHook` prop.\n * @since 10.19.0\n */\n usingHook?: MenuHook\n\n /**\n * Unsafe, do not use\n * @deprecatedSince 9\n * @deprecated Never offically documented/supported\n * @since 10.19.0\n */\n UNSAFE_closesOnSelect?: boolean\n}\n"],"mappings":""}
|
|
@@ -13,6 +13,7 @@ export declare const StyledItem: import("styled-components/dist/types").IStyledC
|
|
|
13
13
|
$disabled?: boolean | undefined;
|
|
14
14
|
$selected?: boolean | undefined;
|
|
15
15
|
$highlighted?: boolean | undefined;
|
|
16
|
+
$focusVisible?: boolean | undefined;
|
|
16
17
|
$isDraggable?: boolean | undefined;
|
|
17
18
|
$isDragging?: boolean | undefined;
|
|
18
19
|
}>> & string;
|