@mantine/core 5.1.0 → 5.1.1

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.
@@ -64,7 +64,11 @@ function Loader(props) {
64
64
  role: "presentation",
65
65
  component: LOADERS[defaultLoader] || LOADERS.bars,
66
66
  size: theme.fn.size({ size, sizes }),
67
- color: theme.fn.variant({ variant: "filled", primaryFallback: false, color }).background
67
+ color: theme.fn.variant({
68
+ variant: "filled",
69
+ primaryFallback: false,
70
+ color: color || theme.primaryColor
71
+ }).background
68
72
  }, others));
69
73
  }
70
74
  Loader.displayName = "@mantine/core/Loader";
@@ -1 +1 @@
1
- {"version":3,"file":"Loader.js","sources":["../../src/Loader/Loader.tsx"],"sourcesContent":["import React from 'react';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineColor,\n MantineTheme,\n useMantineTheme,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Bars } from './loaders/Bars';\nimport { Oval } from './loaders/Oval';\nimport { Dots } from './loaders/Dots';\n\nconst LOADERS = {\n bars: Bars,\n oval: Oval,\n dots: Dots,\n};\n\nconst sizes = {\n xs: 18,\n sm: 22,\n md: 36,\n lg: 44,\n xl: 58,\n};\n\nexport interface LoaderProps extends DefaultProps, React.ComponentPropsWithoutRef<'svg'> {\n /** Defines width of loader */\n size?: MantineNumberSize;\n\n /** Loader color from theme */\n color?: MantineColor;\n\n /** Loader appearance */\n variant?: MantineTheme['loader'];\n}\n\nconst defaultProps: Partial<LoaderProps> = {\n size: 'md',\n};\n\nexport function Loader(props: LoaderProps) {\n const { size, color, variant, ...others } = useComponentDefaultProps(\n 'Loader',\n defaultProps,\n props\n );\n const theme = useMantineTheme();\n const defaultLoader = variant in LOADERS ? variant : theme.loader;\n\n return (\n <Box\n role=\"presentation\"\n component={LOADERS[defaultLoader] || LOADERS.bars}\n size={theme.fn.size({ size, sizes })}\n color={theme.fn.variant({ variant: 'filled', primaryFallback: false, color }).background}\n {...others}\n />\n );\n}\n\nLoader.displayName = '@mantine/core/Loader';\n"],"names":["Bars","Oval","Dots","useComponentDefaultProps","useMantineTheme","React","Box"],"mappings":"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"}
1
+ {"version":3,"file":"Loader.js","sources":["../../src/Loader/Loader.tsx"],"sourcesContent":["import React from 'react';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineColor,\n MantineTheme,\n useMantineTheme,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Bars } from './loaders/Bars';\nimport { Oval } from './loaders/Oval';\nimport { Dots } from './loaders/Dots';\n\nconst LOADERS = {\n bars: Bars,\n oval: Oval,\n dots: Dots,\n};\n\nconst sizes = {\n xs: 18,\n sm: 22,\n md: 36,\n lg: 44,\n xl: 58,\n};\n\nexport interface LoaderProps extends DefaultProps, React.ComponentPropsWithoutRef<'svg'> {\n /** Defines width of loader */\n size?: MantineNumberSize;\n\n /** Loader color from theme */\n color?: MantineColor;\n\n /** Loader appearance */\n variant?: MantineTheme['loader'];\n}\n\nconst defaultProps: Partial<LoaderProps> = {\n size: 'md',\n};\n\nexport function Loader(props: LoaderProps) {\n const { size, color, variant, ...others } = useComponentDefaultProps(\n 'Loader',\n defaultProps,\n props\n );\n const theme = useMantineTheme();\n const defaultLoader = variant in LOADERS ? variant : theme.loader;\n\n return (\n <Box\n role=\"presentation\"\n component={LOADERS[defaultLoader] || LOADERS.bars}\n size={theme.fn.size({ size, sizes })}\n color={\n theme.fn.variant({\n variant: 'filled',\n primaryFallback: false,\n color: color || theme.primaryColor,\n }).background\n }\n {...others}\n />\n );\n}\n\nLoader.displayName = '@mantine/core/Loader';\n"],"names":["Bars","Oval","Dots","useComponentDefaultProps","useMantineTheme","React","Box"],"mappings":"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"}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
  var styles = require('@mantine/styles');
