@mantine/core 5.5.4 → 5.5.6

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.
Files changed (45) hide show
  1. package/cjs/Avatar/Avatar.js +1 -2
  2. package/cjs/Avatar/Avatar.js.map +1 -1
  3. package/cjs/Image/Image.js +2 -2
  4. package/cjs/Image/Image.js.map +1 -1
  5. package/cjs/Modal/Modal.js +18 -16
  6. package/cjs/Modal/Modal.js.map +1 -1
  7. package/cjs/NumberInput/NumberInput.js +21 -20
  8. package/cjs/NumberInput/NumberInput.js.map +1 -1
  9. package/cjs/PasswordInput/PasswordInput.js +8 -2
  10. package/cjs/PasswordInput/PasswordInput.js.map +1 -1
  11. package/cjs/Popover/use-popover.js +1 -1
  12. package/cjs/Popover/use-popover.js.map +1 -1
  13. package/cjs/Select/Select.js +9 -7
  14. package/cjs/Select/Select.js.map +1 -1
  15. package/cjs/ThemeIcon/ThemeIcon.js +1 -2
  16. package/cjs/ThemeIcon/ThemeIcon.js.map +1 -1
  17. package/cjs/Tooltip/Tooltip.js +2 -2
  18. package/cjs/Tooltip/Tooltip.js.map +1 -1
  19. package/esm/Avatar/Avatar.js +1 -2
  20. package/esm/Avatar/Avatar.js.map +1 -1
  21. package/esm/Image/Image.js +2 -2
  22. package/esm/Image/Image.js.map +1 -1
  23. package/esm/Modal/Modal.js +18 -16
  24. package/esm/Modal/Modal.js.map +1 -1
  25. package/esm/NumberInput/NumberInput.js +21 -20
  26. package/esm/NumberInput/NumberInput.js.map +1 -1
  27. package/esm/PasswordInput/PasswordInput.js +8 -2
  28. package/esm/PasswordInput/PasswordInput.js.map +1 -1
  29. package/esm/Popover/use-popover.js +2 -2
  30. package/esm/Popover/use-popover.js.map +1 -1
  31. package/esm/Select/Select.js +9 -7
  32. package/esm/Select/Select.js.map +1 -1
  33. package/esm/ThemeIcon/ThemeIcon.js +1 -2
  34. package/esm/ThemeIcon/ThemeIcon.js.map +1 -1
  35. package/esm/Tooltip/Tooltip.js +2 -2
  36. package/esm/Tooltip/Tooltip.js.map +1 -1
  37. package/lib/Avatar/Avatar.d.ts.map +1 -1
  38. package/lib/Image/Image.d.ts.map +1 -1
  39. package/lib/Input/use-input-props.d.ts +3 -3
  40. package/lib/Modal/Modal.d.ts.map +1 -1
  41. package/lib/PasswordInput/PasswordInput.d.ts.map +1 -1
  42. package/lib/Popover/use-popover.d.ts.map +1 -1
  43. package/lib/Select/Select.d.ts.map +1 -1
  44. package/lib/ThemeIcon/ThemeIcon.d.ts.map +1 -1
  45. package/package.json +4 -4
