@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
@@ -4,18 +4,19 @@ var useStyles = createStyles((theme, { smallerThan, largerThan, query, styles })
4
4
  const media = {};
5
5
  const minWidth = theme.fn.size({ size: largerThan, sizes: theme.breakpoints });
6
6
  const maxWidth = theme.fn.size({ size: smallerThan, sizes: theme.breakpoints });
7
+ const _styles = typeof styles === "function" ? styles(theme) : styles;
7
8
  if (largerThan !== void 0 && smallerThan !== void 0) {
8
- media[`@media (min-width: ${minWidth}px) and (max-width: ${maxWidth - 1}px)`] = styles;
9
+ media[`@media (min-width: ${minWidth}px) and (max-width: ${maxWidth - 1}px)`] = _styles;
9
10
  } else {
10
11
  if (largerThan !== void 0) {
11
- media[`@media (min-width: ${theme.fn.size({ size: largerThan, sizes: theme.breakpoints })}px)`] = styles;
12
+ media[`@media (min-width: ${theme.fn.size({ size: largerThan, sizes: theme.breakpoints })}px)`] = _styles;
12
13
  }
13
14
  if (smallerThan !== void 0) {
14
- media[`@media (max-width: ${theme.fn.size({ size: smallerThan, sizes: theme.breakpoints }) - 1}px)`] = styles;
15
+ media[`@media (max-width: ${theme.fn.size({ size: smallerThan, sizes: theme.breakpoints }) - 1}px)`] = _styles;
15
16
  }
16
17
  }
17
18
  if (query) {
18
- media[`@media ${query}`] = styles;
19
+ media[`@media ${query}`] = _styles;
19
20
  }
20
21
  return { media };
21
22
  });
@@ -1 +1 @@
1
- {"version":3,"file":"MediaQuery.styles.js","sources":["../../src/MediaQuery/MediaQuery.styles.ts"],"sourcesContent":["import { createStyles, MantineNumberSize, CSSObject } from '@mantine/styles';\n\nexport interface MediaQueryStylesParams {\n smallerThan: MantineNumberSize;\n largerThan: MantineNumberSize;\n styles: CSSObject;\n query: string;\n}\n\nexport default createStyles(\n (theme, { smallerThan, largerThan, query, styles }: MediaQueryStylesParams) => {\n const media: CSSObject = {};\n const minWidth = theme.fn.size({ size: largerThan, sizes: theme.breakpoints });\n const maxWidth = theme.fn.size({ size: smallerThan, sizes: theme.breakpoints });\n\n if (largerThan !== undefined && smallerThan !== undefined) {\n media[`@media (min-width: ${minWidth}px) and (max-width: ${maxWidth - 1}px)`] = styles;\n } else {\n if (largerThan !== undefined) {\n media[\n `@media (min-width: ${theme.fn.size({ size: largerThan, sizes: theme.breakpoints })}px)`\n ] = styles;\n }\n\n if (smallerThan !== undefined) {\n media[\n `@media (max-width: ${\n theme.fn.size({ size: smallerThan, sizes: theme.breakpoints }) - 1\n }px)`\n ] = styles;\n }\n }\n\n if (query) {\n media[`@media ${query}`] = styles;\n }\n\n return { media };\n }\n);\n"],"names":[],"mappings":";;AACA,gBAAe,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK;AACnF,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;AACnB,EAAE,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACjF,EAAE,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AAClF,EAAE,IAAI,UAAU,KAAK,KAAK,CAAC,IAAI,WAAW,KAAK,KAAK,CAAC,EAAE;AACvD,IAAI,KAAK,CAAC,CAAC,mBAAmB,EAAE,QAAQ,CAAC,oBAAoB,EAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;AAC3F,GAAG,MAAM;AACT,IAAI,IAAI,UAAU,KAAK,KAAK,CAAC,EAAE;AAC/B,MAAM,KAAK,CAAC,CAAC,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;AAC/G,KAAK;AACL,IAAI,IAAI,WAAW,KAAK,KAAK,CAAC,EAAE;AAChC,MAAM,KAAK,CAAC,CAAC,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;AACpH,KAAK;AACL,GAAG;AACH,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;AACtC,GAAG;AACH,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC,CAAC;;;;"}
1
+ {"version":3,"file":"MediaQuery.styles.js","sources":["../../src/MediaQuery/MediaQuery.styles.ts"],"sourcesContent":["import { createStyles, MantineNumberSize, CSSObject, MantineTheme } from '@mantine/styles';\n\nexport interface MediaQueryStylesParams {\n smallerThan: MantineNumberSize;\n largerThan: MantineNumberSize;\n styles: CSSObject | ((theme: MantineTheme) => CSSObject);\n query: string;\n}\n\nexport default createStyles(\n (theme, { smallerThan, largerThan, query, styles }: MediaQueryStylesParams) => {\n const media: CSSObject = {};\n const minWidth = theme.fn.size({ size: largerThan, sizes: theme.breakpoints });\n const maxWidth = theme.fn.size({ size: smallerThan, sizes: theme.breakpoints });\n const _styles = typeof styles === 'function' ? styles(theme) : styles;\n\n if (largerThan !== undefined && smallerThan !== undefined) {\n media[`@media (min-width: ${minWidth}px) and (max-width: ${maxWidth - 1}px)`] = _styles;\n } else {\n if (largerThan !== undefined) {\n media[\n `@media (min-width: ${theme.fn.size({ size: largerThan, sizes: theme.breakpoints })}px)`\n ] = _styles;\n }\n\n if (smallerThan !== undefined) {\n media[\n `@media (max-width: ${\n theme.fn.size({ size: smallerThan, sizes: theme.breakpoints }) - 1\n }px)`\n ] = _styles;\n }\n }\n\n if (query) {\n media[`@media ${query}`] = _styles;\n }\n\n return { media };\n }\n);\n"],"names":[],"mappings":";;AACA,gBAAe,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK;AACnF,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;AACnB,EAAE,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACjF,EAAE,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AAClF,EAAE,MAAM,OAAO,GAAG,OAAO,MAAM,KAAK,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;AACxE,EAAE,IAAI,UAAU,KAAK,KAAK,CAAC,IAAI,WAAW,KAAK,KAAK,CAAC,EAAE;AACvD,IAAI,KAAK,CAAC,CAAC,mBAAmB,EAAE,QAAQ,CAAC,oBAAoB,EAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;AAC5F,GAAG,MAAM;AACT,IAAI,IAAI,UAAU,KAAK,KAAK,CAAC,EAAE;AAC/B,MAAM,KAAK,CAAC,CAAC,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;AAChH,KAAK;AACL,IAAI,IAAI,WAAW,KAAK,KAAK,CAAC,EAAE;AAChC,MAAM,KAAK,CAAC,CAAC,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;AACrH,KAAK;AACL,GAAG;AACH,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;AACvC,GAAG;AACH,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC,CAAC;;;;"}
@@ -1,4 +1,4 @@
1
- import React, { forwardRef, useEffect, cloneElement } from 'react';
1
+ import React, { forwardRef, cloneElement } from 'react';
2
2
  import { isElement, createEventHandler } from '@mantine/utils';
3
3
  import { useMenuContext } from '../Menu.context.js';
4
4
  import { MENU_ERRORS } from '../Menu.errors.js';