7
+ var hooks = require('@mantine/hooks');
7
8
  var Spoiler_styles = require('./Spoiler.styles.js');
8
9
  var Box = require('../Box/Box.js');
9
10
  var Anchor = require('../Anchor/Anchor.js');
@@ -74,22 +75,18 @@ const Spoiler = React.forwardRef((props, ref) => {
74
75
  const { classes, cx } = Spoiler_styles['default']({ transitionDuration }, { classNames, styles: styles$1, unstyled, name: "Spoiler" });
75
76
  const [show, setShowState] = React.useState(initialState);
76
77
  const [spoiler, setSpoilerState] = React.useState(initialState);
77
- const [contentHeight, setContentHeight] = React.useState(null);
78
- const contentRef = React.useRef(null);
78
+ const { ref: contentRef, height } = hooks.useElementSize();
79
79
  const spoilerMoreContent = show ? hideLabel : showLabel;
80
80
  React.useEffect(() => {
81
- if (contentRef.current) {
82
- setSpoilerState(maxHeight < contentRef.current.offsetHeight);
83
- setContentHeight(contentRef.current.offsetHeight);
84
- }
85
- }, [maxHeight, children]);
81
+ setSpoilerState(maxHeight < height);
82
+ }, [height, maxHeight, children]);
86
83
  return /* @__PURE__ */ React__default.createElement(Box.Box, __spreadValues({
87
84
  className: cx(classes.root, className),
88
85
  ref
89
86
  }, others), /* @__PURE__ */ React__default.createElement("div", {
90
87
  className: classes.content,
91
88
  style: {
92
- maxHeight: !show ? maxHeight : contentHeight || void 0
89
+ maxHeight: !show ? maxHeight : height || void 0
93
90
  }
94
91
  }, /* @__PURE__ */ React__default.createElement("div", {
95
92
  ref: contentRef
@@ -1 +1 @@
1
- {"version":3,"file":"Spoiler.js","sources":["../../src/Spoiler/Spoiler.tsx"],"sourcesContent":["import React, { useRef, useState, useEffect, forwardRef } from 'react';\nimport { DefaultProps, Selectors, useComponentDefaultProps } from '@mantine/styles';\nimport { Anchor } from '../Anchor';\nimport { Box } from '../Box';\nimport useStyles, { SpoilerStylesParams } from './Spoiler.styles';\n\nexport type SpoilerStylesNames = Selectors<typeof useStyles>;\n\nexport interface SpoilerProps\n extends DefaultProps<SpoilerStylesNames, SpoilerStylesParams>,\n React.ComponentPropsWithoutRef<'div'> {\n /** Max height of visible content, when this point is reached spoiler appears */\n maxHeight: number;\n\n /** Label for close spoiler action */\n hideLabel: React.ReactNode;\n\n /** Label for open spoiler action */\n showLabel: React.ReactNode;\n\n /** Get ref of spoiler toggle button */\n controlRef?: React.ForwardedRef<HTMLButtonElement>;\n\n /** Initial spoiler state, true to wrap content in spoiler, false to show content without spoiler, opened state will be updated on mount */\n initialState?: boolean;\n\n /** Spoiler reveal transition duration in ms, 0 or null to turn off animation */\n transitionDuration?: number;\n}\n\nconst defaultProps: Partial<SpoilerProps> = {\n maxHeight: 100,\n transitionDuration: 200,\n initialState: false,\n};\n\nexport const Spoiler = forwardRef<HTMLDivElement, SpoilerProps>((props, ref) => {\n const {\n className,\n children,\n maxHeight,\n hideLabel,\n showLabel,\n transitionDuration,\n controlRef,\n initialState,\n classNames,\n styles,\n unstyled,\n ...others\n } = useComponentDefaultProps('Spoiler', defaultProps, props);\n\n const { classes, cx } = useStyles(\n { transitionDuration },\n { classNames, styles, unstyled, name: 'Spoiler' }\n );\n\n const [show, setShowState] = useState(initialState);\n const [spoiler, setSpoilerState] = useState(initialState);\n const [contentHeight, setContentHeight] = useState<number>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n\n const spoilerMoreContent = show ? hideLabel : showLabel;\n\n useEffect(() => {\n if (contentRef.current) {\n setSpoilerState(maxHeight < contentRef.current.offsetHeight);\n setContentHeight(contentRef.current.offsetHeight);\n }\n }, [maxHeight, children]);\n\n return (\n <Box className={cx(classes.root, className)} ref={ref} {...others}>\n <div\n className={classes.content}\n style={{\n maxHeight: !show ? maxHeight : contentHeight || undefined,\n }}\n >\n <div ref={contentRef}>{children}</div>\n </div>\n\n {spoiler && (\n <Anchor\n component=\"button\"\n ref={controlRef}\n onClick={() => setShowState((opened) => !opened)}\n className={classes.control}\n >\n {spoilerMoreContent}\n </Anchor>\n )}\n </Box>\n );\n});\n\nSpoiler.displayName = '@mantine/core/Spoiler';\n"],"names":["forwardRef","useComponentDefaultProps","styles","useStyles","useState","useRef","useEffect","React","Box","Anchor"],"mappings":"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"}
1
+ {"version":3,"file":"Spoiler.js","sources":["../../src/Spoiler/Spoiler.tsx"],"sourcesContent":["import React, { useState, useEffect, forwardRef } from 'react';\nimport { DefaultProps, Selectors, useComponentDefaultProps } from '@mantine/styles';\nimport { useElementSize } from '@mantine/hooks';\nimport { Anchor } from '../Anchor';\nimport { Box } from '../Box';\nimport useStyles, { SpoilerStylesParams } from './Spoiler.styles';\n\nexport type SpoilerStylesNames = Selectors<typeof useStyles>;\n\nexport interface SpoilerProps\n extends DefaultProps<SpoilerStylesNames, SpoilerStylesParams>,\n React.ComponentPropsWithoutRef<'div'> {\n /** Max height of visible content, when this point is reached spoiler appears */\n maxHeight: number;\n\n /** Label for close spoiler action */\n hideLabel: React.ReactNode;\n\n /** Label for open spoiler action */\n showLabel: React.ReactNode;\n\n /** Get ref of spoiler toggle button */\n controlRef?: React.ForwardedRef<HTMLButtonElement>;\n\n /** Initial spoiler state, true to wrap content in spoiler, false to show content without spoiler, opened state will be updated on mount */\n initialState?: boolean;\n\n /** Spoiler reveal transition duration in ms, 0 or null to turn off animation */\n transitionDuration?: number;\n}\n\nconst defaultProps: Partial<SpoilerProps> = {\n maxHeight: 100,\n transitionDuration: 200,\n initialState: false,\n};\n\nexport const Spoiler = forwardRef<HTMLDivElement, SpoilerProps>((props, ref) => {\n const {\n className,\n children,\n maxHeight,\n hideLabel,\n showLabel,\n transitionDuration,\n controlRef,\n initialState,\n classNames,\n styles,\n unstyled,\n ...others\n } = useComponentDefaultProps('Spoiler', defaultProps, props);\n\n const { classes, cx } = useStyles(\n { transitionDuration },\n { classNames, styles, unstyled, name: 'Spoiler' }\n );\n\n const [show, setShowState] = useState(initialState);\n const [spoiler, setSpoilerState] = useState(initialState);\n const { ref: contentRef, height } = useElementSize();\n\n const spoilerMoreContent = show ? hideLabel : showLabel;\n\n useEffect(() => {\n setSpoilerState(maxHeight < height);\n }, [height, maxHeight, children]);\n\n return (\n <Box className={cx(classes.root, className)} ref={ref} {...others}>\n <div\n className={classes.content}\n style={{\n maxHeight: !show ? maxHeight : height || undefined,\n }}\n >\n <div ref={contentRef}>{children}</div>\n </div>\n\n {spoiler && (\n <Anchor\n component=\"button\"\n ref={controlRef}\n onClick={() => setShowState((opened) => !opened)}\n className={classes.control}\n >\n {spoilerMoreContent}\n </Anchor>\n )}\n </Box>\n );\n});\n\nSpoiler.displayName = '@mantine/core/Spoiler';\n"],"names":["forwardRef","useComponentDefaultProps","styles","useStyles","useState","useElementSize","useEffect","React","Box","Anchor"],"mappings":"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"}
@@ -56,7 +56,11 @@ function Loader(props) {
56
56
  role: "presentation",
57
57
  component: LOADERS[defaultLoader] || LOADERS.bars,
58
58
  size: theme.fn.size({ size, sizes }),
59
- color: theme.fn.variant({ variant: "filled", primaryFallback: false, color }).background
59
+ color: theme.fn.variant({
60
+ variant: "filled",
61
+ primaryFallback: false,
62
+ color: color || theme.primaryColor
63
+ }).background
60
64
  }, others));
61
65
  }
62
66
  Loader.displayName = "@mantine/core/Loader";
@@ -1 +1 @@
1
- {"version":3,"file":"Loader.js","sources":["../../src/Loader/Loader.tsx"],"sourcesContent":["import React from 'react';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineColor,\n MantineTheme,\n useMantineTheme,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Bars } from './loaders/Bars';\nimport { Oval } from './loaders/Oval';\nimport { Dots } from './loaders/Dots';\n\nconst LOADERS = {\n bars: Bars,\n oval: Oval,\n dots: Dots,\n};\n\nconst sizes = {\n xs: 18,\n sm: 22,\n md: 36,\n lg: 44,\n xl: 58,\n};\n\nexport interface LoaderProps extends DefaultProps, React.ComponentPropsWithoutRef<'svg'> {\n /** Defines width of loader */\n size?: MantineNumberSize;\n\n /** Loader color from theme */\n color?: MantineColor;\n\n /** Loader appearance */\n variant?: MantineTheme['loader'];\n}\n\nconst defaultProps: Partial<LoaderProps> = {\n size: 'md',\n};\n\nexport function Loader(props: LoaderProps) {\n const { size, color, variant, ...others } = useComponentDefaultProps(\n 'Loader',\n defaultProps,\n props\n );\n const theme = useMantineTheme();\n const defaultLoader = variant in LOADERS ? variant : theme.loader;\n\n return (\n <Box\n role=\"presentation\"\n component={LOADERS[defaultLoader] || LOADERS.bars}\n size={theme.fn.size({ size, sizes })}\n color={theme.fn.variant({ variant: 'filled', primaryFallback: false, color }).background}\n {...others}\n />\n );\n}\n\nLoader.displayName = '@mantine/core/Loader';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Loader.js","sources":["../../src/Loader/Loader.tsx"],"sourcesContent":["import React from 'react';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineColor,\n MantineTheme,\n useMantineTheme,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Bars } from './loaders/Bars';\nimport { Oval } from './loaders/Oval';\nimport { Dots } from './loaders/Dots';\n\nconst LOADERS = {\n bars: Bars,\n oval: Oval,\n dots: Dots,\n};\n\nconst sizes = {\n xs: 18,\n sm: 22,\n md: 36,\n lg: 44,\n xl: 58,\n};\n\nexport interface LoaderProps extends DefaultProps, React.ComponentPropsWithoutRef<'svg'> {\n /** Defines width of loader */\n size?: MantineNumberSize;\n\n /** Loader color from theme */\n color?: MantineColor;\n\n /** Loader appearance */\n variant?: MantineTheme['loader'];\n}\n\nconst defaultProps: Partial<LoaderProps> = {\n size: 'md',\n};\n\nexport function Loader(props: LoaderProps) {\n const { size, color, variant, ...others } = useComponentDefaultProps(\n 'Loader',\n defaultProps,\n props\n );\n const theme = useMantineTheme();\n const defaultLoader = variant in LOADERS ? variant : theme.loader;\n\n return (\n <Box\n role=\"presentation\"\n component={LOADERS[defaultLoader] || LOADERS.bars}\n size={theme.fn.size({ size, sizes })}\n color={\n theme.fn.variant({\n variant: 'filled',\n primaryFallback: false,\n color: color || theme.primaryColor,\n }).background\n }\n {...others}\n />\n );\n}\n\nLoader.displayName = '@mantine/core/Loader';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import React, { forwardRef, useState, useRef, useEffect } from 'react';
1
+ import React, { forwardRef, useState, useEffect } from 'react';
2
2
  import { useComponentDefaultProps } from '@mantine/styles';
3
+ import { useElementSize } from '@mantine/hooks';
3
4
  import useStyles from './Spoiler.styles.js';
4
5
  import { Box } from '../Box/Box.js';
5
6
  import { Anchor } from '../Anchor/Anchor.js';
@@ -66,22 +67,18 @@ const Spoiler = forwardRef((props, ref) => {
66
67
  const { classes, cx } = useStyles({ transitionDuration }, { classNames, styles, unstyled, name: "Spoiler" });
67
68
  const [show, setShowState] = useState(initialState);
68
69
  const [spoiler, setSpoilerState] = useState(initialState);
69
- const [contentHeight, setContentHeight] = useState(null);
70
- const contentRef = useRef(null);
70
+ const { ref: contentRef, height } = useElementSize();
71
71
  const spoilerMoreContent = show ? hideLabel : showLabel;
72
72
  useEffect(() => {
73
- if (contentRef.current) {
74
- setSpoilerState(maxHeight < contentRef.current.offsetHeight);
75
- setContentHeight(contentRef.current.offsetHeight);
76
- }
77
- }, [maxHeight, children]);
73
+ setSpoilerState(maxHeight < height);
74
+ }, [height, maxHeight, children]);
78
75
  return /* @__PURE__ */ React.createElement(Box, __spreadValues({
79
76
  className: cx(classes.root, className),
80
77
  ref
81
78
  }, others), /* @__PURE__ */ React.createElement("div", {
82
79
  className: classes.content,
83
80
  style: {
84
- maxHeight: !show ? maxHeight : contentHeight || void 0
81
+ maxHeight: !show ? maxHeight : height || void 0
85
82
  }
86
83
  }, /* @__PURE__ */ React.createElement("div", {
87
84
  ref: contentRef
@@ -1 +1 @@
1
- {"version":3,"file":"Spoiler.js","sources":["../../src/Spoiler/Spoiler.tsx"],"sourcesContent":["import React, { useRef, useState, useEffect, forwardRef } from 'react';\nimport { DefaultProps, Selectors, useComponentDefaultProps } from '@mantine/styles';\nimport { Anchor } from '../Anchor';\nimport { Box } from '../Box';\nimport useStyles, { SpoilerStylesParams } from './Spoiler.styles';\n\nexport type SpoilerStylesNames = Selectors<typeof useStyles>;\n\nexport interface SpoilerProps\n extends DefaultProps<SpoilerStylesNames, SpoilerStylesParams>,\n React.ComponentPropsWithoutRef<'div'> {\n /** Max height of visible content, when this point is reached spoiler appears */\n maxHeight: number;\n\n /** Label for close spoiler action */\n hideLabel: React.ReactNode;\n\n /** Label for open spoiler action */\n showLabel: React.ReactNode;\n\n /** Get ref of spoiler toggle button */\n controlRef?: React.ForwardedRef<HTMLButtonElement>;\n\n /** Initial spoiler state, true to wrap content in spoiler, false to show content without spoiler, opened state will be updated on mount */\n initialState?: boolean;\n\n /** Spoiler reveal transition duration in ms, 0 or null to turn off animation */\n transitionDuration?: number;\n}\n\nconst defaultProps: Partial<SpoilerProps> = {\n maxHeight: 100,\n transitionDuration: 200,\n initialState: false,\n};\n\nexport const Spoiler = forwardRef<HTMLDivElement, SpoilerProps>((props, ref) => {\n const {\n className,\n children,\n maxHeight,\n hideLabel,\n showLabel,\n transitionDuration,\n controlRef,\n initialState,\n classNames,\n styles,\n unstyled,\n ...others\n } = useComponentDefaultProps('Spoiler', defaultProps, props);\n\n const { classes, cx } = useStyles(\n { transitionDuration },\n { classNames, styles, unstyled, name: 'Spoiler' }\n );\n\n const [show, setShowState] = useState(initialState);\n const [spoiler, setSpoilerState] = useState(initialState);\n const [contentHeight, setContentHeight] = useState<number>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n\n const spoilerMoreContent = show ? hideLabel : showLabel;\n\n useEffect(() => {\n if (contentRef.current) {\n setSpoilerState(maxHeight < contentRef.current.offsetHeight);\n setContentHeight(contentRef.current.offsetHeight);\n }\n }, [maxHeight, children]);\n\n return (\n <Box className={cx(classes.root, className)} ref={ref} {...others}>\n <div\n className={classes.content}\n style={{\n maxHeight: !show ? maxHeight : contentHeight || undefined,\n }}\n >\n <div ref={contentRef}>{children}</div>\n </div>\n\n {spoiler && (\n <Anchor\n component=\"button\"\n ref={controlRef}\n onClick={() => setShowState((opened) => !opened)}\n className={classes.control}\n >\n {spoilerMoreContent}\n </Anchor>\n )}\n </Box>\n );\n});\n\nSpoiler.displayName = '@mantine/core/Spoiler';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Spoiler.js","sources":["../../src/Spoiler/Spoiler.tsx"],"sourcesContent":["import React, { useState, useEffect, forwardRef } from 'react';\nimport { DefaultProps, Selectors, useComponentDefaultProps } from '@mantine/styles';\nimport { useElementSize } from '@mantine/hooks';\nimport { Anchor } from '../Anchor';\nimport { Box } from '../Box';\nimport useStyles, { SpoilerStylesParams } from './Spoiler.styles';\n\nexport type SpoilerStylesNames = Selectors<typeof useStyles>;\n\nexport interface SpoilerProps\n extends DefaultProps<SpoilerStylesNames, SpoilerStylesParams>,\n React.ComponentPropsWithoutRef<'div'> {\n /** Max height of visible content, when this point is reached spoiler appears */\n maxHeight: number;\n\n /** Label for close spoiler action */\n hideLabel: React.ReactNode;\n\n /** Label for open spoiler action */\n showLabel: React.ReactNode;\n\n /** Get ref of spoiler toggle button */\n controlRef?: React.ForwardedRef<HTMLButtonElement>;\n\n /** Initial spoiler state, true to wrap content in spoiler, false to show content without spoiler, opened state will be updated on mount */\n initialState?: boolean;\n\n /** Spoiler reveal transition duration in ms, 0 or null to turn off animation */\n transitionDuration?: number;\n}\n\nconst defaultProps: Partial<SpoilerProps> = {\n maxHeight: 100,\n transitionDuration: 200,\n initialState: false,\n};\n\nexport const Spoiler = forwardRef<HTMLDivElement, SpoilerProps>((props, ref) => {\n const {\n className,\n children,\n maxHeight,\n hideLabel,\n showLabel,\n transitionDuration,\n controlRef,\n initialState,\n classNames,\n styles,\n unstyled,\n ...others\n } = useComponentDefaultProps('Spoiler', defaultProps, props);\n\n const { classes, cx } = useStyles(\n { transitionDuration },\n { classNames, styles, unstyled, name: 'Spoiler' }\n );\n\n const [show, setShowState] = useState(initialState);\n const [spoiler, setSpoilerState] = useState(initialState);\n const { ref: contentRef, height } = useElementSize();\n\n const spoilerMoreContent = show ? hideLabel : showLabel;\n\n useEffect(() => {\n setSpoilerState(maxHeight < height);\n }, [height, maxHeight, children]);\n\n return (\n <Box className={cx(classes.root, className)} ref={ref} {...others}>\n <div\n className={classes.content}\n style={{\n maxHeight: !show ? maxHeight : height || undefined,\n }}\n >\n <div ref={contentRef}>{children}</div>\n </div>\n\n {spoiler && (\n <Anchor\n component=\"button\"\n ref={controlRef}\n onClick={() => setShowState((opened) => !opened)}\n className={classes.control}\n >\n {spoilerMoreContent}\n </Anchor>\n )}\n </Box>\n );\n});\n\nSpoiler.displayName = '@mantine/core/Spoiler';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Loader.d.ts","sourceRoot":"","sources":["../../src/Loader/Loader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,YAAY,EAGb,MAAM,iBAAiB,CAAC;AAoBzB,MAAM,WAAW,WAAY,SAAQ,YAAY,EAAE,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IACtF,8BAA8B;IAC9B,IAAI,CAAC,EAAE,iBAAiB,CAAC;IAEzB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,wBAAwB;IACxB,OAAO,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;CAClC;AAMD,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,eAkBxC;yBAlBe,MAAM"}
1
+ {"version":3,"file":"Loader.d.ts","sourceRoot":"","sources":["../../src/Loader/Loader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,YAAY,EAGb,MAAM,iBAAiB,CAAC;AAoBzB,MAAM,WAAW,WAAY,SAAQ,YAAY,EAAE,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IACtF,8BAA8B;IAC9B,IAAI,CAAC,EAAE,iBAAiB,CAAC;IAEzB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,wBAAwB;IACxB,OAAO,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;CAClC;AAMD,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,eAwBxC;yBAxBe,MAAM"}
@@ -1 +1 @@
1
- {"version":3,"file":"Spoiler.d.ts","sourceRoot":"","sources":["../../src/Spoiler/Spoiler.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,SAAS,EAA4B,MAAM,iBAAiB,CAAC;AAGpF,OAAO,SAAS,EAAE,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAElE,oBAAY,kBAAkB,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;AAE7D,MAAM,WAAW,YACf,SAAQ,YAAY,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,EAC3D,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IACvC,gFAAgF;IAChF,SAAS,EAAE,MAAM,CAAC;IAElB,qCAAqC;IACrC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,oCAAoC;IACpC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,uCAAuC;IACvC,UAAU,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAEnD,2IAA2I;IAC3I,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,gFAAgF;IAChF,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAQD,eAAO,MAAM,OAAO,qFA0DlB,CAAC"}
1
+ {"version":3,"file":"Spoiler.d.ts","sourceRoot":"","sources":["../../src/Spoiler/Spoiler.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,SAAS,EAA4B,MAAM,iBAAiB,CAAC;AAIpF,OAAO,SAAS,EAAE,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAElE,oBAAY,kBAAkB,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;AAE7D,MAAM,WAAW,YACf,SAAQ,YAAY,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,EAC3D,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IACvC,gFAAgF;IAChF,SAAS,EAAE,MAAM,CAAC;IAElB,qCAAqC;IACrC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,oCAAoC;IACpC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,uCAAuC;IACvC,UAAU,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAEnD,2IAA2I;IAC3I,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,gFAAgF;IAChF,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAQD,eAAO,MAAM,OAAO,qFAsDlB,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mantine/core",
3
3
  "description": "React components library focused on usability, accessibility and developer experience",
4
- "version": "5.1.0",
4
+ "version": "5.1.1",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
7
7
  "types": "lib/index.d.ts",
@@ -27,13 +27,13 @@
27
27
  "emotion"
28
28
  ],
29
29
  "peerDependencies": {
30
- "@mantine/hooks": "5.1.0",
30
+ "@mantine/hooks": "5.1.1",
31
31
  "react": ">=16.8.0",
32
32
  "react-dom": ">=16.8.0"
33
33
  },
34
34
  "dependencies": {
35
- "@mantine/utils": "5.1.0",
36
- "@mantine/styles": "5.1.0",
35
+ "@mantine/utils": "5.1.1",
36
+ "@mantine/styles": "5.1.1",
37
37
  "@radix-ui/react-scroll-area": "1.0.0",
38
38
  "react-textarea-autosize": "8.3.4",
39
39
  "@floating-ui/react-dom-interactions": "0.6.6"