@mantine/core 5.5.6 → 5.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +1 -1
- 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/NativeSelect/NativeSelect.js +2 -1
- package/cjs/NativeSelect/NativeSelect.js.map +1 -1
- package/cjs/Popover/Popover.js +12 -9
- package/cjs/Popover/Popover.js.map +1 -1
- package/cjs/Popover/PopoverDropdown/PopoverDropdown.js +2 -2
- package/cjs/Popover/PopoverDropdown/PopoverDropdown.js.map +1 -1
- package/cjs/Progress/Progress.js +33 -18
- package/cjs/Progress/Progress.js.map +1 -1
- package/cjs/Rating/Rating.js +198 -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 +106 -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/Slider/utils/get-change-value/get-change-value.js +5 -5
- package/cjs/Slider/utils/get-change-value/get-change-value.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 +3 -0
- package/cjs/Tooltip/Tooltip.js.map +1 -1
- package/cjs/TransferList/RenderList/RenderList.js +16 -6
- package/cjs/TransferList/RenderList/RenderList.js.map +1 -1
- package/cjs/TransferList/TransferList.js +32 -4
- package/cjs/TransferList/TransferList.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 +1 -1
- 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/NativeSelect/NativeSelect.js +2 -1
- package/esm/NativeSelect/NativeSelect.js.map +1 -1
- package/esm/Popover/Popover.js +13 -10
- package/esm/Popover/Popover.js.map +1 -1
- package/esm/Popover/PopoverDropdown/PopoverDropdown.js +2 -2
- package/esm/Popover/PopoverDropdown/PopoverDropdown.js.map +1 -1
- package/esm/Progress/Progress.js +33 -18
- package/esm/Progress/Progress.js.map +1 -1
- package/esm/Rating/Rating.js +190 -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 +98 -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/Slider/utils/get-change-value/get-change-value.js +5 -5
- package/esm/Slider/utils/get-change-value/get-change-value.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 +3 -0
- package/esm/Tooltip/Tooltip.js.map +1 -1
- package/esm/TransferList/RenderList/RenderList.js +16 -6
- package/esm/TransferList/RenderList/RenderList.js.map +1 -1
- package/esm/TransferList/TransferList.js +32 -4
- package/esm/TransferList/TransferList.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/NativeSelect/NativeSelect.d.ts.map +1 -1
- package/lib/Popover/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 +21 -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/Tooltip/Tooltip.d.ts.map +1 -1
- package/lib/TransferList/RenderList/RenderList.d.ts +10 -1
- package/lib/TransferList/RenderList/RenderList.d.ts.map +1 -1
- package/lib/TransferList/TransferList.d.ts +17 -3
- package/lib/TransferList/TransferList.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;;;;"}
|
|
@@ -44,7 +44,8 @@ var __objRest = (source, exclude) => {
|
|
|
44
44
|
return target;
|
|
45
45
|
};
|
|
46
46
|
const defaultProps = {
|
|
47
|
-
size: "sm"
|
|
47
|
+
size: "sm",
|
|
48
|
+
defaultValue: ""
|
|
48
49
|
};
|
|
49
50
|
const NativeSelect = React.forwardRef((props, ref) => {
|
|
50
51
|
const _a = useInputProps.useInputProps("NativeSelect", defaultProps, props), {
|
|
@@ -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":"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"}
|
|
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 defaultValue: '',\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":"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"}
|
package/cjs/Popover/Popover.js
CHANGED
|
@@ -47,7 +47,8 @@ const defaultProps = {
|
|
|
47
47
|
returnFocus: false,
|
|
48
48
|
clickOutsideEvents: ["mousedown", "touchstart"],
|
|
49
49
|
zIndex: styles.getDefaultZIndex("popover"),
|
|
50
|
-
__staticSelector: "Popover"
|
|
50
|
+
__staticSelector: "Popover",
|
|
51
|
+
width: "max-content"
|
|
51
52
|
};
|
|
52
53
|
function Popover(props) {
|
|
53
54
|
var _b, _c, _d, _e, _f, _g;
|
|
@@ -145,6 +146,14 @@ function Popover(props) {
|
|
|
145
146
|
targetNode,
|
|
146
147
|
dropdownNode
|
|
147
148
|
]);
|
|
149
|
+
const reference = React.useCallback((node) => {
|
|
150
|
+
setTargetNode(node);
|
|
151
|
+
popover.floating.reference(node);
|
|
152
|
+
}, [popover.floating.reference]);
|
|
153
|
+
const floating = React.useCallback((node) => {
|
|
154
|
+
setDropdownNode(node);
|
|
155
|
+
popover.floating.floating(node);
|
|
156
|
+
}, [popover.floating.floating]);
|
|
148
157
|
return /* @__PURE__ */ React__default.createElement(styles.StylesApiProvider, {
|
|
149
158
|
classNames,
|
|
150
159
|
styles: styles$1,
|
|
@@ -155,14 +164,8 @@ function Popover(props) {
|
|
|
155
164
|
returnFocus,
|
|
156
165
|
disabled,
|
|
157
166
|
controlled: popover.controlled,
|
|
158
|
-
reference
|
|
159
|
-
|
|
160
|
-
popover.floating.reference(node);
|
|
161
|
-
},
|
|
162
|
-
floating: (node) => {
|
|
163
|
-
setDropdownNode(node);
|
|
164
|
-
popover.floating.floating(node);
|
|
165
|
-
},
|
|
167
|
+
reference,
|
|
168
|
+
floating,
|
|
166
169
|
x: popover.floating.x,
|
|
167
170
|
y: popover.floating.y,
|
|
168
171
|
arrowX: (_d = (_c = (_b = popover.floating) == null ? void 0 : _b.middlewareData) == null ? void 0 : _c.arrow) == null ? void 0 : _d.x,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.js","sources":["../../src/Popover/Popover.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\n\nimport React, { useRef, useState } from 'react';\nimport { useId, useClickOutside } from '@mantine/hooks';\nimport {\n useMantineTheme,\n ClassNames,\n Styles,\n StylesApiProvider,\n MantineNumberSize,\n MantineShadow,\n getDefaultZIndex,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { MantineTransition } from '../Transition';\nimport { getFloatingPosition, FloatingPosition } from '../Floating';\nimport { usePopover } from './use-popover';\nimport { PopoverContextProvider } from './Popover.context';\nimport {\n PopoverWidth,\n PopoverMiddlewares,\n PopoverStylesNames,\n PopoverStylesParams,\n} from './Popover.types';\nimport { PopoverTarget } from './PopoverTarget/PopoverTarget';\nimport { PopoverDropdown } from './PopoverDropdown/PopoverDropdown';\n\nexport interface PopoverBaseProps {\n /** Dropdown position relative to target */\n position?: FloatingPosition;\n\n /** Space between target element and dropdown in px */\n offset?: number;\n\n /** Called when dropdown position changes */\n onPositionChange?(position: FloatingPosition): void;\n\n /** useEffect dependencies to force update dropdown position */\n positionDependencies?: any[];\n\n /** Called when dropdown closes */\n onClose?(): void;\n\n /** Called when dropdown opens */\n onOpen?(): void;\n\n /** One of premade transitions ot transition object */\n transition?: MantineTransition;\n\n /** Transition duration in ms */\n transitionDuration?: number;\n\n /** Exit transition duration in ms */\n exitTransitionDuration?: number;\n\n /** Dropdown width, or 'target' to make dropdown width the same as target element */\n width?: PopoverWidth;\n\n /** Floating ui middlewares to configure position handling */\n middlewares?: PopoverMiddlewares;\n\n /** Determines whether component should have an arrow */\n withArrow?: boolean;\n\n /** Arrow size in px */\n arrowSize?: number;\n\n /** Arrow offset in px */\n arrowOffset?: number;\n\n /** Determines whether dropdown should be rendered within Portal, defaults to false */\n withinPortal?: boolean;\n\n /** Dropdown z-index */\n zIndex?: React.CSSProperties['zIndex'];\n\n /** Radius from theme.radius or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Key of theme.shadow or any other valid css box-shadow value */\n shadow?: MantineShadow;\n\n /** If set, popover dropdown will not render */\n disabled?: boolean;\n\n /** Determines whether focus should be automatically returned to control when dropdown closes, false by default */\n returnFocus?: boolean;\n}\n\nexport interface PopoverProps extends PopoverBaseProps {\n /** Popover.Target and Popover.Dropdown components */\n children: React.ReactNode;\n\n /** Initial opened state for uncontrolled component */\n defaultOpened?: boolean;\n\n /** Controls dropdown opened state */\n opened?: boolean;\n\n /** Called with current state when dropdown opens or closes */\n onChange?(opened: boolean): void;\n\n /** Determines whether dropdown should be closed on outside clicks, default to true */\n closeOnClickOutside?: boolean;\n\n /** Events that trigger outside clicks */\n clickOutsideEvents?: string[];\n\n /** Determines whether focus should be trapped within dropdown, default to false */\n trapFocus?: boolean;\n\n /** Determines whether dropdown should be closed when Escape key is pressed, defaults to true */\n closeOnEscape?: boolean;\n\n /** id base to create accessibility connections */\n id?: string;\n\n /** Determines whether dropdown and target element should have accessible roles, defaults to true */\n withRoles?: boolean;\n\n unstyled?: boolean;\n classNames?: ClassNames<PopoverStylesNames>;\n styles?: Styles<PopoverStylesNames, PopoverStylesParams>;\n __staticSelector?: string;\n}\n\nconst defaultProps: Partial<PopoverProps> = {\n position: 'bottom',\n offset: 8,\n positionDependencies: [],\n transition: 'fade',\n transitionDuration: 150,\n middlewares: { flip: true, shift: true, inline: false },\n arrowSize: 7,\n arrowOffset: 5,\n closeOnClickOutside: true,\n withinPortal: false,\n closeOnEscape: true,\n trapFocus: false,\n withRoles: true,\n returnFocus: false,\n clickOutsideEvents: ['mousedown', 'touchstart'],\n zIndex: getDefaultZIndex('popover'),\n __staticSelector: 'Popover',\n};\n\nexport function Popover(props: PopoverProps) {\n const arrowRef = useRef<HTMLDivElement | null>(null);\n const {\n children,\n position,\n offset,\n onPositionChange,\n positionDependencies,\n opened,\n transition,\n transitionDuration,\n width,\n middlewares,\n withArrow,\n arrowSize,\n arrowOffset,\n unstyled,\n classNames,\n styles,\n closeOnClickOutside,\n withinPortal,\n closeOnEscape,\n clickOutsideEvents,\n trapFocus,\n onClose,\n onOpen,\n onChange,\n zIndex,\n radius,\n shadow,\n id,\n defaultOpened,\n exitTransitionDuration,\n __staticSelector,\n withRoles,\n disabled,\n returnFocus,\n ...others\n } = useComponentDefaultProps('Popover', defaultProps, props);\n\n const [targetNode, setTargetNode] = useState<HTMLElement>(null);\n const [dropdownNode, setDropdownNode] = useState<HTMLElement>(null);\n\n const uid = useId(id);\n const theme = useMantineTheme();\n const popover = usePopover({\n middlewares,\n width,\n position: getFloatingPosition(theme.dir, position),\n offset: offset + (withArrow ? arrowSize / 2 : 0),\n arrowRef,\n onPositionChange,\n positionDependencies,\n opened,\n defaultOpened,\n onChange,\n onOpen,\n onClose,\n });\n\n useClickOutside(() => closeOnClickOutside && popover.onClose(), clickOutsideEvents, [\n targetNode,\n dropdownNode,\n ]);\n\n return (\n <StylesApiProvider\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n staticSelector={__staticSelector}\n >\n <PopoverContextProvider\n value={{\n returnFocus,\n disabled,\n controlled: popover.controlled,\n reference: (node) => {\n setTargetNode(node as HTMLElement);\n popover.floating.reference(node);\n },\n floating: (node) => {\n setDropdownNode(node);\n popover.floating.floating(node);\n },\n x: popover.floating.x,\n y: popover.floating.y,\n arrowX: popover.floating?.middlewareData?.arrow?.x,\n arrowY: popover.floating?.middlewareData?.arrow?.y,\n opened: popover.opened,\n arrowRef,\n transition,\n transitionDuration,\n exitTransitionDuration,\n width,\n withArrow,\n arrowSize,\n arrowOffset,\n placement: popover.floating.placement,\n trapFocus,\n withinPortal,\n zIndex,\n radius,\n shadow,\n closeOnEscape,\n onClose: popover.onClose,\n onToggle: popover.onToggle,\n getTargetId: () => `${uid}-target`,\n getDropdownId: () => `${uid}-dropdown`,\n withRoles,\n targetProps: others,\n }}\n >\n {children}\n </PopoverContextProvider>\n </StylesApiProvider>\n );\n}\n\nPopover.Target = PopoverTarget;\nPopover.Dropdown = PopoverDropdown;\nPopover.displayName = '@mantine/core/Popover';\n"],"names":["getDefaultZIndex","useRef","useComponentDefaultProps","styles","useState","useId","useMantineTheme","usePopover","getFloatingPosition","useClickOutside","React","StylesApiProvider","PopoverContextProvider","PopoverTarget","PopoverDropdown"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Popover.js","sources":["../../src/Popover/Popover.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\n\nimport React, { useRef, useState, useCallback } from 'react';\nimport { useId, useClickOutside } from '@mantine/hooks';\nimport {\n useMantineTheme,\n ClassNames,\n Styles,\n StylesApiProvider,\n MantineNumberSize,\n MantineShadow,\n getDefaultZIndex,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { MantineTransition } from '../Transition';\nimport { getFloatingPosition, FloatingPosition } from '../Floating';\nimport { usePopover } from './use-popover';\nimport { PopoverContextProvider } from './Popover.context';\nimport {\n PopoverWidth,\n PopoverMiddlewares,\n PopoverStylesNames,\n PopoverStylesParams,\n} from './Popover.types';\nimport { PopoverTarget } from './PopoverTarget/PopoverTarget';\nimport { PopoverDropdown } from './PopoverDropdown/PopoverDropdown';\n\nexport interface PopoverBaseProps {\n /** Dropdown position relative to target */\n position?: FloatingPosition;\n\n /** Space between target element and dropdown in px */\n offset?: number;\n\n /** Called when dropdown position changes */\n onPositionChange?(position: FloatingPosition): void;\n\n /** useEffect dependencies to force update dropdown position */\n positionDependencies?: any[];\n\n /** Called when dropdown closes */\n onClose?(): void;\n\n /** Called when dropdown opens */\n onOpen?(): void;\n\n /** One of premade transitions ot transition object */\n transition?: MantineTransition;\n\n /** Transition duration in ms */\n transitionDuration?: number;\n\n /** Exit transition duration in ms */\n exitTransitionDuration?: number;\n\n /** Dropdown width, or 'target' to make dropdown width the same as target element */\n width?: PopoverWidth;\n\n /** Floating ui middlewares to configure position handling */\n middlewares?: PopoverMiddlewares;\n\n /** Determines whether component should have an arrow */\n withArrow?: boolean;\n\n /** Arrow size in px */\n arrowSize?: number;\n\n /** Arrow offset in px */\n arrowOffset?: number;\n\n /** Determines whether dropdown should be rendered within Portal, defaults to false */\n withinPortal?: boolean;\n\n /** Dropdown z-index */\n zIndex?: React.CSSProperties['zIndex'];\n\n /** Radius from theme.radius or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Key of theme.shadow or any other valid css box-shadow value */\n shadow?: MantineShadow;\n\n /** If set, popover dropdown will not render */\n disabled?: boolean;\n\n /** Determines whether focus should be automatically returned to control when dropdown closes, false by default */\n returnFocus?: boolean;\n}\n\nexport interface PopoverProps extends PopoverBaseProps {\n /** Popover.Target and Popover.Dropdown components */\n children: React.ReactNode;\n\n /** Initial opened state for uncontrolled component */\n defaultOpened?: boolean;\n\n /** Controls dropdown opened state */\n opened?: boolean;\n\n /** Called with current state when dropdown opens or closes */\n onChange?(opened: boolean): void;\n\n /** Determines whether dropdown should be closed on outside clicks, default to true */\n closeOnClickOutside?: boolean;\n\n /** Events that trigger outside clicks */\n clickOutsideEvents?: string[];\n\n /** Determines whether focus should be trapped within dropdown, default to false */\n trapFocus?: boolean;\n\n /** Determines whether dropdown should be closed when Escape key is pressed, defaults to true */\n closeOnEscape?: boolean;\n\n /** id base to create accessibility connections */\n id?: string;\n\n /** Determines whether dropdown and target element should have accessible roles, defaults to true */\n withRoles?: boolean;\n\n unstyled?: boolean;\n classNames?: ClassNames<PopoverStylesNames>;\n styles?: Styles<PopoverStylesNames, PopoverStylesParams>;\n __staticSelector?: string;\n}\n\nconst defaultProps: Partial<PopoverProps> = {\n position: 'bottom',\n offset: 8,\n positionDependencies: [],\n transition: 'fade',\n transitionDuration: 150,\n middlewares: { flip: true, shift: true, inline: false },\n arrowSize: 7,\n arrowOffset: 5,\n closeOnClickOutside: true,\n withinPortal: false,\n closeOnEscape: true,\n trapFocus: false,\n withRoles: true,\n returnFocus: false,\n clickOutsideEvents: ['mousedown', 'touchstart'],\n zIndex: getDefaultZIndex('popover'),\n __staticSelector: 'Popover',\n width: 'max-content',\n};\n\nexport function Popover(props: PopoverProps) {\n const arrowRef = useRef<HTMLDivElement | null>(null);\n const {\n children,\n position,\n offset,\n onPositionChange,\n positionDependencies,\n opened,\n transition,\n transitionDuration,\n width,\n middlewares,\n withArrow,\n arrowSize,\n arrowOffset,\n unstyled,\n classNames,\n styles,\n closeOnClickOutside,\n withinPortal,\n closeOnEscape,\n clickOutsideEvents,\n trapFocus,\n onClose,\n onOpen,\n onChange,\n zIndex,\n radius,\n shadow,\n id,\n defaultOpened,\n exitTransitionDuration,\n __staticSelector,\n withRoles,\n disabled,\n returnFocus,\n ...others\n } = useComponentDefaultProps('Popover', defaultProps, props);\n\n const [targetNode, setTargetNode] = useState<HTMLElement>(null);\n const [dropdownNode, setDropdownNode] = useState<HTMLElement>(null);\n\n const uid = useId(id);\n const theme = useMantineTheme();\n const popover = usePopover({\n middlewares,\n width,\n position: getFloatingPosition(theme.dir, position),\n offset: offset + (withArrow ? arrowSize / 2 : 0),\n arrowRef,\n onPositionChange,\n positionDependencies,\n opened,\n defaultOpened,\n onChange,\n onOpen,\n onClose,\n });\n\n useClickOutside(() => closeOnClickOutside && popover.onClose(), clickOutsideEvents, [\n targetNode,\n dropdownNode,\n ]);\n\n const reference = useCallback(\n (node: HTMLElement) => {\n setTargetNode(node);\n popover.floating.reference(node);\n },\n [popover.floating.reference]\n );\n\n const floating = useCallback(\n (node: HTMLElement) => {\n setDropdownNode(node);\n popover.floating.floating(node);\n },\n [popover.floating.floating]\n );\n\n return (\n <StylesApiProvider\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n staticSelector={__staticSelector}\n >\n <PopoverContextProvider\n value={{\n returnFocus,\n disabled,\n controlled: popover.controlled,\n reference,\n floating,\n x: popover.floating.x,\n y: popover.floating.y,\n arrowX: popover.floating?.middlewareData?.arrow?.x,\n arrowY: popover.floating?.middlewareData?.arrow?.y,\n opened: popover.opened,\n arrowRef,\n transition,\n transitionDuration,\n exitTransitionDuration,\n width,\n withArrow,\n arrowSize,\n arrowOffset,\n placement: popover.floating.placement,\n trapFocus,\n withinPortal,\n zIndex,\n radius,\n shadow,\n closeOnEscape,\n onClose: popover.onClose,\n onToggle: popover.onToggle,\n getTargetId: () => `${uid}-target`,\n getDropdownId: () => `${uid}-dropdown`,\n withRoles,\n targetProps: others,\n }}\n >\n {children}\n </PopoverContextProvider>\n </StylesApiProvider>\n );\n}\n\nPopover.Target = PopoverTarget;\nPopover.Dropdown = PopoverDropdown;\nPopover.displayName = '@mantine/core/Popover';\n"],"names":["getDefaultZIndex","useRef","useComponentDefaultProps","styles","useState","useId","useMantineTheme","usePopover","getFloatingPosition","useClickOutside","useCallback","React","StylesApiProvider","PopoverContextProvider","PopoverTarget","PopoverDropdown"],"mappings":"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"}
|
|
@@ -92,8 +92,8 @@ function PopoverDropdown(_a) {
|
|
|
92
92
|
ref: ctx.floating,
|
|
93
93
|
style: __spreadProps(__spreadValues(__spreadValues({}, style), transitionStyles), {
|
|
94
94
|
zIndex: ctx.zIndex,
|
|
95
|
-
top: (_a2 = ctx.y) != null ? _a2 :
|
|
96
|
-
left: (_b2 = ctx.x) != null ? _b2 :
|
|
95
|
+
top: (_a2 = ctx.y) != null ? _a2 : 0,
|
|
96
|
+
left: (_b2 = ctx.x) != null ? _b2 : 0,
|
|
97
97
|
width: ctx.width === "target" ? void 0 : ctx.width
|
|
98
98
|
}),
|
|
99
99
|
className: cx(classes.dropdown, className),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PopoverDropdown.js","sources":["../../../src/Popover/PopoverDropdown/PopoverDropdown.tsx"],"sourcesContent":["import React from 'react';\nimport { DefaultProps, useContextStylesApi } from '@mantine/styles';\nimport { closeOnEscape } from '@mantine/utils';\nimport { useFocusReturn } from '@mantine/hooks';\nimport { FloatingArrow } from '../../Floating';\nimport { Box } from '../../Box';\nimport { Transition } from '../../Transition';\nimport { FocusTrap } from '../../FocusTrap';\nimport { OptionalPortal } from '../../Portal';\nimport { usePopoverContext } from '../Popover.context';\nimport useStyles from './PopoverDropdown.styles';\n\nexport interface PopoverDropdownProps extends DefaultProps, React.ComponentPropsWithoutRef<'div'> {\n /** Dropdown content */\n children?: React.ReactNode;\n}\n\nexport function PopoverDropdown({\n style,\n className,\n children,\n onKeyDownCapture,\n ...others\n}: PopoverDropdownProps) {\n const { classNames, styles, unstyled, staticSelector } = useContextStylesApi();\n const ctx = usePopoverContext();\n const { classes, cx } = useStyles(\n { radius: ctx.radius, shadow: ctx.shadow },\n { name: staticSelector, classNames, styles, unstyled }\n );\n\n const returnFocus = useFocusReturn({\n opened: ctx.opened,\n shouldReturnFocus: ctx.returnFocus,\n });\n\n const accessibleProps = ctx.withRoles\n ? {\n 'aria-labelledby': ctx.getTargetId(),\n id: ctx.getDropdownId(),\n role: 'dialog',\n }\n : {};\n\n if (ctx.disabled) {\n return null;\n }\n\n return (\n <OptionalPortal withinPortal={ctx.withinPortal}>\n <Transition\n mounted={ctx.opened}\n transition={ctx.transition}\n duration={ctx.transitionDuration}\n exitDuration={\n typeof ctx.exitTransitionDuration === 'number'\n ? ctx.exitTransitionDuration\n : ctx.transitionDuration\n }\n >\n {(transitionStyles) => (\n <FocusTrap active={ctx.trapFocus}>\n <Box\n {...accessibleProps}\n tabIndex={-1}\n ref={ctx.floating}\n style={{\n ...style,\n ...transitionStyles,\n zIndex: ctx.zIndex,\n top: ctx.y ??
|
|
1
|
+
{"version":3,"file":"PopoverDropdown.js","sources":["../../../src/Popover/PopoverDropdown/PopoverDropdown.tsx"],"sourcesContent":["import React from 'react';\nimport { DefaultProps, useContextStylesApi } from '@mantine/styles';\nimport { closeOnEscape } from '@mantine/utils';\nimport { useFocusReturn } from '@mantine/hooks';\nimport { FloatingArrow } from '../../Floating';\nimport { Box } from '../../Box';\nimport { Transition } from '../../Transition';\nimport { FocusTrap } from '../../FocusTrap';\nimport { OptionalPortal } from '../../Portal';\nimport { usePopoverContext } from '../Popover.context';\nimport useStyles from './PopoverDropdown.styles';\n\nexport interface PopoverDropdownProps extends DefaultProps, React.ComponentPropsWithoutRef<'div'> {\n /** Dropdown content */\n children?: React.ReactNode;\n}\n\nexport function PopoverDropdown({\n style,\n className,\n children,\n onKeyDownCapture,\n ...others\n}: PopoverDropdownProps) {\n const { classNames, styles, unstyled, staticSelector } = useContextStylesApi();\n const ctx = usePopoverContext();\n const { classes, cx } = useStyles(\n { radius: ctx.radius, shadow: ctx.shadow },\n { name: staticSelector, classNames, styles, unstyled }\n );\n\n const returnFocus = useFocusReturn({\n opened: ctx.opened,\n shouldReturnFocus: ctx.returnFocus,\n });\n\n const accessibleProps = ctx.withRoles\n ? {\n 'aria-labelledby': ctx.getTargetId(),\n id: ctx.getDropdownId(),\n role: 'dialog',\n }\n : {};\n\n if (ctx.disabled) {\n return null;\n }\n\n return (\n <OptionalPortal withinPortal={ctx.withinPortal}>\n <Transition\n mounted={ctx.opened}\n transition={ctx.transition}\n duration={ctx.transitionDuration}\n exitDuration={\n typeof ctx.exitTransitionDuration === 'number'\n ? ctx.exitTransitionDuration\n : ctx.transitionDuration\n }\n >\n {(transitionStyles) => (\n <FocusTrap active={ctx.trapFocus}>\n <Box\n {...accessibleProps}\n tabIndex={-1}\n ref={ctx.floating}\n style={{\n ...style,\n ...transitionStyles,\n zIndex: ctx.zIndex,\n top: ctx.y ?? 0,\n left: ctx.x ?? 0,\n width: ctx.width === 'target' ? undefined : ctx.width,\n }}\n className={cx(classes.dropdown, className)}\n onKeyDownCapture={closeOnEscape(ctx.onClose, {\n active: ctx.closeOnEscape,\n onTrigger: returnFocus,\n onKeyDown: onKeyDownCapture,\n })}\n data-position={ctx.placement}\n {...others}\n >\n {children}\n\n <FloatingArrow\n ref={ctx.arrowRef}\n arrowX={ctx.arrowX}\n arrowY={ctx.arrowY}\n visible={ctx.withArrow}\n withBorder\n position={ctx.placement}\n arrowSize={ctx.arrowSize}\n arrowOffset={ctx.arrowOffset}\n className={classes.arrow}\n />\n </Box>\n </FocusTrap>\n )}\n </Transition>\n </OptionalPortal>\n );\n}\n\nPopoverDropdown.displayName = '@mantine/core/PopoverDropdown';\n"],"names":["styles","useContextStylesApi","usePopoverContext","useStyles","useFocusReturn","React","OptionalPortal","Transition","FocusTrap","Box","closeOnEscape","FloatingArrow"],"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,198 @@
|
|
|
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
|
+
id
|
|
81
|
+
} = _a, others = __objRest(_a, [
|
|
82
|
+
"defaultValue",
|
|
83
|
+
"value",
|
|
84
|
+
"emptySymbol",
|
|
85
|
+
"fullSymbol",
|
|
86
|
+
"size",
|
|
87
|
+
"count",
|
|
88
|
+
"fractions",
|
|
89
|
+
"onChange",
|
|
90
|
+
"onHover",
|
|
91
|
+
"getSymbolLabel",
|
|
92
|
+
"name",
|
|
93
|
+
"readOnly",
|
|
94
|
+
"className",
|
|
95
|
+
"classNames",
|
|
96
|
+
"styles",
|
|
97
|
+
"unstyled",
|
|
98
|
+
"onMouseEnter",
|
|
99
|
+
"onMouseMove",
|
|
100
|
+
"onMouseLeave",
|
|
101
|
+
"highlightSelectedOnly",
|
|
102
|
+
"color",
|
|
103
|
+
"id"
|
|
104
|
+
]);
|
|
105
|
+
const { classes, cx, theme } = Rating_styles['default'](null, { name: "Rating", classNames, styles: styles$1, unstyled });
|
|
106
|
+
const _name = hooks.useId(name);
|
|
107
|
+
const _id = hooks.useId(id);
|
|
108
|
+
const rootRef = React.useRef(null);
|
|
109
|
+
const [_value, setValue] = hooks.useUncontrolled({
|
|
110
|
+
value,
|
|
111
|
+
defaultValue,
|
|
112
|
+
finalValue: 0,
|
|
113
|
+
onChange
|
|
114
|
+
});
|
|
115
|
+
const [hovered, setHovered] = React.useState(-1);
|
|
116
|
+
const [isOutside, setOutside] = React.useState(true);
|
|
117
|
+
const _fractions = Math.floor(fractions);
|
|
118
|
+
const _count = Math.floor(count);
|
|
119
|
+
const decimalUnit = 1 / _fractions;
|
|
120
|
+
const stableValueRounded = roundValueTo(_value, decimalUnit);
|
|
121
|
+
const finalValue = hovered !== -1 ? hovered : stableValueRounded;
|
|
122
|
+
const handleMouseEnter = (event) => {
|
|
123
|
+
onMouseEnter == null ? void 0 : onMouseEnter(event);
|
|
124
|
+
!readOnly && setOutside(false);
|
|
125
|
+
};
|
|
126
|
+
const handleMouseMove = (event) => {
|
|
127
|
+
onMouseMove == null ? void 0 : onMouseMove(event);
|
|
128
|
+
if (readOnly) {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
const { left, right, width } = rootRef.current.getBoundingClientRect();
|
|
132
|
+
const symbolWidth = width / _count;
|
|
133
|
+
const hoverPosition = theme.dir === "rtl" ? right - event.clientX : event.clientX - left;
|
|
134
|
+
const hoverValue = hoverPosition / symbolWidth;
|
|
135
|
+
const rounded = hooks.clamp(roundValueTo(hoverValue + decimalUnit / 2, decimalUnit), decimalUnit, _count);
|
|
136
|
+
setHovered(rounded);
|
|
137
|
+
rounded !== hovered && (onHover == null ? void 0 : onHover(rounded));
|
|
138
|
+
};
|
|
139
|
+
const handleMouseLeave = (event) => {
|
|
140
|
+
onMouseLeave == null ? void 0 : onMouseLeave(event);
|
|
141
|
+
if (readOnly) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
setHovered(-1);
|
|
145
|
+
setOutside(true);
|
|
146
|
+
hovered !== -1 && (onHover == null ? void 0 : onHover(-1));
|
|
147
|
+
};
|
|
148
|
+
const handleItemBlur = () => isOutside && setHovered(-1);
|
|
149
|
+
const handleChange = (event) => {
|
|
150
|
+
const resultedValue = parseFloat(event.target.value);
|
|
151
|
+
setValue(resultedValue);
|
|
152
|
+
};
|
|
153
|
+
const items = Array(_count).fill(0).map((_, index) => {
|
|
154
|
+
const integerValue = index + 1;
|
|
155
|
+
const fractionItems = Array.from(new Array(index === 0 ? _fractions + 1 : _fractions));
|
|
156
|
+
const isGroupActive = !readOnly && Math.ceil(hovered) === integerValue;
|
|
157
|
+
return /* @__PURE__ */ React__default.createElement("div", {
|
|
158
|
+
key: integerValue,
|
|
159
|
+
"data-active": isGroupActive,
|
|
160
|
+
className: classes.symbolGroup
|
|
161
|
+
}, fractionItems.map((__, fractionIndex) => {
|
|
162
|
+
const fractionValue = decimalUnit * (index === 0 ? fractionIndex : fractionIndex + 1);
|
|
163
|
+
const symbolValue = roundValueTo(integerValue - 1 + fractionValue, decimalUnit);
|
|
164
|
+
return /* @__PURE__ */ React__default.createElement(RatingItem.RatingItem, {
|
|
165
|
+
key: `${integerValue}-${symbolValue}`,
|
|
166
|
+
size,
|
|
167
|
+
getSymbolLabel,
|
|
168
|
+
emptyIcon: emptySymbol,
|
|
169
|
+
fullIcon: fullSymbol,
|
|
170
|
+
full: highlightSelectedOnly ? symbolValue === finalValue : symbolValue <= finalValue,
|
|
171
|
+
active: symbolValue === finalValue,
|
|
172
|
+
checked: symbolValue === stableValueRounded,
|
|
173
|
+
readOnly,
|
|
174
|
+
fractionValue,
|
|
175
|
+
value: symbolValue,
|
|
176
|
+
name: _name,
|
|
177
|
+
onChange: handleChange,
|
|
178
|
+
onBlur: handleItemBlur,
|
|
179
|
+
classNames,
|
|
180
|
+
styles: styles$1,
|
|
181
|
+
unstyled,
|
|
182
|
+
color,
|
|
183
|
+
id: `${_id}-${index}-${fractionIndex}`
|
|
184
|
+
});
|
|
185
|
+
}));
|
|
186
|
+
});
|
|
187
|
+
return /* @__PURE__ */ React__default.createElement(Box.Box, __spreadValues({
|
|
188
|
+
ref: hooks.useMergedRef(rootRef, ref),
|
|
189
|
+
className: cx(classes.root, className),
|
|
190
|
+
onMouseMove: handleMouseMove,
|
|
191
|
+
onMouseEnter: handleMouseEnter,
|
|
192
|
+
onMouseLeave: handleMouseLeave
|
|
193
|
+
}, others), items);
|
|
194
|
+
});
|
|
195
|
+
Rating.displayName = "@mantine/core/Rating";
|
|
196
|
+
|
|
197
|
+
exports.Rating = Rating;
|
|
198
|
+
//# sourceMappingURL=Rating.js.map
|