@mantine/core 4.0.0 → 4.0.3
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/cjs/components/AppShell/AppShell.context.js +15 -0
- package/cjs/components/AppShell/AppShell.context.js.map +1 -0
- package/cjs/components/AppShell/AppShell.js +8 -27
- package/cjs/components/AppShell/AppShell.js.map +1 -1
- package/cjs/components/AppShell/AppShell.styles.js +8 -16
- package/cjs/components/AppShell/AppShell.styles.js.map +1 -1
- package/cjs/components/AppShell/Header/Header.js +10 -2
- package/cjs/components/AppShell/Header/Header.js.map +1 -1
- package/cjs/components/AppShell/Navbar/Navbar.js +24 -3
- package/cjs/components/AppShell/Navbar/Navbar.js.map +1 -1
- package/cjs/components/AppShell/Navbar/Navbar.styles.js +3 -2
- package/cjs/components/AppShell/Navbar/Navbar.styles.js.map +1 -1
- package/cjs/components/AppShell/{utils → Navbar}/get-sorted-breakpoints/get-sorted-breakpoints.js +0 -0
- package/cjs/components/AppShell/Navbar/get-sorted-breakpoints/get-sorted-breakpoints.js.map +1 -0
- package/cjs/components/ColorPicker/converters/parsers.js +4 -4
- package/cjs/components/ColorPicker/converters/parsers.js.map +1 -1
- package/cjs/components/Drawer/Drawer.js +4 -7
- package/cjs/components/Drawer/Drawer.js.map +1 -1
- package/cjs/components/Drawer/Drawer.styles.js +2 -1
- package/cjs/components/Drawer/Drawer.styles.js.map +1 -1
- package/cjs/components/Group/Group.js +1 -0
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Group/Group.styles.js +4 -2
- package/cjs/components/Group/Group.styles.js.map +1 -1
- package/cjs/components/List/List.context.js +14 -0
- package/cjs/components/List/List.context.js.map +1 -0
- package/cjs/components/List/List.js +5 -13
- package/cjs/components/List/List.js.map +1 -1
- package/cjs/components/List/ListItem/ListItem.js +7 -20
- package/cjs/components/List/ListItem/ListItem.js.map +1 -1
- package/cjs/components/Menu/Menu.context.js +18 -0
- package/cjs/components/Menu/Menu.context.js.map +1 -0
- package/cjs/components/Menu/Menu.js +28 -56
- package/cjs/components/Menu/Menu.js.map +1 -1
- package/cjs/components/Menu/Menu.styles.js +5 -5
- package/cjs/components/Menu/Menu.styles.js.map +1 -1
- package/cjs/components/Menu/MenuItem/MenuItem.js +21 -15
- package/cjs/components/Menu/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/Menu/MenuLabel/MenuLabel.js +30 -1
- package/cjs/components/Menu/MenuLabel/MenuLabel.js.map +1 -1
- package/cjs/components/Menu/MenuLabel/MenuLabel.styles.js +18 -0
- package/cjs/components/Menu/MenuLabel/MenuLabel.styles.js.map +1 -0
- package/cjs/components/Modal/Modal.js +5 -11
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/Modal.styles.js +3 -3
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/MultiSelect/MultiSelect.js +9 -0
- package/cjs/components/MultiSelect/MultiSelect.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/Popover/Popover.js +1 -1
- package/cjs/components/Popover/Popover.js.map +1 -1
- package/cjs/components/RadioGroup/Radio/Radio.styles.js +5 -1
- package/cjs/components/RadioGroup/Radio/Radio.styles.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.js +2 -1
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/index.js +2 -0
- package/cjs/index.js.map +1 -1
- package/cjs/utils/get-context-item-index/get-context-item-index.js +19 -0
- package/cjs/utils/get-context-item-index/get-context-item-index.js.map +1 -0
- package/esm/components/AppShell/AppShell.context.js +10 -0
- package/esm/components/AppShell/AppShell.context.js.map +1 -0
- package/esm/components/AppShell/AppShell.js +9 -28
- package/esm/components/AppShell/AppShell.js.map +1 -1
- package/esm/components/AppShell/AppShell.styles.js +8 -16
- package/esm/components/AppShell/AppShell.styles.js.map +1 -1
- package/esm/components/AppShell/Header/Header.js +11 -3
- package/esm/components/AppShell/Header/Header.js.map +1 -1
- package/esm/components/AppShell/Navbar/Navbar.js +25 -4
- package/esm/components/AppShell/Navbar/Navbar.js.map +1 -1
- package/esm/components/AppShell/Navbar/Navbar.styles.js +3 -2
- package/esm/components/AppShell/Navbar/Navbar.styles.js.map +1 -1
- package/esm/components/AppShell/{utils → Navbar}/get-sorted-breakpoints/get-sorted-breakpoints.js +0 -0
- package/esm/components/AppShell/Navbar/get-sorted-breakpoints/get-sorted-breakpoints.js.map +1 -0
- package/esm/components/ColorPicker/converters/parsers.js +4 -4
- package/esm/components/ColorPicker/converters/parsers.js.map +1 -1
- package/esm/components/Drawer/Drawer.js +4 -7
- package/esm/components/Drawer/Drawer.js.map +1 -1
- package/esm/components/Drawer/Drawer.styles.js +2 -1
- package/esm/components/Drawer/Drawer.styles.js.map +1 -1
- package/esm/components/Group/Group.js +1 -0
- package/esm/components/Group/Group.js.map +1 -1
- package/esm/components/Group/Group.styles.js +4 -2
- package/esm/components/Group/Group.styles.js.map +1 -1
- package/esm/components/List/List.context.js +9 -0
- package/esm/components/List/List.context.js.map +1 -0
- package/esm/components/List/List.js +5 -13
- package/esm/components/List/List.js.map +1 -1
- package/esm/components/List/ListItem/ListItem.js +7 -20
- package/esm/components/List/ListItem/ListItem.js.map +1 -1
- package/esm/components/Menu/Menu.context.js +13 -0
- package/esm/components/Menu/Menu.context.js.map +1 -0
- package/esm/components/Menu/Menu.js +28 -56
- package/esm/components/Menu/Menu.js.map +1 -1
- package/esm/components/Menu/Menu.styles.js +5 -5
- package/esm/components/Menu/Menu.styles.js.map +1 -1
- package/esm/components/Menu/MenuItem/MenuItem.js +22 -17
- package/esm/components/Menu/MenuItem/MenuItem.js.map +1 -1
- package/esm/components/Menu/MenuLabel/MenuLabel.js +26 -1
- package/esm/components/Menu/MenuLabel/MenuLabel.js.map +1 -1
- package/esm/components/Menu/MenuLabel/MenuLabel.styles.js +14 -0
- package/esm/components/Menu/MenuLabel/MenuLabel.styles.js.map +1 -0
- package/esm/components/Modal/Modal.js +5 -11
- package/esm/components/Modal/Modal.js.map +1 -1
- package/esm/components/Modal/Modal.styles.js +3 -3
- package/esm/components/Modal/Modal.styles.js.map +1 -1
- package/esm/components/MultiSelect/MultiSelect.js +9 -0
- package/esm/components/MultiSelect/MultiSelect.js.map +1 -1
- package/esm/components/PasswordInput/PasswordInput.js +1 -1
- package/esm/components/PasswordInput/PasswordInput.js.map +1 -1
- package/esm/components/Popover/Popover.js +1 -1
- package/esm/components/Popover/Popover.js.map +1 -1
- package/esm/components/RadioGroup/Radio/Radio.styles.js +5 -1
- package/esm/components/RadioGroup/Radio/Radio.styles.js.map +1 -1
- package/esm/components/Tooltip/Tooltip.js +3 -2
- package/esm/components/Tooltip/Tooltip.js.map +1 -1
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -1
- package/esm/utils/get-context-item-index/get-context-item-index.js +15 -0
- package/esm/utils/get-context-item-index/get-context-item-index.js.map +1 -0
- package/lib/components/ActionIcon/CloseButton/CloseButton.d.ts +1 -1
- package/lib/components/Alert/Alert.styles.d.ts +2 -2
- package/lib/components/AppShell/AppShell.context.d.ts +9 -0
- package/lib/components/AppShell/AppShell.context.d.ts.map +1 -0
- package/lib/components/AppShell/AppShell.d.ts.map +1 -1
- package/lib/components/AppShell/AppShell.styles.d.ts +0 -5
- package/lib/components/AppShell/AppShell.styles.d.ts.map +1 -1
- package/lib/components/AppShell/Header/Header.d.ts.map +1 -1
- package/lib/components/AppShell/Navbar/Navbar.d.ts.map +1 -1
- package/lib/components/AppShell/Navbar/Navbar.styles.d.ts.map +1 -1
- package/lib/components/AppShell/{utils → Navbar}/get-sorted-breakpoints/get-sorted-breakpoints.d.ts +0 -0
- package/lib/components/AppShell/Navbar/get-sorted-breakpoints/get-sorted-breakpoints.d.ts.map +1 -0
- package/lib/components/Blockquote/Blockquote.styles.d.ts +2 -2
- package/lib/components/Checkbox/Checkbox.styles.d.ts +2 -2
- package/lib/components/Chips/Chip/Chip.styles.d.ts +2 -2
- package/lib/components/Drawer/Drawer.styles.d.ts +2 -2
- package/lib/components/Drawer/Drawer.styles.d.ts.map +1 -1
- package/lib/components/Group/Group.d.ts.map +1 -1
- package/lib/components/Group/Group.styles.d.ts +1 -1
- package/lib/components/Group/Group.styles.d.ts.map +1 -1
- package/lib/components/Input/Input.styles.d.ts +2 -2
- package/lib/components/List/List.context.d.ts +14 -0
- package/lib/components/List/List.context.d.ts.map +1 -0
- package/lib/components/List/List.d.ts.map +1 -1
- package/lib/components/List/ListItem/ListItem.d.ts +2 -6
- package/lib/components/List/ListItem/ListItem.d.ts.map +1 -1
- package/lib/components/Menu/Menu.context.d.ts +16 -0
- package/lib/components/Menu/Menu.context.d.ts.map +1 -0
- package/lib/components/Menu/Menu.d.ts +2 -2
- package/lib/components/Menu/Menu.d.ts.map +1 -1
- package/lib/components/Menu/Menu.styles.d.ts +2 -2
- package/lib/components/Menu/MenuItem/MenuItem.d.ts +8 -14
- package/lib/components/Menu/MenuItem/MenuItem.d.ts.map +1 -1
- package/lib/components/Menu/MenuLabel/MenuLabel.d.ts +4 -2
- package/lib/components/Menu/MenuLabel/MenuLabel.d.ts.map +1 -1
- package/lib/components/Menu/MenuLabel/MenuLabel.styles.d.ts +7 -0
- package/lib/components/Menu/MenuLabel/MenuLabel.styles.d.ts.map +1 -0
- package/lib/components/Modal/Modal.d.ts.map +1 -1
- package/lib/components/Modal/Modal.styles.d.ts +2 -2
- package/lib/components/MultiSelect/MultiSelect.d.ts.map +1 -1
- package/lib/components/MultiSelect/MultiSelect.styles.d.ts +2 -2
- package/lib/components/Notification/Notification.styles.d.ts +2 -2
- package/lib/components/RadioGroup/Radio/Radio.styles.d.ts.map +1 -1
- package/lib/components/SegmentedControl/SegmentedControl.styles.d.ts +2 -2
- package/lib/components/Tabs/TabControl/TabControl.d.ts +1 -1
- package/lib/components/Tabs/Tabs.styles.d.ts +2 -2
- package/lib/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/lib/components/Tooltip/Tooltip.styles.d.ts +2 -2
- package/lib/utils/get-context-item-index/get-context-item-index.d.ts +5 -0
- package/lib/utils/get-context-item-index/get-context-item-index.d.ts.map +1 -0
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.d.ts.map +1 -1
- package/package.json +3 -3
- package/cjs/components/AppShell/utils/get-element-height/get-element-height.js +0 -12
- package/cjs/components/AppShell/utils/get-element-height/get-element-height.js.map +0 -1
- package/cjs/components/AppShell/utils/get-navbar-base-width/get-navbar-base-width.js +0 -12
- package/cjs/components/AppShell/utils/get-navbar-base-width/get-navbar-base-width.js.map +0 -1
- package/cjs/components/AppShell/utils/get-navbar-breakpoints/get-navbar-breakpoints.js +0 -14
- package/cjs/components/AppShell/utils/get-navbar-breakpoints/get-navbar-breakpoints.js.map +0 -1
- package/cjs/components/AppShell/utils/get-sorted-breakpoints/get-sorted-breakpoints.js.map +0 -1
- package/esm/components/AppShell/utils/get-element-height/get-element-height.js +0 -8
- package/esm/components/AppShell/utils/get-element-height/get-element-height.js.map +0 -1
- package/esm/components/AppShell/utils/get-navbar-base-width/get-navbar-base-width.js +0 -8
- package/esm/components/AppShell/utils/get-navbar-base-width/get-navbar-base-width.js.map +0 -1
- package/esm/components/AppShell/utils/get-navbar-breakpoints/get-navbar-breakpoints.js +0 -10
- package/esm/components/AppShell/utils/get-navbar-breakpoints/get-navbar-breakpoints.js.map +0 -1
- package/esm/components/AppShell/utils/get-sorted-breakpoints/get-sorted-breakpoints.js.map +0 -1
- package/lib/components/AppShell/utils/get-element-height/get-element-height.d.ts +0 -3
- package/lib/components/AppShell/utils/get-element-height/get-element-height.d.ts.map +0 -1
- package/lib/components/AppShell/utils/get-navbar-base-width/get-navbar-base-width.d.ts +0 -3
- package/lib/components/AppShell/utils/get-navbar-base-width/get-navbar-base-width.d.ts.map +0 -1
- package/lib/components/AppShell/utils/get-navbar-breakpoints/get-navbar-breakpoints.d.ts +0 -7
- package/lib/components/AppShell/utils/get-navbar-breakpoints/get-navbar-breakpoints.d.ts.map +0 -1
- package/lib/components/AppShell/utils/get-sorted-breakpoints/get-sorted-breakpoints.d.ts.map +0 -1
- package/lib/components/AppShell/utils/index.d.ts +0 -5
- package/lib/components/AppShell/utils/index.d.ts.map +0 -1
|
@@ -4,10 +4,8 @@ import { getDefaultZIndex, useMantineDefaultProps } from '@mantine/styles';
|
|
|
4
4
|
import { MenuIcon } from './MenuIcon.js';
|
|
5
5
|
import { MenuItem } from './MenuItem/MenuItem.js';
|
|
6
6
|
import { MenuLabel } from './MenuLabel/MenuLabel.js';
|
|
7
|
+
import { MenuContext } from './Menu.context.js';
|
|
7
8
|
import useStyles from './Menu.styles.js';
|
|
8
|
-
import { filterChildrenByType } from '../../utils/filter-children-by-type/filter-children-by-type.js';
|
|
9
|
-
import { Divider } from '../Divider/Divider.js';
|
|
10
|
-
import { Text } from '../Text/Text.js';
|
|
11
9
|
import { Box } from '../Box/Box.js';
|
|
12
10
|
import { Popper } from '../Popper/Popper.js';
|
|
13
11
|
import { Paper } from '../Paper/Paper.js';
|
|
@@ -47,7 +45,7 @@ var __objRest = (source, exclude) => {
|
|
|
47
45
|
const defaultControl = /* @__PURE__ */ React.createElement(ActionIcon, null, /* @__PURE__ */ React.createElement(MenuIcon, null));
|
|
48
46
|
function getNextItem(active, items) {
|
|
49
47
|
for (let i = active + 1; i < items.length; i += 1) {
|
|
50
|
-
if (!items[i].
|
|
48
|
+
if (!items[i].disabled) {
|
|
51
49
|
return i;
|
|
52
50
|
}
|
|
53
51
|
}
|
|
@@ -55,7 +53,7 @@ function getNextItem(active, items) {
|
|
|
55
53
|
}
|
|
56
54
|
function findInitialItem(items) {
|
|
57
55
|
for (let i = 0; i < items.length; i += 1) {
|
|
58
|
-
if (!items[i].
|
|
56
|
+
if (!items[i].disabled) {
|
|
59
57
|
return i;
|
|
60
58
|
}
|
|
61
59
|
}
|
|
@@ -63,11 +61,11 @@ function findInitialItem(items) {
|
|
|
63
61
|
}
|
|
64
62
|
function getPreviousItem(active, items) {
|
|
65
63
|
for (let i = active - 1; i >= 0; i -= 1) {
|
|
66
|
-
if (!items[i].
|
|
64
|
+
if (!items[i].disabled) {
|
|
67
65
|
return i;
|
|
68
66
|
}
|
|
69
67
|
}
|
|
70
|
-
if (!items[active]
|
|
68
|
+
if (!items[active]) {
|
|
71
69
|
return findInitialItem(items);
|
|
72
70
|
}
|
|
73
71
|
return active;
|
|
@@ -91,7 +89,7 @@ const defaultProps = {
|
|
|
91
89
|
withinPortal: true,
|
|
92
90
|
trapFocus: true,
|
|
93
91
|
closeOnScroll: false,
|
|
94
|
-
clickOutsideEvents: ["
|
|
92
|
+
clickOutsideEvents: ["mousedown", "touchstart"]
|
|
95
93
|
};
|
|
96
94
|
const Menu = forwardRef((props, ref) => {
|
|
97
95
|
const _a = useMantineDefaultProps("Menu", defaultProps, props), {
|
|
@@ -164,13 +162,11 @@ const Menu = forwardRef((props, ref) => {
|
|
|
164
162
|
"clickOutsideEvents"
|
|
165
163
|
]);
|
|
166
164
|
const [hovered, setHovered] = useState(-1);
|
|
167
|
-
const
|
|
168
|
-
const { classes, cx, theme } = useStyles({ size }, { classNames, styles, name: "Menu" });
|
|
165
|
+
const { classes, cx } = useStyles({ size }, { classNames, styles, name: "Menu" });
|
|
169
166
|
const delayTimeout = useRef();
|
|
170
167
|
const [referenceElement, setReferenceElement] = useState(null);
|
|
171
168
|
const [wrapperElement, setWrapperElement] = useState(null);
|
|
172
169
|
const [dropdownElement, setDropdownElement] = useState(null);
|
|
173
|
-
const items = filterChildrenByType(children, [MenuItem, MenuLabel, Divider]);
|
|
174
170
|
const uuid = useUuid(menuId);
|
|
175
171
|
const focusReference = () => window.setTimeout(() => referenceElement == null ? void 0 : referenceElement.focus(), 0);
|
|
176
172
|
const [_opened, setOpened] = useUncontrolled({
|
|
@@ -216,20 +212,21 @@ const Menu = forwardRef((props, ref) => {
|
|
|
216
212
|
};
|
|
217
213
|
const handleKeyDown = (event) => {
|
|
218
214
|
if (_opened) {
|
|
215
|
+
const elements = Array.from(dropdownElement.querySelectorAll(".mantine-Menu-item"));
|
|
219
216
|
if (event.nativeEvent.code === "Tab" && trapFocus) {
|
|
220
217
|
event.preventDefault();
|
|
221
218
|
}
|
|
222
219
|
if (event.nativeEvent.code === "ArrowDown") {
|
|
223
220
|
event.preventDefault();
|
|
224
|
-
const prevIndex = getNextItem(hovered,
|
|
221
|
+
const prevIndex = getNextItem(hovered, elements);
|
|
225
222
|
setHovered(prevIndex);
|
|
226
|
-
|
|
223
|
+
elements[prevIndex].focus();
|
|
227
224
|
}
|
|
228
225
|
if (event.nativeEvent.code === "ArrowUp") {
|
|
229
226
|
event.preventDefault();
|
|
230
|
-
const prevIndex = getPreviousItem(hovered,
|
|
227
|
+
const prevIndex = getPreviousItem(hovered, elements);
|
|
231
228
|
setHovered(prevIndex);
|
|
232
|
-
|
|
229
|
+
elements[prevIndex].focus();
|
|
233
230
|
}
|
|
234
231
|
if (event.nativeEvent.code === "Escape") {
|
|
235
232
|
handleClose();
|
|
@@ -251,48 +248,23 @@ const Menu = forwardRef((props, ref) => {
|
|
|
251
248
|
[controlRefProp]: useMergedRef(setReferenceElement, ref),
|
|
252
249
|
onKeyDown: handleKeyDown
|
|
253
250
|
}));
|
|
254
|
-
const
|
|
255
|
-
if (
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
hovered: hovered === index,
|
|
259
|
-
onHover: () => setHovered(index),
|
|
260
|
-
radius,
|
|
261
|
-
onMouseLeave: () => setHovered(-1),
|
|
262
|
-
onKeyDown: handleKeyDown,
|
|
263
|
-
styles,
|
|
264
|
-
classNames,
|
|
265
|
-
onClick: (event) => {
|
|
266
|
-
if (closeOnItemClick) {
|
|
267
|
-
handleClose();
|
|
268
|
-
trigger === "click" && focusReference();
|
|
269
|
-
}
|
|
270
|
-
if (typeof item.props.onClick === "function") {
|
|
271
|
-
item.props.onClick(event);
|
|
272
|
-
}
|
|
273
|
-
},
|
|
274
|
-
ref: (node) => {
|
|
275
|
-
buttonsRefs.current[index] = node;
|
|
276
|
-
}
|
|
277
|
-
}));
|
|
251
|
+
const handleItemClick = () => {
|
|
252
|
+
if (closeOnItemClick) {
|
|
253
|
+
handleClose();
|
|
254
|
+
trigger === "click" && focusReference();
|
|
278
255
|
}
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
my: theme.spacing.xs / 2,
|
|
290
|
-
key: index
|
|
291
|
-
});
|
|
256
|
+
};
|
|
257
|
+
return /* @__PURE__ */ React.createElement(MenuContext.Provider, {
|
|
258
|
+
value: {
|
|
259
|
+
hovered,
|
|
260
|
+
radius,
|
|
261
|
+
styles,
|
|
262
|
+
classNames,
|
|
263
|
+
onItemHover: setHovered,
|
|
264
|
+
onItemKeyDown: handleKeyDown,
|
|
265
|
+
onItemClick: handleItemClick
|
|
292
266
|
}
|
|
293
|
-
|
|
294
|
-
});
|
|
295
|
-
return /* @__PURE__ */ React.createElement(Box, __spreadValues({
|
|
267
|
+
}, /* @__PURE__ */ React.createElement(Box, __spreadValues({
|
|
296
268
|
ref: setWrapperElement,
|
|
297
269
|
onMouseLeave: handleMouseLeave,
|
|
298
270
|
onMouseEnter: handleMouseEnter,
|
|
@@ -321,7 +293,7 @@ const Menu = forwardRef((props, ref) => {
|
|
|
321
293
|
onMouseLeave: () => setHovered(-1),
|
|
322
294
|
ref: setDropdownElement,
|
|
323
295
|
id: uuid
|
|
324
|
-
}, others),
|
|
296
|
+
}, others), children))));
|
|
325
297
|
});
|
|
326
298
|
Menu.Item = MenuItem;
|
|
327
299
|
Menu.Label = MenuLabel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.js","sources":["../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import React, { useState, useRef, cloneElement, forwardRef } from 'react';\nimport {\n useClickOutside,\n useMergedRef,\n useWindowEvent,\n useUncontrolled,\n useUuid,\n} from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineShadow,\n ClassNames,\n getDefaultZIndex,\n ForwardRefWithStaticComponents,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { filterChildrenByType } from '../../utils';\nimport { Box } from '../Box';\nimport { Divider } from '../Divider';\nimport { Paper } from '../Paper';\nimport { Text } from '../Text';\nimport { ActionIcon } from '../ActionIcon';\nimport { Popper, SharedPopperProps } from '../Popper';\nimport { MenuIcon } from './MenuIcon';\nimport { MenuItem, MenuItemType, MenuItemStylesNames } from './MenuItem/MenuItem';\nimport { MenuLabel } from './MenuLabel/MenuLabel';\nimport useStyles from './Menu.styles';\n\nexport type MenuStylesNames = ClassNames<typeof useStyles> | MenuItemStylesNames;\n\nexport interface MenuProps\n extends DefaultProps<MenuStylesNames>,\n SharedPopperProps,\n React.ComponentPropsWithRef<'div'> {\n /** <MenuItem /> and <Divider /> components only, children are passed to MenuBody component */\n children: React.ReactNode;\n\n /** React element that will be used as menu control */\n control?: React.ReactElement;\n\n /** Use opened and onClose props to setup controlled menu */\n opened?: boolean;\n\n /** Called every time menu is closed */\n onClose?(): void;\n\n /** Called every time menu is opened */\n onOpen?(): void;\n\n /** Menu button aria-label and title props */\n menuButtonLabel?: string;\n\n /** Predefined menu width or number for width in px */\n size?: MantineNumberSize | 'auto';\n\n /** Predefined shadow from theme or box-shadow value */\n shadow?: MantineShadow;\n\n /** Should menu close on item click */\n closeOnItemClick?: boolean;\n\n /** Id attribute of menu */\n menuId?: string;\n\n /** Control prop to get element ref */\n controlRefProp?: string;\n\n /** Menu body z-index */\n zIndex?: number;\n\n /** Event which should open menu */\n trigger?: 'click' | 'hover';\n\n /** Close delay for hover trigger */\n delay?: number;\n\n /** Menu body and items border-radius */\n radius?: MantineNumberSize;\n\n /** Close menu on scroll */\n closeOnScroll?: boolean;\n\n /** Whether to render the dropdown in a Portal */\n withinPortal?: boolean;\n\n /** Should focus be trapped when menu is opened */\n trapFocus?: boolean;\n\n /** Events that should trigger outside clicks */\n clickOutsideEvents?: string[];\n}\n\nconst defaultControl = (\n <ActionIcon>\n <MenuIcon />\n </ActionIcon>\n);\n\ntype MenuComponent = ForwardRefWithStaticComponents<\n MenuProps,\n { Item: typeof MenuItem; Label: typeof MenuLabel }\n>;\n\nfunction getNextItem(active: number, items: MenuItemType[]) {\n for (let i = active + 1; i < items.length; i += 1) {\n if (!items[i].props.disabled && items[i].type === MenuItem) {\n return i;\n }\n }\n\n return active;\n}\n\nfunction findInitialItem(items: MenuItemType[]) {\n for (let i = 0; i < items.length; i += 1) {\n if (!items[i].props.disabled && items[i].type === MenuItem) {\n return i;\n }\n }\n\n return -1;\n}\n\nfunction getPreviousItem(active: number, items: MenuItemType[]) {\n for (let i = active - 1; i >= 0; i -= 1) {\n if (!items[i].props.disabled && items[i].type === MenuItem) {\n return i;\n }\n }\n\n if (!items[active] || items[active].type !== MenuItem) {\n return findInitialItem(items);\n }\n\n return active;\n}\n\nconst defaultProps: Partial<MenuProps> = {\n control: defaultControl,\n closeOnItemClick: true,\n transitionDuration: 150,\n size: 'md',\n shadow: 'md',\n position: 'bottom',\n placement: 'start',\n gutter: 5,\n withArrow: false,\n transition: 'pop-top-left',\n controlRefProp: 'ref',\n trigger: 'click',\n radius: 'sm',\n delay: 100,\n zIndex: getDefaultZIndex('popover'),\n withinPortal: true,\n trapFocus: true,\n closeOnScroll: false,\n clickOutsideEvents: ['mouseup', 'touchstart'],\n};\n\nexport const Menu: MenuComponent = forwardRef<HTMLButtonElement, MenuProps>(\n (props: MenuProps, ref) => {\n const {\n control,\n children,\n onClose,\n onOpen,\n opened,\n menuId,\n closeOnItemClick,\n transitionDuration,\n size,\n shadow,\n position,\n placement,\n gutter,\n withArrow,\n transition,\n transitionTimingFunction,\n menuButtonLabel,\n controlRefProp,\n trigger,\n radius,\n delay,\n zIndex,\n withinPortal,\n trapFocus,\n classNames,\n styles,\n closeOnScroll,\n onMouseLeave,\n onMouseEnter,\n onChange,\n className,\n sx,\n clickOutsideEvents,\n ...others\n } = useMantineDefaultProps('Menu', defaultProps, props);\n const [hovered, setHovered] = useState(-1);\n const buttonsRefs = useRef<Record<string, HTMLButtonElement>>({});\n const { classes, cx, theme } = useStyles({ size }, { classNames, styles, name: 'Menu' });\n const delayTimeout = useRef<number>();\n const [referenceElement, setReferenceElement] = useState<HTMLButtonElement>(null);\n const [wrapperElement, setWrapperElement] = useState<HTMLDivElement>(null);\n const [dropdownElement, setDropdownElement] = useState<HTMLDivElement>(null);\n const items = filterChildrenByType(children, [MenuItem, MenuLabel, Divider]);\n const uuid = useUuid(menuId);\n\n const focusReference = () => window.setTimeout(() => referenceElement?.focus(), 0);\n\n const [_opened, setOpened] = useUncontrolled({\n value: opened,\n defaultValue: false,\n finalValue: false,\n rule: (val) => typeof val === 'boolean',\n onChange: (value) =>\n value\n ? typeof onOpen === 'function' && onOpen()\n : typeof onClose === 'function' && onClose(),\n });\n\n const openedRef = useRef(_opened);\n\n const handleClose = () => {\n if (openedRef.current) {\n openedRef.current = false;\n setOpened(false);\n }\n };\n\n const handleOpen = () => {\n openedRef.current = true;\n setOpened(true);\n };\n\n useWindowEvent('scroll', () => closeOnScroll && handleClose());\n\n useClickOutside(() => _opened && handleClose(), clickOutsideEvents, [\n dropdownElement,\n wrapperElement,\n ]);\n\n const toggleMenu = () => {\n _opened ? handleClose() : handleOpen();\n };\n\n const controlEventHandlers =\n trigger === 'click'\n ? { onClick: toggleMenu }\n : { onMouseEnter: handleOpen, onClick: toggleMenu };\n\n const handleMouseLeave = (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n typeof onMouseLeave === 'function' && onMouseLeave(event);\n\n if (trigger === 'hover') {\n if (delay > 0) {\n delayTimeout.current = window.setTimeout(() => handleClose(), delay);\n } else {\n handleClose();\n }\n }\n };\n\n const handleMouseEnter = (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n typeof onMouseEnter === 'function' && onMouseEnter(event);\n window.clearTimeout(delayTimeout.current);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (_opened) {\n if (event.nativeEvent.code === 'Tab' && trapFocus) {\n event.preventDefault();\n }\n\n if (event.nativeEvent.code === 'ArrowDown') {\n event.preventDefault();\n const prevIndex = getNextItem(hovered, items);\n setHovered(prevIndex);\n buttonsRefs.current[prevIndex].focus();\n }\n\n if (event.nativeEvent.code === 'ArrowUp') {\n event.preventDefault();\n const prevIndex = getPreviousItem(hovered, items);\n setHovered(prevIndex);\n buttonsRefs.current[prevIndex].focus();\n }\n\n if (event.nativeEvent.code === 'Escape') {\n handleClose();\n focusReference();\n }\n }\n };\n\n const menuControl = cloneElement(control, {\n ...controlEventHandlers,\n onClick: (event: React.MouseEvent<any>) => {\n controlEventHandlers.onClick();\n typeof control.props.onClick === 'function' && control.props.onClick(event);\n },\n role: 'button',\n 'aria-haspopup': 'menu',\n 'aria-expanded': _opened,\n 'aria-controls': uuid,\n 'aria-label': menuButtonLabel,\n title: menuButtonLabel,\n [controlRefProp]: useMergedRef(setReferenceElement, ref),\n onKeyDown: handleKeyDown,\n });\n\n const content = items.map((item, index) => {\n if (item.type === MenuItem) {\n return (\n <MenuItem<'button'>\n {...item.props}\n key={index}\n hovered={hovered === index}\n onHover={() => setHovered(index)}\n radius={radius}\n onMouseLeave={() => setHovered(-1)}\n onKeyDown={handleKeyDown}\n styles={styles}\n classNames={classNames}\n onClick={(event) => {\n if (closeOnItemClick) {\n handleClose();\n trigger === 'click' && focusReference();\n }\n\n if (typeof item.props.onClick === 'function') {\n item.props.onClick(event);\n }\n }}\n ref={(node) => {\n buttonsRefs.current[index] = node;\n }}\n />\n );\n }\n\n if (item.type === MenuLabel) {\n return <Text key={index} className={classes.label} {...(item.props as any)} />;\n }\n\n if (item.type === Divider) {\n return (\n <Divider\n variant=\"solid\"\n className={classes.divider}\n my={theme.spacing.xs / 2}\n key={index}\n />\n );\n }\n\n return null;\n });\n\n return (\n <Box\n ref={setWrapperElement}\n onMouseLeave={handleMouseLeave}\n onMouseEnter={handleMouseEnter}\n className={cx(classes.root, className)}\n sx={sx}\n {...others}\n >\n {menuControl}\n\n <Popper\n referenceElement={referenceElement}\n transitionDuration={transitionDuration}\n transitionTimingFunction={transitionTimingFunction}\n transition={transition}\n mounted={_opened}\n position={position}\n placement={placement}\n gutter={gutter}\n withArrow={withArrow}\n arrowSize={3}\n zIndex={zIndex}\n arrowClassName={classes.arrow}\n withinPortal={withinPortal}\n >\n <Paper\n shadow={shadow}\n className={classes.body}\n role=\"menu\"\n aria-orientation=\"vertical\"\n radius={radius}\n onMouseLeave={() => setHovered(-1)}\n ref={setDropdownElement}\n id={uuid}\n {...others}\n >\n {content}\n </Paper>\n </Popper>\n </Box>\n );\n }\n) as any;\n\nMenu.Item = MenuItem;\nMenu.Label = MenuLabel;\n\nMenu.displayName = '@mantine/core/Menu';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Menu.js","sources":["../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import React, { useState, useRef, cloneElement, forwardRef } from 'react';\nimport {\n useClickOutside,\n useMergedRef,\n useWindowEvent,\n useUncontrolled,\n useUuid,\n} from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineShadow,\n ClassNames,\n getDefaultZIndex,\n ForwardRefWithStaticComponents,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Paper } from '../Paper';\nimport { ActionIcon } from '../ActionIcon';\nimport { Popper, SharedPopperProps } from '../Popper';\nimport { MenuIcon } from './MenuIcon';\nimport { MenuItem, MenuItemStylesNames } from './MenuItem/MenuItem';\nimport { MenuLabel, MenuLabelStylesNames } from './MenuLabel/MenuLabel';\nimport { MenuContext } from './Menu.context';\nimport useStyles from './Menu.styles';\n\nexport type MenuStylesNames =\n | ClassNames<typeof useStyles>\n | MenuItemStylesNames\n | MenuLabelStylesNames;\n\nexport interface MenuProps\n extends DefaultProps<MenuStylesNames>,\n SharedPopperProps,\n React.ComponentPropsWithRef<'div'> {\n /** <MenuItem /> and <Divider /> components only, children are passed to MenuBody component */\n children: React.ReactNode;\n\n /** React element that will be used as menu control */\n control?: React.ReactElement;\n\n /** Use opened and onClose props to setup controlled menu */\n opened?: boolean;\n\n /** Called every time menu is closed */\n onClose?(): void;\n\n /** Called every time menu is opened */\n onOpen?(): void;\n\n /** Menu button aria-label and title props */\n menuButtonLabel?: string;\n\n /** Predefined menu width or number for width in px */\n size?: MantineNumberSize | 'auto';\n\n /** Predefined shadow from theme or box-shadow value */\n shadow?: MantineShadow;\n\n /** Should menu close on item click */\n closeOnItemClick?: boolean;\n\n /** Id attribute of menu */\n menuId?: string;\n\n /** Control prop to get element ref */\n controlRefProp?: string;\n\n /** Menu body z-index */\n zIndex?: number;\n\n /** Event which should open menu */\n trigger?: 'click' | 'hover';\n\n /** Close delay for hover trigger */\n delay?: number;\n\n /** Menu body and items border-radius */\n radius?: MantineNumberSize;\n\n /** Close menu on scroll */\n closeOnScroll?: boolean;\n\n /** Whether to render the dropdown in a Portal */\n withinPortal?: boolean;\n\n /** Should focus be trapped when menu is opened */\n trapFocus?: boolean;\n\n /** Events that should trigger outside clicks */\n clickOutsideEvents?: string[];\n}\n\nconst defaultControl = (\n <ActionIcon>\n <MenuIcon />\n </ActionIcon>\n);\n\ntype MenuComponent = ForwardRefWithStaticComponents<\n MenuProps,\n { Item: typeof MenuItem; Label: typeof MenuLabel }\n>;\n\nfunction getNextItem(active: number, items: HTMLButtonElement[]) {\n for (let i = active + 1; i < items.length; i += 1) {\n if (!items[i].disabled) {\n return i;\n }\n }\n\n return active;\n}\n\nfunction findInitialItem(items: HTMLButtonElement[]) {\n for (let i = 0; i < items.length; i += 1) {\n if (!items[i].disabled) {\n return i;\n }\n }\n\n return -1;\n}\n\nfunction getPreviousItem(active: number, items: HTMLButtonElement[]) {\n for (let i = active - 1; i >= 0; i -= 1) {\n if (!items[i].disabled) {\n return i;\n }\n }\n\n if (!items[active]) {\n return findInitialItem(items);\n }\n\n return active;\n}\n\nconst defaultProps: Partial<MenuProps> = {\n control: defaultControl,\n closeOnItemClick: true,\n transitionDuration: 150,\n size: 'md',\n shadow: 'md',\n position: 'bottom',\n placement: 'start',\n gutter: 5,\n withArrow: false,\n transition: 'pop-top-left',\n controlRefProp: 'ref',\n trigger: 'click',\n radius: 'sm',\n delay: 100,\n zIndex: getDefaultZIndex('popover'),\n withinPortal: true,\n trapFocus: true,\n closeOnScroll: false,\n clickOutsideEvents: ['mousedown', 'touchstart'],\n};\n\nexport const Menu: MenuComponent = forwardRef<HTMLButtonElement, MenuProps>(\n (props: MenuProps, ref) => {\n const {\n control,\n children,\n onClose,\n onOpen,\n opened,\n menuId,\n closeOnItemClick,\n transitionDuration,\n size,\n shadow,\n position,\n placement,\n gutter,\n withArrow,\n transition,\n transitionTimingFunction,\n menuButtonLabel,\n controlRefProp,\n trigger,\n radius,\n delay,\n zIndex,\n withinPortal,\n trapFocus,\n classNames,\n styles,\n closeOnScroll,\n onMouseLeave,\n onMouseEnter,\n onChange,\n className,\n sx,\n clickOutsideEvents,\n ...others\n } = useMantineDefaultProps('Menu', defaultProps, props);\n const [hovered, setHovered] = useState(-1);\n const { classes, cx } = useStyles({ size }, { classNames, styles, name: 'Menu' });\n const delayTimeout = useRef<number>();\n const [referenceElement, setReferenceElement] = useState<HTMLButtonElement>(null);\n const [wrapperElement, setWrapperElement] = useState<HTMLDivElement>(null);\n const [dropdownElement, setDropdownElement] = useState<HTMLDivElement>(null);\n const uuid = useUuid(menuId);\n\n const focusReference = () => window.setTimeout(() => referenceElement?.focus(), 0);\n\n const [_opened, setOpened] = useUncontrolled({\n value: opened,\n defaultValue: false,\n finalValue: false,\n rule: (val) => typeof val === 'boolean',\n onChange: (value) =>\n value\n ? typeof onOpen === 'function' && onOpen()\n : typeof onClose === 'function' && onClose(),\n });\n\n const openedRef = useRef(_opened);\n\n const handleClose = () => {\n if (openedRef.current) {\n openedRef.current = false;\n setOpened(false);\n }\n };\n\n const handleOpen = () => {\n openedRef.current = true;\n setOpened(true);\n };\n\n useWindowEvent('scroll', () => closeOnScroll && handleClose());\n\n useClickOutside(() => _opened && handleClose(), clickOutsideEvents, [\n dropdownElement,\n wrapperElement,\n ]);\n\n const toggleMenu = () => {\n _opened ? handleClose() : handleOpen();\n };\n\n const controlEventHandlers =\n trigger === 'click'\n ? { onClick: toggleMenu }\n : { onMouseEnter: handleOpen, onClick: toggleMenu };\n\n const handleMouseLeave = (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n typeof onMouseLeave === 'function' && onMouseLeave(event);\n\n if (trigger === 'hover') {\n if (delay > 0) {\n delayTimeout.current = window.setTimeout(() => handleClose(), delay);\n } else {\n handleClose();\n }\n }\n };\n\n const handleMouseEnter = (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n typeof onMouseEnter === 'function' && onMouseEnter(event);\n window.clearTimeout(delayTimeout.current);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLElement>) => {\n if (_opened) {\n const elements = Array.from(\n dropdownElement.querySelectorAll<HTMLButtonElement>('.mantine-Menu-item')\n );\n\n if (event.nativeEvent.code === 'Tab' && trapFocus) {\n event.preventDefault();\n }\n\n if (event.nativeEvent.code === 'ArrowDown') {\n event.preventDefault();\n const prevIndex = getNextItem(hovered, elements);\n setHovered(prevIndex);\n elements[prevIndex].focus();\n }\n\n if (event.nativeEvent.code === 'ArrowUp') {\n event.preventDefault();\n const prevIndex = getPreviousItem(hovered, elements);\n setHovered(prevIndex);\n elements[prevIndex].focus();\n }\n\n if (event.nativeEvent.code === 'Escape') {\n handleClose();\n focusReference();\n }\n }\n };\n\n const menuControl = cloneElement(control, {\n ...controlEventHandlers,\n onClick: (event: React.MouseEvent<any>) => {\n controlEventHandlers.onClick();\n typeof control.props.onClick === 'function' && control.props.onClick(event);\n },\n role: 'button',\n 'aria-haspopup': 'menu',\n 'aria-expanded': _opened,\n 'aria-controls': uuid,\n 'aria-label': menuButtonLabel,\n title: menuButtonLabel,\n [controlRefProp]: useMergedRef(setReferenceElement, ref),\n onKeyDown: handleKeyDown,\n });\n\n const handleItemClick = () => {\n if (closeOnItemClick) {\n handleClose();\n trigger === 'click' && focusReference();\n }\n };\n\n return (\n <MenuContext.Provider\n value={{\n hovered,\n radius,\n styles,\n classNames,\n onItemHover: setHovered,\n onItemKeyDown: handleKeyDown,\n onItemClick: handleItemClick,\n }}\n >\n <Box\n ref={setWrapperElement}\n onMouseLeave={handleMouseLeave}\n onMouseEnter={handleMouseEnter}\n className={cx(classes.root, className)}\n sx={sx}\n {...others}\n >\n {menuControl}\n\n <Popper\n referenceElement={referenceElement}\n transitionDuration={transitionDuration}\n transitionTimingFunction={transitionTimingFunction}\n transition={transition}\n mounted={_opened}\n position={position}\n placement={placement}\n gutter={gutter}\n withArrow={withArrow}\n arrowSize={3}\n zIndex={zIndex}\n arrowClassName={classes.arrow}\n withinPortal={withinPortal}\n >\n <Paper\n shadow={shadow}\n className={classes.body}\n role=\"menu\"\n aria-orientation=\"vertical\"\n radius={radius}\n onMouseLeave={() => setHovered(-1)}\n ref={setDropdownElement}\n id={uuid}\n {...others}\n >\n {children}\n </Paper>\n </Popper>\n </Box>\n </MenuContext.Provider>\n );\n }\n) as any;\n\nMenu.Item = MenuItem;\nMenu.Label = MenuLabel;\n\nMenu.displayName = '@mantine/core/Menu';\n"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAsBF,MAAM,cAAc,mBAAmB,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,kBAAkB,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;AAClI,SAAS,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE;AACpC,EAAE,KAAK,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AACrD,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;AAC5B,MAAM,OAAO,CAAC,CAAC;AACf,KAAK;AACL,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,SAAS,eAAe,CAAC,KAAK,EAAE;AAChC,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAC5C,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;AAC5B,MAAM,OAAO,CAAC,CAAC;AACf,KAAK;AACL,GAAG;AACH,EAAE,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AACD,SAAS,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE;AACxC,EAAE,KAAK,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;AAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;AAC5B,MAAM,OAAO,CAAC,CAAC;AACf,KAAK;AACL,GAAG;AACH,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AACtB,IAAI,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAClC,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,MAAM,YAAY,GAAG;AACrB,EAAE,OAAO,EAAE,cAAc;AACzB,EAAE,gBAAgB,EAAE,IAAI;AACxB,EAAE,kBAAkB,EAAE,GAAG;AACzB,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,MAAM,EAAE,IAAI;AACd,EAAE,QAAQ,EAAE,QAAQ;AACpB,EAAE,SAAS,EAAE,OAAO;AACpB,EAAE,MAAM,EAAE,CAAC;AACX,EAAE,SAAS,EAAE,KAAK;AAClB,EAAE,UAAU,EAAE,cAAc;AAC5B,EAAE,cAAc,EAAE,KAAK;AACvB,EAAE,OAAO,EAAE,OAAO;AAClB,EAAE,MAAM,EAAE,IAAI;AACd,EAAE,KAAK,EAAE,GAAG;AACZ,EAAE,MAAM,EAAE,gBAAgB,CAAC,SAAS,CAAC;AACrC,EAAE,YAAY,EAAE,IAAI;AACpB,EAAE,SAAS,EAAE,IAAI;AACjB,EAAE,aAAa,EAAE,KAAK;AACtB,EAAE,kBAAkB,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;AACjD,CAAC,CAAC;AACU,MAAC,IAAI,GAAG,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AAC/C,EAAE,MAAM,EAAE,GAAG,sBAAsB,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;AAClE,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,gBAAgB;AACpB,IAAI,kBAAkB;AACtB,IAAI,IAAI;AACR,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,MAAM;AACV,IAAI,SAAS;AACb,IAAI,UAAU;AACd,IAAI,wBAAwB;AAC5B,IAAI,eAAe;AACnB,IAAI,cAAc;AAClB,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,YAAY;AAChB,IAAI,SAAS;AACb,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,aAAa;AACjB,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,EAAE;AACN,IAAI,kBAAkB;AACtB,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,SAAS;AACb,IAAI,UAAU;AACd,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,kBAAkB;AACtB,IAAI,oBAAoB;AACxB,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,WAAW;AACf,IAAI,QAAQ;AACZ,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,IAAI,0BAA0B;AAC9B,IAAI,iBAAiB;AACrB,IAAI,gBAAgB;AACpB,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,IAAI,cAAc;AAClB,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,eAAe;AACnB,IAAI,cAAc;AAClB,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,WAAW;AACf,IAAI,IAAI;AACR,IAAI,oBAAoB;AACxB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AACpF,EAAE,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC;AAChC,EAAE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AACjE,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC7D,EAAE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC/D,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC/B,EAAE,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,gBAAgB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,gBAAgB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;AACxH,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,eAAe,CAAC;AAC/C,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,YAAY,EAAE,KAAK;AACvB,IAAI,UAAU,EAAE,KAAK;AACrB,IAAI,IAAI,EAAE,CAAC,GAAG,KAAK,OAAO,GAAG,KAAK,SAAS;AAC3C,IAAI,QAAQ,EAAE,CAAC,KAAK,KAAK,KAAK,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,EAAE,GAAG,OAAO,OAAO,KAAK,UAAU,IAAI,OAAO,EAAE;AACtH,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AACpC,EAAE,MAAM,WAAW,GAAG,MAAM;AAC5B,IAAI,IAAI,SAAS,CAAC,OAAO,EAAE;AAC3B,MAAM,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;AAChC,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;AACvB,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,UAAU,GAAG,MAAM;AAC3B,IAAI,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;AAC7B,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;AACpB,GAAG,CAAC;AACJ,EAAE,cAAc,CAAC,QAAQ,EAAE,MAAM,aAAa,IAAI,WAAW,EAAE,CAAC,CAAC;AACjE,EAAE,eAAe,CAAC,MAAM,OAAO,IAAI,WAAW,EAAE,EAAE,kBAAkB,EAAE;AACtE,IAAI,eAAe;AACnB,IAAI,cAAc;AAClB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,UAAU,GAAG,MAAM;AAC3B,IAAI,OAAO,GAAG,WAAW,EAAE,GAAG,UAAU,EAAE,CAAC;AAC3C,GAAG,CAAC;AACJ,EAAE,MAAM,oBAAoB,GAAG,OAAO,KAAK,OAAO,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACjI,EAAE,MAAM,gBAAgB,GAAG,CAAC,KAAK,KAAK;AACtC,IAAI,OAAO,YAAY,KAAK,UAAU,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;AAC9D,IAAI,IAAI,OAAO,KAAK,OAAO,EAAE;AAC7B,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE;AACrB,QAAQ,YAAY,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;AAC7E,OAAO,MAAM;AACb,QAAQ,WAAW,EAAE,CAAC;AACtB,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,gBAAgB,GAAG,CAAC,KAAK,KAAK;AACtC,IAAI,OAAO,YAAY,KAAK,UAAU,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;AAC9D,IAAI,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AAC9C,GAAG,CAAC;AACJ,EAAE,MAAM,aAAa,GAAG,CAAC,KAAK,KAAK;AACnC,IAAI,IAAI,OAAO,EAAE;AACjB,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAC1F,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,KAAK,IAAI,SAAS,EAAE;AACzD,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;AAC/B,OAAO;AACP,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,WAAW,EAAE;AAClD,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;AAC/B,QAAQ,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACzD,QAAQ,UAAU,CAAC,SAAS,CAAC,CAAC;AAC9B,QAAQ,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;AACpC,OAAO;AACP,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE;AAChD,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;AAC/B,QAAQ,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC7D,QAAQ,UAAU,CAAC,SAAS,CAAC,CAAC;AAC9B,QAAQ,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;AACpC,OAAO;AACP,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC/C,QAAQ,WAAW,EAAE,CAAC;AACtB,QAAQ,cAAc,EAAE,CAAC;AACzB,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,oBAAoB,CAAC,EAAE;AACpG,IAAI,OAAO,EAAE,CAAC,KAAK,KAAK;AACxB,MAAM,oBAAoB,CAAC,OAAO,EAAE,CAAC;AACrC,MAAM,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAClF,KAAK;AACL,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,eAAe,EAAE,MAAM;AAC3B,IAAI,eAAe,EAAE,OAAO;AAC5B,IAAI,eAAe,EAAE,IAAI;AACzB,IAAI,YAAY,EAAE,eAAe;AACjC,IAAI,KAAK,EAAE,eAAe;AAC1B,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC,mBAAmB,EAAE,GAAG,CAAC;AAC5D,IAAI,SAAS,EAAE,aAAa;AAC5B,GAAG,CAAC,CAAC,CAAC;AACN,EAAE,MAAM,eAAe,GAAG,MAAM;AAChC,IAAI,IAAI,gBAAgB,EAAE;AAC1B,MAAM,WAAW,EAAE,CAAC;AACpB,MAAM,OAAO,KAAK,OAAO,IAAI,cAAc,EAAE,CAAC;AAC9C,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,EAAE;AACnE,IAAI,KAAK,EAAE;AACX,MAAM,OAAO;AACb,MAAM,MAAM;AACZ,MAAM,MAAM;AACZ,MAAM,UAAU;AAChB,MAAM,WAAW,EAAE,UAAU;AAC7B,MAAM,aAAa,EAAE,aAAa;AAClC,MAAM,WAAW,EAAE,eAAe;AAClC,KAAK;AACL,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC;AAC7D,IAAI,GAAG,EAAE,iBAAiB;AAC1B,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;AAC1C,IAAI,EAAE;AACN,GAAG,EAAE,MAAM,CAAC,EAAE,WAAW,kBAAkB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AACvE,IAAI,gBAAgB;AACpB,IAAI,kBAAkB;AACtB,IAAI,wBAAwB;AAC5B,IAAI,UAAU;AACd,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,MAAM;AACV,IAAI,SAAS;AACb,IAAI,SAAS,EAAE,CAAC;AAChB,IAAI,MAAM;AACV,IAAI,cAAc,EAAE,OAAO,CAAC,KAAK;AACjC,IAAI,YAAY;AAChB,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC;AAC/D,IAAI,MAAM;AACV,IAAI,SAAS,EAAE,OAAO,CAAC,IAAI;AAC3B,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,kBAAkB,EAAE,UAAU;AAClC,IAAI,MAAM;AACV,IAAI,YAAY,EAAE,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;AACtC,IAAI,GAAG,EAAE,kBAAkB;AAC3B,IAAI,EAAE,EAAE,IAAI;AACZ,GAAG,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,EAAE;AACH,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;AACrB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;AACvB,IAAI,CAAC,WAAW,GAAG,oBAAoB;;;;"}
|
|
@@ -23,11 +23,11 @@ var useStyles = createStyles((theme, { size }) => ({
|
|
|
23
23
|
pointerEvents: "all",
|
|
24
24
|
border: `1px solid ${theme.colorScheme === "dark" ? theme.colors.dark[6] : theme.colors.gray[2]}`,
|
|
25
25
|
backgroundColor: theme.colorScheme === "dark" ? theme.colors.dark[6] : theme.white,
|
|
26
|
-
padding: MENU_PADDING
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
padding: MENU_PADDING,
|
|
27
|
+
"& .mantine-Divider-horizontal": {
|
|
28
|
+
margin: `${theme.spacing.xs / 2}px -${MENU_PADDING}px`,
|
|
29
|
+
borderTopColor: theme.colorScheme === "dark" ? theme.colors.dark[7] : theme.colors.gray[2]
|
|
30
|
+
}
|
|
31
31
|
},
|
|
32
32
|
label: {
|
|
33
33
|
color: theme.colorScheme === "dark" ? theme.colors.dark[2] : theme.colors.gray[6],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.styles.js","sources":["../../../src/components/Menu/Menu.styles.ts"],"sourcesContent":["import { createStyles, MantineNumberSize } from '@mantine/styles';\n\nexport interface MenuStylesParams {\n size: MantineNumberSize | 'auto';\n}\n\nexport const sizes = {\n xs: 120,\n sm: 160,\n md: 200,\n lg: 240,\n xl: 300,\n};\n\nconst MENU_PADDING = 4;\n\nexport default createStyles((theme, { size }: MenuStylesParams) => ({\n root: {\n display: 'inline-block',\n position: 'relative',\n },\n\n arrow: {\n borderColor: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[2],\n background: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.white,\n },\n\n body: {\n width: theme.fn.size({ size, sizes }),\n overflow: 'hidden',\n pointerEvents: 'all',\n border: `1px solid ${\n theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[2]\n }`,\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.white,\n padding: MENU_PADDING,\n
|
|
1
|
+
{"version":3,"file":"Menu.styles.js","sources":["../../../src/components/Menu/Menu.styles.ts"],"sourcesContent":["import { createStyles, MantineNumberSize } from '@mantine/styles';\n\nexport interface MenuStylesParams {\n size: MantineNumberSize | 'auto';\n}\n\nexport const sizes = {\n xs: 120,\n sm: 160,\n md: 200,\n lg: 240,\n xl: 300,\n};\n\nconst MENU_PADDING = 4;\n\nexport default createStyles((theme, { size }: MenuStylesParams) => ({\n root: {\n display: 'inline-block',\n position: 'relative',\n },\n\n arrow: {\n borderColor: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[2],\n background: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.white,\n },\n\n body: {\n width: theme.fn.size({ size, sizes }),\n overflow: 'hidden',\n pointerEvents: 'all',\n border: `1px solid ${\n theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[2]\n }`,\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.white,\n padding: MENU_PADDING,\n\n '& .mantine-Divider-horizontal': {\n margin: `${theme.spacing.xs / 2}px -${MENU_PADDING}px`,\n borderTopColor: theme.colorScheme === 'dark' ? theme.colors.dark[7] : theme.colors.gray[2],\n },\n },\n\n label: {\n color: theme.colorScheme === 'dark' ? theme.colors.dark[2] : theme.colors.gray[6],\n fontWeight: 500,\n fontSize: theme.fontSizes.xs,\n padding: `${theme.spacing.xs / 2}px ${theme.spacing.sm}px`,\n cursor: 'default',\n },\n}));\n"],"names":[],"mappings":";;AACY,MAAC,KAAK,GAAG;AACrB,EAAE,EAAE,EAAE,GAAG;AACT,EAAE,EAAE,EAAE,GAAG;AACT,EAAE,EAAE,EAAE,GAAG;AACT,EAAE,EAAE,EAAE,GAAG;AACT,EAAE,EAAE,EAAE,GAAG;AACT,EAAE;AACF,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,gBAAe,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM;AAClD,EAAE,IAAI,EAAE;AACR,IAAI,OAAO,EAAE,cAAc;AAC3B,IAAI,QAAQ,EAAE,UAAU;AACxB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,WAAW,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3F,IAAI,UAAU,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK;AACjF,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACzC,IAAI,QAAQ,EAAE,QAAQ;AACtB,IAAI,aAAa,EAAE,KAAK;AACxB,IAAI,MAAM,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrG,IAAI,eAAe,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK;AACtF,IAAI,OAAO,EAAE,YAAY;AACzB,IAAI,+BAA+B,EAAE;AACrC,MAAM,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC;AAC5D,MAAM,cAAc,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAChG,KAAK;AACL,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,KAAK,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACrF,IAAI,UAAU,EAAE,GAAG;AACnB,IAAI,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE;AAChC,IAAI,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;AAC9D,IAAI,MAAM,EAAE,SAAS;AACrB,GAAG;AACH,CAAC,CAAC,CAAC;;;;;"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import React, { forwardRef } from 'react';
|
|
1
|
+
import React, { forwardRef, useRef } from 'react';
|
|
2
|
+
import { mergeRefs } from '@mantine/hooks';
|
|
3
|
+
import { useMenuContext } from '../Menu.context.js';
|
|
2
4
|
import useStyles from './MenuItem.styles.js';
|
|
5
|
+
import { getContextItemIndex } from '../../../utils/get-context-item-index/get-context-item-index.js';
|
|
3
6
|
import { Box } from '../../Box/Box.js';
|
|
4
7
|
|
|
5
8
|
var __defProp = Object.defineProperty;
|
|
@@ -30,43 +33,44 @@ var __objRest = (source, exclude) => {
|
|
|
30
33
|
}
|
|
31
34
|
return target;
|
|
32
35
|
};
|
|
33
|
-
const
|
|
36
|
+
const _MenuItem = forwardRef((_a, ref) => {
|
|
34
37
|
var _b = _a, {
|
|
35
38
|
className,
|
|
36
39
|
children,
|
|
37
|
-
onHover,
|
|
38
|
-
hovered,
|
|
39
40
|
icon,
|
|
40
41
|
color,
|
|
41
42
|
disabled,
|
|
42
43
|
rightSection,
|
|
43
44
|
component,
|
|
44
|
-
|
|
45
|
-
styles,
|
|
46
|
-
radius
|
|
45
|
+
onClick
|
|
47
46
|
} = _b, others = __objRest(_b, [
|
|
48
47
|
"className",
|
|
49
48
|
"children",
|
|
50
|
-
"onHover",
|
|
51
|
-
"hovered",
|
|
52
49
|
"icon",
|
|
53
50
|
"color",
|
|
54
51
|
"disabled",
|
|
55
52
|
"rightSection",
|
|
56
53
|
"component",
|
|
57
|
-
"
|
|
58
|
-
"styles",
|
|
59
|
-
"radius"
|
|
54
|
+
"onClick"
|
|
60
55
|
]);
|
|
56
|
+
const itemRef = useRef();
|
|
57
|
+
const { hovered, onItemHover, radius, onItemKeyDown, classNames, styles, onItemClick } = useMenuContext();
|
|
61
58
|
const { classes, cx } = useStyles({ color, radius }, { classNames, styles, name: "Menu" });
|
|
59
|
+
const itemIndex = getContextItemIndex({ elementSelector: ".mantine-Menu-item", parentClassName: "mantine-Menu-body" }, itemRef.current);
|
|
62
60
|
return /* @__PURE__ */ React.createElement(Box, __spreadValues({
|
|
63
61
|
component: component || "button",
|
|
64
62
|
type: "button",
|
|
65
63
|
role: "menuitem",
|
|
66
|
-
className: cx(classes.item, { [classes.itemHovered]: hovered }, className),
|
|
67
|
-
onMouseEnter: () => !disabled &&
|
|
68
|
-
|
|
69
|
-
|
|
64
|
+
className: cx(classes.item, { [classes.itemHovered]: hovered === itemIndex }, className),
|
|
65
|
+
onMouseEnter: () => !disabled && onItemHover(itemIndex),
|
|
66
|
+
onMouseLeave: () => onItemHover(-1),
|
|
67
|
+
onKeyDown: onItemKeyDown,
|
|
68
|
+
ref: mergeRefs(ref, itemRef),
|
|
69
|
+
disabled,
|
|
70
|
+
onClick: (event) => {
|
|
71
|
+
typeof onClick === "function" && onClick(event);
|
|
72
|
+
onItemClick();
|
|
73
|
+
}
|
|
70
74
|
}, others), /* @__PURE__ */ React.createElement("div", {
|
|
71
75
|
className: classes.itemInner
|
|
72
76
|
}, icon && /* @__PURE__ */ React.createElement("div", {
|
|
@@ -77,7 +81,8 @@ const MenuItem = forwardRef((_a, ref) => {
|
|
|
77
81
|
className: classes.itemLabel
|
|
78
82
|
}, children), rightSection)));
|
|
79
83
|
});
|
|
84
|
+
const MenuItem = _MenuItem;
|
|
80
85
|
MenuItem.displayName = "@mantine/core/MenuItem";
|
|
81
86
|
|
|
82
|
-
export { MenuItem };
|
|
87
|
+
export { MenuItem, _MenuItem };
|
|
83
88
|
//# sourceMappingURL=MenuItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItem.js","sources":["../../../../src/components/Menu/MenuItem/MenuItem.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {
|
|
1
|
+
{"version":3,"file":"MenuItem.js","sources":["../../../../src/components/Menu/MenuItem/MenuItem.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { ClassNames, PolymorphicComponentProps, DefaultProps, MantineColor } from '@mantine/styles';\nimport { mergeRefs } from '@mantine/hooks';\nimport { Box } from '../../Box';\nimport { useMenuContext } from '../Menu.context';\nimport { getContextItemIndex } from '../../../utils';\nimport useStyles from './MenuItem.styles';\n\nexport type MenuItemStylesNames = ClassNames<typeof useStyles>;\n\nexport interface SharedMenuItemProps extends DefaultProps {\n /** Item label */\n children: React.ReactNode;\n\n /** Icon rendered on the left side of label */\n icon?: React.ReactNode;\n\n /** Any color from theme.colors */\n color?: MantineColor;\n\n /** Any react node to render on the right side of item, for example, keyboard shortcut or badge */\n rightSection?: React.ReactNode;\n\n /** Is item disabled */\n disabled?: boolean;\n}\n\ninterface _MenuItemProps\n extends SharedMenuItemProps,\n Omit<React.ComponentPropsWithoutRef<'button'>, keyof SharedMenuItemProps> {\n component: any;\n}\n\nexport const _MenuItem = forwardRef(\n (\n {\n className,\n children,\n icon,\n color,\n disabled,\n rightSection,\n component,\n onClick,\n ...others\n }: _MenuItemProps,\n ref: React.ForwardedRef<HTMLButtonElement>\n ) => {\n const itemRef = useRef<HTMLButtonElement>();\n const { hovered, onItemHover, radius, onItemKeyDown, classNames, styles, onItemClick } =\n useMenuContext();\n const { classes, cx } = useStyles({ color, radius }, { classNames, styles, name: 'Menu' });\n const itemIndex = getContextItemIndex(\n { elementSelector: '.mantine-Menu-item', parentClassName: 'mantine-Menu-body' },\n itemRef.current\n );\n\n return (\n <Box\n component={component || 'button'}\n type=\"button\"\n role=\"menuitem\"\n className={cx(classes.item, { [classes.itemHovered]: hovered === itemIndex }, className)}\n onMouseEnter={() => !disabled && onItemHover(itemIndex)}\n onMouseLeave={() => onItemHover(-1)}\n onKeyDown={onItemKeyDown}\n ref={mergeRefs(ref, itemRef)}\n disabled={disabled}\n onClick={(event: React.MouseEvent<any, MouseEvent>) => {\n typeof onClick === 'function' && onClick(event);\n onItemClick();\n }}\n {...others}\n >\n <div className={classes.itemInner}>\n {icon && <div className={classes.itemIcon}>{icon}</div>}\n\n <div className={classes.itemBody}>\n <div className={classes.itemLabel}>{children}</div>\n {rightSection}\n </div>\n </div>\n </Box>\n );\n }\n);\n\nexport type MenuItemProps<C> = PolymorphicComponentProps<C, SharedMenuItemProps>;\ntype MenuItemComponent = <C = 'button'>(props: MenuItemProps<C>) => React.ReactElement;\n\nexport const MenuItem: MenuItemComponent & { displayName?: string } = _MenuItem as any;\n\nMenuItem.displayName = '@mantine/core/MenuItem';\n"],"names":[],"mappings":";;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAOU,MAAC,SAAS,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK;AACjD,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;AACf,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,YAAY;AAChB,IAAI,SAAS;AACb,IAAI,OAAO;AACX,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,WAAW;AACf,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,cAAc;AAClB,IAAI,WAAW;AACf,IAAI,SAAS;AACb,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;AAC3B,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,EAAE,CAAC;AAC5G,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAC7F,EAAE,MAAM,SAAS,GAAG,mBAAmB,CAAC,EAAE,eAAe,EAAE,oBAAoB,EAAE,eAAe,EAAE,mBAAmB,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AAC1I,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC;AACjE,IAAI,SAAS,EAAE,SAAS,IAAI,QAAQ;AACpC,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI,EAAE,UAAU;AACpB,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,GAAG,OAAO,KAAK,SAAS,EAAE,EAAE,SAAS,CAAC;AAC5F,IAAI,YAAY,EAAE,MAAM,CAAC,QAAQ,IAAI,WAAW,CAAC,SAAS,CAAC;AAC3D,IAAI,YAAY,EAAE,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC;AACvC,IAAI,SAAS,EAAE,aAAa;AAC5B,IAAI,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC;AAChC,IAAI,QAAQ;AACZ,IAAI,OAAO,EAAE,CAAC,KAAK,KAAK;AACxB,MAAM,OAAO,OAAO,KAAK,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;AACtD,MAAM,WAAW,EAAE,CAAC;AACpB,KAAK;AACL,GAAG,EAAE,MAAM,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACzD,IAAI,SAAS,EAAE,OAAO,CAAC,SAAS;AAChC,GAAG,EAAE,IAAI,oBAAoB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACxD,IAAI,SAAS,EAAE,OAAO,CAAC,QAAQ;AAC/B,GAAG,EAAE,IAAI,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACvD,IAAI,SAAS,EAAE,OAAO,CAAC,QAAQ;AAC/B,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAChD,IAAI,SAAS,EAAE,OAAO,CAAC,SAAS;AAChC,GAAG,EAAE,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,EAAE;AACS,MAAC,QAAQ,GAAG,UAAU;AAClC,QAAQ,CAAC,WAAW,GAAG,wBAAwB;;;;"}
|
|
@@ -1,5 +1,30 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Text } from '../../Text/Text.js';
|
|
3
|
+
import { useMenuContext } from '../Menu.context.js';
|
|
4
|
+
import useStyles from './MenuLabel.styles.js';
|
|
5
|
+
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
10
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
11
|
+
var __spreadValues = (a, b) => {
|
|
12
|
+
for (var prop in b || (b = {}))
|
|
13
|
+
if (__hasOwnProp.call(b, prop))
|
|
14
|
+
__defNormalProp(a, prop, b[prop]);
|
|
15
|
+
if (__getOwnPropSymbols)
|
|
16
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
17
|
+
if (__propIsEnum.call(b, prop))
|
|
18
|
+
__defNormalProp(a, prop, b[prop]);
|
|
19
|
+
}
|
|
20
|
+
return a;
|
|
21
|
+
};
|
|
1
22
|
function MenuLabel(props) {
|
|
2
|
-
|
|
23
|
+
const { classNames, styles } = useMenuContext("Label");
|
|
24
|
+
const { classes } = useStyles(null, { name: "Menu", classNames, styles });
|
|
25
|
+
return /* @__PURE__ */ React.createElement(Text, __spreadValues({
|
|
26
|
+
className: classes.label
|
|
27
|
+
}, props));
|
|
3
28
|
}
|
|
4
29
|
MenuLabel.displayName = "@mantine/core/MenuLabel";
|
|
5
30
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuLabel.js","sources":["../../../../src/components/Menu/MenuLabel/MenuLabel.tsx"],"sourcesContent":["import React from 'react';\nimport { DefaultProps } from '@mantine/styles';\nimport { SharedTextProps } from '../../Text/Text';\n\nexport interface MenuLabelProps\n extends DefaultProps,\n SharedTextProps,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'color'> {\n /** Label content */\n children: React.ReactNode;\n}\n\nexport interface MenuLabelType {\n type: any;\n props: MenuLabelProps;\n ref?: React.RefObject<HTMLButtonElement> | ((instance: HTMLButtonElement) => void);\n}\n\nexport function MenuLabel(\n
|
|
1
|
+
{"version":3,"file":"MenuLabel.js","sources":["../../../../src/components/Menu/MenuLabel/MenuLabel.tsx"],"sourcesContent":["import React from 'react';\nimport { ClassNames, DefaultProps } from '@mantine/styles';\nimport { SharedTextProps, Text } from '../../Text/Text';\nimport { useMenuContext } from '../Menu.context';\nimport useStyles from './MenuLabel.styles';\n\nexport type MenuLabelStylesNames = ClassNames<typeof useStyles>;\n\nexport interface MenuLabelProps\n extends DefaultProps,\n SharedTextProps,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'color'> {\n /** Label content */\n children: React.ReactNode;\n}\n\nexport interface MenuLabelType {\n type: any;\n props: MenuLabelProps;\n ref?: React.RefObject<HTMLButtonElement> | ((instance: HTMLButtonElement) => void);\n}\n\nexport function MenuLabel(props: MenuLabelProps) {\n const { classNames, styles } = useMenuContext('Label');\n const { classes } = useStyles(null, { name: 'Menu', classNames, styles });\n return <Text className={classes.label} {...props} />;\n}\n\nMenuLabel.displayName = '@mantine/core/MenuLabel';\n"],"names":[],"mappings":";;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAKK,SAAS,SAAS,CAAC,KAAK,EAAE;AACjC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;AACzD,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAC5E,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC;AAClE,IAAI,SAAS,EAAE,OAAO,CAAC,KAAK;AAC5B,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AACb,CAAC;AACD,SAAS,CAAC,WAAW,GAAG,yBAAyB;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { createStyles } from '@mantine/styles';
|
|
2
|
+
|
|
3
|
+
var useStyles = createStyles((theme) => ({
|
|
4
|
+
label: {
|
|
5
|
+
color: theme.colorScheme === "dark" ? theme.colors.dark[2] : theme.colors.gray[6],
|
|
6
|
+
fontWeight: 500,
|
|
7
|
+
fontSize: theme.fontSizes.xs,
|
|
8
|
+
padding: `${theme.spacing.xs / 2}px ${theme.spacing.sm}px`,
|
|
9
|
+
cursor: "default"
|
|
10
|
+
}
|
|
11
|
+
}));
|
|
12
|
+
|
|
13
|
+
export default useStyles;
|
|
14
|
+
//# sourceMappingURL=MenuLabel.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuLabel.styles.js","sources":["../../../../src/components/Menu/MenuLabel/MenuLabel.styles.ts"],"sourcesContent":["import { createStyles } from '@mantine/styles';\n\nexport default createStyles((theme) => ({\n label: {\n color: theme.colorScheme === 'dark' ? theme.colors.dark[2] : theme.colors.gray[6],\n fontWeight: 500,\n fontSize: theme.fontSizes.xs,\n padding: `${theme.spacing.xs / 2}px ${theme.spacing.sm}px`,\n cursor: 'default',\n },\n}));\n"],"names":[],"mappings":";;AACA,gBAAe,YAAY,CAAC,CAAC,KAAK,MAAM;AACxC,EAAE,KAAK,EAAE;AACT,IAAI,KAAK,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACrF,IAAI,UAAU,EAAE,GAAG;AACnB,IAAI,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE;AAChC,IAAI,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;AAC9D,IAAI,MAAM,EAAE,SAAS;AACrB,GAAG;AACH,CAAC,CAAC,CAAC;;;;"}
|
|
@@ -11,8 +11,6 @@ import { CloseButton } from '../ActionIcon/CloseButton/CloseButton.js';
|
|
|
11
11
|
import { Overlay } from '../Overlay/Overlay.js';
|
|
12
12
|
|
|
13
13
|
var __defProp = Object.defineProperty;
|
|
14
|
-
var __defProps = Object.defineProperties;
|
|
15
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
16
14
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
17
15
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
18
16
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
@@ -28,7 +26,6 @@ var __spreadValues = (a, b) => {
|
|
|
28
26
|
}
|
|
29
27
|
return a;
|
|
30
28
|
};
|
|
31
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
32
29
|
var __objRest = (source, exclude) => {
|
|
33
30
|
var target = {};
|
|
34
31
|
for (var prop in source)
|
|
@@ -151,7 +148,6 @@ function Modal(props) {
|
|
|
151
148
|
className: cx(classes.root, className)
|
|
152
149
|
}, others), /* @__PURE__ */ React.createElement("div", {
|
|
153
150
|
className: classes.inner,
|
|
154
|
-
onMouseDown: () => closeOnClickOutside && onClose(),
|
|
155
151
|
onKeyDownCapture: (event) => {
|
|
156
152
|
var _a2;
|
|
157
153
|
const shouldTrigger = ((_a2 = event.target) == null ? void 0 : _a2.getAttribute("data-mantine-stop-propagation")) !== "true";
|
|
@@ -159,7 +155,6 @@ function Modal(props) {
|
|
|
159
155
|
},
|
|
160
156
|
ref: focusTrapRef
|
|
161
157
|
}, /* @__PURE__ */ React.createElement(Paper, {
|
|
162
|
-
onMouseDown: (event) => event.stopPropagation(),
|
|
163
158
|
className: classes.modal,
|
|
164
159
|
shadow,
|
|
165
160
|
p: padding,
|
|
@@ -169,10 +164,7 @@ function Modal(props) {
|
|
|
169
164
|
"aria-describedby": bodyId,
|
|
170
165
|
"aria-modal": true,
|
|
171
166
|
tabIndex: -1,
|
|
172
|
-
style:
|
|
173
|
-
marginLeft: "calc(var(--removed-scroll-width, 0px) * -1)",
|
|
174
|
-
zIndex: 3
|
|
175
|
-
})
|
|
167
|
+
style: transitionStyles.modal
|
|
176
168
|
}, (title || withCloseButton) && /* @__PURE__ */ React.createElement("div", {
|
|
177
169
|
className: classes.header
|
|
178
170
|
}, /* @__PURE__ */ React.createElement(Text, {
|
|
@@ -186,14 +178,16 @@ function Modal(props) {
|
|
|
186
178
|
})), /* @__PURE__ */ React.createElement("div", {
|
|
187
179
|
id: bodyId,
|
|
188
180
|
className: classes.body
|
|
189
|
-
}, children))
|
|
181
|
+
}, children)), /* @__PURE__ */ React.createElement("div", {
|
|
190
182
|
style: transitionStyles.overlay
|
|
191
183
|
}, /* @__PURE__ */ React.createElement(Overlay, {
|
|
192
184
|
className: classes.overlay,
|
|
185
|
+
sx: { position: "fixed" },
|
|
193
186
|
zIndex: 0,
|
|
187
|
+
onMouseDown: () => closeOnClickOutside && onClose(),
|
|
194
188
|
color: overlayColor || (theme.colorScheme === "dark" ? theme.colors.dark[9] : theme.black),
|
|
195
189
|
opacity: _overlayOpacity
|
|
196
|
-
})))));
|
|
190
|
+
}))))));
|
|
197
191
|
}
|
|
198
192
|
Modal.displayName = "@mantine/core/Modal";
|
|
199
193
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","sources":["../../../src/components/Modal/Modal.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */\nimport React, { useEffect } from 'react';\nimport { useScrollLock, useFocusTrap, useFocusReturn, useUuid } from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineShadow,\n ClassNames,\n MantineStyleSystemSize,\n getDefaultZIndex,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { CloseButton } from '../ActionIcon';\nimport { Text } from '../Text';\nimport { Paper } from '../Paper';\nimport { Overlay } from '../Overlay';\nimport { OptionalPortal } from '../Portal';\nimport { Box } from '../Box';\nimport { GroupedTransition, MantineTransition } from '../Transition';\nimport useStyles from './Modal.styles';\n\nexport type ModalStylesNames = ClassNames<typeof useStyles>;\n\nexport interface ModalProps\n extends Omit<DefaultProps<ModalStylesNames>, MantineStyleSystemSize>,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'title'> {\n /** Mounts modal if true */\n opened: boolean;\n\n /** Called when close button clicked and when escape key is pressed */\n onClose(): void;\n\n /** Modal title, displayed in header before close button */\n title?: React.ReactNode;\n\n /** Modal z-index property */\n zIndex?: number;\n\n /** Control vertical overflow behavior */\n overflow?: 'outside' | 'inside';\n\n /** Hides close button if set to false, modal still can be closed with escape key and by clicking outside */\n withCloseButton?: boolean;\n\n /** Overlay below modal opacity, defaults to 0.75 in light theme and to 0.85 in dark theme */\n overlayOpacity?: number;\n\n /** Overlay below modal color, defaults to theme.black in light theme and to theme.colors.dark[9] in dark theme */\n overlayColor?: string;\n\n /** Modal radius */\n radius?: MantineNumberSize;\n\n /** Modal body width */\n size?: string | number;\n\n /** Modal body transition */\n transition?: MantineTransition;\n\n /** Duration in ms of modal transitions, set to 0 to disable all animations */\n transitionDuration?: number;\n\n /** Modal body transitionTimingFunction, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Close button aria-label */\n closeButtonLabel?: string;\n\n /** id base, used to generate ids to connect modal title and body with aria- attributes, defaults to random id */\n id?: string;\n\n /** Modal shadow from theme or css value */\n shadow?: MantineShadow;\n\n /** Modal padding from theme or number value for padding in px */\n padding?: MantineNumberSize;\n\n /** Should modal be closed when outside click was registered? */\n closeOnClickOutside?: boolean;\n\n /** Should modal be closed when escape is pressed? */\n closeOnEscape?: boolean;\n\n /** Disables focus trap */\n trapFocus?: boolean;\n\n /** Controls if modal should be centered */\n centered?: boolean;\n\n /** Target element or selector where modal portal should be rendered */\n target?: HTMLElement | string;\n\n /** Determines whether modal should be rendered within Portal, defaults to true */\n withinPortal?: boolean;\n}\n\nconst defaultProps: Partial<ModalProps> = {\n size: 'md',\n transitionDuration: 250,\n overflow: 'outside',\n transition: 'pop',\n padding: 'lg',\n shadow: 'lg',\n closeOnClickOutside: true,\n closeOnEscape: true,\n trapFocus: true,\n withCloseButton: true,\n withinPortal: true,\n zIndex: getDefaultZIndex('modal'),\n};\n\nexport function Modal(props: ModalProps) {\n const {\n className,\n opened,\n title,\n onClose,\n children,\n withCloseButton,\n overlayOpacity,\n size,\n transitionDuration,\n closeButtonLabel,\n overlayColor,\n overflow,\n transition,\n padding,\n shadow,\n radius,\n id,\n classNames,\n styles,\n closeOnClickOutside,\n trapFocus,\n closeOnEscape,\n centered,\n target,\n withinPortal,\n zIndex,\n ...others\n } = useMantineDefaultProps('Modal', defaultProps, props);\n const baseId = useUuid(id);\n const titleId = `${baseId}-title`;\n const bodyId = `${baseId}-body`;\n const { classes, cx, theme } = useStyles(\n { size, overflow, centered, zIndex },\n { classNames, styles, name: 'Modal' }\n );\n const focusTrapRef = useFocusTrap(trapFocus && opened);\n const _overlayOpacity =\n typeof overlayOpacity === 'number'\n ? overlayOpacity\n : theme.colorScheme === 'dark'\n ? 0.85\n : 0.75;\n\n const [, lockScroll] = useScrollLock();\n\n const closeOnEscapePress = (event: KeyboardEvent) => {\n if (!trapFocus && event.code === 'Escape' && closeOnEscape) {\n onClose();\n }\n };\n\n useEffect(() => {\n if (!trapFocus) {\n window.addEventListener('keydown', closeOnEscapePress);\n return () => window.removeEventListener('keydown', closeOnEscapePress);\n }\n\n return undefined;\n }, [trapFocus]);\n\n useFocusReturn({ opened, transitionDuration: 0 });\n\n return (\n <OptionalPortal withinPortal={withinPortal} zIndex={zIndex} target={target}>\n <GroupedTransition\n onExited={() => lockScroll(false)}\n onEntered={() => lockScroll(true)}\n mounted={opened}\n transitions={{\n modal: { duration: transitionDuration, transition },\n overlay: {\n duration: transitionDuration / 2,\n transition: 'fade',\n timingFunction: 'ease',\n },\n }}\n >\n {(transitionStyles) => (\n <Box className={cx(classes.root, className)} {...others}>\n <div\n className={classes.inner}\n onMouseDown={() => closeOnClickOutside && onClose()}\n onKeyDownCapture={(event) => {\n const shouldTrigger =\n (event.target as any)?.getAttribute('data-mantine-stop-propagation') !== 'true';\n shouldTrigger && event.nativeEvent.code === 'Escape' && closeOnEscape && onClose();\n }}\n ref={focusTrapRef}\n >\n <Paper<'div'>\n onMouseDown={(event) => event.stopPropagation()}\n className={classes.modal}\n shadow={shadow}\n p={padding}\n radius={radius}\n role=\"dialog\"\n aria-labelledby={titleId}\n aria-describedby={bodyId}\n aria-modal\n tabIndex={-1}\n style={{\n ...transitionStyles.modal,\n marginLeft: 'calc(var(--removed-scroll-width, 0px) * -1)',\n zIndex: 3,\n }}\n >\n {(title || withCloseButton) && (\n <div className={classes.header}>\n <Text id={titleId} className={classes.title}>\n {title}\n </Text>\n\n {withCloseButton && (\n <CloseButton\n iconSize={16}\n onClick={onClose}\n aria-label={closeButtonLabel}\n className={classes.close}\n />\n )}\n </div>\n )}\n\n <div id={bodyId} className={classes.body}>\n {children}\n </div>\n </Paper>\n </div>\n\n <div style={transitionStyles.overlay}>\n <Overlay\n className={classes.overlay}\n zIndex={0}\n color={\n overlayColor ||\n (theme.colorScheme === 'dark' ? theme.colors.dark[9] : theme.black)\n }\n opacity={_overlayOpacity}\n />\n </div>\n </Box>\n )}\n </GroupedTransition>\n </OptionalPortal>\n );\n}\n\nModal.displayName = '@mantine/core/Modal';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Modal.js","sources":["../../../src/components/Modal/Modal.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */\nimport React, { useEffect } from 'react';\nimport { useScrollLock, useFocusTrap, useFocusReturn, useUuid } from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineShadow,\n ClassNames,\n MantineStyleSystemSize,\n getDefaultZIndex,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { CloseButton } from '../ActionIcon';\nimport { Text } from '../Text';\nimport { Paper } from '../Paper';\nimport { Overlay } from '../Overlay';\nimport { OptionalPortal } from '../Portal';\nimport { Box } from '../Box';\nimport { GroupedTransition, MantineTransition } from '../Transition';\nimport useStyles from './Modal.styles';\n\nexport type ModalStylesNames = ClassNames<typeof useStyles>;\n\nexport interface ModalProps\n extends Omit<DefaultProps<ModalStylesNames>, MantineStyleSystemSize>,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'title'> {\n /** Mounts modal if true */\n opened: boolean;\n\n /** Called when close button clicked and when escape key is pressed */\n onClose(): void;\n\n /** Modal title, displayed in header before close button */\n title?: React.ReactNode;\n\n /** Modal z-index property */\n zIndex?: number;\n\n /** Control vertical overflow behavior */\n overflow?: 'outside' | 'inside';\n\n /** Hides close button if set to false, modal still can be closed with escape key and by clicking outside */\n withCloseButton?: boolean;\n\n /** Overlay below modal opacity, defaults to 0.75 in light theme and to 0.85 in dark theme */\n overlayOpacity?: number;\n\n /** Overlay below modal color, defaults to theme.black in light theme and to theme.colors.dark[9] in dark theme */\n overlayColor?: string;\n\n /** Modal radius */\n radius?: MantineNumberSize;\n\n /** Modal body width */\n size?: string | number;\n\n /** Modal body transition */\n transition?: MantineTransition;\n\n /** Duration in ms of modal transitions, set to 0 to disable all animations */\n transitionDuration?: number;\n\n /** Modal body transitionTimingFunction, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Close button aria-label */\n closeButtonLabel?: string;\n\n /** id base, used to generate ids to connect modal title and body with aria- attributes, defaults to random id */\n id?: string;\n\n /** Modal shadow from theme or css value */\n shadow?: MantineShadow;\n\n /** Modal padding from theme or number value for padding in px */\n padding?: MantineNumberSize;\n\n /** Should modal be closed when outside click was registered? */\n closeOnClickOutside?: boolean;\n\n /** Should modal be closed when escape is pressed? */\n closeOnEscape?: boolean;\n\n /** Disables focus trap */\n trapFocus?: boolean;\n\n /** Controls if modal should be centered */\n centered?: boolean;\n\n /** Target element or selector where modal portal should be rendered */\n target?: HTMLElement | string;\n\n /** Determines whether modal should be rendered within Portal, defaults to true */\n withinPortal?: boolean;\n}\n\nconst defaultProps: Partial<ModalProps> = {\n size: 'md',\n transitionDuration: 250,\n overflow: 'outside',\n transition: 'pop',\n padding: 'lg',\n shadow: 'lg',\n closeOnClickOutside: true,\n closeOnEscape: true,\n trapFocus: true,\n withCloseButton: true,\n withinPortal: true,\n zIndex: getDefaultZIndex('modal'),\n};\n\nexport function Modal(props: ModalProps) {\n const {\n className,\n opened,\n title,\n onClose,\n children,\n withCloseButton,\n overlayOpacity,\n size,\n transitionDuration,\n closeButtonLabel,\n overlayColor,\n overflow,\n transition,\n padding,\n shadow,\n radius,\n id,\n classNames,\n styles,\n closeOnClickOutside,\n trapFocus,\n closeOnEscape,\n centered,\n target,\n withinPortal,\n zIndex,\n ...others\n } = useMantineDefaultProps('Modal', defaultProps, props);\n const baseId = useUuid(id);\n const titleId = `${baseId}-title`;\n const bodyId = `${baseId}-body`;\n const { classes, cx, theme } = useStyles(\n { size, overflow, centered, zIndex },\n { classNames, styles, name: 'Modal' }\n );\n const focusTrapRef = useFocusTrap(trapFocus && opened);\n const _overlayOpacity =\n typeof overlayOpacity === 'number'\n ? overlayOpacity\n : theme.colorScheme === 'dark'\n ? 0.85\n : 0.75;\n\n const [, lockScroll] = useScrollLock();\n\n const closeOnEscapePress = (event: KeyboardEvent) => {\n if (!trapFocus && event.code === 'Escape' && closeOnEscape) {\n onClose();\n }\n };\n\n useEffect(() => {\n if (!trapFocus) {\n window.addEventListener('keydown', closeOnEscapePress);\n return () => window.removeEventListener('keydown', closeOnEscapePress);\n }\n\n return undefined;\n }, [trapFocus]);\n\n useFocusReturn({ opened, transitionDuration: 0 });\n\n return (\n <OptionalPortal withinPortal={withinPortal} zIndex={zIndex} target={target}>\n <GroupedTransition\n onExited={() => lockScroll(false)}\n onEntered={() => lockScroll(true)}\n mounted={opened}\n transitions={{\n modal: { duration: transitionDuration, transition },\n overlay: {\n duration: transitionDuration / 2,\n transition: 'fade',\n timingFunction: 'ease',\n },\n }}\n >\n {(transitionStyles) => (\n <Box className={cx(classes.root, className)} {...others}>\n <div\n className={classes.inner}\n onKeyDownCapture={(event) => {\n const shouldTrigger =\n (event.target as any)?.getAttribute('data-mantine-stop-propagation') !== 'true';\n shouldTrigger && event.nativeEvent.code === 'Escape' && closeOnEscape && onClose();\n }}\n ref={focusTrapRef}\n >\n <Paper<'div'>\n className={classes.modal}\n shadow={shadow}\n p={padding}\n radius={radius}\n role=\"dialog\"\n aria-labelledby={titleId}\n aria-describedby={bodyId}\n aria-modal\n tabIndex={-1}\n style={transitionStyles.modal}\n >\n {(title || withCloseButton) && (\n <div className={classes.header}>\n <Text id={titleId} className={classes.title}>\n {title}\n </Text>\n\n {withCloseButton && (\n <CloseButton\n iconSize={16}\n onClick={onClose}\n aria-label={closeButtonLabel}\n className={classes.close}\n />\n )}\n </div>\n )}\n\n <div id={bodyId} className={classes.body}>\n {children}\n </div>\n </Paper>\n <div style={transitionStyles.overlay}>\n <Overlay\n className={classes.overlay}\n sx={{ position: 'fixed' }}\n zIndex={0}\n onMouseDown={() => closeOnClickOutside && onClose()}\n color={\n overlayColor ||\n (theme.colorScheme === 'dark' ? theme.colors.dark[9] : theme.black)\n }\n opacity={_overlayOpacity}\n />\n </div>\n </div>\n </Box>\n )}\n </GroupedTransition>\n </OptionalPortal>\n );\n}\n\nModal.displayName = '@mantine/core/Modal';\n"],"names":[],"mappings":"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"}
|