@mantine/core 5.7.0 → 5.7.2
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/Box/style-system-props/extract-system-styles/extract-system-styles.js +3 -0
- package/cjs/Box/style-system-props/extract-system-styles/extract-system-styles.js.map +1 -1
- package/cjs/Box/style-system-props/system-props/system-props.js +1 -0
- package/cjs/Box/style-system-props/system-props/system-props.js.map +1 -1
- package/cjs/Image/Image.js +1 -7
- package/cjs/Image/Image.js.map +1 -1
- package/cjs/InlineInput/InlineInput.styles.js +2 -0
- package/cjs/InlineInput/InlineInput.styles.js.map +1 -1
- package/cjs/Menu/MenuItem/MenuItem.js +2 -2
- package/cjs/Menu/MenuItem/MenuItem.js.map +1 -1
- package/cjs/Modal/Modal.js +13 -2
- package/cjs/Modal/Modal.js.map +1 -1
- package/cjs/Radio/Radio.js +6 -4
- package/cjs/Radio/Radio.js.map +1 -1
- package/cjs/Select/SelectRightSection/SelectRightSection.js +2 -1
- package/cjs/Select/SelectRightSection/SelectRightSection.js.map +1 -1
- package/cjs/Slider/Marks/Marks.js +3 -2
- package/cjs/Slider/Marks/Marks.js.map +1 -1
- package/cjs/Slider/Marks/is-mark-filled.js +2 -2
- package/cjs/Slider/Marks/is-mark-filled.js.map +1 -1
- package/cjs/Slider/RangeSlider/RangeSlider.js +2 -2
- package/cjs/Slider/RangeSlider/RangeSlider.js.map +1 -1
- package/cjs/Slider/Track/Track.js +2 -1
- package/cjs/Slider/Track/Track.js.map +1 -1
- package/cjs/Slider/utils/get-change-value/get-change-value.js +1 -1
- package/cjs/Slider/utils/get-change-value/get-change-value.js.map +1 -1
- package/cjs/TypographyStylesProvider/TypographyStylesProvider.styles.js +4 -0
- package/cjs/TypographyStylesProvider/TypographyStylesProvider.styles.js.map +1 -1
- package/esm/Box/style-system-props/extract-system-styles/extract-system-styles.js +3 -0
- package/esm/Box/style-system-props/extract-system-styles/extract-system-styles.js.map +1 -1
- package/esm/Box/style-system-props/system-props/system-props.js +1 -0
- package/esm/Box/style-system-props/system-props/system-props.js.map +1 -1
- package/esm/Image/Image.js +1 -7
- package/esm/Image/Image.js.map +1 -1
- package/esm/InlineInput/InlineInput.styles.js +2 -0
- package/esm/InlineInput/InlineInput.styles.js.map +1 -1
- package/esm/Menu/MenuItem/MenuItem.js +2 -2
- package/esm/Menu/MenuItem/MenuItem.js.map +1 -1
- package/esm/Modal/Modal.js +15 -4
- package/esm/Modal/Modal.js.map +1 -1
- package/esm/Radio/Radio.js +6 -4
- package/esm/Radio/Radio.js.map +1 -1
- package/esm/Select/SelectRightSection/SelectRightSection.js +2 -1
- package/esm/Select/SelectRightSection/SelectRightSection.js.map +1 -1
- package/esm/Slider/Marks/Marks.js +3 -2
- package/esm/Slider/Marks/Marks.js.map +1 -1
- package/esm/Slider/Marks/is-mark-filled.js +2 -2
- package/esm/Slider/Marks/is-mark-filled.js.map +1 -1
- package/esm/Slider/RangeSlider/RangeSlider.js +2 -2
- package/esm/Slider/RangeSlider/RangeSlider.js.map +1 -1
- package/esm/Slider/Track/Track.js +2 -1
- package/esm/Slider/Track/Track.js.map +1 -1
- package/esm/Slider/utils/get-change-value/get-change-value.js +1 -1
- package/esm/Slider/utils/get-change-value/get-change-value.js.map +1 -1
- package/esm/TypographyStylesProvider/TypographyStylesProvider.styles.js +4 -0
- package/esm/TypographyStylesProvider/TypographyStylesProvider.styles.js.map +1 -1
- package/lib/AppShell/HorizontalSection/HorizontalSection.d.ts +1 -1
- package/lib/AppShell/HorizontalSection/HorizontalSection.d.ts.map +1 -1
- package/lib/Box/style-system-props/extract-system-styles/extract-system-styles.d.ts.map +1 -1
- package/lib/Box/style-system-props/system-props/system-props.d.ts.map +1 -1
- package/lib/Image/Image.d.ts.map +1 -1
- package/lib/InlineInput/InlineInput.styles.d.ts.map +1 -1
- package/lib/Modal/Modal.d.ts.map +1 -1
- package/lib/Radio/Radio.d.ts.map +1 -1
- package/lib/ScrollArea/ScrollArea.d.ts +1 -1
- package/lib/ScrollArea/ScrollArea.d.ts.map +1 -1
- package/lib/Select/SelectRightSection/SelectRightSection.d.ts.map +1 -1
- package/lib/Select/SelectScrollArea/SelectScrollArea.d.ts +1 -1
- package/lib/Select/SelectScrollArea/SelectScrollArea.d.ts.map +1 -1
- package/lib/Slider/Marks/Marks.d.ts +2 -1
- package/lib/Slider/Marks/Marks.d.ts.map +1 -1
- package/lib/Slider/Marks/is-mark-filled.d.ts +2 -1
- package/lib/Slider/Marks/is-mark-filled.d.ts.map +1 -1
- package/lib/Slider/Track/Track.d.ts.map +1 -1
- package/lib/Slider/utils/get-change-value/get-change-value.d.ts.map +1 -1
- package/lib/TypographyStylesProvider/TypographyStylesProvider.styles.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -61,6 +61,7 @@ function extractSystemStyles(others) {
|
|
|
61
61
|
top,
|
|
62
62
|
left,
|
|
63
63
|
bottom,
|
|
64
|
+
right,
|
|
64
65
|
inset
|
|
65
66
|
} = _a, rest = __objRest(_a, [
|
|
66
67
|
"m",
|
|
@@ -103,6 +104,7 @@ function extractSystemStyles(others) {
|
|
|
103
104
|
"top",
|
|
104
105
|
"left",
|
|
105
106
|
"bottom",
|
|
107
|
+
"right",
|
|
106
108
|
"inset"
|
|
107
109
|
]);
|
|
108
110
|
const systemStyles = styles.filterProps({
|
|
@@ -146,6 +148,7 @@ function extractSystemStyles(others) {
|
|
|
146
148
|
top,
|
|
147
149
|
left,
|
|
148
150
|
bottom,
|
|
151
|
+
right,
|
|
149
152
|
inset
|
|
150
153
|
});
|
|
151
154
|
return { systemStyles, rest };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-system-styles.js","sources":["../../../../src/Box/style-system-props/extract-system-styles/extract-system-styles.ts"],"sourcesContent":["import { MantineStyleSystemProps, filterProps } from '@mantine/styles';\n\nexport function extractSystemStyles<T extends Record<string, any>>(\n others: MantineStyleSystemProps & T\n): { systemStyles: MantineStyleSystemProps; rest: T } {\n const {\n m,\n mx,\n my,\n mt,\n mb,\n ml,\n mr,\n p,\n px,\n py,\n pt,\n pb,\n pl,\n pr,\n bg,\n c,\n opacity,\n ff,\n fz,\n fw,\n lts,\n ta,\n lh,\n fs,\n tt,\n td,\n w,\n miw,\n maw,\n h,\n mih,\n mah,\n bgsz,\n bgp,\n bgr,\n bga,\n pos,\n top,\n left,\n bottom,\n inset,\n ...rest\n } = others;\n const systemStyles = filterProps({\n m,\n mx,\n my,\n mt,\n mb,\n ml,\n mr,\n p,\n px,\n py,\n pt,\n pb,\n pl,\n pr,\n bg,\n c,\n opacity,\n ff,\n fz,\n fw,\n lts,\n ta,\n lh,\n fs,\n tt,\n td,\n w,\n miw,\n maw,\n h,\n mih,\n mah,\n bgsz,\n bgp,\n bgr,\n bga,\n pos,\n top,\n left,\n bottom,\n inset,\n });\n\n return { systemStyles, rest: rest as unknown as T };\n}\n"],"names":["filterProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"extract-system-styles.js","sources":["../../../../src/Box/style-system-props/extract-system-styles/extract-system-styles.ts"],"sourcesContent":["import { MantineStyleSystemProps, filterProps } from '@mantine/styles';\n\nexport function extractSystemStyles<T extends Record<string, any>>(\n others: MantineStyleSystemProps & T\n): { systemStyles: MantineStyleSystemProps; rest: T } {\n const {\n m,\n mx,\n my,\n mt,\n mb,\n ml,\n mr,\n p,\n px,\n py,\n pt,\n pb,\n pl,\n pr,\n bg,\n c,\n opacity,\n ff,\n fz,\n fw,\n lts,\n ta,\n lh,\n fs,\n tt,\n td,\n w,\n miw,\n maw,\n h,\n mih,\n mah,\n bgsz,\n bgp,\n bgr,\n bga,\n pos,\n top,\n left,\n bottom,\n right,\n inset,\n ...rest\n } = others;\n const systemStyles = filterProps({\n m,\n mx,\n my,\n mt,\n mb,\n ml,\n mr,\n p,\n px,\n py,\n pt,\n pb,\n pl,\n pr,\n bg,\n c,\n opacity,\n ff,\n fz,\n fw,\n lts,\n ta,\n lh,\n fs,\n tt,\n td,\n w,\n miw,\n maw,\n h,\n mih,\n mah,\n bgsz,\n bgp,\n bgr,\n bga,\n pos,\n top,\n left,\n bottom,\n right,\n inset,\n });\n\n return { systemStyles, rest: rest as unknown as T };\n}\n"],"names":["filterProps"],"mappings":"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"}
|
|
@@ -43,6 +43,7 @@ const SYSTEM_PROPS = {
|
|
|
43
43
|
top: { type: "default", property: "top" },
|
|
44
44
|
left: { type: "default", property: "left" },
|
|
45
45
|
bottom: { type: "default", property: "bottom" },
|
|
46
|
+
right: { type: "default", property: "right" },
|
|
46
47
|
inset: { type: "default", property: "inset" }
|
|
47
48
|
};
|
|
48
49
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-props.js","sources":["../../../../src/Box/style-system-props/system-props/system-props.ts"],"sourcesContent":["import type { StyleProperty } from '../get-responsive-value/get-responsive-value';\nimport type { SystemValueType } from '../value-getters/value-getters';\n\nexport interface SystemPropData {\n type: SystemValueType;\n property: StyleProperty;\n}\n\nexport const SYSTEM_PROPS: Record<string, SystemPropData> = {\n m: { type: 'spacing', property: 'margin' },\n mt: { type: 'spacing', property: 'marginTop' },\n mb: { type: 'spacing', property: 'marginBottom' },\n ml: { type: 'spacing', property: 'marginLeft' },\n mr: { type: 'spacing', property: 'marginRight' },\n mx: { type: 'spacing', property: ['marginRight', 'marginLeft'] },\n my: { type: 'spacing', property: ['marginTop', 'marginBottom'] },\n\n p: { type: 'spacing', property: 'padding' },\n pt: { type: 'spacing', property: 'paddingTop' },\n pb: { type: 'spacing', property: 'paddingBottom' },\n pl: { type: 'spacing', property: 'paddingLeft' },\n pr: { type: 'spacing', property: 'paddingRight' },\n px: { type: 'spacing', property: ['paddingRight', 'paddingLeft'] },\n py: { type: 'spacing', property: ['paddingTop', 'paddingBottom'] },\n\n bg: { type: 'color', property: 'background' },\n c: { type: 'color', property: 'color' },\n opacity: { type: 'default', property: 'opacity' },\n\n ff: { type: 'default', property: 'fontFamily' },\n fz: { type: 'fontSize', property: 'fontSize' },\n fw: { type: 'default', property: 'fontWeight' },\n lts: { type: 'default', property: 'letterSpacing' },\n ta: { type: 'default', property: 'textAlign' },\n lh: { type: 'default', property: 'lineHeight' },\n fs: { type: 'default', property: 'fontStyle' },\n tt: { type: 'default', property: 'textTransform' },\n td: { type: 'default', property: 'textDecoration' },\n\n w: { type: 'default', property: 'width' },\n miw: { type: 'default', property: 'minWidth' },\n maw: { type: 'default', property: 'maxWidth' },\n h: { type: 'default', property: 'height' },\n mih: { type: 'default', property: 'minHeight' },\n mah: { type: 'default', property: 'maxHeight' },\n\n bgsz: { type: 'default', property: 'background-size' },\n bgp: { type: 'default', property: 'background-position' },\n bgr: { type: 'default', property: 'background-repeat' },\n bga: { type: 'default', property: 'background-attachment' },\n\n pos: { type: 'default', property: 'position' },\n top: { type: 'default', property: 'top' },\n left: { type: 'default', property: 'left' },\n bottom: { type: 'default', property: 'bottom' },\n inset: { type: 'default', property: 'inset' },\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"system-props.js","sources":["../../../../src/Box/style-system-props/system-props/system-props.ts"],"sourcesContent":["import type { StyleProperty } from '../get-responsive-value/get-responsive-value';\nimport type { SystemValueType } from '../value-getters/value-getters';\n\nexport interface SystemPropData {\n type: SystemValueType;\n property: StyleProperty;\n}\n\nexport const SYSTEM_PROPS: Record<string, SystemPropData> = {\n m: { type: 'spacing', property: 'margin' },\n mt: { type: 'spacing', property: 'marginTop' },\n mb: { type: 'spacing', property: 'marginBottom' },\n ml: { type: 'spacing', property: 'marginLeft' },\n mr: { type: 'spacing', property: 'marginRight' },\n mx: { type: 'spacing', property: ['marginRight', 'marginLeft'] },\n my: { type: 'spacing', property: ['marginTop', 'marginBottom'] },\n\n p: { type: 'spacing', property: 'padding' },\n pt: { type: 'spacing', property: 'paddingTop' },\n pb: { type: 'spacing', property: 'paddingBottom' },\n pl: { type: 'spacing', property: 'paddingLeft' },\n pr: { type: 'spacing', property: 'paddingRight' },\n px: { type: 'spacing', property: ['paddingRight', 'paddingLeft'] },\n py: { type: 'spacing', property: ['paddingTop', 'paddingBottom'] },\n\n bg: { type: 'color', property: 'background' },\n c: { type: 'color', property: 'color' },\n opacity: { type: 'default', property: 'opacity' },\n\n ff: { type: 'default', property: 'fontFamily' },\n fz: { type: 'fontSize', property: 'fontSize' },\n fw: { type: 'default', property: 'fontWeight' },\n lts: { type: 'default', property: 'letterSpacing' },\n ta: { type: 'default', property: 'textAlign' },\n lh: { type: 'default', property: 'lineHeight' },\n fs: { type: 'default', property: 'fontStyle' },\n tt: { type: 'default', property: 'textTransform' },\n td: { type: 'default', property: 'textDecoration' },\n\n w: { type: 'default', property: 'width' },\n miw: { type: 'default', property: 'minWidth' },\n maw: { type: 'default', property: 'maxWidth' },\n h: { type: 'default', property: 'height' },\n mih: { type: 'default', property: 'minHeight' },\n mah: { type: 'default', property: 'maxHeight' },\n\n bgsz: { type: 'default', property: 'background-size' },\n bgp: { type: 'default', property: 'background-position' },\n bgr: { type: 'default', property: 'background-repeat' },\n bga: { type: 'default', property: 'background-attachment' },\n\n pos: { type: 'default', property: 'position' },\n top: { type: 'default', property: 'top' },\n left: { type: 'default', property: 'left' },\n bottom: { type: 'default', property: 'bottom' },\n right: { type: 'default', property: 'right' },\n inset: { type: 'default', property: 'inset' },\n};\n"],"names":[],"mappings":"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"}
|
package/cjs/Image/Image.js
CHANGED
|
@@ -85,11 +85,9 @@ const Image = React.forwardRef((props, ref) => {
|
|
|
85
85
|
"style"
|
|
86
86
|
]);
|
|
87
87
|
const { classes, cx } = Image_styles['default']({ radius }, { classNames, styles: styles$1, unstyled, name: "Image" });
|
|
88
|
-
const [loaded, setLoaded] = React.useState(!!src);
|
|
89
88
|
const [error, setError] = React.useState(!src);
|
|
90
|
-
const isPlaceholder = withPlaceholder &&
|
|
89
|
+
const isPlaceholder = withPlaceholder && error;
|
|
91
90
|
hooks.useDidUpdate(() => {
|
|
92
|
-
setLoaded(false);
|
|
93
91
|
setError(false);
|
|
94
92
|
}, [src]);
|
|
95
93
|
return /* @__PURE__ */ React__default.createElement(Box.Box, __spreadValues({
|
|
@@ -106,10 +104,6 @@ const Image = React.forwardRef((props, ref) => {
|
|
|
106
104
|
alt,
|
|
107
105
|
style: { objectFit: fit, width, height },
|
|
108
106
|
ref: imageRef,
|
|
109
|
-
onLoad: (event) => {
|
|
110
|
-
setLoaded(true);
|
|
111
|
-
typeof (imageProps == null ? void 0 : imageProps.onLoad) === "function" && imageProps.onLoad(event);
|
|
112
|
-
},
|
|
113
107
|
onError: (event) => {
|
|
114
108
|
setError(true);
|
|
115
109
|
typeof (imageProps == null ? void 0 : imageProps.onError) === "function" && imageProps.onError(event);
|
package/cjs/Image/Image.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Image.js","sources":["../../src/Image/Image.tsx"],"sourcesContent":["import React, { useState, forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineNumberSize,\n Selectors,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { useDidUpdate } from '@mantine/hooks';\nimport { Text } from '../Text';\nimport { Box } from '../Box';\nimport { ImageIcon } from './ImageIcon';\nimport useStyles, { ImageStylesParams } from './Image.styles';\n\nexport type ImageStylesNames = Selectors<typeof useStyles>;\n\nexport interface ImageProps\n extends DefaultProps<ImageStylesNames, ImageStylesParams>,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'placeholder'> {\n /** Image src */\n src?: string | null;\n\n /** Image alt text, used as title for placeholder if image was not loaded */\n alt?: string;\n\n /** Image object-fit property */\n fit?: React.CSSProperties['objectFit'];\n\n /** Image width, defaults to 100%, cannot exceed 100% */\n width?: number | string;\n\n /** Image height, defaults to original image height adjusted to given width */\n height?: number | string;\n\n /** Predefined border-radius value from theme.radius or number for border-radius in px */\n radius?: MantineNumberSize;\n\n /** Enable placeholder when image is loading and when image fails to load */\n withPlaceholder?: boolean;\n\n /** Customize placeholder content */\n placeholder?: React.ReactNode;\n\n /** Props spread to img element */\n imageProps?: React.ComponentPropsWithoutRef<'img'>;\n\n /** Get image element ref */\n imageRef?: React.ForwardedRef<HTMLImageElement>;\n\n /** Image figcaption, displayed below image */\n caption?: React.ReactNode;\n}\n\nconst defaultProps: Partial<ImageProps> = {\n fit: 'cover',\n width: '100%',\n height: 'auto',\n radius: 0,\n};\n\nexport const Image = forwardRef<HTMLDivElement, ImageProps>((props: ImageProps, ref) => {\n const {\n className,\n alt,\n src,\n fit,\n width,\n height,\n radius,\n imageProps,\n withPlaceholder,\n placeholder,\n imageRef,\n classNames,\n styles,\n caption,\n unstyled,\n style,\n ...others\n } = useComponentDefaultProps('Image', defaultProps, props);\n const { classes, cx } = useStyles({ radius }, { classNames, styles, unstyled, name: 'Image' });\n const [
|
|
1
|
+
{"version":3,"file":"Image.js","sources":["../../src/Image/Image.tsx"],"sourcesContent":["import React, { useState, forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineNumberSize,\n Selectors,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { useDidUpdate } from '@mantine/hooks';\nimport { Text } from '../Text';\nimport { Box } from '../Box';\nimport { ImageIcon } from './ImageIcon';\nimport useStyles, { ImageStylesParams } from './Image.styles';\n\nexport type ImageStylesNames = Selectors<typeof useStyles>;\n\nexport interface ImageProps\n extends DefaultProps<ImageStylesNames, ImageStylesParams>,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'placeholder'> {\n /** Image src */\n src?: string | null;\n\n /** Image alt text, used as title for placeholder if image was not loaded */\n alt?: string;\n\n /** Image object-fit property */\n fit?: React.CSSProperties['objectFit'];\n\n /** Image width, defaults to 100%, cannot exceed 100% */\n width?: number | string;\n\n /** Image height, defaults to original image height adjusted to given width */\n height?: number | string;\n\n /** Predefined border-radius value from theme.radius or number for border-radius in px */\n radius?: MantineNumberSize;\n\n /** Enable placeholder when image is loading and when image fails to load */\n withPlaceholder?: boolean;\n\n /** Customize placeholder content */\n placeholder?: React.ReactNode;\n\n /** Props spread to img element */\n imageProps?: React.ComponentPropsWithoutRef<'img'>;\n\n /** Get image element ref */\n imageRef?: React.ForwardedRef<HTMLImageElement>;\n\n /** Image figcaption, displayed below image */\n caption?: React.ReactNode;\n}\n\nconst defaultProps: Partial<ImageProps> = {\n fit: 'cover',\n width: '100%',\n height: 'auto',\n radius: 0,\n};\n\nexport const Image = forwardRef<HTMLDivElement, ImageProps>((props: ImageProps, ref) => {\n const {\n className,\n alt,\n src,\n fit,\n width,\n height,\n radius,\n imageProps,\n withPlaceholder,\n placeholder,\n imageRef,\n classNames,\n styles,\n caption,\n unstyled,\n style,\n ...others\n } = useComponentDefaultProps('Image', defaultProps, props);\n const { classes, cx } = useStyles({ radius }, { classNames, styles, unstyled, name: 'Image' });\n const [error, setError] = useState(!src);\n const isPlaceholder = withPlaceholder && error;\n\n useDidUpdate(() => {\n setError(false);\n }, [src]);\n\n return (\n <Box className={cx(classes.root, className)} ref={ref} style={{ width, ...style }} {...others}>\n <figure className={classes.figure}>\n <div className={classes.imageWrapper}>\n <img\n className={classes.image}\n src={src}\n alt={alt}\n style={{ objectFit: fit, width, height }}\n ref={imageRef}\n onError={(event) => {\n setError(true);\n typeof imageProps?.onError === 'function' && imageProps.onError(event);\n }}\n {...imageProps}\n />\n\n {isPlaceholder && (\n <div className={classes.placeholder} title={alt}>\n {placeholder || (\n <div>\n <ImageIcon style={{ width: 40, height: 40 }} />\n </div>\n )}\n </div>\n )}\n </div>\n\n {!!caption && (\n <Text component=\"figcaption\" size=\"sm\" align=\"center\" className={classes.caption}>\n {caption}\n </Text>\n )}\n </figure>\n </Box>\n );\n});\n\nImage.displayName = '@mantine/core/Image';\n"],"names":["forwardRef","useComponentDefaultProps","styles","useStyles","useState","useDidUpdate","React","Box","ImageIcon","Text"],"mappings":"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"}
|
|
@@ -36,6 +36,8 @@ var useStyles = styles.createStyles((theme, { labelPosition, size }) => ({
|
|
|
36
36
|
display: "inline-flex"
|
|
37
37
|
},
|
|
38
38
|
labelWrapper: __spreadProps(__spreadValues({}, theme.fn.fontStyles()), {
|
|
39
|
+
display: "inline-flex",
|
|
40
|
+
flexDirection: "column",
|
|
39
41
|
WebkitTapHighlightColor: "transparent",
|
|
40
42
|
fontSize: theme.fn.size({ size, sizes: theme.fontSizes }),
|
|
41
43
|
lineHeight: `${theme.fn.size({ size, sizes })}px`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InlineInput.styles.js","sources":["../../src/InlineInput/InlineInput.styles.ts"],"sourcesContent":["import { createStyles, MantineSize } from '@mantine/styles';\n\nconst sizes = {\n xs: 16,\n sm: 20,\n md: 24,\n lg: 30,\n xl: 36,\n};\n\nexport interface InlineInputStylesParams {\n size: MantineSize;\n labelPosition: 'left' | 'right';\n}\n\nexport default createStyles((theme, { labelPosition, size }: InlineInputStylesParams) => ({\n root: {},\n\n body: {\n display: 'inline-flex',\n },\n\n labelWrapper: {\n ...theme.fn.fontStyles(),\n WebkitTapHighlightColor: 'transparent',\n fontSize: theme.fn.size({ size, sizes: theme.fontSizes }),\n lineHeight: `${theme.fn.size({ size, sizes })}px`,\n color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.black,\n cursor: theme.cursorType,\n order: labelPosition === 'left' ? 1 : 2,\n },\n\n description: {\n marginTop: `calc(${theme.spacing.xs}px / 2)`,\n [labelPosition === 'left' ? 'paddingRight' : 'paddingLeft']: theme.spacing.sm,\n },\n\n error: {\n marginTop: `calc(${theme.spacing.xs}px / 2)`,\n [labelPosition === 'left' ? 'paddingRight' : 'paddingLeft']: theme.spacing.sm,\n },\n\n label: {\n cursor: theme.cursorType,\n [labelPosition === 'left' ? 'paddingRight' : 'paddingLeft']: theme.spacing.sm,\n\n '&[data-disabled]': {\n color: theme.colorScheme === 'dark' ? theme.colors.dark[3] : theme.colors.gray[5],\n },\n },\n}));\n"],"names":["createStyles"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InlineInput.styles.js","sources":["../../src/InlineInput/InlineInput.styles.ts"],"sourcesContent":["import { createStyles, MantineSize } from '@mantine/styles';\n\nconst sizes = {\n xs: 16,\n sm: 20,\n md: 24,\n lg: 30,\n xl: 36,\n};\n\nexport interface InlineInputStylesParams {\n size: MantineSize;\n labelPosition: 'left' | 'right';\n}\n\nexport default createStyles((theme, { labelPosition, size }: InlineInputStylesParams) => ({\n root: {},\n\n body: {\n display: 'inline-flex',\n },\n\n labelWrapper: {\n ...theme.fn.fontStyles(),\n display: 'inline-flex',\n flexDirection: 'column',\n WebkitTapHighlightColor: 'transparent',\n fontSize: theme.fn.size({ size, sizes: theme.fontSizes }),\n lineHeight: `${theme.fn.size({ size, sizes })}px`,\n color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.black,\n cursor: theme.cursorType,\n order: labelPosition === 'left' ? 1 : 2,\n },\n\n description: {\n marginTop: `calc(${theme.spacing.xs}px / 2)`,\n [labelPosition === 'left' ? 'paddingRight' : 'paddingLeft']: theme.spacing.sm,\n },\n\n error: {\n marginTop: `calc(${theme.spacing.xs}px / 2)`,\n [labelPosition === 'left' ? 'paddingRight' : 'paddingLeft']: theme.spacing.sm,\n },\n\n label: {\n cursor: theme.cursorType,\n [labelPosition === 'left' ? 'paddingRight' : 'paddingLeft']: theme.spacing.sm,\n\n '&[data-disabled]': {\n color: theme.colorScheme === 'dark' ? theme.colors.dark[3] : theme.colors.gray[5],\n },\n },\n}));\n"],"names":["createStyles"],"mappings":"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"}
|
|
@@ -64,9 +64,9 @@ const _MenuItem = React.forwardRef((_a, ref) => {
|
|
|
64
64
|
});
|
|
65
65
|
const handleFocus = utils.createEventHandler(_others.onFocus, () => ctx.setHovered(ctx.getItemIndex(itemRef.current)));
|
|
66
66
|
return /* @__PURE__ */ React__default.createElement(Box.Box, __spreadProps(__spreadValues({
|
|
67
|
-
component: "button"
|
|
67
|
+
component: "button",
|
|
68
|
+
type: "button"
|
|
68
69
|
}, others), {
|
|
69
|
-
type: "button",
|
|
70
70
|
tabIndex: -1,
|
|
71
71
|
onFocus: handleFocus,
|
|
72
72
|
className: cx(classes.item, className),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItem.js","sources":["../../../src/Menu/MenuItem/MenuItem.tsx"],"sourcesContent":["import React, { useRef, forwardRef } from 'react';\nimport { DefaultProps, MantineColor, Selectors, useContextStylesApi } from '@mantine/styles';\nimport {\n createEventHandler,\n createPolymorphicComponent,\n createScopedKeydownHandler,\n} from '@mantine/utils';\nimport { useMergedRef } from '@mantine/hooks';\nimport { Box } from '../../Box';\nimport { useMenuContext } from '../Menu.context';\nimport useStyles from './MenuItem.styles';\n\nexport type MenuItemStylesNames = Selectors<typeof useStyles>;\n\nexport interface MenuItemProps extends DefaultProps {\n /** Item label */\n children?: React.ReactNode;\n\n /** Key of theme.colors */\n color?: MantineColor;\n\n /** Determines whether menu should be closed when item is clicked, overrides closeOnItemClick prop on Menu component */\n closeMenuOnClick?: boolean;\n\n /** Icon rendered on the left side of the label */\n icon?: React.ReactNode;\n\n /** Section rendered on the right side of the label */\n rightSection?: React.ReactNode;\n}\n\nexport const _MenuItem = forwardRef<HTMLButtonElement, MenuItemProps>(\n (\n { children, className, color, closeMenuOnClick, icon, rightSection, ...others }: MenuItemProps,\n ref\n ) => {\n const ctx = useMenuContext();\n const { classNames, styles, unstyled } = useContextStylesApi();\n const { classes, cx, theme } = useStyles(\n { radius: ctx.radius, color },\n { name: 'Menu', classNames, styles, unstyled }\n );\n const itemRef = useRef<HTMLButtonElement>();\n\n const itemIndex = ctx.getItemIndex(itemRef.current);\n const _others: any = others;\n\n const handleMouseLeave = createEventHandler(_others.onMouseLeave, () => ctx.setHovered(-1));\n const handleMouseEnter = createEventHandler(_others.onMouseEnter, () =>\n ctx.setHovered(ctx.getItemIndex(itemRef.current))\n );\n\n const handleClick = createEventHandler(_others.onClick, () => {\n if (typeof closeMenuOnClick === 'boolean') {\n closeMenuOnClick && ctx.closeDropdownImmediately();\n } else {\n ctx.closeOnItemClick && ctx.closeDropdownImmediately();\n }\n });\n\n const handleFocus = createEventHandler(_others.onFocus, () =>\n ctx.setHovered(ctx.getItemIndex(itemRef.current))\n );\n\n return (\n <Box\n component=\"button\"\n
|
|
1
|
+
{"version":3,"file":"MenuItem.js","sources":["../../../src/Menu/MenuItem/MenuItem.tsx"],"sourcesContent":["import React, { useRef, forwardRef } from 'react';\nimport { DefaultProps, MantineColor, Selectors, useContextStylesApi } from '@mantine/styles';\nimport {\n createEventHandler,\n createPolymorphicComponent,\n createScopedKeydownHandler,\n} from '@mantine/utils';\nimport { useMergedRef } from '@mantine/hooks';\nimport { Box } from '../../Box';\nimport { useMenuContext } from '../Menu.context';\nimport useStyles from './MenuItem.styles';\n\nexport type MenuItemStylesNames = Selectors<typeof useStyles>;\n\nexport interface MenuItemProps extends DefaultProps {\n /** Item label */\n children?: React.ReactNode;\n\n /** Key of theme.colors */\n color?: MantineColor;\n\n /** Determines whether menu should be closed when item is clicked, overrides closeOnItemClick prop on Menu component */\n closeMenuOnClick?: boolean;\n\n /** Icon rendered on the left side of the label */\n icon?: React.ReactNode;\n\n /** Section rendered on the right side of the label */\n rightSection?: React.ReactNode;\n}\n\nexport const _MenuItem = forwardRef<HTMLButtonElement, MenuItemProps>(\n (\n { children, className, color, closeMenuOnClick, icon, rightSection, ...others }: MenuItemProps,\n ref\n ) => {\n const ctx = useMenuContext();\n const { classNames, styles, unstyled } = useContextStylesApi();\n const { classes, cx, theme } = useStyles(\n { radius: ctx.radius, color },\n { name: 'Menu', classNames, styles, unstyled }\n );\n const itemRef = useRef<HTMLButtonElement>();\n\n const itemIndex = ctx.getItemIndex(itemRef.current);\n const _others: any = others;\n\n const handleMouseLeave = createEventHandler(_others.onMouseLeave, () => ctx.setHovered(-1));\n const handleMouseEnter = createEventHandler(_others.onMouseEnter, () =>\n ctx.setHovered(ctx.getItemIndex(itemRef.current))\n );\n\n const handleClick = createEventHandler(_others.onClick, () => {\n if (typeof closeMenuOnClick === 'boolean') {\n closeMenuOnClick && ctx.closeDropdownImmediately();\n } else {\n ctx.closeOnItemClick && ctx.closeDropdownImmediately();\n }\n });\n\n const handleFocus = createEventHandler(_others.onFocus, () =>\n ctx.setHovered(ctx.getItemIndex(itemRef.current))\n );\n\n return (\n <Box\n component=\"button\"\n type=\"button\"\n {...others}\n tabIndex={-1}\n onFocus={handleFocus}\n className={cx(classes.item, className)}\n ref={useMergedRef(itemRef, ref)}\n role=\"menuitem\"\n data-menu-item\n data-hovered={ctx.hovered === itemIndex ? true : undefined}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onClick={handleClick}\n onKeyDown={createScopedKeydownHandler({\n siblingSelector: '[data-menu-item]',\n parentSelector: '[data-menu-dropdown]',\n activateOnFocus: false,\n loop: ctx.loop,\n dir: theme.dir,\n orientation: 'vertical',\n onKeyDown: _others.onKeydown,\n })}\n >\n {icon && <div className={classes.itemIcon}>{icon}</div>}\n {children && <div className={classes.itemLabel}>{children}</div>}\n {rightSection && <div className={classes.itemRightSection}>{rightSection}</div>}\n </Box>\n );\n }\n);\n\n_MenuItem.displayName = '@mantine/core/MenuItem';\n\nexport const MenuItem = createPolymorphicComponent<'button', MenuItemProps>(_MenuItem);\n"],"names":["forwardRef","useMenuContext","styles","useContextStylesApi","useStyles","useRef","createEventHandler","React","Box","useMergedRef","createScopedKeydownHandler","createPolymorphicComponent"],"mappings":"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"}
|
package/cjs/Modal/Modal.js
CHANGED
|
@@ -138,6 +138,8 @@ function Modal(props) {
|
|
|
138
138
|
const bodyId = `${baseId}-body`;
|
|
139
139
|
const { classes, cx, theme } = Modal_styles['default']({ size, overflow, centered, zIndex, fullScreen }, { unstyled, classNames, styles: styles$1, name: "Modal" });
|
|
140
140
|
const focusTrapRef = hooks.useFocusTrap(trapFocus && opened);
|
|
141
|
+
const overlayRef = React.useRef(null);
|
|
142
|
+
const mergedRef = hooks.useMergedRef(focusTrapRef, overlayRef);
|
|
141
143
|
const _overlayOpacity = typeof overlayOpacity === "number" ? overlayOpacity : theme.colorScheme === "dark" ? 0.85 : 0.75;
|
|
142
144
|
hooks.useScrollLock(shouldLockScroll && opened);
|
|
143
145
|
const closeOnEscapePress = (event) => {
|
|
@@ -153,6 +155,15 @@ function Modal(props) {
|
|
|
153
155
|
return void 0;
|
|
154
156
|
}, [trapFocus]);
|
|
155
157
|
hooks.useFocusReturn({ opened, shouldReturnFocus: trapFocus && withFocusReturn });
|
|
158
|
+
const clickTarget = React.useRef(null);
|
|
159
|
+
hooks.useWindowEvent("mousedown", (e) => {
|
|
160
|
+
clickTarget.current = e.target;
|
|
161
|
+
});
|
|
162
|
+
const handleOutsideClick = () => {
|
|
163
|
+
if (clickTarget.current === overlayRef.current) {
|
|
164
|
+
closeOnClickOutside && onClose();
|
|
165
|
+
}
|
|
166
|
+
};
|
|
156
167
|
return /* @__PURE__ */ React__default.createElement(OptionalPortal.OptionalPortal, {
|
|
157
168
|
withinPortal,
|
|
158
169
|
target
|
|
@@ -188,13 +199,13 @@ function Modal(props) {
|
|
|
188
199
|
})), /* @__PURE__ */ React__default.createElement("div", {
|
|
189
200
|
role: "presentation",
|
|
190
201
|
className: classes.inner,
|
|
191
|
-
onClick:
|
|
202
|
+
onClick: handleOutsideClick,
|
|
192
203
|
onKeyDown: (event) => {
|
|
193
204
|
var _a2;
|
|
194
205
|
const shouldTrigger = ((_a2 = event.target) == null ? void 0 : _a2.getAttribute("data-mantine-stop-propagation")) !== "true";
|
|
195
206
|
shouldTrigger && event.key === "Escape" && closeOnEscape && onClose();
|
|
196
207
|
},
|
|
197
|
-
ref:
|
|
208
|
+
ref: mergedRef
|
|
198
209
|
}, /* @__PURE__ */ React__default.createElement(Paper.Paper, {
|
|
199
210
|
className: classes.modal,
|
|
200
211
|
shadow,
|
package/cjs/Modal/Modal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","sources":["../../src/Modal/Modal.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { useScrollLock, useFocusTrap, useFocusReturn, useId } from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineShadow,\n Selectors,\n MantineStyleSystemSize,\n getDefaultZIndex,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { CloseButton } from '../CloseButton';\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, { ModalStylesParams } from './Modal.styles';\n\nexport type ModalStylesNames = Selectors<typeof useStyles>;\n\nexport interface ModalProps\n extends Omit<DefaultProps<ModalStylesNames, ModalStylesParams>, 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?: React.CSSProperties['zIndex'];\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 opacity */\n overlayOpacity?: number;\n\n /** Overlay color */\n overlayColor?: string;\n\n /** Overlay blur in px */\n overlayBlur?: number;\n\n /** Determines whether the modal should take the entire screen */\n fullScreen?: boolean;\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 /** Exit transition duration in ms, 0 by default */\n exitTransitionDuration?: 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 /** Determines whether scroll should be locked when modal is opened, defaults to true */\n lockScroll?: 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 /** Determines whether focus should be returned to the last active element when drawer is closed */\n withFocusReturn?: boolean;\n}\n\nconst defaultProps: Partial<ModalProps> = {\n size: 'md',\n transitionDuration: 250,\n overflow: 'outside',\n padding: 'lg',\n shadow: 'lg',\n closeOnClickOutside: true,\n closeOnEscape: true,\n trapFocus: true,\n withCloseButton: true,\n withinPortal: true,\n lockScroll: true,\n withFocusReturn: true,\n overlayBlur: 0,\n zIndex: getDefaultZIndex('modal'),\n exitTransitionDuration: 0,\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 exitTransitionDuration,\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 overlayBlur,\n transitionTimingFunction,\n fullScreen,\n unstyled,\n lockScroll: shouldLockScroll,\n withFocusReturn,\n ...others\n } = useComponentDefaultProps('Modal', defaultProps, props);\n const baseId = useId(id);\n const titleId = `${baseId}-title`;\n const bodyId = `${baseId}-body`;\n const { classes, cx, theme } = useStyles(\n { size, overflow, centered, zIndex, fullScreen },\n { unstyled, 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 useScrollLock(shouldLockScroll && opened);\n\n const closeOnEscapePress = (event: KeyboardEvent) => {\n if (!trapFocus && event.key === '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, shouldReturnFocus: trapFocus && withFocusReturn });\n\n return (\n <OptionalPortal withinPortal={withinPortal} target={target}>\n <GroupedTransition\n mounted={opened}\n duration={transitionDuration}\n exitDuration={exitTransitionDuration}\n timingFunction={transitionTimingFunction}\n transitions={{\n modal: {\n duration: transitionDuration,\n transition: transition || (fullScreen ? 'fade' : 'pop'),\n },\n overlay: {\n duration: transitionDuration / 2,\n transition: 'fade',\n timingFunction: 'ease',\n },\n }}\n >\n {(transitionStyles) => (\n <>\n <Box id={baseId} className={cx(classes.root, className)} {...others}>\n <div style={transitionStyles.overlay}>\n <Overlay\n className={classes.overlay}\n sx={{ position: 'fixed' }}\n zIndex={0}\n blur={overlayBlur}\n color={\n overlayColor ||\n (theme.colorScheme === 'dark' ? theme.colors.dark[9] : theme.black)\n }\n opacity={_overlayOpacity}\n unstyled={unstyled}\n />\n </div>\n <div\n role=\"presentation\"\n className={classes.inner}\n onClick={() => closeOnClickOutside && onClose()}\n onKeyDown={(event) => {\n const shouldTrigger =\n (event.target as any)?.getAttribute('data-mantine-stop-propagation') !== 'true';\n shouldTrigger && event.key === '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 unstyled={unstyled}\n onClick={(event) => event.stopPropagation()}\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 </Box>\n </>\n )}\n </GroupedTransition>\n </OptionalPortal>\n );\n}\n\nModal.displayName = '@mantine/core/Modal';\n"],"names":["getDefaultZIndex","useComponentDefaultProps","styles","useId","useStyles","useFocusTrap","useScrollLock","useEffect","useFocusReturn","React","OptionalPortal","GroupedTransition","Box","Overlay","Paper","Text","CloseButton"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Modal.js","sources":["../../src/Modal/Modal.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport {\n useScrollLock,\n useFocusTrap,\n useFocusReturn,\n useId,\n useWindowEvent,\n useMergedRef,\n} from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineShadow,\n Selectors,\n MantineStyleSystemSize,\n getDefaultZIndex,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { CloseButton } from '../CloseButton';\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, { ModalStylesParams } from './Modal.styles';\n\nexport type ModalStylesNames = Selectors<typeof useStyles>;\n\nexport interface ModalProps\n extends Omit<DefaultProps<ModalStylesNames, ModalStylesParams>, 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?: React.CSSProperties['zIndex'];\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 opacity */\n overlayOpacity?: number;\n\n /** Overlay color */\n overlayColor?: string;\n\n /** Overlay blur in px */\n overlayBlur?: number;\n\n /** Determines whether the modal should take the entire screen */\n fullScreen?: boolean;\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 /** Exit transition duration in ms, 0 by default */\n exitTransitionDuration?: 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 /** Determines whether scroll should be locked when modal is opened, defaults to true */\n lockScroll?: 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 /** Determines whether focus should be returned to the last active element when drawer is closed */\n withFocusReturn?: boolean;\n}\n\nconst defaultProps: Partial<ModalProps> = {\n size: 'md',\n transitionDuration: 250,\n overflow: 'outside',\n padding: 'lg',\n shadow: 'lg',\n closeOnClickOutside: true,\n closeOnEscape: true,\n trapFocus: true,\n withCloseButton: true,\n withinPortal: true,\n lockScroll: true,\n withFocusReturn: true,\n overlayBlur: 0,\n zIndex: getDefaultZIndex('modal'),\n exitTransitionDuration: 0,\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 exitTransitionDuration,\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 overlayBlur,\n transitionTimingFunction,\n fullScreen,\n unstyled,\n lockScroll: shouldLockScroll,\n withFocusReturn,\n ...others\n } = useComponentDefaultProps('Modal', defaultProps, props);\n const baseId = useId(id);\n const titleId = `${baseId}-title`;\n const bodyId = `${baseId}-body`;\n const { classes, cx, theme } = useStyles(\n { size, overflow, centered, zIndex, fullScreen },\n { unstyled, classNames, styles, name: 'Modal' }\n );\n const focusTrapRef = useFocusTrap(trapFocus && opened);\n const overlayRef = useRef<HTMLDivElement>(null);\n const mergedRef = useMergedRef(focusTrapRef, overlayRef);\n\n const _overlayOpacity =\n typeof overlayOpacity === 'number'\n ? overlayOpacity\n : theme.colorScheme === 'dark'\n ? 0.85\n : 0.75;\n\n useScrollLock(shouldLockScroll && opened);\n\n const closeOnEscapePress = (event: KeyboardEvent) => {\n if (!trapFocus && event.key === '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, shouldReturnFocus: trapFocus && withFocusReturn });\n\n const clickTarget = useRef<EventTarget>(null);\n\n useWindowEvent('mousedown', (e) => {\n clickTarget.current = e.target;\n });\n\n const handleOutsideClick = () => {\n if (clickTarget.current === overlayRef.current) {\n closeOnClickOutside && onClose();\n }\n };\n\n return (\n <OptionalPortal withinPortal={withinPortal} target={target}>\n <GroupedTransition\n mounted={opened}\n duration={transitionDuration}\n exitDuration={exitTransitionDuration}\n timingFunction={transitionTimingFunction}\n transitions={{\n modal: {\n duration: transitionDuration,\n transition: transition || (fullScreen ? 'fade' : 'pop'),\n },\n overlay: {\n duration: transitionDuration / 2,\n transition: 'fade',\n timingFunction: 'ease',\n },\n }}\n >\n {(transitionStyles) => (\n <>\n <Box id={baseId} className={cx(classes.root, className)} {...others}>\n <div style={transitionStyles.overlay}>\n <Overlay\n className={classes.overlay}\n sx={{ position: 'fixed' }}\n zIndex={0}\n blur={overlayBlur}\n color={\n overlayColor ||\n (theme.colorScheme === 'dark' ? theme.colors.dark[9] : theme.black)\n }\n opacity={_overlayOpacity}\n unstyled={unstyled}\n />\n </div>\n <div\n role=\"presentation\"\n className={classes.inner}\n onClick={handleOutsideClick}\n onKeyDown={(event) => {\n const shouldTrigger =\n (event.target as any)?.getAttribute('data-mantine-stop-propagation') !== 'true';\n shouldTrigger && event.key === 'Escape' && closeOnEscape && onClose();\n }}\n ref={mergedRef}\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 unstyled={unstyled}\n onClick={(event) => event.stopPropagation()}\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 </Box>\n </>\n )}\n </GroupedTransition>\n </OptionalPortal>\n );\n}\n\nModal.displayName = '@mantine/core/Modal';\n"],"names":["getDefaultZIndex","useComponentDefaultProps","styles","useId","useStyles","useFocusTrap","useRef","useMergedRef","useScrollLock","useEffect","useFocusReturn","useWindowEvent","React","OptionalPortal","GroupedTransition","Box","Overlay","Paper","Text","CloseButton"],"mappings":"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"}
|
package/cjs/Radio/Radio.js
CHANGED
|
@@ -51,7 +51,7 @@ const defaultProps = {
|
|
|
51
51
|
labelPosition: "right"
|
|
52
52
|
};
|
|
53
53
|
const Radio = React.forwardRef((props, ref) => {
|
|
54
|
-
var _b;
|
|
54
|
+
var _b, _c;
|
|
55
55
|
const _a = styles.useComponentDefaultProps("Radio", defaultProps, props), {
|
|
56
56
|
className,
|
|
57
57
|
style,
|
|
@@ -92,12 +92,14 @@ const Radio = React.forwardRef((props, ref) => {
|
|
|
92
92
|
"error"
|
|
93
93
|
]);
|
|
94
94
|
const ctx = RadioGroup_context.useRadioGroupContext();
|
|
95
|
-
const
|
|
95
|
+
const contextSize = (_b = ctx == null ? void 0 : ctx.size) != null ? _b : size;
|
|
96
|
+
const componentSize = props.size ? size : contextSize;
|
|
97
|
+
const { classes } = Radio_styles['default']({ color, size: componentSize, transitionDuration, labelPosition, error: !!error }, { classNames, styles: styles$1, unstyled, name: "Radio" });
|
|
96
98
|
const { systemStyles, rest } = extractSystemStyles.extractSystemStyles(others);
|
|
97
99
|
const uuid = hooks.useId(id);
|
|
98
100
|
const contextProps = ctx ? {
|
|
99
101
|
checked: ctx.value === rest.value,
|
|
100
|
-
name: (
|
|
102
|
+
name: (_c = rest.name) != null ? _c : ctx.name,
|
|
101
103
|
onChange: ctx.onChange
|
|
102
104
|
} : {};
|
|
103
105
|
return /* @__PURE__ */ React__default.createElement(InlineInput.InlineInput, __spreadValues(__spreadValues({
|
|
@@ -105,7 +107,7 @@ const Radio = React.forwardRef((props, ref) => {
|
|
|
105
107
|
sx,
|
|
106
108
|
style,
|
|
107
109
|
id: uuid,
|
|
108
|
-
size:
|
|
110
|
+
size: componentSize,
|
|
109
111
|
labelPosition,
|
|
110
112
|
label,
|
|
111
113
|
description,
|
package/cjs/Radio/Radio.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.js","sources":["../../src/Radio/Radio.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { useId } from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineSize,\n MantineColor,\n Selectors,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { ForwardRefWithStaticComponents } from '@mantine/utils';\nimport { extractSystemStyles } from '../Box';\nimport { RadioIcon } from './RadioIcon';\nimport { useRadioGroupContext } from './RadioGroup.context';\nimport { RadioGroup } from './RadioGroup/RadioGroup';\nimport { InlineInput, InlineInputStylesNames } from '../InlineInput';\nimport useStyles, { RadioStylesParams } from './Radio.styles';\n\nexport type RadioStylesNames = Selectors<typeof useStyles> | InlineInputStylesNames;\n\nexport interface RadioProps\n extends DefaultProps<RadioStylesNames, RadioStylesParams>,\n Omit<React.ComponentPropsWithRef<'input'>, 'size'> {\n /** Radio label */\n label?: React.ReactNode;\n\n /** Radio value */\n value: string;\n\n /** Active radio color from theme.colors */\n color?: MantineColor;\n\n /** Predefined label fontSize, radio width, height and border-radius */\n size?: MantineSize;\n\n /** Replace default icon */\n icon?: React.FC<React.ComponentPropsWithoutRef<'svg'>>;\n\n /** Animation duration in ms */\n transitionDuration?: number;\n\n /** Props spread to root element */\n wrapperProps?: Record<string, any>;\n\n /** Position of label */\n labelPosition?: 'left' | 'right';\n\n /** description, displayed after label */\n description?: React.ReactNode;\n\n /** Displays error message after input */\n error?: React.ReactNode;\n}\n\nconst defaultProps: Partial<RadioProps> = {\n icon: RadioIcon,\n transitionDuration: 100,\n size: 'sm',\n labelPosition: 'right',\n};\n\ntype RadioComponent = ForwardRefWithStaticComponents<RadioProps, { Group: typeof RadioGroup }>;\n\nexport const Radio: RadioComponent = forwardRef<HTMLInputElement, RadioProps>((props, ref) => {\n const {\n className,\n style,\n id,\n label,\n size,\n title,\n disabled,\n color,\n classNames,\n styles,\n sx,\n icon: Icon,\n transitionDuration,\n wrapperProps,\n unstyled,\n labelPosition,\n description,\n error,\n ...others\n } = useComponentDefaultProps('Radio', defaultProps, props);\n const ctx = useRadioGroupContext();\n\n const { classes } = useStyles(\n { color, size:
|
|
1
|
+
{"version":3,"file":"Radio.js","sources":["../../src/Radio/Radio.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { useId } from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineSize,\n MantineColor,\n Selectors,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { ForwardRefWithStaticComponents } from '@mantine/utils';\nimport { extractSystemStyles } from '../Box';\nimport { RadioIcon } from './RadioIcon';\nimport { useRadioGroupContext } from './RadioGroup.context';\nimport { RadioGroup } from './RadioGroup/RadioGroup';\nimport { InlineInput, InlineInputStylesNames } from '../InlineInput';\nimport useStyles, { RadioStylesParams } from './Radio.styles';\n\nexport type RadioStylesNames = Selectors<typeof useStyles> | InlineInputStylesNames;\n\nexport interface RadioProps\n extends DefaultProps<RadioStylesNames, RadioStylesParams>,\n Omit<React.ComponentPropsWithRef<'input'>, 'size'> {\n /** Radio label */\n label?: React.ReactNode;\n\n /** Radio value */\n value: string;\n\n /** Active radio color from theme.colors */\n color?: MantineColor;\n\n /** Predefined label fontSize, radio width, height and border-radius */\n size?: MantineSize;\n\n /** Replace default icon */\n icon?: React.FC<React.ComponentPropsWithoutRef<'svg'>>;\n\n /** Animation duration in ms */\n transitionDuration?: number;\n\n /** Props spread to root element */\n wrapperProps?: Record<string, any>;\n\n /** Position of label */\n labelPosition?: 'left' | 'right';\n\n /** description, displayed after label */\n description?: React.ReactNode;\n\n /** Displays error message after input */\n error?: React.ReactNode;\n}\n\nconst defaultProps: Partial<RadioProps> = {\n icon: RadioIcon,\n transitionDuration: 100,\n size: 'sm',\n labelPosition: 'right',\n};\n\ntype RadioComponent = ForwardRefWithStaticComponents<RadioProps, { Group: typeof RadioGroup }>;\n\nexport const Radio: RadioComponent = forwardRef<HTMLInputElement, RadioProps>((props, ref) => {\n const {\n className,\n style,\n id,\n label,\n size,\n title,\n disabled,\n color,\n classNames,\n styles,\n sx,\n icon: Icon,\n transitionDuration,\n wrapperProps,\n unstyled,\n labelPosition,\n description,\n error,\n ...others\n } = useComponentDefaultProps('Radio', defaultProps, props);\n const ctx = useRadioGroupContext();\n\n const contextSize = ctx?.size ?? size;\n const componentSize = props.size ? size : contextSize;\n\n const { classes } = useStyles(\n { color, size: componentSize, transitionDuration, labelPosition, error: !!error },\n { classNames, styles, unstyled, name: 'Radio' }\n );\n\n const { systemStyles, rest } = extractSystemStyles(others);\n const uuid = useId(id);\n\n const contextProps = ctx\n ? {\n checked: ctx.value === rest.value,\n name: rest.name ?? ctx.name,\n onChange: ctx.onChange,\n }\n : {};\n\n return (\n <InlineInput\n className={className}\n sx={sx}\n style={style}\n id={uuid}\n size={componentSize}\n labelPosition={labelPosition}\n label={label}\n description={description}\n error={error}\n disabled={disabled}\n __staticSelector=\"Radio\"\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n data-checked={contextProps.checked || undefined}\n {...systemStyles}\n {...wrapperProps}\n >\n <div className={classes.inner}>\n <input\n ref={ref}\n className={classes.radio}\n type=\"radio\"\n id={uuid}\n disabled={disabled}\n {...rest}\n {...contextProps}\n />\n <Icon className={classes.icon} aria-hidden />\n </div>\n </InlineInput>\n );\n}) as any;\n\nRadio.displayName = '@mantine/core/Radio';\nRadio.Group = RadioGroup;\n"],"names":["RadioIcon","forwardRef","useComponentDefaultProps","styles","useRadioGroupContext","useStyles","extractSystemStyles","useId","React","InlineInput","RadioGroup"],"mappings":"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"}
|
|
@@ -23,7 +23,8 @@ function SelectRightSection({
|
|
|
23
23
|
"aria-label": clearButtonLabel,
|
|
24
24
|
onClick: onClear,
|
|
25
25
|
size,
|
|
26
|
-
tabIndex: clearButtonTabIndex
|
|
26
|
+
tabIndex: clearButtonTabIndex,
|
|
27
|
+
onMouseDown: (event) => event.preventDefault()
|
|
27
28
|
}) : /* @__PURE__ */ React__default.createElement(ChevronIcon.ChevronIcon, {
|
|
28
29
|
error,
|
|
29
30
|
size
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectRightSection.js","sources":["../../../src/Select/SelectRightSection/SelectRightSection.tsx"],"sourcesContent":["import React from 'react';\nimport { MantineSize } from '@mantine/styles';\nimport { CloseButton } from '../../CloseButton';\nimport { ChevronIcon } from './ChevronIcon';\n\nexport interface SelectRightSectionProps {\n shouldClear: boolean;\n clearButtonLabel?: string;\n onClear?: () => void;\n size: MantineSize;\n error?: any;\n // eslint-disable-next-line react/no-unused-prop-types\n disabled?: boolean;\n clearButtonTabIndex?: number;\n}\n\nexport function SelectRightSection({\n shouldClear,\n clearButtonLabel,\n onClear,\n size,\n error,\n clearButtonTabIndex,\n}: SelectRightSectionProps) {\n return shouldClear ? (\n <CloseButton\n variant=\"transparent\"\n aria-label={clearButtonLabel}\n onClick={onClear}\n size={size}\n tabIndex={clearButtonTabIndex}\n />\n ) : (\n <ChevronIcon error={error} size={size} />\n );\n}\n\nSelectRightSection.displayName = '@mantine/core/SelectRightSection';\n"],"names":["React","CloseButton","ChevronIcon"],"mappings":";;;;;;;;;;;;AAGO,SAAS,kBAAkB,CAAC;AACnC,EAAE,WAAW;AACb,EAAE,gBAAgB;AAClB,EAAE,OAAO;AACT,EAAE,IAAI;AACN,EAAE,KAAK;AACP,EAAE,mBAAmB;AACrB,CAAC,EAAE;AACH,EAAE,OAAO,WAAW,mBAAmBA,cAAK,CAAC,aAAa,CAACC,uBAAW,EAAE;AACxE,IAAI,OAAO,EAAE,aAAa;AAC1B,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,IAAI;AACR,IAAI,QAAQ,EAAE,mBAAmB;AACjC,GAAG,CAAC,mBAAmBD,cAAK,CAAC,aAAa,CAACE,uBAAW,EAAE;AACxD,IAAI,KAAK;AACT,IAAI,IAAI;AACR,GAAG,CAAC,CAAC;AACL,CAAC;AACD,kBAAkB,CAAC,WAAW,GAAG,kCAAkC;;;;"}
|
|
1
|
+
{"version":3,"file":"SelectRightSection.js","sources":["../../../src/Select/SelectRightSection/SelectRightSection.tsx"],"sourcesContent":["import React from 'react';\nimport { MantineSize } from '@mantine/styles';\nimport { CloseButton } from '../../CloseButton';\nimport { ChevronIcon } from './ChevronIcon';\n\nexport interface SelectRightSectionProps {\n shouldClear: boolean;\n clearButtonLabel?: string;\n onClear?: () => void;\n size: MantineSize;\n error?: any;\n // eslint-disable-next-line react/no-unused-prop-types\n disabled?: boolean;\n clearButtonTabIndex?: number;\n}\n\nexport function SelectRightSection({\n shouldClear,\n clearButtonLabel,\n onClear,\n size,\n error,\n clearButtonTabIndex,\n}: SelectRightSectionProps) {\n return shouldClear ? (\n <CloseButton\n variant=\"transparent\"\n aria-label={clearButtonLabel}\n onClick={onClear}\n size={size}\n tabIndex={clearButtonTabIndex}\n onMouseDown={(event) => event.preventDefault()}\n />\n ) : (\n <ChevronIcon error={error} size={size} />\n );\n}\n\nSelectRightSection.displayName = '@mantine/core/SelectRightSection';\n"],"names":["React","CloseButton","ChevronIcon"],"mappings":";;;;;;;;;;;;AAGO,SAAS,kBAAkB,CAAC;AACnC,EAAE,WAAW;AACb,EAAE,gBAAgB;AAClB,EAAE,OAAO;AACT,EAAE,IAAI;AACN,EAAE,KAAK;AACP,EAAE,mBAAmB;AACrB,CAAC,EAAE;AACH,EAAE,OAAO,WAAW,mBAAmBA,cAAK,CAAC,aAAa,CAACC,uBAAW,EAAE;AACxE,IAAI,OAAO,EAAE,aAAa;AAC1B,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,IAAI;AACR,IAAI,QAAQ,EAAE,mBAAmB;AACjC,IAAI,WAAW,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,cAAc,EAAE;AAClD,GAAG,CAAC,mBAAmBD,cAAK,CAAC,aAAa,CAACE,uBAAW,EAAE;AACxD,IAAI,KAAK;AACT,IAAI,IAAI;AACR,GAAG,CAAC,CAAC;AACL,CAAC;AACD,kBAAkB,CAAC,WAAW,GAAG,kCAAkC;;;;"}
|
|
@@ -24,7 +24,8 @@ function Marks({
|
|
|
24
24
|
offset,
|
|
25
25
|
onChange,
|
|
26
26
|
disabled,
|
|
27
|
-
unstyled
|
|
27
|
+
unstyled,
|
|
28
|
+
inverted
|
|
28
29
|
}) {
|
|
29
30
|
const { classes, cx } = Marks_styles['default']({ size, color, disabled }, { classNames, styles, unstyled, name: "Slider" });
|
|
30
31
|
const items = marks.map((mark, index) => /* @__PURE__ */ React__default.createElement(Box.Box, {
|
|
@@ -33,7 +34,7 @@ function Marks({
|
|
|
33
34
|
key: index
|
|
34
35
|
}, /* @__PURE__ */ React__default.createElement("div", {
|
|
35
36
|
className: cx(classes.mark, {
|
|
36
|
-
[classes.markFilled]: isMarkFilled.isMarkFilled({ mark, value, offset })
|
|
37
|
+
[classes.markFilled]: isMarkFilled.isMarkFilled({ mark, value, offset, inverted })
|
|
37
38
|
})
|
|
38
39
|
}), mark.label && /* @__PURE__ */ React__default.createElement("div", {
|
|
39
40
|
className: classes.markLabel,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Marks.js","sources":["../../../src/Slider/Marks/Marks.tsx"],"sourcesContent":["import React from 'react';\nimport { DefaultProps, MantineNumberSize, MantineColor, Selectors } from '@mantine/styles';\nimport { Box } from '../../Box';\nimport { getPosition } from '../utils/get-position/get-position';\nimport { isMarkFilled } from './is-mark-filled';\nimport useStyles from './Marks.styles';\n\nexport type MarksStylesNames = Selectors<typeof useStyles>;\n\nexport interface MarksProps extends DefaultProps<MarksStylesNames> {\n marks: { value: number; label?: React.ReactNode }[];\n size: MantineNumberSize;\n color: MantineColor;\n min: number;\n max: number;\n value: number;\n onChange(value: number): void;\n offset?: number;\n disabled: boolean;\n}\n\nexport function Marks({\n marks,\n color,\n size,\n min,\n max,\n value,\n classNames,\n styles,\n offset,\n onChange,\n disabled,\n unstyled,\n}: MarksProps) {\n const { classes, cx } = useStyles(\n { size, color, disabled },\n { classNames, styles, unstyled, name: 'Slider' }\n );\n\n const items = marks.map((mark, index) => (\n <Box\n className={classes.markWrapper}\n sx={{ left: `${getPosition({ value: mark.value, min, max })}%` }}\n key={index}\n >\n <div\n className={cx(classes.mark, {\n [classes.markFilled]: isMarkFilled({ mark, value, offset }),\n })}\n />\n {mark.label && (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div\n className={classes.markLabel}\n onMouseDown={(event) => {\n event.stopPropagation();\n onChange(mark.value);\n }}\n onTouchStart={(event) => {\n event.stopPropagation();\n onChange(mark.value);\n }}\n >\n {mark.label}\n </div>\n )}\n </Box>\n ));\n\n return <div>{items}</div>;\n}\n\nMarks.displayName = '@mantine/core/SliderMarks';\n"],"names":["useStyles","React","Box","getPosition","isMarkFilled"],"mappings":";;;;;;;;;;;;;;AAKO,SAAS,KAAK,CAAC;AACtB,EAAE,KAAK;AACP,EAAE,KAAK;AACP,EAAE,IAAI;AACN,EAAE,GAAG;AACL,EAAE,GAAG;AACL,EAAE,KAAK;AACP,EAAE,UAAU;AACZ,EAAE,MAAM;AACR,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE,QAAQ;AACV,EAAE,QAAQ;AACV,CAAC,EAAE;AACH,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAGA,uBAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AACjH,EAAE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,qBAAqBC,cAAK,CAAC,aAAa,CAACC,OAAG,EAAE;AACpF,IAAI,SAAS,EAAE,OAAO,CAAC,WAAW;AAClC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAEC,uBAAW,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;AACpE,IAAI,GAAG,EAAE,KAAK;AACd,GAAG,kBAAkBF,cAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAChD,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE;AAChC,MAAM,CAAC,OAAO,CAAC,UAAU,GAAGG,yBAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Marks.js","sources":["../../../src/Slider/Marks/Marks.tsx"],"sourcesContent":["import React from 'react';\nimport { DefaultProps, MantineNumberSize, MantineColor, Selectors } from '@mantine/styles';\nimport { Box } from '../../Box';\nimport { getPosition } from '../utils/get-position/get-position';\nimport { isMarkFilled } from './is-mark-filled';\nimport useStyles from './Marks.styles';\n\nexport type MarksStylesNames = Selectors<typeof useStyles>;\n\nexport interface MarksProps extends DefaultProps<MarksStylesNames> {\n marks: { value: number; label?: React.ReactNode }[];\n size: MantineNumberSize;\n color: MantineColor;\n min: number;\n max: number;\n value: number;\n onChange(value: number): void;\n offset?: number;\n disabled: boolean;\n inverted?: boolean;\n}\n\nexport function Marks({\n marks,\n color,\n size,\n min,\n max,\n value,\n classNames,\n styles,\n offset,\n onChange,\n disabled,\n unstyled,\n inverted,\n}: MarksProps) {\n const { classes, cx } = useStyles(\n { size, color, disabled },\n { classNames, styles, unstyled, name: 'Slider' }\n );\n\n const items = marks.map((mark, index) => (\n <Box\n className={classes.markWrapper}\n sx={{ left: `${getPosition({ value: mark.value, min, max })}%` }}\n key={index}\n >\n <div\n className={cx(classes.mark, {\n [classes.markFilled]: isMarkFilled({ mark, value, offset, inverted }),\n })}\n />\n {mark.label && (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div\n className={classes.markLabel}\n onMouseDown={(event) => {\n event.stopPropagation();\n onChange(mark.value);\n }}\n onTouchStart={(event) => {\n event.stopPropagation();\n onChange(mark.value);\n }}\n >\n {mark.label}\n </div>\n )}\n </Box>\n ));\n\n return <div>{items}</div>;\n}\n\nMarks.displayName = '@mantine/core/SliderMarks';\n"],"names":["useStyles","React","Box","getPosition","isMarkFilled"],"mappings":";;;;;;;;;;;;;;AAKO,SAAS,KAAK,CAAC;AACtB,EAAE,KAAK;AACP,EAAE,KAAK;AACP,EAAE,IAAI;AACN,EAAE,GAAG;AACL,EAAE,GAAG;AACL,EAAE,KAAK;AACP,EAAE,UAAU;AACZ,EAAE,MAAM;AACR,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE,QAAQ;AACV,EAAE,QAAQ;AACV,EAAE,QAAQ;AACV,CAAC,EAAE;AACH,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAGA,uBAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AACjH,EAAE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,qBAAqBC,cAAK,CAAC,aAAa,CAACC,OAAG,EAAE;AACpF,IAAI,SAAS,EAAE,OAAO,CAAC,WAAW;AAClC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAEC,uBAAW,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;AACpE,IAAI,GAAG,EAAE,KAAK;AACd,GAAG,kBAAkBF,cAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAChD,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE;AAChC,MAAM,CAAC,OAAO,CAAC,UAAU,GAAGG,yBAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC3E,KAAK,CAAC;AACN,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,oBAAoBH,cAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC/D,IAAI,SAAS,EAAE,OAAO,CAAC,SAAS;AAChC,IAAI,WAAW,EAAE,CAAC,KAAK,KAAK;AAC5B,MAAM,KAAK,CAAC,eAAe,EAAE,CAAC;AAC9B,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,KAAK;AACL,IAAI,YAAY,EAAE,CAAC,KAAK,KAAK;AAC7B,MAAM,KAAK,CAAC,eAAe,EAAE,CAAC;AAC9B,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,KAAK;AACL,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnB,EAAE,uBAAuBA,cAAK,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACjE,CAAC;AACD,KAAK,CAAC,WAAW,GAAG,2BAA2B;;;;"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
function isMarkFilled({ mark, offset, value }) {
|
|
6
|
-
return typeof offset === "number" ? mark.value >= offset && mark.value <= value : mark.value <= value;
|
|
5
|
+
function isMarkFilled({ mark, offset, value, inverted = false }) {
|
|
6
|
+
return inverted ? typeof offset === "number" ? mark.value <= offset || mark.value >= value : mark.value >= value : typeof offset === "number" ? mark.value >= offset && mark.value <= value : mark.value <= value;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
exports.isMarkFilled = isMarkFilled;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-mark-filled.js","sources":["../../../src/Slider/Marks/is-mark-filled.ts"],"sourcesContent":["interface IsMarkFilled {\n mark: { value: number; label?: any };\n offset?: number;\n value: number;\n}\n\nexport function isMarkFilled({ mark, offset, value }: IsMarkFilled) {\n return typeof offset === 'number'\n ? mark.value >= offset && mark.value <= value\n : mark.value <= value;\n}\n"],"names":[],"mappings":";;;;AAAO,SAAS,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"is-mark-filled.js","sources":["../../../src/Slider/Marks/is-mark-filled.ts"],"sourcesContent":["interface IsMarkFilled {\n mark: { value: number; label?: any };\n offset?: number;\n value: number;\n inverted?: boolean;\n}\n\nexport function isMarkFilled({ mark, offset, value, inverted = false }: IsMarkFilled) {\n return inverted\n ? typeof offset === 'number'\n ? mark.value <= offset || mark.value >= value\n : mark.value >= value\n : typeof offset === 'number'\n ? mark.value >= offset && mark.value <= value\n : mark.value <= value;\n}\n"],"names":[],"mappings":";;;;AAAO,SAAS,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,EAAE;AACxE,EAAE,OAAO,QAAQ,GAAG,OAAO,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,GAAG,OAAO,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;AACpN;;;;"}
|
|
@@ -158,10 +158,10 @@ const RangeSlider = React.forwardRef((props, ref) => {
|
|
|
158
158
|
const clone = [...valueRef.current];
|
|
159
159
|
clone[index] = val;
|
|
160
160
|
if (index === 0) {
|
|
161
|
-
if (val > clone[1] - minRange) {
|
|
161
|
+
if (val > clone[1] - (minRange - 1e-9)) {
|
|
162
162
|
clone[1] = Math.min(val + minRange, max);
|
|
163
163
|
}
|
|
164
|
-
if (val > (max - minRange || min)) {
|
|
164
|
+
if (val > (max - (minRange - 1e-9) || min)) {
|
|
165
165
|
clone[index] = valueRef.current[index];
|
|
166
166
|
}
|
|
167
167
|
}
|