@mantine/core 5.5.5 → 5.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/Autocomplete/Autocomplete.js +7 -3
- package/cjs/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/Badge/Badge.styles.js +1 -1
- package/cjs/Badge/Badge.styles.js.map +1 -1
- package/cjs/CloseButton/CloseButton.js +5 -2
- package/cjs/CloseButton/CloseButton.js.map +1 -1
- package/cjs/ColorInput/ColorInput.js +6 -4
- package/cjs/ColorInput/ColorInput.js.map +1 -1
- package/cjs/FileButton/FileButton.js +2 -2
- package/cjs/FileButton/FileButton.js.map +1 -1
- package/cjs/FileInput/FileInput.js +7 -4
- package/cjs/FileInput/FileInput.js.map +1 -1
- package/cjs/Image/Image.js +3 -3
- package/cjs/Image/Image.js.map +1 -1
- package/cjs/JsonInput/JsonInput.js +7 -4
- package/cjs/JsonInput/JsonInput.js.map +1 -1
- package/cjs/MediaQuery/MediaQuery.js.map +1 -1
- package/cjs/MediaQuery/MediaQuery.styles.js +5 -4
- package/cjs/MediaQuery/MediaQuery.styles.js.map +1 -1
- package/cjs/Menu/MenuTarget/MenuTarget.js +0 -1
- package/cjs/Menu/MenuTarget/MenuTarget.js.map +1 -1
- package/cjs/NativeSelect/NativeSelect.js +1 -0
- package/cjs/NativeSelect/NativeSelect.js.map +1 -1
- package/cjs/PasswordInput/PasswordInput.js +8 -2
- package/cjs/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/Popover/use-popover.js +1 -1
- package/cjs/Popover/use-popover.js.map +1 -1
- package/cjs/Progress/Progress.js +33 -18
- package/cjs/Progress/Progress.js.map +1 -1
- package/cjs/Rating/Rating.js +192 -0
- package/cjs/Rating/Rating.js.map +1 -0
- package/cjs/Rating/Rating.styles.js +23 -0
- package/cjs/Rating/Rating.styles.js.map +1 -0
- package/cjs/Rating/RatingItem/RatingItem.js +105 -0
- package/cjs/Rating/RatingItem/RatingItem.js.map +1 -0
- package/cjs/Rating/RatingItem/RatingItem.styles.js +52 -0
- package/cjs/Rating/RatingItem/RatingItem.styles.js.map +1 -0
- package/cjs/Rating/StarSymbol/StarIcon.js +41 -0
- package/cjs/Rating/StarSymbol/StarIcon.js.map +1 -0
- package/cjs/Rating/StarSymbol/StarSymbol.js +22 -0
- package/cjs/Rating/StarSymbol/StarSymbol.js.map +1 -0
- package/cjs/Rating/StarSymbol/StarSymbol.styles.js +28 -0
- package/cjs/Rating/StarSymbol/StarSymbol.styles.js.map +1 -0
- package/cjs/RingProgress/Curve/Curve.js +39 -13
- package/cjs/RingProgress/Curve/Curve.js.map +1 -1
- package/cjs/RingProgress/RingProgress.js +15 -15
- package/cjs/RingProgress/RingProgress.js.map +1 -1
- package/cjs/RingProgress/get-curves/get-curves.js.map +1 -1
- package/cjs/Select/SelectPopover/SelectPopover.js +3 -1
- package/cjs/Select/SelectPopover/SelectPopover.js.map +1 -1
- package/cjs/Tabs/Tab/Tab.js +2 -1
- package/cjs/Tabs/Tab/Tab.js.map +1 -1
- package/cjs/Tabs/Tab/Tab.styles.js +7 -7
- package/cjs/Tabs/Tab/Tab.styles.js.map +1 -1
- package/cjs/Tabs/Tabs.context.js.map +1 -1
- package/cjs/Tabs/Tabs.js +9 -5
- package/cjs/Tabs/Tabs.js.map +1 -1
- package/cjs/Tabs/Tabs.styles.js +3 -2
- package/cjs/Tabs/Tabs.styles.js.map +1 -1
- package/cjs/Tabs/TabsList/TabsList.js +2 -2
- package/cjs/Tabs/TabsList/TabsList.js.map +1 -1
- package/cjs/Tabs/TabsList/TabsList.styles.js +3 -3
- package/cjs/Tabs/TabsList/TabsList.styles.js.map +1 -1
- package/cjs/Tabs/TabsPanel/TabsPanel.js +2 -1
- package/cjs/Tabs/TabsPanel/TabsPanel.js.map +1 -1
- package/cjs/Tabs/TabsProvider.js +2 -0
- package/cjs/Tabs/TabsProvider.js.map +1 -1
- package/cjs/Tooltip/Tooltip.js +2 -2
- package/cjs/Tooltip/Tooltip.js.map +1 -1
- package/cjs/index.js +4 -0
- package/cjs/index.js.map +1 -1
- package/esm/Autocomplete/Autocomplete.js +7 -3
- package/esm/Autocomplete/Autocomplete.js.map +1 -1
- package/esm/Badge/Badge.styles.js +1 -1
- package/esm/Badge/Badge.styles.js.map +1 -1
- package/esm/CloseButton/CloseButton.js +5 -3
- package/esm/CloseButton/CloseButton.js.map +1 -1
- package/esm/ColorInput/ColorInput.js +6 -4
- package/esm/ColorInput/ColorInput.js.map +1 -1
- package/esm/FileButton/FileButton.js +2 -2
- package/esm/FileButton/FileButton.js.map +1 -1
- package/esm/FileInput/FileInput.js +7 -4
- package/esm/FileInput/FileInput.js.map +1 -1
- package/esm/Image/Image.js +3 -3
- package/esm/Image/Image.js.map +1 -1
- package/esm/JsonInput/JsonInput.js +7 -4
- package/esm/JsonInput/JsonInput.js.map +1 -1
- package/esm/MediaQuery/MediaQuery.js.map +1 -1
- package/esm/MediaQuery/MediaQuery.styles.js +5 -4
- package/esm/MediaQuery/MediaQuery.styles.js.map +1 -1
- package/esm/Menu/MenuTarget/MenuTarget.js +1 -2
- package/esm/Menu/MenuTarget/MenuTarget.js.map +1 -1
- package/esm/NativeSelect/NativeSelect.js +1 -0
- package/esm/NativeSelect/NativeSelect.js.map +1 -1
- package/esm/PasswordInput/PasswordInput.js +8 -2
- package/esm/PasswordInput/PasswordInput.js.map +1 -1
- package/esm/Popover/use-popover.js +2 -2
- package/esm/Popover/use-popover.js.map +1 -1
- package/esm/Progress/Progress.js +33 -18
- package/esm/Progress/Progress.js.map +1 -1
- package/esm/Rating/Rating.js +184 -0
- package/esm/Rating/Rating.js.map +1 -0
- package/esm/Rating/Rating.styles.js +19 -0
- package/esm/Rating/Rating.styles.js.map +1 -0
- package/esm/Rating/RatingItem/RatingItem.js +97 -0
- package/esm/Rating/RatingItem/RatingItem.js.map +1 -0
- package/esm/Rating/RatingItem/RatingItem.styles.js +48 -0
- package/esm/Rating/RatingItem/RatingItem.styles.js.map +1 -0
- package/esm/Rating/StarSymbol/StarIcon.js +33 -0
- package/esm/Rating/StarSymbol/StarIcon.js.map +1 -0
- package/esm/Rating/StarSymbol/StarSymbol.js +14 -0
- package/esm/Rating/StarSymbol/StarSymbol.js.map +1 -0
- package/esm/Rating/StarSymbol/StarSymbol.styles.js +24 -0
- package/esm/Rating/StarSymbol/StarSymbol.styles.js.map +1 -0
- package/esm/RingProgress/Curve/Curve.js +39 -13
- package/esm/RingProgress/Curve/Curve.js.map +1 -1
- package/esm/RingProgress/RingProgress.js +15 -15
- package/esm/RingProgress/RingProgress.js.map +1 -1
- package/esm/RingProgress/get-curves/get-curves.js.map +1 -1
- package/esm/Select/SelectPopover/SelectPopover.js +3 -1
- package/esm/Select/SelectPopover/SelectPopover.js.map +1 -1
- package/esm/Tabs/Tab/Tab.js +2 -1
- package/esm/Tabs/Tab/Tab.js.map +1 -1
- package/esm/Tabs/Tab/Tab.styles.js +7 -7
- package/esm/Tabs/Tab/Tab.styles.js.map +1 -1
- package/esm/Tabs/Tabs.context.js.map +1 -1
- package/esm/Tabs/Tabs.js +9 -5
- package/esm/Tabs/Tabs.js.map +1 -1
- package/esm/Tabs/Tabs.styles.js +3 -2
- package/esm/Tabs/Tabs.styles.js.map +1 -1
- package/esm/Tabs/TabsList/TabsList.js +2 -2
- package/esm/Tabs/TabsList/TabsList.js.map +1 -1
- package/esm/Tabs/TabsList/TabsList.styles.js +3 -3
- package/esm/Tabs/TabsList/TabsList.styles.js.map +1 -1
- package/esm/Tabs/TabsPanel/TabsPanel.js +2 -1
- package/esm/Tabs/TabsPanel/TabsPanel.js.map +1 -1
- package/esm/Tabs/TabsProvider.js +2 -0
- package/esm/Tabs/TabsProvider.js.map +1 -1
- package/esm/Tooltip/Tooltip.js +2 -2
- package/esm/Tooltip/Tooltip.js.map +1 -1
- package/esm/index.js +2 -0
- package/esm/index.js.map +1 -1
- package/lib/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/lib/CloseButton/CloseButton.d.ts +8 -1
- package/lib/CloseButton/CloseButton.d.ts.map +1 -1
- package/lib/ColorInput/ColorInput.d.ts.map +1 -1
- package/lib/FileButton/FileButton.d.ts +2 -0
- package/lib/FileButton/FileButton.d.ts.map +1 -1
- package/lib/FileInput/FileInput.d.ts +2 -0
- package/lib/FileInput/FileInput.d.ts.map +1 -1
- package/lib/Image/Image.d.ts.map +1 -1
- package/lib/JsonInput/JsonInput.d.ts.map +1 -1
- package/lib/MediaQuery/MediaQuery.d.ts +2 -2
- package/lib/MediaQuery/MediaQuery.d.ts.map +1 -1
- package/lib/MediaQuery/MediaQuery.styles.d.ts +3 -3
- package/lib/MediaQuery/MediaQuery.styles.d.ts.map +1 -1
- package/lib/Menu/MenuTarget/MenuTarget.d.ts.map +1 -1
- package/lib/PasswordInput/PasswordInput.d.ts.map +1 -1
- package/lib/Popover/use-popover.d.ts.map +1 -1
- package/lib/Progress/Progress.d.ts +1 -1
- package/lib/Progress/Progress.d.ts.map +1 -1
- package/lib/Rating/Rating.d.ts +37 -0
- package/lib/Rating/Rating.d.ts.map +1 -0
- package/lib/Rating/Rating.styles.d.ts +7 -0
- package/lib/Rating/Rating.styles.d.ts.map +1 -0
- package/lib/Rating/RatingItem/RatingItem.d.ts +20 -0
- package/lib/Rating/RatingItem/RatingItem.d.ts.map +1 -0
- package/lib/Rating/RatingItem/RatingItem.styles.d.ts +7 -0
- package/lib/Rating/RatingItem/RatingItem.styles.d.ts.map +1 -0
- package/lib/Rating/StarSymbol/StarIcon.d.ts +6 -0
- package/lib/Rating/StarSymbol/StarIcon.d.ts.map +1 -0
- package/lib/Rating/StarSymbol/StarSymbol.d.ts +12 -0
- package/lib/Rating/StarSymbol/StarSymbol.d.ts.map +1 -0
- package/lib/Rating/StarSymbol/StarSymbol.styles.d.ts +13 -0
- package/lib/Rating/StarSymbol/StarSymbol.styles.d.ts.map +1 -0
- package/lib/Rating/index.d.ts +4 -0
- package/lib/Rating/index.d.ts.map +1 -0
- package/lib/RingProgress/Curve/Curve.d.ts +2 -2
- package/lib/RingProgress/Curve/Curve.d.ts.map +1 -1
- package/lib/RingProgress/RingProgress.d.ts +7 -5
- package/lib/RingProgress/RingProgress.d.ts.map +1 -1
- package/lib/RingProgress/get-curves/get-curves.d.ts +1 -1
- package/lib/RingProgress/get-curves/get-curves.d.ts.map +1 -1
- package/lib/Select/SelectPopover/SelectPopover.d.ts +2 -1
- package/lib/Select/SelectPopover/SelectPopover.d.ts.map +1 -1
- package/lib/Tabs/Tab/Tab.d.ts.map +1 -1
- package/lib/Tabs/Tab/Tab.styles.d.ts.map +1 -1
- package/lib/Tabs/Tabs.context.d.ts +3 -2
- package/lib/Tabs/Tabs.context.d.ts.map +1 -1
- package/lib/Tabs/Tabs.d.ts.map +1 -1
- package/lib/Tabs/Tabs.styles.d.ts.map +1 -1
- package/lib/Tabs/Tabs.types.d.ts +2 -0
- package/lib/Tabs/Tabs.types.d.ts.map +1 -1
- package/lib/Tabs/TabsList/TabsList.styles.d.ts.map +1 -1
- package/lib/Tabs/TabsPanel/TabsPanel.d.ts.map +1 -1
- package/lib/Tabs/TabsProvider.d.ts +4 -2
- package/lib/Tabs/TabsProvider.d.ts.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonInput.js","sources":["../../src/JsonInput/JsonInput.tsx"],"sourcesContent":["import React, { forwardRef, useState } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { DefaultProps, useComponentDefaultProps } from '@mantine/styles';\nimport { validateJson } from './validate-json/validate-json';\nimport { Textarea, TextareaProps } from '../Textarea';\nimport { TextInputStylesNames } from '../TextInput';\nimport useStyles from './JsonInput.styles';\n\nexport type JsonInputStylesNames = TextInputStylesNames;\n\nexport interface JsonInputProps\n extends DefaultProps<JsonInputStylesNames>,\n Omit<TextareaProps, 'onChange'> {\n /** Value for controlled input */\n value?: string;\n\n /** Default value for uncontrolled input */\n defaultValue?: string;\n\n /** onChange value for controlled input */\n onChange?(value: string): void;\n\n /** Format json on blur */\n formatOnBlur?: boolean;\n\n /** Error message shown when json is not valid */\n validationError?: React.ReactNode;\n}\n\nconst defaultProps: Partial<JsonInputProps> = {\n formatOnBlur: false,\n size: 'sm',\n};\n\nexport const JsonInput = forwardRef<HTMLTextAreaElement, JsonInputProps>((props, ref) => {\n const {\n value,\n defaultValue,\n onChange,\n onFocus,\n onBlur,\n error,\n formatOnBlur,\n size,\n validationError,\n classNames,\n unstyled,\n ...others\n } = useComponentDefaultProps('JsonInput', defaultProps, props);\n\n const { classes, cx } = useStyles({ size }, { name: 'JsonInput', unstyled });\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: '',\n onChange,\n });\n\n const [valid, setValid] = useState(validateJson(_value));\n\n const handleFocus = (event: React.FocusEvent<HTMLTextAreaElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n setValid(true);\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLTextAreaElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n const isValid = validateJson(event.currentTarget.value);\n formatOnBlur
|
|
1
|
+
{"version":3,"file":"JsonInput.js","sources":["../../src/JsonInput/JsonInput.tsx"],"sourcesContent":["import React, { forwardRef, useState } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { DefaultProps, useComponentDefaultProps } from '@mantine/styles';\nimport { validateJson } from './validate-json/validate-json';\nimport { Textarea, TextareaProps } from '../Textarea';\nimport { TextInputStylesNames } from '../TextInput';\nimport useStyles from './JsonInput.styles';\n\nexport type JsonInputStylesNames = TextInputStylesNames;\n\nexport interface JsonInputProps\n extends DefaultProps<JsonInputStylesNames>,\n Omit<TextareaProps, 'onChange'> {\n /** Value for controlled input */\n value?: string;\n\n /** Default value for uncontrolled input */\n defaultValue?: string;\n\n /** onChange value for controlled input */\n onChange?(value: string): void;\n\n /** Format json on blur */\n formatOnBlur?: boolean;\n\n /** Error message shown when json is not valid */\n validationError?: React.ReactNode;\n}\n\nconst defaultProps: Partial<JsonInputProps> = {\n formatOnBlur: false,\n size: 'sm',\n};\n\nexport const JsonInput = forwardRef<HTMLTextAreaElement, JsonInputProps>((props, ref) => {\n const {\n value,\n defaultValue,\n onChange,\n onFocus,\n onBlur,\n error,\n formatOnBlur,\n size,\n validationError,\n classNames,\n unstyled,\n readOnly,\n ...others\n } = useComponentDefaultProps('JsonInput', defaultProps, props);\n\n const { classes, cx } = useStyles({ size }, { name: 'JsonInput', unstyled });\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: '',\n onChange,\n });\n\n const [valid, setValid] = useState(validateJson(_value));\n\n const handleFocus = (event: React.FocusEvent<HTMLTextAreaElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n setValid(true);\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLTextAreaElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n const isValid = validateJson(event.currentTarget.value);\n formatOnBlur && !readOnly;\n isValid &&\n event.currentTarget.value.trim() !== '' &&\n setValue(JSON.stringify(JSON.parse(event.currentTarget.value), null, 2));\n setValid(isValid);\n };\n\n return (\n <Textarea\n value={_value}\n onChange={(event) => setValue(event.currentTarget.value)}\n onFocus={handleFocus}\n onBlur={handleBlur}\n error={valid ? error : validationError || true}\n __staticSelector=\"JsonInput\"\n classNames={{ ...classNames, input: cx(classes.input, classNames?.input) }}\n autoComplete=\"nope\"\n ref={ref}\n unstyled={unstyled}\n readOnly={readOnly}\n {...others}\n />\n );\n});\n\nJsonInput.displayName = '@mantine/core/JsonInput';\n"],"names":["forwardRef","useComponentDefaultProps","useStyles","useUncontrolled","useState","validateJson","React","Textarea"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaQuery.js","sources":["../../src/MediaQuery/MediaQuery.tsx"],"sourcesContent":["import React, { Children } from 'react';\nimport {
|
|
1
|
+
{"version":3,"file":"MediaQuery.js","sources":["../../src/MediaQuery/MediaQuery.tsx"],"sourcesContent":["import React, { Children } from 'react';\nimport {\n MantineNumberSize,\n CSSObject,\n useComponentDefaultProps,\n MantineTheme,\n} from '@mantine/styles';\nimport useStyles from './MediaQuery.styles';\n\nexport interface MediaQueryProps {\n className?: string;\n\n /** Child that should be shown at given breakpoint, it must accept className prop */\n children: React.ReactNode;\n\n /** Styles applied to child when viewport is smaller than given breakpoint */\n smallerThan?: MantineNumberSize;\n\n /** Styles applied to child when viewport is larger than given breakpoint */\n largerThan?: MantineNumberSize;\n\n /** Any other media query */\n query?: string;\n\n /** Styles applied to child when breakpoint matches */\n styles: CSSObject | ((theme: MantineTheme) => CSSObject);\n}\n\nexport function MediaQuery(props: MediaQueryProps) {\n const { children, smallerThan, largerThan, query, styles, className } = useComponentDefaultProps(\n 'MediaQuery',\n {},\n props\n );\n\n const { classes, cx } = useStyles(\n { smallerThan, largerThan, query, styles },\n { name: 'MediaQuery' }\n );\n\n const child = Children.only(children) as React.ReactElement;\n\n if (typeof child === 'object' && child !== null && 'props' in child) {\n return React.cloneElement(child, {\n className: cx(classes.media, child.props?.className, className),\n });\n }\n\n return child;\n}\n\nMediaQuery.displayName = '@mantine/core/MediaQuery';\n"],"names":["styles","useComponentDefaultProps","useStyles","Children","React"],"mappings":";;;;;;;;;;;;AAKO,SAAS,UAAU,CAAC,KAAK,EAAE;AAClC,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,UAAEA,QAAM,EAAE,SAAS,EAAE,GAAGC,+BAAwB,CAAC,YAAY,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;AAC5H,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAGC,4BAAS,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,UAAEF,QAAM,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;AACxG,EAAE,MAAM,KAAK,GAAGG,cAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACxC,EAAE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,EAAE;AACvE,IAAI,OAAOC,cAAK,CAAC,YAAY,CAAC,KAAK,EAAE;AACrC,MAAM,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;AACjG,KAAK,CAAC,CAAC;AACP,GAAG;AACH,EAAE,OAAO,KAAK,CAAC;AACf,CAAC;AACD,UAAU,CAAC,WAAW,GAAG,0BAA0B;;;;"}
|
|
@@ -8,18 +8,19 @@ var useStyles = styles.createStyles((theme, { smallerThan, largerThan, query, st
|
|
|
8
8
|
const media = {};
|
|
9
9
|
const minWidth = theme.fn.size({ size: largerThan, sizes: theme.breakpoints });
|
|
10
10
|
const maxWidth = theme.fn.size({ size: smallerThan, sizes: theme.breakpoints });
|
|
11
|
+
const _styles = typeof styles === "function" ? styles(theme) : styles;
|
|
11
12
|
if (largerThan !== void 0 && smallerThan !== void 0) {
|
|
12
|
-
media[`@media (min-width: ${minWidth}px) and (max-width: ${maxWidth - 1}px)`] =
|
|
13
|
+
media[`@media (min-width: ${minWidth}px) and (max-width: ${maxWidth - 1}px)`] = _styles;
|
|
13
14
|
} else {
|
|
14
15
|
if (largerThan !== void 0) {
|
|
15
|
-
media[`@media (min-width: ${theme.fn.size({ size: largerThan, sizes: theme.breakpoints })}px)`] =
|
|
16
|
+
media[`@media (min-width: ${theme.fn.size({ size: largerThan, sizes: theme.breakpoints })}px)`] = _styles;
|
|
16
17
|
}
|
|
17
18
|
if (smallerThan !== void 0) {
|
|
18
|
-
media[`@media (max-width: ${theme.fn.size({ size: smallerThan, sizes: theme.breakpoints }) - 1}px)`] =
|
|
19
|
+
media[`@media (max-width: ${theme.fn.size({ size: smallerThan, sizes: theme.breakpoints }) - 1}px)`] = _styles;
|
|
19
20
|
}
|
|
20
21
|
}
|
|
21
22
|
if (query) {
|
|
22
|
-
media[`@media ${query}`] =
|
|
23
|
+
media[`@media ${query}`] = _styles;
|
|
23
24
|
}
|
|
24
25
|
return { media };
|
|
25
26
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaQuery.styles.js","sources":["../../src/MediaQuery/MediaQuery.styles.ts"],"sourcesContent":["import { createStyles, MantineNumberSize, CSSObject } from '@mantine/styles';\n\nexport interface MediaQueryStylesParams {\n smallerThan: MantineNumberSize;\n largerThan: MantineNumberSize;\n styles: CSSObject;\n query: string;\n}\n\nexport default createStyles(\n (theme, { smallerThan, largerThan, query, styles }: MediaQueryStylesParams) => {\n const media: CSSObject = {};\n const minWidth = theme.fn.size({ size: largerThan, sizes: theme.breakpoints });\n const maxWidth = theme.fn.size({ size: smallerThan, sizes: theme.breakpoints });\n\n if (largerThan !== undefined && smallerThan !== undefined) {\n media[`@media (min-width: ${minWidth}px) and (max-width: ${maxWidth - 1}px)`] =
|
|
1
|
+
{"version":3,"file":"MediaQuery.styles.js","sources":["../../src/MediaQuery/MediaQuery.styles.ts"],"sourcesContent":["import { createStyles, MantineNumberSize, CSSObject, MantineTheme } from '@mantine/styles';\n\nexport interface MediaQueryStylesParams {\n smallerThan: MantineNumberSize;\n largerThan: MantineNumberSize;\n styles: CSSObject | ((theme: MantineTheme) => CSSObject);\n query: string;\n}\n\nexport default createStyles(\n (theme, { smallerThan, largerThan, query, styles }: MediaQueryStylesParams) => {\n const media: CSSObject = {};\n const minWidth = theme.fn.size({ size: largerThan, sizes: theme.breakpoints });\n const maxWidth = theme.fn.size({ size: smallerThan, sizes: theme.breakpoints });\n const _styles = typeof styles === 'function' ? styles(theme) : styles;\n\n if (largerThan !== undefined && smallerThan !== undefined) {\n media[`@media (min-width: ${minWidth}px) and (max-width: ${maxWidth - 1}px)`] = _styles;\n } else {\n if (largerThan !== undefined) {\n media[\n `@media (min-width: ${theme.fn.size({ size: largerThan, sizes: theme.breakpoints })}px)`\n ] = _styles;\n }\n\n if (smallerThan !== undefined) {\n media[\n `@media (max-width: ${\n theme.fn.size({ size: smallerThan, sizes: theme.breakpoints }) - 1\n }px)`\n ] = _styles;\n }\n }\n\n if (query) {\n media[`@media ${query}`] = _styles;\n }\n\n return { media };\n }\n);\n"],"names":["createStyles"],"mappings":";;;;;;AACA,gBAAeA,mBAAY,CAAC,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK;AACnF,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;AACnB,EAAE,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACjF,EAAE,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AAClF,EAAE,MAAM,OAAO,GAAG,OAAO,MAAM,KAAK,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;AACxE,EAAE,IAAI,UAAU,KAAK,KAAK,CAAC,IAAI,WAAW,KAAK,KAAK,CAAC,EAAE;AACvD,IAAI,KAAK,CAAC,CAAC,mBAAmB,EAAE,QAAQ,CAAC,oBAAoB,EAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;AAC5F,GAAG,MAAM;AACT,IAAI,IAAI,UAAU,KAAK,KAAK,CAAC,EAAE;AAC/B,MAAM,KAAK,CAAC,CAAC,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;AAChH,KAAK;AACL,IAAI,IAAI,WAAW,KAAK,KAAK,CAAC,EAAE;AAChC,MAAM,KAAK,CAAC,CAAC,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;AACrH,KAAK;AACL,GAAG;AACH,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;AACvC,GAAG;AACH,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC,CAAC;;;;"}
|
|
@@ -49,7 +49,6 @@ const MenuTarget = React.forwardRef((_a, ref) => {
|
|
|
49
49
|
const onClick = utils.createEventHandler(children.props.onClick, () => ctx.trigger === "click" && ctx.toggleDropdown());
|
|
50
50
|
const onMouseEnter = utils.createEventHandler(children.props.onMouseEnter, () => ctx.trigger === "hover" && ctx.openDropdown());
|
|
51
51
|
const onMouseLeave = utils.createEventHandler(children.props.onMouseLeave, () => ctx.trigger === "hover" && ctx.closeDropdown());
|
|
52
|
-
React.useEffect(() => ctx.closeDropdown, [children]);
|
|
53
52
|
return /* @__PURE__ */ React__default.createElement(Popover.Popover.Target, __spreadValues({
|
|
54
53
|
refProp,
|
|
55
54
|
popupType: "menu",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuTarget.js","sources":["../../../src/Menu/MenuTarget/MenuTarget.tsx"],"sourcesContent":["import React, { cloneElement, forwardRef
|
|
1
|
+
{"version":3,"file":"MenuTarget.js","sources":["../../../src/Menu/MenuTarget/MenuTarget.tsx"],"sourcesContent":["import React, { cloneElement, forwardRef } from 'react';\nimport { isElement, createEventHandler } from '@mantine/utils';\nimport { useMenuContext } from '../Menu.context';\nimport { Popover } from '../../Popover';\nimport { MENU_ERRORS } from '../Menu.errors';\n\nexport interface MenuTargetProps {\n /** Target element */\n children: React.ReactNode;\n\n /** Key of the prop that should be used to get element ref */\n refProp?: string;\n}\n\nexport const MenuTarget = forwardRef<HTMLElement, MenuTargetProps>(\n ({ children, refProp = 'ref', ...others }, ref) => {\n if (!isElement(children)) {\n throw new Error(MENU_ERRORS.children);\n }\n\n const ctx = useMenuContext();\n\n const onClick = createEventHandler(\n children.props.onClick,\n () => ctx.trigger === 'click' && ctx.toggleDropdown()\n );\n\n const onMouseEnter = createEventHandler(\n children.props.onMouseEnter,\n () => ctx.trigger === 'hover' && ctx.openDropdown()\n );\n\n const onMouseLeave = createEventHandler(\n children.props.onMouseLeave,\n () => ctx.trigger === 'hover' && ctx.closeDropdown()\n );\n\n return (\n <Popover.Target refProp={refProp} popupType=\"menu\" ref={ref} {...others}>\n {cloneElement(children, {\n onClick,\n onMouseEnter,\n onMouseLeave,\n 'data-expanded': ctx.opened ? true : undefined,\n })}\n </Popover.Target>\n );\n }\n);\n\nMenuTarget.displayName = '@mantine/core/MenuTarget';\n"],"names":["forwardRef","isElement","MENU_ERRORS","useMenuContext","createEventHandler","React","Popover","cloneElement"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeSelect.js","sources":["../../src/NativeSelect/NativeSelect.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineSize, useMantineTheme } from '@mantine/styles';\nimport {\n InputWrapperBaseProps,\n InputWrapperStylesNames,\n Input,\n InputSharedProps,\n InputStylesNames,\n useInputProps,\n} from '../Input';\nimport { getSelectRightSectionProps } from '../Select/SelectRightSection/get-select-right-section-props';\nimport { SelectItem } from '../Select/types';\n\nexport type NativeSelectStylesNames = InputStylesNames | InputWrapperStylesNames;\n\nexport interface NativeSelectProps\n extends DefaultProps<NativeSelectStylesNames>,\n InputWrapperBaseProps,\n InputSharedProps,\n Omit<React.ComponentPropsWithoutRef<'select'>, 'size'> {\n /** id is used to bind input and label, if not passed unique id will be generated for each input */\n id?: string;\n\n /** Adds hidden option to select and sets it as selected if value is not present */\n placeholder?: string;\n\n /** Data used to render options */\n data: (string | SelectItem)[];\n\n /** Props passed to root element (InputWrapper component) */\n wrapperProps?: Record<string, any>;\n\n /** Input size */\n size?: MantineSize;\n}\n\nconst defaultProps: Partial<NativeSelectProps> = {\n size: 'sm',\n};\n\nexport const NativeSelect = forwardRef<HTMLSelectElement, NativeSelectProps>((props, ref) => {\n const {\n inputProps,\n wrapperProps,\n data,\n placeholder,\n onChange,\n value,\n classNames,\n styles,\n rightSection,\n rightSectionWidth,\n ...others\n } = useInputProps('NativeSelect', defaultProps, props);\n const theme = useMantineTheme();\n\n const formattedData = data.map((item) =>\n typeof item === 'string' ? { label: item, value: item } : item\n );\n\n const options = formattedData.map((item) => (\n <option key={item.value} value={item.value} disabled={item.disabled}>\n {item.label}\n </option>\n ));\n\n if (placeholder) {\n options.unshift(\n <option key=\"placeholder\" value=\"\" disabled hidden>\n {placeholder}\n </option>\n );\n }\n\n return (\n <Input.Wrapper {...wrapperProps} __staticSelector=\"NativeSelect\">\n <Input<'select'>\n {...inputProps}\n {...others}\n onChange={onChange}\n component=\"select\"\n ref={ref}\n value={value === null ? '' : value}\n __staticSelector=\"NativeSelect\"\n pointer={theme.cursorType === 'pointer'}\n {...getSelectRightSectionProps({\n theme,\n rightSection,\n rightSectionWidth,\n styles,\n shouldClear: false,\n size: inputProps.size,\n error: wrapperProps.error,\n readOnly: false,\n })}\n >\n {options}\n </Input>\n </Input.Wrapper>\n );\n});\n\nNativeSelect.displayName = '@mantine/core/NativeSelect';\n"],"names":["forwardRef","useInputProps","styles","useMantineTheme","React","Input","getSelectRightSectionProps"],"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;AAQF,MAAM,YAAY,GAAG;AACrB,EAAE,IAAI,EAAE,IAAI;AACZ,CAAC,CAAC;AACU,MAAC,YAAY,GAAGA,gBAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AACvD,EAAE,MAAM,EAAE,GAAGC,2BAAa,CAAC,cAAc,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;AACjE,IAAI,UAAU;AACd,IAAI,YAAY;AAChB,IAAI,IAAI;AACR,IAAI,WAAW;AACf,IAAI,QAAQ;AACZ,IAAI,KAAK;AACT,IAAI,UAAU;AACd,YAAIC,QAAM;AACV,IAAI,YAAY;AAChB,IAAI,iBAAiB;AACrB,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,YAAY;AAChB,IAAI,cAAc;AAClB,IAAI,MAAM;AACV,IAAI,aAAa;AACjB,IAAI,UAAU;AACd,IAAI,OAAO;AACX,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,cAAc;AAClB,IAAI,mBAAmB;AACvB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,KAAK,GAAGC,sBAAe,EAAE,CAAC;AAClC,EAAE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,QAAQ,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;AAC3G,EAAE,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,qBAAqBC,cAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;AAC5F,IAAI,GAAG,EAAE,IAAI,CAAC,KAAK;AACnB,IAAI,KAAK,EAAE,IAAI,CAAC,KAAK;AACrB,IAAI,QAAQ,EAAE,IAAI,CAAC,QAAQ;AAC3B,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAClB,EAAE,IAAI,WAAW,EAAE;AACnB,IAAI,OAAO,CAAC,OAAO,iBAAiBA,cAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;AAClE,MAAM,GAAG,EAAE,aAAa;AACxB,MAAM,KAAK,EAAE,EAAE;AACf,MAAM,QAAQ,EAAE,IAAI;AACpB,MAAM,MAAM,EAAE,IAAI;AAClB,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;AACrB,GAAG;AACH,EAAE,uBAAuBA,cAAK,CAAC,aAAa,CAACC,WAAK,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE;AAC5G,IAAI,gBAAgB,EAAE,cAAc;AACpC,GAAG,CAAC,kBAAkBD,cAAK,CAAC,aAAa,CAACC,WAAK,EAAE,cAAc,CAAC,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,EAAE;AACtI,IAAI,QAAQ;AACZ,IAAI,SAAS,EAAE,QAAQ;AACvB,IAAI,GAAG;AACP,IAAI,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,EAAE,GAAG,KAAK;AACtC,IAAI,gBAAgB,EAAE,cAAc;AACpC,IAAI,OAAO,EAAE,KAAK,CAAC,UAAU,KAAK,SAAS;AAC3C,GAAG,CAAC,EAAEC,qDAA0B,CAAC;AACjC,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,iBAAiB;AACrB,YAAIJ,QAAM;AACV,IAAI,WAAW,EAAE,KAAK;AACtB,IAAI,IAAI,EAAE,UAAU,CAAC,IAAI;AACzB,IAAI,KAAK,EAAE,YAAY,CAAC,KAAK;AAC7B,IAAI,QAAQ,EAAE,KAAK;AACnB,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AACjB,CAAC,EAAE;AACH,YAAY,CAAC,WAAW,GAAG,4BAA4B;;;;"}
|
|
1
|
+
{"version":3,"file":"NativeSelect.js","sources":["../../src/NativeSelect/NativeSelect.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineSize, useMantineTheme } from '@mantine/styles';\nimport {\n InputWrapperBaseProps,\n InputWrapperStylesNames,\n Input,\n InputSharedProps,\n InputStylesNames,\n useInputProps,\n} from '../Input';\nimport { getSelectRightSectionProps } from '../Select/SelectRightSection/get-select-right-section-props';\nimport { SelectItem } from '../Select/types';\n\nexport type NativeSelectStylesNames = InputStylesNames | InputWrapperStylesNames;\n\nexport interface NativeSelectProps\n extends DefaultProps<NativeSelectStylesNames>,\n InputWrapperBaseProps,\n InputSharedProps,\n Omit<React.ComponentPropsWithoutRef<'select'>, 'size'> {\n /** id is used to bind input and label, if not passed unique id will be generated for each input */\n id?: string;\n\n /** Adds hidden option to select and sets it as selected if value is not present */\n placeholder?: string;\n\n /** Data used to render options */\n data: (string | SelectItem)[];\n\n /** Props passed to root element (InputWrapper component) */\n wrapperProps?: Record<string, any>;\n\n /** Input size */\n size?: MantineSize;\n}\n\nconst defaultProps: Partial<NativeSelectProps> = {\n size: 'sm',\n};\n\nexport const NativeSelect = forwardRef<HTMLSelectElement, NativeSelectProps>((props, ref) => {\n const {\n inputProps,\n wrapperProps,\n data,\n placeholder,\n onChange,\n value,\n classNames,\n styles,\n rightSection,\n rightSectionWidth,\n ...others\n } = useInputProps('NativeSelect', defaultProps, props);\n const theme = useMantineTheme();\n\n const formattedData = data.map((item) =>\n typeof item === 'string' ? { label: item, value: item } : item\n );\n\n const options = formattedData.map((item) => (\n <option key={item.value} value={item.value} disabled={item.disabled}>\n {item.label}\n </option>\n ));\n\n if (placeholder) {\n options.unshift(\n <option key=\"placeholder\" value=\"\" selected disabled hidden>\n {placeholder}\n </option>\n );\n }\n\n return (\n <Input.Wrapper {...wrapperProps} __staticSelector=\"NativeSelect\">\n <Input<'select'>\n {...inputProps}\n {...others}\n onChange={onChange}\n component=\"select\"\n ref={ref}\n value={value === null ? '' : value}\n __staticSelector=\"NativeSelect\"\n pointer={theme.cursorType === 'pointer'}\n {...getSelectRightSectionProps({\n theme,\n rightSection,\n rightSectionWidth,\n styles,\n shouldClear: false,\n size: inputProps.size,\n error: wrapperProps.error,\n readOnly: false,\n })}\n >\n {options}\n </Input>\n </Input.Wrapper>\n );\n});\n\nNativeSelect.displayName = '@mantine/core/NativeSelect';\n"],"names":["forwardRef","useInputProps","styles","useMantineTheme","React","Input","getSelectRightSectionProps"],"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());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-popover.js","sources":["../../src/Popover/use-popover.ts"],"sourcesContent":["import { useDidUpdate, useUncontrolled } from '@mantine/hooks';\nimport {\n useFloating,\n shift,\n flip,\n arrow,\n offset,\n size,\n Middleware,\n inline,\n} from '@floating-ui/react-dom-interactions';\nimport { FloatingPosition, useFloatingAutoUpdate } from '../Floating';\nimport { PopoverWidth, PopoverMiddlewares } from './Popover.types';\n\ninterface UsePopoverOptions {\n offset: number;\n position: FloatingPosition;\n positionDependencies: any[];\n onPositionChange?(position: FloatingPosition): void;\n opened: boolean;\n defaultOpened: boolean;\n onChange(opened: boolean): void;\n onClose?(): void;\n onOpen?(): void;\n width: PopoverWidth;\n middlewares: PopoverMiddlewares;\n arrowRef: React.RefObject<HTMLDivElement>;\n}\n\nfunction getPopoverMiddlewares(options: UsePopoverOptions) {\n const middlewares: Middleware[] = [offset(options.offset)];\n\n if (options.middlewares.shift) {\n middlewares.push(shift());\n }\n\n if (options.middlewares.flip) {\n middlewares.push(flip());\n }\n\n if (options.middlewares.inline) {\n middlewares.push(inline());\n }\n\n middlewares.push(arrow({ element: options.arrowRef }));\n\n return middlewares;\n}\n\nexport function usePopover(options: UsePopoverOptions) {\n const [_opened, setOpened] = useUncontrolled({\n value: options.opened,\n defaultValue: options.defaultOpened,\n finalValue: false,\n onChange: options.onChange,\n });\n\n const onClose = () => {\n options.onClose?.();\n setOpened(false);\n };\n\n const onToggle = () => {\n if (_opened) {\n options.onClose?.();\n setOpened(false);\n } else {\n options.onOpen?.();\n setOpened(true);\n }\n };\n\n const floating = useFloating({\n placement: options.position,\n middleware: [\n ...getPopoverMiddlewares(options),\n ...(options.width === 'target'\n ? [\n size({\n apply({ rects }) {\n Object.assign(floating.refs.floating.current?.style ?? {}, {\n width: `${rects.reference.width}px`,\n });\n },\n }),\n ]\n : []),\n ],\n });\n\n useFloatingAutoUpdate({\n opened: options.opened,\n positionDependencies: options.positionDependencies,\n floating,\n });\n\n useDidUpdate(() => {\n options.onPositionChange?.(floating.placement);\n }, [floating.placement]);\n\n return {\n floating,\n controlled: typeof options.opened === 'boolean',\n opened: _opened,\n onClose,\n onToggle,\n };\n}\n"],"names":["offset","shift","flip","inline","arrow","useUncontrolled","useFloating","size","useFloatingAutoUpdate","useDidUpdate"],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"use-popover.js","sources":["../../src/Popover/use-popover.ts"],"sourcesContent":["import { useDidUpdate, useUncontrolled } from '@mantine/hooks';\nimport {\n useFloating,\n shift,\n flip,\n arrow,\n offset,\n size,\n Middleware,\n inline,\n limitShift,\n} from '@floating-ui/react-dom-interactions';\nimport { FloatingPosition, useFloatingAutoUpdate } from '../Floating';\nimport { PopoverWidth, PopoverMiddlewares } from './Popover.types';\n\ninterface UsePopoverOptions {\n offset: number;\n position: FloatingPosition;\n positionDependencies: any[];\n onPositionChange?(position: FloatingPosition): void;\n opened: boolean;\n defaultOpened: boolean;\n onChange(opened: boolean): void;\n onClose?(): void;\n onOpen?(): void;\n width: PopoverWidth;\n middlewares: PopoverMiddlewares;\n arrowRef: React.RefObject<HTMLDivElement>;\n}\n\nfunction getPopoverMiddlewares(options: UsePopoverOptions) {\n const middlewares: Middleware[] = [offset(options.offset)];\n\n if (options.middlewares.shift) {\n middlewares.push(shift({ limiter: limitShift() }));\n }\n\n if (options.middlewares.flip) {\n middlewares.push(flip());\n }\n\n if (options.middlewares.inline) {\n middlewares.push(inline());\n }\n\n middlewares.push(arrow({ element: options.arrowRef }));\n\n return middlewares;\n}\n\nexport function usePopover(options: UsePopoverOptions) {\n const [_opened, setOpened] = useUncontrolled({\n value: options.opened,\n defaultValue: options.defaultOpened,\n finalValue: false,\n onChange: options.onChange,\n });\n\n const onClose = () => {\n options.onClose?.();\n setOpened(false);\n };\n\n const onToggle = () => {\n if (_opened) {\n options.onClose?.();\n setOpened(false);\n } else {\n options.onOpen?.();\n setOpened(true);\n }\n };\n\n const floating = useFloating({\n placement: options.position,\n middleware: [\n ...getPopoverMiddlewares(options),\n ...(options.width === 'target'\n ? [\n size({\n apply({ rects }) {\n Object.assign(floating.refs.floating.current?.style ?? {}, {\n width: `${rects.reference.width}px`,\n });\n },\n }),\n ]\n : []),\n ],\n });\n\n useFloatingAutoUpdate({\n opened: options.opened,\n positionDependencies: options.positionDependencies,\n floating,\n });\n\n useDidUpdate(() => {\n options.onPositionChange?.(floating.placement);\n }, [floating.placement]);\n\n return {\n floating,\n controlled: typeof options.opened === 'boolean',\n opened: _opened,\n onClose,\n onToggle,\n };\n}\n"],"names":["offset","shift","limitShift","flip","inline","arrow","useUncontrolled","useFloating","size","useFloatingAutoUpdate","useDidUpdate"],"mappings":"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"}
|
package/cjs/Progress/Progress.js
CHANGED
|
@@ -89,24 +89,39 @@ const Progress = React.forwardRef((props, ref) => {
|
|
|
89
89
|
"unstyled"
|
|
90
90
|
]);
|
|
91
91
|
const { classes, cx, theme } = Progress_styles['default']({ color, size, radius, striped: striped || animate, animate }, { classNames, styles: styles$1, unstyled, name: "Progress" });
|
|
92
|
-
const segments = Array.isArray(sections) ? getCumulativeSections(sections).map((
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
92
|
+
const segments = Array.isArray(sections) ? getCumulativeSections(sections).map((_b, index) => {
|
|
93
|
+
var _c = _b, {
|
|
94
|
+
tooltip,
|
|
95
|
+
accumulated,
|
|
96
|
+
value: sectionValue,
|
|
97
|
+
label: sectionLabel,
|
|
98
|
+
color: sectionColor
|
|
99
|
+
} = _c, sectionProps = __objRest(_c, [
|
|
100
|
+
"tooltip",
|
|
101
|
+
"accumulated",
|
|
102
|
+
"value",
|
|
103
|
+
"label",
|
|
104
|
+
"color"
|
|
105
|
+
]);
|
|
106
|
+
return /* @__PURE__ */ React__default.createElement(Tooltip.Tooltip.Floating, {
|
|
107
|
+
label: tooltip,
|
|
108
|
+
disabled: !tooltip,
|
|
109
|
+
key: index
|
|
110
|
+
}, /* @__PURE__ */ React__default.createElement(Box.Box, __spreadProps(__spreadValues({}, sectionProps), {
|
|
111
|
+
className: cx(classes.bar, sectionProps.className),
|
|
112
|
+
sx: {
|
|
113
|
+
width: `${sectionValue}%`,
|
|
114
|
+
left: `${accumulated}%`,
|
|
115
|
+
backgroundColor: theme.fn.variant({
|
|
116
|
+
variant: "filled",
|
|
117
|
+
primaryFallback: false,
|
|
118
|
+
color: sectionColor || theme.primaryColor
|
|
119
|
+
}).background
|
|
120
|
+
}
|
|
121
|
+
}), sectionLabel && /* @__PURE__ */ React__default.createElement(Text.Text, {
|
|
122
|
+
className: classes.label
|
|
123
|
+
}, sectionLabel)));
|
|
124
|
+
}) : null;
|
|
110
125
|
return /* @__PURE__ */ React__default.createElement(Box.Box, __spreadValues({
|
|
111
126
|
className: cx(classes.root, className),
|
|
112
127
|
ref
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Progress.js","sources":["../../src/Progress/Progress.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineColor,\n Selectors,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Text } from '../Text';\nimport { Tooltip } from '../Tooltip';\nimport useStyles, { ProgressStylesParams } from './Progress.styles';\n\nexport type ProgressStylesNames = Selectors<typeof useStyles>;\n\ninterface ProgressSection {\n value: number;\n color: MantineColor;\n label?: string;\n tooltip?: React.ReactNode;\n}\n\nexport interface ProgressProps\n extends DefaultProps<ProgressStylesNames, ProgressStylesParams>,\n React.ComponentPropsWithoutRef<'div'> {\n /** Percent of filled bar (0-100) */\n value?: number;\n\n /** Progress color from theme */\n color?: MantineColor;\n\n /** Predefined progress height or number for height in px */\n size?: MantineNumberSize;\n\n /** Predefined progress radius from theme.radius or number for height in px */\n radius?: MantineNumberSize;\n\n /** Adds stripes */\n striped?: boolean;\n\n /** Whether to animate striped progress bars */\n animate?: boolean;\n\n /** Text to be placed inside the progress bar */\n label?: string;\n\n /** Replaces value if present, renders multiple sections instead of single one */\n sections?: ProgressSection[];\n}\n\nfunction getCumulativeSections(\n sections: ProgressSection[]\n): (ProgressSection & { accumulated: number })[] {\n return sections.reduce(\n (acc, section) => {\n acc.sections.push({ ...section, accumulated: acc.accumulated });\n acc.accumulated += section.value;\n return acc;\n },\n { accumulated: 0, sections: [] }\n ).sections;\n}\n\nconst defaultProps: Partial<ProgressProps> = {\n size: 'md',\n radius: 'sm',\n striped: false,\n animate: false,\n label: '',\n};\n\nexport const Progress = forwardRef<HTMLDivElement, ProgressProps>((props, ref) => {\n const {\n className,\n value,\n color,\n size,\n radius,\n striped,\n animate,\n label,\n 'aria-label': ariaLabel,\n classNames,\n styles,\n sections,\n unstyled,\n ...others\n } = useComponentDefaultProps('Progress', defaultProps, props);\n\n const { classes, cx, theme } = useStyles(\n { color, size, radius, striped: striped || animate, animate },\n { classNames, styles, unstyled, name: 'Progress' }\n );\n\n const segments = Array.isArray(sections)\n ? getCumulativeSections(sections).map((
|
|
1
|
+
{"version":3,"file":"Progress.js","sources":["../../src/Progress/Progress.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineColor,\n Selectors,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Text } from '../Text';\nimport { Tooltip } from '../Tooltip';\nimport useStyles, { ProgressStylesParams } from './Progress.styles';\n\nexport type ProgressStylesNames = Selectors<typeof useStyles>;\n\ninterface ProgressSection extends React.ComponentPropsWithRef<'div'> {\n value: number;\n color: MantineColor;\n label?: string;\n tooltip?: React.ReactNode;\n}\n\nexport interface ProgressProps\n extends DefaultProps<ProgressStylesNames, ProgressStylesParams>,\n React.ComponentPropsWithoutRef<'div'> {\n /** Percent of filled bar (0-100) */\n value?: number;\n\n /** Progress color from theme */\n color?: MantineColor;\n\n /** Predefined progress height or number for height in px */\n size?: MantineNumberSize;\n\n /** Predefined progress radius from theme.radius or number for height in px */\n radius?: MantineNumberSize;\n\n /** Adds stripes */\n striped?: boolean;\n\n /** Whether to animate striped progress bars */\n animate?: boolean;\n\n /** Text to be placed inside the progress bar */\n label?: string;\n\n /** Replaces value if present, renders multiple sections instead of single one */\n sections?: ProgressSection[];\n}\n\nfunction getCumulativeSections(\n sections: ProgressSection[]\n): (ProgressSection & { accumulated: number })[] {\n return sections.reduce(\n (acc, section) => {\n acc.sections.push({ ...section, accumulated: acc.accumulated });\n acc.accumulated += section.value;\n return acc;\n },\n { accumulated: 0, sections: [] }\n ).sections;\n}\n\nconst defaultProps: Partial<ProgressProps> = {\n size: 'md',\n radius: 'sm',\n striped: false,\n animate: false,\n label: '',\n};\n\nexport const Progress = forwardRef<HTMLDivElement, ProgressProps>((props, ref) => {\n const {\n className,\n value,\n color,\n size,\n radius,\n striped,\n animate,\n label,\n 'aria-label': ariaLabel,\n classNames,\n styles,\n sections,\n unstyled,\n ...others\n } = useComponentDefaultProps('Progress', defaultProps, props);\n\n const { classes, cx, theme } = useStyles(\n { color, size, radius, striped: striped || animate, animate },\n { classNames, styles, unstyled, name: 'Progress' }\n );\n\n const segments = Array.isArray(sections)\n ? getCumulativeSections(sections).map(\n (\n {\n tooltip,\n accumulated,\n value: sectionValue,\n label: sectionLabel,\n color: sectionColor,\n ...sectionProps\n },\n index\n ) => (\n <Tooltip.Floating label={tooltip} disabled={!tooltip} key={index}>\n <Box\n {...sectionProps}\n className={cx(classes.bar, sectionProps.className)}\n sx={{\n width: `${sectionValue}%`,\n left: `${accumulated}%`,\n backgroundColor: theme.fn.variant({\n variant: 'filled',\n primaryFallback: false,\n color: sectionColor || theme.primaryColor,\n }).background,\n }}\n >\n {sectionLabel && <Text className={classes.label}>{sectionLabel}</Text>}\n </Box>\n </Tooltip.Floating>\n )\n )\n : null;\n\n return (\n <Box className={cx(classes.root, className)} ref={ref} {...others}>\n {segments || (\n <div\n role=\"progressbar\"\n aria-valuemax={100}\n aria-valuemin={0}\n aria-valuenow={value}\n aria-label={ariaLabel}\n className={classes.bar}\n style={{ width: `${value}%` }}\n >\n {label ? <Text className={classes.label}>{label}</Text> : ''}\n </div>\n )}\n </Box>\n );\n});\n\nProgress.displayName = '@mantine/core/Progress';\n"],"names":["forwardRef","useComponentDefaultProps","styles","useStyles","React","Tooltip","Box","Text"],"mappings":"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"}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var styles = require('@mantine/styles');
|
|
7
|
+
var hooks = require('@mantine/hooks');
|
|
8
|
+
var RatingItem = require('./RatingItem/RatingItem.js');
|
|
9
|
+
var Rating_styles = require('./Rating.styles.js');
|
|
10
|
+
var Box = require('../Box/Box.js');
|
|
11
|
+
|
|
12
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
|
|
13
|
+
|
|
14
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
15
|
+
|
|
16
|
+
var __defProp = Object.defineProperty;
|
|
17
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
18
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
19
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
20
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
21
|
+
var __spreadValues = (a, b) => {
|
|
22
|
+
for (var prop in b || (b = {}))
|
|
23
|
+
if (__hasOwnProp.call(b, prop))
|
|
24
|
+
__defNormalProp(a, prop, b[prop]);
|
|
25
|
+
if (__getOwnPropSymbols)
|
|
26
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
27
|
+
if (__propIsEnum.call(b, prop))
|
|
28
|
+
__defNormalProp(a, prop, b[prop]);
|
|
29
|
+
}
|
|
30
|
+
return a;
|
|
31
|
+
};
|
|
32
|
+
var __objRest = (source, exclude) => {
|
|
33
|
+
var target = {};
|
|
34
|
+
for (var prop in source)
|
|
35
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
36
|
+
target[prop] = source[prop];
|
|
37
|
+
if (source != null && __getOwnPropSymbols)
|
|
38
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
39
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
40
|
+
target[prop] = source[prop];
|
|
41
|
+
}
|
|
42
|
+
return target;
|
|
43
|
+
};
|
|
44
|
+
function roundValueTo(value, to) {
|
|
45
|
+
var _a;
|
|
46
|
+
const rounded = Math.round(value / to) * to;
|
|
47
|
+
const precision = ((_a = `${to}`.split(".")[1]) == null ? void 0 : _a.length) || 0;
|
|
48
|
+
return Number(rounded.toFixed(precision));
|
|
49
|
+
}
|
|
50
|
+
const defaultProps = {
|
|
51
|
+
size: "sm",
|
|
52
|
+
getSymbolLabel: (value) => `${value}`,
|
|
53
|
+
count: 5,
|
|
54
|
+
fractions: 1,
|
|
55
|
+
color: "yellow"
|
|
56
|
+
};
|
|
57
|
+
const Rating = React.forwardRef((props, ref) => {
|
|
58
|
+
const _a = styles.useComponentDefaultProps("Rating", defaultProps, props), {
|
|
59
|
+
defaultValue,
|
|
60
|
+
value,
|
|
61
|
+
emptySymbol,
|
|
62
|
+
fullSymbol,
|
|
63
|
+
size,
|
|
64
|
+
count,
|
|
65
|
+
fractions,
|
|
66
|
+
onChange,
|
|
67
|
+
onHover,
|
|
68
|
+
getSymbolLabel,
|
|
69
|
+
name,
|
|
70
|
+
readOnly,
|
|
71
|
+
className,
|
|
72
|
+
classNames,
|
|
73
|
+
styles: styles$1,
|
|
74
|
+
unstyled,
|
|
75
|
+
onMouseEnter,
|
|
76
|
+
onMouseMove,
|
|
77
|
+
onMouseLeave,
|
|
78
|
+
highlightSelectedOnly,
|
|
79
|
+
color
|
|
80
|
+
} = _a, others = __objRest(_a, [
|
|
81
|
+
"defaultValue",
|
|
82
|
+
"value",
|
|
83
|
+
"emptySymbol",
|
|
84
|
+
"fullSymbol",
|
|
85
|
+
"size",
|
|
86
|
+
"count",
|
|
87
|
+
"fractions",
|
|
88
|
+
"onChange",
|
|
89
|
+
"onHover",
|
|
90
|
+
"getSymbolLabel",
|
|
91
|
+
"name",
|
|
92
|
+
"readOnly",
|
|
93
|
+
"className",
|
|
94
|
+
"classNames",
|
|
95
|
+
"styles",
|
|
96
|
+
"unstyled",
|
|
97
|
+
"onMouseEnter",
|
|
98
|
+
"onMouseMove",
|
|
99
|
+
"onMouseLeave",
|
|
100
|
+
"highlightSelectedOnly",
|
|
101
|
+
"color"
|
|
102
|
+
]);
|
|
103
|
+
const { classes, cx, theme } = Rating_styles['default'](null, { name: "Rating", classNames, styles: styles$1, unstyled });
|
|
104
|
+
const _name = hooks.useId(name);
|
|
105
|
+
const rootRef = React.useRef(null);
|
|
106
|
+
const [_value, setValue] = hooks.useUncontrolled({
|
|
107
|
+
value,
|
|
108
|
+
defaultValue,
|
|
109
|
+
finalValue: 0,
|
|
110
|
+
onChange
|
|
111
|
+
});
|
|
112
|
+
const [hovered, setHovered] = React.useState(-1);
|
|
113
|
+
const [isOutside, setOutside] = React.useState(true);
|
|
114
|
+
const decimalUnit = 1 / fractions;
|
|
115
|
+
const stableValueRounded = roundValueTo(_value, decimalUnit);
|
|
116
|
+
const finalValue = hovered !== -1 ? hovered : stableValueRounded;
|
|
117
|
+
const handleMouseEnter = (event) => {
|
|
118
|
+
onMouseEnter == null ? void 0 : onMouseEnter(event);
|
|
119
|
+
!readOnly && setOutside(false);
|
|
120
|
+
};
|
|
121
|
+
const handleMouseMove = (event) => {
|
|
122
|
+
onMouseMove == null ? void 0 : onMouseMove(event);
|
|
123
|
+
if (readOnly) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
const { left, right, width } = rootRef.current.getBoundingClientRect();
|
|
127
|
+
const symbolWidth = width / count;
|
|
128
|
+
const hoverPosition = theme.dir === "rtl" ? right - event.clientX : event.clientX - left;
|
|
129
|
+
const hoverValue = hoverPosition / symbolWidth;
|
|
130
|
+
const rounded = hooks.clamp(roundValueTo(hoverValue + decimalUnit / 2, decimalUnit), decimalUnit, count);
|
|
131
|
+
setHovered(rounded);
|
|
132
|
+
rounded !== hovered && (onHover == null ? void 0 : onHover(rounded));
|
|
133
|
+
};
|
|
134
|
+
const handleMouseLeave = (event) => {
|
|
135
|
+
onMouseLeave == null ? void 0 : onMouseLeave(event);
|
|
136
|
+
if (readOnly) {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
setHovered(-1);
|
|
140
|
+
setOutside(true);
|
|
141
|
+
hovered !== -1 && (onHover == null ? void 0 : onHover(-1));
|
|
142
|
+
};
|
|
143
|
+
const handleItemBlur = () => isOutside && setHovered(-1);
|
|
144
|
+
const handleChange = (event) => {
|
|
145
|
+
const resultedValue = parseFloat(event.target.value);
|
|
146
|
+
setValue(resultedValue);
|
|
147
|
+
};
|
|
148
|
+
const items = Array(count).fill(0).map((_, integerIndex) => {
|
|
149
|
+
const integerValue = integerIndex + 1;
|
|
150
|
+
const fractionItems = Array.from(new Array(integerIndex === 0 ? fractions + 1 : fractions));
|
|
151
|
+
const isGroupActive = !readOnly && Math.ceil(hovered) === integerValue;
|
|
152
|
+
return /* @__PURE__ */ React__default.createElement("div", {
|
|
153
|
+
key: integerValue,
|
|
154
|
+
"data-active": isGroupActive,
|
|
155
|
+
className: classes.symbolGroup
|
|
156
|
+
}, fractionItems.map((__, fractionIndex) => {
|
|
157
|
+
const fractionValue = decimalUnit * (integerIndex === 0 ? fractionIndex : fractionIndex + 1);
|
|
158
|
+
const symbolValue = roundValueTo(integerValue - 1 + fractionValue, decimalUnit);
|
|
159
|
+
return /* @__PURE__ */ React__default.createElement(RatingItem.RatingItem, {
|
|
160
|
+
key: `${integerValue}-${symbolValue}`,
|
|
161
|
+
size,
|
|
162
|
+
getSymbolLabel,
|
|
163
|
+
emptyIcon: emptySymbol,
|
|
164
|
+
fullIcon: fullSymbol,
|
|
165
|
+
full: highlightSelectedOnly ? symbolValue === finalValue : symbolValue <= finalValue,
|
|
166
|
+
active: symbolValue === finalValue,
|
|
167
|
+
checked: symbolValue === stableValueRounded,
|
|
168
|
+
readOnly,
|
|
169
|
+
fractionValue,
|
|
170
|
+
value: symbolValue,
|
|
171
|
+
name: _name,
|
|
172
|
+
onChange: handleChange,
|
|
173
|
+
onBlur: handleItemBlur,
|
|
174
|
+
classNames,
|
|
175
|
+
styles: styles$1,
|
|
176
|
+
unstyled,
|
|
177
|
+
color
|
|
178
|
+
});
|
|
179
|
+
}));
|
|
180
|
+
});
|
|
181
|
+
return /* @__PURE__ */ React__default.createElement(Box.Box, __spreadValues({
|
|
182
|
+
ref: hooks.useMergedRef(rootRef, ref),
|
|
183
|
+
className: cx(classes.root, className),
|
|
184
|
+
onMouseMove: handleMouseMove,
|
|
185
|
+
onMouseEnter: handleMouseEnter,
|
|
186
|
+
onMouseLeave: handleMouseLeave
|
|
187
|
+
}, others), items);
|
|
188
|
+
});
|
|
189
|
+
Rating.displayName = "@mantine/core/Rating";
|
|
190
|
+
|
|
191
|
+
exports.Rating = Rating;
|
|
192
|
+
//# sourceMappingURL=Rating.js.map
|