@mantine/core 5.6.0 → 5.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/Checkbox/Checkbox.js +17 -20
- package/cjs/Checkbox/Checkbox.js.map +1 -1
- package/cjs/Checkbox/Checkbox.styles.js +0 -27
- package/cjs/Checkbox/Checkbox.styles.js.map +1 -1
- package/cjs/Floating/FloatingArrow/FloatingArrow.js +20 -1
- package/cjs/Floating/FloatingArrow/FloatingArrow.js.map +1 -1
- package/cjs/Floating/FloatingArrow/get-arrow-position-styles.js +9 -1
- package/cjs/Floating/FloatingArrow/get-arrow-position-styles.js.map +1 -1
- package/cjs/InlineInput/InlineInput.js +92 -0
- package/cjs/InlineInput/InlineInput.js.map +1 -0
- package/cjs/InlineInput/InlineInput.styles.js +64 -0
- package/cjs/InlineInput/InlineInput.styles.js.map +1 -0
- package/cjs/Input/use-input-props.js.map +1 -1
- package/cjs/Modal/Modal.js +6 -5
- package/cjs/Modal/Modal.js.map +1 -1
- package/cjs/Modal/Modal.styles.js +1 -2
- package/cjs/Modal/Modal.styles.js.map +1 -1
- package/cjs/MultiSelect/DefaultValue/DefaultValue.js +5 -3
- package/cjs/MultiSelect/DefaultValue/DefaultValue.js.map +1 -1
- package/cjs/MultiSelect/DefaultValue/DefaultValue.styles.js +2 -2
- package/cjs/MultiSelect/DefaultValue/DefaultValue.styles.js.map +1 -1
- package/cjs/MultiSelect/MultiSelect.js +1 -0
- package/cjs/MultiSelect/MultiSelect.js.map +1 -1
- package/cjs/NativeSelect/NativeSelect.js +0 -11
- package/cjs/NativeSelect/NativeSelect.js.map +1 -1
- package/cjs/Popover/Popover.context.js.map +1 -1
- package/cjs/Popover/Popover.js +16 -9
- package/cjs/Popover/Popover.js.map +1 -1
- package/cjs/Popover/PopoverDropdown/PopoverDropdown.js +3 -2
- package/cjs/Popover/PopoverDropdown/PopoverDropdown.js.map +1 -1
- package/cjs/Radio/Radio.js +17 -20
- package/cjs/Radio/Radio.js.map +1 -1
- package/cjs/Radio/Radio.styles.js +0 -26
- package/cjs/Radio/Radio.styles.js.map +1 -1
- package/cjs/Rating/Rating.js +16 -10
- package/cjs/Rating/Rating.js.map +1 -1
- package/cjs/Rating/RatingItem/RatingItem.js +4 -3
- package/cjs/Rating/RatingItem/RatingItem.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/Switch/Switch.js +24 -24
- package/cjs/Switch/Switch.js.map +1 -1
- package/cjs/Switch/Switch.styles.js +0 -27
- package/cjs/Switch/Switch.styles.js.map +1 -1
- package/cjs/Tooltip/Tooltip.js +7 -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/esm/Checkbox/Checkbox.js +17 -20
- package/esm/Checkbox/Checkbox.js.map +1 -1
- package/esm/Checkbox/Checkbox.styles.js +0 -27
- package/esm/Checkbox/Checkbox.styles.js.map +1 -1
- package/esm/Floating/FloatingArrow/FloatingArrow.js +20 -1
- package/esm/Floating/FloatingArrow/FloatingArrow.js.map +1 -1
- package/esm/Floating/FloatingArrow/get-arrow-position-styles.js +9 -1
- package/esm/Floating/FloatingArrow/get-arrow-position-styles.js.map +1 -1
- package/esm/InlineInput/InlineInput.js +84 -0
- package/esm/InlineInput/InlineInput.js.map +1 -0
- package/esm/InlineInput/InlineInput.styles.js +60 -0
- package/esm/InlineInput/InlineInput.styles.js.map +1 -0
- package/esm/Input/use-input-props.js.map +1 -1
- package/esm/Modal/Modal.js +6 -5
- package/esm/Modal/Modal.js.map +1 -1
- package/esm/Modal/Modal.styles.js +1 -2
- package/esm/Modal/Modal.styles.js.map +1 -1
- package/esm/MultiSelect/DefaultValue/DefaultValue.js +5 -3
- package/esm/MultiSelect/DefaultValue/DefaultValue.js.map +1 -1
- package/esm/MultiSelect/DefaultValue/DefaultValue.styles.js +2 -2
- package/esm/MultiSelect/DefaultValue/DefaultValue.styles.js.map +1 -1
- package/esm/MultiSelect/MultiSelect.js +1 -0
- package/esm/MultiSelect/MultiSelect.js.map +1 -1
- package/esm/NativeSelect/NativeSelect.js +0 -11
- package/esm/NativeSelect/NativeSelect.js.map +1 -1
- package/esm/Popover/Popover.context.js.map +1 -1
- package/esm/Popover/Popover.js +17 -10
- package/esm/Popover/Popover.js.map +1 -1
- package/esm/Popover/PopoverDropdown/PopoverDropdown.js +3 -2
- package/esm/Popover/PopoverDropdown/PopoverDropdown.js.map +1 -1
- package/esm/Radio/Radio.js +17 -20
- package/esm/Radio/Radio.js.map +1 -1
- package/esm/Radio/Radio.styles.js +0 -26
- package/esm/Radio/Radio.styles.js.map +1 -1
- package/esm/Rating/Rating.js +16 -10
- package/esm/Rating/Rating.js.map +1 -1
- package/esm/Rating/RatingItem/RatingItem.js +5 -4
- package/esm/Rating/RatingItem/RatingItem.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/Switch/Switch.js +24 -24
- package/esm/Switch/Switch.js.map +1 -1
- package/esm/Switch/Switch.styles.js +0 -27
- package/esm/Switch/Switch.styles.js.map +1 -1
- package/esm/Tooltip/Tooltip.js +7 -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/lib/Checkbox/Checkbox.d.ts +2 -1
- package/lib/Checkbox/Checkbox.d.ts.map +1 -1
- package/lib/Checkbox/Checkbox.styles.d.ts +2 -2
- package/lib/Checkbox/Checkbox.styles.d.ts.map +1 -1
- package/lib/Floating/FloatingArrow/FloatingArrow.d.ts +1 -0
- package/lib/Floating/FloatingArrow/FloatingArrow.d.ts.map +1 -1
- package/lib/Floating/FloatingArrow/get-arrow-position-styles.d.ts +2 -1
- package/lib/Floating/FloatingArrow/get-arrow-position-styles.d.ts.map +1 -1
- package/lib/InlineInput/InlineInput.d.ts +19 -0
- package/lib/InlineInput/InlineInput.d.ts.map +1 -0
- package/lib/InlineInput/InlineInput.styles.d.ts +12 -0
- package/lib/InlineInput/InlineInput.styles.d.ts.map +1 -0
- package/lib/InlineInput/index.d.ts +3 -0
- package/lib/InlineInput/index.d.ts.map +1 -0
- package/lib/Input/use-input-props.d.ts +64 -29
- package/lib/Input/use-input-props.d.ts.map +1 -1
- package/lib/Modal/Modal.d.ts +2 -0
- package/lib/Modal/Modal.d.ts.map +1 -1
- package/lib/MultiSelect/DefaultValue/DefaultValue.d.ts +3 -1
- package/lib/MultiSelect/DefaultValue/DefaultValue.d.ts.map +1 -1
- package/lib/MultiSelect/DefaultValue/DefaultValue.styles.d.ts +1 -0
- package/lib/MultiSelect/DefaultValue/DefaultValue.styles.d.ts.map +1 -1
- package/lib/MultiSelect/MultiSelect.d.ts.map +1 -1
- package/lib/NativeSelect/NativeSelect.d.ts +0 -2
- package/lib/NativeSelect/NativeSelect.d.ts.map +1 -1
- package/lib/NavLink/NavLink.styles.d.ts +2 -2
- package/lib/Notification/Notification.styles.d.ts +2 -2
- package/lib/Popover/Popover.context.d.ts +1 -0
- package/lib/Popover/Popover.context.d.ts.map +1 -1
- package/lib/Popover/Popover.d.ts +2 -0
- package/lib/Popover/Popover.d.ts.map +1 -1
- package/lib/Popover/PopoverDropdown/PopoverDropdown.d.ts.map +1 -1
- package/lib/Radio/Radio.d.ts +2 -1
- package/lib/Radio/Radio.d.ts.map +1 -1
- package/lib/Radio/Radio.styles.d.ts +2 -2
- package/lib/Radio/Radio.styles.d.ts.map +1 -1
- package/lib/Rating/Rating.d.ts.map +1 -1
- package/lib/Rating/RatingItem/RatingItem.d.ts +2 -1
- package/lib/Rating/RatingItem/RatingItem.d.ts.map +1 -1
- package/lib/Switch/Switch.d.ts +3 -2
- package/lib/Switch/Switch.d.ts.map +1 -1
- package/lib/Switch/Switch.styles.d.ts +2 -2
- package/lib/Switch/Switch.styles.d.ts.map +1 -1
- package/lib/Tooltip/Tooltip.d.ts +2 -0
- 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/package.json +4 -4
package/esm/Popover/Popover.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useRef, useState } from 'react';
|
|
1
|
+
import React, { useRef, useState, useCallback } from 'react';
|
|
2
2
|
import { useId, useClickOutside } from '@mantine/hooks';
|
|
3
3
|
import { getDefaultZIndex, useComponentDefaultProps, useMantineTheme, StylesApiProvider } from '@mantine/styles';
|
|
4
4
|
import { usePopover } from './use-popover.js';
|
|
@@ -31,6 +31,7 @@ const defaultProps = {
|
|
|
31
31
|
middlewares: { flip: true, shift: true, inline: false },
|
|
32
32
|
arrowSize: 7,
|
|
33
33
|
arrowOffset: 5,
|
|
34
|
+
arrowRadius: 0,
|
|
34
35
|
closeOnClickOutside: true,
|
|
35
36
|
withinPortal: false,
|
|
36
37
|
closeOnEscape: true,
|
|
@@ -39,7 +40,8 @@ const defaultProps = {
|
|
|
39
40
|
returnFocus: false,
|
|
40
41
|
clickOutsideEvents: ["mousedown", "touchstart"],
|
|
41
42
|
zIndex: getDefaultZIndex("popover"),
|
|
42
|
-
__staticSelector: "Popover"
|
|
43
|
+
__staticSelector: "Popover",
|
|
44
|
+
width: "max-content"
|
|
43
45
|
};
|
|
44
46
|
function Popover(props) {
|
|
45
47
|
var _b, _c, _d, _e, _f, _g;
|
|
@@ -58,6 +60,7 @@ function Popover(props) {
|
|
|
58
60
|
withArrow,
|
|
59
61
|
arrowSize,
|
|
60
62
|
arrowOffset,
|
|
63
|
+
arrowRadius,
|
|
61
64
|
unstyled,
|
|
62
65
|
classNames,
|
|
63
66
|
styles,
|
|
@@ -93,6 +96,7 @@ function Popover(props) {
|
|
|
93
96
|
"withArrow",
|
|
94
97
|
"arrowSize",
|
|
95
98
|
"arrowOffset",
|
|
99
|
+
"arrowRadius",
|
|
96
100
|
"unstyled",
|
|
97
101
|
"classNames",
|
|
98
102
|
"styles",
|
|
@@ -137,6 +141,14 @@ function Popover(props) {
|
|
|
137
141
|
targetNode,
|
|
138
142
|
dropdownNode
|
|
139
143
|
]);
|
|
144
|
+
const reference = useCallback((node) => {
|
|
145
|
+
setTargetNode(node);
|
|
146
|
+
popover.floating.reference(node);
|
|
147
|
+
}, [popover.floating.reference]);
|
|
148
|
+
const floating = useCallback((node) => {
|
|
149
|
+
setDropdownNode(node);
|
|
150
|
+
popover.floating.floating(node);
|
|
151
|
+
}, [popover.floating.floating]);
|
|
140
152
|
return /* @__PURE__ */ React.createElement(StylesApiProvider, {
|
|
141
153
|
classNames,
|
|
142
154
|
styles,
|
|
@@ -147,14 +159,8 @@ function Popover(props) {
|
|
|
147
159
|
returnFocus,
|
|
148
160
|
disabled,
|
|
149
161
|
controlled: popover.controlled,
|
|
150
|
-
reference
|
|
151
|
-
|
|
152
|
-
popover.floating.reference(node);
|
|
153
|
-
},
|
|
154
|
-
floating: (node) => {
|
|
155
|
-
setDropdownNode(node);
|
|
156
|
-
popover.floating.floating(node);
|
|
157
|
-
},
|
|
162
|
+
reference,
|
|
163
|
+
floating,
|
|
158
164
|
x: popover.floating.x,
|
|
159
165
|
y: popover.floating.y,
|
|
160
166
|
arrowX: (_d = (_c = (_b = popover.floating) == null ? void 0 : _b.middlewareData) == null ? void 0 : _c.arrow) == null ? void 0 : _d.x,
|
|
@@ -168,6 +174,7 @@ function Popover(props) {
|
|
|
168
174
|
withArrow,
|
|
169
175
|
arrowSize,
|
|
170
176
|
arrowOffset,
|
|
177
|
+
arrowRadius,
|
|
171
178
|
placement: popover.floating.placement,
|
|
172
179
|
trapFocus,
|
|
173
180
|
withinPortal,
|
|
@@ -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":[],"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 /** Arrow radius in px */\n arrowRadius?: 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 arrowRadius: 0,\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 arrowRadius,\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 arrowRadius,\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":[],"mappings":"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"}
|
|
@@ -84,8 +84,8 @@ function PopoverDropdown(_a) {
|
|
|
84
84
|
ref: ctx.floating,
|
|
85
85
|
style: __spreadProps(__spreadValues(__spreadValues({}, style), transitionStyles), {
|
|
86
86
|
zIndex: ctx.zIndex,
|
|
87
|
-
top: (_a2 = ctx.y) != null ? _a2 :
|
|
88
|
-
left: (_b2 = ctx.x) != null ? _b2 :
|
|
87
|
+
top: (_a2 = ctx.y) != null ? _a2 : 0,
|
|
88
|
+
left: (_b2 = ctx.x) != null ? _b2 : 0,
|
|
89
89
|
width: ctx.width === "target" ? void 0 : ctx.width
|
|
90
90
|
}),
|
|
91
91
|
className: cx(classes.dropdown, className),
|
|
@@ -103,6 +103,7 @@ function PopoverDropdown(_a) {
|
|
|
103
103
|
withBorder: true,
|
|
104
104
|
position: ctx.placement,
|
|
105
105
|
arrowSize: ctx.arrowSize,
|
|
106
|
+
arrowRadius: ctx.arrowRadius,
|
|
106
107
|
arrowOffset: ctx.arrowOffset,
|
|
107
108
|
className: classes.arrow
|
|
108
109
|
})));
|
|
@@ -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 arrowRadius={ctx.arrowRadius}\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":[],"mappings":"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"}
|
package/esm/Radio/Radio.js
CHANGED
|
@@ -5,8 +5,7 @@ import { RadioIcon } from './RadioIcon.js';
|
|
|
5
5
|
import { useRadioGroupContext } from './RadioGroup.context.js';
|
|
6
6
|
import { RadioGroup } from './RadioGroup/RadioGroup.js';
|
|
7
7
|
import useStyles from './Radio.styles.js';
|
|
8
|
-
import {
|
|
9
|
-
import { Input } from '../Input/Input.js';
|
|
8
|
+
import { InlineInput } from '../InlineInput/InlineInput.js';
|
|
10
9
|
|
|
11
10
|
var __defProp = Object.defineProperty;
|
|
12
11
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
@@ -84,7 +83,7 @@ const Radio = forwardRef((props, ref) => {
|
|
|
84
83
|
"error"
|
|
85
84
|
]);
|
|
86
85
|
const ctx = useRadioGroupContext();
|
|
87
|
-
const { classes
|
|
86
|
+
const { classes } = useStyles({ color, size: (ctx == null ? void 0 : ctx.size) || size, transitionDuration, labelPosition, error: !!error }, { classNames, styles, unstyled, name: "Radio" });
|
|
88
87
|
const { systemStyles, rest } = extractSystemStyles(others);
|
|
89
88
|
const uuid = useId(id);
|
|
90
89
|
const contextProps = ctx ? {
|
|
@@ -92,14 +91,22 @@ const Radio = forwardRef((props, ref) => {
|
|
|
92
91
|
name: (_b = rest.name) != null ? _b : ctx.name,
|
|
93
92
|
onChange: ctx.onChange
|
|
94
93
|
} : {};
|
|
95
|
-
return /* @__PURE__ */ React.createElement(
|
|
96
|
-
className
|
|
94
|
+
return /* @__PURE__ */ React.createElement(InlineInput, __spreadValues(__spreadValues({
|
|
95
|
+
className,
|
|
96
|
+
sx,
|
|
97
97
|
style,
|
|
98
|
-
|
|
99
|
-
|
|
98
|
+
id: uuid,
|
|
99
|
+
size: (ctx == null ? void 0 : ctx.size) || size,
|
|
100
|
+
labelPosition,
|
|
101
|
+
label,
|
|
102
|
+
description,
|
|
103
|
+
error,
|
|
104
|
+
disabled,
|
|
105
|
+
__staticSelector: "Radio",
|
|
106
|
+
classNames,
|
|
107
|
+
styles,
|
|
108
|
+
unstyled
|
|
100
109
|
}, systemStyles), wrapperProps), /* @__PURE__ */ React.createElement("div", {
|
|
101
|
-
className: classes.body
|
|
102
|
-
}, /* @__PURE__ */ React.createElement("div", {
|
|
103
110
|
className: classes.inner
|
|
104
111
|
}, /* @__PURE__ */ React.createElement("input", __spreadValues(__spreadValues({
|
|
105
112
|
ref,
|
|
@@ -110,17 +117,7 @@ const Radio = forwardRef((props, ref) => {
|
|
|
110
117
|
}, rest), contextProps)), /* @__PURE__ */ React.createElement(Icon, {
|
|
111
118
|
className: classes.icon,
|
|
112
119
|
"aria-hidden": true
|
|
113
|
-
}))
|
|
114
|
-
className: classes.labelWrapper
|
|
115
|
-
}, label && /* @__PURE__ */ React.createElement("label", {
|
|
116
|
-
className: classes.label,
|
|
117
|
-
"data-disabled": disabled || void 0,
|
|
118
|
-
htmlFor: uuid
|
|
119
|
-
}, label), description && /* @__PURE__ */ React.createElement(Input.Description, {
|
|
120
|
-
className: classes.description
|
|
121
|
-
}, description), error && error !== "boolean" && /* @__PURE__ */ React.createElement(Input.Error, {
|
|
122
|
-
className: classes.error
|
|
123
|
-
}, error))));
|
|
120
|
+
})));
|
|
124
121
|
});
|
|
125
122
|
Radio.displayName = "@mantine/core/Radio";
|
|
126
123
|
Radio.Group = RadioGroup;
|
package/esm/Radio/Radio.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.js","sources":["../../src/Radio/Radio.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { useId } from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineSize,\n MantineColor,\n Selectors,\n extractSystemStyles,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { ForwardRefWithStaticComponents } from '@mantine/utils';\nimport {
|
|
1
|
+
{"version":3,"file":"Radio.js","sources":["../../src/Radio/Radio.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { useId } from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineSize,\n MantineColor,\n Selectors,\n extractSystemStyles,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { ForwardRefWithStaticComponents } from '@mantine/utils';\nimport { RadioIcon } from './RadioIcon';\nimport { useRadioGroupContext } from './RadioGroup.context';\nimport { RadioGroup } from './RadioGroup/RadioGroup';\nimport { InlineInput, InlineInputStylesNames } from '../InlineInput';\nimport useStyles, { RadioStylesParams } from './Radio.styles';\n\nexport type RadioStylesNames = Selectors<typeof useStyles> | InlineInputStylesNames;\n\nexport interface RadioProps\n extends DefaultProps<RadioStylesNames, RadioStylesParams>,\n Omit<React.ComponentPropsWithRef<'input'>, 'size'> {\n /** Radio label */\n label?: React.ReactNode;\n\n /** Radio value */\n value: string;\n\n /** Active radio color from theme.colors */\n color?: MantineColor;\n\n /** Predefined label fontSize, radio width, height and border-radius */\n size?: MantineSize;\n\n /** Replace default icon */\n icon?: React.FC<React.ComponentPropsWithoutRef<'svg'>>;\n\n /** Animation duration in ms */\n transitionDuration?: number;\n\n /** Props spread to root element */\n wrapperProps?: Record<string, any>;\n\n /** Position of label */\n labelPosition?: 'left' | 'right';\n\n /** description, displayed after label */\n description?: React.ReactNode;\n\n /** Displays error message after input */\n error?: React.ReactNode;\n}\n\nconst defaultProps: Partial<RadioProps> = {\n icon: RadioIcon,\n transitionDuration: 100,\n size: 'sm',\n labelPosition: 'right',\n};\n\ntype RadioComponent = ForwardRefWithStaticComponents<RadioProps, { Group: typeof RadioGroup }>;\n\nexport const Radio: RadioComponent = forwardRef<HTMLInputElement, RadioProps>((props, ref) => {\n const {\n className,\n style,\n id,\n label,\n size,\n title,\n disabled,\n color,\n classNames,\n styles,\n sx,\n icon: Icon,\n transitionDuration,\n wrapperProps,\n unstyled,\n labelPosition,\n description,\n error,\n ...others\n } = useComponentDefaultProps('Radio', defaultProps, props);\n const ctx = useRadioGroupContext();\n\n const { classes } = useStyles(\n { color, size: ctx?.size || size, transitionDuration, labelPosition, error: !!error },\n { classNames, styles, unstyled, name: 'Radio' }\n );\n\n const { systemStyles, rest } = extractSystemStyles(others);\n const uuid = useId(id);\n\n const contextProps = ctx\n ? {\n checked: ctx.value === rest.value,\n name: rest.name ?? ctx.name,\n onChange: ctx.onChange,\n }\n : {};\n\n return (\n <InlineInput\n className={className}\n sx={sx}\n style={style}\n id={uuid}\n size={ctx?.size || size}\n labelPosition={labelPosition}\n label={label}\n description={description}\n error={error}\n disabled={disabled}\n __staticSelector=\"Radio\"\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n {...systemStyles}\n {...wrapperProps}\n >\n <div className={classes.inner}>\n <input\n ref={ref}\n className={classes.radio}\n type=\"radio\"\n id={uuid}\n disabled={disabled}\n {...rest}\n {...contextProps}\n />\n <Icon className={classes.icon} aria-hidden />\n </div>\n </InlineInput>\n );\n}) as any;\n\nRadio.displayName = '@mantine/core/Radio';\nRadio.Group = RadioGroup;\n"],"names":[],"mappings":";;;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,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,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,YAAY,GAAG;AACrB,EAAE,IAAI,EAAE,SAAS;AACjB,EAAE,kBAAkB,EAAE,GAAG;AACzB,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,aAAa,EAAE,OAAO;AACxB,CAAC,CAAC;AACU,MAAC,KAAK,GAAG,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AAChD,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,MAAM,EAAE,GAAG,wBAAwB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;AACrE,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,EAAE;AACN,IAAI,KAAK;AACT,IAAI,IAAI;AACR,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,KAAK;AACT,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,EAAE;AACN,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,kBAAkB;AACtB,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,aAAa;AACjB,IAAI,WAAW;AACf,IAAI,KAAK;AACT,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,WAAW;AACf,IAAI,OAAO;AACX,IAAI,IAAI;AACR,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,OAAO;AACX,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,IAAI,MAAM;AACV,IAAI,oBAAoB;AACxB,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,eAAe;AACnB,IAAI,aAAa;AACjB,IAAI,OAAO;AACX,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,GAAG,GAAG,oBAAoB,EAAE,CAAC;AACrC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE,kBAAkB,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAChM,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAC7D,EAAE,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;AACzB,EAAE,MAAM,YAAY,GAAG,GAAG,GAAG;AAC7B,IAAI,OAAO,EAAE,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;AACrC,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC,IAAI;AAClD,IAAI,QAAQ,EAAE,GAAG,CAAC,QAAQ;AAC1B,GAAG,GAAG,EAAE,CAAC;AACT,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE,cAAc,CAAC,cAAc,CAAC;AACxF,IAAI,SAAS;AACb,IAAI,EAAE;AACN,IAAI,KAAK;AACT,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,IAAI,EAAE,CAAC,GAAG,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,IAAI;AACnD,IAAI,aAAa;AACjB,IAAI,KAAK;AACT,IAAI,WAAW;AACf,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,gBAAgB,EAAE,OAAO;AAC7B,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,GAAG,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC9E,IAAI,SAAS,EAAE,OAAO,CAAC,KAAK;AAC5B,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC,cAAc,CAAC;AAChF,IAAI,GAAG;AACP,IAAI,SAAS,EAAE,OAAO,CAAC,KAAK;AAC5B,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,QAAQ;AACZ,GAAG,EAAE,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE;AACtE,IAAI,SAAS,EAAE,OAAO,CAAC,IAAI;AAC3B,IAAI,aAAa,EAAE,IAAI;AACvB,GAAG,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,EAAE;AACH,KAAK,CAAC,WAAW,GAAG,qBAAqB,CAAC;AAC1C,KAAK,CAAC,KAAK,GAAG,UAAU;;;;"}
|
|
@@ -37,22 +37,6 @@ var useStyles = createStyles((theme, { size, color, transitionDuration, labelPos
|
|
|
37
37
|
const colors = theme.fn.variant({ variant: "filled", color });
|
|
38
38
|
const errorColor = theme.fn.variant({ variant: "filled", color: "red" }).background;
|
|
39
39
|
return {
|
|
40
|
-
root: {},
|
|
41
|
-
description: {
|
|
42
|
-
marginTop: `calc(${theme.spacing.xs}px / 2)`,
|
|
43
|
-
[labelPosition === "left" ? "paddingRight" : "paddingLeft"]: theme.spacing.sm
|
|
44
|
-
},
|
|
45
|
-
error: {
|
|
46
|
-
marginTop: `calc(${theme.spacing.xs}px / 2)`,
|
|
47
|
-
[labelPosition === "left" ? "paddingRight" : "paddingLeft"]: theme.spacing.sm
|
|
48
|
-
},
|
|
49
|
-
label: {
|
|
50
|
-
cursor: theme.cursorType,
|
|
51
|
-
[labelPosition === "left" ? "paddingRight" : "paddingLeft"]: theme.spacing.sm
|
|
52
|
-
},
|
|
53
|
-
body: {
|
|
54
|
-
display: "flex"
|
|
55
|
-
},
|
|
56
40
|
inner: {
|
|
57
41
|
order: labelPosition === "left" ? 2 : 1,
|
|
58
42
|
position: "relative",
|
|
@@ -102,16 +86,6 @@ var useStyles = createStyles((theme, { size, color, transitionDuration, labelPos
|
|
|
102
86
|
color: theme.colorScheme === "dark" ? theme.colors.dark[6] : theme.colors.gray[4]
|
|
103
87
|
}
|
|
104
88
|
}
|
|
105
|
-
}),
|
|
106
|
-
labelWrapper: __spreadProps(__spreadValues({}, theme.fn.fontStyles()), {
|
|
107
|
-
fontSize: theme.fontSizes[size] || theme.fontSizes.md,
|
|
108
|
-
lineHeight: `${theme.fn.size({ sizes, size })}px`,
|
|
109
|
-
color: theme.colorScheme === "dark" ? theme.colors.dark[0] : theme.black,
|
|
110
|
-
cursor: theme.cursorType,
|
|
111
|
-
order: labelPosition === "left" ? 1 : 2,
|
|
112
|
-
"& label[data-disabled]": {
|
|
113
|
-
color: theme.colorScheme === "dark" ? theme.colors.dark[3] : theme.colors.gray[5]
|
|
114
|
-
}
|
|
115
89
|
})
|
|
116
90
|
};
|
|
117
91
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.styles.js","sources":["../../src/Radio/Radio.styles.ts"],"sourcesContent":["import { createStyles, MantineSize, MantineColor } from '@mantine/styles';\n\nexport interface RadioStylesParams {\n size: MantineSize;\n color: MantineColor;\n transitionDuration: number;\n labelPosition: 'left' | 'right';\n error: boolean;\n}\n\nconst sizes = {\n xs: 16,\n sm: 20,\n md: 24,\n lg: 30,\n xl: 36,\n};\n\nconst iconSizes = {\n xs: 6,\n sm: 8,\n md: 10,\n lg: 14,\n xl: 16,\n};\n\nexport default createStyles(\n (theme, { size, color, transitionDuration, labelPosition, error }: RadioStylesParams, getRef) => {\n const colors = theme.fn.variant({ variant: 'filled', color });\n const errorColor = theme.fn.variant({ variant: 'filled', color: 'red' }).background;\n\n return {\n
|
|
1
|
+
{"version":3,"file":"Radio.styles.js","sources":["../../src/Radio/Radio.styles.ts"],"sourcesContent":["import { createStyles, MantineSize, MantineColor } from '@mantine/styles';\n\nexport interface RadioStylesParams {\n size: MantineSize;\n color: MantineColor;\n transitionDuration: number;\n labelPosition: 'left' | 'right';\n error: boolean;\n}\n\nconst sizes = {\n xs: 16,\n sm: 20,\n md: 24,\n lg: 30,\n xl: 36,\n};\n\nconst iconSizes = {\n xs: 6,\n sm: 8,\n md: 10,\n lg: 14,\n xl: 16,\n};\n\nexport default createStyles(\n (theme, { size, color, transitionDuration, labelPosition, error }: RadioStylesParams, getRef) => {\n const colors = theme.fn.variant({ variant: 'filled', color });\n const errorColor = theme.fn.variant({ variant: 'filled', color: 'red' }).background;\n\n return {\n inner: {\n order: labelPosition === 'left' ? 2 : 1,\n position: 'relative',\n alignSelf: 'flex-start',\n },\n\n icon: {\n ref: getRef('icon'),\n color: theme.white,\n opacity: 0,\n transform: 'scale(0.75) translateY(2px)',\n transition: `opacity ${transitionDuration}ms ${theme.transitionTimingFunction}`,\n pointerEvents: 'none',\n width: theme.fn.size({ sizes: iconSizes, size }),\n height: theme.fn.size({ sizes: iconSizes, size }),\n position: 'absolute',\n top: `calc(50% - ${theme.fn.size({ sizes: iconSizes, size }) / 2}px)`,\n left: `calc(50% - ${theme.fn.size({ sizes: iconSizes, size }) / 2}px)`,\n },\n\n radio: {\n ...theme.fn.focusStyles(),\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.white,\n border: `1px solid ${\n error\n ? errorColor\n : theme.colorScheme === 'dark'\n ? theme.colors.dark[4]\n : theme.colors.gray[4]\n }`,\n position: 'relative',\n appearance: 'none',\n width: theme.fn.size({ sizes, size }),\n height: theme.fn.size({ sizes, size }),\n borderRadius: theme.fn.size({ sizes, size }),\n margin: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n transitionProperty: 'background-color, border-color',\n transitionTimingFunction: theme.transitionTimingFunction,\n transitionDuration: `${transitionDuration}ms`,\n cursor: theme.cursorType,\n\n '&:checked': {\n background: colors.background,\n borderColor: colors.background,\n\n [`& + .${getRef('icon')}`]: {\n opacity: 1,\n transform: 'scale(1)',\n },\n },\n\n '&:disabled': {\n borderColor: theme.colorScheme === 'dark' ? theme.colors.dark[5] : theme.colors.gray[4],\n backgroundColor:\n theme.colorScheme === 'dark' ? theme.colors.dark[5] : theme.colors.gray[1],\n\n [`& + .${getRef('icon')}`]: {\n color: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[4],\n },\n },\n },\n };\n }\n);\n"],"names":[],"mappings":"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"}
|
package/esm/Rating/Rating.js
CHANGED
|
@@ -68,7 +68,8 @@ const Rating = forwardRef((props, ref) => {
|
|
|
68
68
|
onMouseMove,
|
|
69
69
|
onMouseLeave,
|
|
70
70
|
highlightSelectedOnly,
|
|
71
|
-
color
|
|
71
|
+
color,
|
|
72
|
+
id
|
|
72
73
|
} = _a, others = __objRest(_a, [
|
|
73
74
|
"defaultValue",
|
|
74
75
|
"value",
|
|
@@ -90,10 +91,12 @@ const Rating = forwardRef((props, ref) => {
|
|
|
90
91
|
"onMouseMove",
|
|
91
92
|
"onMouseLeave",
|
|
92
93
|
"highlightSelectedOnly",
|
|
93
|
-
"color"
|
|
94
|
+
"color",
|
|
95
|
+
"id"
|
|
94
96
|
]);
|
|
95
97
|
const { classes, cx, theme } = useStyles(null, { name: "Rating", classNames, styles, unstyled });
|
|
96
98
|
const _name = useId(name);
|
|
99
|
+
const _id = useId(id);
|
|
97
100
|
const rootRef = useRef(null);
|
|
98
101
|
const [_value, setValue] = useUncontrolled({
|
|
99
102
|
value,
|
|
@@ -103,7 +106,9 @@ const Rating = forwardRef((props, ref) => {
|
|
|
103
106
|
});
|
|
104
107
|
const [hovered, setHovered] = useState(-1);
|
|
105
108
|
const [isOutside, setOutside] = useState(true);
|
|
106
|
-
const
|
|
109
|
+
const _fractions = Math.floor(fractions);
|
|
110
|
+
const _count = Math.floor(count);
|
|
111
|
+
const decimalUnit = 1 / _fractions;
|
|
107
112
|
const stableValueRounded = roundValueTo(_value, decimalUnit);
|
|
108
113
|
const finalValue = hovered !== -1 ? hovered : stableValueRounded;
|
|
109
114
|
const handleMouseEnter = (event) => {
|
|
@@ -116,10 +121,10 @@ const Rating = forwardRef((props, ref) => {
|
|
|
116
121
|
return;
|
|
117
122
|
}
|
|
118
123
|
const { left, right, width } = rootRef.current.getBoundingClientRect();
|
|
119
|
-
const symbolWidth = width /
|
|
124
|
+
const symbolWidth = width / _count;
|
|
120
125
|
const hoverPosition = theme.dir === "rtl" ? right - event.clientX : event.clientX - left;
|
|
121
126
|
const hoverValue = hoverPosition / symbolWidth;
|
|
122
|
-
const rounded = clamp(roundValueTo(hoverValue + decimalUnit / 2, decimalUnit), decimalUnit,
|
|
127
|
+
const rounded = clamp(roundValueTo(hoverValue + decimalUnit / 2, decimalUnit), decimalUnit, _count);
|
|
123
128
|
setHovered(rounded);
|
|
124
129
|
rounded !== hovered && (onHover == null ? void 0 : onHover(rounded));
|
|
125
130
|
};
|
|
@@ -137,16 +142,16 @@ const Rating = forwardRef((props, ref) => {
|
|
|
137
142
|
const resultedValue = parseFloat(event.target.value);
|
|
138
143
|
setValue(resultedValue);
|
|
139
144
|
};
|
|
140
|
-
const items = Array(
|
|
141
|
-
const integerValue =
|
|
142
|
-
const fractionItems = Array.from(new Array(
|
|
145
|
+
const items = Array(_count).fill(0).map((_, index) => {
|
|
146
|
+
const integerValue = index + 1;
|
|
147
|
+
const fractionItems = Array.from(new Array(index === 0 ? _fractions + 1 : _fractions));
|
|
143
148
|
const isGroupActive = !readOnly && Math.ceil(hovered) === integerValue;
|
|
144
149
|
return /* @__PURE__ */ React.createElement("div", {
|
|
145
150
|
key: integerValue,
|
|
146
151
|
"data-active": isGroupActive,
|
|
147
152
|
className: classes.symbolGroup
|
|
148
153
|
}, fractionItems.map((__, fractionIndex) => {
|
|
149
|
-
const fractionValue = decimalUnit * (
|
|
154
|
+
const fractionValue = decimalUnit * (index === 0 ? fractionIndex : fractionIndex + 1);
|
|
150
155
|
const symbolValue = roundValueTo(integerValue - 1 + fractionValue, decimalUnit);
|
|
151
156
|
return /* @__PURE__ */ React.createElement(RatingItem, {
|
|
152
157
|
key: `${integerValue}-${symbolValue}`,
|
|
@@ -166,7 +171,8 @@ const Rating = forwardRef((props, ref) => {
|
|
|
166
171
|
classNames,
|
|
167
172
|
styles,
|
|
168
173
|
unstyled,
|
|
169
|
-
color
|
|
174
|
+
color,
|
|
175
|
+
id: `${_id}-${index}-${fractionIndex}`
|
|
170
176
|
});
|
|
171
177
|
}));
|
|
172
178
|
});
|
package/esm/Rating/Rating.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rating.js","sources":["../../src/Rating/Rating.tsx"],"sourcesContent":["import React, { forwardRef, useState, useRef } from 'react';\nimport {\n DefaultProps,\n MantineSize,\n useComponentDefaultProps,\n Selectors,\n MantineColor,\n} from '@mantine/styles';\nimport { useUncontrolled, clamp, useMergedRef, useId } from '@mantine/hooks';\nimport { Box } from '../Box';\nimport { RatingItem, RatingItemStylesNames } from './RatingItem/RatingItem';\nimport useStyles from './Rating.styles';\n\nfunction roundValueTo(value: number, to: number) {\n const rounded = Math.round(value / to) * to;\n const precision = `${to}`.split('.')[1]?.length || 0;\n return Number(rounded.toFixed(precision));\n}\n\nexport type RatingStylesNames = Selectors<typeof useStyles> | RatingItemStylesNames;\n\nexport interface RatingProps\n extends DefaultProps<RatingStylesNames>,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'onChange'> {\n /** Default value for uncontrolled component */\n defaultValue?: number;\n\n /** Value for controlled component */\n value?: number;\n\n /** Called when value changes */\n onChange?(value: number): void;\n\n /** The icon that is displayed when symbol is empty */\n emptySymbol?: React.ReactNode | ((value: number) => React.ReactNode);\n\n /** This icon that is displayed when symbol is full */\n fullSymbol?: React.ReactNode | ((value: number) => React.ReactNode);\n\n /** Number of fractions each item can be divided into, 1 by default */\n fractions?: number;\n\n /** Controls component size */\n size?: MantineSize;\n\n /** Number of controls that should be rendered */\n count?: number;\n\n /** Called when item is hovered */\n onHover?(value: number): void;\n\n /** Function should return labelText for the symbols */\n getSymbolLabel?: (value: number) => string;\n\n /** Name of rating, should be unique within the page */\n name?: string;\n\n /** If true, you won't be able to interact */\n readOnly?: boolean;\n\n /** If true, only the selected symbol will change to full symbol */\n highlightSelectedOnly?: boolean;\n\n /** Key of theme.colors or any CSS color value, yellow by default */\n color?: MantineColor;\n}\n\nconst defaultProps: Partial<RatingProps> = {\n size: 'sm',\n getSymbolLabel: (value) => `${value}`,\n count: 5,\n fractions: 1,\n color: 'yellow',\n};\n\nexport const Rating = forwardRef<HTMLInputElement, RatingProps>((props, ref) => {\n const {\n defaultValue,\n value,\n emptySymbol,\n fullSymbol,\n size,\n count,\n fractions,\n onChange,\n onHover,\n getSymbolLabel,\n name,\n readOnly,\n className,\n classNames,\n styles,\n unstyled,\n onMouseEnter,\n onMouseMove,\n onMouseLeave,\n highlightSelectedOnly,\n color,\n ...others\n } = useComponentDefaultProps('Rating', defaultProps, props);\n\n const { classes, cx, theme } = useStyles(null, { name: 'Rating', classNames, styles, unstyled });\n\n const _name = useId(name);\n const rootRef = useRef<HTMLDivElement>(null);\n\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: 0,\n onChange,\n });\n\n const [hovered, setHovered] = useState(-1);\n const [isOutside, setOutside] = useState(true);\n\n const decimalUnit = 1 / fractions;\n const stableValueRounded = roundValueTo(_value, decimalUnit);\n const finalValue = hovered !== -1 ? hovered : stableValueRounded;\n\n const handleMouseEnter = (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseEnter?.(event);\n !readOnly && setOutside(false);\n };\n\n const handleMouseMove = (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseMove?.(event);\n\n if (readOnly) {\n return;\n }\n\n const { left, right, width } = rootRef.current.getBoundingClientRect();\n const symbolWidth = width / count;\n\n const hoverPosition = theme.dir === 'rtl' ? right - event.clientX : event.clientX - left;\n const hoverValue = hoverPosition / symbolWidth;\n\n const rounded = clamp(\n roundValueTo(hoverValue + decimalUnit / 2, decimalUnit),\n decimalUnit,\n count\n );\n\n setHovered(rounded);\n rounded !== hovered && onHover?.(rounded);\n };\n\n const handleMouseLeave = (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseLeave?.(event);\n\n if (readOnly) {\n return;\n }\n\n setHovered(-1);\n setOutside(true);\n hovered !== -1 && onHover?.(-1);\n };\n\n const handleItemBlur = () => isOutside && setHovered(-1);\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const resultedValue = parseFloat(event.target.value);\n setValue(resultedValue);\n };\n\n const items = Array(count)\n .fill(0)\n .map((_, integerIndex) => {\n const integerValue = integerIndex + 1;\n const fractionItems = Array.from(new Array(integerIndex === 0 ? fractions + 1 : fractions));\n const isGroupActive = !readOnly && Math.ceil(hovered) === integerValue;\n\n return (\n <div key={integerValue} data-active={isGroupActive} className={classes.symbolGroup}>\n {fractionItems.map((__, fractionIndex) => {\n const fractionValue =\n decimalUnit * (integerIndex === 0 ? fractionIndex : fractionIndex + 1);\n const symbolValue = roundValueTo(integerValue - 1 + fractionValue, decimalUnit);\n\n return (\n <RatingItem\n key={`${integerValue}-${symbolValue}`}\n size={size}\n getSymbolLabel={getSymbolLabel}\n emptyIcon={emptySymbol}\n fullIcon={fullSymbol}\n full={\n highlightSelectedOnly ? symbolValue === finalValue : symbolValue <= finalValue\n }\n active={symbolValue === finalValue}\n checked={symbolValue === stableValueRounded}\n readOnly={readOnly}\n fractionValue={fractionValue}\n value={symbolValue}\n name={_name}\n onChange={handleChange}\n onBlur={handleItemBlur}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n color={color}\n />\n );\n })}\n </div>\n );\n });\n\n return (\n <Box\n ref={useMergedRef(rootRef, ref)}\n className={cx(classes.root, className)}\n onMouseMove={handleMouseMove}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n {...others}\n >\n {items}\n </Box>\n );\n});\n\nRating.displayName = '@mantine/core/Rating';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rating.js","sources":["../../src/Rating/Rating.tsx"],"sourcesContent":["import React, { forwardRef, useState, useRef } from 'react';\nimport {\n DefaultProps,\n MantineSize,\n useComponentDefaultProps,\n Selectors,\n MantineColor,\n} from '@mantine/styles';\nimport { useUncontrolled, clamp, useMergedRef, useId } from '@mantine/hooks';\nimport { Box } from '../Box';\nimport { RatingItem, RatingItemStylesNames } from './RatingItem/RatingItem';\nimport useStyles from './Rating.styles';\n\nfunction roundValueTo(value: number, to: number) {\n const rounded = Math.round(value / to) * to;\n const precision = `${to}`.split('.')[1]?.length || 0;\n return Number(rounded.toFixed(precision));\n}\n\nexport type RatingStylesNames = Selectors<typeof useStyles> | RatingItemStylesNames;\n\nexport interface RatingProps\n extends DefaultProps<RatingStylesNames>,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'onChange'> {\n /** Default value for uncontrolled component */\n defaultValue?: number;\n\n /** Value for controlled component */\n value?: number;\n\n /** Called when value changes */\n onChange?(value: number): void;\n\n /** The icon that is displayed when symbol is empty */\n emptySymbol?: React.ReactNode | ((value: number) => React.ReactNode);\n\n /** This icon that is displayed when symbol is full */\n fullSymbol?: React.ReactNode | ((value: number) => React.ReactNode);\n\n /** Number of fractions each item can be divided into, 1 by default */\n fractions?: number;\n\n /** Controls component size */\n size?: MantineSize;\n\n /** Number of controls that should be rendered */\n count?: number;\n\n /** Called when item is hovered */\n onHover?(value: number): void;\n\n /** Function should return labelText for the symbols */\n getSymbolLabel?: (value: number) => string;\n\n /** Name of rating, should be unique within the page */\n name?: string;\n\n /** If true, you won't be able to interact */\n readOnly?: boolean;\n\n /** If true, only the selected symbol will change to full symbol */\n highlightSelectedOnly?: boolean;\n\n /** Key of theme.colors or any CSS color value, yellow by default */\n color?: MantineColor;\n}\n\nconst defaultProps: Partial<RatingProps> = {\n size: 'sm',\n getSymbolLabel: (value) => `${value}`,\n count: 5,\n fractions: 1,\n color: 'yellow',\n};\n\nexport const Rating = forwardRef<HTMLInputElement, RatingProps>((props, ref) => {\n const {\n defaultValue,\n value,\n emptySymbol,\n fullSymbol,\n size,\n count,\n fractions,\n onChange,\n onHover,\n getSymbolLabel,\n name,\n readOnly,\n className,\n classNames,\n styles,\n unstyled,\n onMouseEnter,\n onMouseMove,\n onMouseLeave,\n highlightSelectedOnly,\n color,\n id,\n ...others\n } = useComponentDefaultProps('Rating', defaultProps, props);\n\n const { classes, cx, theme } = useStyles(null, { name: 'Rating', classNames, styles, unstyled });\n\n const _name = useId(name);\n const _id = useId(id);\n const rootRef = useRef<HTMLDivElement>(null);\n\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: 0,\n onChange,\n });\n\n const [hovered, setHovered] = useState(-1);\n const [isOutside, setOutside] = useState(true);\n\n const _fractions = Math.floor(fractions);\n const _count = Math.floor(count);\n\n const decimalUnit = 1 / _fractions;\n const stableValueRounded = roundValueTo(_value, decimalUnit);\n const finalValue = hovered !== -1 ? hovered : stableValueRounded;\n\n const handleMouseEnter = (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseEnter?.(event);\n !readOnly && setOutside(false);\n };\n\n const handleMouseMove = (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseMove?.(event);\n\n if (readOnly) {\n return;\n }\n\n const { left, right, width } = rootRef.current.getBoundingClientRect();\n const symbolWidth = width / _count;\n\n const hoverPosition = theme.dir === 'rtl' ? right - event.clientX : event.clientX - left;\n const hoverValue = hoverPosition / symbolWidth;\n\n const rounded = clamp(\n roundValueTo(hoverValue + decimalUnit / 2, decimalUnit),\n decimalUnit,\n _count\n );\n\n setHovered(rounded);\n rounded !== hovered && onHover?.(rounded);\n };\n\n const handleMouseLeave = (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseLeave?.(event);\n\n if (readOnly) {\n return;\n }\n\n setHovered(-1);\n setOutside(true);\n hovered !== -1 && onHover?.(-1);\n };\n\n const handleItemBlur = () => isOutside && setHovered(-1);\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const resultedValue = parseFloat(event.target.value);\n setValue(resultedValue);\n };\n\n const items = Array(_count)\n .fill(0)\n .map((_, index) => {\n const integerValue = index + 1;\n const fractionItems = Array.from(new Array(index === 0 ? _fractions + 1 : _fractions));\n const isGroupActive = !readOnly && Math.ceil(hovered) === integerValue;\n\n return (\n <div key={integerValue} data-active={isGroupActive} className={classes.symbolGroup}>\n {fractionItems.map((__, fractionIndex) => {\n const fractionValue = decimalUnit * (index === 0 ? fractionIndex : fractionIndex + 1);\n const symbolValue = roundValueTo(integerValue - 1 + fractionValue, decimalUnit);\n\n return (\n <RatingItem\n key={`${integerValue}-${symbolValue}`}\n size={size}\n getSymbolLabel={getSymbolLabel}\n emptyIcon={emptySymbol}\n fullIcon={fullSymbol}\n full={\n highlightSelectedOnly ? symbolValue === finalValue : symbolValue <= finalValue\n }\n active={symbolValue === finalValue}\n checked={symbolValue === stableValueRounded}\n readOnly={readOnly}\n fractionValue={fractionValue}\n value={symbolValue}\n name={_name}\n onChange={handleChange}\n onBlur={handleItemBlur}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n color={color}\n id={`${_id}-${index}-${fractionIndex}`}\n />\n );\n })}\n </div>\n );\n });\n\n return (\n <Box\n ref={useMergedRef(rootRef, ref)}\n className={cx(classes.root, className)}\n onMouseMove={handleMouseMove}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n {...others}\n >\n {items}\n </Box>\n );\n});\n\nRating.displayName = '@mantine/core/Rating';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import { StarSymbol } from '../StarSymbol/StarSymbol.js';
|
|
3
3
|
import useStyles from './RatingItem.styles.js';
|
|
4
4
|
import { Box } from '../../Box/Box.js';
|
|
@@ -45,7 +45,8 @@ function RatingItem(_a) {
|
|
|
45
45
|
classNames,
|
|
46
46
|
styles,
|
|
47
47
|
unstyled,
|
|
48
|
-
color
|
|
48
|
+
color,
|
|
49
|
+
id
|
|
49
50
|
} = _b, others = __objRest(_b, [
|
|
50
51
|
"size",
|
|
51
52
|
"getSymbolLabel",
|
|
@@ -59,9 +60,9 @@ function RatingItem(_a) {
|
|
|
59
60
|
"classNames",
|
|
60
61
|
"styles",
|
|
61
62
|
"unstyled",
|
|
62
|
-
"color"
|
|
63
|
+
"color",
|
|
64
|
+
"id"
|
|
63
65
|
]);
|
|
64
|
-
const id = useId();
|
|
65
66
|
const { classes } = useStyles(null, { name: "Rating", classNames, styles, unstyled });
|
|
66
67
|
const _fullIcon = typeof fullIcon === "function" ? fullIcon(value) : fullIcon;
|
|
67
68
|
const _emptyIcon = typeof emptyIcon === "function" ? emptyIcon(value) : emptyIcon;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RatingItem.js","sources":["../../../src/Rating/RatingItem/RatingItem.tsx"],"sourcesContent":["import React
|
|
1
|
+
{"version":3,"file":"RatingItem.js","sources":["../../../src/Rating/RatingItem/RatingItem.tsx"],"sourcesContent":["import React from 'react';\nimport { MantineSize, Selectors, DefaultProps, MantineColor } from '@mantine/styles';\nimport { Box } from '../../Box';\nimport { StarSymbol } from '../StarSymbol/StarSymbol';\nimport useStyles from './RatingItem.styles';\n\nexport type RatingItemStylesNames = Selectors<typeof useStyles>;\n\nexport interface RatingItemProps\n extends DefaultProps<RatingItemStylesNames>,\n Omit<React.ComponentPropsWithoutRef<'input'>, 'value' | 'size'> {\n size: MantineSize;\n getSymbolLabel: (value: number) => string;\n emptyIcon?: React.ReactNode | ((value: number) => React.ReactNode);\n fullIcon?: React.ReactNode | ((value: number) => React.ReactNode);\n color: MantineColor;\n full: boolean;\n active: boolean;\n fractionValue: number;\n value: number;\n id: string;\n}\n\nexport function RatingItem({\n size,\n getSymbolLabel,\n emptyIcon,\n fullIcon,\n full,\n active,\n value,\n readOnly,\n fractionValue,\n classNames,\n styles,\n unstyled,\n color,\n id,\n ...others\n}: RatingItemProps) {\n const { classes } = useStyles(null, { name: 'Rating', classNames, styles, unstyled });\n const _fullIcon = typeof fullIcon === 'function' ? fullIcon(value) : fullIcon;\n const _emptyIcon = typeof emptyIcon === 'function' ? emptyIcon(value) : emptyIcon;\n\n return (\n <>\n {!readOnly && (\n <input\n className={classes.input}\n id={id}\n type=\"radio\"\n data-active={active}\n aria-label={getSymbolLabel(value)}\n value={value}\n {...others}\n />\n )}\n\n <Box\n component={readOnly ? 'div' : 'label'}\n className={classes.label}\n data-read-only={readOnly || undefined}\n htmlFor={id}\n sx={fractionValue === 1 ? undefined : { zIndex: active ? 2 : 0 }}\n >\n <Box\n className={classes.symbolBody}\n sx={\n fractionValue === 1\n ? undefined\n : { clipPath: `inset(0 ${active ? 100 - fractionValue * 100 : 100}% 0 0)` }\n }\n >\n {full\n ? _fullIcon || <StarSymbol color={color} size={size} type=\"full\" />\n : _emptyIcon || <StarSymbol color={color} size={size} type=\"empty\" />}\n </Box>\n </Box>\n </>\n );\n}\n\nRatingItem.displayName = '@mantine/core/RatingItem';\n"],"names":[],"mappings":"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"}
|