@mantine/core 4.0.1 → 4.0.4
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/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 +27 -55
- 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/MultiSelect/MultiSelect.js +9 -0
- package/cjs/components/MultiSelect/MultiSelect.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/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 +27 -55
- 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/MultiSelect/MultiSelect.js +9 -0
- package/esm/components/MultiSelect/MultiSelect.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/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.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
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import React, { forwardRef } from 'react';
|
|
2
|
-
import { getDefaultZIndex, useMantineDefaultProps } from '@mantine/styles';
|
|
2
|
+
import { getDefaultZIndex, useMantineDefaultProps, Global } from '@mantine/styles';
|
|
3
|
+
import { useAppShellContext } from '../AppShell.context.js';
|
|
4
|
+
import { getSortedBreakpoints } from './get-sorted-breakpoints/get-sorted-breakpoints.js';
|
|
3
5
|
import { NavbarSection } from './NavbarSection/NavbarSection.js';
|
|
4
6
|
import useStyles from './Navbar.styles.js';
|
|
5
7
|
import { Box } from '../../Box/Box.js';
|
|
@@ -33,7 +35,6 @@ var __objRest = (source, exclude) => {
|
|
|
33
35
|
return target;
|
|
34
36
|
};
|
|
35
37
|
const defaultProps = {
|
|
36
|
-
height: "100vh",
|
|
37
38
|
fixed: false,
|
|
38
39
|
position: { top: 0, left: 0 },
|
|
39
40
|
zIndex: getDefaultZIndex("app"),
|
|
@@ -66,12 +67,32 @@ const Navbar = forwardRef((props, ref) => {
|
|
|
66
67
|
"styles",
|
|
67
68
|
"children"
|
|
68
69
|
]);
|
|
69
|
-
const
|
|
70
|
+
const ctx = useAppShellContext();
|
|
71
|
+
const { classes, cx, theme } = useStyles({
|
|
72
|
+
width,
|
|
73
|
+
height,
|
|
74
|
+
fixed: ctx.fixed || fixed,
|
|
75
|
+
position,
|
|
76
|
+
hiddenBreakpoint,
|
|
77
|
+
zIndex: ctx.zIndex || zIndex
|
|
78
|
+
}, { classNames, styles, name: "Navbar" });
|
|
79
|
+
const breakpoints = getSortedBreakpoints(width, theme).reduce((acc, [breakpoint, breakpointSize]) => {
|
|
80
|
+
acc[`@media (min-width: ${breakpoint + 1}px)`] = {
|
|
81
|
+
"--mantine-navbar-width": `${breakpointSize}px`
|
|
82
|
+
};
|
|
83
|
+
return acc;
|
|
84
|
+
}, {});
|
|
70
85
|
return /* @__PURE__ */ React.createElement(Box, __spreadValues({
|
|
71
86
|
component: "nav",
|
|
72
87
|
ref,
|
|
73
88
|
className: cx(classes.root, { [classes.hidden]: hidden }, className)
|
|
74
|
-
}, others), children
|
|
89
|
+
}, others), children, /* @__PURE__ */ React.createElement(Global, {
|
|
90
|
+
styles: () => ({
|
|
91
|
+
":root": __spreadValues({
|
|
92
|
+
"--mantine-navbar-width": (width == null ? void 0 : width.base) || "0px"
|
|
93
|
+
}, breakpoints)
|
|
94
|
+
})
|
|
95
|
+
}));
|
|
75
96
|
});
|
|
76
97
|
Navbar.Section = NavbarSection;
|
|
77
98
|
Navbar.displayName = "@mantine/core/Navbar";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navbar.js","sources":["../../../../src/components/AppShell/Navbar/Navbar.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n ClassNames,\n DefaultProps,\n MantineNumberSize,\n getDefaultZIndex,\n ForwardRefWithStaticComponents,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { Box } from '../../Box';\nimport { NavbarSection } from './NavbarSection/NavbarSection';\nimport useStyles, { NavbarPosition, NavbarWidth } from './Navbar.styles';\n\nexport type NavbarStylesNames = ClassNames<typeof useStyles>;\n\nexport interface NavbarProps\n extends DefaultProps<NavbarStylesNames>,\n React.ComponentPropsWithRef<'nav'> {\n /** Navbar width with breakpoints */\n width?: NavbarWidth;\n\n /** Navbar height */\n height?: string | number;\n\n /** Navbar content */\n children: React.ReactNode;\n\n /** Set position to fixed */\n fixed?: boolean;\n\n /** Position for fixed Navbar */\n position?: NavbarPosition;\n\n /** Breakpoint at which navbar will be hidden if hidden prop is true */\n hiddenBreakpoint?: MantineNumberSize;\n\n /** Set to true to hide breakpoint at hiddenBreakpoint */\n hidden?: boolean;\n\n /** z-index */\n zIndex?: number;\n}\n\ntype NavbarComponent = ForwardRefWithStaticComponents<\n NavbarProps,\n { Section: typeof NavbarSection }\n>;\n\nconst defaultProps: Partial<NavbarProps> = {\n
|
|
1
|
+
{"version":3,"file":"Navbar.js","sources":["../../../../src/components/AppShell/Navbar/Navbar.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n ClassNames,\n DefaultProps,\n MantineNumberSize,\n getDefaultZIndex,\n ForwardRefWithStaticComponents,\n useMantineDefaultProps,\n Global,\n} from '@mantine/styles';\nimport { Box } from '../../Box';\nimport { useAppShellContext } from '../AppShell.context';\nimport { getSortedBreakpoints } from './get-sorted-breakpoints/get-sorted-breakpoints';\nimport { NavbarSection } from './NavbarSection/NavbarSection';\nimport useStyles, { NavbarPosition, NavbarWidth } from './Navbar.styles';\n\nexport type NavbarStylesNames = ClassNames<typeof useStyles>;\n\nexport interface NavbarProps\n extends DefaultProps<NavbarStylesNames>,\n React.ComponentPropsWithRef<'nav'> {\n /** Navbar width with breakpoints */\n width?: NavbarWidth;\n\n /** Navbar height */\n height?: string | number;\n\n /** Navbar content */\n children: React.ReactNode;\n\n /** Set position to fixed */\n fixed?: boolean;\n\n /** Position for fixed Navbar */\n position?: NavbarPosition;\n\n /** Breakpoint at which navbar will be hidden if hidden prop is true */\n hiddenBreakpoint?: MantineNumberSize;\n\n /** Set to true to hide breakpoint at hiddenBreakpoint */\n hidden?: boolean;\n\n /** z-index */\n zIndex?: number;\n}\n\ntype NavbarComponent = ForwardRefWithStaticComponents<\n NavbarProps,\n { Section: typeof NavbarSection }\n>;\n\nconst defaultProps: Partial<NavbarProps> = {\n fixed: false,\n position: { top: 0, left: 0 },\n zIndex: getDefaultZIndex('app'),\n hiddenBreakpoint: 'md',\n hidden: false,\n};\n\nexport const Navbar: NavbarComponent = forwardRef<HTMLElement, NavbarProps>(\n (props: NavbarProps, ref) => {\n const {\n width,\n height,\n fixed,\n position,\n zIndex,\n hiddenBreakpoint,\n hidden,\n className,\n classNames,\n styles,\n children,\n ...others\n } = useMantineDefaultProps('Navbar', defaultProps, props);\n const ctx = useAppShellContext();\n\n const { classes, cx, theme } = useStyles(\n {\n width,\n height,\n fixed: ctx.fixed || fixed,\n position,\n hiddenBreakpoint,\n zIndex: ctx.zIndex || zIndex,\n },\n { classNames, styles, name: 'Navbar' }\n );\n\n const breakpoints = getSortedBreakpoints(width, theme).reduce(\n (acc, [breakpoint, breakpointSize]) => {\n acc[`@media (min-width: ${breakpoint + 1}px)`] = {\n '--mantine-navbar-width': `${breakpointSize}px`,\n };\n\n return acc;\n },\n {}\n );\n\n return (\n <Box\n component=\"nav\"\n ref={ref}\n className={cx(classes.root, { [classes.hidden]: hidden }, className)}\n {...others}\n >\n {children}\n\n <Global\n styles={() => ({\n ':root': {\n '--mantine-navbar-width': width?.base || '0px',\n ...breakpoints,\n },\n })}\n />\n </Box>\n );\n }\n) as any;\n\nNavbar.Section = NavbarSection;\nNavbar.displayName = '@mantine/core/Navbar';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createStyles } from '@mantine/styles';
|
|
2
|
-
import { getSortedBreakpoints } from '
|
|
2
|
+
import { getSortedBreakpoints } from './get-sorted-breakpoints/get-sorted-breakpoints.js';
|
|
3
3
|
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
5
5
|
var __defProps = Object.defineProperties;
|
|
@@ -30,8 +30,9 @@ var useStyles = createStyles((theme, { height, width, fixed, position, hiddenBre
|
|
|
30
30
|
}, {}) : null;
|
|
31
31
|
return {
|
|
32
32
|
root: __spreadValues(__spreadProps(__spreadValues(__spreadValues({}, theme.fn.fontStyles()), position), {
|
|
33
|
+
top: (position == null ? void 0 : position.top) || "var(--mantine-header-height)",
|
|
33
34
|
zIndex,
|
|
34
|
-
height,
|
|
35
|
+
height: height || "calc(100vh - var(--mantine-header-height, 0px))",
|
|
35
36
|
width: (width == null ? void 0 : width.base) || "100%",
|
|
36
37
|
position: fixed ? "fixed" : "static",
|
|
37
38
|
boxSizing: "border-box",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navbar.styles.js","sources":["../../../../src/components/AppShell/Navbar/Navbar.styles.ts"],"sourcesContent":["import { createStyles, MantineNumberSize } from '@mantine/styles';\nimport { getSortedBreakpoints } from '
|
|
1
|
+
{"version":3,"file":"Navbar.styles.js","sources":["../../../../src/components/AppShell/Navbar/Navbar.styles.ts"],"sourcesContent":["import { createStyles, MantineNumberSize } from '@mantine/styles';\nimport { getSortedBreakpoints } from './get-sorted-breakpoints/get-sorted-breakpoints';\n\nexport type NavbarWidth = Partial<Record<string, string | number>>;\n\nexport interface NavbarPosition {\n top?: number;\n left?: number;\n bottom?: number;\n right?: number;\n}\n\ninterface NavbarStyles {\n width: Partial<Record<string, string | number>>;\n height: string | number;\n position: NavbarPosition;\n hiddenBreakpoint: MantineNumberSize;\n fixed: boolean;\n zIndex: number;\n}\n\nexport default createStyles(\n (theme, { height, width, fixed, position, hiddenBreakpoint, zIndex }: NavbarStyles) => {\n const breakpoints =\n typeof width === 'object' && width !== null\n ? getSortedBreakpoints(width, theme).reduce((acc, [breakpoint, breakpointSize]) => {\n acc[`@media (min-width: ${breakpoint + 1}px)`] = {\n width: breakpointSize,\n minWidth: breakpointSize,\n };\n\n return acc;\n }, {})\n : null;\n\n return {\n root: {\n ...theme.fn.fontStyles(),\n ...position,\n top: position?.top || 'var(--mantine-header-height)',\n zIndex,\n height: height || 'calc(100vh - var(--mantine-header-height, 0px))',\n width: width?.base || '100%',\n position: fixed ? 'fixed' : 'static',\n boxSizing: 'border-box',\n display: 'flex',\n flexDirection: 'column',\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[7] : theme.white,\n borderRight: `1px solid ${\n theme.colorScheme === 'dark' ? theme.colors.dark[5] : theme.colors.gray[2]\n }`,\n ...breakpoints,\n },\n\n hidden: {\n [`@media (max-width: ${theme.fn.size({\n size: hiddenBreakpoint,\n sizes: theme.breakpoints,\n })}px)`]: {\n display: 'none',\n },\n },\n };\n }\n);\n"],"names":[],"mappings":"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"}
|
package/esm/components/AppShell/{utils → Navbar}/get-sorted-breakpoints/get-sorted-breakpoints.js
RENAMED
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-sorted-breakpoints.js","sources":["../../../../../src/components/AppShell/Navbar/get-sorted-breakpoints/get-sorted-breakpoints.ts"],"sourcesContent":["import { MantineSize, MantineTheme } from '@mantine/styles';\n\ntype Breakpoints<T> = Partial<Record<MantineSize | (string & {}), T>>;\n\nexport function getSortedBreakpoints<T>(\n breakpoints: Breakpoints<T>,\n theme: MantineTheme\n): [number, T][] {\n if (!breakpoints) {\n return [];\n }\n\n const values = Object.keys(breakpoints)\n .filter((breakpoint) => breakpoint !== 'base')\n .map((breakpoint) => [\n theme.fn.size({ size: breakpoint, sizes: theme.breakpoints }),\n breakpoints[breakpoint],\n ]);\n\n values.sort((a, b) => a[0] - b[0]);\n return values as [number, T][];\n}\n"],"names":[],"mappings":"AAAO,SAAS,oBAAoB,CAAC,WAAW,EAAE,KAAK,EAAE;AACzD,EAAE,IAAI,CAAC,WAAW,EAAE;AACpB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,KAAK,UAAU,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,KAAK;AAC5G,IAAI,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;AACjE,IAAI,WAAW,CAAC,UAAU,CAAC;AAC3B,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,EAAE,OAAO,MAAM,CAAC;AAChB;;;;"}
|
|
@@ -43,7 +43,7 @@ function rgbaToHsva({ r, g, b, a }) {
|
|
|
43
43
|
};
|
|
44
44
|
}
|
|
45
45
|
function parseHex(color) {
|
|
46
|
-
const hex = color[0] === "#" ? color.
|
|
46
|
+
const hex = color[0] === "#" ? color.slice(1) : color;
|
|
47
47
|
if (hex.length === 3) {
|
|
48
48
|
return rgbaToHsva({
|
|
49
49
|
r: parseInt(hex[0] + hex[0], 16),
|
|
@@ -53,9 +53,9 @@ function parseHex(color) {
|
|
|
53
53
|
});
|
|
54
54
|
}
|
|
55
55
|
return rgbaToHsva({
|
|
56
|
-
r: parseInt(hex.
|
|
57
|
-
g: parseInt(hex.
|
|
58
|
-
b: parseInt(hex.
|
|
56
|
+
r: parseInt(hex.slice(0, 2), 16),
|
|
57
|
+
g: parseInt(hex.slice(2, 4), 16),
|
|
58
|
+
b: parseInt(hex.slice(4, 6), 16),
|
|
59
59
|
a: 1
|
|
60
60
|
});
|
|
61
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parsers.js","sources":["../../../../src/components/ColorPicker/converters/parsers.ts"],"sourcesContent":["import { HsvaColor, RgbaColor, ColorFormat } from '../types';\n\nexport function round(number: number, digits = 0, base = 10 ** digits) {\n return Math.round(base * number) / base;\n}\n\nfunction hslaToHsva({ h, s, l, a }): HsvaColor {\n const ss = s * ((l < 50 ? l : 100 - l) / 100);\n\n return {\n h,\n s: ss > 0 ? ((2 * ss) / (l + ss)) * 100 : 0,\n v: l + ss,\n a,\n };\n}\n\nconst angleUnits: Record<string, number> = {\n grad: 360 / 400,\n turn: 360,\n rad: 360 / (Math.PI * 2),\n};\n\nexport function parseHue(value: string, unit = 'deg') {\n return Number(value) * (angleUnits[unit] || 1);\n}\n\nconst HSL_REGEXP =\n /hsla?\\(?\\s*(-?\\d*\\.?\\d+)(deg|rad|grad|turn)?[,\\s]+(-?\\d*\\.?\\d+)%?[,\\s]+(-?\\d*\\.?\\d+)%?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i;\n\nexport function parseHsla(color: string): HsvaColor {\n const match = HSL_REGEXP.exec(color);\n\n if (!match) {\n return { h: 0, s: 0, v: 0, a: 1 };\n }\n\n return hslaToHsva({\n h: parseHue(match[1], match[2]),\n s: Number(match[3]),\n l: Number(match[4]),\n a: match[5] === undefined ? 1 : Number(match[5]) / (match[6] ? 100 : 1),\n });\n}\n\nfunction rgbaToHsva({ r, g, b, a }: RgbaColor): HsvaColor {\n const max = Math.max(r, g, b);\n const delta = max - Math.min(r, g, b);\n\n const hh = delta\n ? max === r\n ? (g - b) / delta\n : max === g\n ? 2 + (b - r) / delta\n : 4 + (r - g) / delta\n : 0;\n\n return {\n h: round(60 * (hh < 0 ? hh + 6 : hh)),\n s: round(max ? (delta / max) * 100 : 0),\n v: round((max / 255) * 100),\n a,\n };\n}\n\nexport function parseHex(color: string): HsvaColor {\n const hex = color[0] === '#' ? color.
|
|
1
|
+
{"version":3,"file":"parsers.js","sources":["../../../../src/components/ColorPicker/converters/parsers.ts"],"sourcesContent":["import { HsvaColor, RgbaColor, ColorFormat } from '../types';\n\nexport function round(number: number, digits = 0, base = 10 ** digits) {\n return Math.round(base * number) / base;\n}\n\nfunction hslaToHsva({ h, s, l, a }): HsvaColor {\n const ss = s * ((l < 50 ? l : 100 - l) / 100);\n\n return {\n h,\n s: ss > 0 ? ((2 * ss) / (l + ss)) * 100 : 0,\n v: l + ss,\n a,\n };\n}\n\nconst angleUnits: Record<string, number> = {\n grad: 360 / 400,\n turn: 360,\n rad: 360 / (Math.PI * 2),\n};\n\nexport function parseHue(value: string, unit = 'deg') {\n return Number(value) * (angleUnits[unit] || 1);\n}\n\nconst HSL_REGEXP =\n /hsla?\\(?\\s*(-?\\d*\\.?\\d+)(deg|rad|grad|turn)?[,\\s]+(-?\\d*\\.?\\d+)%?[,\\s]+(-?\\d*\\.?\\d+)%?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i;\n\nexport function parseHsla(color: string): HsvaColor {\n const match = HSL_REGEXP.exec(color);\n\n if (!match) {\n return { h: 0, s: 0, v: 0, a: 1 };\n }\n\n return hslaToHsva({\n h: parseHue(match[1], match[2]),\n s: Number(match[3]),\n l: Number(match[4]),\n a: match[5] === undefined ? 1 : Number(match[5]) / (match[6] ? 100 : 1),\n });\n}\n\nfunction rgbaToHsva({ r, g, b, a }: RgbaColor): HsvaColor {\n const max = Math.max(r, g, b);\n const delta = max - Math.min(r, g, b);\n\n const hh = delta\n ? max === r\n ? (g - b) / delta\n : max === g\n ? 2 + (b - r) / delta\n : 4 + (r - g) / delta\n : 0;\n\n return {\n h: round(60 * (hh < 0 ? hh + 6 : hh)),\n s: round(max ? (delta / max) * 100 : 0),\n v: round((max / 255) * 100),\n a,\n };\n}\n\nexport function parseHex(color: string): HsvaColor {\n const hex = color[0] === '#' ? color.slice(1) : color;\n\n if (hex.length === 3) {\n return rgbaToHsva({\n r: parseInt(hex[0] + hex[0], 16),\n g: parseInt(hex[1] + hex[1], 16),\n b: parseInt(hex[2] + hex[2], 16),\n a: 1,\n });\n }\n\n return rgbaToHsva({\n r: parseInt(hex.slice(0, 2), 16),\n g: parseInt(hex.slice(2, 4), 16),\n b: parseInt(hex.slice(4, 6), 16),\n a: 1,\n });\n}\n\nconst RGB_REGEXP =\n /rgba?\\(?\\s*(-?\\d*\\.?\\d+)(%)?[,\\s]+(-?\\d*\\.?\\d+)(%)?[,\\s]+(-?\\d*\\.?\\d+)(%)?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i;\n\nexport function parseRgba(color: string): HsvaColor {\n const match = RGB_REGEXP.exec(color);\n\n if (!match) {\n return { h: 0, s: 0, v: 0, a: 1 };\n }\n\n return rgbaToHsva({\n r: Number(match[1]) / (match[2] ? 100 / 255 : 1),\n g: Number(match[3]) / (match[4] ? 100 / 255 : 1),\n b: Number(match[5]) / (match[6] ? 100 / 255 : 1),\n a: match[7] === undefined ? 1 : Number(match[7]) / (match[8] ? 100 : 1),\n });\n}\n\nconst VALIDATION_REGEXP: Record<ColorFormat, RegExp> = {\n hex: /^#?([0-9A-F]{3}){1,2}$/i,\n rgb: /^rgb\\((\\d+),\\s*(\\d+),\\s*(\\d+)(?:,\\s*(\\d+(?:\\.\\d+)?))?\\)$/i,\n rgba: /^rgba\\((\\d+),\\s*(\\d+),\\s*(\\d+)(?:,\\s*(\\d+(?:\\.\\d+)?))?\\)$/i,\n hsl: /hsl\\(\\s*(\\d+)\\s*,\\s*(\\d+(?:\\.\\d+)?%)\\s*,\\s*(\\d+(?:\\.\\d+)?%)\\)/i,\n hsla: /^hsla\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%,\\s*(\\d*(?:\\.\\d+)?)\\)$/i,\n};\n\nconst CONVERTERS: Record<ColorFormat, (color: string) => HsvaColor> = {\n hex: parseHex,\n rgb: parseRgba,\n rgba: parseRgba,\n hsl: parseHsla,\n hsla: parseHsla,\n};\n\nexport function isColorValid(color: string) {\n // eslint-disable-next-line no-restricted-syntax\n for (const [, regexp] of Object.entries(VALIDATION_REGEXP)) {\n if (regexp.test(color)) {\n return true;\n }\n }\n\n return false;\n}\n\nexport function parseColor(color: string): HsvaColor {\n if (typeof color !== 'string') {\n return { h: 0, s: 0, v: 0, a: 1 };\n }\n\n if (color === 'transparent') {\n return { h: 0, s: 0, v: 0, a: 0 };\n }\n\n const trimmed = color.trim();\n\n // eslint-disable-next-line no-restricted-syntax\n for (const [rule, regexp] of Object.entries(VALIDATION_REGEXP)) {\n if (regexp.test(trimmed)) {\n return CONVERTERS[rule](trimmed);\n }\n }\n\n return { h: 0, s: 0, v: 0, a: 1 };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"List.context.js","sources":["../../../src/components/List/List.context.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\nimport { CSSObject, MantineNumberSize, MantineTheme } from '@mantine/styles';\nimport type { ListItemStylesNames } from './ListItem/ListItem';\n\ninterface ListContextValue {\n classNames?: Partial<Record<ListItemStylesNames, string>>;\n styles?:\n | Partial<Record<ListItemStylesNames, CSSObject>>\n | ((theme: MantineTheme) => Partial<Record<ListItemStylesNames, CSSObject>>);\n spacing?: MantineNumberSize;\n center?: boolean;\n icon?: React.ReactNode;\n}\n\nexport const ListContext = createContext<ListContextValue>(null);\n\nexport function useListContext(): ListContextValue {\n return useContext(ListContext) || {};\n}\n"],"names":[],"mappings":";;AACY,MAAC,WAAW,GAAG,aAAa,CAAC,IAAI,EAAE;AACxC,SAAS,cAAc,GAAG;AACjC,EAAE,OAAO,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;AACvC;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React, { forwardRef } from 'react';
|
|
2
2
|
import { useMantineDefaultProps } from '@mantine/styles';
|
|
3
3
|
import { ListItem } from './ListItem/ListItem.js';
|
|
4
|
+
import { ListContext } from './List.context.js';
|
|
4
5
|
import useStyles from './List.styles.js';
|
|
5
|
-
import { filterChildrenByType } from '../../utils/filter-children-by-type/filter-children-by-type.js';
|
|
6
6
|
import { Box } from '../Box/Box.js';
|
|
7
7
|
|
|
8
8
|
var __defProp = Object.defineProperty;
|
|
@@ -65,21 +65,13 @@ const List = forwardRef((props, ref) => {
|
|
|
65
65
|
"classNames"
|
|
66
66
|
]);
|
|
67
67
|
const { classes, cx } = useStyles({ withPadding, size, listStyleType }, { classNames, styles, name: "List" });
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
classNames,
|
|
72
|
-
styles,
|
|
73
|
-
spacing,
|
|
74
|
-
center,
|
|
75
|
-
icon: ((_a2 = item.props) == null ? void 0 : _a2.icon) || icon
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
return /* @__PURE__ */ React.createElement(Box, __spreadValues({
|
|
68
|
+
return /* @__PURE__ */ React.createElement(ListContext.Provider, {
|
|
69
|
+
value: { classNames, styles, spacing, center, icon }
|
|
70
|
+
}, /* @__PURE__ */ React.createElement(Box, __spreadValues({
|
|
79
71
|
component: type === "unordered" ? "ul" : "ol",
|
|
80
72
|
className: cx(classes.root, className),
|
|
81
73
|
ref
|
|
82
|
-
}, others),
|
|
74
|
+
}, others), children));
|
|
83
75
|
});
|
|
84
76
|
List.Item = ListItem;
|
|
85
77
|
List.displayName = "@mantine/core/List";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.js","sources":["../../../src/components/List/List.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineNumberSize,\n ClassNames,\n ForwardRefWithStaticComponents,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport {
|
|
1
|
+
{"version":3,"file":"List.js","sources":["../../../src/components/List/List.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineNumberSize,\n ClassNames,\n ForwardRefWithStaticComponents,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport { ListItem, ListItemStylesNames } from './ListItem/ListItem';\nimport { ListContext } from './List.context';\nimport useStyles from './List.styles';\n\nexport type ListStylesNames = ListItemStylesNames | ClassNames<typeof useStyles>;\n\nexport interface ListProps\n extends DefaultProps<ListStylesNames>,\n React.ComponentPropsWithoutRef<'ul'> {\n /** <List.Item /> components only */\n children: React.ReactNode;\n\n /** List type: ol or ul */\n type?: 'ordered' | 'unordered';\n\n /** Include padding-left to offset list from main content */\n withPadding?: boolean;\n\n /** Font size from theme or number to set value in px */\n size?: MantineNumberSize;\n\n /** Icon that should replace list item dot */\n icon?: React.ReactNode;\n\n /** Spacing between items from theme or number to set value in px */\n spacing?: MantineNumberSize;\n\n /** Center items with icon */\n center?: boolean;\n\n /** List style */\n listStyleType?: React.CSSProperties['listStyleType'];\n}\n\ntype ListComponent = ForwardRefWithStaticComponents<ListProps, { Item: typeof ListItem }>;\n\nconst defaultProps: Partial<ListProps> = {\n type: 'unordered',\n size: 'md',\n spacing: 0,\n};\n\nexport const List: ListComponent = forwardRef<HTMLUListElement, ListProps>(\n (props: ListProps, ref) => {\n const {\n children,\n type,\n size,\n listStyleType,\n withPadding,\n center,\n spacing,\n icon,\n className,\n styles,\n classNames,\n ...others\n } = useMantineDefaultProps('List', defaultProps, props);\n\n const { classes, cx } = useStyles(\n { withPadding, size, listStyleType },\n { classNames, styles, name: 'List' }\n );\n\n return (\n <ListContext.Provider value={{ classNames, styles, spacing, center, icon }}>\n <Box<any>\n component={type === 'unordered' ? 'ul' : 'ol'}\n className={cx(classes.root, className)}\n ref={ref}\n {...others}\n >\n {children}\n </Box>\n </ListContext.Provider>\n );\n }\n) as any;\n\nList.Item = ListItem;\nList.displayName = '@mantine/core/List';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { useListContext } from '../List.context.js';
|
|
2
3
|
import useStyles from './ListItem.styles.js';
|
|
3
4
|
import { Box } from '../../Box/Box.js';
|
|
4
5
|
|
|
@@ -31,32 +32,18 @@ var __objRest = (source, exclude) => {
|
|
|
31
32
|
return target;
|
|
32
33
|
};
|
|
33
34
|
function ListItem(_a) {
|
|
34
|
-
var _b = _a, {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
icon,
|
|
38
|
-
classNames,
|
|
39
|
-
styles,
|
|
40
|
-
spacing,
|
|
41
|
-
center
|
|
42
|
-
} = _b, others = __objRest(_b, [
|
|
43
|
-
"className",
|
|
44
|
-
"children",
|
|
45
|
-
"icon",
|
|
46
|
-
"classNames",
|
|
47
|
-
"styles",
|
|
48
|
-
"spacing",
|
|
49
|
-
"center"
|
|
50
|
-
]);
|
|
35
|
+
var _b = _a, { className, children, icon } = _b, others = __objRest(_b, ["className", "children", "icon"]);
|
|
36
|
+
const { classNames, styles, icon: ctxIcon, spacing, center } = useListContext();
|
|
37
|
+
const _icon = icon || ctxIcon;
|
|
51
38
|
const { classes, cx } = useStyles({ spacing, center }, { classNames, styles, name: "List" });
|
|
52
39
|
return /* @__PURE__ */ React.createElement(Box, __spreadValues({
|
|
53
40
|
component: "li",
|
|
54
|
-
className: cx(classes.item, { [classes.withIcon]:
|
|
41
|
+
className: cx(classes.item, { [classes.withIcon]: _icon }, className)
|
|
55
42
|
}, others), /* @__PURE__ */ React.createElement("div", {
|
|
56
43
|
className: classes.itemWrapper
|
|
57
|
-
},
|
|
44
|
+
}, _icon && /* @__PURE__ */ React.createElement("span", {
|
|
58
45
|
className: classes.itemIcon
|
|
59
|
-
},
|
|
46
|
+
}, _icon), /* @__PURE__ */ React.createElement("span", null, children)));
|
|
60
47
|
}
|
|
61
48
|
ListItem.displayName = "@mantine/core/ListItem";
|
|
62
49
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItem.js","sources":["../../../../src/components/List/ListItem/ListItem.tsx"],"sourcesContent":["import React from 'react';\nimport { DefaultProps,
|
|
1
|
+
{"version":3,"file":"ListItem.js","sources":["../../../../src/components/List/ListItem/ListItem.tsx"],"sourcesContent":["import React from 'react';\nimport { DefaultProps, ClassNames } from '@mantine/styles';\nimport { Box } from '../../Box';\nimport { useListContext } from '../List.context';\nimport useStyles from './ListItem.styles';\n\nexport type ListItemStylesNames = ClassNames<typeof useStyles>;\n\nexport interface ListItemProps\n extends DefaultProps<ListItemStylesNames>,\n React.ComponentPropsWithoutRef<'li'> {\n /** Icon to replace bullet */\n icon?: React.ReactNode;\n\n /** Item content */\n children: React.ReactNode;\n}\n\nexport function ListItem({ className, children, icon, ...others }: ListItemProps) {\n const { classNames, styles, icon: ctxIcon, spacing, center } = useListContext();\n const _icon = icon || ctxIcon;\n const { classes, cx } = useStyles({ spacing, center }, { classNames, styles, name: 'List' });\n\n return (\n <Box\n component=\"li\"\n className={cx(classes.item, { [classes.withIcon]: _icon }, className)}\n {...others}\n >\n <div className={classes.itemWrapper}>\n {_icon && <span className={classes.itemIcon}>{_icon}</span>}\n <span>{children}</span>\n </div>\n </Box>\n );\n}\n\nListItem.displayName = '@mantine/core/ListItem';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createContext, useContext } from 'react';
|
|
2
|
+
|
|
3
|
+
const MenuContext = createContext(null);
|
|
4
|
+
function useMenuContext(component = "Item") {
|
|
5
|
+
const ctx = useContext(MenuContext);
|
|
6
|
+
if (!ctx) {
|
|
7
|
+
throw new Error(`Menu.${component} component was rendered outside of Menu context`);
|
|
8
|
+
}
|
|
9
|
+
return ctx;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export { MenuContext, useMenuContext };
|
|
13
|
+
//# sourceMappingURL=Menu.context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Menu.context.js","sources":["../../../src/components/Menu/Menu.context.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\nimport { MantineNumberSize, MantineTheme, CSSObject } from '@mantine/styles';\nimport type { MenuStylesNames } from './Menu';\n\ninterface MenuContextValue {\n hovered: number;\n radius: MantineNumberSize;\n classNames: Partial<Record<MenuStylesNames, string>>;\n styles:\n | Partial<Record<MenuStylesNames, CSSObject>>\n | ((theme: MantineTheme) => Partial<Record<MenuStylesNames, CSSObject>>);\n onItemHover(index: number): void;\n onItemKeyDown(event: React.KeyboardEvent<HTMLElement>): void;\n onItemClick(): void;\n}\n\nexport const MenuContext = createContext<MenuContextValue>(null);\n\nexport function useMenuContext(component = 'Item') {\n const ctx = useContext(MenuContext);\n\n if (!ctx) {\n throw new Error(`Menu.${component} component was rendered outside of Menu context`);\n }\n\n return ctx;\n}\n"],"names":[],"mappings":";;AACY,MAAC,WAAW,GAAG,aAAa,CAAC,IAAI,EAAE;AACxC,SAAS,cAAc,CAAC,SAAS,GAAG,MAAM,EAAE;AACnD,EAAE,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;AACtC,EAAE,IAAI,CAAC,GAAG,EAAE;AACZ,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,+CAA+C,CAAC,CAAC,CAAC;AACxF,GAAG;AACH,EAAE,OAAO,GAAG,CAAC;AACb;;;;"}
|
|
@@ -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;
|
|
@@ -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;
|