@@ -49,8 +49,7 @@ var __objRest = (source, exclude) => {
49
49
  const defaultProps = {
50
50
  size: "md",
51
51
  color: "gray",
52
- variant: "light",
53
- gradient: { from: "blue", to: "cyan", deg: 45 }
52
+ variant: "light"
54
53
  };
55
54
  const _Avatar = React.forwardRef((props, ref) => {
56
55
  const _a = styles.useComponentDefaultProps("Avatar", defaultProps, props), {
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.js","sources":["../../src/Avatar/Avatar.tsx"],"sourcesContent":["import React, { useEffect, useState, forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineColor,\n Selectors,\n useComponentDefaultProps,\n MantineGradient,\n} from '@mantine/styles';\nimport { createPolymorphicComponent } from '@mantine/utils';\nimport { Box } from '../Box';\nimport { AvatarPlaceholderIcon } from './AvatarPlaceholderIcon';\nimport { AvatarGroup } from './AvatarGroup/AvatarGroup';\nimport { useAvatarGroupContext } from './AvatarGroup/AvatarGroup.context';\nimport useStyles, { AvatarStylesParams, AvatarVariant } from './Avatar.styles';\n\nexport type AvatarStylesNames = Selectors<typeof useStyles>;\n\nexport interface AvatarProps extends DefaultProps<AvatarStylesNames, AvatarStylesParams> {\n /** Image url */\n src?: string | null;\n\n /** Image alt text or title for placeholder variant */\n alt?: string;\n\n /** Avatar width and height */\n size?: MantineNumberSize;\n\n /** Value from theme.radius or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Color from theme.colors used for letter and icon placeholders */\n color?: MantineColor;\n\n /** Controls appearance */\n variant?: AvatarVariant;\n\n /** Controls gradient settings in gradient variant only */\n gradient?: MantineGradient;\n\n /** img element attributes */\n imageProps?: Record<string, any>;\n\n /** Custom placeholder */\n children?: React.ReactNode;\n}\n\nconst defaultProps: Partial<AvatarProps> = {\n size: 'md',\n color: 'gray',\n variant: 'light',\n gradient: { from: 'blue', to: 'cyan', deg: 45 },\n};\n\nexport const _Avatar = forwardRef<HTMLDivElement, AvatarProps>((props, ref) => {\n const {\n className,\n size,\n src,\n alt,\n radius,\n children,\n color,\n variant,\n gradient,\n classNames,\n styles,\n imageProps,\n unstyled,\n ...others\n } = useComponentDefaultProps('Avatar', defaultProps, props);\n\n const ctx = useAvatarGroupContext();\n const [error, setError] = useState(!src);\n\n const { classes, cx } = useStyles(\n { color, radius, size, withinGroup: ctx.withinGroup, spacing: ctx.spacing, variant, gradient },\n { classNames, styles, unstyled, name: 'Avatar' }\n );\n\n useEffect(() => {\n !src ? setError(true) : setError(false);\n }, [src]);\n\n return (\n <Box component=\"div\" className={cx(classes.root, className)} ref={ref} {...others}>\n {error ? (\n <div className={classes.placeholder} title={alt}>\n {children || <AvatarPlaceholderIcon className={classes.placeholderIcon} />}\n </div>\n ) : (\n <img\n {...imageProps}\n className={classes.image}\n src={src}\n alt={alt}\n onError={() => setError(true)}\n />\n )}\n </Box>\n );\n}) as any;\n\n_Avatar.displayName = '@mantine/core/Avatar';\n_Avatar.Group = AvatarGroup;\n\nexport const Avatar = createPolymorphicComponent<'div', AvatarProps, { Group: typeof AvatarGroup }>(\n _Avatar\n);\n"],"names":["forwardRef","useComponentDefaultProps","styles","useAvatarGroupContext","useState","useStyles","useEffect","React","Box","AvatarPlaceholderIcon","AvatarGroup","createPolymorphicComponent"],"mappings":"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"}
1
+ {"version":3,"file":"Avatar.js","sources":["../../src/Avatar/Avatar.tsx"],"sourcesContent":["import React, { useEffect, useState, forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineColor,\n Selectors,\n useComponentDefaultProps,\n MantineGradient,\n} from '@mantine/styles';\nimport { createPolymorphicComponent } from '@mantine/utils';\nimport { Box } from '../Box';\nimport { AvatarPlaceholderIcon } from './AvatarPlaceholderIcon';\nimport { AvatarGroup } from './AvatarGroup/AvatarGroup';\nimport { useAvatarGroupContext } from './AvatarGroup/AvatarGroup.context';\nimport useStyles, { AvatarStylesParams, AvatarVariant } from './Avatar.styles';\n\nexport type AvatarStylesNames = Selectors<typeof useStyles>;\n\nexport interface AvatarProps extends DefaultProps<AvatarStylesNames, AvatarStylesParams> {\n /** Image url */\n src?: string | null;\n\n /** Image alt text or title for placeholder variant */\n alt?: string;\n\n /** Avatar width and height */\n size?: MantineNumberSize;\n\n /** Value from theme.radius or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Color from theme.colors used for letter and icon placeholders */\n color?: MantineColor;\n\n /** Controls appearance */\n variant?: AvatarVariant;\n\n /** Controls gradient settings in gradient variant only */\n gradient?: MantineGradient;\n\n /** img element attributes */\n imageProps?: Record<string, any>;\n\n /** Custom placeholder */\n children?: React.ReactNode;\n}\n\nconst defaultProps: Partial<AvatarProps> = {\n size: 'md',\n color: 'gray',\n variant: 'light',\n};\n\nexport const _Avatar = forwardRef<HTMLDivElement, AvatarProps>((props, ref) => {\n const {\n className,\n size,\n src,\n alt,\n radius,\n children,\n color,\n variant,\n gradient,\n classNames,\n styles,\n imageProps,\n unstyled,\n ...others\n } = useComponentDefaultProps('Avatar', defaultProps, props);\n\n const ctx = useAvatarGroupContext();\n const [error, setError] = useState(!src);\n\n const { classes, cx } = useStyles(\n { color, radius, size, withinGroup: ctx.withinGroup, spacing: ctx.spacing, variant, gradient },\n { classNames, styles, unstyled, name: 'Avatar' }\n );\n\n useEffect(() => {\n !src ? setError(true) : setError(false);\n }, [src]);\n\n return (\n <Box component=\"div\" className={cx(classes.root, className)} ref={ref} {...others}>\n {error ? (\n <div className={classes.placeholder} title={alt}>\n {children || <AvatarPlaceholderIcon className={classes.placeholderIcon} />}\n </div>\n ) : (\n <img\n {...imageProps}\n className={classes.image}\n src={src}\n alt={alt}\n onError={() => setError(true)}\n />\n )}\n </Box>\n );\n}) as any;\n\n_Avatar.displayName = '@mantine/core/Avatar';\n_Avatar.Group = AvatarGroup;\n\nexport const Avatar = createPolymorphicComponent<'div', AvatarProps, { Group: typeof AvatarGroup }>(\n _Avatar\n);\n"],"names":["forwardRef","useComponentDefaultProps","styles","useAvatarGroupContext","useState","useStyles","useEffect","React","Box","AvatarPlaceholderIcon","AvatarGroup","createPolymorphicComponent"],"mappings":"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"}
@@ -117,9 +117,9 @@ const Image = React.forwardRef((props, ref) => {
117
117
  }, imageProps)), isPlaceholder && /* @__PURE__ */ React__default.createElement("div", {
118
118
  className: classes.placeholder,
119
119
  title: alt
120
- }, placeholder || /* @__PURE__ */ React__default.createElement(ImageIcon.ImageIcon, {
120
+ }, placeholder || /* @__PURE__ */ React__default.createElement("div", null, /* @__PURE__ */ React__default.createElement(ImageIcon.ImageIcon, {
121
121
  style: { width: 40, height: 40 }
122
- }))), !!caption && /* @__PURE__ */ React__default.createElement(Text.Text, {
122
+ })))), !!caption && /* @__PURE__ */ React__default.createElement(Text.Text, {
123
123
  component: "figcaption",
124
124
  size: "sm",
125
125
  align: "center",
@@ -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 [loaded, setLoaded] = useState(!!src);\n const [error, setError] = useState(!src);\n const isPlaceholder = withPlaceholder && (!loaded || error);\n\n useDidUpdate(() => {\n setLoaded(false);\n setError(false);\n }, [src]);\n\n return (\n <Box\n className={cx(classes.root, className)}\n ref={ref}\n style={{ width, height, ...style }}\n {...others}\n >\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 onLoad={(event) => {\n setLoaded(true);\n typeof imageProps?.onLoad === 'function' && imageProps.onLoad(event);\n }}\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 || <ImageIcon style={{ width: 40, height: 40 }} />}\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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"}
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 [loaded, setLoaded] = useState(!!src);\n const [error, setError] = useState(!src);\n const isPlaceholder = withPlaceholder && (!loaded || error);\n\n useDidUpdate(() => {\n setLoaded(false);\n setError(false);\n }, [src]);\n\n return (\n <Box\n className={cx(classes.root, className)}\n ref={ref}\n style={{ width, height, ...style }}\n {...others}\n >\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 onLoad={(event) => {\n setLoaded(true);\n typeof imageProps?.onLoad === 'function' && imageProps.onLoad(event);\n }}\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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"}
@@ -9,10 +9,10 @@ var Modal_styles = require('./Modal.styles.js');
9
9
  var OptionalPortal = require('../Portal/OptionalPortal.js');
10
10
  var GroupedTransition = require('../Transition/GroupedTransition.js');
11
11
  var Box = require('../Box/Box.js');
12
+ var Overlay = require('../Overlay/Overlay.js');
12
13
  var Paper = require('../Paper/Paper.js');
13
14
  var Text = require('../Text/Text.js');
14
15
  var CloseButton = require('../CloseButton/CloseButton.js');
15
- var Overlay = require('../Overlay/Overlay.js');
16
16
 
17
17
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
18
18
 
@@ -171,12 +171,24 @@ function Modal(props) {
171
171
  timingFunction: "ease"
172
172
  }
173
173
  }
174
- }, (transitionStyles) => /* @__PURE__ */ React__default.createElement(Box.Box, __spreadValues({
174
+ }, (transitionStyles) => /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement(Box.Box, __spreadValues({
175
175
  id: baseId,
176
176
  className: cx(classes.root, className)
177
177
  }, others), /* @__PURE__ */ React__default.createElement("div", {
178
+ style: transitionStyles.overlay
179
+ }, /* @__PURE__ */ React__default.createElement(Overlay.Overlay, {
180
+ className: classes.overlay,
181
+ sx: { position: "fixed" },
182
+ zIndex: 0,
183
+ blur: overlayBlur,
184
+ color: overlayColor || (theme.colorScheme === "dark" ? theme.colors.dark[9] : theme.black),
185
+ opacity: _overlayOpacity,
186
+ unstyled
187
+ })), /* @__PURE__ */ React__default.createElement("div", {
188
+ role: "presentation",
178
189
  className: classes.inner,
179
- onKeyDownCapture: (event) => {
190
+ onClick: () => closeOnClickOutside && onClose(),
191
+ onKeyDown: (event) => {
180
192
  var _a2;
181
193
  const shouldTrigger = ((_a2 = event.target) == null ? void 0 : _a2.getAttribute("data-mantine-stop-propagation")) !== "true";
182
194
  shouldTrigger && event.key === "Escape" && closeOnEscape && onClose();
@@ -193,7 +205,8 @@ function Modal(props) {
193
205
  "aria-modal": true,
194
206
  tabIndex: -1,
195
207
  style: transitionStyles.modal,
196
- unstyled
208
+ unstyled,
209
+ onClick: (event) => event.stopPropagation()
197
210
  }, (title || withCloseButton) && /* @__PURE__ */ React__default.createElement("div", {
198
211
  className: classes.header
199
212
  }, /* @__PURE__ */ React__default.createElement(Text.Text, {
@@ -207,18 +220,7 @@ function Modal(props) {
207
220
  })), /* @__PURE__ */ React__default.createElement("div", {
208
221
  id: bodyId,
209
222
  className: classes.body
210
- }, children)), /* @__PURE__ */ React__default.createElement("div", {
211
- style: transitionStyles.overlay
212
- }, /* @__PURE__ */ React__default.createElement(Overlay.Overlay, {
213
- className: classes.overlay,
214
- sx: { position: "fixed" },
215
- zIndex: 0,
216
- onMouseDown: () => closeOnClickOutside && onClose(),
217
- blur: overlayBlur,
218
- color: overlayColor || (theme.colorScheme === "dark" ? theme.colors.dark[9] : theme.black),
219
- opacity: _overlayOpacity,
220
- unstyled
221
- }))))));
223
+ }, children)))))));
222
224
  }
223
225
  Modal.displayName = "@mantine/core/Modal";
224
226
 
