@mantine/core 5.5.5 → 5.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/cjs/Autocomplete/Autocomplete.js +7 -3
  2. package/cjs/Autocomplete/Autocomplete.js.map +1 -1
  3. package/cjs/Badge/Badge.styles.js +1 -1
  4. package/cjs/Badge/Badge.styles.js.map +1 -1
  5. package/cjs/CloseButton/CloseButton.js +5 -2
  6. package/cjs/CloseButton/CloseButton.js.map +1 -1
  7. package/cjs/ColorInput/ColorInput.js +6 -4
  8. package/cjs/ColorInput/ColorInput.js.map +1 -1
  9. package/cjs/FileButton/FileButton.js +2 -2
  10. package/cjs/FileButton/FileButton.js.map +1 -1
  11. package/cjs/FileInput/FileInput.js +7 -4
  12. package/cjs/FileInput/FileInput.js.map +1 -1
  13. package/cjs/Image/Image.js +3 -3
  14. package/cjs/Image/Image.js.map +1 -1
  15. package/cjs/JsonInput/JsonInput.js +7 -4
  16. package/cjs/JsonInput/JsonInput.js.map +1 -1
  17. package/cjs/MediaQuery/MediaQuery.js.map +1 -1
  18. package/cjs/MediaQuery/MediaQuery.styles.js +5 -4
  19. package/cjs/MediaQuery/MediaQuery.styles.js.map +1 -1
  20. package/cjs/Menu/MenuTarget/MenuTarget.js +0 -1
  21. package/cjs/Menu/MenuTarget/MenuTarget.js.map +1 -1
  22. package/cjs/NativeSelect/NativeSelect.js +1 -0
  23. package/cjs/NativeSelect/NativeSelect.js.map +1 -1
  24. package/cjs/PasswordInput/PasswordInput.js +8 -2
  25. package/cjs/PasswordInput/PasswordInput.js.map +1 -1
  26. package/cjs/Popover/use-popover.js +1 -1
  27. package/cjs/Popover/use-popover.js.map +1 -1
  28. package/cjs/Progress/Progress.js +33 -18
  29. package/cjs/Progress/Progress.js.map +1 -1
  30. package/cjs/Rating/Rating.js +192 -0
  31. package/cjs/Rating/Rating.js.map +1 -0
  32. package/cjs/Rating/Rating.styles.js +23 -0
  33. package/cjs/Rating/Rating.styles.js.map +1 -0
  34. package/cjs/Rating/RatingItem/RatingItem.js +105 -0
  35. package/cjs/Rating/RatingItem/RatingItem.js.map +1 -0
  36. package/cjs/Rating/RatingItem/RatingItem.styles.js +52 -0
  37. package/cjs/Rating/RatingItem/RatingItem.styles.js.map +1 -0
  38. package/cjs/Rating/StarSymbol/StarIcon.js +41 -0
  39. package/cjs/Rating/StarSymbol/StarIcon.js.map +1 -0
  40. package/cjs/Rating/StarSymbol/StarSymbol.js +22 -0
  41. package/cjs/Rating/StarSymbol/StarSymbol.js.map +1 -0
  42. package/cjs/Rating/StarSymbol/StarSymbol.styles.js +28 -0
  43. package/cjs/Rating/StarSymbol/StarSymbol.styles.js.map +1 -0
  44. package/cjs/RingProgress/Curve/Curve.js +39 -13
  45. package/cjs/RingProgress/Curve/Curve.js.map +1 -1
  46. package/cjs/RingProgress/RingProgress.js +15 -15
  47. package/cjs/RingProgress/RingProgress.js.map +1 -1
  48. package/cjs/RingProgress/get-curves/get-curves.js.map +1 -1
  49. package/cjs/Select/SelectPopover/SelectPopover.js +3 -1
  50. package/cjs/Select/SelectPopover/SelectPopover.js.map +1 -1
  51. package/cjs/Tabs/Tab/Tab.js +2 -1
  52. package/cjs/Tabs/Tab/Tab.js.map +1 -1
  53. package/cjs/Tabs/Tab/Tab.styles.js +7 -7
  54. package/cjs/Tabs/Tab/Tab.styles.js.map +1 -1
  55. package/cjs/Tabs/Tabs.context.js.map +1 -1
  56. package/cjs/Tabs/Tabs.js +9 -5
  57. package/cjs/Tabs/Tabs.js.map +1 -1
  58. package/cjs/Tabs/Tabs.styles.js +3 -2
  59. package/cjs/Tabs/Tabs.styles.js.map +1 -1
  60. package/cjs/Tabs/TabsList/TabsList.js +2 -2
  61. package/cjs/Tabs/TabsList/TabsList.js.map +1 -1
  62. package/cjs/Tabs/TabsList/TabsList.styles.js +3 -3
  63. package/cjs/Tabs/TabsList/TabsList.styles.js.map +1 -1
  64. package/cjs/Tabs/TabsPanel/TabsPanel.js +2 -1
  65. package/cjs/Tabs/TabsPanel/TabsPanel.js.map +1 -1
  66. package/cjs/Tabs/TabsProvider.js +2 -0
  67. package/cjs/Tabs/TabsProvider.js.map +1 -1
  68. package/cjs/Tooltip/Tooltip.js +2 -2
  69. package/cjs/Tooltip/Tooltip.js.map +1 -1
  70. package/cjs/index.js +4 -0
  71. package/cjs/index.js.map +1 -1
  72. package/esm/Autocomplete/Autocomplete.js +7 -3
  73. package/esm/Autocomplete/Autocomplete.js.map +1 -1
  74. package/esm/Badge/Badge.styles.js +1 -1
  75. package/esm/Badge/Badge.styles.js.map +1 -1
  76. package/esm/CloseButton/CloseButton.js +5 -3
  77. package/esm/CloseButton/CloseButton.js.map +1 -1
  78. package/esm/ColorInput/ColorInput.js +6 -4
  79. package/esm/ColorInput/ColorInput.js.map +1 -1
  80. package/esm/FileButton/FileButton.js +2 -2
  81. package/esm/FileButton/FileButton.js.map +1 -1
  82. package/esm/FileInput/FileInput.js +7 -4
  83. package/esm/FileInput/FileInput.js.map +1 -1
  84. package/esm/Image/Image.js +3 -3
  85. package/esm/Image/Image.js.map +1 -1
  86. package/esm/JsonInput/JsonInput.js +7 -4
  87. package/esm/JsonInput/JsonInput.js.map +1 -1
  88. package/esm/MediaQuery/MediaQuery.js.map +1 -1
  89. package/esm/MediaQuery/MediaQuery.styles.js +5 -4
  90. package/esm/MediaQuery/MediaQuery.styles.js.map +1 -1
  91. package/esm/Menu/MenuTarget/MenuTarget.js +1 -2
  92. package/esm/Menu/MenuTarget/MenuTarget.js.map +1 -1
  93. package/esm/NativeSelect/NativeSelect.js +1 -0
  94. package/esm/NativeSelect/NativeSelect.js.map +1 -1
  95. package/esm/PasswordInput/PasswordInput.js +8 -2
  96. package/esm/PasswordInput/PasswordInput.js.map +1 -1
  97. package/esm/Popover/use-popover.js +2 -2
  98. package/esm/Popover/use-popover.js.map +1 -1
  99. package/esm/Progress/Progress.js +33 -18
  100. package/esm/Progress/Progress.js.map +1 -1
  101. package/esm/Rating/Rating.js +184 -0
  102. package/esm/Rating/Rating.js.map +1 -0
  103. package/esm/Rating/Rating.styles.js +19 -0
  104. package/esm/Rating/Rating.styles.js.map +1 -0
  105. package/esm/Rating/RatingItem/RatingItem.js +97 -0
  106. package/esm/Rating/RatingItem/RatingItem.js.map +1 -0
  107. package/esm/Rating/RatingItem/RatingItem.styles.js +48 -0
  108. package/esm/Rating/RatingItem/RatingItem.styles.js.map +1 -0
  109. package/esm/Rating/StarSymbol/StarIcon.js +33 -0
  110. package/esm/Rating/StarSymbol/StarIcon.js.map +1 -0
  111. package/esm/Rating/StarSymbol/StarSymbol.js +14 -0
  112. package/esm/Rating/StarSymbol/StarSymbol.js.map +1 -0
  113. package/esm/Rating/StarSymbol/StarSymbol.styles.js +24 -0
  114. package/esm/Rating/StarSymbol/StarSymbol.styles.js.map +1 -0
  115. package/esm/RingProgress/Curve/Curve.js +39 -13
  116. package/esm/RingProgress/Curve/Curve.js.map +1 -1
  117. package/esm/RingProgress/RingProgress.js +15 -15
  118. package/esm/RingProgress/RingProgress.js.map +1 -1
  119. package/esm/RingProgress/get-curves/get-curves.js.map +1 -1
  120. package/esm/Select/SelectPopover/SelectPopover.js +3 -1
  121. package/esm/Select/SelectPopover/SelectPopover.js.map +1 -1
  122. package/esm/Tabs/Tab/Tab.js +2 -1
  123. package/esm/Tabs/Tab/Tab.js.map +1 -1
  124. package/esm/Tabs/Tab/Tab.styles.js +7 -7
  125. package/esm/Tabs/Tab/Tab.styles.js.map +1 -1
  126. package/esm/Tabs/Tabs.context.js.map +1 -1
  127. package/esm/Tabs/Tabs.js +9 -5
  128. package/esm/Tabs/Tabs.js.map +1 -1
  129. package/esm/Tabs/Tabs.styles.js +3 -2
  130. package/esm/Tabs/Tabs.styles.js.map +1 -1
  131. package/esm/Tabs/TabsList/TabsList.js +2 -2
  132. package/esm/Tabs/TabsList/TabsList.js.map +1 -1
  133. package/esm/Tabs/TabsList/TabsList.styles.js +3 -3
  134. package/esm/Tabs/TabsList/TabsList.styles.js.map +1 -1
  135. package/esm/Tabs/TabsPanel/TabsPanel.js +2 -1
  136. package/esm/Tabs/TabsPanel/TabsPanel.js.map +1 -1
  137. package/esm/Tabs/TabsProvider.js +2 -0
  138. package/esm/Tabs/TabsProvider.js.map +1 -1
  139. package/esm/Tooltip/Tooltip.js +2 -2
  140. package/esm/Tooltip/Tooltip.js.map +1 -1
  141. package/esm/index.js +2 -0
  142. package/esm/index.js.map +1 -1
  143. package/lib/Autocomplete/Autocomplete.d.ts.map +1 -1
  144. package/lib/CloseButton/CloseButton.d.ts +8 -1
  145. package/lib/CloseButton/CloseButton.d.ts.map +1 -1
  146. package/lib/ColorInput/ColorInput.d.ts.map +1 -1
  147. package/lib/FileButton/FileButton.d.ts +2 -0
  148. package/lib/FileButton/FileButton.d.ts.map +1 -1
  149. package/lib/FileInput/FileInput.d.ts +2 -0
  150. package/lib/FileInput/FileInput.d.ts.map +1 -1
  151. package/lib/Image/Image.d.ts.map +1 -1
  152. package/lib/JsonInput/JsonInput.d.ts.map +1 -1
  153. package/lib/MediaQuery/MediaQuery.d.ts +2 -2
  154. package/lib/MediaQuery/MediaQuery.d.ts.map +1 -1
  155. package/lib/MediaQuery/MediaQuery.styles.d.ts +3 -3
  156. package/lib/MediaQuery/MediaQuery.styles.d.ts.map +1 -1
  157. package/lib/Menu/MenuTarget/MenuTarget.d.ts.map +1 -1
  158. package/lib/PasswordInput/PasswordInput.d.ts.map +1 -1
  159. package/lib/Popover/use-popover.d.ts.map +1 -1
  160. package/lib/Progress/Progress.d.ts +1 -1
  161. package/lib/Progress/Progress.d.ts.map +1 -1
  162. package/lib/Rating/Rating.d.ts +37 -0
  163. package/lib/Rating/Rating.d.ts.map +1 -0
  164. package/lib/Rating/Rating.styles.d.ts +7 -0
  165. package/lib/Rating/Rating.styles.d.ts.map +1 -0
  166. package/lib/Rating/RatingItem/RatingItem.d.ts +20 -0
  167. package/lib/Rating/RatingItem/RatingItem.d.ts.map +1 -0
  168. package/lib/Rating/RatingItem/RatingItem.styles.d.ts +7 -0
  169. package/lib/Rating/RatingItem/RatingItem.styles.d.ts.map +1 -0
  170. package/lib/Rating/StarSymbol/StarIcon.d.ts +6 -0
  171. package/lib/Rating/StarSymbol/StarIcon.d.ts.map +1 -0
  172. package/lib/Rating/StarSymbol/StarSymbol.d.ts +12 -0
  173. package/lib/Rating/StarSymbol/StarSymbol.d.ts.map +1 -0
  174. package/lib/Rating/StarSymbol/StarSymbol.styles.d.ts +13 -0
  175. package/lib/Rating/StarSymbol/StarSymbol.styles.d.ts.map +1 -0
  176. package/lib/Rating/index.d.ts +4 -0
  177. package/lib/Rating/index.d.ts.map +1 -0
  178. package/lib/RingProgress/Curve/Curve.d.ts +2 -2
  179. package/lib/RingProgress/Curve/Curve.d.ts.map +1 -1
  180. package/lib/RingProgress/RingProgress.d.ts +7 -5
  181. package/lib/RingProgress/RingProgress.d.ts.map +1 -1
  182. package/lib/RingProgress/get-curves/get-curves.d.ts +1 -1
  183. package/lib/RingProgress/get-curves/get-curves.d.ts.map +1 -1
  184. package/lib/Select/SelectPopover/SelectPopover.d.ts +2 -1
  185. package/lib/Select/SelectPopover/SelectPopover.d.ts.map +1 -1
  186. package/lib/Tabs/Tab/Tab.d.ts.map +1 -1
  187. package/lib/Tabs/Tab/Tab.styles.d.ts.map +1 -1
  188. package/lib/Tabs/Tabs.context.d.ts +3 -2
  189. package/lib/Tabs/Tabs.context.d.ts.map +1 -1
  190. package/lib/Tabs/Tabs.d.ts.map +1 -1
  191. package/lib/Tabs/Tabs.styles.d.ts.map +1 -1
  192. package/lib/Tabs/Tabs.types.d.ts +2 -0
  193. package/lib/Tabs/Tabs.types.d.ts.map +1 -1
  194. package/lib/Tabs/TabsList/TabsList.styles.d.ts.map +1 -1
  195. package/lib/Tabs/TabsPanel/TabsPanel.d.ts.map +1 -1
  196. package/lib/Tabs/TabsProvider.d.ts +4 -2
  197. package/lib/Tabs/TabsProvider.d.ts.map +1 -1
  198. package/lib/index.d.ts +1 -0
  199. package/lib/index.d.ts.map +1 -1
  200. package/package.json +4 -4