@@ -41,7 +41,6 @@ const MenuTarget = forwardRef((_a, ref) => {
41
41
  const onClick = createEventHandler(children.props.onClick, () => ctx.trigger === "click" && ctx.toggleDropdown());
42
42
  const onMouseEnter = createEventHandler(children.props.onMouseEnter, () => ctx.trigger === "hover" && ctx.openDropdown());
43
43
  const onMouseLeave = createEventHandler(children.props.onMouseLeave, () => ctx.trigger === "hover" && ctx.closeDropdown());
44
- useEffect(() => ctx.closeDropdown, [children]);
45
44
  return /* @__PURE__ */ React.createElement(Popover.Target, __spreadValues({
46
45
  refProp,
47
46
  popupType: "menu",
@@ -1 +1 @@
1
- {"version":3,"file":"MenuTarget.js","sources":["../../../src/Menu/MenuTarget/MenuTarget.tsx"],"sourcesContent":["import React, { cloneElement, forwardRef, useEffect } from 'react';\nimport { isElement, createEventHandler } from '@mantine/utils';\nimport { useMenuContext } from '../Menu.context';\nimport { Popover } from '../../Popover';\nimport { MENU_ERRORS } from '../Menu.errors';\n\nexport interface MenuTargetProps {\n /** Target element */\n children: React.ReactNode;\n\n /** Key of the prop that should be used to get element ref */\n refProp?: string;\n}\n\nexport const MenuTarget = forwardRef<HTMLElement, MenuTargetProps>(\n ({ children, refProp = 'ref', ...others }, ref) => {\n if (!isElement(children)) {\n throw new Error(MENU_ERRORS.children);\n }\n\n const ctx = useMenuContext();\n\n const onClick = createEventHandler(\n children.props.onClick,\n () => ctx.trigger === 'click' && ctx.toggleDropdown()\n );\n\n const onMouseEnter = createEventHandler(\n children.props.onMouseEnter,\n () => ctx.trigger === 'hover' && ctx.openDropdown()\n );\n\n const onMouseLeave = createEventHandler(\n children.props.onMouseLeave,\n () => ctx.trigger === 'hover' && ctx.closeDropdown()\n );\n\n useEffect(() => ctx.closeDropdown, [children]);\n\n return (\n <Popover.Target refProp={refProp} popupType=\"menu\" ref={ref} {...others}>\n {cloneElement(children, {\n onClick,\n onMouseEnter,\n onMouseLeave,\n 'data-expanded': ctx.opened ? true : undefined,\n })}\n </Popover.Target>\n );\n }\n);\n\nMenuTarget.displayName = '@mantine/core/MenuTarget';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MenuTarget.js","sources":["../../../src/Menu/MenuTarget/MenuTarget.tsx"],"sourcesContent":["import React, { cloneElement, forwardRef } from 'react';\nimport { isElement, createEventHandler } from '@mantine/utils';\nimport { useMenuContext } from '../Menu.context';\nimport { Popover } from '../../Popover';\nimport { MENU_ERRORS } from '../Menu.errors';\n\nexport interface MenuTargetProps {\n /** Target element */\n children: React.ReactNode;\n\n /** Key of the prop that should be used to get element ref */\n refProp?: string;\n}\n\nexport const MenuTarget = forwardRef<HTMLElement, MenuTargetProps>(\n ({ children, refProp = 'ref', ...others }, ref) => {\n if (!isElement(children)) {\n throw new Error(MENU_ERRORS.children);\n }\n\n const ctx = useMenuContext();\n\n const onClick = createEventHandler(\n children.props.onClick,\n () => ctx.trigger === 'click' && ctx.toggleDropdown()\n );\n\n const onMouseEnter = createEventHandler(\n children.props.onMouseEnter,\n () => ctx.trigger === 'hover' && ctx.openDropdown()\n );\n\n const onMouseLeave = createEventHandler(\n children.props.onMouseLeave,\n () => ctx.trigger === 'hover' && ctx.closeDropdown()\n );\n\n return (\n <Popover.Target refProp={refProp} popupType=\"menu\" ref={ref} {...others}>\n {cloneElement(children, {\n onClick,\n onMouseEnter,\n onMouseLeave,\n 'data-expanded': ctx.opened ? true : undefined,\n })}\n </Popover.Target>\n );\n }\n);\n\nMenuTarget.displayName = '@mantine/core/MenuTarget';\n"],"names":[],"mappings":"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"}
@@ -73,6 +73,7 @@ const NativeSelect = forwardRef((props, ref) => {
73
73
  options.unshift(/* @__PURE__ */ React.createElement("option", {
74
74
  key: "placeholder",
75
75
  value: "",
76
+ selected: true,
76
77
  disabled: true,
77
78
  hidden: true
78
79
  }, placeholder));
@@ -1 +1 @@
1
- {"version":3,"file":"NativeSelect.js","sources":["../../src/NativeSelect/NativeSelect.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineSize, useMantineTheme } from '@mantine/styles';\nimport {\n InputWrapperBaseProps,\n InputWrapperStylesNames,\n Input,\n InputSharedProps,\n InputStylesNames,\n useInputProps,\n} from '../Input';\nimport { getSelectRightSectionProps } from '../Select/SelectRightSection/get-select-right-section-props';\nimport { SelectItem } from '../Select/types';\n\nexport type NativeSelectStylesNames = InputStylesNames | InputWrapperStylesNames;\n\nexport interface NativeSelectProps\n extends DefaultProps<NativeSelectStylesNames>,\n InputWrapperBaseProps,\n InputSharedProps,\n Omit<React.ComponentPropsWithoutRef<'select'>, 'size'> {\n /** id is used to bind input and label, if not passed unique id will be generated for each input */\n id?: string;\n\n /** Adds hidden option to select and sets it as selected if value is not present */\n placeholder?: string;\n\n /** Data used to render options */\n data: (string | SelectItem)[];\n\n /** Props passed to root element (InputWrapper component) */\n wrapperProps?: Record<string, any>;\n\n /** Input size */\n size?: MantineSize;\n}\n\nconst defaultProps: Partial<NativeSelectProps> = {\n size: 'sm',\n};\n\nexport const NativeSelect = forwardRef<HTMLSelectElement, NativeSelectProps>((props, ref) => {\n const {\n inputProps,\n wrapperProps,\n data,\n placeholder,\n onChange,\n value,\n classNames,\n styles,\n rightSection,\n rightSectionWidth,\n ...others\n } = useInputProps('NativeSelect', defaultProps, props);\n const theme = useMantineTheme();\n\n const formattedData = data.map((item) =>\n typeof item === 'string' ? { label: item, value: item } : item\n );\n\n const options = formattedData.map((item) => (\n <option key={item.value} value={item.value} disabled={item.disabled}>\n {item.label}\n </option>\n ));\n\n if (placeholder) {\n options.unshift(\n <option key=\"placeholder\" value=\"\" disabled hidden>\n {placeholder}\n </option>\n );\n }\n\n return (\n <Input.Wrapper {...wrapperProps} __staticSelector=\"NativeSelect\">\n <Input<'select'>\n {...inputProps}\n {...others}\n onChange={onChange}\n component=\"select\"\n ref={ref}\n value={value === null ? '' : value}\n __staticSelector=\"NativeSelect\"\n pointer={theme.cursorType === 'pointer'}\n {...getSelectRightSectionProps({\n theme,\n rightSection,\n rightSectionWidth,\n styles,\n shouldClear: false,\n size: inputProps.size,\n error: wrapperProps.error,\n readOnly: false,\n })}\n >\n {options}\n </Input>\n </Input.Wrapper>\n );\n});\n\nNativeSelect.displayName = '@mantine/core/NativeSelect';\n"],"names":[],"mappings":";;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAQF,MAAM,YAAY,GAAG;AACrB,EAAE,IAAI,EAAE,IAAI;AACZ,CAAC,CAAC;AACU,MAAC,YAAY,GAAG,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AACvD,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,cAAc,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;AACjE,IAAI,UAAU;AACd,IAAI,YAAY;AAChB,IAAI,IAAI;AACR,IAAI,WAAW;AACf,IAAI,QAAQ;AACZ,IAAI,KAAK;AACT,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,YAAY;AAChB,IAAI,iBAAiB;AACrB,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,YAAY;AAChB,IAAI,cAAc;AAClB,IAAI,MAAM;AACV,IAAI,aAAa;AACjB,IAAI,UAAU;AACd,IAAI,OAAO;AACX,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,cAAc;AAClB,IAAI,mBAAmB;AACvB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;AAClC,EAAE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,QAAQ,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;AAC3G,EAAE,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,qBAAqB,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;AAC5F,IAAI,GAAG,EAAE,IAAI,CAAC,KAAK;AACnB,IAAI,KAAK,EAAE,IAAI,CAAC,KAAK;AACrB,IAAI,QAAQ,EAAE,IAAI,CAAC,QAAQ;AAC3B,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAClB,EAAE,IAAI,WAAW,EAAE;AACnB,IAAI,OAAO,CAAC,OAAO,iBAAiB,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;AAClE,MAAM,GAAG,EAAE,aAAa;AACxB,MAAM,KAAK,EAAE,EAAE;AACf,MAAM,QAAQ,EAAE,IAAI;AACpB,MAAM,MAAM,EAAE,IAAI;AAClB,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;AACrB,GAAG;AACH,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE;AAC5G,IAAI,gBAAgB,EAAE,cAAc;AACpC,GAAG,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,EAAE;AACtI,IAAI,QAAQ;AACZ,IAAI,SAAS,EAAE,QAAQ;AACvB,IAAI,GAAG;AACP,IAAI,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,EAAE,GAAG,KAAK;AACtC,IAAI,gBAAgB,EAAE,cAAc;AACpC,IAAI,OAAO,EAAE,KAAK,CAAC,UAAU,KAAK,SAAS;AAC3C,GAAG,CAAC,EAAE,0BAA0B,CAAC;AACjC,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,iBAAiB;AACrB,IAAI,MAAM;AACV,IAAI,WAAW,EAAE,KAAK;AACtB,IAAI,IAAI,EAAE,UAAU,CAAC,IAAI;AACzB,IAAI,KAAK,EAAE,YAAY,CAAC,KAAK;AAC7B,IAAI,QAAQ,EAAE,KAAK;AACnB,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AACjB,CAAC,EAAE;AACH,YAAY,CAAC,WAAW,GAAG,4BAA4B;;;;"}
1
+ {"version":3,"file":"NativeSelect.js","sources":["../../src/NativeSelect/NativeSelect.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineSize, useMantineTheme } from '@mantine/styles';\nimport {\n InputWrapperBaseProps,\n InputWrapperStylesNames,\n Input,\n InputSharedProps,\n InputStylesNames,\n useInputProps,\n} from '../Input';\nimport { getSelectRightSectionProps } from '../Select/SelectRightSection/get-select-right-section-props';\nimport { SelectItem } from '../Select/types';\n\nexport type NativeSelectStylesNames = InputStylesNames | InputWrapperStylesNames;\n\nexport interface NativeSelectProps\n extends DefaultProps<NativeSelectStylesNames>,\n InputWrapperBaseProps,\n InputSharedProps,\n Omit<React.ComponentPropsWithoutRef<'select'>, 'size'> {\n /** id is used to bind input and label, if not passed unique id will be generated for each input */\n id?: string;\n\n /** Adds hidden option to select and sets it as selected if value is not present */\n placeholder?: string;\n\n /** Data used to render options */\n data: (string | SelectItem)[];\n\n /** Props passed to root element (InputWrapper component) */\n wrapperProps?: Record<string, any>;\n\n /** Input size */\n size?: MantineSize;\n}\n\nconst defaultProps: Partial<NativeSelectProps> = {\n size: 'sm',\n};\n\nexport const NativeSelect = forwardRef<HTMLSelectElement, NativeSelectProps>((props, ref) => {\n const {\n inputProps,\n wrapperProps,\n data,\n placeholder,\n onChange,\n value,\n classNames,\n styles,\n rightSection,\n rightSectionWidth,\n ...others\n } = useInputProps('NativeSelect', defaultProps, props);\n const theme = useMantineTheme();\n\n const formattedData = data.map((item) =>\n typeof item === 'string' ? { label: item, value: item } : item\n );\n\n const options = formattedData.map((item) => (\n <option key={item.value} value={item.value} disabled={item.disabled}>\n {item.label}\n </option>\n ));\n\n if (placeholder) {\n options.unshift(\n <option key=\"placeholder\" value=\"\" selected disabled hidden>\n {placeholder}\n </option>\n );\n }\n\n return (\n <Input.Wrapper {...wrapperProps} __staticSelector=\"NativeSelect\">\n <Input<'select'>\n {...inputProps}\n {...others}\n onChange={onChange}\n component=\"select\"\n ref={ref}\n value={value === null ? '' : value}\n __staticSelector=\"NativeSelect\"\n pointer={theme.cursorType === 'pointer'}\n {...getSelectRightSectionProps({\n theme,\n rightSection,\n rightSectionWidth,\n styles,\n shouldClear: false,\n size: inputProps.size,\n error: wrapperProps.error,\n readOnly: false,\n })}\n >\n {options}\n </Input>\n </Input.Wrapper>\n );\n});\n\nNativeSelect.displayName = '@mantine/core/NativeSelect';\n"],"names":[],"mappings":"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"}
@@ -94,6 +94,8 @@ const PasswordInput = forwardRef((props, ref) => {
94
94
  unstyled,
95
95
  visibilityToggleLabel,
96
96
  withAsterisk,
97
+ inputContainer,
98
+ iconWidth,
97
99
  inputWrapperOrder,
98
100
  visible,
99
101
  defaultVisible,
@@ -127,6 +129,8 @@ const PasswordInput = forwardRef((props, ref) => {
127
129
  "unstyled",
128
130
  "visibilityToggleLabel",
129
131
  "withAsterisk",
132
+ "inputContainer",
133
+ "iconWidth",
130
134
  "inputWrapperOrder",
131
135
  "visible",
132
136
  "defaultVisible",
@@ -184,7 +188,8 @@ const PasswordInput = forwardRef((props, ref) => {
184
188
  labelProps,
185
189
  unstyled,
186
190
  withAsterisk,
187
- inputWrapperOrder
191
+ inputWrapperOrder,
192
+ inputContainer
188
193
  }, systemStyles), wrapperProps), /* @__PURE__ */ React.createElement(Input, {
189
194
  component: "div",
190
195
  invalid: !!error,
@@ -198,7 +203,8 @@ const PasswordInput = forwardRef((props, ref) => {
198
203
  rightSectionWidth,
199
204
  rightSection: !disabled && rightSection,
200
205
  variant,
201
- unstyled
206
+ unstyled,
207
+ iconWidth
202
208
  }, /* @__PURE__ */ React.createElement("input", __spreadValues({
203
209
  type: _visible ? "text" : "password",
204
210
  required,
@@ -1 +1 @@
1
- {"version":3,"file":"PasswordInput.js","sources":["../../src/PasswordInput/PasswordInput.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport {\n Selectors,\n DefaultProps,\n extractSystemStyles,\n useMantineTheme,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { ActionIcon } from '../ActionIcon';\nimport { TextInputProps, TextInputStylesNames } from '../TextInput';\nimport { Input } from '../Input';\nimport { PasswordToggleIcon } from './PasswordToggleIcon';\nimport useStyles from './PasswordInput.styles';\n\nexport type PasswordInputStylesNames = Selectors<typeof useStyles> | TextInputStylesNames;\n\nexport interface PasswordInputProps\n extends DefaultProps<PasswordInputStylesNames>,\n Omit<TextInputProps, 'classNames' | 'styles'> {\n /** Toggle button tabIndex, set to 0 to make button focusable with tab key */\n toggleTabIndex?: -1 | 0;\n\n /** Provide your own visibility toggle icon */\n visibilityToggleIcon?: React.FC<{ reveal: boolean; size: number }>;\n\n /** aria-label for visibility toggle button */\n visibilityToggleLabel?: string;\n\n /** Determines whether input content should be visible (controlled) */\n visible?: boolean;\n\n /** Determines whether input content should be visible (uncontrolled) */\n defaultVisible?: boolean;\n\n /** Called when visibility changes */\n onVisibilityChange?(visible: boolean): void;\n}\n\nconst buttonSizes = {\n xs: 22,\n sm: 26,\n md: 28,\n lg: 32,\n xl: 40,\n};\n\nconst iconSizes = {\n xs: 12,\n sm: 15,\n md: 17,\n lg: 19,\n xl: 21,\n};\n\nconst rightSectionSizes = {\n xs: 28,\n sm: 32,\n md: 34,\n lg: 44,\n xl: 54,\n};\n\nconst defaultProps: Partial<PasswordInputProps> = {\n size: 'sm',\n toggleTabIndex: -1,\n visibilityToggleIcon: PasswordToggleIcon,\n __staticSelector: 'PasswordInput',\n};\n\nexport const PasswordInput = forwardRef<HTMLInputElement, PasswordInputProps>((props, ref) => {\n const {\n radius,\n disabled,\n size,\n toggleTabIndex,\n className,\n id,\n label,\n error,\n required,\n style,\n icon,\n description,\n wrapperProps,\n classNames,\n styles,\n variant,\n visibilityToggleIcon: VisibilityToggleIcon,\n __staticSelector,\n rightSection: _rightSection,\n rightSectionWidth: _rightSectionWidth,\n rightSectionProps: _rightSectionProps,\n sx,\n labelProps,\n descriptionProps,\n errorProps,\n unstyled,\n visibilityToggleLabel,\n withAsterisk,\n inputWrapperOrder,\n visible,\n defaultVisible,\n onVisibilityChange,\n ...others\n } = useComponentDefaultProps('PasswordInput', defaultProps, props);\n\n const theme = useMantineTheme();\n const rightSectionWidth = theme.fn.size({ size, sizes: rightSectionSizes });\n const { classes, cx } = useStyles(\n { size, rightSectionWidth },\n { name: 'PasswordInput', classNames, styles, unstyled }\n );\n const uuid = useId(id);\n const { systemStyles, rest } = extractSystemStyles(others);\n const [_visible, setVisibility] = useUncontrolled({\n value: visible,\n defaultValue: defaultVisible,\n finalValue: false,\n onChange: onVisibilityChange,\n });\n\n const toggleVisibility = () => setVisibility(!_visible);\n\n const rightSection = (\n <ActionIcon<'button'>\n className={classes.visibilityToggle}\n tabIndex={toggleTabIndex}\n radius={radius}\n size={theme.fn.size({ size, sizes: buttonSizes })}\n aria-hidden={!visibilityToggleLabel}\n aria-label={visibilityToggleLabel}\n unstyled={unstyled}\n onMouseDown={(event) => {\n event.preventDefault();\n toggleVisibility();\n }}\n onKeyDown={(event) => {\n if (event.key === ' ') {\n event.preventDefault();\n toggleVisibility();\n }\n }}\n >\n <VisibilityToggleIcon reveal={_visible} size={theme.fn.size({ size, sizes: iconSizes })} />\n </ActionIcon>\n );\n\n return (\n <Input.Wrapper\n required={required}\n id={uuid}\n label={label}\n error={error}\n description={description}\n size={size}\n className={className}\n style={style}\n classNames={classNames}\n styles={styles}\n __staticSelector={__staticSelector}\n sx={sx}\n errorProps={errorProps}\n descriptionProps={descriptionProps}\n labelProps={labelProps}\n unstyled={unstyled}\n withAsterisk={withAsterisk}\n inputWrapperOrder={inputWrapperOrder}\n {...systemStyles}\n {...wrapperProps}\n >\n <Input<'div'>\n component=\"div\"\n invalid={!!error}\n icon={icon}\n size={size}\n classNames={{ ...classNames, input: classes.input }}\n styles={styles}\n radius={radius}\n disabled={disabled}\n __staticSelector={__staticSelector}\n rightSectionWidth={rightSectionWidth}\n rightSection={!disabled && rightSection}\n variant={variant}\n unstyled={unstyled}\n >\n <input\n type={_visible ? 'text' : 'password'}\n required={required}\n className={cx(classes.innerInput, {\n [classes.withIcon]: icon,\n [classes.invalid]: !!error,\n })}\n disabled={disabled}\n id={uuid}\n ref={ref}\n {...rest}\n />\n </Input>\n </Input.Wrapper>\n );\n});\n\nPasswordInput.displayName = '@mantine/core/PasswordInput';\n"],"names":[],"mappings":";;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAYF,MAAM,WAAW,GAAG;AACpB,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,CAAC,CAAC;AACF,MAAM,SAAS,GAAG;AAClB,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,CAAC,CAAC;AACF,MAAM,iBAAiB,GAAG;AAC1B,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,CAAC,CAAC;AACF,MAAM,YAAY,GAAG;AACrB,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,cAAc,EAAE,CAAC,CAAC;AACpB,EAAE,oBAAoB,EAAE,kBAAkB;AAC1C,EAAE,gBAAgB,EAAE,eAAe;AACnC,CAAC,CAAC;AACU,MAAC,aAAa,GAAG,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AACxD,EAAE,MAAM,EAAE,GAAG,wBAAwB,CAAC,eAAe,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;AAC7E,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,IAAI,cAAc;AAClB,IAAI,SAAS;AACb,IAAI,EAAE;AACN,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,KAAK;AACT,IAAI,IAAI;AACR,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,oBAAoB,EAAE,oBAAoB;AAC9C,IAAI,gBAAgB;AACpB,IAAI,YAAY,EAAE,aAAa;AAC/B,IAAI,iBAAiB,EAAE,kBAAkB;AACzC,IAAI,iBAAiB,EAAE,kBAAkB;AACzC,IAAI,EAAE;AACN,IAAI,UAAU;AACd,IAAI,gBAAgB;AACpB,IAAI,UAAU;AACd,IAAI,QAAQ;AACZ,IAAI,qBAAqB;AACzB,IAAI,YAAY;AAChB,IAAI,iBAAiB;AACrB,IAAI,OAAO;AACX,IAAI,cAAc;AAClB,IAAI,kBAAkB;AACtB,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,gBAAgB;AACpB,IAAI,WAAW;AACf,IAAI,IAAI;AACR,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,aAAa;AACjB,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,sBAAsB;AAC1B,IAAI,kBAAkB;AACtB,IAAI,cAAc;AAClB,IAAI,mBAAmB;AACvB,IAAI,mBAAmB;AACvB,IAAI,IAAI;AACR,IAAI,YAAY;AAChB,IAAI,kBAAkB;AACtB,IAAI,YAAY;AAChB,IAAI,UAAU;AACd,IAAI,uBAAuB;AAC3B,IAAI,cAAc;AAClB,IAAI,mBAAmB;AACvB,IAAI,SAAS;AACb,IAAI,gBAAgB;AACpB,IAAI,oBAAoB;AACxB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;AAClC,EAAE,MAAM,iBAAiB,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;AAC9E,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC1H,EAAE,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;AACzB,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAC7D,EAAE,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,eAAe,CAAC;AACpD,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,YAAY,EAAE,cAAc;AAChC,IAAI,UAAU,EAAE,KAAK;AACrB,IAAI,QAAQ,EAAE,kBAAkB;AAChC,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC1D,EAAE,MAAM,YAAY,mBAAmB,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE;AACvE,IAAI,SAAS,EAAE,OAAO,CAAC,gBAAgB;AACvC,IAAI,QAAQ,EAAE,cAAc;AAC5B,IAAI,MAAM;AACV,IAAI,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;AACrD,IAAI,aAAa,EAAE,CAAC,qBAAqB;AACzC,IAAI,YAAY,EAAE,qBAAqB;AACvC,IAAI,QAAQ;AACZ,IAAI,WAAW,EAAE,CAAC,KAAK,KAAK;AAC5B,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;AAC7B,MAAM,gBAAgB,EAAE,CAAC;AACzB,KAAK;AACL,IAAI,SAAS,EAAE,CAAC,KAAK,KAAK;AAC1B,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE;AAC7B,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;AAC/B,QAAQ,gBAAgB,EAAE,CAAC;AAC3B,OAAO;AACP,KAAK;AACL,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,oBAAoB,EAAE;AAC/D,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACnD,GAAG,CAAC,CAAC,CAAC;AACN,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,cAAc,CAAC;AAC1F,IAAI,QAAQ;AACZ,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,WAAW;AACf,IAAI,IAAI;AACR,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,gBAAgB;AACpB,IAAI,EAAE;AACN,IAAI,UAAU;AACd,IAAI,gBAAgB;AACpB,IAAI,UAAU;AACd,IAAI,QAAQ;AACZ,IAAI,YAAY;AAChB,IAAI,iBAAiB;AACrB,GAAG,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC9E,IAAI,SAAS,EAAE,KAAK;AACpB,IAAI,OAAO,EAAE,CAAC,CAAC,KAAK;AACpB,IAAI,IAAI;AACR,IAAI,IAAI;AACR,IAAI,UAAU,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;AACvF,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,gBAAgB;AACpB,IAAI,iBAAiB;AACrB,IAAI,YAAY,EAAE,CAAC,QAAQ,IAAI,YAAY;AAC3C,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC;AACjE,IAAI,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,UAAU;AACxC,IAAI,QAAQ;AACZ,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE;AACtC,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI;AAC9B,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK;AAChC,KAAK,CAAC;AACN,IAAI,QAAQ;AACZ,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,GAAG;AACP,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,EAAE;AACH,aAAa,CAAC,WAAW,GAAG,6BAA6B;;;;"}
1
+ {"version":3,"file":"PasswordInput.js","sources":["../../src/PasswordInput/PasswordInput.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport {\n Selectors,\n DefaultProps,\n extractSystemStyles,\n useMantineTheme,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { ActionIcon } from '../ActionIcon';\nimport { TextInputProps, TextInputStylesNames } from '../TextInput';\nimport { Input } from '../Input';\nimport { PasswordToggleIcon } from './PasswordToggleIcon';\nimport useStyles from './PasswordInput.styles';\n\nexport type PasswordInputStylesNames = Selectors<typeof useStyles> | TextInputStylesNames;\n\nexport interface PasswordInputProps\n extends DefaultProps<PasswordInputStylesNames>,\n Omit<TextInputProps, 'classNames' | 'styles'> {\n /** Toggle button tabIndex, set to 0 to make button focusable with tab key */\n toggleTabIndex?: -1 | 0;\n\n /** Provide your own visibility toggle icon */\n visibilityToggleIcon?: React.FC<{ reveal: boolean; size: number }>;\n\n /** aria-label for visibility toggle button */\n visibilityToggleLabel?: string;\n\n /** Determines whether input content should be visible (controlled) */\n visible?: boolean;\n\n /** Determines whether input content should be visible (uncontrolled) */\n defaultVisible?: boolean;\n\n /** Called when visibility changes */\n onVisibilityChange?(visible: boolean): void;\n}\n\nconst buttonSizes = {\n xs: 22,\n sm: 26,\n md: 28,\n lg: 32,\n xl: 40,\n};\n\nconst iconSizes = {\n xs: 12,\n sm: 15,\n md: 17,\n lg: 19,\n xl: 21,\n};\n\nconst rightSectionSizes = {\n xs: 28,\n sm: 32,\n md: 34,\n lg: 44,\n xl: 54,\n};\n\nconst defaultProps: Partial<PasswordInputProps> = {\n size: 'sm',\n toggleTabIndex: -1,\n visibilityToggleIcon: PasswordToggleIcon,\n __staticSelector: 'PasswordInput',\n};\n\nexport const PasswordInput = forwardRef<HTMLInputElement, PasswordInputProps>((props, ref) => {\n const {\n radius,\n disabled,\n size,\n toggleTabIndex,\n className,\n id,\n label,\n error,\n required,\n style,\n icon,\n description,\n wrapperProps,\n classNames,\n styles,\n variant,\n visibilityToggleIcon: VisibilityToggleIcon,\n __staticSelector,\n rightSection: _rightSection,\n rightSectionWidth: _rightSectionWidth,\n rightSectionProps: _rightSectionProps,\n sx,\n labelProps,\n descriptionProps,\n errorProps,\n unstyled,\n visibilityToggleLabel,\n withAsterisk,\n inputContainer,\n iconWidth,\n inputWrapperOrder,\n visible,\n defaultVisible,\n onVisibilityChange,\n ...others\n } = useComponentDefaultProps('PasswordInput', defaultProps, props);\n\n const theme = useMantineTheme();\n const rightSectionWidth = theme.fn.size({ size, sizes: rightSectionSizes });\n const { classes, cx } = useStyles(\n { size, rightSectionWidth },\n { name: 'PasswordInput', classNames, styles, unstyled }\n );\n const uuid = useId(id);\n const { systemStyles, rest } = extractSystemStyles(others);\n const [_visible, setVisibility] = useUncontrolled({\n value: visible,\n defaultValue: defaultVisible,\n finalValue: false,\n onChange: onVisibilityChange,\n });\n\n const toggleVisibility = () => setVisibility(!_visible);\n\n const rightSection = (\n <ActionIcon<'button'>\n className={classes.visibilityToggle}\n tabIndex={toggleTabIndex}\n radius={radius}\n size={theme.fn.size({ size, sizes: buttonSizes })}\n aria-hidden={!visibilityToggleLabel}\n aria-label={visibilityToggleLabel}\n unstyled={unstyled}\n onMouseDown={(event) => {\n event.preventDefault();\n toggleVisibility();\n }}\n onKeyDown={(event) => {\n if (event.key === ' ') {\n event.preventDefault();\n toggleVisibility();\n }\n }}\n >\n <VisibilityToggleIcon reveal={_visible} size={theme.fn.size({ size, sizes: iconSizes })} />\n </ActionIcon>\n );\n\n return (\n <Input.Wrapper\n required={required}\n id={uuid}\n label={label}\n error={error}\n description={description}\n size={size}\n className={className}\n style={style}\n classNames={classNames}\n styles={styles}\n __staticSelector={__staticSelector}\n sx={sx}\n errorProps={errorProps}\n descriptionProps={descriptionProps}\n labelProps={labelProps}\n unstyled={unstyled}\n withAsterisk={withAsterisk}\n inputWrapperOrder={inputWrapperOrder}\n inputContainer={inputContainer}\n {...systemStyles}\n {...wrapperProps}\n >\n <Input<'div'>\n component=\"div\"\n invalid={!!error}\n icon={icon}\n size={size}\n classNames={{ ...classNames, input: classes.input }}\n styles={styles}\n radius={radius}\n disabled={disabled}\n __staticSelector={__staticSelector}\n rightSectionWidth={rightSectionWidth}\n rightSection={!disabled && rightSection}\n variant={variant}\n unstyled={unstyled}\n iconWidth={iconWidth}\n >\n <input\n type={_visible ? 'text' : 'password'}\n required={required}\n className={cx(classes.innerInput, {\n [classes.withIcon]: icon,\n [classes.invalid]: !!error,\n })}\n disabled={disabled}\n id={uuid}\n ref={ref}\n {...rest}\n />\n </Input>\n </Input.Wrapper>\n );\n});\n\nPasswordInput.displayName = '@mantine/core/PasswordInput';\n"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { useUncontrolled, useDidUpdate } from '@mantine/hooks';
2
- import { useFloating, size, offset, shift, flip, inline, arrow } from '@floating-ui/react-dom-interactions';
2
+ import { useFloating, size, offset, shift, limitShift, flip, inline, arrow } from '@floating-ui/react-dom-interactions';
3
3
  import { useFloatingAutoUpdate } from '../Floating/use-floating-auto-update.js';
4
4
 
5
5
  function getPopoverMiddlewares(options) {
6
6
  const middlewares = [offset(options.offset)];
7
7
  if (options.middlewares.shift) {
8
- middlewares.push(shift());
8
+ middlewares.push(shift({ limiter: limitShift() }));
9
9
  }
10
10
  if (options.middlewares.flip) {
11
11
  middlewares.push(flip());
@@ -1 +1 @@
1
- {"version":3,"file":"use-popover.js","sources":["../../src/Popover/use-popover.ts"],"sourcesContent":["import { useDidUpdate, useUncontrolled } from '@mantine/hooks';\nimport {\n useFloating,\n shift,\n flip,\n arrow,\n offset,\n size,\n Middleware,\n inline,\n} from '@floating-ui/react-dom-interactions';\nimport { FloatingPosition, useFloatingAutoUpdate } from '../Floating';\nimport { PopoverWidth, PopoverMiddlewares } from './Popover.types';\n\ninterface UsePopoverOptions {\n offset: number;\n position: FloatingPosition;\n positionDependencies: any[];\n onPositionChange?(position: FloatingPosition): void;\n opened: boolean;\n defaultOpened: boolean;\n onChange(opened: boolean): void;\n onClose?(): void;\n onOpen?(): void;\n width: PopoverWidth;\n middlewares: PopoverMiddlewares;\n arrowRef: React.RefObject<HTMLDivElement>;\n}\n\nfunction getPopoverMiddlewares(options: UsePopoverOptions) {\n const middlewares: Middleware[] = [offset(options.offset)];\n\n if (options.middlewares.shift) {\n middlewares.push(shift());\n }\n\n if (options.middlewares.flip) {\n middlewares.push(flip());\n }\n\n if (options.middlewares.inline) {\n middlewares.push(inline());\n }\n\n middlewares.push(arrow({ element: options.arrowRef }));\n\n return middlewares;\n}\n\nexport function usePopover(options: UsePopoverOptions) {\n const [_opened, setOpened] = useUncontrolled({\n value: options.opened,\n defaultValue: options.defaultOpened,\n finalValue: false,\n onChange: options.onChange,\n });\n\n const onClose = () => {\n options.onClose?.();\n setOpened(false);\n };\n\n const onToggle = () => {\n if (_opened) {\n options.onClose?.();\n setOpened(false);\n } else {\n options.onOpen?.();\n setOpened(true);\n }\n };\n\n const floating = useFloating({\n placement: options.position,\n middleware: [\n ...getPopoverMiddlewares(options),\n ...(options.width === 'target'\n ? [\n size({\n apply({ rects }) {\n Object.assign(floating.refs.floating.current?.style ?? {}, {\n width: `${rects.reference.width}px`,\n });\n },\n }),\n ]\n : []),\n ],\n });\n\n useFloatingAutoUpdate({\n opened: options.opened,\n positionDependencies: options.positionDependencies,\n floating,\n });\n\n useDidUpdate(() => {\n options.onPositionChange?.(floating.placement);\n }, [floating.placement]);\n\n return {\n floating,\n controlled: typeof options.opened === 'boolean',\n opened: _opened,\n onClose,\n onToggle,\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-popover.js","sources":["../../src/Popover/use-popover.ts"],"sourcesContent":["import { useDidUpdate, useUncontrolled } from '@mantine/hooks';\nimport {\n useFloating,\n shift,\n flip,\n arrow,\n offset,\n size,\n Middleware,\n inline,\n limitShift,\n} from '@floating-ui/react-dom-interactions';\nimport { FloatingPosition, useFloatingAutoUpdate } from '../Floating';\nimport { PopoverWidth, PopoverMiddlewares } from './Popover.types';\n\ninterface UsePopoverOptions {\n offset: number;\n position: FloatingPosition;\n positionDependencies: any[];\n onPositionChange?(position: FloatingPosition): void;\n opened: boolean;\n defaultOpened: boolean;\n onChange(opened: boolean): void;\n onClose?(): void;\n onOpen?(): void;\n width: PopoverWidth;\n middlewares: PopoverMiddlewares;\n arrowRef: React.RefObject<HTMLDivElement>;\n}\n\nfunction getPopoverMiddlewares(options: UsePopoverOptions) {\n const middlewares: Middleware[] = [offset(options.offset)];\n\n if (options.middlewares.shift) {\n middlewares.push(shift({ limiter: limitShift() }));\n }\n\n if (options.middlewares.flip) {\n middlewares.push(flip());\n }\n\n if (options.middlewares.inline) {\n middlewares.push(inline());\n }\n\n middlewares.push(arrow({ element: options.arrowRef }));\n\n return middlewares;\n}\n\nexport function usePopover(options: UsePopoverOptions) {\n const [_opened, setOpened] = useUncontrolled({\n value: options.opened,\n defaultValue: options.defaultOpened,\n finalValue: false,\n onChange: options.onChange,\n });\n\n const onClose = () => {\n options.onClose?.();\n setOpened(false);\n };\n\n const onToggle = () => {\n if (_opened) {\n options.onClose?.();\n setOpened(false);\n } else {\n options.onOpen?.();\n setOpened(true);\n }\n };\n\n const floating = useFloating({\n placement: options.position,\n middleware: [\n ...getPopoverMiddlewares(options),\n ...(options.width === 'target'\n ? [\n size({\n apply({ rects }) {\n Object.assign(floating.refs.floating.current?.style ?? {}, {\n width: `${rects.reference.width}px`,\n });\n },\n }),\n ]\n : []),\n ],\n });\n\n useFloatingAutoUpdate({\n opened: options.opened,\n positionDependencies: options.positionDependencies,\n floating,\n });\n\n useDidUpdate(() => {\n options.onPositionChange?.(floating.placement);\n }, [floating.placement]);\n\n return {\n floating,\n controlled: typeof options.opened === 'boolean',\n opened: _opened,\n onClose,\n onToggle,\n };\n}\n"],"names":[],"mappings":"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"}
@@ -81,24 +81,39 @@ const Progress = forwardRef((props, ref) => {
81
81
  "unstyled"
82
82
  ]);
83
83
  const { classes, cx, theme } = useStyles({ color, size, radius, striped: striped || animate, animate }, { classNames, styles, unstyled, name: "Progress" });
84
- const segments = Array.isArray(sections) ? getCumulativeSections(sections).map((section, index) => /* @__PURE__ */ React.createElement(Tooltip.Floating, {
85
- label: section.tooltip,
86
- disabled: !section.tooltip,
87
- key: index
88
- }, /* @__PURE__ */ React.createElement(Box, {
89
- className: classes.bar,
90
- sx: {
91
- width: `${section.value}%`,
92
- left: `${section.accumulated}%`,
93
- backgroundColor: theme.fn.variant({
94
- variant: "filled",
95
- primaryFallback: false,
96
- color: section.color || theme.primaryColor
97
- }).background
98
- }
99
- }, section.label && /* @__PURE__ */ React.createElement(Text, {
100
- className: classes.label
101
- }, section.label)))) : null;
84
+ const segments = Array.isArray(sections) ? getCumulativeSections(sections).map((_b, index) => {
85
+ var _c = _b, {
86
+ tooltip,
87
+ accumulated,
88
+ value: sectionValue,
89
+ label: sectionLabel,
90
+ color: sectionColor
91
+ } = _c, sectionProps = __objRest(_c, [
92
+ "tooltip",
93
+ "accumulated",
94
+ "value",
95
+ "label",
96
+ "color"
97
+ ]);
98
+ return /* @__PURE__ */ React.createElement(Tooltip.Floating, {
99
+ label: tooltip,
100
+ disabled: !tooltip,
101
+ key: index
102
+ }, /* @__PURE__ */ React.createElement(Box, __spreadProps(__spreadValues({}, sectionProps), {
103
+ className: cx(classes.bar, sectionProps.className),
104
+ sx: {
105
+ width: `${sectionValue}%`,
106
+ left: `${accumulated}%`,
107
+ backgroundColor: theme.fn.variant({
108
+ variant: "filled",
109
+ primaryFallback: false,
110
+ color: sectionColor || theme.primaryColor
111
+ }).background
112
+ }
113
+ }), sectionLabel && /* @__PURE__ */ React.createElement(Text, {
114
+ className: classes.label
115
+ }, sectionLabel)));
116
+ }) : null;
102
117
  return /* @__PURE__ */ React.createElement(Box, __spreadValues({
103
118
  className: cx(classes.root, className),
104
119
  ref
@@ -1 +1 @@
1
- {"version":3,"file":"Progress.js","sources":["../../src/Progress/Progress.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineColor,\n Selectors,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Text } from '../Text';\nimport { Tooltip } from '../Tooltip';\nimport useStyles, { ProgressStylesParams } from './Progress.styles';\n\nexport type ProgressStylesNames = Selectors<typeof useStyles>;\n\ninterface ProgressSection {\n value: number;\n color: MantineColor;\n label?: string;\n tooltip?: React.ReactNode;\n}\n\nexport interface ProgressProps\n extends DefaultProps<ProgressStylesNames, ProgressStylesParams>,\n React.ComponentPropsWithoutRef<'div'> {\n /** Percent of filled bar (0-100) */\n value?: number;\n\n /** Progress color from theme */\n color?: MantineColor;\n\n /** Predefined progress height or number for height in px */\n size?: MantineNumberSize;\n\n /** Predefined progress radius from theme.radius or number for height in px */\n radius?: MantineNumberSize;\n\n /** Adds stripes */\n striped?: boolean;\n\n /** Whether to animate striped progress bars */\n animate?: boolean;\n\n /** Text to be placed inside the progress bar */\n label?: string;\n\n /** Replaces value if present, renders multiple sections instead of single one */\n sections?: ProgressSection[];\n}\n\nfunction getCumulativeSections(\n sections: ProgressSection[]\n): (ProgressSection & { accumulated: number })[] {\n return sections.reduce(\n (acc, section) => {\n acc.sections.push({ ...section, accumulated: acc.accumulated });\n acc.accumulated += section.value;\n return acc;\n },\n { accumulated: 0, sections: [] }\n ).sections;\n}\n\nconst defaultProps: Partial<ProgressProps> = {\n size: 'md',\n radius: 'sm',\n striped: false,\n animate: false,\n label: '',\n};\n\nexport const Progress = forwardRef<HTMLDivElement, ProgressProps>((props, ref) => {\n const {\n className,\n value,\n color,\n size,\n radius,\n striped,\n animate,\n label,\n 'aria-label': ariaLabel,\n classNames,\n styles,\n sections,\n unstyled,\n ...others\n } = useComponentDefaultProps('Progress', defaultProps, props);\n\n const { classes, cx, theme } = useStyles(\n { color, size, radius, striped: striped || animate, animate },\n { classNames, styles, unstyled, name: 'Progress' }\n );\n\n const segments = Array.isArray(sections)\n ? getCumulativeSections(sections).map((section, index) => (\n <Tooltip.Floating label={section.tooltip} disabled={!section.tooltip} key={index}>\n <Box\n className={classes.bar}\n sx={{\n width: `${section.value}%`,\n left: `${section.accumulated}%`,\n backgroundColor: theme.fn.variant({\n variant: 'filled',\n primaryFallback: false,\n color: section.color || theme.primaryColor,\n }).background,\n }}\n >\n {section.label && <Text className={classes.label}>{section.label}</Text>}\n </Box>\n </Tooltip.Floating>\n ))\n : null;\n\n return (\n <Box className={cx(classes.root, className)} ref={ref} {...others}>\n {segments || (\n <div\n role=\"progressbar\"\n aria-valuemax={100}\n aria-valuemin={0}\n aria-valuenow={value}\n aria-label={ariaLabel}\n className={classes.bar}\n style={{ width: `${value}%` }}\n >\n {label ? <Text className={classes.label}>{label}</Text> : ''}\n </div>\n )}\n </Box>\n );\n});\n\nProgress.displayName = '@mantine/core/Progress';\n"],"names":[],"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;AASF,SAAS,qBAAqB,CAAC,QAAQ,EAAE;AACzC,EAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK;AAC3C,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AACpG,IAAI,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;AACrC,IAAI,OAAO,GAAG,CAAC;AACf,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC;AAChD,CAAC;AACD,MAAM,YAAY,GAAG;AACrB,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,MAAM,EAAE,IAAI;AACd,EAAE,OAAO,EAAE,KAAK;AAChB,EAAE,OAAO,EAAE,KAAK;AAChB,EAAE,KAAK,EAAE,EAAE;AACX,CAAC,CAAC;AACU,MAAC,QAAQ,GAAG,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AACnD,EAAE,MAAM,EAAE,GAAG,wBAAwB,CAAC,UAAU,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;AACxE,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,IAAI;AACR,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,KAAK;AACT,IAAI,YAAY,EAAE,SAAS;AAC3B,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,WAAW;AACf,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,UAAU;AACd,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;AAC9J,EAAE,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,qBAAqB,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE;AAC3J,IAAI,KAAK,EAAE,OAAO,CAAC,OAAO;AAC1B,IAAI,QAAQ,EAAE,CAAC,OAAO,CAAC,OAAO;AAC9B,IAAI,GAAG,EAAE,KAAK;AACd,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE;AAC9C,IAAI,SAAS,EAAE,OAAO,CAAC,GAAG;AAC1B,IAAI,EAAE,EAAE;AACR,MAAM,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAChC,MAAM,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;AACrC,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC;AACxC,QAAQ,OAAO,EAAE,QAAQ;AACzB,QAAQ,eAAe,EAAE,KAAK;AAC9B,QAAQ,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY;AAClD,OAAO,CAAC,CAAC,UAAU;AACnB,KAAK;AACL,GAAG,EAAE,OAAO,CAAC,KAAK,oBAAoB,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE;AAChE,IAAI,SAAS,EAAE,OAAO,CAAC,KAAK;AAC5B,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AAC9B,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC;AACjE,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;AAC1C,IAAI,GAAG;AACP,GAAG,EAAE,MAAM,CAAC,EAAE,QAAQ,oBAAoB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACrE,IAAI,IAAI,EAAE,aAAa;AACvB,IAAI,eAAe,EAAE,GAAG;AACxB,IAAI,eAAe,EAAE,CAAC;AACtB,IAAI,eAAe,EAAE,KAAK;AAC1B,IAAI,YAAY,EAAE,SAAS;AAC3B,IAAI,SAAS,EAAE,OAAO,CAAC,GAAG;AAC1B,IAAI,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE;AACjC,GAAG,EAAE,KAAK,mBAAmB,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE;AACvD,IAAI,SAAS,EAAE,OAAO,CAAC,KAAK;AAC5B,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACnB,CAAC,EAAE;AACH,QAAQ,CAAC,WAAW,GAAG,wBAAwB;;;;"}
1
+ {"version":3,"file":"Progress.js","sources":["../../src/Progress/Progress.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineColor,\n Selectors,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Text } from '../Text';\nimport { Tooltip } from '../Tooltip';\nimport useStyles, { ProgressStylesParams } from './Progress.styles';\n\nexport type ProgressStylesNames = Selectors<typeof useStyles>;\n\ninterface ProgressSection extends React.ComponentPropsWithRef<'div'> {\n value: number;\n color: MantineColor;\n label?: string;\n tooltip?: React.ReactNode;\n}\n\nexport interface ProgressProps\n extends DefaultProps<ProgressStylesNames, ProgressStylesParams>,\n React.ComponentPropsWithoutRef<'div'> {\n /** Percent of filled bar (0-100) */\n value?: number;\n\n /** Progress color from theme */\n color?: MantineColor;\n\n /** Predefined progress height or number for height in px */\n size?: MantineNumberSize;\n\n /** Predefined progress radius from theme.radius or number for height in px */\n radius?: MantineNumberSize;\n\n /** Adds stripes */\n striped?: boolean;\n\n /** Whether to animate striped progress bars */\n animate?: boolean;\n\n /** Text to be placed inside the progress bar */\n label?: string;\n\n /** Replaces value if present, renders multiple sections instead of single one */\n sections?: ProgressSection[];\n}\n\nfunction getCumulativeSections(\n sections: ProgressSection[]\n): (ProgressSection & { accumulated: number })[] {\n return sections.reduce(\n (acc, section) => {\n acc.sections.push({ ...section, accumulated: acc.accumulated });\n acc.accumulated += section.value;\n return acc;\n },\n { accumulated: 0, sections: [] }\n ).sections;\n}\n\nconst defaultProps: Partial<ProgressProps> = {\n size: 'md',\n radius: 'sm',\n striped: false,\n animate: false,\n label: '',\n};\n\nexport const Progress = forwardRef<HTMLDivElement, ProgressProps>((props, ref) => {\n const {\n className,\n value,\n color,\n size,\n radius,\n striped,\n animate,\n label,\n 'aria-label': ariaLabel,\n classNames,\n styles,\n sections,\n unstyled,\n ...others\n } = useComponentDefaultProps('Progress', defaultProps, props);\n\n const { classes, cx, theme } = useStyles(\n { color, size, radius, striped: striped || animate, animate },\n { classNames, styles, unstyled, name: 'Progress' }\n );\n\n const segments = Array.isArray(sections)\n ? getCumulativeSections(sections).map(\n (\n {\n tooltip,\n accumulated,\n value: sectionValue,\n label: sectionLabel,\n color: sectionColor,\n ...sectionProps\n },\n index\n ) => (\n <Tooltip.Floating label={tooltip} disabled={!tooltip} key={index}>\n <Box\n {...sectionProps}\n className={cx(classes.bar, sectionProps.className)}\n sx={{\n width: `${sectionValue}%`,\n left: `${accumulated}%`,\n backgroundColor: theme.fn.variant({\n variant: 'filled',\n primaryFallback: false,\n color: sectionColor || theme.primaryColor,\n }).background,\n }}\n >\n {sectionLabel && <Text className={classes.label}>{sectionLabel}</Text>}\n </Box>\n </Tooltip.Floating>\n )\n )\n : null;\n\n return (\n <Box className={cx(classes.root, className)} ref={ref} {...others}>\n {segments || (\n <div\n role=\"progressbar\"\n aria-valuemax={100}\n aria-valuemin={0}\n aria-valuenow={value}\n aria-label={ariaLabel}\n className={classes.bar}\n style={{ width: `${value}%` }}\n >\n {label ? <Text className={classes.label}>{label}</Text> : ''}\n </div>\n )}\n </Box>\n );\n});\n\nProgress.displayName = '@mantine/core/Progress';\n"],"names":[],"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;AASF,SAAS,qBAAqB,CAAC,QAAQ,EAAE;AACzC,EAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK;AAC3C,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AACpG,IAAI,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;AACrC,IAAI,OAAO,GAAG,CAAC;AACf,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC;AAChD,CAAC;AACD,MAAM,YAAY,GAAG;AACrB,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,MAAM,EAAE,IAAI;AACd,EAAE,OAAO,EAAE,KAAK;AAChB,EAAE,OAAO,EAAE,KAAK;AAChB,EAAE,KAAK,EAAE,EAAE;AACX,CAAC,CAAC;AACU,MAAC,QAAQ,GAAG,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AACnD,EAAE,MAAM,EAAE,GAAG,wBAAwB,CAAC,UAAU,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;AACxE,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,IAAI;AACR,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,KAAK;AACT,IAAI,YAAY,EAAE,SAAS;AAC3B,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,WAAW;AACf,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,UAAU;AACd,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;AAC9J,EAAE,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,KAAK;AAChG,IAAI,IAAI,EAAE,GAAG,EAAE,EAAE;AACjB,MAAM,OAAO;AACb,MAAM,WAAW;AACjB,MAAM,KAAK,EAAE,YAAY;AACzB,MAAM,KAAK,EAAE,YAAY;AACzB,MAAM,KAAK,EAAE,YAAY;AACzB,KAAK,GAAG,EAAE,EAAE,YAAY,GAAG,SAAS,CAAC,EAAE,EAAE;AACzC,MAAM,SAAS;AACf,MAAM,aAAa;AACnB,MAAM,OAAO;AACb,MAAM,OAAO;AACb,MAAM,OAAO;AACb,KAAK,CAAC,CAAC;AACP,IAAI,uBAAuB,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE;AACjE,MAAM,KAAK,EAAE,OAAO;AACpB,MAAM,QAAQ,EAAE,CAAC,OAAO;AACxB,MAAM,GAAG,EAAE,KAAK;AAChB,KAAK,kBAAkB,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE;AAChG,MAAM,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,SAAS,CAAC;AACxD,MAAM,EAAE,EAAE;AACV,QAAQ,KAAK,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;AACjC,QAAQ,IAAI,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;AAC/B,QAAQ,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC;AAC1C,UAAU,OAAO,EAAE,QAAQ;AAC3B,UAAU,eAAe,EAAE,KAAK;AAChC,UAAU,KAAK,EAAE,YAAY,IAAI,KAAK,CAAC,YAAY;AACnD,SAAS,CAAC,CAAC,UAAU;AACrB,OAAO;AACP,KAAK,CAAC,EAAE,YAAY,oBAAoB,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE;AAClE,MAAM,SAAS,EAAE,OAAO,CAAC,KAAK;AAC9B,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;AACvB,GAAG,CAAC,GAAG,IAAI,CAAC;AACZ,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC;AACjE,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;AAC1C,IAAI,GAAG;AACP,GAAG,EAAE,MAAM,CAAC,EAAE,QAAQ,oBAAoB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACrE,IAAI,IAAI,EAAE,aAAa;AACvB,IAAI,eAAe,EAAE,GAAG;AACxB,IAAI,eAAe,EAAE,CAAC;AACtB,IAAI,eAAe,EAAE,KAAK;AAC1B,IAAI,YAAY,EAAE,SAAS;AAC3B,IAAI,SAAS,EAAE,OAAO,CAAC,GAAG;AAC1B,IAAI,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE;AACjC,GAAG,EAAE,KAAK,mBAAmB,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE;AACvD,IAAI,SAAS,EAAE,OAAO,CAAC,KAAK;AAC5B,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACnB,CAAC,EAAE;AACH,QAAQ,CAAC,WAAW,GAAG,wBAAwB;;;;"}
@@ -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;;;;"}