@procore/core-react 12.17.8 → 12.18.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/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
- package/dist/Avatar/Avatar.styles.js +5 -5
- package/dist/AvatarStack/AvatarStack.styles.js +7 -7
- package/dist/Badge/Badge.styles.js +2 -2
- package/dist/Banner/Banner.styles.js +10 -10
- package/dist/Box/Box.styles.js +1 -1
- package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
- package/dist/Button/Button.styles.js +5 -5
- package/dist/Calendar/Calendar.styles.js +8 -8
- package/dist/Card/Card.styles.js +1 -1
- package/dist/Checkbox/Checkbox.styles.js +6 -6
- package/dist/Checkbox/CheckboxTooltip.js +1 -1
- 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.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 +4 -4
- 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 +4 -4
- package/dist/FilterToken/FilterToken.styles.js +5 -5
- package/dist/FlexList/FlexList.styles.js +1 -1
- package/dist/Form/Form.styles.js +14 -14
- 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/MenuImperative/MenuImperative.js +3 -6
- package/dist/MenuImperative/MenuImperative.js.map +1 -1
- package/dist/MenuImperative/MenuImperative.styles.js +10 -10
- package/dist/MenuImperative/sensors.d.ts +0 -1
- package/dist/MenuImperative/sensors.js +1 -1
- package/dist/MenuImperative/sensors.js.map +1 -1
- package/dist/Modal/Modal.styles.js +13 -13
- package/dist/MultiSelect/MultiSelect.styles.js +6 -6
- package/dist/NextMenu/NextMenu.styles.js +3 -3
- 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/a11yPresets.d.ts +5 -0
- package/dist/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
- package/dist/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
- package/dist/PageLayout/PageLayout.styles.js +16 -16
- package/dist/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
- package/dist/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 +2 -2
- 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 +7 -7
- package/dist/Semantic/Semantic.styles.js +9 -9
- package/dist/Slider/Slider.styles.js +5 -5
- package/dist/Spinner/Spinner.js +52 -28
- package/dist/Spinner/Spinner.js.map +1 -1
- package/dist/Spinner/Spinner.styles.d.ts +1 -0
- package/dist/Spinner/Spinner.styles.js +17 -13
- package/dist/Spinner/Spinner.styles.js.map +1 -1
- package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
- package/dist/SuperSelect/SuperSelect.components.js +1 -1
- package/dist/SuperSelect/SuperSelect.components.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.js +1 -1
- package/dist/SuperSelect/SuperSelect.js.map +1 -1
- package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
- package/dist/SuperSelect/SuperSelect.styles.js +37 -37
- package/dist/Switch/Switch.styles.js +4 -4
- package/dist/Table/Table.styles.js +28 -28
- package/dist/TableShelf/TableShelf.styles.js +5 -5
- package/dist/Tabs/Tabs.styles.js +15 -15
- 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/TextInput/TextInput.d.ts +11 -0
- package/dist/TextInput/TextInput.js +15 -0
- package/dist/TextInput/TextInput.js.map +1 -0
- package/dist/TextInput/index.d.ts +2 -0
- package/dist/TextInput/index.js +2 -0
- package/dist/TextInput/index.js.map +1 -0
- package/dist/Thumbnail/Thumbnail.hooks.d.ts +20 -0
- package/dist/Thumbnail/Thumbnail.styles.js +17 -17
- 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 +3 -3
- package/dist/ToolHeader/ToolHeader.styles.js +6 -6
- package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
- package/dist/Tooltip/Tooltip.styles.js +2 -2
- package/dist/Tree/Tree.styles.js +9 -9
- package/dist/Typeahead/Typeahead.styles.js +3 -3
- package/dist/Typography/Typography.styles.js +1 -1
- package/dist/Typography/Typography.table.story.js +2 -2
- package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
- package/dist/_typedoc/AvatarStack/AvatarStack.types.json +24 -24
- package/dist/_typedoc/Badge/Badge.types.json +6 -6
- package/dist/_typedoc/Banner/Banner.types.json +13 -13
- package/dist/_typedoc/Box/Box.types.json +68 -68
- package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
- package/dist/_typedoc/Button/Button.types.json +12 -12
- 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 +9 -9
- 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 +13 -13
- package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
- package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
- package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +29 -29
- package/dist/_typedoc/Dropzone/Dropzone.types.json +41 -41
- package/dist/_typedoc/EmptyState/EmptyState.types.json +16 -16
- package/dist/_typedoc/FileList/FileList.types.json +9 -9
- package/dist/_typedoc/FileSelect/FileSelect.types.json +26 -26
- 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 +741 -741
- 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 +52 -52
- package/dist/_typedoc/Input/Input.types.json +2 -2
- package/dist/_typedoc/Link/Link.types.json +4 -4
- 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 +74 -74
- package/dist/_typedoc/Modal/Modal.types.json +46 -46
- package/dist/_typedoc/MultiSelect/MultiSelect.types.json +31 -31
- package/dist/_typedoc/Notation/Notation.types.json +4 -4
- package/dist/_typedoc/NumberInput/NumberInput.types.json +37 -37
- package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +31 -31
- package/dist/_typedoc/PageLayout/PageLayout.types.json +29 -29
- 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 +6 -6
- 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 +19 -19
- 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 +60 -60
- 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 +12 -12
- package/dist/_typedoc/Switch/Switch.types.json +3 -3
- package/dist/_typedoc/Table/Table.types.json +101 -101
- 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 +9 -9
- 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 +42 -42
- package/dist/_typedoc/TieredSelect/TieredSelect.types.json +28 -28
- package/dist/_typedoc/Tile/Tile.types.json +30 -30
- 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 +4 -4
- package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
- package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +7 -7
- package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
- package/dist/_typedoc/Tree/Tree.types.json +86 -86
- 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/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +4 -5
|
@@ -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_18_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_18_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_18_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_18_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_18_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_18_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_18_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_18_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_18_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_18_0__sc-wgvjj9-1"
|
|
15
15
|
})(["height:100%;", ""], function (_ref) {
|
|
16
16
|
var $animated = _ref.$animated;
|
|
17
17
|
return $animated ? css(["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);
|
|
@@ -21,11 +21,11 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
|
|
|
21
21
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
22
22
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
23
23
|
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
24
|
+
import { DragDropContext, Draggable, Droppable as DndDroppable } from '@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-migration';
|
|
24
25
|
import { Grip } from '@procore/core-icons/dist';
|
|
25
26
|
import { useLabel } from '@react-aria/label';
|
|
26
27
|
import { useId } from '@react-aria/utils';
|
|
27
28
|
import React, { isValidElement, useEffect, useMemo, useState } from 'react';
|
|
28
|
-
import { DragDropContext, Draggable, Droppable as DndDroppable, useMouseSensor, useTouchSensor } from 'react-beautiful-dnd';
|
|
29
29
|
import { Checkbox, FakeCheckbox } from '../Checkbox/Checkbox';
|
|
30
30
|
import { Typeahead } from '../Typeahead/Typeahead';
|
|
31
31
|
import { useI18nContext } from '../_hooks/I18n';
|
|
@@ -171,8 +171,7 @@ var MenuImperative_ = /*#__PURE__*/React.forwardRef(function Menu(_ref, forwardR
|
|
|
171
171
|
prev = _useMemo.prev,
|
|
172
172
|
next = _useMemo.next,
|
|
173
173
|
select = _useMemo.select,
|
|
174
|
-
updateSelectCallback = _useMemo.updateSelectCallback
|
|
175
|
-
useKeyboardSensor = _useMemo.useKeyboardSensor;
|
|
174
|
+
updateSelectCallback = _useMemo.updateSelectCallback;
|
|
176
175
|
var commonA11yOptionProps = _defineProperty({
|
|
177
176
|
role: role,
|
|
178
177
|
id: id
|
|
@@ -247,9 +246,7 @@ var MenuImperative_ = /*#__PURE__*/React.forwardRef(function Menu(_ref, forwardR
|
|
|
247
246
|
}, /*#__PURE__*/React.createElement(DragDropContext, {
|
|
248
247
|
onDragStart: onDragStart,
|
|
249
248
|
onDragUpdate: onDragUpdate,
|
|
250
|
-
onDragEnd: onDragEnd
|
|
251
|
-
enableDefaultSensors: false,
|
|
252
|
-
sensors: [useMouseSensor, useTouchSensor, useKeyboardSensor]
|
|
249
|
+
onDragEnd: onDragEnd
|
|
253
250
|
}, /*#__PURE__*/React.createElement(StyledMenu, props))));
|
|
254
251
|
});
|
|
255
252
|
export var Group = /*#__PURE__*/React.forwardRef(function Group(_ref2, ref) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuImperative.js","names":["Grip","useLabel","useId","React","isValidElement","useEffect","useMemo","useState","DragDropContext","Draggable","Droppable","DndDroppable","useMouseSensor","useTouchSensor","Checkbox","FakeCheckbox","Typeahead","useI18nContext","useZIndexContext","colors","addSubcomponents","mergeRefs","StyledDroppable","StyledFooter","StyledGrip","StyledGroup","StyledHeader","StyledItem","StyledMenu","StyledOptions","StyledSearch","StyledWrapper","createSensors","onScrollBottomThreshold","NO_ANNOUCEMENT","noop","isScrolledToBottom","e","currentTarget","HTMLElement","scrollTop","scrollHeight","clientHeight","useMergeRef","externalRef","ref","useRef","useCallback","node","current","MenuContext","createContext","a11yOptionsProps","currentlyDroppableIn","onHoverItem","onScrollBottom","onSelect","role","useMenuContext","context","useContext","Error","useMenuImperativeControlNavigation","enable","arguments","length","undefined","options","_id","menuId","id","_React$useState","_React$useState2","_slicedToArray","activeDescendant","setActiveDescendant","_useState","_useState2","onKeyDown","setOnKeyDown","_ref$current","defaultKeyDownNavigationHandler","menuNavigationTriggerProps","menuProps","onChangeActiveDescendant","changeAriaActiveDescendantOnOptions","menuRef","querySelector","setAttribute","MenuImperative_","forwardRef","Menu","_ref","_ref$circular","circular","_ref$onDragEnd","onDragEnd","onDragEnd_","_ref$onScrollBottom","onScrollBottom_","_ref$onSelect","onSelect_","_ref$role","onKeyboardNavigation_","onKeyboardNavigation","multiple","props","_objectWithoutProperties","_excluded","_useState3","_useState4","setCurrentlyDroppableIn","selection","onChangeHighlight","_useMemo","handleItemHover","handleKeyDown","highlight","highlighted","highlightFirst","highlightLast","highlightSelected","highlightSuggested","rehighlightCurrent","prev","next","select","updateSelectCallback","useKeyboardSensor","commonA11yOptionProps","_defineProperty","_objectSpread","tabIndex","useImperativeHandle","el","onDragStart","start","provided","announce","itemInfo","JSON","parse","draggableId","droppableIn","onDragUpdate","_update","result","reason","destination","source","createElement","Provider","value","enableDefaultSensors","sensors","Group","_ref2","clickable","_ref2$item","item","children","_excluded2","_useLabel","label","labelElementType","fieldProps","labelProps","_extends","onClick","stringify","findDraggableRecursively","nodeChildren","Children","toArray","i","child","matchingChild","_ref3","ctx","cloneZIndex","renderItemClone","_snapshot","rubric","_draggingChild$props","draggableInfo","draggingChild","cloneProps","ClonedItem","hasCheckbox","type","CheckboxItem","droppableId","isDropDisabled","includes","renderClone","snapshot","innerRef","placeholder","_ref4","_ref4$hasCheckbox","_ref4$children","_ref4$selected","selected","_excluded3","itemProps","$selected","itemChildren","indeterminate","error","checked","onChange","draggableProps","dragHandleProps","$isDraggable","$isDragging","style","zIndex","color","gray45","Item","_ref5","as","_ref5$children","_ref5$item","_ref5$onClick","onClick_","_ref5$selected","_ref5$suggested","suggested","_ref5$disabled","disabled","restoreFocus","draggableIndex","_excluded4","_useMergeRef","_useMergeRef2","setRef","event","group","action","contextRole","ariaSelected","onMouseMove","$disabled","droppableInfo","Array","isArray","index","isDragDisabled","_ref6","_ref6$selected","_ref6$disabled","_ref6$error","_ref6$indeterminate","_ref6$children","_excluded5","ariaChecked","Options","i18n","t","onScroll","Search","_ref7","className","_ref7$i18nScope","i18nScope","_onChange","_excluded6","I18n","_React$useState3","_React$useState4","setValue","autoFocus","scope","Header","_ref8","_objectDestructuringEmpty","Footer","_ref9","_ref9$padding","padding","_excluded7","displayName","MenuImperative"],"sources":["../../src/MenuImperative/MenuImperative.tsx"],"sourcesContent":["import { Grip } from '@procore/core-icons/dist'\nimport { useLabel } from '@react-aria/label'\nimport { useId } from '@react-aria/utils'\nimport React, { isValidElement, useEffect, useMemo, useState } from 'react'\nimport type {\n DraggableProvided,\n DraggableRubric,\n DraggableStateSnapshot,\n DragStart,\n DragUpdate,\n DroppableProvided,\n DroppableStateSnapshot,\n DropResult,\n ResponderProvided,\n} from 'react-beautiful-dnd'\nimport {\n DragDropContext,\n Draggable,\n Droppable as DndDroppable,\n useMouseSensor,\n useTouchSensor,\n} from 'react-beautiful-dnd'\nimport { Checkbox, FakeCheckbox } from '../Checkbox/Checkbox'\nimport type { CheckboxProps } from '../Checkbox/Checkbox.types'\nimport { Typeahead } from '../Typeahead/Typeahead'\nimport type { TypeaheadProps } from '../Typeahead/Typeahead.types'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useZIndexContext } from '../_hooks/ZIndex'\nimport { colors } from '../_styles/colors'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { PolymorphicAs } from '../_utils/polymorphic'\nimport type { DivAttributes } from '../_utils/types'\nimport {\n StyledDroppable,\n StyledFooter,\n StyledGrip,\n StyledGroup,\n StyledHeader,\n StyledItem,\n StyledMenu,\n StyledOptions,\n StyledSearch,\n StyledWrapper,\n} from './MenuImperative.styles'\nimport type {\n DroppableProps,\n FooterProps,\n GroupProps,\n HeaderProps,\n ItemProps,\n ItemWithDraggingProps,\n MenuContext as IMenuContext,\n MenuItemDefaultElement,\n MenuItemProps,\n MenuProps,\n MenuRef,\n MenuSearchProps,\n OptionsProps,\n Ref,\n Selection,\n} from './MenuImperative.types'\nimport { createSensors } from './sensors'\n\nconst onScrollBottomThreshold = 8\nconst NO_ANNOUCEMENT = ''\n\nfunction noop() {}\n\nfunction isScrolledToBottom(e: React.UIEvent<HTMLDivElement, UIEvent>) {\n return (\n e.currentTarget instanceof HTMLElement &&\n e.currentTarget.scrollTop >=\n e.currentTarget.scrollHeight -\n e.currentTarget.clientHeight -\n onScrollBottomThreshold\n )\n}\n\n// TODO use the shared mergeRefs utility\nexport function useMergeRef<T = HTMLElement>(externalRef: Ref<T>) {\n const ref = React.useRef<T>()\n\n return [\n ref,\n React.useCallback(\n (node) => {\n ref.current = node\n\n if (externalRef) {\n if (typeof externalRef === 'function') {\n externalRef(node)\n } else {\n externalRef.current = node\n }\n }\n },\n [externalRef]\n ),\n ] as const\n}\n\nconst MenuContext = React.createContext<IMenuContext>({\n a11yOptionsProps: {},\n currentlyDroppableIn: [],\n onHoverItem: noop,\n onScrollBottom: noop,\n onSelect: noop,\n role: 'none',\n})\n\nexport function useMenuContext(): IMenuContext {\n const context = React.useContext(MenuContext)\n\n if (context === null) {\n throw new Error(\n 'Cannot find `Menu` context, please wrap your component in `<MenuContext.Provider>`'\n )\n }\n\n return context\n}\n\ninterface ControlNavigationProps {\n menuId?: MenuProps['id']\n}\n\ninterface ControlNavigationReturn {\n menuNavigationTriggerProps: {\n 'aria-activedescendant'?: string\n 'aria-controls'?: string\n onKeyDown?: React.KeyboardEventHandler<Element>\n }\n menuProps: {\n onChangeActiveDescendant?: React.Dispatch<\n React.SetStateAction<string | undefined>\n >\n id: string\n }\n}\n/**\n * Usefully if navigation is controlled by search input or another input.\n *\n * @param ref MenuImperative ref\n * @param enable True by default. Setting to false will change all props\n * to undefined (except id in menuProps), so navigation controlled by menu itself is restored.\n * @param options.menuId provide id otherwise it will be generated\n * @since 11.5.0\n */\nexport const useMenuImperativeControlNavigation = (\n ref: React.RefObject<MenuRef>,\n enable = true,\n options: ControlNavigationProps = {}\n): ControlNavigationReturn => {\n const { menuId: _id } = options\n const id = useId(_id)\n const [activeDescendant, setActiveDescendant] = React.useState<\n string | undefined\n >()\n const [onKeyDown, setOnKeyDown] = useState<React.KeyboardEventHandler>()\n // ref is null on first render\n React.useEffect(() => {\n setOnKeyDown(() => ref.current?.defaultKeyDownNavigationHandler)\n }, [])\n\n if (enable) {\n const menuNavigationTriggerProps = {\n 'aria-activedescendant': activeDescendant,\n 'aria-controls': id,\n onKeyDown,\n }\n\n const menuProps = {\n onChangeActiveDescendant: setActiveDescendant,\n id,\n }\n\n return {\n menuNavigationTriggerProps,\n menuProps,\n }\n } else {\n return {\n menuNavigationTriggerProps: {},\n menuProps: { id },\n }\n }\n}\n\nfunction changeAriaActiveDescendantOnOptions(id = '', menuRef: Element | null) {\n const options = menuRef?.querySelector<HTMLElement>(\n '[data-internal=\"menuimperative-options\"]'\n )\n\n options?.setAttribute('aria-activedescendant', id)\n}\n\nconst MenuImperative_ = React.forwardRef<MenuRef, MenuProps>(function Menu(\n {\n circular = false,\n onDragEnd: onDragEnd_ = noop,\n onScrollBottom: onScrollBottom_ = noop,\n onSelect: onSelect_ = noop,\n role = 'none',\n onChangeActiveDescendant,\n onKeyboardNavigation: onKeyboardNavigation_,\n id,\n multiple,\n ...props\n },\n forwardRef\n) {\n const ref = React.useRef<HTMLDivElement>(null)\n const [currentlyDroppableIn, setCurrentlyDroppableIn] = useState<string[]>([])\n\n // for context, used by Menu.Item\n const onSelect = React.useCallback(\n function (selection: Selection) {\n onSelect_(selection)\n },\n [onSelect_]\n )\n\n const onChangeHighlight = onChangeActiveDescendant\n ? onChangeActiveDescendant\n : changeAriaActiveDescendantOnOptions\n\n const {\n handleItemHover,\n handleKeyDown: defaultKeyDownNavigationHandler,\n highlight,\n highlighted,\n highlightFirst,\n highlightLast,\n highlightSelected,\n highlightSuggested,\n rehighlightCurrent,\n prev,\n next,\n select,\n updateSelectCallback,\n useKeyboardSensor,\n } = useMemo(\n () => createSensors(ref, circular, onChangeHighlight),\n [circular, onChangeHighlight]\n )\n\n const commonA11yOptionProps = {\n role,\n id,\n ['aria-multiselectable']: multiple,\n }\n\n const a11yOptionsProps = !onChangeActiveDescendant\n ? {\n ...commonA11yOptionProps,\n onKeyDown: onKeyboardNavigation_ ?? defaultKeyDownNavigationHandler,\n tabIndex: 0,\n }\n : {\n ...commonA11yOptionProps,\n onKeyDown: undefined,\n tabIndex: undefined,\n }\n\n updateSelectCallback(onSelect)\n\n // exposes internal menu API\n React.useImperativeHandle(forwardRef, () => ({\n el: ref.current,\n highlight,\n highlighted,\n highlightFirst,\n highlightLast,\n highlightSelected,\n highlightSuggested,\n next,\n prev,\n select,\n defaultKeyDownNavigationHandler,\n }))\n\n useEffect(rehighlightCurrent)\n\n function onDragStart(start: DragStart, provided: ResponderProvided) {\n // TODO Replace with localized instructions\n provided.announce(NO_ANNOUCEMENT)\n const itemInfo = JSON.parse(start.draggableId)\n setCurrentlyDroppableIn(itemInfo.droppableIn)\n }\n\n function onDragUpdate(_update: DragUpdate, provided: ResponderProvided) {\n // TODO Replace with localized instructions\n provided.announce(NO_ANNOUCEMENT)\n }\n\n const onDragEnd = React.useCallback(\n function (result: DropResult, provided: ResponderProvided) {\n // TODO Replace with localized instructions\n provided.announce(NO_ANNOUCEMENT)\n setCurrentlyDroppableIn([])\n if (result.reason === 'DROP' && result.destination) {\n const itemInfo = JSON.parse(result.draggableId)\n onDragEnd_({\n draggableId: itemInfo.draggableId,\n source: result.source,\n destination: result.destination,\n })\n }\n },\n [onDragEnd_]\n )\n\n // for context, used by Menu.Options\n const onScrollBottom = React.useCallback(\n function (e: React.UIEvent<HTMLDivElement, UIEvent>) {\n if (isScrolledToBottom(e)) {\n onScrollBottom_(e)\n }\n },\n [onScrollBottom_]\n )\n\n return (\n <MenuContext.Provider\n value={{\n a11yOptionsProps,\n currentlyDroppableIn,\n onHoverItem: handleItemHover,\n onScrollBottom,\n onSelect,\n role,\n }}\n >\n <StyledWrapper ref={ref}>\n <DragDropContext\n onDragStart={onDragStart}\n onDragUpdate={onDragUpdate}\n onDragEnd={onDragEnd}\n enableDefaultSensors={false}\n sensors={[useMouseSensor, useTouchSensor, useKeyboardSensor]}\n >\n <StyledMenu {...props} />\n </DragDropContext>\n </StyledWrapper>\n </MenuContext.Provider>\n )\n})\n\nexport const Group = React.forwardRef<\n HTMLDivElement,\n DivAttributes & GroupProps\n>(function Group({ clickable, item = 'group', id, children, ...props }, ref) {\n const { fieldProps, labelProps } = useLabel({\n id,\n label: children,\n labelElementType: 'span',\n })\n\n return (\n <StyledGroup\n ref={ref}\n onClick={(e) => {\n // TODO: implement selecting groups?\n }}\n data-group={true}\n data-value={JSON.stringify(item)}\n role=\"separator\"\n {...fieldProps}\n {...props}\n >\n <span {...labelProps}>{children}</span>\n </StyledGroup>\n )\n})\n\nfunction findDraggableRecursively(\n children: React.ReactNode,\n draggableId: any\n): React.ReactElement | null {\n const nodeChildren = React.Children.toArray(children)\n for (let i = 0; i < nodeChildren.length; i++) {\n const child = nodeChildren[i]\n if (isValidElement(child)) {\n if ('draggableId' in child.props) {\n if (child.props.draggableId === draggableId) {\n return child\n }\n } else {\n const matchingChild = findDraggableRecursively(\n child.props.children,\n draggableId\n )\n if (matchingChild) {\n return matchingChild\n }\n }\n }\n }\n return null\n}\n\nexport function Droppable({ id, children }: DroppableProps) {\n const ctx = useMenuContext()\n const cloneZIndex = useZIndexContext().value\n\n function renderItemClone(\n provided: DraggableProvided,\n _snapshot: DraggableStateSnapshot,\n rubric: DraggableRubric\n ) {\n const draggableInfo = JSON.parse(rubric.draggableId)\n const draggingChild = findDraggableRecursively(\n children,\n draggableInfo.draggableId\n )\n const cloneProps = draggingChild?.props ?? {}\n\n return (\n <ClonedItem\n hasCheckbox={draggingChild?.type === CheckboxItem}\n provided={provided}\n cloneZIndex={cloneZIndex}\n {...cloneProps}\n />\n )\n }\n\n return (\n <DndDroppable\n droppableId={id}\n isDropDisabled={!ctx.currentlyDroppableIn.includes(id)}\n renderClone={renderItemClone}\n >\n {(provided: DroppableProvided, snapshot: DroppableStateSnapshot) => (\n <StyledDroppable ref={provided.innerRef} data-droppable>\n {children}\n {provided.placeholder}\n </StyledDroppable>\n )}\n </DndDroppable>\n )\n}\n\n// creates a version of a draggable item that can be positioned correctly within modals\n// this should always have the same appearance of an Item or CheckboxItem, but doesn't\n// need to handle selection events, which can't be done while the item is being dragged\nconst ClonedItem = ({\n hasCheckbox = false,\n children = null,\n selected = false,\n provided,\n ...props\n}: DivAttributes &\n ItemProps &\n Omit<CheckboxProps, 'checked'> & {\n provided: DraggableProvided\n hasCheckbox: boolean\n cloneZIndex: number\n }) => {\n const itemProps = {\n ...props,\n $selected: selected,\n }\n\n const itemChildren = hasCheckbox ? (\n <Checkbox\n indeterminate={props.indeterminate}\n error={props.error}\n checked={selected}\n onChange={noop}\n >\n {children}\n </Checkbox>\n ) : (\n children\n )\n\n return (\n <StyledItem\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n {...itemProps}\n $isDraggable\n $isDragging\n style={{\n ...provided.draggableProps.style,\n ...props.style,\n zIndex: props.cloneZIndex,\n }}\n >\n <StyledGrip>\n <Grip color={colors.gray45} />\n </StyledGrip>\n {itemChildren}\n </StyledItem>\n )\n}\n\nexport const Item = React.forwardRef(function Item<\n E extends React.ElementType = MenuItemDefaultElement\n>(\n {\n as,\n /* @ts-ignore */\n children = null,\n item = null,\n /* @ts-ignore */\n onClick: onClick_ = noop,\n selected = false,\n suggested = false,\n disabled = false,\n id: _id,\n role,\n restoreFocus,\n draggableId,\n draggableIndex,\n droppableIn,\n ...props\n }: PolymorphicAs.ComponentPropsWithoutRef<MenuItemProps, E>,\n /**\n * TODO: although it is typed just fine from the outside (`<Menu.Item ref>` that is),\n * an effort is required to type it properly here too\n */\n forwardRef: React.Ref<any>\n) {\n const [ref, setRef] = useMergeRef<HTMLDivElement>(forwardRef)\n const id = useId(_id)\n\n const ctx = useMenuContext()\n\n const onClick = React.useCallback(\n function (event: React.MouseEvent<HTMLDivElement, MouseEvent>) {\n if (disabled) return\n\n onClick_(event)\n\n ctx.onSelect({\n item,\n event,\n group: false,\n action: selected ? 'unselected' : 'selected',\n ...(restoreFocus === undefined ? {} : { restoreFocus }),\n })\n },\n [ctx, item, onClick_, disabled, selected]\n )\n\n let contextRole\n let ariaSelected\n\n if (ctx.role === 'listbox') {\n contextRole = 'option'\n ariaSelected = selected ? true : undefined\n } else if (ctx.role === 'menu') {\n contextRole = 'menuitem'\n }\n\n const itemProps = {\n 'aria-disabled': disabled ? true : undefined,\n 'aria-selected': ariaSelected,\n ...props,\n id,\n role: role ?? contextRole,\n onClick,\n onMouseMove: (e: any) => ctx.onHoverItem(e.currentTarget),\n 'data-group': false,\n 'data-value': JSON.stringify(item),\n 'data-selected': selected,\n 'data-suggested': suggested,\n 'data-disabled': disabled,\n 'data-restorefocus': restoreFocus,\n $disabled: disabled,\n $selected: selected,\n }\n\n if (\n droppableIn !== undefined &&\n draggableId !== undefined &&\n draggableIndex !== undefined\n ) {\n // encoding id and valid droppables as the draggableId, so we can use them to determine where this item can be dropped\n const droppableInfo = {\n draggableId,\n droppableIn: Array.isArray(droppableIn) ? droppableIn : [droppableIn],\n }\n return (\n <Draggable\n draggableId={JSON.stringify(droppableInfo)}\n index={draggableIndex}\n isDragDisabled={disabled}\n >\n {(provided: DraggableProvided) => (\n <StyledItem\n ref={mergeRefs(provided.innerRef, setRef)}\n as={as}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n {...itemProps}\n $isDraggable={!disabled}\n style={{ ...provided.draggableProps.style, ...itemProps.style }}\n tabIndex={-1}\n >\n {!disabled && (\n <StyledGrip>\n <Grip color={colors.gray45} />\n </StyledGrip>\n )}\n {children}\n </StyledItem>\n )}\n </Draggable>\n )\n }\n\n return (\n <StyledItem ref={setRef} as={as} {...itemProps}>\n {children}\n </StyledItem>\n )\n}) as PolymorphicAs.ComponentWithForwardedRef<\n MenuItemProps,\n MenuItemDefaultElement\n>\n\nexport const CheckboxItem = React.forwardRef<\n HTMLDivElement,\n DivAttributes &\n (ItemProps | ItemWithDraggingProps) &\n Omit<CheckboxProps, 'checked'>\n>(function CheckboxItem(\n {\n selected = false,\n disabled = false,\n error = false,\n indeterminate = false,\n children = null,\n role,\n ...props\n },\n forwardRef\n) {\n const ctx = useMenuContext()\n\n let contextRole\n let ariaChecked: React.AriaAttributes['aria-checked']\n let ariaSelected\n\n if (ctx.role === 'listbox') {\n contextRole = 'option'\n ariaSelected = selected ? true : undefined\n } else if (ctx.role === 'menu') {\n contextRole = 'menuitemcheckbox'\n\n if (indeterminate) {\n ariaChecked = 'mixed'\n } else {\n ariaChecked = selected ? 'true' : 'false'\n }\n }\n\n return (\n <Item\n aria-checked={ariaChecked}\n aria-disabled={disabled ? true : undefined}\n aria-selected={ariaSelected}\n {...props}\n role={role ?? contextRole}\n selected={selected}\n disabled={disabled}\n ref={forwardRef}\n >\n <FakeCheckbox\n indeterminate={indeterminate}\n error={error}\n disabled={disabled}\n checked={selected}\n >\n {children}\n </FakeCheckbox>\n </Item>\n )\n})\nexport const Options = React.forwardRef<HTMLDivElement, OptionsProps>(\n function Options(props, ref) {\n const ctx = useMenuContext()\n const i18n = useI18nContext()\n\n return (\n <StyledOptions\n aria-label={i18n.t('core.menuImperative.options.ariaLabel')}\n {...props}\n {...ctx.a11yOptionsProps}\n data-internal=\"menuimperative-options\"\n ref={ref}\n onScroll={ctx.onScrollBottom}\n />\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\n const [value, setValue] = React.useState('')\n\n const onChange: TypeaheadProps['onChange'] = React.useCallback(\n function (value, event) {\n setValue(value)\n _onChange?.(event)\n },\n [_onChange]\n )\n\n // intentionally changed to type text + searchbox,\n // voiceOver focus goes to clear button when no results in Chrome\n return (\n <StyledSearch className={className}>\n <Typeahead\n {...props}\n type=\"text\"\n role=\"searchbox\"\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 DivAttributes & HeaderProps\n>(function Header({ ...props }, ref) {\n return <StyledHeader ref={ref} {...props} />\n})\n\nexport const Footer = React.forwardRef<\n HTMLDivElement,\n DivAttributes & FooterProps\n>(function Footer({ padding = 'md lg', ...props }, ref) {\n return <StyledFooter ref={ref} padding={padding} {...props} />\n})\n\nMenuImperative_.displayName = 'Menu'\n\nDroppable.displayName = 'Menu.Droppable'\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 @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-menu-imperative--demo)\n\n */\nexport const MenuImperative = addSubcomponents(\n {\n CheckboxItem,\n Droppable,\n Footer,\n Group,\n Header,\n Item,\n Options,\n Search,\n },\n MenuImperative_\n)\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MenuImperative.js","names":["DragDropContext","Draggable","Droppable","DndDroppable","Grip","useLabel","useId","React","isValidElement","useEffect","useMemo","useState","Checkbox","FakeCheckbox","Typeahead","useI18nContext","useZIndexContext","colors","addSubcomponents","mergeRefs","StyledDroppable","StyledFooter","StyledGrip","StyledGroup","StyledHeader","StyledItem","StyledMenu","StyledOptions","StyledSearch","StyledWrapper","createSensors","onScrollBottomThreshold","NO_ANNOUCEMENT","noop","isScrolledToBottom","e","currentTarget","HTMLElement","scrollTop","scrollHeight","clientHeight","useMergeRef","externalRef","ref","useRef","useCallback","node","current","MenuContext","createContext","a11yOptionsProps","currentlyDroppableIn","onHoverItem","onScrollBottom","onSelect","role","useMenuContext","context","useContext","Error","useMenuImperativeControlNavigation","enable","arguments","length","undefined","options","_id","menuId","id","_React$useState","_React$useState2","_slicedToArray","activeDescendant","setActiveDescendant","_useState","_useState2","onKeyDown","setOnKeyDown","_ref$current","defaultKeyDownNavigationHandler","menuNavigationTriggerProps","menuProps","onChangeActiveDescendant","changeAriaActiveDescendantOnOptions","menuRef","querySelector","setAttribute","MenuImperative_","forwardRef","Menu","_ref","_ref$circular","circular","_ref$onDragEnd","onDragEnd","onDragEnd_","_ref$onScrollBottom","onScrollBottom_","_ref$onSelect","onSelect_","_ref$role","onKeyboardNavigation_","onKeyboardNavigation","multiple","props","_objectWithoutProperties","_excluded","_useState3","_useState4","setCurrentlyDroppableIn","selection","onChangeHighlight","_useMemo","handleItemHover","handleKeyDown","highlight","highlighted","highlightFirst","highlightLast","highlightSelected","highlightSuggested","rehighlightCurrent","prev","next","select","updateSelectCallback","commonA11yOptionProps","_defineProperty","_objectSpread","tabIndex","useImperativeHandle","el","onDragStart","start","provided","announce","itemInfo","JSON","parse","draggableId","droppableIn","onDragUpdate","_update","result","reason","destination","source","createElement","Provider","value","Group","_ref2","clickable","_ref2$item","item","children","_excluded2","_useLabel","label","labelElementType","fieldProps","labelProps","_extends","onClick","stringify","findDraggableRecursively","nodeChildren","Children","toArray","i","child","matchingChild","_ref3","ctx","cloneZIndex","renderItemClone","_snapshot","rubric","_draggingChild$props","draggableInfo","draggingChild","cloneProps","ClonedItem","hasCheckbox","type","CheckboxItem","droppableId","isDropDisabled","includes","renderClone","snapshot","innerRef","placeholder","_ref4","_ref4$hasCheckbox","_ref4$children","_ref4$selected","selected","_excluded3","itemProps","$selected","itemChildren","indeterminate","error","checked","onChange","draggableProps","dragHandleProps","$isDraggable","$isDragging","style","zIndex","color","gray45","Item","_ref5","as","_ref5$children","_ref5$item","_ref5$onClick","onClick_","_ref5$selected","_ref5$suggested","suggested","_ref5$disabled","disabled","restoreFocus","draggableIndex","_excluded4","_useMergeRef","_useMergeRef2","setRef","event","group","action","contextRole","ariaSelected","onMouseMove","$disabled","droppableInfo","Array","isArray","index","isDragDisabled","_ref6","_ref6$selected","_ref6$disabled","_ref6$error","_ref6$indeterminate","_ref6$children","_excluded5","ariaChecked","Options","i18n","t","onScroll","Search","_ref7","className","_ref7$i18nScope","i18nScope","_onChange","_excluded6","I18n","_React$useState3","_React$useState4","setValue","autoFocus","scope","Header","_ref8","_objectDestructuringEmpty","Footer","_ref9","_ref9$padding","padding","_excluded7","displayName","MenuImperative"],"sources":["../../src/MenuImperative/MenuImperative.tsx"],"sourcesContent":["import type {\n DraggableProvided,\n DraggableRubric,\n DraggableStateSnapshot,\n DragStart,\n DragUpdate,\n DroppableProvided,\n DroppableStateSnapshot,\n DropResult,\n ResponderProvided,\n} from '@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-migration'\nimport {\n DragDropContext,\n Draggable,\n Droppable as DndDroppable,\n} from '@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-migration'\nimport { Grip } from '@procore/core-icons/dist'\nimport { useLabel } from '@react-aria/label'\nimport { useId } from '@react-aria/utils'\nimport React, { isValidElement, useEffect, useMemo, useState } from 'react'\nimport { Checkbox, FakeCheckbox } from '../Checkbox/Checkbox'\nimport type { CheckboxProps } from '../Checkbox/Checkbox.types'\nimport { Typeahead } from '../Typeahead/Typeahead'\nimport type { TypeaheadProps } from '../Typeahead/Typeahead.types'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useZIndexContext } from '../_hooks/ZIndex'\nimport { colors } from '../_styles/colors'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { PolymorphicAs } from '../_utils/polymorphic'\nimport type { DivAttributes } from '../_utils/types'\nimport {\n StyledDroppable,\n StyledFooter,\n StyledGrip,\n StyledGroup,\n StyledHeader,\n StyledItem,\n StyledMenu,\n StyledOptions,\n StyledSearch,\n StyledWrapper,\n} from './MenuImperative.styles'\nimport type {\n DroppableProps,\n FooterProps,\n GroupProps,\n HeaderProps,\n ItemProps,\n ItemWithDraggingProps,\n MenuContext as IMenuContext,\n MenuItemDefaultElement,\n MenuItemProps,\n MenuProps,\n MenuRef,\n MenuSearchProps,\n OptionsProps,\n Ref,\n Selection,\n} from './MenuImperative.types'\nimport { createSensors } from './sensors'\n\nconst onScrollBottomThreshold = 8\nconst NO_ANNOUCEMENT = ''\n\nfunction noop() {}\n\nfunction isScrolledToBottom(e: React.UIEvent<HTMLDivElement, UIEvent>) {\n return (\n e.currentTarget instanceof HTMLElement &&\n e.currentTarget.scrollTop >=\n e.currentTarget.scrollHeight -\n e.currentTarget.clientHeight -\n onScrollBottomThreshold\n )\n}\n\n// TODO use the shared mergeRefs utility\nexport function useMergeRef<T = HTMLElement>(externalRef: Ref<T>) {\n const ref = React.useRef<T>()\n\n return [\n ref,\n React.useCallback(\n (node) => {\n ref.current = node\n\n if (externalRef) {\n if (typeof externalRef === 'function') {\n externalRef(node)\n } else {\n externalRef.current = node\n }\n }\n },\n [externalRef]\n ),\n ] as const\n}\n\nconst MenuContext = React.createContext<IMenuContext>({\n a11yOptionsProps: {},\n currentlyDroppableIn: [],\n onHoverItem: noop,\n onScrollBottom: noop,\n onSelect: noop,\n role: 'none',\n})\n\nexport function useMenuContext(): IMenuContext {\n const context = React.useContext(MenuContext)\n\n if (context === null) {\n throw new Error(\n 'Cannot find `Menu` context, please wrap your component in `<MenuContext.Provider>`'\n )\n }\n\n return context\n}\n\ninterface ControlNavigationProps {\n menuId?: MenuProps['id']\n}\n\ninterface ControlNavigationReturn {\n menuNavigationTriggerProps: {\n 'aria-activedescendant'?: string\n 'aria-controls'?: string\n onKeyDown?: React.KeyboardEventHandler<Element>\n }\n menuProps: {\n onChangeActiveDescendant?: React.Dispatch<\n React.SetStateAction<string | undefined>\n >\n id: string\n }\n}\n/**\n * Usefully if navigation is controlled by search input or another input.\n *\n * @param ref MenuImperative ref\n * @param enable True by default. Setting to false will change all props\n * to undefined (except id in menuProps), so navigation controlled by menu itself is restored.\n * @param options.menuId provide id otherwise it will be generated\n * @since 11.5.0\n */\nexport const useMenuImperativeControlNavigation = (\n ref: React.RefObject<MenuRef>,\n enable = true,\n options: ControlNavigationProps = {}\n): ControlNavigationReturn => {\n const { menuId: _id } = options\n const id = useId(_id)\n const [activeDescendant, setActiveDescendant] = React.useState<\n string | undefined\n >()\n const [onKeyDown, setOnKeyDown] = useState<React.KeyboardEventHandler>()\n // ref is null on first render\n React.useEffect(() => {\n setOnKeyDown(() => ref.current?.defaultKeyDownNavigationHandler)\n }, [])\n\n if (enable) {\n const menuNavigationTriggerProps = {\n 'aria-activedescendant': activeDescendant,\n 'aria-controls': id,\n onKeyDown,\n }\n\n const menuProps = {\n onChangeActiveDescendant: setActiveDescendant,\n id,\n }\n\n return {\n menuNavigationTriggerProps,\n menuProps,\n }\n } else {\n return {\n menuNavigationTriggerProps: {},\n menuProps: { id },\n }\n }\n}\n\nfunction changeAriaActiveDescendantOnOptions(id = '', menuRef: Element | null) {\n const options = menuRef?.querySelector<HTMLElement>(\n '[data-internal=\"menuimperative-options\"]'\n )\n\n options?.setAttribute('aria-activedescendant', id)\n}\n\nconst MenuImperative_ = React.forwardRef<MenuRef, MenuProps>(function Menu(\n {\n circular = false,\n onDragEnd: onDragEnd_ = noop,\n onScrollBottom: onScrollBottom_ = noop,\n onSelect: onSelect_ = noop,\n role = 'none',\n onChangeActiveDescendant,\n onKeyboardNavigation: onKeyboardNavigation_,\n id,\n multiple,\n ...props\n },\n forwardRef\n) {\n const ref = React.useRef<HTMLDivElement>(null)\n const [currentlyDroppableIn, setCurrentlyDroppableIn] = useState<string[]>([])\n\n // for context, used by Menu.Item\n const onSelect = React.useCallback(\n function (selection: Selection) {\n onSelect_(selection)\n },\n [onSelect_]\n )\n\n const onChangeHighlight = onChangeActiveDescendant\n ? onChangeActiveDescendant\n : changeAriaActiveDescendantOnOptions\n\n const {\n handleItemHover,\n handleKeyDown: defaultKeyDownNavigationHandler,\n highlight,\n highlighted,\n highlightFirst,\n highlightLast,\n highlightSelected,\n highlightSuggested,\n rehighlightCurrent,\n prev,\n next,\n select,\n updateSelectCallback,\n } = useMemo(\n () => createSensors(ref, circular, onChangeHighlight),\n [circular, onChangeHighlight]\n )\n\n const commonA11yOptionProps = {\n role,\n id,\n ['aria-multiselectable']: multiple,\n }\n\n const a11yOptionsProps = !onChangeActiveDescendant\n ? {\n ...commonA11yOptionProps,\n onKeyDown: onKeyboardNavigation_ ?? defaultKeyDownNavigationHandler,\n tabIndex: 0,\n }\n : {\n ...commonA11yOptionProps,\n onKeyDown: undefined,\n tabIndex: undefined,\n }\n\n updateSelectCallback(onSelect)\n\n // exposes internal menu API\n React.useImperativeHandle(forwardRef, () => ({\n el: ref.current,\n highlight,\n highlighted,\n highlightFirst,\n highlightLast,\n highlightSelected,\n highlightSuggested,\n next,\n prev,\n select,\n defaultKeyDownNavigationHandler,\n }))\n\n useEffect(rehighlightCurrent)\n\n function onDragStart(start: DragStart, provided: ResponderProvided) {\n // TODO Replace with localized instructions\n provided.announce(NO_ANNOUCEMENT)\n const itemInfo = JSON.parse(start.draggableId)\n setCurrentlyDroppableIn(itemInfo.droppableIn)\n }\n\n function onDragUpdate(_update: DragUpdate, provided: ResponderProvided) {\n // TODO Replace with localized instructions\n provided.announce(NO_ANNOUCEMENT)\n }\n\n const onDragEnd = React.useCallback(\n function (result: DropResult, provided: ResponderProvided) {\n // TODO Replace with localized instructions\n provided.announce(NO_ANNOUCEMENT)\n setCurrentlyDroppableIn([])\n if (result.reason === 'DROP' && result.destination) {\n const itemInfo = JSON.parse(result.draggableId)\n onDragEnd_({\n draggableId: itemInfo.draggableId,\n source: result.source,\n destination: result.destination,\n })\n }\n },\n [onDragEnd_]\n )\n\n // for context, used by Menu.Options\n const onScrollBottom = React.useCallback(\n function (e: React.UIEvent<HTMLDivElement, UIEvent>) {\n if (isScrolledToBottom(e)) {\n onScrollBottom_(e)\n }\n },\n [onScrollBottom_]\n )\n\n return (\n <MenuContext.Provider\n value={{\n a11yOptionsProps,\n currentlyDroppableIn,\n onHoverItem: handleItemHover,\n onScrollBottom,\n onSelect,\n role,\n }}\n >\n <StyledWrapper ref={ref}>\n <DragDropContext\n onDragStart={onDragStart}\n onDragUpdate={onDragUpdate}\n onDragEnd={onDragEnd}\n >\n <StyledMenu {...props} />\n </DragDropContext>\n </StyledWrapper>\n </MenuContext.Provider>\n )\n})\n\nexport const Group = React.forwardRef<\n HTMLDivElement,\n DivAttributes & GroupProps\n>(function Group({ clickable, item = 'group', id, children, ...props }, ref) {\n const { fieldProps, labelProps } = useLabel({\n id,\n label: children,\n labelElementType: 'span',\n })\n\n return (\n <StyledGroup\n ref={ref}\n onClick={(e) => {\n // TODO: implement selecting groups?\n }}\n data-group={true}\n data-value={JSON.stringify(item)}\n role=\"separator\"\n {...fieldProps}\n {...props}\n >\n <span {...labelProps}>{children}</span>\n </StyledGroup>\n )\n})\n\nfunction findDraggableRecursively(\n children: React.ReactNode,\n draggableId: any\n): React.ReactElement | null {\n const nodeChildren = React.Children.toArray(children)\n for (let i = 0; i < nodeChildren.length; i++) {\n const child = nodeChildren[i]\n if (isValidElement(child)) {\n if ('draggableId' in child.props) {\n if (child.props.draggableId === draggableId) {\n return child\n }\n } else {\n const matchingChild = findDraggableRecursively(\n child.props.children,\n draggableId\n )\n if (matchingChild) {\n return matchingChild\n }\n }\n }\n }\n return null\n}\n\nexport function Droppable({ id, children }: DroppableProps) {\n const ctx = useMenuContext()\n const cloneZIndex = useZIndexContext().value\n\n function renderItemClone(\n provided: DraggableProvided,\n _snapshot: DraggableStateSnapshot,\n rubric: DraggableRubric\n ) {\n const draggableInfo = JSON.parse(rubric.draggableId)\n const draggingChild = findDraggableRecursively(\n children,\n draggableInfo.draggableId\n )\n const cloneProps = draggingChild?.props ?? {}\n\n return (\n <ClonedItem\n hasCheckbox={draggingChild?.type === CheckboxItem}\n provided={provided}\n cloneZIndex={cloneZIndex}\n {...cloneProps}\n />\n )\n }\n\n return (\n <DndDroppable\n droppableId={id}\n isDropDisabled={!ctx.currentlyDroppableIn.includes(id)}\n renderClone={renderItemClone}\n >\n {(provided: DroppableProvided, snapshot: DroppableStateSnapshot) => (\n <StyledDroppable ref={provided.innerRef} data-droppable>\n {children}\n {provided.placeholder}\n </StyledDroppable>\n )}\n </DndDroppable>\n )\n}\n\n// creates a version of a draggable item that can be positioned correctly within modals\n// this should always have the same appearance of an Item or CheckboxItem, but doesn't\n// need to handle selection events, which can't be done while the item is being dragged\nconst ClonedItem = ({\n hasCheckbox = false,\n children = null,\n selected = false,\n provided,\n ...props\n}: DivAttributes &\n ItemProps &\n Omit<CheckboxProps, 'checked'> & {\n provided: DraggableProvided\n hasCheckbox: boolean\n cloneZIndex: number\n }) => {\n const itemProps = {\n ...props,\n $selected: selected,\n }\n\n const itemChildren = hasCheckbox ? (\n <Checkbox\n indeterminate={props.indeterminate}\n error={props.error}\n checked={selected}\n onChange={noop}\n >\n {children}\n </Checkbox>\n ) : (\n children\n )\n\n return (\n <StyledItem\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n {...itemProps}\n $isDraggable\n $isDragging\n style={{\n ...provided.draggableProps.style,\n ...props.style,\n zIndex: props.cloneZIndex,\n }}\n >\n <StyledGrip>\n <Grip color={colors.gray45} />\n </StyledGrip>\n {itemChildren}\n </StyledItem>\n )\n}\n\nexport const Item = React.forwardRef(function Item<\n E extends React.ElementType = MenuItemDefaultElement\n>(\n {\n as,\n /* @ts-ignore */\n children = null,\n item = null,\n /* @ts-ignore */\n onClick: onClick_ = noop,\n selected = false,\n suggested = false,\n disabled = false,\n id: _id,\n role,\n restoreFocus,\n draggableId,\n draggableIndex,\n droppableIn,\n ...props\n }: PolymorphicAs.ComponentPropsWithoutRef<MenuItemProps, E>,\n /**\n * TODO: although it is typed just fine from the outside (`<Menu.Item ref>` that is),\n * an effort is required to type it properly here too\n */\n forwardRef: React.Ref<any>\n) {\n const [ref, setRef] = useMergeRef<HTMLDivElement>(forwardRef)\n const id = useId(_id)\n\n const ctx = useMenuContext()\n\n const onClick = React.useCallback(\n function (event: React.MouseEvent<HTMLDivElement, MouseEvent>) {\n if (disabled) return\n\n onClick_(event)\n\n ctx.onSelect({\n item,\n event,\n group: false,\n action: selected ? 'unselected' : 'selected',\n ...(restoreFocus === undefined ? {} : { restoreFocus }),\n })\n },\n [ctx, item, onClick_, disabled, selected]\n )\n\n let contextRole\n let ariaSelected\n\n if (ctx.role === 'listbox') {\n contextRole = 'option'\n ariaSelected = selected ? true : undefined\n } else if (ctx.role === 'menu') {\n contextRole = 'menuitem'\n }\n\n const itemProps = {\n 'aria-disabled': disabled ? true : undefined,\n 'aria-selected': ariaSelected,\n ...props,\n id,\n role: role ?? contextRole,\n onClick,\n onMouseMove: (e: any) => ctx.onHoverItem(e.currentTarget),\n 'data-group': false,\n 'data-value': JSON.stringify(item),\n 'data-selected': selected,\n 'data-suggested': suggested,\n 'data-disabled': disabled,\n 'data-restorefocus': restoreFocus,\n $disabled: disabled,\n $selected: selected,\n }\n\n if (\n droppableIn !== undefined &&\n draggableId !== undefined &&\n draggableIndex !== undefined\n ) {\n // encoding id and valid droppables as the draggableId, so we can use them to determine where this item can be dropped\n const droppableInfo = {\n draggableId,\n droppableIn: Array.isArray(droppableIn) ? droppableIn : [droppableIn],\n }\n return (\n <Draggable\n draggableId={JSON.stringify(droppableInfo)}\n index={draggableIndex}\n isDragDisabled={disabled}\n >\n {(provided: DraggableProvided) => (\n <StyledItem\n ref={mergeRefs(provided.innerRef, setRef)}\n as={as}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n {...itemProps}\n $isDraggable={!disabled}\n style={{ ...provided.draggableProps.style, ...itemProps.style }}\n tabIndex={-1}\n >\n {!disabled && (\n <StyledGrip>\n <Grip color={colors.gray45} />\n </StyledGrip>\n )}\n {children}\n </StyledItem>\n )}\n </Draggable>\n )\n }\n\n return (\n <StyledItem ref={setRef} as={as} {...itemProps}>\n {children}\n </StyledItem>\n )\n}) as PolymorphicAs.ComponentWithForwardedRef<\n MenuItemProps,\n MenuItemDefaultElement\n>\n\nexport const CheckboxItem = React.forwardRef<\n HTMLDivElement,\n DivAttributes &\n (ItemProps | ItemWithDraggingProps) &\n Omit<CheckboxProps, 'checked'>\n>(function CheckboxItem(\n {\n selected = false,\n disabled = false,\n error = false,\n indeterminate = false,\n children = null,\n role,\n ...props\n },\n forwardRef\n) {\n const ctx = useMenuContext()\n\n let contextRole\n let ariaChecked: React.AriaAttributes['aria-checked']\n let ariaSelected\n\n if (ctx.role === 'listbox') {\n contextRole = 'option'\n ariaSelected = selected ? true : undefined\n } else if (ctx.role === 'menu') {\n contextRole = 'menuitemcheckbox'\n\n if (indeterminate) {\n ariaChecked = 'mixed'\n } else {\n ariaChecked = selected ? 'true' : 'false'\n }\n }\n\n return (\n <Item\n aria-checked={ariaChecked}\n aria-disabled={disabled ? true : undefined}\n aria-selected={ariaSelected}\n {...props}\n role={role ?? contextRole}\n selected={selected}\n disabled={disabled}\n ref={forwardRef}\n >\n <FakeCheckbox\n indeterminate={indeterminate}\n error={error}\n disabled={disabled}\n checked={selected}\n >\n {children}\n </FakeCheckbox>\n </Item>\n )\n})\nexport const Options = React.forwardRef<HTMLDivElement, OptionsProps>(\n function Options(props, ref) {\n const ctx = useMenuContext()\n const i18n = useI18nContext()\n\n return (\n <StyledOptions\n aria-label={i18n.t('core.menuImperative.options.ariaLabel')}\n {...props}\n {...ctx.a11yOptionsProps}\n data-internal=\"menuimperative-options\"\n ref={ref}\n onScroll={ctx.onScrollBottom}\n />\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\n const [value, setValue] = React.useState('')\n\n const onChange: TypeaheadProps['onChange'] = React.useCallback(\n function (value, event) {\n setValue(value)\n _onChange?.(event)\n },\n [_onChange]\n )\n\n // intentionally changed to type text + searchbox,\n // voiceOver focus goes to clear button when no results in Chrome\n return (\n <StyledSearch className={className}>\n <Typeahead\n {...props}\n type=\"text\"\n role=\"searchbox\"\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 DivAttributes & HeaderProps\n>(function Header({ ...props }, ref) {\n return <StyledHeader ref={ref} {...props} />\n})\n\nexport const Footer = React.forwardRef<\n HTMLDivElement,\n DivAttributes & FooterProps\n>(function Footer({ padding = 'md lg', ...props }, ref) {\n return <StyledFooter ref={ref} padding={padding} {...props} />\n})\n\nMenuImperative_.displayName = 'Menu'\n\nDroppable.displayName = 'Menu.Droppable'\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 @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-menu-imperative--demo)\n\n */\nexport const MenuImperative = addSubcomponents(\n {\n CheckboxItem,\n Droppable,\n Footer,\n Group,\n Header,\n Item,\n Options,\n Search,\n },\n MenuImperative_\n)\n"],"mappings":"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"}
|
|
@@ -11,15 +11,15 @@ var optionMinHeight = 32;
|
|
|
11
11
|
// Do not merge with StyledMenu, needed for max-height working in IE
|
|
12
12
|
export var StyledWrapper = /*#__PURE__*/styled.div.withConfig({
|
|
13
13
|
displayName: "StyledWrapper",
|
|
14
|
-
componentId: "core-
|
|
14
|
+
componentId: "core-12_18_0__sc-z984sz-0"
|
|
15
15
|
})(["border-radius:inherit;display:flex;max-height:inherit;min-width:inherit;outline:none;width:inherit;"]);
|
|
16
16
|
export var StyledMenu = /*#__PURE__*/styled.div.withConfig({
|
|
17
17
|
displayName: "StyledMenu",
|
|
18
|
-
componentId: "core-
|
|
18
|
+
componentId: "core-12_18_0__sc-z984sz-1"
|
|
19
19
|
})(["border-radius:inherit;display:flex;flex-direction:column;outline:0;width:100%;"]);
|
|
20
20
|
export var StyledOptions = /*#__PURE__*/styled.div.withConfig({
|
|
21
21
|
displayName: "StyledOptions",
|
|
22
|
-
componentId: "core-
|
|
22
|
+
componentId: "core-12_18_0__sc-z984sz-2"
|
|
23
23
|
})(["flex-basis:auto;flex-grow:1;flex-shrink:1;min-height:", "px;", ";padding:", "px 0;position:relative;&:focus-visible{", " margin:-1px;}"], optionMinHeight, function (_ref) {
|
|
24
24
|
var _ref$$scrollable = _ref.$scrollable,
|
|
25
25
|
$scrollable = _ref$$scrollable === void 0 ? true : _ref$$scrollable;
|
|
@@ -27,26 +27,26 @@ export var StyledOptions = /*#__PURE__*/styled.div.withConfig({
|
|
|
27
27
|
}, spacing.sm, getFocus());
|
|
28
28
|
export var StyledGrip = /*#__PURE__*/styled.div.withConfig({
|
|
29
29
|
displayName: "StyledGrip",
|
|
30
|
-
componentId: "core-
|
|
30
|
+
componentId: "core-12_18_0__sc-z984sz-3"
|
|
31
31
|
})(["padding:0 2px;height:24px;visibility:hidden;"]);
|
|
32
32
|
export var StyledHeader = /*#__PURE__*/styled.div.withConfig({
|
|
33
33
|
displayName: "StyledHeader",
|
|
34
|
-
componentId: "core-
|
|
34
|
+
componentId: "core-12_18_0__sc-z984sz-4"
|
|
35
35
|
})([""]);
|
|
36
36
|
export var StyledSearch = /*#__PURE__*/styled.div.withConfig({
|
|
37
37
|
displayName: "StyledSearch",
|
|
38
|
-
componentId: "core-
|
|
38
|
+
componentId: "core-12_18_0__sc-z984sz-5"
|
|
39
39
|
})(["padding:", "px ", "px ", "px;", " > *{pointer-events:none;}"], spacing.lg, spacing.lg, spacing.sm, StyledButton);
|
|
40
40
|
export var StyledGroup = /*#__PURE__*/styled.div.withConfig({
|
|
41
41
|
displayName: "StyledGroup",
|
|
42
|
-
componentId: "core-
|
|
42
|
+
componentId: "core-12_18_0__sc-z984sz-6"
|
|
43
43
|
})(["", " color:", ";cursor:", ";font-weight:", ";padding:", "px ", "px;&:not(:first-child){padding-top:", "px;}"], getTypographyIntent('body'), colors.gray15, function (_ref2) {
|
|
44
44
|
var $clickable = _ref2.$clickable;
|
|
45
45
|
return $clickable ? 'pointer' : 'default';
|
|
46
46
|
}, typographyWeights.semibold, spacing.xs, spacing.lg, spacing.md + spacing.xs);
|
|
47
47
|
export var StyledItem = /*#__PURE__*/styled.div.withConfig({
|
|
48
48
|
displayName: "StyledItem",
|
|
49
|
-
componentId: "core-
|
|
49
|
+
componentId: "core-12_18_0__sc-z984sz-7"
|
|
50
50
|
})(["", ";", " cursor:pointer;list-style-type:none;padding:", "px ", "px;a{color:", ";display:block;margin:-", "px -", "px;padding:", "px ", "px;text-decoration:none;&:hover{color:", ";text-decoration:none;}}&[data-highlighted='true']{background-color:", ";}", " &:hover,&:active{", "{visibility:visible;}}", "{color:inherit;cursor:pointer;}", " ", " ", ""], getTypographyIntent('body'), function (_ref3) {
|
|
51
51
|
var as = _ref3.as;
|
|
52
52
|
return as === 'a' && css(["display:block;text-decoration:none;"]);
|
|
@@ -75,10 +75,10 @@ export var StyledItem = /*#__PURE__*/styled.div.withConfig({
|
|
|
75
75
|
});
|
|
76
76
|
export var StyledDroppable = /*#__PURE__*/styled.div.withConfig({
|
|
77
77
|
displayName: "StyledDroppable",
|
|
78
|
-
componentId: "core-
|
|
78
|
+
componentId: "core-12_18_0__sc-z984sz-8"
|
|
79
79
|
})(["", ",", "{padding-left:28px;}"], StyledGroup, StyledItem);
|
|
80
80
|
export var StyledFooter = /*#__PURE__*/styled(Box).withConfig({
|
|
81
81
|
displayName: "StyledFooter",
|
|
82
|
-
componentId: "core-
|
|
82
|
+
componentId: "core-12_18_0__sc-z984sz-9"
|
|
83
83
|
})(["border-top:1px solid ", ";border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;"], colors.gray85);
|
|
84
84
|
//# sourceMappingURL=MenuImperative.styles.js.map
|
|
@@ -240,7 +240,7 @@ export function createSensors(ref, circular, onChangeActiveDescendant) {
|
|
|
240
240
|
var draggableId = (_highlightedItem8 = highlightedItem) === null || _highlightedItem8 === void 0 ? void 0 : _highlightedItem8.getAttribute('data-rbd-draggable-id');
|
|
241
241
|
if (draggableId) {
|
|
242
242
|
var _ref$current3;
|
|
243
|
-
var newItem = (_ref$current3 = ref.current) === null || _ref$current3 === void 0 ? void 0 : _ref$current3.querySelector("[data-rbd-draggable-id=\"".concat(draggableId.replace(/"/g, '
|
|
243
|
+
var newItem = (_ref$current3 = ref.current) === null || _ref$current3 === void 0 ? void 0 : _ref$current3.querySelector("[data-rbd-draggable-id=\"".concat(draggableId.replace(/["\\]/g, '\\$&'), "\"]"));
|
|
244
244
|
highlightItem(newItem);
|
|
245
245
|
}
|
|
246
246
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sensors.js","names":["scrollIntoView","noop","MOUSE_ENTER","MOUSE_LEAVE","menuItemsWrapperAttributeName","menuItemsWrapperAttribute","_defineProperty","isItem","element","hasAttribute","isGroup","el","JSON","parse","dataset","group","isWrapper","getAttribute","getFirstItem","menu","firstItem","querySelector","getNextItem","getPrevItem","item","_item$parentElement2","previousElementSibling","getLastItem","parentElement","_item$parentElement","_item$parentElement3","_item$parentElement3$","prevDroppableItems","querySelectorAll","length","_item$parentElement5","nextElementSibling","_item$parentElement4","_item$parentElement6","_item$parentElement6$","items","lastItem","updateHighlightedAttribute","highlight","setAttribute","dispatchEvent","MouseEvent","createSensors","ref","circular","onChangeActiveDescendant","highlightedItem","dragAndDropApi","currentDrag","onSelect","select","event","current","_highlightedItem","_highlightedItem2","_highlightedItem3","_highlightedItem4","_highlightedItem5","_onSelect","disabled","value","selected","restoreFocus","restorefocus","undefined","tagName","click","_objectSpread","action","highlightItem","shouldScroll","arguments","_item$getAttribute","id","getPrevHighlightableItem","currentItem","prev","getNextHighlightableItem","next","highlightFirstItem","highlightLastItem","highlightPrevItem","_ref$current","contains","highlightNextItem","_ref$current2","handleKeyDown","_currentDrag4","key","_currentDrag","preventDefault","isActive","moveUp","_currentDrag2","moveDown","_currentDrag3","ctrlKey","metaKey","_highlightedItem6","draggableId","_dragAndDropApi","preDrag","tryGetLock","snapLift","drop","cancel","handleItemHover","useKeyboardSensor","api","updateSelectCallback","callback","highlighted","_highlightedItem7","highlightFirst","highlightLast","rehighlightCurrent","_highlightedItem8","_ref$current3","newItem","concat","replace","highlightSelected","_ref$current4","selectedItem","highlightSuggested","_ref$current5","suggestedItem"],"sources":["../../src/MenuImperative/sensors.ts"],"sourcesContent":["import type React from 'react'\nimport type { SensorAPI, SnapDragActions } from 'react-beautiful-dnd'\nimport { scrollIntoView } from '../_utils/scrollIntoView'\nimport type { Selection } from './MenuImperative.types'\n\nfunction noop() {}\n\nconst MOUSE_ENTER = 'mouseenter'\nconst MOUSE_LEAVE = 'mouseleave'\n\nconst menuItemsWrapperAttributeName = 'data-core-menuimperative-items-wrapper'\nexport const menuItemsWrapperAttribute = {\n [menuItemsWrapperAttributeName]: 'true',\n}\n\nconst isItem = (element: Element | null) => element?.hasAttribute('data-value')\n\nfunction isGroup(el: HTMLElement) {\n return JSON.parse(el.dataset.group || 'false')\n}\n\nconst isWrapper = (element: Element | null) =>\n element?.getAttribute(menuItemsWrapperAttributeName) === 'true'\n\nfunction getFirstItem(menu: Element | null) {\n const firstItem = menu?.querySelector<HTMLElement>('[data-value]:first-child')\n\n if (firstItem && isGroup(firstItem)) {\n return getNextItem(firstItem)\n }\n\n return firstItem\n}\n\nfunction getPrevItem(item: Element): HTMLElement | null {\n if (item.previousElementSibling) {\n // LocationFilter in data-table has div-wrapper around some items\n if (isWrapper(item.previousElementSibling)) {\n return getLastItem(item.previousElementSibling) as HTMLElement\n }\n\n return item.previousElementSibling as HTMLElement\n }\n\n if (isWrapper(item?.parentElement)) {\n return item?.parentElement?.previousElementSibling as HTMLElement\n }\n\n if (item?.parentElement?.getAttribute('data-droppable') === 'true') {\n const prevDroppableItems =\n item?.parentElement?.previousElementSibling?.querySelectorAll<HTMLElement>(\n '[data-group=\"false\"]'\n )\n return prevDroppableItems?.length\n ? prevDroppableItems[prevDroppableItems.length - 1]\n : null\n }\n\n return null\n}\n\nfunction getNextItem(item: Element): HTMLElement | null {\n if (item.nextElementSibling) {\n // LocationFilter in data-table has div-wrapper around some items\n if (isWrapper(item.nextElementSibling)) {\n return getFirstItem(item.previousElementSibling) as HTMLElement\n }\n return item.nextElementSibling as HTMLElement\n }\n\n if (isWrapper(item?.parentElement)) {\n return item?.parentElement?.nextElementSibling as HTMLElement\n }\n\n if (item?.parentElement?.getAttribute('data-droppable') === 'true') {\n return item?.parentElement?.nextElementSibling?.querySelector(\n '[data-group=\"false\"]'\n ) as HTMLElement\n }\n\n return null\n}\n\nfunction getLastItem(menu: Element | null) {\n const items = menu?.querySelectorAll<HTMLElement>('[data-value]')\n const lastItem = items?.[items.length - 1]\n\n if (lastItem && isGroup(lastItem)) {\n return getPrevItem(lastItem)\n }\n\n return lastItem\n}\n\nfunction updateHighlightedAttribute(\n item: Element | null | undefined,\n highlight: boolean\n) {\n item?.setAttribute('data-highlighted', highlight ? 'true' : 'false')\n item?.dispatchEvent(new MouseEvent(highlight ? MOUSE_ENTER : MOUSE_LEAVE))\n}\n\nexport function createSensors(\n ref: React.RefObject<HTMLDivElement>,\n circular: boolean,\n onChangeActiveDescendant: (\n id: string | undefined,\n menuRef: Element | null\n ) => void\n) {\n let highlightedItem: HTMLElement | null = null\n let dragAndDropApi: SensorAPI | null = null\n let currentDrag: SnapDragActions | null = null\n let onSelect: (selection: Selection) => any = noop\n\n function select(\n event:\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEvent<HTMLElement>\n ) {\n if (ref.current && highlightedItem) {\n const disabled = JSON.parse(highlightedItem?.dataset.disabled || 'false')\n if (disabled) return\n\n const item = JSON.parse(highlightedItem?.dataset.value || 'null')\n const selected = JSON.parse(highlightedItem?.dataset.selected || 'false')\n const restoreFocus = highlightedItem?.dataset.restorefocus\n ? JSON.parse(highlightedItem?.dataset.restorefocus)\n : undefined\n\n if (highlightedItem.tagName === 'A') {\n highlightedItem.click()\n }\n\n onSelect?.({\n event,\n item,\n group: false,\n action: selected ? 'unselected' : 'selected',\n ...(restoreFocus === undefined ? {} : { restoreFocus }),\n })\n }\n }\n\n function highlightItem(\n item: HTMLElement | null | undefined,\n shouldScroll: boolean = true\n ) {\n // performance improvement, highlightItem is called onMouseMove for Item\n if (item === highlightedItem) {\n return\n }\n\n if (item) {\n updateHighlightedAttribute(highlightedItem, false)\n\n // TODO add localized screenreader instructions for the item\n updateHighlightedAttribute(item, true)\n\n const id = item.getAttribute('id') ?? undefined\n onChangeActiveDescendant(id, ref.current)\n\n highlightedItem = item\n\n if (shouldScroll) {\n scrollIntoView(-1, item)\n }\n } else {\n onChangeActiveDescendant('', ref.current)\n }\n }\n\n function getPrevHighlightableItem(\n currentItem: HTMLElement\n ): HTMLElement | null | undefined {\n const prev = getPrevItem(currentItem)\n if (prev) {\n if (isItem(prev)) {\n if (isGroup(prev)) {\n return getPrevHighlightableItem(prev)\n } else {\n return prev\n }\n }\n } else if (circular) {\n return getLastItem(ref.current)\n }\n\n return prev\n }\n\n function getNextHighlightableItem(\n currentItem: HTMLElement\n ): HTMLElement | null | undefined {\n const next = getNextItem(currentItem)\n\n if (next) {\n if (isItem(next)) {\n if (isGroup(next)) {\n return getNextHighlightableItem(next)\n }\n return next\n }\n } else if (circular) {\n return getFirstItem(ref.current)\n }\n }\n\n function highlightFirstItem(shouldScroll: boolean = true) {\n highlightItem(getFirstItem(ref.current), shouldScroll)\n }\n\n function highlightLastItem(shouldScroll: boolean = true) {\n highlightItem(getLastItem(ref.current), shouldScroll)\n }\n\n function highlightPrevItem() {\n if (highlightedItem && ref.current?.contains(highlightedItem)) {\n const prev = getPrevHighlightableItem(highlightedItem)\n if (prev) {\n highlightItem(prev)\n }\n } else {\n highlightLastItem()\n }\n }\n\n function highlightNextItem() {\n if (highlightedItem && ref.current?.contains(highlightedItem)) {\n const next = getNextHighlightableItem(highlightedItem)\n if (next) {\n highlightItem(next)\n }\n } else {\n highlightFirstItem()\n }\n }\n\n return {\n handleKeyDown(event: React.KeyboardEvent<HTMLDivElement>) {\n if (ref.current) {\n if (event.key === 'ArrowUp' || event.key === 'Up') {\n event.preventDefault()\n currentDrag?.isActive() ? currentDrag.moveUp() : highlightPrevItem()\n } else if (event.key === 'ArrowDown' || event.key === 'Down') {\n event.preventDefault()\n currentDrag?.isActive() ? currentDrag.moveDown() : highlightNextItem()\n } else if (event.key === 'Enter') {\n event.preventDefault()\n if (event.ctrlKey || event.metaKey) {\n const draggableId = highlightedItem?.getAttribute(\n 'data-rbd-draggable-id'\n )\n if (draggableId) {\n const preDrag = dragAndDropApi?.tryGetLock(draggableId)\n if (preDrag) {\n currentDrag = preDrag.snapLift()\n }\n }\n } else if (currentDrag?.isActive()) {\n currentDrag.drop()\n } else {\n select(event)\n }\n } else if (event.key === 'Escape' && currentDrag?.isActive()) {\n currentDrag.cancel()\n }\n }\n },\n handleItemHover(el?: HTMLDivElement) {\n highlightItem(el, false)\n },\n useKeyboardSensor(api: SensorAPI) {\n dragAndDropApi = api\n },\n\n updateSelectCallback(callback: (selection: Selection) => any) {\n onSelect = callback\n },\n\n highlight: highlightItem,\n\n highlighted() {\n return JSON.parse(highlightedItem?.dataset.value || 'null')\n },\n\n highlightFirst: highlightFirstItem,\n highlightLast: highlightLastItem,\n rehighlightCurrent() {\n // Rehighlights an item that may have lost its styling due to the re-render of the list items\n const draggableId = highlightedItem?.getAttribute('data-rbd-draggable-id')\n if (draggableId) {\n const newItem = ref.current?.querySelector<HTMLElement>(\n `[data-rbd-draggable-id=\"${draggableId.replace(/\"/g, '\\\\\"')}\"]`\n )\n highlightItem(newItem)\n }\n },\n\n highlightSelected(shouldScroll: boolean = true) {\n const selectedItem = ref.current?.querySelector<HTMLElement>(\n '[data-selected=\"true\"]'\n )\n\n highlightItem(selectedItem, shouldScroll)\n },\n\n highlightSuggested(shouldScroll: boolean = true) {\n const suggestedItem = ref.current?.querySelector<HTMLElement>(\n '[data-suggested=\"true\"]'\n )\n\n highlightItem(suggestedItem, shouldScroll)\n },\n\n prev: highlightPrevItem,\n next: highlightNextItem,\n select,\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sensors.js","names":["scrollIntoView","noop","MOUSE_ENTER","MOUSE_LEAVE","menuItemsWrapperAttributeName","menuItemsWrapperAttribute","_defineProperty","isItem","element","hasAttribute","isGroup","el","JSON","parse","dataset","group","isWrapper","getAttribute","getFirstItem","menu","firstItem","querySelector","getNextItem","getPrevItem","item","_item$parentElement2","previousElementSibling","getLastItem","parentElement","_item$parentElement","_item$parentElement3","_item$parentElement3$","prevDroppableItems","querySelectorAll","length","_item$parentElement5","nextElementSibling","_item$parentElement4","_item$parentElement6","_item$parentElement6$","items","lastItem","updateHighlightedAttribute","highlight","setAttribute","dispatchEvent","MouseEvent","createSensors","ref","circular","onChangeActiveDescendant","highlightedItem","dragAndDropApi","currentDrag","onSelect","select","event","current","_highlightedItem","_highlightedItem2","_highlightedItem3","_highlightedItem4","_highlightedItem5","_onSelect","disabled","value","selected","restoreFocus","restorefocus","undefined","tagName","click","_objectSpread","action","highlightItem","shouldScroll","arguments","_item$getAttribute","id","getPrevHighlightableItem","currentItem","prev","getNextHighlightableItem","next","highlightFirstItem","highlightLastItem","highlightPrevItem","_ref$current","contains","highlightNextItem","_ref$current2","handleKeyDown","_currentDrag4","key","_currentDrag","preventDefault","isActive","moveUp","_currentDrag2","moveDown","_currentDrag3","ctrlKey","metaKey","_highlightedItem6","draggableId","_dragAndDropApi","preDrag","tryGetLock","snapLift","drop","cancel","handleItemHover","useKeyboardSensor","api","updateSelectCallback","callback","highlighted","_highlightedItem7","highlightFirst","highlightLast","rehighlightCurrent","_highlightedItem8","_ref$current3","newItem","concat","replace","highlightSelected","_ref$current4","selectedItem","highlightSuggested","_ref$current5","suggestedItem"],"sources":["../../src/MenuImperative/sensors.ts"],"sourcesContent":["import type {\n SensorAPI,\n SnapDragActions,\n} from '@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-migration'\nimport type React from 'react'\nimport { scrollIntoView } from '../_utils/scrollIntoView'\nimport type { Selection } from './MenuImperative.types'\n\nfunction noop() {}\n\nconst MOUSE_ENTER = 'mouseenter'\nconst MOUSE_LEAVE = 'mouseleave'\n\nconst menuItemsWrapperAttributeName = 'data-core-menuimperative-items-wrapper'\nexport const menuItemsWrapperAttribute = {\n [menuItemsWrapperAttributeName]: 'true',\n}\n\nconst isItem = (element: Element | null) => element?.hasAttribute('data-value')\n\nfunction isGroup(el: HTMLElement) {\n return JSON.parse(el.dataset.group || 'false')\n}\n\nconst isWrapper = (element: Element | null) =>\n element?.getAttribute(menuItemsWrapperAttributeName) === 'true'\n\nfunction getFirstItem(menu: Element | null) {\n const firstItem = menu?.querySelector<HTMLElement>('[data-value]:first-child')\n\n if (firstItem && isGroup(firstItem)) {\n return getNextItem(firstItem)\n }\n\n return firstItem\n}\n\nfunction getPrevItem(item: Element): HTMLElement | null {\n if (item.previousElementSibling) {\n // LocationFilter in data-table has div-wrapper around some items\n if (isWrapper(item.previousElementSibling)) {\n return getLastItem(item.previousElementSibling) as HTMLElement\n }\n\n return item.previousElementSibling as HTMLElement\n }\n\n if (isWrapper(item?.parentElement)) {\n return item?.parentElement?.previousElementSibling as HTMLElement\n }\n\n if (item?.parentElement?.getAttribute('data-droppable') === 'true') {\n const prevDroppableItems =\n item?.parentElement?.previousElementSibling?.querySelectorAll<HTMLElement>(\n '[data-group=\"false\"]'\n )\n return prevDroppableItems?.length\n ? prevDroppableItems[prevDroppableItems.length - 1]\n : null\n }\n\n return null\n}\n\nfunction getNextItem(item: Element): HTMLElement | null {\n if (item.nextElementSibling) {\n // LocationFilter in data-table has div-wrapper around some items\n if (isWrapper(item.nextElementSibling)) {\n return getFirstItem(item.previousElementSibling) as HTMLElement\n }\n return item.nextElementSibling as HTMLElement\n }\n\n if (isWrapper(item?.parentElement)) {\n return item?.parentElement?.nextElementSibling as HTMLElement\n }\n\n if (item?.parentElement?.getAttribute('data-droppable') === 'true') {\n return item?.parentElement?.nextElementSibling?.querySelector(\n '[data-group=\"false\"]'\n ) as HTMLElement\n }\n\n return null\n}\n\nfunction getLastItem(menu: Element | null) {\n const items = menu?.querySelectorAll<HTMLElement>('[data-value]')\n const lastItem = items?.[items.length - 1]\n\n if (lastItem && isGroup(lastItem)) {\n return getPrevItem(lastItem)\n }\n\n return lastItem\n}\n\nfunction updateHighlightedAttribute(\n item: Element | null | undefined,\n highlight: boolean\n) {\n item?.setAttribute('data-highlighted', highlight ? 'true' : 'false')\n item?.dispatchEvent(new MouseEvent(highlight ? MOUSE_ENTER : MOUSE_LEAVE))\n}\n\nexport function createSensors(\n ref: React.RefObject<HTMLDivElement>,\n circular: boolean,\n onChangeActiveDescendant: (\n id: string | undefined,\n menuRef: Element | null\n ) => void\n) {\n let highlightedItem: HTMLElement | null = null\n let dragAndDropApi: SensorAPI | null = null\n let currentDrag: SnapDragActions | null = null\n let onSelect: (selection: Selection) => any = noop\n\n function select(\n event:\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEvent<HTMLElement>\n ) {\n if (ref.current && highlightedItem) {\n const disabled = JSON.parse(highlightedItem?.dataset.disabled || 'false')\n if (disabled) return\n\n const item = JSON.parse(highlightedItem?.dataset.value || 'null')\n const selected = JSON.parse(highlightedItem?.dataset.selected || 'false')\n const restoreFocus = highlightedItem?.dataset.restorefocus\n ? JSON.parse(highlightedItem?.dataset.restorefocus)\n : undefined\n\n if (highlightedItem.tagName === 'A') {\n highlightedItem.click()\n }\n\n onSelect?.({\n event,\n item,\n group: false,\n action: selected ? 'unselected' : 'selected',\n ...(restoreFocus === undefined ? {} : { restoreFocus }),\n })\n }\n }\n\n function highlightItem(\n item: HTMLElement | null | undefined,\n shouldScroll: boolean = true\n ) {\n // performance improvement, highlightItem is called onMouseMove for Item\n if (item === highlightedItem) {\n return\n }\n\n if (item) {\n updateHighlightedAttribute(highlightedItem, false)\n\n // TODO add localized screenreader instructions for the item\n updateHighlightedAttribute(item, true)\n\n const id = item.getAttribute('id') ?? undefined\n onChangeActiveDescendant(id, ref.current)\n\n highlightedItem = item\n\n if (shouldScroll) {\n scrollIntoView(-1, item)\n }\n } else {\n onChangeActiveDescendant('', ref.current)\n }\n }\n\n function getPrevHighlightableItem(\n currentItem: HTMLElement\n ): HTMLElement | null | undefined {\n const prev = getPrevItem(currentItem)\n if (prev) {\n if (isItem(prev)) {\n if (isGroup(prev)) {\n return getPrevHighlightableItem(prev)\n } else {\n return prev\n }\n }\n } else if (circular) {\n return getLastItem(ref.current)\n }\n\n return prev\n }\n\n function getNextHighlightableItem(\n currentItem: HTMLElement\n ): HTMLElement | null | undefined {\n const next = getNextItem(currentItem)\n\n if (next) {\n if (isItem(next)) {\n if (isGroup(next)) {\n return getNextHighlightableItem(next)\n }\n return next\n }\n } else if (circular) {\n return getFirstItem(ref.current)\n }\n }\n\n function highlightFirstItem(shouldScroll: boolean = true) {\n highlightItem(getFirstItem(ref.current), shouldScroll)\n }\n\n function highlightLastItem(shouldScroll: boolean = true) {\n highlightItem(getLastItem(ref.current), shouldScroll)\n }\n\n function highlightPrevItem() {\n if (highlightedItem && ref.current?.contains(highlightedItem)) {\n const prev = getPrevHighlightableItem(highlightedItem)\n if (prev) {\n highlightItem(prev)\n }\n } else {\n highlightLastItem()\n }\n }\n\n function highlightNextItem() {\n if (highlightedItem && ref.current?.contains(highlightedItem)) {\n const next = getNextHighlightableItem(highlightedItem)\n if (next) {\n highlightItem(next)\n }\n } else {\n highlightFirstItem()\n }\n }\n\n return {\n handleKeyDown(event: React.KeyboardEvent<HTMLDivElement>) {\n if (ref.current) {\n if (event.key === 'ArrowUp' || event.key === 'Up') {\n event.preventDefault()\n currentDrag?.isActive() ? currentDrag.moveUp() : highlightPrevItem()\n } else if (event.key === 'ArrowDown' || event.key === 'Down') {\n event.preventDefault()\n currentDrag?.isActive() ? currentDrag.moveDown() : highlightNextItem()\n } else if (event.key === 'Enter') {\n event.preventDefault()\n if (event.ctrlKey || event.metaKey) {\n const draggableId = highlightedItem?.getAttribute(\n 'data-rbd-draggable-id'\n )\n if (draggableId) {\n const preDrag = dragAndDropApi?.tryGetLock(draggableId)\n if (preDrag) {\n currentDrag = preDrag.snapLift()\n }\n }\n } else if (currentDrag?.isActive()) {\n currentDrag.drop()\n } else {\n select(event)\n }\n } else if (event.key === 'Escape' && currentDrag?.isActive()) {\n currentDrag.cancel()\n }\n }\n },\n handleItemHover(el?: HTMLDivElement) {\n highlightItem(el, false)\n },\n useKeyboardSensor(api: SensorAPI) {\n dragAndDropApi = api\n },\n\n updateSelectCallback(callback: (selection: Selection) => any) {\n onSelect = callback\n },\n\n highlight: highlightItem,\n\n highlighted() {\n return JSON.parse(highlightedItem?.dataset.value || 'null')\n },\n\n highlightFirst: highlightFirstItem,\n highlightLast: highlightLastItem,\n rehighlightCurrent() {\n // Rehighlights an item that may have lost its styling due to the re-render of the list items\n const draggableId = highlightedItem?.getAttribute('data-rbd-draggable-id')\n if (draggableId) {\n const newItem = ref.current?.querySelector<HTMLElement>(\n `[data-rbd-draggable-id=\"${draggableId.replace(/[\"\\\\]/g, '\\\\$&')}\"]`\n )\n highlightItem(newItem)\n }\n },\n\n highlightSelected(shouldScroll: boolean = true) {\n const selectedItem = ref.current?.querySelector<HTMLElement>(\n '[data-selected=\"true\"]'\n )\n\n highlightItem(selectedItem, shouldScroll)\n },\n\n highlightSuggested(shouldScroll: boolean = true) {\n const suggestedItem = ref.current?.querySelector<HTMLElement>(\n '[data-suggested=\"true\"]'\n )\n\n highlightItem(suggestedItem, shouldScroll)\n },\n\n prev: highlightPrevItem,\n next: highlightNextItem,\n select,\n }\n}\n"],"mappings":"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"}
|
|
@@ -31,15 +31,15 @@ var screenWidthPixelBreakpoints = {
|
|
|
31
31
|
};
|
|
32
32
|
export var StyledModal = /*#__PURE__*/styled.div.withConfig({
|
|
33
33
|
displayName: "StyledModal",
|
|
34
|
-
componentId: "core-
|
|
34
|
+
componentId: "core-12_18_0__sc-1ijdug2-0"
|
|
35
35
|
})(["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);
|
|
36
36
|
export var StyledModalButtons = /*#__PURE__*/styled.div.withConfig({
|
|
37
37
|
displayName: "StyledModalButtons",
|
|
38
|
-
componentId: "core-
|
|
38
|
+
componentId: "core-12_18_0__sc-1ijdug2-1"
|
|
39
39
|
})(["display:flex;flex:0 0 auto;margin-left:", "px;> * + *{margin-left:", "px;}"], spacing.lg, spacing.sm);
|
|
40
40
|
export var StyledModalContainer = /*#__PURE__*/styled(Card).withConfig({
|
|
41
41
|
displayName: "StyledModalContainer",
|
|
42
|
-
componentId: "core-
|
|
42
|
+
componentId: "core-12_18_0__sc-1ijdug2-2"
|
|
43
43
|
})(["display:flex;flex-direction:row;position:absolute;z-index:2;", " ", " ", ""], function (_ref) {
|
|
44
44
|
var $compact = _ref.$compact;
|
|
45
45
|
if (!$compact) {
|
|
@@ -63,11 +63,11 @@ export var StyledModalContainer = /*#__PURE__*/styled(Card).withConfig({
|
|
|
63
63
|
});
|
|
64
64
|
export var StyledModalFooter = /*#__PURE__*/styled.div.withConfig({
|
|
65
65
|
displayName: "StyledModalFooter",
|
|
66
|
-
componentId: "core-
|
|
66
|
+
componentId: "core-12_18_0__sc-1ijdug2-3"
|
|
67
67
|
})(["align-items:center;display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;padding:", "px ", "px ", "px;"], spacing.xl, spacing.xxl, spacing.xxl);
|
|
68
68
|
export var StyledModalBody = /*#__PURE__*/styled.div.withConfig({
|
|
69
69
|
displayName: "StyledModalBody",
|
|
70
|
-
componentId: "core-
|
|
70
|
+
componentId: "core-12_18_0__sc-1ijdug2-4"
|
|
71
71
|
})(["", " box-sizing:border-box;color:", ";display:flex;flex-direction:column;overflow:auto;", " ", " > ", "{padding-left:0;padding-right:0;&:first-child > ", "{padding-top:0;}}", ""], getTypographyIntent('body'), colors.gray15, function (_ref4) {
|
|
72
72
|
var $noSideSpacing = _ref4.$noSideSpacing;
|
|
73
73
|
return css(["padding:", "px ", "px;"], spacing.xl, $noSideSpacing ? 0 : spacing.xxl);
|
|
@@ -84,7 +84,7 @@ export var StyledModalBody = /*#__PURE__*/styled.div.withConfig({
|
|
|
84
84
|
});
|
|
85
85
|
export var StyledModalContent = /*#__PURE__*/styled.div.withConfig({
|
|
86
86
|
displayName: "StyledModalContent",
|
|
87
|
-
componentId: "core-
|
|
87
|
+
componentId: "core-12_18_0__sc-1ijdug2-5"
|
|
88
88
|
})(["display:flex;flex-direction:column;max-height:90vh;overflow:hidden;width:100%;", ""], function (_ref7) {
|
|
89
89
|
var _ref7$$compact = _ref7.$compact,
|
|
90
90
|
$compact = _ref7$$compact === void 0 ? false : _ref7$$compact;
|
|
@@ -95,11 +95,11 @@ export var StyledModalContent = /*#__PURE__*/styled.div.withConfig({
|
|
|
95
95
|
});
|
|
96
96
|
export var StyledModalFooterNotation = /*#__PURE__*/styled(Typography).withConfig({
|
|
97
97
|
displayName: "StyledModalFooterNotation",
|
|
98
|
-
componentId: "core-
|
|
98
|
+
componentId: "core-12_18_0__sc-1ijdug2-6"
|
|
99
99
|
})(["flex-grow:1;"]);
|
|
100
100
|
export var StyledModalHeader = /*#__PURE__*/styled.div.withConfig({
|
|
101
101
|
displayName: "StyledModalHeader",
|
|
102
|
-
componentId: "core-
|
|
102
|
+
componentId: "core-12_18_0__sc-1ijdug2-7"
|
|
103
103
|
})(["align-items:flex-start;color:", ";display:flex;flex:0 0 auto;position:relative;", " ", ""], colors.gray10, function (_ref8) {
|
|
104
104
|
var $compact = _ref8.$compact,
|
|
105
105
|
$isBodyScrolled = _ref8.$isBodyScrolled;
|
|
@@ -117,7 +117,7 @@ export var StyledModalHeader = /*#__PURE__*/styled.div.withConfig({
|
|
|
117
117
|
});
|
|
118
118
|
export var StyledModalHeading = /*#__PURE__*/styled.div.withConfig({
|
|
119
119
|
displayName: "StyledModalHeading",
|
|
120
|
-
componentId: "core-
|
|
120
|
+
componentId: "core-12_18_0__sc-1ijdug2-8"
|
|
121
121
|
})(["", " align-items:center;display:flex;flex:1 1 auto;min-height:36px;padding-right:", "px;", ""], function (_ref10) {
|
|
122
122
|
var $compact = _ref10.$compact;
|
|
123
123
|
return getTypographyIntent($compact ? 'h3' : 'h2');
|
|
@@ -133,18 +133,18 @@ export var StyledModalHeading = /*#__PURE__*/styled.div.withConfig({
|
|
|
133
133
|
});
|
|
134
134
|
export var StyledModalCancel = /*#__PURE__*/styled.div.withConfig({
|
|
135
135
|
displayName: "StyledModalCancel",
|
|
136
|
-
componentId: "core-
|
|
136
|
+
componentId: "core-12_18_0__sc-1ijdug2-9"
|
|
137
137
|
})(["flex:0 0 auto;"]);
|
|
138
138
|
export var StyledModalScrim = /*#__PURE__*/styled.div.withConfig({
|
|
139
139
|
displayName: "StyledModalScrim",
|
|
140
|
-
componentId: "core-
|
|
140
|
+
componentId: "core-12_18_0__sc-1ijdug2-10"
|
|
141
141
|
})(["background:hsla(200,8%,10%,0.6);height:100vh;left:0;position:absolute;top:0;width:100vw;z-index:1;"]);
|
|
142
142
|
export var StyledModalWarningIcon = /*#__PURE__*/styled(Warning).withConfig({
|
|
143
143
|
displayName: "StyledModalWarningIcon",
|
|
144
|
-
componentId: "core-
|
|
144
|
+
componentId: "core-12_18_0__sc-1ijdug2-11"
|
|
145
145
|
})(["color:", ";margin-right:", "px;"], colors.yellow40, spacing.sm);
|
|
146
146
|
export var StyledModalFooterSummary = /*#__PURE__*/styled.div.withConfig({
|
|
147
147
|
displayName: "StyledModalFooterSummary",
|
|
148
|
-
componentId: "core-
|
|
148
|
+
componentId: "core-12_18_0__sc-1ijdug2-12"
|
|
149
149
|
})(["", " border-top:1px solid ", ";border-bottom:1px solid ", ";padding:", "px ", "px;color:", ";font-style:italic;background-color:", ";margin:-", "px -", "px ", "px -", "px;flex:1 1 100%;"], getTypographyIntent('small'), colors.gray85, colors.gray85, spacing.md, spacing.xxl, colors.gray15, colors.gray98, spacing.xl, spacing.xxl, spacing.xl, spacing.xxl);
|
|
150
150
|
//# sourceMappingURL=Modal.styles.js.map
|