@@ -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":"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"}
@@ -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
- function Curve({
23
- size,
24
- value,
25
- offset,
26
- sum,
27
- thickness,
28
- root,
29
- color,
30
- lineRoundCaps,
31
- tooltip
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;AAKK,SAAS,KAAK,CAAC;AACtB,EAAE,IAAI;AACN,EAAE,KAAK;AACP,EAAE,MAAM;AACR,EAAE,GAAG;AACL,EAAE,SAAS;AACX,EAAE,IAAI;AACN,EAAE,KAAK;AACP,EAAE,aAAa;AACf,EAAE,OAAO;AACT,CAAC,EAAE;AACH,EAAE,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;AAClC,EAAE,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;AAC/K,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE;AAC/D,IAAI,QAAQ,EAAE,CAAC,OAAO;AACtB,IAAI,KAAK,EAAE,OAAO;AAClB,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,cAAc,CAAC;AAClE,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,aAAa,EAAE,aAAa,GAAG,OAAO,GAAG,MAAM;AACnD,IAAI,MAAM;AACV,GAAG,EAAE,aAAa,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;AACD,KAAK,CAAC,WAAW,GAAG,qBAAqB;;;;"}
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((curve, index) => {
71
- var _a2, _b, _c;
72
- return /* @__PURE__ */ React.createElement(Curve, {
73
- key: index,
74
- value: (_a2 = curve.data) == null ? void 0 : _a2.value,
75
- size,
76
- thickness,
77
- sum: curve.sum,
78
- offset: curve.offset,
79
- color: (_b = curve.data) == null ? void 0 : _b.color,
80
- root: curve.root,
81
- lineRoundCaps: curve.lineRoundCaps,
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),
@@ -1 +1 @@
1
- {"version":3,"file":"RingProgress.js","sources":["../../src/RingProgress/RingProgress.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineColor, Selectors, useComponentDefaultProps } from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Curve } from './Curve/Curve';\nimport { getCurves } from './get-curves/get-curves';\nimport useStyles from './RingProgress.styles';\n\nexport type RingProgressStylesNames = Selectors<typeof useStyles>;\n\nexport interface RingProgressProps\n extends DefaultProps<RingProgressStylesNames>,\n React.ComponentPropsWithoutRef<'div'> {\n /** Label displayed in the center of the ring */\n label?: React.ReactNode;\n\n /** Ring thickness */\n thickness?: number;\n\n /** Width and height of the progress ring in px */\n size?: number;\n\n /** Sets whether the edges of the progress circle are rounded */\n roundCaps?: boolean;\n\n /** Ring sections */\n sections: { value: number; color: MantineColor; tooltip?: React.ReactNode }[];\n}\n\nconst defaultProps: Partial<RingProgressProps> = {\n size: 120,\n thickness: 12,\n};\n\nexport const RingProgress = forwardRef<HTMLDivElement, RingProgressProps>((props, ref) => {\n const {\n className,\n style,\n label,\n sections,\n size,\n thickness,\n classNames,\n styles,\n roundCaps,\n unstyled,\n ...others\n } = useComponentDefaultProps('RingProgress', defaultProps, props);\n\n const { classes, cx } = useStyles(null, { classNames, styles, unstyled, name: 'RingProgress' });\n\n const curves = getCurves({\n size,\n thickness,\n sections,\n renderRoundedLineCaps: roundCaps,\n }).map((curve, index) => (\n <Curve\n key={index}\n value={curve.data?.value}\n size={size}\n thickness={thickness}\n sum={curve.sum}\n offset={curve.offset}\n color={curve.data?.color}\n root={curve.root}\n lineRoundCaps={curve.lineRoundCaps}\n tooltip={curve.data?.tooltip}\n />\n ));\n\n return (\n <Box\n style={{ width: size, height: size, ...style }}\n className={cx(classes.root, className)}\n ref={ref}\n {...others}\n >\n <svg width={size} height={size} style={{ transform: 'rotate(-90deg)' }}>\n {curves}\n </svg>\n\n {label && (\n <div className={classes.label} style={{ right: thickness * 2, left: thickness * 2 }}>\n {label}\n </div>\n )}\n </Box>\n );\n});\n\nRingProgress.displayName = '@mantine/core/RingProgress';\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;AAOF,MAAM,YAAY,GAAG;AACrB,EAAE,IAAI,EAAE,GAAG;AACX,EAAE,SAAS,EAAE,EAAE;AACf,CAAC,CAAC;AACU,MAAC,YAAY,GAAG,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AACvD,EAAE,MAAM,EAAE,GAAG,wBAAwB,CAAC,cAAc,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;AAC5E,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,IAAI,SAAS;AACb,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,WAAW;AACf,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,WAAW;AACf,IAAI,UAAU;AACd,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;AAClG,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;AAC3B,IAAI,IAAI;AACR,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,qBAAqB,EAAE,SAAS;AACpC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK;AAC3B,IAAI,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;AACpB,IAAI,uBAAuB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACtD,MAAM,GAAG,EAAE,KAAK;AAChB,MAAM,KAAK,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK;AAC5D,MAAM,IAAI;AACV,MAAM,SAAS;AACf,MAAM,GAAG,EAAE,KAAK,CAAC,GAAG;AACpB,MAAM,MAAM,EAAE,KAAK,CAAC,MAAM;AAC1B,MAAM,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK;AAC1D,MAAM,IAAI,EAAE,KAAK,CAAC,IAAI;AACtB,MAAM,aAAa,EAAE,KAAK,CAAC,aAAa;AACxC,MAAM,OAAO,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO;AAC9D,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,CAAC;AACL,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC;AACjE,IAAI,KAAK,EAAE,cAAc,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC;AAC/D,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;AAC1C,IAAI,GAAG;AACP,GAAG,EAAE,MAAM,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACzD,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE;AAC1C,GAAG,EAAE,MAAM,CAAC,EAAE,KAAK,oBAAoB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAClE,IAAI,SAAS,EAAE,OAAO,CAAC,KAAK;AAC5B,IAAI,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,GAAG,CAAC,EAAE;AACxD,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AACb,CAAC,EAAE;AACH,YAAY,CAAC,WAAW,GAAG,4BAA4B;;;;"}
1
+ {"version":3,"file":"RingProgress.js","sources":["../../src/RingProgress/RingProgress.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineColor, Selectors, useComponentDefaultProps } from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Curve } from './Curve/Curve';\nimport { getCurves } from './get-curves/get-curves';\nimport useStyles from './RingProgress.styles';\n\nexport type RingProgressStylesNames = Selectors<typeof useStyles>;\n\ninterface RingProgressSection extends React.ComponentPropsWithRef<'circle'> {\n value: number;\n color: MantineColor;\n tooltip?: React.ReactNode;\n}\n\nexport interface RingProgressProps\n extends DefaultProps<RingProgressStylesNames>,\n React.ComponentPropsWithoutRef<'div'> {\n /** Label displayed in the center of the ring */\n label?: React.ReactNode;\n\n /** Ring thickness */\n thickness?: number;\n\n /** Width and height of the progress ring in px */\n size?: number;\n\n /** Sets whether the edges of the progress circle are rounded */\n roundCaps?: boolean;\n\n /** Ring sections */\n sections: RingProgressSection[];\n}\n\nconst defaultProps: Partial<RingProgressProps> = {\n size: 120,\n thickness: 12,\n};\n\nexport const RingProgress = forwardRef<HTMLDivElement, RingProgressProps>((props, ref) => {\n const {\n className,\n style,\n label,\n sections,\n size,\n thickness,\n classNames,\n styles,\n roundCaps,\n unstyled,\n ...others\n } = useComponentDefaultProps('RingProgress', defaultProps, props);\n\n const { classes, cx } = useStyles(null, { classNames, styles, unstyled, name: 'RingProgress' });\n\n const curves = getCurves({\n size,\n thickness,\n sections,\n renderRoundedLineCaps: roundCaps,\n }).map(({ data, sum, root, lineRoundCaps, offset }, index) => (\n <Curve\n {...data}\n key={index}\n value={data?.value}\n size={size}\n thickness={thickness}\n sum={sum}\n offset={offset}\n color={data?.color}\n root={root}\n lineRoundCaps={lineRoundCaps}\n tooltip={data?.tooltip}\n />\n ));\n\n return (\n <Box\n style={{ width: size, height: size, ...style }}\n className={cx(classes.root, className)}\n ref={ref}\n {...others}\n >\n <svg width={size} height={size} style={{ transform: 'rotate(-90deg)' }}>\n {curves}\n </svg>\n\n {label && (\n <div className={classes.label} style={{ right: thickness * 2, left: thickness * 2 }}>\n {label}\n </div>\n )}\n </Box>\n );\n});\n\nRingProgress.displayName = '@mantine/core/RingProgress';\n"],"names":[],"mappings":";;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAOF,MAAM,YAAY,GAAG;AACrB,EAAE,IAAI,EAAE,GAAG;AACX,EAAE,SAAS,EAAE,EAAE;AACf,CAAC,CAAC;AACU,MAAC,YAAY,GAAG,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AACvD,EAAE,MAAM,EAAE,GAAG,wBAAwB,CAAC,cAAc,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;AAC5E,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,IAAI,SAAS;AACb,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,WAAW;AACf,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,WAAW;AACf,IAAI,UAAU;AACd,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;AAClG,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;AAC3B,IAAI,IAAI;AACR,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,qBAAqB,EAAE,SAAS;AACpC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,KAAK,qBAAqB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE;AACnJ,IAAI,GAAG,EAAE,KAAK;AACd,IAAI,KAAK,EAAE,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK;AAC7C,IAAI,IAAI;AACR,IAAI,SAAS;AACb,IAAI,GAAG;AACP,IAAI,MAAM;AACV,IAAI,KAAK,EAAE,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK;AAC7C,IAAI,IAAI;AACR,IAAI,aAAa;AACjB,IAAI,OAAO,EAAE,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO;AACjD,GAAG,CAAC,CAAC,CAAC,CAAC;AACP,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC;AACjE,IAAI,KAAK,EAAE,cAAc,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC;AAC/D,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;AAC1C,IAAI,GAAG;AACP,GAAG,EAAE,MAAM,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACzD,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE;AAC1C,GAAG,EAAE,MAAM,CAAC,EAAE,KAAK,oBAAoB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAClE,IAAI,SAAS,EAAE,OAAO,CAAC,KAAK;AAC5B,IAAI,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,GAAG,CAAC,EAAE;AACxD,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AACb,CAAC,EAAE;AACH,YAAY,CAAC,WAAW,GAAG,4BAA4B;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-curves.js","sources":["../../../src/RingProgress/get-curves/get-curves.ts"],"sourcesContent":["import type { MantineColor } from '@mantine/styles';\n\ninterface CurveData {\n value: number;\n color: MantineColor;\n tooltip?: React.ReactNode;\n}\n\ninterface GetCurves {\n sections: CurveData[];\n size: number;\n thickness: number;\n renderRoundedLineCaps: boolean;\n}\n\ninterface Curve {\n sum: number;\n offset: number;\n root: boolean;\n data: CurveData;\n lineRoundCaps?: boolean;\n}\n\nexport function getCurves({ size, thickness, sections, renderRoundedLineCaps }: GetCurves) {\n const sum = sections.reduce((acc, current) => acc + current.value, 0);\n const accumulated = Math.PI * ((size * 0.9 - thickness * 2) / 2) * 2;\n let offset = accumulated;\n const curves: Curve[] = [];\n const curvesInOrder: Curve[] = [];\n\n for (let i = 0; i < sections.length; i += 1) {\n curves.push({ sum, offset, data: sections[i], root: false });\n offset -= (sections[i].value / 100) * accumulated;\n }\n\n curves.push({ sum, offset, data: null, root: true });\n\n // Reorder curves to layer appropriately and selectively set caps to round\n\n curvesInOrder.push({ ...curves[curves.length - 1], lineRoundCaps: false });\n if (curves.length > 2) {\n curvesInOrder.push({ ...curves[0], lineRoundCaps: renderRoundedLineCaps });\n curvesInOrder.push({ ...curves[curves.length - 2], lineRoundCaps: renderRoundedLineCaps });\n for (let i = 1; i <= curves.length - 3; i += 1) {\n curvesInOrder.push({ ...curves[i], lineRoundCaps: false });\n }\n } else {\n curvesInOrder.push({ ...curves[0], lineRoundCaps: renderRoundedLineCaps });\n }\n\n return curvesInOrder;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-curves.js","sources":["../../../src/RingProgress/get-curves/get-curves.ts"],"sourcesContent":["import type { MantineColor } from '@mantine/styles';\n\ninterface CurveData extends React.ComponentPropsWithRef<'circle'> {\n value: number;\n color: MantineColor;\n tooltip?: React.ReactNode;\n}\n\ninterface GetCurves {\n sections: CurveData[];\n size: number;\n thickness: number;\n renderRoundedLineCaps: boolean;\n}\n\ninterface Curve {\n sum: number;\n offset: number;\n root: boolean;\n data: CurveData;\n lineRoundCaps?: boolean;\n}\n\nexport function getCurves({ size, thickness, sections, renderRoundedLineCaps }: GetCurves) {\n const sum = sections.reduce((acc, current) => acc + current.value, 0);\n const accumulated = Math.PI * ((size * 0.9 - thickness * 2) / 2) * 2;\n let offset = accumulated;\n const curves: Curve[] = [];\n const curvesInOrder: Curve[] = [];\n\n for (let i = 0; i < sections.length; i += 1) {\n curves.push({ sum, offset, data: sections[i], root: false });\n offset -= (sections[i].value / 100) * accumulated;\n }\n\n curves.push({ sum, offset, data: null, root: true });\n\n // Reorder curves to layer appropriately and selectively set caps to round\n\n curvesInOrder.push({ ...curves[curves.length - 1], lineRoundCaps: false });\n if (curves.length > 2) {\n curvesInOrder.push({ ...curves[0], lineRoundCaps: renderRoundedLineCaps });\n curvesInOrder.push({ ...curves[curves.length - 2], lineRoundCaps: renderRoundedLineCaps });\n for (let i = 1; i <= curves.length - 3; i += 1) {\n curvesInOrder.push({ ...curves[i], lineRoundCaps: false });\n }\n } else {\n curvesInOrder.push({ ...curves[0], lineRoundCaps: renderRoundedLineCaps });\n }\n\n return curvesInOrder;\n}\n"],"names":[],"mappings":"AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,SAAS,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,qBAAqB,EAAE,EAAE;AAChF,EAAE,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACxE,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,SAAS,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AACvE,EAAE,IAAI,MAAM,GAAG,WAAW,CAAC;AAC3B,EAAE,MAAM,MAAM,GAAG,EAAE,CAAC;AACpB,EAAE,MAAM,aAAa,GAAG,EAAE,CAAC;AAC3B,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAC/C,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACjE,IAAI,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,GAAG,WAAW,CAAC;AACpD,GAAG;AACH,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACvD,EAAE,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC7G,EAAE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACzB,IAAI,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,aAAa,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC;AAC/G,IAAI,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,aAAa,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC;AAC/H,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;AACpD,MAAM,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AACjG,KAAK;AACL,GAAG,MAAM;AACT,IAAI,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,aAAa,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC;AAC/G,GAAG;AACH,EAAE,OAAO,aAAa,CAAC;AACvB;;;;"}
@@ -91,7 +91,8 @@ function SelectPopover({
91
91
  positionDependencies = [],
92
92
  classNames,
93
93
  styles,
94
- unstyled
94
+ unstyled,
95
+ readOnly
95
96
  }) {
96
97
  return /* @__PURE__ */ React.createElement(Popover, {
97
98
  unstyled,
@@ -109,6 +110,7 @@ function SelectPopover({
109
110
  transition,
110
111
  transitionDuration,
111
112
  shadow,
113
+ disabled: readOnly,
112
114
  onPositionChange: (nextPosition) => switchDirectionOnFlip && (onDirectionChange == null ? void 0 : onDirectionChange(nextPosition === "top" ? "column-reverse" : "column"))
113
115
  }, children);
114
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SelectPopover.js","sources":["../../../src/Select/SelectPopover/SelectPopover.tsx"],"sourcesContent":["import React from 'react';\nimport { ClassNames, MantineShadow, Styles, Selectors, DefaultProps } from '@mantine/styles';\nimport { SelectScrollArea } from '../SelectScrollArea/SelectScrollArea';\nimport { Popover } from '../../Popover';\nimport { Box } from '../../Box';\nimport { MantineTransition } from '../../Transition';\nimport useStyles from './SelectPopover.styles';\n\nexport type SelectPopoverStylesNames = Selectors<typeof useStyles>;\n\ninterface SelectPopoverDropdownProps extends DefaultProps<SelectPopoverStylesNames> {\n children: React.ReactNode;\n id: string;\n component?: any;\n maxHeight?: number | string;\n direction?: React.CSSProperties['flexDirection'];\n innerRef?: React.MutableRefObject<HTMLDivElement>;\n __staticSelector?: string;\n}\n\nfunction SelectPopoverDropdown({\n children,\n component = 'div',\n maxHeight = 220,\n direction = 'column',\n id,\n innerRef,\n __staticSelector,\n styles,\n classNames,\n unstyled,\n ...others\n}: SelectPopoverDropdownProps) {\n const { classes } = useStyles(null, { name: __staticSelector, styles, classNames, unstyled });\n\n return (\n <Popover.Dropdown p={0} onMouseDown={(event) => event.preventDefault()} {...others}>\n <div style={{ maxHeight, display: 'flex' }}>\n <Box<'div'>\n component={(component || 'div') as any}\n id={`${id}-items`}\n aria-labelledby={`${id}-label`}\n role=\"listbox\"\n onMouseDown={(event) => event.preventDefault()}\n style={{ flex: 1, overflowY: component !== SelectScrollArea ? 'auto' : undefined }}\n data-combobox-popover\n ref={innerRef}\n >\n <div className={classes.itemsWrapper} style={{ flexDirection: direction }}>\n {children}\n </div>\n </Box>\n </div>\n </Popover.Dropdown>\n );\n}\n\ninterface SelectPopoverProps {\n opened: boolean;\n transition?: MantineTransition;\n transitionDuration?: number;\n shadow?: MantineShadow;\n withinPortal?: boolean;\n children: React.ReactNode;\n __staticSelector?: string;\n onDirectionChange?(direction: React.CSSProperties['flexDirection']): void;\n switchDirectionOnFlip?: boolean;\n zIndex?: React.CSSProperties['zIndex'];\n dropdownPosition?: 'bottom' | 'top' | 'flip';\n positionDependencies?: any[];\n classNames?: ClassNames<SelectPopoverStylesNames>;\n styles?: Styles<SelectPopoverStylesNames>;\n unstyled?: boolean;\n}\n\nexport function SelectPopover({\n opened,\n transition = 'fade',\n transitionDuration = 0,\n shadow,\n withinPortal,\n children,\n __staticSelector,\n onDirectionChange,\n switchDirectionOnFlip,\n zIndex,\n dropdownPosition,\n positionDependencies = [],\n classNames,\n styles,\n unstyled,\n}: SelectPopoverProps) {\n return (\n <Popover\n unstyled={unstyled}\n classNames={classNames}\n styles={styles}\n width=\"target\"\n withRoles={false}\n opened={opened}\n middlewares={{ flip: dropdownPosition === 'flip', shift: false }}\n position={dropdownPosition === 'flip' ? 'bottom' : dropdownPosition}\n positionDependencies={positionDependencies}\n zIndex={zIndex}\n __staticSelector={__staticSelector}\n withinPortal={withinPortal}\n transition={transition}\n transitionDuration={transitionDuration}\n shadow={shadow}\n onPositionChange={(nextPosition) =>\n switchDirectionOnFlip &&\n onDirectionChange?.(nextPosition === 'top' ? 'column-reverse' : 'column')\n }\n >\n {children}\n </Popover>\n );\n}\n\nSelectPopover.Target = Popover.Target;\nSelectPopover.Dropdown = SelectPopoverDropdown;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectPopover.js","sources":["../../../src/Select/SelectPopover/SelectPopover.tsx"],"sourcesContent":["import React from 'react';\nimport { ClassNames, MantineShadow, Styles, Selectors, DefaultProps } from '@mantine/styles';\nimport { SelectScrollArea } from '../SelectScrollArea/SelectScrollArea';\nimport { Popover } from '../../Popover';\nimport { Box } from '../../Box';\nimport { MantineTransition } from '../../Transition';\nimport useStyles from './SelectPopover.styles';\n\nexport type SelectPopoverStylesNames = Selectors<typeof useStyles>;\n\ninterface SelectPopoverDropdownProps extends DefaultProps<SelectPopoverStylesNames> {\n children: React.ReactNode;\n id: string;\n component?: any;\n maxHeight?: number | string;\n direction?: React.CSSProperties['flexDirection'];\n innerRef?: React.MutableRefObject<HTMLDivElement>;\n __staticSelector?: string;\n}\n\nfunction SelectPopoverDropdown({\n children,\n component = 'div',\n maxHeight = 220,\n direction = 'column',\n id,\n innerRef,\n __staticSelector,\n styles,\n classNames,\n unstyled,\n ...others\n}: SelectPopoverDropdownProps) {\n const { classes } = useStyles(null, { name: __staticSelector, styles, classNames, unstyled });\n\n return (\n <Popover.Dropdown p={0} onMouseDown={(event) => event.preventDefault()} {...others}>\n <div style={{ maxHeight, display: 'flex' }}>\n <Box<'div'>\n component={(component || 'div') as any}\n id={`${id}-items`}\n aria-labelledby={`${id}-label`}\n role=\"listbox\"\n onMouseDown={(event) => event.preventDefault()}\n style={{ flex: 1, overflowY: component !== SelectScrollArea ? 'auto' : undefined }}\n data-combobox-popover\n ref={innerRef}\n >\n <div className={classes.itemsWrapper} style={{ flexDirection: direction }}>\n {children}\n </div>\n </Box>\n </div>\n </Popover.Dropdown>\n );\n}\n\ninterface SelectPopoverProps {\n opened: boolean;\n transition?: MantineTransition;\n transitionDuration?: number;\n shadow?: MantineShadow;\n withinPortal?: boolean;\n children: React.ReactNode;\n __staticSelector?: string;\n onDirectionChange?(direction: React.CSSProperties['flexDirection']): void;\n switchDirectionOnFlip?: boolean;\n zIndex?: React.CSSProperties['zIndex'];\n dropdownPosition?: 'bottom' | 'top' | 'flip';\n positionDependencies?: any[];\n classNames?: ClassNames<SelectPopoverStylesNames>;\n styles?: Styles<SelectPopoverStylesNames>;\n unstyled?: boolean;\n readOnly?: boolean;\n}\n\nexport function SelectPopover({\n opened,\n transition = 'fade',\n transitionDuration = 0,\n shadow,\n withinPortal,\n children,\n __staticSelector,\n onDirectionChange,\n switchDirectionOnFlip,\n zIndex,\n dropdownPosition,\n positionDependencies = [],\n classNames,\n styles,\n unstyled,\n readOnly,\n}: SelectPopoverProps) {\n return (\n <Popover\n unstyled={unstyled}\n classNames={classNames}\n styles={styles}\n width=\"target\"\n withRoles={false}\n opened={opened}\n middlewares={{ flip: dropdownPosition === 'flip', shift: false }}\n position={dropdownPosition === 'flip' ? 'bottom' : dropdownPosition}\n positionDependencies={positionDependencies}\n zIndex={zIndex}\n __staticSelector={__staticSelector}\n withinPortal={withinPortal}\n transition={transition}\n transitionDuration={transitionDuration}\n shadow={shadow}\n disabled={readOnly}\n onPositionChange={(nextPosition) =>\n switchDirectionOnFlip &&\n onDirectionChange?.(nextPosition === 'top' ? 'column-reverse' : 'column')\n }\n >\n {children}\n </Popover>\n );\n}\n\nSelectPopover.Target = Popover.Target;\nSelectPopover.Dropdown = SelectPopoverDropdown;\n"],"names":[],"mappings":"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"}
@@ -49,7 +49,8 @@ const Tab = forwardRef((_a, ref) => {
49
49
  color: color || ctx.color,
50
50
  variant: ctx.variant,
51
51
  radius: ctx.radius,
52
- inverted: ctx.inverted
52
+ inverted: ctx.inverted,
53
+ placement: ctx.placement
53
54
  }, { name: "Tabs", unstyled, classNames, styles });
54
55
  const isActive = value === ctx.value;
55
56
  const activateTab = (event) => {
@@ -1 +1 @@
1
- {"version":3,"file":"Tab.js","sources":["../../../src/Tabs/Tab/Tab.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, Selectors, useContextStylesApi, MantineColor } from '@mantine/styles';\nimport { createScopedKeydownHandler } from '@mantine/utils';\nimport { UnstyledButton } from '../../UnstyledButton';\nimport { useTabsContext } from '../Tabs.context';\nimport useStyles from './Tab.styles';\n\nexport type TabStylesNames = Selectors<typeof useStyles>;\n\nexport interface TabProps extends DefaultProps, React.ComponentPropsWithoutRef<'button'> {\n /** Value that is used to connect Tab with associated panel */\n value: string;\n\n /** Tab label */\n children?: React.ReactNode;\n\n /** Section of content displayed after label */\n rightSection?: React.ReactNode;\n\n /** Section of content displayed before label */\n icon?: React.ReactNode;\n\n /** Key of theme.colors */\n color?: MantineColor;\n}\n\nexport const Tab = forwardRef<HTMLButtonElement, TabProps>(\n (\n { value, children, onKeyDown, onClick, className, icon, rightSection, color, ...others },\n ref\n ) => {\n const ctx = useTabsContext();\n const { classNames, styles, unstyled } = useContextStylesApi();\n\n const hasIcon = !!icon;\n const hasRightSection = !!rightSection;\n\n const { theme, classes, cx } = useStyles(\n {\n withIcon: hasIcon || (hasRightSection && !children),\n withRightSection: hasRightSection || (hasIcon && !children),\n orientation: ctx.orientation,\n color: color || ctx.color,\n variant: ctx.variant,\n radius: ctx.radius,\n inverted: ctx.inverted,\n },\n { name: 'Tabs', unstyled, classNames, styles }\n );\n\n const isActive = value === ctx.value;\n const activateTab = (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n ctx.onTabChange(ctx.allowTabDeactivation ? (value === ctx.value ? null : value) : value);\n onClick?.(event);\n };\n\n return (\n <UnstyledButton<'button'>\n {...others}\n unstyled={unstyled}\n className={cx(classes.tab, className)}\n data-active={isActive || undefined}\n ref={ref}\n type=\"button\"\n role=\"tab\"\n id={ctx.getTabId(value)}\n aria-selected={isActive}\n tabIndex={isActive || ctx.value === null ? 0 : -1}\n aria-controls={ctx.getPanelId(value)}\n onClick={activateTab}\n onKeyDown={createScopedKeydownHandler({\n siblingSelector: '[role=\"tab\"]',\n parentSelector: '[role=\"tablist\"]',\n activateOnFocus: ctx.activateTabWithKeyboard,\n loop: ctx.loop,\n dir: theme.dir,\n orientation: ctx.orientation,\n onKeyDown,\n })}\n >\n {icon && <div className={classes.tabIcon}>{icon}</div>}\n {children && <div className={classes.tabLabel}>{children}</div>}\n {rightSection && <div className={classes.tabRightSection}>{rightSection}</div>}\n </UnstyledButton>\n );\n }\n);\n\nTab.displayName = '@mantine/core/Tab';\n"],"names":[],"mappings":";;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAOU,MAAC,GAAG,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK;AAC3C,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;AACvN,EAAE,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;AAC/B,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,mBAAmB,EAAE,CAAC;AACjE,EAAE,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC;AACzB,EAAE,MAAM,eAAe,GAAG,CAAC,CAAC,YAAY,CAAC;AACzC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC;AAC3C,IAAI,QAAQ,EAAE,OAAO,IAAI,eAAe,IAAI,CAAC,QAAQ;AACrD,IAAI,gBAAgB,EAAE,eAAe,IAAI,OAAO,IAAI,CAAC,QAAQ;AAC7D,IAAI,WAAW,EAAE,GAAG,CAAC,WAAW;AAChC,IAAI,KAAK,EAAE,KAAK,IAAI,GAAG,CAAC,KAAK;AAC7B,IAAI,OAAO,EAAE,GAAG,CAAC,OAAO;AACxB,IAAI,MAAM,EAAE,GAAG,CAAC,MAAM;AACtB,IAAI,QAAQ,EAAE,GAAG,CAAC,QAAQ;AAC1B,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AACrD,EAAE,MAAM,QAAQ,GAAG,KAAK,KAAK,GAAG,CAAC,KAAK,CAAC;AACvC,EAAE,MAAM,WAAW,GAAG,CAAC,KAAK,KAAK;AACjC,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,oBAAoB,GAAG,KAAK,KAAK,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC;AAC3F,IAAI,OAAO,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9C,GAAG,CAAC;AACJ,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE;AACvG,IAAI,QAAQ;AACZ,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC;AACzC,IAAI,aAAa,EAAE,QAAQ,IAAI,KAAK,CAAC;AACrC,IAAI,GAAG;AACP,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI,EAAE,KAAK;AACf,IAAI,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;AAC3B,IAAI,eAAe,EAAE,QAAQ;AAC7B,IAAI,QAAQ,EAAE,QAAQ,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;AACrD,IAAI,eAAe,EAAE,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC;AAC1C,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,SAAS,EAAE,0BAA0B,CAAC;AAC1C,MAAM,eAAe,EAAE,cAAc;AACrC,MAAM,cAAc,EAAE,kBAAkB;AACxC,MAAM,eAAe,EAAE,GAAG,CAAC,uBAAuB;AAClD,MAAM,IAAI,EAAE,GAAG,CAAC,IAAI;AACpB,MAAM,GAAG,EAAE,KAAK,CAAC,GAAG;AACpB,MAAM,WAAW,EAAE,GAAG,CAAC,WAAW;AAClC,MAAM,SAAS;AACf,KAAK,CAAC;AACN,GAAG,CAAC,EAAE,IAAI,oBAAoB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACzD,IAAI,SAAS,EAAE,OAAO,CAAC,OAAO;AAC9B,GAAG,EAAE,IAAI,CAAC,EAAE,QAAQ,oBAAoB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACnE,IAAI,SAAS,EAAE,OAAO,CAAC,QAAQ;AAC/B,GAAG,EAAE,QAAQ,CAAC,EAAE,YAAY,oBAAoB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC3E,IAAI,SAAS,EAAE,OAAO,CAAC,eAAe;AACtC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;AACpB,CAAC,EAAE;AACH,GAAG,CAAC,WAAW,GAAG,mBAAmB;;;;"}
1
+ {"version":3,"file":"Tab.js","sources":["../../../src/Tabs/Tab/Tab.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, Selectors, useContextStylesApi, MantineColor } from '@mantine/styles';\nimport { createScopedKeydownHandler } from '@mantine/utils';\nimport { UnstyledButton } from '../../UnstyledButton';\nimport { useTabsContext } from '../Tabs.context';\nimport useStyles from './Tab.styles';\n\nexport type TabStylesNames = Selectors<typeof useStyles>;\n\nexport interface TabProps extends DefaultProps, React.ComponentPropsWithoutRef<'button'> {\n /** Value that is used to connect Tab with associated panel */\n value: string;\n\n /** Tab label */\n children?: React.ReactNode;\n\n /** Section of content displayed after label */\n rightSection?: React.ReactNode;\n\n /** Section of content displayed before label */\n icon?: React.ReactNode;\n\n /** Key of theme.colors */\n color?: MantineColor;\n}\n\nexport const Tab = forwardRef<HTMLButtonElement, TabProps>(\n (\n { value, children, onKeyDown, onClick, className, icon, rightSection, color, ...others },\n ref\n ) => {\n const ctx = useTabsContext();\n const { classNames, styles, unstyled } = useContextStylesApi();\n\n const hasIcon = !!icon;\n const hasRightSection = !!rightSection;\n\n const { theme, classes, cx } = useStyles(\n {\n withIcon: hasIcon || (hasRightSection && !children),\n withRightSection: hasRightSection || (hasIcon && !children),\n orientation: ctx.orientation,\n color: color || ctx.color,\n variant: ctx.variant,\n radius: ctx.radius,\n inverted: ctx.inverted,\n placement: ctx.placement,\n },\n { name: 'Tabs', unstyled, classNames, styles }\n );\n\n const isActive = value === ctx.value;\n const activateTab = (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n ctx.onTabChange(ctx.allowTabDeactivation ? (value === ctx.value ? null : value) : value);\n onClick?.(event);\n };\n\n return (\n <UnstyledButton<'button'>\n {...others}\n unstyled={unstyled}\n className={cx(classes.tab, className)}\n data-active={isActive || undefined}\n ref={ref}\n type=\"button\"\n role=\"tab\"\n id={ctx.getTabId(value)}\n aria-selected={isActive}\n tabIndex={isActive || ctx.value === null ? 0 : -1}\n aria-controls={ctx.getPanelId(value)}\n onClick={activateTab}\n onKeyDown={createScopedKeydownHandler({\n siblingSelector: '[role=\"tab\"]',\n parentSelector: '[role=\"tablist\"]',\n activateOnFocus: ctx.activateTabWithKeyboard,\n loop: ctx.loop,\n dir: theme.dir,\n orientation: ctx.orientation,\n onKeyDown,\n })}\n >\n {icon && <div className={classes.tabIcon}>{icon}</div>}\n {children && <div className={classes.tabLabel}>{children}</div>}\n {rightSection && <div className={classes.tabRightSection}>{rightSection}</div>}\n </UnstyledButton>\n );\n }\n);\n\nTab.displayName = '@mantine/core/Tab';\n"],"names":[],"mappings":"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"}
@@ -19,15 +19,15 @@ var __spreadValues = (a, b) => {
19
19
  return a;
20
20
  };
21
21
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
22
- function getVariantStyles(theme, { variant, orientation, color, radius, inverted }) {
22
+ function getVariantStyles(theme, { variant, orientation, color, radius, inverted, placement }) {
23
23
  const vertical = orientation === "vertical";
24
24
  const filledScheme = theme.fn.variant({ color, variant: "filled" });
25
25
  const radiusValue = theme.fn.radius(radius);
26
- const borderRadius = orientation === "vertical" ? `${radiusValue}px 0 0 ${radiusValue}px` : inverted ? `0 0 ${radiusValue}px ${radiusValue}px` : `${radiusValue}px ${radiusValue}px 0 0`;
26
+ const borderRadius = orientation === "vertical" ? placement === "left" ? `${radiusValue}px 0 0 ${radiusValue}px` : ` 0 ${radiusValue}px ${radiusValue}px 0` : inverted ? `0 0 ${radiusValue}px ${radiusValue}px` : `${radiusValue}px ${radiusValue}px 0 0`;
27
27
  if (variant === "default") {
28
28
  return __spreadProps(__spreadValues({
29
- [vertical ? "borderRight" : inverted ? "borderTop" : "borderBottom"]: "2px solid transparent",
30
- [vertical ? "marginRight" : inverted ? "marginTop" : "marginBottom"]: -2,
29
+ [vertical ? placement === "left" ? "borderRight" : "borderLeft" : inverted ? "borderTop" : "borderBottom"]: "2px solid transparent",
30
+ [vertical ? placement === "left" ? "marginRight" : "marginLeft" : inverted ? "marginTop" : "marginBottom"]: -2,
31
31
  borderRadius
32
32
  }, theme.fn.hover({
33
33
  backgroundColor: theme.colorScheme === "dark" ? theme.colors.dark[6] : theme.colors.gray[0],
@@ -43,7 +43,7 @@ function getVariantStyles(theme, { variant, orientation, color, radius, inverted
43
43
  return {
44
44
  borderRadius,
45
45
  border: "1px solid transparent",
46
- [vertical ? "borderRight" : inverted ? "borderTop" : "borderBottom"]: "none",
46
+ [vertical ? placement === "left" ? "borderRight" : "borderLeft" : inverted ? "borderTop" : "borderBottom"]: "none",
47
47
  "&[data-active]": {
48
48
  borderColor: theme.colorScheme === "dark" ? theme.colors.dark[4] : theme.colors.gray[3],
49
49
  "&::before": {
@@ -53,8 +53,8 @@ function getVariantStyles(theme, { variant, orientation, color, radius, inverted
53
53
  bottom: vertical ? 0 : inverted ? "unset" : -1,
54
54
  top: vertical ? 0 : inverted ? -1 : "unset",
55
55
  [vertical ? "width" : "height"]: 1,
56
- right: vertical ? -1 : 0,
57
- left: vertical ? "unset" : 0
56
+ right: vertical ? placement === "left" ? -1 : "unset" : 0,
57
+ left: vertical ? placement === "left" ? "unset" : -1 : 0
58
58
  }
59
59
  }
60
60
  };