@@ -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 /** 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};\n\nexport function Modal(props: ModalProps) {\n const {\n className,\n opened,\n title,\n onClose,\n children,\n withCloseButton,\n overlayOpacity,\n size,\n transitionDuration,\n closeButtonLabel,\n overlayColor,\n overflow,\n transition,\n padding,\n shadow,\n radius,\n id,\n classNames,\n styles,\n closeOnClickOutside,\n trapFocus,\n closeOnEscape,\n centered,\n target,\n withinPortal,\n zIndex,\n 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 const [, lockScroll] = useScrollLock();\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 onExited={() => shouldLockScroll && lockScroll(false)}\n onEntered={() => shouldLockScroll && lockScroll(true)}\n mounted={opened}\n duration={transitionDuration}\n exitDuration={transitionDuration}\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 <Box id={baseId} className={cx(classes.root, className)} {...others}>\n <div\n className={classes.inner}\n onKeyDownCapture={(event) => {\n const shouldTrigger =\n (event.target as any)?.getAttribute('data-mantine-stop-propagation') !== 'true';\n shouldTrigger && event.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 >\n {(title || withCloseButton) && (\n <div className={classes.header}>\n <Text id={titleId} className={classes.title}>\n {title}\n </Text>\n\n {withCloseButton && (\n <CloseButton\n iconSize={16}\n onClick={onClose}\n aria-label={closeButtonLabel}\n className={classes.close}\n />\n )}\n </div>\n )}\n\n <div id={bodyId} className={classes.body}>\n {children}\n </div>\n </Paper>\n <div style={transitionStyles.overlay}>\n <Overlay\n className={classes.overlay}\n sx={{ position: 'fixed' }}\n zIndex={0}\n onMouseDown={() => closeOnClickOutside && onClose()}\n 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 </Box>\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","Paper","Text","CloseButton","Overlay"],"mappings":"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"}
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 /** 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};\n\nexport function Modal(props: ModalProps) {\n const {\n className,\n opened,\n title,\n onClose,\n children,\n withCloseButton,\n overlayOpacity,\n size,\n transitionDuration,\n closeButtonLabel,\n overlayColor,\n overflow,\n transition,\n padding,\n shadow,\n radius,\n id,\n classNames,\n styles,\n closeOnClickOutside,\n trapFocus,\n closeOnEscape,\n centered,\n target,\n withinPortal,\n zIndex,\n 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 const [, lockScroll] = useScrollLock();\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 onExited={() => shouldLockScroll && lockScroll(false)}\n onEntered={() => shouldLockScroll && lockScroll(true)}\n mounted={opened}\n duration={transitionDuration}\n exitDuration={transitionDuration}\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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"}
@@ -147,10 +147,22 @@ const NumberInput = React.forwardRef((props, ref) => {
147
147
  "type"
148
148
  ]);
149
149
  const { classes, cx, theme } = NumberInput_styles['default']({ radius, size }, { classNames, styles: styles$1, unstyled, name: "NumberInput" });
150
+ const parsePrecision = (val) => {
151
+ if (val === void 0)
152
+ return void 0;
153
+ let result = val.toFixed(precision);
154
+ if (removeTrailingZeros && precision > 0) {
155
+ result = result.replace(new RegExp(`[0]{0,${precision}}$`), "");
156
+ if (result.endsWith(".") || result.endsWith(decimalSeparator)) {
157
+ result = result.slice(0, -1);
158
+ }
159
+ }
160
+ return result;
161
+ };
150
162
  const [focused, setFocused] = React.useState(false);
151
163
  const [_value, setValue] = React.useState(typeof value === "number" ? value : typeof defaultValue === "number" ? defaultValue : void 0);
152
164
  const finalValue = typeof value === "number" ? value : _value;
153
- const [tempValue, setTempValue] = React.useState(typeof finalValue === "number" ? finalValue.toFixed(precision) : "");
165
+ const [tempValue, setTempValue] = React.useState(typeof finalValue === "number" ? parsePrecision(finalValue) : "");
154
166
  const inputRef = React.useRef();
155
167
  const handleValueChange = (val) => {
156
168
  if (val !== _value && !Number.isNaN(val)) {
@@ -179,9 +191,9 @@ const NumberInput = React.forwardRef((props, ref) => {
179
191
  var _a2, _b, _c;
180
192
  if (_value === void 0) {
181
193
  handleValueChange((_a2 = startValue != null ? startValue : min) != null ? _a2 : 0);
182
- setTempValue((_c = (_b = startValue == null ? void 0 : startValue.toFixed(precision)) != null ? _b : min == null ? void 0 : min.toFixed(precision)) != null ? _c : "0");
194
+ setTempValue((_c = (_b = parsePrecision(startValue)) != null ? _b : parsePrecision(min)) != null ? _c : "0");
183
195
  } else {
184
- const result = hooks.clamp(_value + step, _min, _max).toFixed(precision);
196
+ const result = parsePrecision(hooks.clamp(_value + step, _min, _max));
185
197
  handleValueChange(parseFloat(result));
186
198
  setTempValue(result);
187
199
  }
@@ -191,9 +203,9 @@ const NumberInput = React.forwardRef((props, ref) => {
191
203
  var _a2, _b, _c;
192
204
  if (_value === void 0) {
193
205
  handleValueChange((_a2 = startValue != null ? startValue : min) != null ? _a2 : 0);
194
- setTempValue((_c = (_b = startValue == null ? void 0 : startValue.toFixed(precision)) != null ? _b : min == null ? void 0 : min.toFixed(precision)) != null ? _c : "0");
206
+ setTempValue((_c = (_b = parsePrecision(startValue)) != null ? _b : parsePrecision(min)) != null ? _c : "0");
195
207
  } else {
196
- const result = hooks.clamp(_value - step, _min, _max).toFixed(precision);
208
+ const result = parsePrecision(hooks.clamp(_value - step, _min, _max));
197
209
  handleValueChange(parseFloat(result));
198
210
  setTempValue(result);
199
211
  }
@@ -202,7 +214,7 @@ const NumberInput = React.forwardRef((props, ref) => {
202
214
  React.useEffect(() => {
203
215
  if (typeof value === "number" && !focused) {
204
216
  setValue(value);
205
- setTempValue(value.toFixed(precision));
217
+ setTempValue(parsePrecision(value));
206
218
  }
207
219
  if (defaultValue === void 0 && value === void 0 && !focused) {
208
220
  setValue(value);
@@ -305,22 +317,11 @@ const NumberInput = React.forwardRef((props, ref) => {
305
317
  const val = hooks.clamp(parseFloat(parsedVal), _min, _max);
306
318
  if (!Number.isNaN(val)) {
307
319
  if (!noClampOnBlur) {
308
- if (removeTrailingZeros) {
309
- const valNoZeros = val.toFixed(precision).replace(new RegExp(`[0]{0,${precision}}$`), "");
310
- if (valNoZeros.endsWith(decimalSeparator) || valNoZeros.endsWith(".")) {
311
- setTempValue(valNoZeros.slice(0, -1));
312
- handleValueChange(parseFloat(valNoZeros.slice(0, -1)));
313
- } else {
314
- setTempValue(valNoZeros);
315
- handleValueChange(parseFloat(valNoZeros));
316
- }
317
- } else {
318
- setTempValue(val.toFixed(precision));
319
- handleValueChange(parseFloat(val.toFixed(precision)));
320
- }
320
+ setTempValue(parsePrecision(val));
321
+ handleValueChange(parseFloat(parsePrecision(val)));
321
322
  }
322
323
  } else {
323
- setTempValue((_a2 = finalValue == null ? void 0 : finalValue.toFixed(precision)) != null ? _a2 : "");
324
+ setTempValue((_a2 = parsePrecision(finalValue)) != null ? _a2 : "");
324
325
  }
325
326
  }
326
327
  setFocused(false);
@@ -1 +1 @@
1
- {"version":3,"file":"NumberInput.js","sources":["../../src/NumberInput/NumberInput.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, forwardRef } from 'react';\nimport { useMergedRef, assignRef, useOs, clamp } from '@mantine/hooks';\nimport { DefaultProps, Selectors, useComponentDefaultProps } from '@mantine/styles';\nimport { TextInput } from '../TextInput';\nimport { InputStylesNames, InputWrapperStylesNames } from '../Input';\nimport { getInputMode } from './get-input-mode/get-input-mode';\nimport { Chevron } from './Chevron';\nimport useStyles, { CONTROL_SIZES } from './NumberInput.styles';\n\nexport type InnerNumberInputStylesNames = Selectors<typeof useStyles>;\nexport type NumberInputStylesNames =\n | InputStylesNames\n | InputWrapperStylesNames\n | InnerNumberInputStylesNames;\n\nexport interface NumberInputHandlers {\n increment(): void;\n decrement(): void;\n}\n\ntype Formatter = (value: string | undefined) => string;\ntype Parser = (value: string | undefined) => string | undefined;\n\nexport interface NumberInputProps\n extends DefaultProps<NumberInputStylesNames>,\n Omit<\n React.ComponentPropsWithoutRef<typeof TextInput>,\n 'onChange' | 'value' | 'classNames' | 'styles' | 'type'\n > {\n /** onChange input handler for controlled variant, note that input event is not exposed. It will return undefined if the input is empty, otherwise it'll return a number */\n onChange?(value: number | undefined): void;\n\n /** Input value for controlled variant */\n value?: number | undefined;\n\n /** The decimal separator */\n decimalSeparator?: string;\n\n /** Maximum possible value */\n max?: number;\n\n /** Minimal possible value */\n min?: number;\n\n /** First value if no initial value was set and increment/decrement is triggered using controls or up/down arrows */\n startValue?: number;\n\n /** Number by which value will be incremented/decremented with controls and up/down arrows */\n step?: number;\n\n /** Delay before stepping the value. Can be a number of milliseconds or a function that receives the current step count and returns the delay in milliseconds. */\n stepHoldInterval?: number | ((stepCount: number) => number);\n\n /** Initial delay in milliseconds before stepping the value. */\n stepHoldDelay?: number;\n\n /** Removes increment/decrement controls */\n hideControls?: boolean;\n\n /** Amount of digits after the decimal point */\n precision?: number;\n\n /** Only works if a precision is given, removes the trailing zeros, false by default */\n removeTrailingZeros?: boolean;\n\n /** Default value for uncontrolled variant only */\n defaultValue?: number | undefined;\n\n /** Prevent value clamp on blur */\n noClampOnBlur?: boolean;\n\n /** Get increment/decrement handlers */\n handlersRef?: React.ForwardedRef<NumberInputHandlers | undefined>;\n\n /** Formats the number into the input */\n formatter?: Formatter;\n\n /** Parses the value from formatter, should be used with formatter at the same time */\n parser?: Parser;\n\n /** Input type, defaults to text */\n type?: 'text' | 'number';\n}\n\nconst defaultFormatter: Formatter = (value) => value || '';\nconst defaultParser: Parser = (num) => {\n if (num === '-') {\n return num;\n }\n\n let tempNum = num;\n\n if (tempNum[0] === '.') {\n tempNum = `0${num}`;\n }\n\n const parsedNum = parseFloat(tempNum);\n\n if (Number.isNaN(parsedNum)) {\n return undefined;\n }\n\n return num;\n};\n\nconst CHEVRON_SIZES = {\n xs: 10,\n sm: 14,\n md: 16,\n lg: 18,\n xl: 20,\n};\n\nconst defaultProps: Partial<NumberInputProps> = {\n step: 1,\n hideControls: false,\n size: 'sm',\n precision: 0,\n noClampOnBlur: false,\n removeTrailingZeros: false,\n formatter: defaultFormatter,\n parser: defaultParser,\n type: 'text',\n};\n\nexport const NumberInput = forwardRef<HTMLInputElement, NumberInputProps>((props, ref) => {\n const {\n disabled,\n value,\n onChange,\n decimalSeparator,\n min,\n max,\n startValue,\n step,\n stepHoldInterval,\n stepHoldDelay,\n onBlur,\n onFocus,\n onKeyDown,\n onKeyUp,\n hideControls,\n radius,\n variant,\n precision,\n removeTrailingZeros,\n defaultValue,\n noClampOnBlur,\n handlersRef,\n classNames,\n styles,\n size,\n rightSection,\n rightSectionWidth,\n formatter,\n parser,\n inputMode,\n unstyled,\n type,\n ...others\n } = useComponentDefaultProps('NumberInput', defaultProps, props);\n\n const { classes, cx, theme } = useStyles(\n { radius, size },\n { classNames, styles, unstyled, name: 'NumberInput' }\n );\n\n const [focused, setFocused] = useState(false);\n const [_value, setValue] = useState(\n typeof value === 'number' ? value : typeof defaultValue === 'number' ? defaultValue : undefined\n );\n const finalValue = typeof value === 'number' ? value : _value;\n const [tempValue, setTempValue] = useState(\n typeof finalValue === 'number' ? finalValue.toFixed(precision) : ''\n );\n const inputRef = useRef<HTMLInputElement>();\n const handleValueChange = (val: number | undefined) => {\n if (val !== _value && !Number.isNaN(val)) {\n typeof onChange === 'function' && onChange(val);\n setValue(val);\n }\n };\n\n const formatNum = (val: string | number = '') => {\n let parsedStr = typeof val === 'number' ? String(val) : val;\n\n if (decimalSeparator) {\n parsedStr = parsedStr.replace(/\\./g, decimalSeparator);\n }\n\n return formatter(parsedStr);\n };\n\n const parseNum = (val: string): string | undefined => {\n let num = val;\n\n if (decimalSeparator) {\n num = num.replace(new RegExp(`\\\\${decimalSeparator}`, 'g'), '.');\n }\n\n return parser(num);\n };\n\n const _min = typeof min === 'number' ? min : -Infinity;\n const _max = typeof max === 'number' ? max : Infinity;\n\n const incrementRef = useRef<() => void>();\n incrementRef.current = () => {\n if (_value === undefined) {\n handleValueChange(startValue ?? min ?? 0);\n setTempValue(startValue?.toFixed(precision) ?? min?.toFixed(precision) ?? '0');\n } else {\n const result = clamp(_value + step, _min, _max).toFixed(precision);\n\n handleValueChange(parseFloat(result));\n setTempValue(result);\n }\n };\n\n const decrementRef = useRef<() => void>();\n decrementRef.current = () => {\n if (_value === undefined) {\n handleValueChange(startValue ?? min ?? 0);\n setTempValue(startValue?.toFixed(precision) ?? min?.toFixed(precision) ?? '0');\n } else {\n const result = clamp(_value - step, _min, _max).toFixed(precision);\n handleValueChange(parseFloat(result));\n setTempValue(result);\n }\n };\n\n assignRef(handlersRef, { increment: incrementRef.current, decrement: decrementRef.current });\n\n useEffect(() => {\n if (typeof value === 'number' && !focused) {\n setValue(value);\n setTempValue(value.toFixed(precision));\n }\n if (defaultValue === undefined && value === undefined && !focused) {\n setValue(value);\n setTempValue('');\n }\n }, [value]);\n\n const shouldUseStepInterval = stepHoldDelay !== undefined && stepHoldInterval !== undefined;\n const onStepTimeoutRef = useRef<number>(null);\n const stepCountRef = useRef<number>(0);\n\n const onStepDone = () => {\n if (onStepTimeoutRef.current) {\n window.clearTimeout(onStepTimeoutRef.current);\n }\n onStepTimeoutRef.current = null;\n stepCountRef.current = 0;\n };\n\n const onStepHandleChange = (isIncrement: boolean) => {\n if (isIncrement) {\n incrementRef.current();\n } else {\n decrementRef.current();\n }\n stepCountRef.current += 1;\n };\n\n const onStepLoop = (isIncrement: boolean) => {\n onStepHandleChange(isIncrement);\n\n if (shouldUseStepInterval) {\n const interval =\n typeof stepHoldInterval === 'number'\n ? stepHoldInterval\n : stepHoldInterval(stepCountRef.current);\n onStepTimeoutRef.current = window.setTimeout(() => onStepLoop(isIncrement), interval);\n }\n };\n\n const onStep = (\n event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>,\n isIncrement: boolean\n ) => {\n event.preventDefault();\n inputRef.current.focus();\n onStepHandleChange(isIncrement);\n if (shouldUseStepInterval) {\n onStepTimeoutRef.current = window.setTimeout(() => onStepLoop(isIncrement), stepHoldDelay);\n }\n };\n\n useEffect(() => {\n onStepDone();\n return onStepDone;\n }, []);\n\n const controls = (\n <div className={classes.rightSection}>\n <button\n type=\"button\"\n tabIndex={-1}\n aria-hidden\n disabled={finalValue >= max}\n className={cx(classes.control, classes.controlUp)}\n onPointerDown={(event) => {\n onStep(event, true);\n }}\n onPointerUp={onStepDone}\n onPointerLeave={onStepDone}\n >\n <Chevron size={theme.fn.size({ size, sizes: CHEVRON_SIZES })} direction=\"up\" />\n </button>\n <button\n type=\"button\"\n tabIndex={-1}\n aria-hidden\n disabled={finalValue <= min}\n className={cx(classes.control, classes.controlDown)}\n onPointerDown={(event) => {\n onStep(event, false);\n }}\n onPointerUp={onStepDone}\n onPointerLeave={onStepDone}\n >\n <Chevron size={theme.fn.size({ size, sizes: CHEVRON_SIZES })} direction=\"down\" />\n </button>\n </div>\n );\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const evt = event.nativeEvent as InputEvent;\n if (evt.isComposing) {\n return;\n }\n\n const val = event.target.value;\n const parsed = parseNum(val);\n\n setTempValue(parsed);\n\n if (val === '' || val === '-') {\n handleValueChange(undefined);\n } else {\n val.trim() !== '' && !Number.isNaN(parsed) && handleValueChange(parseFloat(parsed));\n }\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n if (event.target.value === '') {\n setTempValue('');\n handleValueChange(undefined);\n } else {\n let newNumber = event.target.value;\n\n if (newNumber[0] === `${decimalSeparator}` || newNumber[0] === '.') {\n newNumber = `0${newNumber}`;\n }\n\n const parsedVal = parseNum(newNumber);\n const val = clamp(parseFloat(parsedVal), _min, _max);\n\n if (!Number.isNaN(val)) {\n if (!noClampOnBlur) {\n if (removeTrailingZeros) {\n const valNoZeros = val\n .toFixed(precision)\n .replace(new RegExp(`[0]{0,${precision}}$`), '');\n\n if (valNoZeros.endsWith(decimalSeparator) || valNoZeros.endsWith('.')) {\n setTempValue(valNoZeros.slice(0, -1));\n handleValueChange(parseFloat(valNoZeros.slice(0, -1)));\n } else {\n setTempValue(valNoZeros);\n handleValueChange(parseFloat(valNoZeros));\n }\n } else {\n setTempValue(val.toFixed(precision));\n handleValueChange(parseFloat(val.toFixed(precision)));\n }\n }\n } else {\n setTempValue(finalValue?.toFixed(precision) ?? '');\n }\n }\n\n setFocused(false);\n typeof onBlur === 'function' && onBlur(event);\n };\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n setFocused(true);\n typeof onFocus === 'function' && onFocus(event);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n typeof onKeyDown === 'function' && onKeyDown(event);\n if (\n event.repeat &&\n shouldUseStepInterval &&\n (event.key === 'ArrowUp' || event.key === 'ArrowDown')\n ) {\n event.preventDefault();\n return;\n }\n\n if (event.key === 'ArrowUp') {\n onStep(event, true);\n } else if (event.key === 'ArrowDown') {\n onStep(event, false);\n }\n };\n\n const handleKeyUp = (event: React.KeyboardEvent<HTMLInputElement>) => {\n typeof onKeyUp === 'function' && onKeyUp(event);\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n onStepDone();\n }\n };\n\n return (\n <TextInput\n {...others}\n type={type}\n variant={variant}\n value={formatNum(tempValue)}\n disabled={disabled}\n ref={useMergedRef(inputRef, ref)}\n onChange={handleChange}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n rightSection={\n rightSection || (disabled || hideControls || variant === 'unstyled' ? null : controls)\n }\n rightSectionWidth={rightSectionWidth || theme.fn.size({ size, sizes: CONTROL_SIZES }) + 1}\n radius={radius}\n max={max}\n min={min}\n step={step}\n size={size}\n styles={styles}\n classNames={classNames}\n inputMode={inputMode || getInputMode(step, precision, useOs())}\n __staticSelector=\"NumberInput\"\n unstyled={unstyled}\n />\n );\n});\n\nNumberInput.displayName = '@mantine/core/NumberInput';\n"],"names":["forwardRef","useComponentDefaultProps","styles","useStyles","useState","useRef","clamp","assignRef","useEffect","React","Chevron","TextInput","useMergedRef","CONTROL_SIZES","getInputMode","useOs"],"mappings":"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"}
1
+ {"version":3,"file":"NumberInput.js","sources":["../../src/NumberInput/NumberInput.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, forwardRef } from 'react';\nimport { useMergedRef, assignRef, useOs, clamp } from '@mantine/hooks';\nimport { DefaultProps, Selectors, useComponentDefaultProps } from '@mantine/styles';\nimport { TextInput } from '../TextInput';\nimport { InputStylesNames, InputWrapperStylesNames } from '../Input';\nimport { getInputMode } from './get-input-mode/get-input-mode';\nimport { Chevron } from './Chevron';\nimport useStyles, { CONTROL_SIZES } from './NumberInput.styles';\n\nexport type InnerNumberInputStylesNames = Selectors<typeof useStyles>;\nexport type NumberInputStylesNames =\n | InputStylesNames\n | InputWrapperStylesNames\n | InnerNumberInputStylesNames;\n\nexport interface NumberInputHandlers {\n increment(): void;\n decrement(): void;\n}\n\ntype Formatter = (value: string | undefined) => string;\ntype Parser = (value: string | undefined) => string | undefined;\n\nexport interface NumberInputProps\n extends DefaultProps<NumberInputStylesNames>,\n Omit<\n React.ComponentPropsWithoutRef<typeof TextInput>,\n 'onChange' | 'value' | 'classNames' | 'styles' | 'type'\n > {\n /** onChange input handler for controlled variant, note that input event is not exposed. It will return undefined if the input is empty, otherwise it'll return a number */\n onChange?(value: number | undefined): void;\n\n /** Input value for controlled variant */\n value?: number | undefined;\n\n /** The decimal separator */\n decimalSeparator?: string;\n\n /** Maximum possible value */\n max?: number;\n\n /** Minimal possible value */\n min?: number;\n\n /** First value if no initial value was set and increment/decrement is triggered using controls or up/down arrows */\n startValue?: number;\n\n /** Number by which value will be incremented/decremented with controls and up/down arrows */\n step?: number;\n\n /** Delay before stepping the value. Can be a number of milliseconds or a function that receives the current step count and returns the delay in milliseconds. */\n stepHoldInterval?: number | ((stepCount: number) => number);\n\n /** Initial delay in milliseconds before stepping the value. */\n stepHoldDelay?: number;\n\n /** Removes increment/decrement controls */\n hideControls?: boolean;\n\n /** Amount of digits after the decimal point */\n precision?: number;\n\n /** Only works if a precision is given, removes the trailing zeros, false by default */\n removeTrailingZeros?: boolean;\n\n /** Default value for uncontrolled variant only */\n defaultValue?: number | undefined;\n\n /** Prevent value clamp on blur */\n noClampOnBlur?: boolean;\n\n /** Get increment/decrement handlers */\n handlersRef?: React.ForwardedRef<NumberInputHandlers | undefined>;\n\n /** Formats the number into the input */\n formatter?: Formatter;\n\n /** Parses the value from formatter, should be used with formatter at the same time */\n parser?: Parser;\n\n /** Input type, defaults to text */\n type?: 'text' | 'number';\n}\n\nconst defaultFormatter: Formatter = (value) => value || '';\nconst defaultParser: Parser = (num) => {\n if (num === '-') {\n return num;\n }\n\n let tempNum = num;\n\n if (tempNum[0] === '.') {\n tempNum = `0${num}`;\n }\n\n const parsedNum = parseFloat(tempNum);\n\n if (Number.isNaN(parsedNum)) {\n return undefined;\n }\n\n return num;\n};\n\nconst CHEVRON_SIZES = {\n xs: 10,\n sm: 14,\n md: 16,\n lg: 18,\n xl: 20,\n};\n\nconst defaultProps: Partial<NumberInputProps> = {\n step: 1,\n hideControls: false,\n size: 'sm',\n precision: 0,\n noClampOnBlur: false,\n removeTrailingZeros: false,\n formatter: defaultFormatter,\n parser: defaultParser,\n type: 'text',\n};\n\nexport const NumberInput = forwardRef<HTMLInputElement, NumberInputProps>((props, ref) => {\n const {\n disabled,\n value,\n onChange,\n decimalSeparator,\n min,\n max,\n startValue,\n step,\n stepHoldInterval,\n stepHoldDelay,\n onBlur,\n onFocus,\n onKeyDown,\n onKeyUp,\n hideControls,\n radius,\n variant,\n precision,\n removeTrailingZeros,\n defaultValue,\n noClampOnBlur,\n handlersRef,\n classNames,\n styles,\n size,\n rightSection,\n rightSectionWidth,\n formatter,\n parser,\n inputMode,\n unstyled,\n type,\n ...others\n } = useComponentDefaultProps('NumberInput', defaultProps, props);\n\n const { classes, cx, theme } = useStyles(\n { radius, size },\n { classNames, styles, unstyled, name: 'NumberInput' }\n );\n\n const parsePrecision = (val: number | undefined) => {\n if (val === undefined) return undefined;\n\n let result = val.toFixed(precision);\n if (removeTrailingZeros && precision > 0) {\n result = result.replace(new RegExp(`[0]{0,${precision}}$`), '');\n if (result.endsWith('.') || result.endsWith(decimalSeparator)) {\n result = result.slice(0, -1);\n }\n }\n\n return result;\n };\n\n const [focused, setFocused] = useState(false);\n const [_value, setValue] = useState(\n typeof value === 'number' ? value : typeof defaultValue === 'number' ? defaultValue : undefined\n );\n const finalValue = typeof value === 'number' ? value : _value;\n const [tempValue, setTempValue] = useState(\n typeof finalValue === 'number' ? parsePrecision(finalValue) : ''\n );\n const inputRef = useRef<HTMLInputElement>();\n const handleValueChange = (val: number | undefined) => {\n if (val !== _value && !Number.isNaN(val)) {\n typeof onChange === 'function' && onChange(val);\n setValue(val);\n }\n };\n\n const formatNum = (val: string | number = '') => {\n let parsedStr = typeof val === 'number' ? String(val) : val;\n\n if (decimalSeparator) {\n parsedStr = parsedStr.replace(/\\./g, decimalSeparator);\n }\n\n return formatter(parsedStr);\n };\n\n const parseNum = (val: string): string | undefined => {\n let num = val;\n\n if (decimalSeparator) {\n num = num.replace(new RegExp(`\\\\${decimalSeparator}`, 'g'), '.');\n }\n\n return parser(num);\n };\n\n const _min = typeof min === 'number' ? min : -Infinity;\n const _max = typeof max === 'number' ? max : Infinity;\n\n const incrementRef = useRef<() => void>();\n incrementRef.current = () => {\n if (_value === undefined) {\n handleValueChange(startValue ?? min ?? 0);\n setTempValue(parsePrecision(startValue) ?? parsePrecision(min) ?? '0');\n } else {\n const result = parsePrecision(clamp(_value + step, _min, _max));\n\n handleValueChange(parseFloat(result));\n setTempValue(result);\n }\n };\n\n const decrementRef = useRef<() => void>();\n decrementRef.current = () => {\n if (_value === undefined) {\n handleValueChange(startValue ?? min ?? 0);\n setTempValue(parsePrecision(startValue) ?? parsePrecision(min) ?? '0');\n } else {\n const result = parsePrecision(clamp(_value - step, _min, _max));\n handleValueChange(parseFloat(result));\n setTempValue(result);\n }\n };\n\n assignRef(handlersRef, { increment: incrementRef.current, decrement: decrementRef.current });\n\n useEffect(() => {\n if (typeof value === 'number' && !focused) {\n setValue(value);\n setTempValue(parsePrecision(value));\n }\n if (defaultValue === undefined && value === undefined && !focused) {\n setValue(value);\n setTempValue('');\n }\n }, [value]);\n\n const shouldUseStepInterval = stepHoldDelay !== undefined && stepHoldInterval !== undefined;\n const onStepTimeoutRef = useRef<number>(null);\n const stepCountRef = useRef<number>(0);\n\n const onStepDone = () => {\n if (onStepTimeoutRef.current) {\n window.clearTimeout(onStepTimeoutRef.current);\n }\n onStepTimeoutRef.current = null;\n stepCountRef.current = 0;\n };\n\n const onStepHandleChange = (isIncrement: boolean) => {\n if (isIncrement) {\n incrementRef.current();\n } else {\n decrementRef.current();\n }\n stepCountRef.current += 1;\n };\n\n const onStepLoop = (isIncrement: boolean) => {\n onStepHandleChange(isIncrement);\n\n if (shouldUseStepInterval) {\n const interval =\n typeof stepHoldInterval === 'number'\n ? stepHoldInterval\n : stepHoldInterval(stepCountRef.current);\n onStepTimeoutRef.current = window.setTimeout(() => onStepLoop(isIncrement), interval);\n }\n };\n\n const onStep = (\n event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>,\n isIncrement: boolean\n ) => {\n event.preventDefault();\n inputRef.current.focus();\n onStepHandleChange(isIncrement);\n if (shouldUseStepInterval) {\n onStepTimeoutRef.current = window.setTimeout(() => onStepLoop(isIncrement), stepHoldDelay);\n }\n };\n\n useEffect(() => {\n onStepDone();\n return onStepDone;\n }, []);\n\n const controls = (\n <div className={classes.rightSection}>\n <button\n type=\"button\"\n tabIndex={-1}\n aria-hidden\n disabled={finalValue >= max}\n className={cx(classes.control, classes.controlUp)}\n onPointerDown={(event) => {\n onStep(event, true);\n }}\n onPointerUp={onStepDone}\n onPointerLeave={onStepDone}\n >\n <Chevron size={theme.fn.size({ size, sizes: CHEVRON_SIZES })} direction=\"up\" />\n </button>\n <button\n type=\"button\"\n tabIndex={-1}\n aria-hidden\n disabled={finalValue <= min}\n className={cx(classes.control, classes.controlDown)}\n onPointerDown={(event) => {\n onStep(event, false);\n }}\n onPointerUp={onStepDone}\n onPointerLeave={onStepDone}\n >\n <Chevron size={theme.fn.size({ size, sizes: CHEVRON_SIZES })} direction=\"down\" />\n </button>\n </div>\n );\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const evt = event.nativeEvent as InputEvent;\n if (evt.isComposing) {\n return;\n }\n\n const val = event.target.value;\n const parsed = parseNum(val);\n\n setTempValue(parsed);\n\n if (val === '' || val === '-') {\n handleValueChange(undefined);\n } else {\n val.trim() !== '' && !Number.isNaN(parsed) && handleValueChange(parseFloat(parsed));\n }\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n if (event.target.value === '') {\n setTempValue('');\n handleValueChange(undefined);\n } else {\n let newNumber = event.target.value;\n\n if (newNumber[0] === `${decimalSeparator}` || newNumber[0] === '.') {\n newNumber = `0${newNumber}`;\n }\n\n const parsedVal = parseNum(newNumber);\n const val = clamp(parseFloat(parsedVal), _min, _max);\n\n if (!Number.isNaN(val)) {\n if (!noClampOnBlur) {\n setTempValue(parsePrecision(val));\n handleValueChange(parseFloat(parsePrecision(val)));\n }\n } else {\n setTempValue(parsePrecision(finalValue) ?? '');\n }\n }\n\n setFocused(false);\n typeof onBlur === 'function' && onBlur(event);\n };\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n setFocused(true);\n typeof onFocus === 'function' && onFocus(event);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n typeof onKeyDown === 'function' && onKeyDown(event);\n if (\n event.repeat &&\n shouldUseStepInterval &&\n (event.key === 'ArrowUp' || event.key === 'ArrowDown')\n ) {\n event.preventDefault();\n return;\n }\n\n if (event.key === 'ArrowUp') {\n onStep(event, true);\n } else if (event.key === 'ArrowDown') {\n onStep(event, false);\n }\n };\n\n const handleKeyUp = (event: React.KeyboardEvent<HTMLInputElement>) => {\n typeof onKeyUp === 'function' && onKeyUp(event);\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n onStepDone();\n }\n };\n\n return (\n <TextInput\n {...others}\n type={type}\n variant={variant}\n value={formatNum(tempValue)}\n disabled={disabled}\n ref={useMergedRef(inputRef, ref)}\n onChange={handleChange}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n rightSection={\n rightSection || (disabled || hideControls || variant === 'unstyled' ? null : controls)\n }\n rightSectionWidth={rightSectionWidth || theme.fn.size({ size, sizes: CONTROL_SIZES }) + 1}\n radius={radius}\n max={max}\n min={min}\n step={step}\n size={size}\n styles={styles}\n classNames={classNames}\n inputMode={inputMode || getInputMode(step, precision, useOs())}\n __staticSelector=\"NumberInput\"\n unstyled={unstyled}\n />\n );\n});\n\nNumberInput.displayName = '@mantine/core/NumberInput';\n"],"names":["forwardRef","useComponentDefaultProps","styles","useStyles","useState","useRef","clamp","assignRef","useEffect","React","Chevron","TextInput","useMergedRef","CONTROL_SIZES","getInputMode","useOs"],"mappings":"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"}
@@ -102,6 +102,8 @@ const PasswordInput = React.forwardRef((props, ref) => {
102
102
  unstyled,
103
103
  visibilityToggleLabel,
104
104
  withAsterisk,
105
+ inputContainer,
106
+ iconWidth,
105
107
  inputWrapperOrder,
106
108
  visible,
107
109
  defaultVisible,
@@ -135,6 +137,8 @@ const PasswordInput = React.forwardRef((props, ref) => {
135
137
  "unstyled",
136
138
  "visibilityToggleLabel",
137
139
  "withAsterisk",
140
+ "inputContainer",
141
+ "iconWidth",
138
142
  "inputWrapperOrder",
139
143
  "visible",
140
144
  "defaultVisible",
@@ -192,7 +196,8 @@ const PasswordInput = React.forwardRef((props, ref) => {
192
196
  labelProps,
193
197
  unstyled,
194
198
  withAsterisk,
195
- inputWrapperOrder
199
+ inputWrapperOrder,
200
+ inputContainer
196
201
  }, systemStyles), wrapperProps), /* @__PURE__ */ React__default.createElement(Input.Input, {
197
202
  component: "div",
198
203
  invalid: !!error,
@@ -206,7 +211,8 @@ const PasswordInput = React.forwardRef((props, ref) => {
206
211
  rightSectionWidth,
207
212
  rightSection: !disabled && rightSection,
208
213
  variant,
209
- unstyled
214
+ unstyled,
215
+ iconWidth
210
216
  }, /* @__PURE__ */ React__default.createElement("input", __spreadValues({
211
217
  type: _visible ? "text" : "password",
212
218
  required,
@@ -1 +1 @@
1
- {"version":3,"file":"PasswordInput.js","sources":["../../src/PasswordInput/PasswordInput.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport {\n Selectors,\n DefaultProps,\n extractSystemStyles,\n useMantineTheme,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { ActionIcon } from '../ActionIcon';\nimport { TextInputProps, TextInputStylesNames } from '../TextInput';\nimport { Input } from '../Input';\nimport { PasswordToggleIcon } from './PasswordToggleIcon';\nimport useStyles from './PasswordInput.styles';\n\nexport type PasswordInputStylesNames = Selectors<typeof useStyles> | TextInputStylesNames;\n\nexport interface PasswordInputProps\n extends DefaultProps<PasswordInputStylesNames>,\n Omit<TextInputProps, 'classNames' | 'styles'> {\n /** Toggle button tabIndex, set to 0 to make button focusable with tab key */\n toggleTabIndex?: -1 | 0;\n\n /** Provide your own visibility toggle icon */\n visibilityToggleIcon?: React.FC<{ reveal: boolean; size: number }>;\n\n /** aria-label for visibility toggle button */\n visibilityToggleLabel?: string;\n\n /** Determines whether input content should be visible (controlled) */\n visible?: boolean;\n\n /** Determines whether input content should be visible (uncontrolled) */\n defaultVisible?: boolean;\n\n /** Called when visibility changes */\n onVisibilityChange?(visible: boolean): void;\n}\n\nconst buttonSizes = {\n xs: 22,\n sm: 26,\n md: 28,\n lg: 32,\n xl: 40,\n};\n\nconst iconSizes = {\n xs: 12,\n sm: 15,\n md: 17,\n lg: 19,\n xl: 21,\n};\n\nconst rightSectionSizes = {\n xs: 28,\n sm: 32,\n md: 34,\n lg: 44,\n xl: 54,\n};\n\nconst defaultProps: Partial<PasswordInputProps> = {\n size: 'sm',\n toggleTabIndex: -1,\n visibilityToggleIcon: PasswordToggleIcon,\n __staticSelector: 'PasswordInput',\n};\n\nexport const PasswordInput = forwardRef<HTMLInputElement, PasswordInputProps>((props, ref) => {\n const {\n radius,\n disabled,\n size,\n toggleTabIndex,\n className,\n id,\n label,\n error,\n required,\n style,\n icon,\n description,\n wrapperProps,\n classNames,\n styles,\n variant,\n visibilityToggleIcon: VisibilityToggleIcon,\n __staticSelector,\n rightSection: _rightSection,\n rightSectionWidth: _rightSectionWidth,\n rightSectionProps: _rightSectionProps,\n sx,\n labelProps,\n descriptionProps,\n errorProps,\n unstyled,\n visibilityToggleLabel,\n withAsterisk,\n inputWrapperOrder,\n visible,\n defaultVisible,\n onVisibilityChange,\n ...others\n } = useComponentDefaultProps('PasswordInput', defaultProps, props);\n\n const theme = useMantineTheme();\n const rightSectionWidth = theme.fn.size({ size, sizes: rightSectionSizes });\n const { classes, cx } = useStyles(\n { size, rightSectionWidth },\n { name: 'PasswordInput', classNames, styles, unstyled }\n );\n const uuid = useId(id);\n const { systemStyles, rest } = extractSystemStyles(others);\n const [_visible, setVisibility] = useUncontrolled({\n value: visible,\n defaultValue: defaultVisible,\n finalValue: false,\n onChange: onVisibilityChange,\n });\n\n const toggleVisibility = () => setVisibility(!_visible);\n\n const rightSection = (\n <ActionIcon<'button'>\n className={classes.visibilityToggle}\n tabIndex={toggleTabIndex}\n radius={radius}\n size={theme.fn.size({ size, sizes: buttonSizes })}\n aria-hidden={!visibilityToggleLabel}\n aria-label={visibilityToggleLabel}\n unstyled={unstyled}\n onMouseDown={(event) => {\n event.preventDefault();\n toggleVisibility();\n }}\n onKeyDown={(event) => {\n if (event.key === ' ') {\n event.preventDefault();\n toggleVisibility();\n }\n }}\n >\n <VisibilityToggleIcon reveal={_visible} size={theme.fn.size({ size, sizes: iconSizes })} />\n </ActionIcon>\n );\n\n return (\n <Input.Wrapper\n required={required}\n id={uuid}\n label={label}\n error={error}\n description={description}\n size={size}\n className={className}\n style={style}\n classNames={classNames}\n styles={styles}\n __staticSelector={__staticSelector}\n sx={sx}\n errorProps={errorProps}\n descriptionProps={descriptionProps}\n labelProps={labelProps}\n unstyled={unstyled}\n withAsterisk={withAsterisk}\n inputWrapperOrder={inputWrapperOrder}\n {...systemStyles}\n {...wrapperProps}\n >\n <Input<'div'>\n component=\"div\"\n invalid={!!error}\n icon={icon}\n size={size}\n classNames={{ ...classNames, input: classes.input }}\n styles={styles}\n radius={radius}\n disabled={disabled}\n __staticSelector={__staticSelector}\n rightSectionWidth={rightSectionWidth}\n rightSection={!disabled && rightSection}\n variant={variant}\n unstyled={unstyled}\n >\n <input\n type={_visible ? 'text' : 'password'}\n required={required}\n className={cx(classes.innerInput, {\n [classes.withIcon]: icon,\n [classes.invalid]: !!error,\n })}\n disabled={disabled}\n id={uuid}\n ref={ref}\n {...rest}\n />\n </Input>\n </Input.Wrapper>\n );\n});\n\nPasswordInput.displayName = '@mantine/core/PasswordInput';\n"],"names":["PasswordToggleIcon","forwardRef","useComponentDefaultProps","styles","useMantineTheme","useStyles","useId","extractSystemStyles","useUncontrolled","React","ActionIcon","Input"],"mappings":"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"}
1
+ {"version":3,"file":"PasswordInput.js","sources":["../../src/PasswordInput/PasswordInput.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport {\n Selectors,\n DefaultProps,\n extractSystemStyles,\n useMantineTheme,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { ActionIcon } from '../ActionIcon';\nimport { TextInputProps, TextInputStylesNames } from '../TextInput';\nimport { Input } from '../Input';\nimport { PasswordToggleIcon } from './PasswordToggleIcon';\nimport useStyles from './PasswordInput.styles';\n\nexport type PasswordInputStylesNames = Selectors<typeof useStyles> | TextInputStylesNames;\n\nexport interface PasswordInputProps\n extends DefaultProps<PasswordInputStylesNames>,\n Omit<TextInputProps, 'classNames' | 'styles'> {\n /** Toggle button tabIndex, set to 0 to make button focusable with tab key */\n toggleTabIndex?: -1 | 0;\n\n /** Provide your own visibility toggle icon */\n visibilityToggleIcon?: React.FC<{ reveal: boolean; size: number }>;\n\n /** aria-label for visibility toggle button */\n visibilityToggleLabel?: string;\n\n /** Determines whether input content should be visible (controlled) */\n visible?: boolean;\n\n /** Determines whether input content should be visible (uncontrolled) */\n defaultVisible?: boolean;\n\n /** Called when visibility changes */\n onVisibilityChange?(visible: boolean): void;\n}\n\nconst buttonSizes = {\n xs: 22,\n sm: 26,\n md: 28,\n lg: 32,\n xl: 40,\n};\n\nconst iconSizes = {\n xs: 12,\n sm: 15,\n md: 17,\n lg: 19,\n xl: 21,\n};\n\nconst rightSectionSizes = {\n xs: 28,\n sm: 32,\n md: 34,\n lg: 44,\n xl: 54,\n};\n\nconst defaultProps: Partial<PasswordInputProps> = {\n size: 'sm',\n toggleTabIndex: -1,\n visibilityToggleIcon: PasswordToggleIcon,\n __staticSelector: 'PasswordInput',\n};\n\nexport const PasswordInput = forwardRef<HTMLInputElement, PasswordInputProps>((props, ref) => {\n const {\n radius,\n disabled,\n size,\n toggleTabIndex,\n className,\n id,\n label,\n error,\n required,\n style,\n icon,\n description,\n wrapperProps,\n classNames,\n styles,\n variant,\n visibilityToggleIcon: VisibilityToggleIcon,\n __staticSelector,\n rightSection: _rightSection,\n rightSectionWidth: _rightSectionWidth,\n rightSectionProps: _rightSectionProps,\n sx,\n labelProps,\n descriptionProps,\n errorProps,\n unstyled,\n visibilityToggleLabel,\n withAsterisk,\n inputContainer,\n iconWidth,\n inputWrapperOrder,\n visible,\n defaultVisible,\n onVisibilityChange,\n ...others\n } = useComponentDefaultProps('PasswordInput', defaultProps, props);\n\n const theme = useMantineTheme();\n const rightSectionWidth = theme.fn.size({ size, sizes: rightSectionSizes });\n const { classes, cx } = useStyles(\n { size, rightSectionWidth },\n { name: 'PasswordInput', classNames, styles, unstyled }\n );\n const uuid = useId(id);\n const { systemStyles, rest } = extractSystemStyles(others);\n const [_visible, setVisibility] = useUncontrolled({\n value: visible,\n defaultValue: defaultVisible,\n finalValue: false,\n onChange: onVisibilityChange,\n });\n\n const toggleVisibility = () => setVisibility(!_visible);\n\n const rightSection = (\n <ActionIcon<'button'>\n className={classes.visibilityToggle}\n tabIndex={toggleTabIndex}\n radius={radius}\n size={theme.fn.size({ size, sizes: buttonSizes })}\n aria-hidden={!visibilityToggleLabel}\n aria-label={visibilityToggleLabel}\n unstyled={unstyled}\n onMouseDown={(event) => {\n event.preventDefault();\n toggleVisibility();\n }}\n onKeyDown={(event) => {\n if (event.key === ' ') {\n event.preventDefault();\n toggleVisibility();\n }\n }}\n >\n <VisibilityToggleIcon reveal={_visible} size={theme.fn.size({ size, sizes: iconSizes })} />\n </ActionIcon>\n );\n\n return (\n <Input.Wrapper\n required={required}\n id={uuid}\n label={label}\n error={error}\n description={description}\n size={size}\n className={className}\n style={style}\n classNames={classNames}\n styles={styles}\n __staticSelector={__staticSelector}\n sx={sx}\n errorProps={errorProps}\n descriptionProps={descriptionProps}\n labelProps={labelProps}\n unstyled={unstyled}\n withAsterisk={withAsterisk}\n inputWrapperOrder={inputWrapperOrder}\n inputContainer={inputContainer}\n {...systemStyles}\n {...wrapperProps}\n >\n <Input<'div'>\n component=\"div\"\n invalid={!!error}\n icon={icon}\n size={size}\n classNames={{ ...classNames, input: classes.input }}\n styles={styles}\n radius={radius}\n disabled={disabled}\n __staticSelector={__staticSelector}\n rightSectionWidth={rightSectionWidth}\n rightSection={!disabled && rightSection}\n variant={variant}\n unstyled={unstyled}\n iconWidth={iconWidth}\n >\n <input\n type={_visible ? 'text' : 'password'}\n required={required}\n className={cx(classes.innerInput, {\n [classes.withIcon]: icon,\n [classes.invalid]: !!error,\n })}\n disabled={disabled}\n id={uuid}\n ref={ref}\n {...rest}\n />\n </Input>\n </Input.Wrapper>\n );\n});\n\nPasswordInput.displayName = '@mantine/core/PasswordInput';\n"],"names":["PasswordToggleIcon","forwardRef","useComponentDefaultProps","styles","useMantineTheme","useStyles","useId","extractSystemStyles","useUncontrolled","React","ActionIcon","Input"],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAYF,MAAM,WAAW,GAAG;AACpB,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,CAAC,CAAC;AACF,MAAM,SAAS,GAAG;AAClB,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,CAAC,CAAC;AACF,MAAM,iBAAiB,GAAG;AAC1B,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,CAAC,CAAC;AACF,MAAM,YAAY,GAAG;AACrB,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,cAAc,EAAE,CAAC,CAAC;AACpB,EAAE,oBAAoB,EAAEA,qCAAkB;AAC1C,EAAE,gBAAgB,EAAE,eAAe;AACnC,CAAC,CAAC;AACU,MAAC,aAAa,GAAGC,gBAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AACxD,EAAE,MAAM,EAAE,GAAGC,+BAAwB,CAAC,eAAe,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;AAC7E,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,IAAI,cAAc;AAClB,IAAI,SAAS;AACb,IAAI,EAAE;AACN,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,KAAK;AACT,IAAI,IAAI;AACR,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,IAAI,UAAU;AACd,YAAIC,QAAM;AACV,IAAI,OAAO;AACX,IAAI,oBAAoB,EAAE,oBAAoB;AAC9C,IAAI,gBAAgB;AACpB,IAAI,YAAY,EAAE,aAAa;AAC/B,IAAI,iBAAiB,EAAE,kBAAkB;AACzC,IAAI,iBAAiB,EAAE,kBAAkB;AACzC,IAAI,EAAE;AACN,IAAI,UAAU;AACd,IAAI,gBAAgB;AACpB,IAAI,UAAU;AACd,IAAI,QAAQ;AACZ,IAAI,qBAAqB;AACzB,IAAI,YAAY;AAChB,IAAI,cAAc;AAClB,IAAI,SAAS;AACb,IAAI,iBAAiB;AACrB,IAAI,OAAO;AACX,IAAI,cAAc;AAClB,IAAI,kBAAkB;AACtB,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,gBAAgB;AACpB,IAAI,WAAW;AACf,IAAI,IAAI;AACR,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,aAAa;AACjB,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,sBAAsB;AAC1B,IAAI,kBAAkB;AACtB,IAAI,cAAc;AAClB,IAAI,mBAAmB;AACvB,IAAI,mBAAmB;AACvB,IAAI,IAAI;AACR,IAAI,YAAY;AAChB,IAAI,kBAAkB;AACtB,IAAI,YAAY;AAChB,IAAI,UAAU;AACd,IAAI,uBAAuB;AAC3B,IAAI,cAAc;AAClB,IAAI,gBAAgB;AACpB,IAAI,WAAW;AACf,IAAI,mBAAmB;AACvB,IAAI,SAAS;AACb,IAAI,gBAAgB;AACpB,IAAI,oBAAoB;AACxB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,KAAK,GAAGC,sBAAe,EAAE,CAAC;AAClC,EAAE,MAAM,iBAAiB,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;AAC9E,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAGC,+BAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,UAAEF,QAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC1H,EAAE,MAAM,IAAI,GAAGG,WAAK,CAAC,EAAE,CAAC,CAAC;AACzB,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAGC,0BAAmB,CAAC,MAAM,CAAC,CAAC;AAC7D,EAAE,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAGC,qBAAe,CAAC;AACpD,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,YAAY,EAAE,cAAc;AAChC,IAAI,UAAU,EAAE,KAAK;AACrB,IAAI,QAAQ,EAAE,kBAAkB;AAChC,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC1D,EAAE,MAAM,YAAY,mBAAmBC,cAAK,CAAC,aAAa,CAACC,qBAAU,EAAE;AACvE,IAAI,SAAS,EAAE,OAAO,CAAC,gBAAgB;AACvC,IAAI,QAAQ,EAAE,cAAc;AAC5B,IAAI,MAAM;AACV,IAAI,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;AACrD,IAAI,aAAa,EAAE,CAAC,qBAAqB;AACzC,IAAI,YAAY,EAAE,qBAAqB;AACvC,IAAI,QAAQ;AACZ,IAAI,WAAW,EAAE,CAAC,KAAK,KAAK;AAC5B,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;AAC7B,MAAM,gBAAgB,EAAE,CAAC;AACzB,KAAK;AACL,IAAI,SAAS,EAAE,CAAC,KAAK,KAAK;AAC1B,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE;AAC7B,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;AAC/B,QAAQ,gBAAgB,EAAE,CAAC;AAC3B,OAAO;AACP,KAAK;AACL,GAAG,kBAAkBD,cAAK,CAAC,aAAa,CAAC,oBAAoB,EAAE;AAC/D,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACnD,GAAG,CAAC,CAAC,CAAC;AACN,EAAE,uBAAuBA,cAAK,CAAC,aAAa,CAACE,WAAK,CAAC,OAAO,EAAE,cAAc,CAAC,cAAc,CAAC;AAC1F,IAAI,QAAQ;AACZ,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,WAAW;AACf,IAAI,IAAI;AACR,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,UAAU;AACd,YAAIR,QAAM;AACV,IAAI,gBAAgB;AACpB,IAAI,EAAE;AACN,IAAI,UAAU;AACd,IAAI,gBAAgB;AACpB,IAAI,UAAU;AACd,IAAI,QAAQ;AACZ,IAAI,YAAY;AAChB,IAAI,iBAAiB;AACrB,IAAI,cAAc;AAClB,GAAG,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,kBAAkBM,cAAK,CAAC,aAAa,CAACE,WAAK,EAAE;AAC9E,IAAI,SAAS,EAAE,KAAK;AACpB,IAAI,OAAO,EAAE,CAAC,CAAC,KAAK;AACpB,IAAI,IAAI;AACR,IAAI,IAAI;AACR,IAAI,UAAU,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;AACvF,YAAIR,QAAM;AACV,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,gBAAgB;AACpB,IAAI,iBAAiB;AACrB,IAAI,YAAY,EAAE,CAAC,QAAQ,IAAI,YAAY;AAC3C,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,GAAG,kBAAkBM,cAAK,CAAC,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC;AACjE,IAAI,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,UAAU;AACxC,IAAI,QAAQ;AACZ,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE;AACtC,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI;AAC9B,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK;AAChC,KAAK,CAAC;AACN,IAAI,QAAQ;AACZ,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,GAAG;AACP,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,EAAE;AACH,aAAa,CAAC,WAAW,GAAG,6BAA6B;;;;"}
@@ -9,7 +9,7 @@ var useFloatingAutoUpdate = require('../Floating/use-floating-auto-update.js');
9
9
  function getPopoverMiddlewares(options) {
10
10
  const middlewares = [reactDomInteractions.offset(options.offset)];
11
11
  if (options.middlewares.shift) {
12
- middlewares.push(reactDomInteractions.shift());
12
+ middlewares.push(reactDomInteractions.shift({ limiter: reactDomInteractions.limitShift() }));
13
13
  }
14
14
  if (options.middlewares.flip) {
15
15
  middlewares.push(reactDomInteractions.flip());