@mantine/core 5.5.6 → 5.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/Autocomplete/Autocomplete.js +7 -3
- package/cjs/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/Badge/Badge.styles.js +1 -1
- package/cjs/Badge/Badge.styles.js.map +1 -1
- package/cjs/CloseButton/CloseButton.js +5 -2
- package/cjs/CloseButton/CloseButton.js.map +1 -1
- package/cjs/ColorInput/ColorInput.js +6 -4
- package/cjs/ColorInput/ColorInput.js.map +1 -1
- package/cjs/FileButton/FileButton.js +2 -2
- package/cjs/FileButton/FileButton.js.map +1 -1
- package/cjs/FileInput/FileInput.js +7 -4
- package/cjs/FileInput/FileInput.js.map +1 -1
- package/cjs/Image/Image.js +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 +1 -0
- package/cjs/NativeSelect/NativeSelect.js.map +1 -1
- package/cjs/Progress/Progress.js +33 -18
- package/cjs/Progress/Progress.js.map +1 -1
- package/cjs/Rating/Rating.js +192 -0
- package/cjs/Rating/Rating.js.map +1 -0
- package/cjs/Rating/Rating.styles.js +23 -0
- package/cjs/Rating/Rating.styles.js.map +1 -0
- package/cjs/Rating/RatingItem/RatingItem.js +105 -0
- package/cjs/Rating/RatingItem/RatingItem.js.map +1 -0
- package/cjs/Rating/RatingItem/RatingItem.styles.js +52 -0
- package/cjs/Rating/RatingItem/RatingItem.styles.js.map +1 -0
- package/cjs/Rating/StarSymbol/StarIcon.js +41 -0
- package/cjs/Rating/StarSymbol/StarIcon.js.map +1 -0
- package/cjs/Rating/StarSymbol/StarSymbol.js +22 -0
- package/cjs/Rating/StarSymbol/StarSymbol.js.map +1 -0
- package/cjs/Rating/StarSymbol/StarSymbol.styles.js +28 -0
- package/cjs/Rating/StarSymbol/StarSymbol.styles.js.map +1 -0
- package/cjs/RingProgress/Curve/Curve.js +39 -13
- package/cjs/RingProgress/Curve/Curve.js.map +1 -1
- package/cjs/RingProgress/RingProgress.js +15 -15
- package/cjs/RingProgress/RingProgress.js.map +1 -1
- package/cjs/RingProgress/get-curves/get-curves.js.map +1 -1
- package/cjs/Select/SelectPopover/SelectPopover.js +3 -1
- package/cjs/Select/SelectPopover/SelectPopover.js.map +1 -1
- package/cjs/Tabs/Tab/Tab.js +2 -1
- package/cjs/Tabs/Tab/Tab.js.map +1 -1
- package/cjs/Tabs/Tab/Tab.styles.js +7 -7
- package/cjs/Tabs/Tab/Tab.styles.js.map +1 -1
- package/cjs/Tabs/Tabs.context.js.map +1 -1
- package/cjs/Tabs/Tabs.js +9 -5
- package/cjs/Tabs/Tabs.js.map +1 -1
- package/cjs/Tabs/Tabs.styles.js +3 -2
- package/cjs/Tabs/Tabs.styles.js.map +1 -1
- package/cjs/Tabs/TabsList/TabsList.js +2 -2
- package/cjs/Tabs/TabsList/TabsList.js.map +1 -1
- package/cjs/Tabs/TabsList/TabsList.styles.js +3 -3
- package/cjs/Tabs/TabsList/TabsList.styles.js.map +1 -1
- package/cjs/Tabs/TabsPanel/TabsPanel.js +2 -1
- package/cjs/Tabs/TabsPanel/TabsPanel.js.map +1 -1
- package/cjs/Tabs/TabsProvider.js +2 -0
- package/cjs/Tabs/TabsProvider.js.map +1 -1
- package/cjs/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 +1 -0
- package/esm/NativeSelect/NativeSelect.js.map +1 -1
- package/esm/Progress/Progress.js +33 -18
- package/esm/Progress/Progress.js.map +1 -1
- package/esm/Rating/Rating.js +184 -0
- package/esm/Rating/Rating.js.map +1 -0
- package/esm/Rating/Rating.styles.js +19 -0
- package/esm/Rating/Rating.styles.js.map +1 -0
- package/esm/Rating/RatingItem/RatingItem.js +97 -0
- package/esm/Rating/RatingItem/RatingItem.js.map +1 -0
- package/esm/Rating/RatingItem/RatingItem.styles.js +48 -0
- package/esm/Rating/RatingItem/RatingItem.styles.js.map +1 -0
- package/esm/Rating/StarSymbol/StarIcon.js +33 -0
- package/esm/Rating/StarSymbol/StarIcon.js.map +1 -0
- package/esm/Rating/StarSymbol/StarSymbol.js +14 -0
- package/esm/Rating/StarSymbol/StarSymbol.js.map +1 -0
- package/esm/Rating/StarSymbol/StarSymbol.styles.js +24 -0
- package/esm/Rating/StarSymbol/StarSymbol.styles.js.map +1 -0
- package/esm/RingProgress/Curve/Curve.js +39 -13
- package/esm/RingProgress/Curve/Curve.js.map +1 -1
- package/esm/RingProgress/RingProgress.js +15 -15
- package/esm/RingProgress/RingProgress.js.map +1 -1
- package/esm/RingProgress/get-curves/get-curves.js.map +1 -1
- package/esm/Select/SelectPopover/SelectPopover.js +3 -1
- package/esm/Select/SelectPopover/SelectPopover.js.map +1 -1
- package/esm/Tabs/Tab/Tab.js +2 -1
- package/esm/Tabs/Tab/Tab.js.map +1 -1
- package/esm/Tabs/Tab/Tab.styles.js +7 -7
- package/esm/Tabs/Tab/Tab.styles.js.map +1 -1
- package/esm/Tabs/Tabs.context.js.map +1 -1
- package/esm/Tabs/Tabs.js +9 -5
- package/esm/Tabs/Tabs.js.map +1 -1
- package/esm/Tabs/Tabs.styles.js +3 -2
- package/esm/Tabs/Tabs.styles.js.map +1 -1
- package/esm/Tabs/TabsList/TabsList.js +2 -2
- package/esm/Tabs/TabsList/TabsList.js.map +1 -1
- package/esm/Tabs/TabsList/TabsList.styles.js +3 -3
- package/esm/Tabs/TabsList/TabsList.styles.js.map +1 -1
- package/esm/Tabs/TabsPanel/TabsPanel.js +2 -1
- package/esm/Tabs/TabsPanel/TabsPanel.js.map +1 -1
- package/esm/Tabs/TabsProvider.js +2 -0
- package/esm/Tabs/TabsProvider.js.map +1 -1
- package/esm/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/Progress/Progress.d.ts +1 -1
- package/lib/Progress/Progress.d.ts.map +1 -1
- package/lib/Rating/Rating.d.ts +37 -0
- package/lib/Rating/Rating.d.ts.map +1 -0
- package/lib/Rating/Rating.styles.d.ts +7 -0
- package/lib/Rating/Rating.styles.d.ts.map +1 -0
- package/lib/Rating/RatingItem/RatingItem.d.ts +20 -0
- package/lib/Rating/RatingItem/RatingItem.d.ts.map +1 -0
- package/lib/Rating/RatingItem/RatingItem.styles.d.ts +7 -0
- package/lib/Rating/RatingItem/RatingItem.styles.d.ts.map +1 -0
- package/lib/Rating/StarSymbol/StarIcon.d.ts +6 -0
- package/lib/Rating/StarSymbol/StarIcon.d.ts.map +1 -0
- package/lib/Rating/StarSymbol/StarSymbol.d.ts +12 -0
- package/lib/Rating/StarSymbol/StarSymbol.d.ts.map +1 -0
- package/lib/Rating/StarSymbol/StarSymbol.styles.d.ts +13 -0
- package/lib/Rating/StarSymbol/StarSymbol.styles.d.ts.map +1 -0
- package/lib/Rating/index.d.ts +4 -0
- package/lib/Rating/index.d.ts.map +1 -0
- package/lib/RingProgress/Curve/Curve.d.ts +2 -2
- package/lib/RingProgress/Curve/Curve.d.ts.map +1 -1
- package/lib/RingProgress/RingProgress.d.ts +7 -5
- package/lib/RingProgress/RingProgress.d.ts.map +1 -1
- package/lib/RingProgress/get-curves/get-curves.d.ts +1 -1
- package/lib/RingProgress/get-curves/get-curves.d.ts.map +1 -1
- package/lib/Select/SelectPopover/SelectPopover.d.ts +2 -1
- package/lib/Select/SelectPopover/SelectPopover.d.ts.map +1 -1
- package/lib/Tabs/Tab/Tab.d.ts.map +1 -1
- package/lib/Tabs/Tab/Tab.styles.d.ts.map +1 -1
- package/lib/Tabs/Tabs.context.d.ts +3 -2
- package/lib/Tabs/Tabs.context.d.ts.map +1 -1
- package/lib/Tabs/Tabs.d.ts.map +1 -1
- package/lib/Tabs/Tabs.styles.d.ts.map +1 -1
- package/lib/Tabs/Tabs.types.d.ts +2 -0
- package/lib/Tabs/Tabs.types.d.ts.map +1 -1
- package/lib/Tabs/TabsList/TabsList.styles.d.ts.map +1 -1
- package/lib/Tabs/TabsPanel/TabsPanel.d.ts.map +1 -1
- package/lib/Tabs/TabsProvider.d.ts +4 -2
- package/lib/Tabs/TabsProvider.d.ts.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import React, { forwardRef, useRef, useState } from 'react';
|
|
2
|
+
import { useComponentDefaultProps } from '@mantine/styles';
|
|
3
|
+
import { useId, useUncontrolled, useMergedRef, clamp } from '@mantine/hooks';
|
|
4
|
+
import { RatingItem } from './RatingItem/RatingItem.js';
|
|
5
|
+
import useStyles from './Rating.styles.js';
|
|
6
|
+
import { Box } from '../Box/Box.js';
|
|
7
|
+
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
10
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
11
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
12
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
13
|
+
var __spreadValues = (a, b) => {
|
|
14
|
+
for (var prop in b || (b = {}))
|
|
15
|
+
if (__hasOwnProp.call(b, prop))
|
|
16
|
+
__defNormalProp(a, prop, b[prop]);
|
|
17
|
+
if (__getOwnPropSymbols)
|
|
18
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
19
|
+
if (__propIsEnum.call(b, prop))
|
|
20
|
+
__defNormalProp(a, prop, b[prop]);
|
|
21
|
+
}
|
|
22
|
+
return a;
|
|
23
|
+
};
|
|
24
|
+
var __objRest = (source, exclude) => {
|
|
25
|
+
var target = {};
|
|
26
|
+
for (var prop in source)
|
|
27
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
28
|
+
target[prop] = source[prop];
|
|
29
|
+
if (source != null && __getOwnPropSymbols)
|
|
30
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
31
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
32
|
+
target[prop] = source[prop];
|
|
33
|
+
}
|
|
34
|
+
return target;
|
|
35
|
+
};
|
|
36
|
+
function roundValueTo(value, to) {
|
|
37
|
+
var _a;
|
|
38
|
+
const rounded = Math.round(value / to) * to;
|
|
39
|
+
const precision = ((_a = `${to}`.split(".")[1]) == null ? void 0 : _a.length) || 0;
|
|
40
|
+
return Number(rounded.toFixed(precision));
|
|
41
|
+
}
|
|
42
|
+
const defaultProps = {
|
|
43
|
+
size: "sm",
|
|
44
|
+
getSymbolLabel: (value) => `${value}`,
|
|
45
|
+
count: 5,
|
|
46
|
+
fractions: 1,
|
|
47
|
+
color: "yellow"
|
|
48
|
+
};
|
|
49
|
+
const Rating = forwardRef((props, ref) => {
|
|
50
|
+
const _a = useComponentDefaultProps("Rating", defaultProps, props), {
|
|
51
|
+
defaultValue,
|
|
52
|
+
value,
|
|
53
|
+
emptySymbol,
|
|
54
|
+
fullSymbol,
|
|
55
|
+
size,
|
|
56
|
+
count,
|
|
57
|
+
fractions,
|
|
58
|
+
onChange,
|
|
59
|
+
onHover,
|
|
60
|
+
getSymbolLabel,
|
|
61
|
+
name,
|
|
62
|
+
readOnly,
|
|
63
|
+
className,
|
|
64
|
+
classNames,
|
|
65
|
+
styles,
|
|
66
|
+
unstyled,
|
|
67
|
+
onMouseEnter,
|
|
68
|
+
onMouseMove,
|
|
69
|
+
onMouseLeave,
|
|
70
|
+
highlightSelectedOnly,
|
|
71
|
+
color
|
|
72
|
+
} = _a, others = __objRest(_a, [
|
|
73
|
+
"defaultValue",
|
|
74
|
+
"value",
|
|
75
|
+
"emptySymbol",
|
|
76
|
+
"fullSymbol",
|
|
77
|
+
"size",
|
|
78
|
+
"count",
|
|
79
|
+
"fractions",
|
|
80
|
+
"onChange",
|
|
81
|
+
"onHover",
|
|
82
|
+
"getSymbolLabel",
|
|
83
|
+
"name",
|
|
84
|
+
"readOnly",
|
|
85
|
+
"className",
|
|
86
|
+
"classNames",
|
|
87
|
+
"styles",
|
|
88
|
+
"unstyled",
|
|
89
|
+
"onMouseEnter",
|
|
90
|
+
"onMouseMove",
|
|
91
|
+
"onMouseLeave",
|
|
92
|
+
"highlightSelectedOnly",
|
|
93
|
+
"color"
|
|
94
|
+
]);
|
|
95
|
+
const { classes, cx, theme } = useStyles(null, { name: "Rating", classNames, styles, unstyled });
|
|
96
|
+
const _name = useId(name);
|
|
97
|
+
const rootRef = useRef(null);
|
|
98
|
+
const [_value, setValue] = useUncontrolled({
|
|
99
|
+
value,
|
|
100
|
+
defaultValue,
|
|
101
|
+
finalValue: 0,
|
|
102
|
+
onChange
|
|
103
|
+
});
|
|
104
|
+
const [hovered, setHovered] = useState(-1);
|
|
105
|
+
const [isOutside, setOutside] = useState(true);
|
|
106
|
+
const decimalUnit = 1 / fractions;
|
|
107
|
+
const stableValueRounded = roundValueTo(_value, decimalUnit);
|
|
108
|
+
const finalValue = hovered !== -1 ? hovered : stableValueRounded;
|
|
109
|
+
const handleMouseEnter = (event) => {
|
|
110
|
+
onMouseEnter == null ? void 0 : onMouseEnter(event);
|
|
111
|
+
!readOnly && setOutside(false);
|
|
112
|
+
};
|
|
113
|
+
const handleMouseMove = (event) => {
|
|
114
|
+
onMouseMove == null ? void 0 : onMouseMove(event);
|
|
115
|
+
if (readOnly) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
const { left, right, width } = rootRef.current.getBoundingClientRect();
|
|
119
|
+
const symbolWidth = width / count;
|
|
120
|
+
const hoverPosition = theme.dir === "rtl" ? right - event.clientX : event.clientX - left;
|
|
121
|
+
const hoverValue = hoverPosition / symbolWidth;
|
|
122
|
+
const rounded = clamp(roundValueTo(hoverValue + decimalUnit / 2, decimalUnit), decimalUnit, count);
|
|
123
|
+
setHovered(rounded);
|
|
124
|
+
rounded !== hovered && (onHover == null ? void 0 : onHover(rounded));
|
|
125
|
+
};
|
|
126
|
+
const handleMouseLeave = (event) => {
|
|
127
|
+
onMouseLeave == null ? void 0 : onMouseLeave(event);
|
|
128
|
+
if (readOnly) {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
setHovered(-1);
|
|
132
|
+
setOutside(true);
|
|
133
|
+
hovered !== -1 && (onHover == null ? void 0 : onHover(-1));
|
|
134
|
+
};
|
|
135
|
+
const handleItemBlur = () => isOutside && setHovered(-1);
|
|
136
|
+
const handleChange = (event) => {
|
|
137
|
+
const resultedValue = parseFloat(event.target.value);
|
|
138
|
+
setValue(resultedValue);
|
|
139
|
+
};
|
|
140
|
+
const items = Array(count).fill(0).map((_, integerIndex) => {
|
|
141
|
+
const integerValue = integerIndex + 1;
|
|
142
|
+
const fractionItems = Array.from(new Array(integerIndex === 0 ? fractions + 1 : fractions));
|
|
143
|
+
const isGroupActive = !readOnly && Math.ceil(hovered) === integerValue;
|
|
144
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
145
|
+
key: integerValue,
|
|
146
|
+
"data-active": isGroupActive,
|
|
147
|
+
className: classes.symbolGroup
|
|
148
|
+
}, fractionItems.map((__, fractionIndex) => {
|
|
149
|
+
const fractionValue = decimalUnit * (integerIndex === 0 ? fractionIndex : fractionIndex + 1);
|
|
150
|
+
const symbolValue = roundValueTo(integerValue - 1 + fractionValue, decimalUnit);
|
|
151
|
+
return /* @__PURE__ */ React.createElement(RatingItem, {
|
|
152
|
+
key: `${integerValue}-${symbolValue}`,
|
|
153
|
+
size,
|
|
154
|
+
getSymbolLabel,
|
|
155
|
+
emptyIcon: emptySymbol,
|
|
156
|
+
fullIcon: fullSymbol,
|
|
157
|
+
full: highlightSelectedOnly ? symbolValue === finalValue : symbolValue <= finalValue,
|
|
158
|
+
active: symbolValue === finalValue,
|
|
159
|
+
checked: symbolValue === stableValueRounded,
|
|
160
|
+
readOnly,
|
|
161
|
+
fractionValue,
|
|
162
|
+
value: symbolValue,
|
|
163
|
+
name: _name,
|
|
164
|
+
onChange: handleChange,
|
|
165
|
+
onBlur: handleItemBlur,
|
|
166
|
+
classNames,
|
|
167
|
+
styles,
|
|
168
|
+
unstyled,
|
|
169
|
+
color
|
|
170
|
+
});
|
|
171
|
+
}));
|
|
172
|
+
});
|
|
173
|
+
return /* @__PURE__ */ React.createElement(Box, __spreadValues({
|
|
174
|
+
ref: useMergedRef(rootRef, ref),
|
|
175
|
+
className: cx(classes.root, className),
|
|
176
|
+
onMouseMove: handleMouseMove,
|
|
177
|
+
onMouseEnter: handleMouseEnter,
|
|
178
|
+
onMouseLeave: handleMouseLeave
|
|
179
|
+
}, others), items);
|
|
180
|
+
});
|
|
181
|
+
Rating.displayName = "@mantine/core/Rating";
|
|
182
|
+
|
|
183
|
+
export { Rating };
|
|
184
|
+
//# sourceMappingURL=Rating.js.map
|
|
@@ -0,0 +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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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { createStyles } from '@mantine/styles';
|
|
2
|
+
|
|
3
|
+
var useStyles = createStyles(() => ({
|
|
4
|
+
root: {
|
|
5
|
+
display: "flex",
|
|
6
|
+
width: "max-content"
|
|
7
|
+
},
|
|
8
|
+
symbolGroup: {
|
|
9
|
+
position: "relative",
|
|
10
|
+
transition: "transform 100ms ease",
|
|
11
|
+
'&[data-active="true"]': {
|
|
12
|
+
zIndex: 1,
|
|
13
|
+
transform: "scale(1.2)"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}));
|
|
17
|
+
|
|
18
|
+
export default useStyles;
|
|
19
|
+
//# sourceMappingURL=Rating.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Rating.styles.js","sources":["../../src/Rating/Rating.styles.ts"],"sourcesContent":["import { createStyles } from '@mantine/styles';\n\nexport default createStyles(() => ({\n root: {\n display: 'flex',\n width: 'max-content',\n },\n\n symbolGroup: {\n position: 'relative',\n transition: 'transform 100ms ease',\n\n '&[data-active=\"true\"]': {\n zIndex: 1,\n transform: 'scale(1.2)',\n },\n },\n}));\n"],"names":[],"mappings":";;AACA,gBAAe,YAAY,CAAC,OAAO;AACnC,EAAE,IAAI,EAAE;AACR,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,KAAK,EAAE,aAAa;AACxB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,UAAU,EAAE,sBAAsB;AACtC,IAAI,uBAAuB,EAAE;AAC7B,MAAM,MAAM,EAAE,CAAC;AACf,MAAM,SAAS,EAAE,YAAY;AAC7B,KAAK;AACL,GAAG;AACH,CAAC,CAAC,CAAC;;;;"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import React, { useId } from 'react';
|
|
2
|
+
import { StarSymbol } from '../StarSymbol/StarSymbol.js';
|
|
3
|
+
import useStyles from './RatingItem.styles.js';
|
|
4
|
+
import { Box } from '../../Box/Box.js';
|
|
5
|
+
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
10
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
11
|
+
var __spreadValues = (a, b) => {
|
|
12
|
+
for (var prop in b || (b = {}))
|
|
13
|
+
if (__hasOwnProp.call(b, prop))
|
|
14
|
+
__defNormalProp(a, prop, b[prop]);
|
|
15
|
+
if (__getOwnPropSymbols)
|
|
16
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
17
|
+
if (__propIsEnum.call(b, prop))
|
|
18
|
+
__defNormalProp(a, prop, b[prop]);
|
|
19
|
+
}
|
|
20
|
+
return a;
|
|
21
|
+
};
|
|
22
|
+
var __objRest = (source, exclude) => {
|
|
23
|
+
var target = {};
|
|
24
|
+
for (var prop in source)
|
|
25
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
26
|
+
target[prop] = source[prop];
|
|
27
|
+
if (source != null && __getOwnPropSymbols)
|
|
28
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
29
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
30
|
+
target[prop] = source[prop];
|
|
31
|
+
}
|
|
32
|
+
return target;
|
|
33
|
+
};
|
|
34
|
+
function RatingItem(_a) {
|
|
35
|
+
var _b = _a, {
|
|
36
|
+
size,
|
|
37
|
+
getSymbolLabel,
|
|
38
|
+
emptyIcon,
|
|
39
|
+
fullIcon,
|
|
40
|
+
full,
|
|
41
|
+
active,
|
|
42
|
+
value,
|
|
43
|
+
readOnly,
|
|
44
|
+
fractionValue,
|
|
45
|
+
classNames,
|
|
46
|
+
styles,
|
|
47
|
+
unstyled,
|
|
48
|
+
color
|
|
49
|
+
} = _b, others = __objRest(_b, [
|
|
50
|
+
"size",
|
|
51
|
+
"getSymbolLabel",
|
|
52
|
+
"emptyIcon",
|
|
53
|
+
"fullIcon",
|
|
54
|
+
"full",
|
|
55
|
+
"active",
|
|
56
|
+
"value",
|
|
57
|
+
"readOnly",
|
|
58
|
+
"fractionValue",
|
|
59
|
+
"classNames",
|
|
60
|
+
"styles",
|
|
61
|
+
"unstyled",
|
|
62
|
+
"color"
|
|
63
|
+
]);
|
|
64
|
+
const id = useId();
|
|
65
|
+
const { classes } = useStyles(null, { name: "Rating", classNames, styles, unstyled });
|
|
66
|
+
const _fullIcon = typeof fullIcon === "function" ? fullIcon(value) : fullIcon;
|
|
67
|
+
const _emptyIcon = typeof emptyIcon === "function" ? emptyIcon(value) : emptyIcon;
|
|
68
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, !readOnly && /* @__PURE__ */ React.createElement("input", __spreadValues({
|
|
69
|
+
className: classes.input,
|
|
70
|
+
id,
|
|
71
|
+
type: "radio",
|
|
72
|
+
"data-active": active,
|
|
73
|
+
"aria-label": getSymbolLabel(value),
|
|
74
|
+
value
|
|
75
|
+
}, others)), /* @__PURE__ */ React.createElement(Box, {
|
|
76
|
+
component: readOnly ? "div" : "label",
|
|
77
|
+
className: classes.label,
|
|
78
|
+
"data-read-only": readOnly || void 0,
|
|
79
|
+
htmlFor: id,
|
|
80
|
+
sx: fractionValue === 1 ? void 0 : { zIndex: active ? 2 : 0 }
|
|
81
|
+
}, /* @__PURE__ */ React.createElement(Box, {
|
|
82
|
+
className: classes.symbolBody,
|
|
83
|
+
sx: fractionValue === 1 ? void 0 : { clipPath: `inset(0 ${active ? 100 - fractionValue * 100 : 100}% 0 0)` }
|
|
84
|
+
}, full ? _fullIcon || /* @__PURE__ */ React.createElement(StarSymbol, {
|
|
85
|
+
color,
|
|
86
|
+
size,
|
|
87
|
+
type: "full"
|
|
88
|
+
}) : _emptyIcon || /* @__PURE__ */ React.createElement(StarSymbol, {
|
|
89
|
+
color,
|
|
90
|
+
size,
|
|
91
|
+
type: "empty"
|
|
92
|
+
}))));
|
|
93
|
+
}
|
|
94
|
+
RatingItem.displayName = "@mantine/core/RatingItem";
|
|
95
|
+
|
|
96
|
+
export { RatingItem };
|
|
97
|
+
//# sourceMappingURL=RatingItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RatingItem.js","sources":["../../../src/Rating/RatingItem/RatingItem.tsx"],"sourcesContent":["import React, { useId } 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}\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 ...others\n}: RatingItemProps) {\n const id = useId();\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":";;;;;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;AAKK,SAAS,UAAU,CAAC,EAAE,EAAE;AAC/B,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;AACf,IAAI,IAAI;AACR,IAAI,cAAc;AAClB,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,IAAI,MAAM;AACV,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,aAAa;AACjB,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,KAAK;AACT,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,MAAM;AACV,IAAI,gBAAgB;AACpB,IAAI,WAAW;AACf,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,eAAe;AACnB,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,OAAO;AACX,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;AACrB,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;AACxF,EAAE,MAAM,SAAS,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;AAChF,EAAE,MAAM,UAAU,GAAG,OAAO,SAAS,KAAK,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;AACpF,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,oBAAoB,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC;AAC5I,IAAI,SAAS,EAAE,OAAO,CAAC,KAAK;AAC5B,IAAI,EAAE;AACN,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,aAAa,EAAE,MAAM;AACzB,IAAI,YAAY,EAAE,cAAc,CAAC,KAAK,CAAC;AACvC,IAAI,KAAK;AACT,GAAG,EAAE,MAAM,CAAC,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE;AACxD,IAAI,SAAS,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO;AACzC,IAAI,SAAS,EAAE,OAAO,CAAC,KAAK;AAC5B,IAAI,gBAAgB,EAAE,QAAQ,IAAI,KAAK,CAAC;AACxC,IAAI,OAAO,EAAE,EAAE;AACf,IAAI,EAAE,EAAE,aAAa,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE;AACjE,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE;AAC9C,IAAI,SAAS,EAAE,OAAO,CAAC,UAAU;AACjC,IAAI,EAAE,EAAE,aAAa,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,GAAG,aAAa,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE;AAChH,GAAG,EAAE,IAAI,GAAG,SAAS,oBAAoB,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE;AACzE,IAAI,KAAK;AACT,IAAI,IAAI;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG,CAAC,GAAG,UAAU,oBAAoB,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE;AACrE,IAAI,KAAK;AACT,IAAI,IAAI;AACR,IAAI,IAAI,EAAE,OAAO;AACjB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC;AACD,UAAU,CAAC,WAAW,GAAG,0BAA0B;;;;"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { createStyles } from '@mantine/styles';
|
|
2
|
+
|
|
3
|
+
var useStyles = createStyles((theme, _params, getRef) => ({
|
|
4
|
+
input: {
|
|
5
|
+
height: 0,
|
|
6
|
+
width: 0,
|
|
7
|
+
position: "absolute",
|
|
8
|
+
overflow: "hidden",
|
|
9
|
+
whiteSpace: "nowrap",
|
|
10
|
+
opacity: 0,
|
|
11
|
+
"&:focus": {
|
|
12
|
+
[`& + .${getRef("label")}`]: {
|
|
13
|
+
outline: theme.focusRing === "always" || theme.focusRing === "auto" ? `1px solid ${theme.colors[theme.primaryColor][theme.colorScheme === "dark" ? 7 : 5]}` : void 0
|
|
14
|
+
},
|
|
15
|
+
"&:focus:not(:focus-visible)": {
|
|
16
|
+
[`& + .${getRef("label")}`]: {
|
|
17
|
+
outline: theme.focusRing === "auto" || theme.focusRing === "never" ? "none" : void 0
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
label: {
|
|
23
|
+
ref: getRef("label"),
|
|
24
|
+
display: "block",
|
|
25
|
+
boxSizing: "border-box",
|
|
26
|
+
marginInline: 1,
|
|
27
|
+
top: 0,
|
|
28
|
+
left: 0,
|
|
29
|
+
cursor: "pointer",
|
|
30
|
+
position: "absolute",
|
|
31
|
+
zIndex: 0,
|
|
32
|
+
"&[data-read-only]": {
|
|
33
|
+
cursor: "default"
|
|
34
|
+
},
|
|
35
|
+
"&:last-of-type": {
|
|
36
|
+
position: "relative",
|
|
37
|
+
zIndex: 0
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
symbolBody: {
|
|
41
|
+
display: "grid",
|
|
42
|
+
placeContent: "center",
|
|
43
|
+
placeItems: "center"
|
|
44
|
+
}
|
|
45
|
+
}));
|
|
46
|
+
|
|
47
|
+
export default useStyles;
|
|
48
|
+
//# sourceMappingURL=RatingItem.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RatingItem.styles.js","sources":["../../../src/Rating/RatingItem/RatingItem.styles.ts"],"sourcesContent":["import { createStyles } from '@mantine/styles';\n\nexport default createStyles((theme, _params, getRef) => ({\n input: {\n height: 0,\n width: 0,\n position: 'absolute',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n opacity: 0,\n\n '&:focus': {\n [`& + .${getRef('label')}`]: {\n outline:\n theme.focusRing === 'always' || theme.focusRing === 'auto'\n ? `1px solid ${theme.colors[theme.primaryColor][theme.colorScheme === 'dark' ? 7 : 5]}`\n : undefined,\n },\n\n '&:focus:not(:focus-visible)': {\n [`& + .${getRef('label')}`]: {\n outline: theme.focusRing === 'auto' || theme.focusRing === 'never' ? 'none' : undefined,\n },\n },\n },\n },\n\n label: {\n ref: getRef('label'),\n display: 'block',\n boxSizing: 'border-box',\n marginInline: 1,\n top: 0,\n left: 0,\n cursor: 'pointer',\n position: 'absolute',\n zIndex: 0,\n\n '&[data-read-only]': {\n cursor: 'default',\n },\n\n '&:last-of-type': {\n position: 'relative',\n zIndex: 0,\n },\n },\n\n symbolBody: {\n display: 'grid',\n placeContent: 'center',\n placeItems: 'center',\n },\n}));\n"],"names":[],"mappings":";;AACA,gBAAe,YAAY,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM;AACzD,EAAE,KAAK,EAAE;AACT,IAAI,MAAM,EAAE,CAAC;AACb,IAAI,KAAK,EAAE,CAAC;AACZ,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,QAAQ,EAAE,QAAQ;AACtB,IAAI,UAAU,EAAE,QAAQ;AACxB,IAAI,OAAO,EAAE,CAAC;AACd,IAAI,SAAS,EAAE;AACf,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;AACnC,QAAQ,OAAO,EAAE,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AAC5K,OAAO;AACP,MAAM,6BAA6B,EAAE;AACrC,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;AACrC,UAAU,OAAO,EAAE,KAAK,CAAC,SAAS,KAAK,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAC9F,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC;AACxB,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,SAAS,EAAE,YAAY;AAC3B,IAAI,YAAY,EAAE,CAAC;AACnB,IAAI,GAAG,EAAE,CAAC;AACV,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,MAAM,EAAE,SAAS;AACrB,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,MAAM,EAAE,CAAC;AACb,IAAI,mBAAmB,EAAE;AACzB,MAAM,MAAM,EAAE,SAAS;AACvB,KAAK;AACL,IAAI,gBAAgB,EAAE;AACtB,MAAM,QAAQ,EAAE,UAAU;AAC1B,MAAM,MAAM,EAAE,CAAC;AACf,KAAK;AACL,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,YAAY,EAAE,QAAQ;AAC1B,IAAI,UAAU,EAAE,QAAQ;AACxB,GAAG;AACH,CAAC,CAAC,CAAC;;;;"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
function StarIcon(props) {
|
|
20
|
+
return /* @__PURE__ */ React.createElement("svg", __spreadValues({
|
|
21
|
+
viewBox: "0 0 24 24",
|
|
22
|
+
strokeLinecap: "round",
|
|
23
|
+
strokeLinejoin: "round",
|
|
24
|
+
fill: "none",
|
|
25
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
26
|
+
}, props), /* @__PURE__ */ React.createElement("path", {
|
|
27
|
+
d: "M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z"
|
|
28
|
+
}));
|
|
29
|
+
}
|
|
30
|
+
StarIcon.displayName = "@mantine/core/StarIcon";
|
|
31
|
+
|
|
32
|
+
export { StarIcon };
|
|
33
|
+
//# sourceMappingURL=StarIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StarIcon.js","sources":["../../../src/Rating/StarSymbol/StarIcon.tsx"],"sourcesContent":["import React from 'react';\n\nexport function StarIcon(props: React.ComponentPropsWithoutRef<'svg'>) {\n return (\n <svg\n viewBox=\"0 0 24 24\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path d=\"M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z\" />\n </svg>\n );\n}\n\nStarIcon.displayName = '@mantine/core/StarIcon';\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;AAEK,SAAS,QAAQ,CAAC,KAAK,EAAE;AAChC,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC;AACnE,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,aAAa,EAAE,OAAO;AAC1B,IAAI,cAAc,EAAE,OAAO;AAC3B,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,KAAK,EAAE,4BAA4B;AACvC,GAAG,EAAE,KAAK,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AACzD,IAAI,CAAC,EAAE,2GAA2G;AAClH,GAAG,CAAC,CAAC,CAAC;AACN,CAAC;AACD,QAAQ,CAAC,WAAW,GAAG,wBAAwB;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { StarIcon } from './StarIcon.js';
|
|
3
|
+
import useStyles from './StarSymbol.styles.js';
|
|
4
|
+
|
|
5
|
+
function StarSymbol({ size, type, color }) {
|
|
6
|
+
const { classes } = useStyles({ size, type, color });
|
|
7
|
+
return /* @__PURE__ */ React.createElement(StarIcon, {
|
|
8
|
+
className: classes.icon
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
StarSymbol.displayName = "@mantine/core/StarSymbol";
|
|
12
|
+
|
|
13
|
+
export { StarSymbol };
|
|
14
|
+
//# sourceMappingURL=StarSymbol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StarSymbol.js","sources":["../../../src/Rating/StarSymbol/StarSymbol.tsx"],"sourcesContent":["import React from 'react';\nimport { MantineSize, MantineColor } from '@mantine/styles';\nimport { StarIcon } from './StarIcon';\nimport useStyles from './StarSymbol.styles';\n\nexport interface StarSymbolProps {\n size: MantineSize;\n color: MantineColor;\n type: 'empty' | 'full';\n}\n\nexport function StarSymbol({ size, type, color }: StarSymbolProps) {\n const { classes } = useStyles({ size, type, color });\n return <StarIcon className={classes.icon} />;\n}\n\nStarSymbol.displayName = '@mantine/core/StarSymbol';\n"],"names":[],"mappings":";;;;AAGO,SAAS,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;AAClD,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACvD,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;AACvD,IAAI,SAAS,EAAE,OAAO,CAAC,IAAI;AAC3B,GAAG,CAAC,CAAC;AACL,CAAC;AACD,UAAU,CAAC,WAAW,GAAG,0BAA0B;;;;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { createStyles } from '@mantine/styles';
|
|
2
|
+
|
|
3
|
+
const sizes = {
|
|
4
|
+
xs: 14,
|
|
5
|
+
sm: 18,
|
|
6
|
+
md: 20,
|
|
7
|
+
lg: 28,
|
|
8
|
+
xl: 32
|
|
9
|
+
};
|
|
10
|
+
var useStyles = createStyles((theme, { size, type, color }) => {
|
|
11
|
+
const emptyColor = theme.colorScheme === "light" ? theme.colors.gray[3] : theme.colors.gray[8];
|
|
12
|
+
const fullColor = theme.fn.variant({ variant: "filled", color }).background;
|
|
13
|
+
return {
|
|
14
|
+
icon: {
|
|
15
|
+
stroke: type === "empty" ? emptyColor : fullColor,
|
|
16
|
+
fill: type === "empty" ? emptyColor : fullColor,
|
|
17
|
+
width: theme.fn.size({ size, sizes }),
|
|
18
|
+
height: theme.fn.size({ size, sizes })
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
export default useStyles;
|
|
24
|
+
//# sourceMappingURL=StarSymbol.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StarSymbol.styles.js","sources":["../../../src/Rating/StarSymbol/StarSymbol.styles.ts"],"sourcesContent":["import { createStyles, MantineColor, MantineSize } from '@mantine/styles';\n\nexport interface StarSymbolStylesParams {\n size: MantineSize;\n type: 'empty' | 'full';\n color: MantineColor;\n}\n\nconst sizes: Record<MantineSize, number> = {\n xs: 14,\n sm: 18,\n md: 20,\n lg: 28,\n xl: 32,\n};\n\nexport default createStyles((theme, { size, type, color }: StarSymbolStylesParams) => {\n const emptyColor = theme.colorScheme === 'light' ? theme.colors.gray[3] : theme.colors.gray[8];\n const fullColor = theme.fn.variant({ variant: 'filled', color }).background;\n\n return {\n icon: {\n stroke: type === 'empty' ? emptyColor : fullColor,\n fill: type === 'empty' ? emptyColor : fullColor,\n width: theme.fn.size({ size, sizes }),\n height: theme.fn.size({ size, sizes }),\n },\n };\n});\n"],"names":[],"mappings":";;AACA,MAAM,KAAK,GAAG;AACd,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,CAAC,CAAC;AACF,gBAAe,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK;AAC9D,EAAE,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,KAAK,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjG,EAAE,MAAM,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC;AAC9E,EAAE,OAAO;AACT,IAAI,IAAI,EAAE;AACV,MAAM,MAAM,EAAE,IAAI,KAAK,OAAO,GAAG,UAAU,GAAG,SAAS;AACvD,MAAM,IAAI,EAAE,IAAI,KAAK,OAAO,GAAG,UAAU,GAAG,SAAS;AACrD,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC3C,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC5C,KAAK;AACL,GAAG,CAAC;AACJ,CAAC,CAAC;;;;"}
|
|
@@ -4,6 +4,8 @@ import { getCurveProps } from './get-curve-props.js';
|
|
|
4
4
|
import { Tooltip } from '../../Tooltip/Tooltip.js';
|
|
5
5
|
|
|
6
6
|
var __defProp = Object.defineProperty;
|
|
7
|
+
var __defProps = Object.defineProperties;
|
|
8
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
7
9
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
8
10
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
11
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
@@ -19,27 +21,51 @@ var __spreadValues = (a, b) => {
|
|
|
19
21
|
}
|
|
20
22
|
return a;
|
|
21
23
|
};
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
24
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
25
|
+
var __objRest = (source, exclude) => {
|
|
26
|
+
var target = {};
|
|
27
|
+
for (var prop in source)
|
|
28
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
29
|
+
target[prop] = source[prop];
|
|
30
|
+
if (source != null && __getOwnPropSymbols)
|
|
31
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
32
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
33
|
+
target[prop] = source[prop];
|
|
34
|
+
}
|
|
35
|
+
return target;
|
|
36
|
+
};
|
|
37
|
+
function Curve(_a) {
|
|
38
|
+
var _b = _a, {
|
|
39
|
+
size,
|
|
40
|
+
value,
|
|
41
|
+
offset,
|
|
42
|
+
sum,
|
|
43
|
+
thickness,
|
|
44
|
+
root,
|
|
45
|
+
color,
|
|
46
|
+
lineRoundCaps,
|
|
47
|
+
tooltip
|
|
48
|
+
} = _b, others = __objRest(_b, [
|
|
49
|
+
"size",
|
|
50
|
+
"value",
|
|
51
|
+
"offset",
|
|
52
|
+
"sum",
|
|
53
|
+
"thickness",
|
|
54
|
+
"root",
|
|
55
|
+
"color",
|
|
56
|
+
"lineRoundCaps",
|
|
57
|
+
"tooltip"
|
|
58
|
+
]);
|
|
33
59
|
const theme = useMantineTheme();
|
|
34
60
|
const stroke = theme.fn.themeColor(color || (theme.colorScheme === "dark" ? "dark" : "gray"), color ? theme.fn.primaryShade() : theme.colorScheme === "dark" ? 4 : 1, false);
|
|
35
61
|
return /* @__PURE__ */ React.createElement(Tooltip.Floating, {
|
|
36
62
|
disabled: !tooltip,
|
|
37
63
|
label: tooltip
|
|
38
|
-
}, /* @__PURE__ */ React.createElement("circle", __spreadValues({
|
|
64
|
+
}, /* @__PURE__ */ React.createElement("circle", __spreadValues(__spreadProps(__spreadValues({}, others), {
|
|
39
65
|
fill: "none",
|
|
40
66
|
strokeLinecap: lineRoundCaps ? "round" : "butt",
|
|
41
67
|
stroke
|
|
42
|
-
}, getCurveProps({ sum, size, thickness, value, offset, root }))));
|
|
68
|
+
}), getCurveProps({ sum, size, thickness, value, offset, root }))));
|
|
43
69
|
}
|
|
44
70
|
Curve.displayName = "@mantine/core/Curve";
|
|
45
71
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Curve.js","sources":["../../../src/RingProgress/Curve/Curve.tsx"],"sourcesContent":["import React from 'react';\nimport { useMantineTheme, MantineColor } from '@mantine/styles';\nimport { Tooltip } from '../../Tooltip';\nimport { getCurveProps } from './get-curve-props';\n\ninterface CurveProps {\n value?: number;\n size: number;\n offset: number;\n sum: number;\n thickness: number;\n lineRoundCaps: boolean;\n root?: boolean;\n color?: MantineColor;\n tooltip?: React.ReactNode;\n}\n\nexport function Curve({\n size,\n value,\n offset,\n sum,\n thickness,\n root,\n color,\n lineRoundCaps,\n tooltip,\n}: CurveProps) {\n const theme = useMantineTheme();\n const stroke = theme.fn.themeColor(\n color || (theme.colorScheme === 'dark' ? 'dark' : 'gray'),\n color ? theme.fn.primaryShade() : theme.colorScheme === 'dark' ? 4 : 1,\n false\n );\n\n return (\n <Tooltip.Floating disabled={!tooltip} label={tooltip}>\n <circle\n fill=\"none\"\n strokeLinecap={lineRoundCaps ? 'round' : 'butt'}\n stroke={stroke}\n {...getCurveProps({ sum, size, thickness, value, offset, root })}\n />\n </Tooltip.Floating>\n );\n}\n\nCurve.displayName = '@mantine/core/Curve';\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;
|
|
1
|
+
{"version":3,"file":"Curve.js","sources":["../../../src/RingProgress/Curve/Curve.tsx"],"sourcesContent":["import React from 'react';\nimport { useMantineTheme, MantineColor } from '@mantine/styles';\nimport { Tooltip } from '../../Tooltip';\nimport { getCurveProps } from './get-curve-props';\n\ninterface CurveProps extends React.ComponentPropsWithRef<'circle'> {\n value?: number;\n size: number;\n offset: number;\n sum: number;\n thickness: number;\n lineRoundCaps: boolean;\n root?: boolean;\n color?: MantineColor;\n tooltip?: React.ReactNode;\n}\n\nexport function Curve({\n size,\n value,\n offset,\n sum,\n thickness,\n root,\n color,\n lineRoundCaps,\n tooltip,\n ...others\n}: CurveProps) {\n const theme = useMantineTheme();\n const stroke = theme.fn.themeColor(\n color || (theme.colorScheme === 'dark' ? 'dark' : 'gray'),\n color ? theme.fn.primaryShade() : theme.colorScheme === 'dark' ? 4 : 1,\n false\n );\n\n return (\n <Tooltip.Floating disabled={!tooltip} label={tooltip}>\n <circle\n {...others}\n fill=\"none\"\n strokeLinecap={lineRoundCaps ? 'round' : 'butt'}\n stroke={stroke}\n {...getCurveProps({ sum, size, thickness, value, offset, root })}\n />\n </Tooltip.Floating>\n );\n}\n\nCurve.displayName = '@mantine/core/Curve';\n"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,8 @@ import useStyles from './RingProgress.styles.js';
|
|
|
6
6
|
import { Box } from '../Box/Box.js';
|
|
7
7
|
|
|
8
8
|
var __defProp = Object.defineProperty;
|
|
9
|
+
var __defProps = Object.defineProperties;
|
|
10
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
9
11
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
10
12
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
11
13
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
@@ -21,6 +23,7 @@ var __spreadValues = (a, b) => {
|
|
|
21
23
|
}
|
|
22
24
|
return a;
|
|
23
25
|
};
|
|
26
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
24
27
|
var __objRest = (source, exclude) => {
|
|
25
28
|
var target = {};
|
|
26
29
|
for (var prop in source)
|
|
@@ -67,21 +70,18 @@ const RingProgress = forwardRef((props, ref) => {
|
|
|
67
70
|
thickness,
|
|
68
71
|
sections,
|
|
69
72
|
renderRoundedLineCaps: roundCaps
|
|
70
|
-
}).map((
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
tooltip: (_c = curve.data) == null ? void 0 : _c.tooltip
|
|
83
|
-
});
|
|
84
|
-
});
|
|
73
|
+
}).map(({ data, sum, root, lineRoundCaps, offset }, index) => /* @__PURE__ */ React.createElement(Curve, __spreadProps(__spreadValues({}, data), {
|
|
74
|
+
key: index,
|
|
75
|
+
value: data == null ? void 0 : data.value,
|
|
76
|
+
size,
|
|
77
|
+
thickness,
|
|
78
|
+
sum,
|
|
79
|
+
offset,
|
|
80
|
+
color: data == null ? void 0 : data.color,
|
|
81
|
+
root,
|
|
82
|
+
lineRoundCaps,
|
|
83
|
+
tooltip: data == null ? void 0 : data.tooltip
|
|
84
|
+
})));
|
|
85
85
|
return /* @__PURE__ */ React.createElement(Box, __spreadValues({
|
|
86
86
|
style: __spreadValues({ width: size, height: size }, style),
|
|
87
87
|
className: cx(classes.root, className),
|