@mantine/core 6.0.5 → 6.0.7

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 (139) hide show
  1. package/cjs/Affix/Affix.js +5 -2
  2. package/cjs/Affix/Affix.js.map +1 -1
  3. package/cjs/ColorInput/ColorInput.js +6 -2
  4. package/cjs/ColorInput/ColorInput.js.map +1 -1
  5. package/cjs/ColorPicker/ColorPicker.js +4 -1
  6. package/cjs/ColorPicker/ColorPicker.js.map +1 -1
  7. package/cjs/Image/Image.js +10 -6
  8. package/cjs/Image/Image.js.map +1 -1
  9. package/cjs/ModalBase/ModalBase.js +2 -2
  10. package/cjs/ModalBase/ModalBase.js.map +1 -1
  11. package/cjs/ModalBase/ModalBaseCloseButton/ModalBaseCloseButton.styles.js +4 -1
  12. package/cjs/ModalBase/ModalBaseCloseButton/ModalBaseCloseButton.styles.js.map +1 -1
  13. package/cjs/MultiSelect/DefaultValue/DefaultValue.styles.js +1 -1
  14. package/cjs/MultiSelect/DefaultValue/DefaultValue.styles.js.map +1 -1
  15. package/cjs/MultiSelect/MultiSelect.styles.js +0 -1
  16. package/cjs/MultiSelect/MultiSelect.styles.js.map +1 -1
  17. package/cjs/Notification/Notification.js +3 -0
  18. package/cjs/Notification/Notification.js.map +1 -1
  19. package/cjs/Notification/Notification.styles.js +3 -0
  20. package/cjs/Notification/Notification.styles.js.map +1 -1
  21. package/cjs/NumberInput/NumberInput.js +41 -37
  22. package/cjs/NumberInput/NumberInput.js.map +1 -1
  23. package/cjs/Popover/Popover.context.js.map +1 -1
  24. package/cjs/Popover/Popover.js.map +1 -1
  25. package/cjs/Popover/PopoverDropdown/PopoverDropdown.js +2 -2
  26. package/cjs/Popover/PopoverDropdown/PopoverDropdown.js.map +1 -1
  27. package/cjs/Select/Select.js.map +1 -1
  28. package/cjs/Select/SelectPopover/SelectPopover.js.map +1 -1
  29. package/cjs/Slider/Marks/Marks.styles.js +9 -6
  30. package/cjs/Slider/Marks/Marks.styles.js.map +1 -1
  31. package/cjs/Slider/RangeSlider/RangeSlider.js +19 -17
  32. package/cjs/Slider/RangeSlider/RangeSlider.js.map +1 -1
  33. package/cjs/Slider/Slider/Slider.js +10 -10
  34. package/cjs/Slider/Slider/Slider.js.map +1 -1
  35. package/cjs/Slider/SliderRoot/SliderRoot.js +8 -1
  36. package/cjs/Slider/SliderRoot/SliderRoot.js.map +1 -1
  37. package/cjs/Slider/SliderRoot/SliderRoot.styles.js +4 -3
  38. package/cjs/Slider/SliderRoot/SliderRoot.styles.js.map +1 -1
  39. package/cjs/Slider/Thumb/Thumb.js +3 -4
  40. package/cjs/Slider/Thumb/Thumb.js.map +1 -1
  41. package/cjs/Slider/Track/Track.js +9 -11
  42. package/cjs/Slider/Track/Track.js.map +1 -1
  43. package/cjs/Slider/Track/Track.styles.js +7 -0
  44. package/cjs/Slider/Track/Track.styles.js.map +1 -1
  45. package/cjs/Switch/SwitchGroup/SwitchGroup.js.map +1 -1
  46. package/cjs/Tooltip/Tooltip.js +4 -2
  47. package/cjs/Tooltip/Tooltip.js.map +1 -1
  48. package/cjs/Tooltip/TooltipFloating/TooltipFloating.js +4 -2
  49. package/cjs/Tooltip/TooltipFloating/TooltipFloating.js.map +1 -1
  50. package/esm/Affix/Affix.js +5 -2
  51. package/esm/Affix/Affix.js.map +1 -1
  52. package/esm/ColorInput/ColorInput.js +6 -2
  53. package/esm/ColorInput/ColorInput.js.map +1 -1
  54. package/esm/ColorPicker/ColorPicker.js +4 -1
  55. package/esm/ColorPicker/ColorPicker.js.map +1 -1
  56. package/esm/Image/Image.js +10 -6
  57. package/esm/Image/Image.js.map +1 -1
  58. package/esm/ModalBase/ModalBase.js +2 -2
  59. package/esm/ModalBase/ModalBase.js.map +1 -1
  60. package/esm/ModalBase/ModalBaseCloseButton/ModalBaseCloseButton.styles.js +4 -1
  61. package/esm/ModalBase/ModalBaseCloseButton/ModalBaseCloseButton.styles.js.map +1 -1
  62. package/esm/MultiSelect/DefaultValue/DefaultValue.styles.js +1 -1
  63. package/esm/MultiSelect/DefaultValue/DefaultValue.styles.js.map +1 -1
  64. package/esm/MultiSelect/MultiSelect.styles.js +0 -1
  65. package/esm/MultiSelect/MultiSelect.styles.js.map +1 -1
  66. package/esm/Notification/Notification.js +3 -0
  67. package/esm/Notification/Notification.js.map +1 -1
  68. package/esm/Notification/Notification.styles.js +3 -0
  69. package/esm/Notification/Notification.styles.js.map +1 -1
  70. package/esm/NumberInput/NumberInput.js +42 -38
  71. package/esm/NumberInput/NumberInput.js.map +1 -1
  72. package/esm/Popover/Popover.context.js.map +1 -1
  73. package/esm/Popover/Popover.js.map +1 -1
  74. package/esm/Popover/PopoverDropdown/PopoverDropdown.js +2 -2
  75. package/esm/Popover/PopoverDropdown/PopoverDropdown.js.map +1 -1
  76. package/esm/Select/Select.js.map +1 -1
  77. package/esm/Select/SelectPopover/SelectPopover.js.map +1 -1
  78. package/esm/Slider/Marks/Marks.styles.js +9 -6
  79. package/esm/Slider/Marks/Marks.styles.js.map +1 -1
  80. package/esm/Slider/RangeSlider/RangeSlider.js +20 -18
  81. package/esm/Slider/RangeSlider/RangeSlider.js.map +1 -1
  82. package/esm/Slider/Slider/Slider.js +10 -10
  83. package/esm/Slider/Slider/Slider.js.map +1 -1
  84. package/esm/Slider/SliderRoot/SliderRoot.js +8 -1
  85. package/esm/Slider/SliderRoot/SliderRoot.js.map +1 -1
  86. package/esm/Slider/SliderRoot/SliderRoot.styles.js +4 -3
  87. package/esm/Slider/SliderRoot/SliderRoot.styles.js.map +1 -1
  88. package/esm/Slider/Thumb/Thumb.js +3 -4
  89. package/esm/Slider/Thumb/Thumb.js.map +1 -1
  90. package/esm/Slider/Track/Track.js +9 -11
  91. package/esm/Slider/Track/Track.js.map +1 -1
  92. package/esm/Slider/Track/Track.styles.js +7 -0
  93. package/esm/Slider/Track/Track.styles.js.map +1 -1
  94. package/esm/Switch/SwitchGroup/SwitchGroup.js.map +1 -1
  95. package/esm/Tooltip/Tooltip.js +4 -2
  96. package/esm/Tooltip/Tooltip.js.map +1 -1
  97. package/esm/Tooltip/TooltipFloating/TooltipFloating.js +4 -2
  98. package/esm/Tooltip/TooltipFloating/TooltipFloating.js.map +1 -1
  99. package/lib/Affix/Affix.d.ts +1 -1
  100. package/lib/Affix/Affix.d.ts.map +1 -1
  101. package/lib/ColorInput/ColorInput.d.ts +1 -1
  102. package/lib/ColorInput/ColorInput.d.ts.map +1 -1
  103. package/lib/ColorPicker/ColorPicker.d.ts.map +1 -1
  104. package/lib/ModalBase/ModalBase.d.ts +1 -1
  105. package/lib/ModalBase/ModalBase.d.ts.map +1 -1
  106. package/lib/ModalBase/ModalBaseCloseButton/ModalBaseCloseButton.styles.d.ts.map +1 -1
  107. package/lib/MultiSelect/MultiSelect.styles.d.ts.map +1 -1
  108. package/lib/Notification/Notification.d.ts +2 -0
  109. package/lib/Notification/Notification.d.ts.map +1 -1
  110. package/lib/Notification/Notification.styles.d.ts.map +1 -1
  111. package/lib/NumberInput/NumberInput.d.ts +2 -0
  112. package/lib/NumberInput/NumberInput.d.ts.map +1 -1
  113. package/lib/Popover/Popover.context.d.ts +1 -1
  114. package/lib/Popover/Popover.context.d.ts.map +1 -1
  115. package/lib/Popover/Popover.d.ts +1 -1
  116. package/lib/Popover/Popover.d.ts.map +1 -1
  117. package/lib/Select/Select.d.ts +1 -1
  118. package/lib/Select/Select.d.ts.map +1 -1
  119. package/lib/Select/SelectPopover/SelectPopover.d.ts +1 -1
  120. package/lib/Select/SelectPopover/SelectPopover.d.ts.map +1 -1
  121. package/lib/Slider/Marks/Marks.styles.d.ts.map +1 -1
  122. package/lib/Slider/RangeSlider/RangeSlider.d.ts.map +1 -1
  123. package/lib/Slider/Slider/Slider.d.ts.map +1 -1
  124. package/lib/Slider/SliderRoot/SliderRoot.d.ts.map +1 -1
  125. package/lib/Slider/SliderRoot/SliderRoot.styles.d.ts +1 -4
  126. package/lib/Slider/SliderRoot/SliderRoot.styles.d.ts.map +1 -1
  127. package/lib/Slider/Thumb/Thumb.d.ts +2 -1
  128. package/lib/Slider/Thumb/Thumb.d.ts.map +1 -1
  129. package/lib/Slider/Track/Track.d.ts +2 -3
  130. package/lib/Slider/Track/Track.d.ts.map +1 -1
  131. package/lib/Slider/Track/Track.styles.d.ts +1 -0
  132. package/lib/Slider/Track/Track.styles.d.ts.map +1 -1
  133. package/lib/Switch/SwitchGroup/SwitchGroup.d.ts +1 -1
  134. package/lib/Switch/SwitchGroup/SwitchGroup.d.ts.map +1 -1
  135. package/lib/Tooltip/Tooltip.d.ts.map +1 -1
  136. package/lib/Tooltip/Tooltip.types.d.ts +3 -0
  137. package/lib/Tooltip/Tooltip.types.d.ts.map +1 -1
  138. package/lib/Tooltip/TooltipFloating/TooltipFloating.d.ts.map +1 -1
  139. package/package.json +4 -4
@@ -54,6 +54,9 @@ var useStyles = styles.createStyles((theme, { color, radius, withTitle }) => {
54
54
  "&::before": {
55
55
  display: "none"
56
56
  }
57
+ },
58
+ "&[data-with-border]": {
59
+ border: `${styles.rem(1)} solid ${theme.colorScheme === "dark" ? theme.colors.dark[4] : theme.colors.gray[3]}`
57
60
  }
58
61
  },
59
62
  body: {
@@ -1 +1 @@
1
- {"version":3,"file":"Notification.styles.js","sources":["../../src/Notification/Notification.styles.ts"],"sourcesContent":["import { createStyles, MantineColor, MantineNumberSize, rem } from '@mantine/styles';\n\nexport interface NotificationStylesParams {\n color: MantineColor;\n radius: MantineNumberSize;\n withTitle: boolean;\n}\n\nexport default createStyles((theme, { color, radius, withTitle }: NotificationStylesParams) => {\n const _radius = theme.fn.radius(radius);\n const colors = theme.fn.variant({ variant: 'filled', color });\n\n return {\n closeButton: theme.fn.hover({\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[8] : theme.colors.gray[0],\n }),\n\n icon: {\n boxSizing: 'border-box',\n marginRight: theme.spacing.md,\n width: rem(28),\n height: rem(28),\n borderRadius: rem(28),\n display: 'flex',\n flex: 'none',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: colors.background,\n color: theme.white,\n },\n\n root: {\n overflow: 'hidden',\n boxSizing: 'border-box',\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n paddingLeft: rem(22),\n paddingRight: theme.spacing.xs,\n paddingTop: theme.spacing.xs,\n paddingBottom: theme.spacing.xs,\n borderRadius: _radius,\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.white,\n boxShadow: theme.shadows.lg,\n border: `${rem(1)} solid ${\n theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[2]\n }`,\n\n '&::before': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n width: rem(6),\n top: _radius,\n bottom: _radius,\n left: rem(4),\n borderRadius: _radius,\n backgroundColor: colors.background,\n },\n\n '&[data-with-icon]': {\n paddingLeft: theme.spacing.xs,\n\n '&::before': {\n display: 'none',\n },\n },\n },\n\n body: {\n flex: 1,\n overflow: 'hidden',\n marginRight: theme.spacing.xs,\n },\n\n loader: {\n marginRight: theme.spacing.md,\n },\n\n title: {\n lineHeight: 1.4,\n marginBottom: rem(2),\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n color: theme.colorScheme === 'dark' ? theme.white : theme.colors.gray[9],\n },\n\n description: {\n color: withTitle\n ? theme.colorScheme === 'dark'\n ? theme.colors.dark[2]\n : theme.colors.gray[6]\n : theme.colorScheme === 'dark'\n ? theme.colors.dark[0]\n : theme.black,\n lineHeight: 1.4,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n };\n});\n"],"names":["createStyles","rem"],"mappings":"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"}
1
+ {"version":3,"file":"Notification.styles.js","sources":["../../src/Notification/Notification.styles.ts"],"sourcesContent":["import { createStyles, MantineColor, MantineNumberSize, rem } from '@mantine/styles';\n\nexport interface NotificationStylesParams {\n color: MantineColor;\n radius: MantineNumberSize;\n withTitle: boolean;\n}\n\nexport default createStyles((theme, { color, radius, withTitle }: NotificationStylesParams) => {\n const _radius = theme.fn.radius(radius);\n const colors = theme.fn.variant({ variant: 'filled', color });\n\n return {\n closeButton: theme.fn.hover({\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[8] : theme.colors.gray[0],\n }),\n\n icon: {\n boxSizing: 'border-box',\n marginRight: theme.spacing.md,\n width: rem(28),\n height: rem(28),\n borderRadius: rem(28),\n display: 'flex',\n flex: 'none',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: colors.background,\n color: theme.white,\n },\n\n root: {\n overflow: 'hidden',\n boxSizing: 'border-box',\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n paddingLeft: rem(22),\n paddingRight: theme.spacing.xs,\n paddingTop: theme.spacing.xs,\n paddingBottom: theme.spacing.xs,\n borderRadius: _radius,\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.white,\n boxShadow: theme.shadows.lg,\n border: `${rem(1)} solid ${\n theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[2]\n }`,\n\n '&::before': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n width: rem(6),\n top: _radius,\n bottom: _radius,\n left: rem(4),\n borderRadius: _radius,\n backgroundColor: colors.background,\n },\n\n '&[data-with-icon]': {\n paddingLeft: theme.spacing.xs,\n\n '&::before': {\n display: 'none',\n },\n },\n\n '&[data-with-border]': {\n border: `${rem(1)} solid ${\n theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[3]\n }`,\n },\n },\n\n body: {\n flex: 1,\n overflow: 'hidden',\n marginRight: theme.spacing.xs,\n },\n\n loader: {\n marginRight: theme.spacing.md,\n },\n\n title: {\n lineHeight: 1.4,\n marginBottom: rem(2),\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n color: theme.colorScheme === 'dark' ? theme.white : theme.colors.gray[9],\n },\n\n description: {\n color: withTitle\n ? theme.colorScheme === 'dark'\n ? theme.colors.dark[2]\n : theme.colors.gray[6]\n : theme.colorScheme === 'dark'\n ? theme.colors.dark[0]\n : theme.black,\n lineHeight: 1.4,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n };\n});\n"],"names":["createStyles","rem"],"mappings":"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"}
@@ -74,6 +74,7 @@ const defaultProps = {
74
74
  precision: 0,
75
75
  noClampOnBlur: false,
76
76
  removeTrailingZeros: false,
77
+ decimalSeparator: ".",
77
78
  formatter: defaultFormatter,
78
79
  parser: defaultParser,
79
80
  type: "text"
@@ -85,12 +86,14 @@ const NumberInput = React.forwardRef((props, ref) => {
85
86
  value,
86
87
  onChange,
87
88
  decimalSeparator,
89
+ thousandsSeparator,
88
90
  min,
89
91
  max,
90
92
  startValue,
91
93
  step,
92
94
  stepHoldInterval,
93
95
  stepHoldDelay,
96
+ onFocus,
94
97
  onBlur,
95
98
  onKeyDown,
96
99
  onKeyUp,
@@ -118,12 +121,14 @@ const NumberInput = React.forwardRef((props, ref) => {
118
121
  "value",
119
122
  "onChange",
120
123
  "decimalSeparator",
124
+ "thousandsSeparator",
121
125
  "min",
122
126
  "max",
123
127
  "startValue",
124
128
  "step",
125
129
  "stepHoldInterval",
126
130
  "stepHoldDelay",
131
+ "onFocus",
127
132
  "onBlur",
128
133
  "onKeyDown",
129
134
  "onKeyUp",
@@ -147,44 +152,43 @@ const NumberInput = React.forwardRef((props, ref) => {
147
152
  "type"
148
153
  ]);
149
154
  const { classes, cx } = NumberInput_styles['default']({ radius }, { classNames, styles: styles$1, unstyled, name: "NumberInput", variant, size });
150
- const parsePrecision = (val, allowHigherPrecision) => {
155
+ const parsePrecision = (val) => {
151
156
  if (val === "")
152
157
  return "";
153
158
  let result = val.toFixed(precision);
154
- if (allowHigherPrecision && result.length < val.toString().length) {
155
- result = val.toString();
156
- }
157
159
  if (removeTrailingZeros && precision > 0) {
158
160
  result = result.replace(new RegExp(`[0]{0,${precision}}$`), "");
159
- if (result.endsWith(".") || result.endsWith(decimalSeparator)) {
161
+ if (result.endsWith(".")) {
160
162
  result = result.slice(0, -1);
161
163
  }
162
164
  }
163
165
  return result;
164
166
  };
165
- const formatNum = (val = "") => {
166
- let parsedStr = typeof val === "number" ? String(val) : val;
167
+ const formatNum = (val) => {
168
+ let parsedStr = val;
167
169
  if (decimalSeparator) {
168
- parsedStr = parsedStr.replace(/\./g, decimalSeparator);
170
+ parsedStr = parsedStr.replace(".", decimalSeparator);
169
171
  }
170
172
  return formatter(parsedStr);
171
173
  };
172
174
  const parseNum = (val) => {
173
175
  let num = val;
174
176
  if (decimalSeparator) {
175
- num = num.replace(new RegExp(`\\${decimalSeparator}`, "g"), ".");
177
+ num = num.replaceAll(thousandsSeparator, "").replace(decimalSeparator, ".");
176
178
  }
177
179
  return parser(num);
178
180
  };
179
- const formatInternalValue = (val, allowHigherPrecision) => formatNum(parsePrecision(val, allowHigherPrecision));
180
- const [resetStateValue, resetStateHandlers] = hooks.useDisclosure(false);
181
+ const formatInternalValue = (val) => formatNum(parsePrecision(val));
181
182
  const [internalValue, _setInternalValue] = React.useState(typeof value === "number" ? value : typeof defaultValue === "number" ? defaultValue : "");
182
183
  const [inputValue, setInputValue] = React.useState(() => formatInternalValue(internalValue));
183
184
  const inputRef = React.useRef();
184
- const setInternalValue = (val, allowHigherPrecision) => {
185
- const newInputValue = formatInternalValue(val, allowHigherPrecision);
186
- if (newInputValue !== inputValue) {
187
- setInputValue(newInputValue);
185
+ const [isFocussed, setIsFocussed] = React.useState(false);
186
+ const setInternalValue = (val, forceInputValueUpdate) => {
187
+ if (!isFocussed || forceInputValueUpdate) {
188
+ const newInputValue = formatInternalValue(val);
189
+ if (newInputValue !== inputValue) {
190
+ setInputValue(newInputValue);
191
+ }
188
192
  }
189
193
  if (val !== internalValue) {
190
194
  _setInternalValue(val);
@@ -201,9 +205,7 @@ const NumberInput = React.forwardRef((props, ref) => {
201
205
  } else {
202
206
  newInternalValue = parseFloat(parsePrecision(hooks.clamp(internalValue + step, _min, _max)));
203
207
  }
204
- if (value === void 0) {
205
- setInternalValue(newInternalValue);
206
- }
208
+ setInternalValue(newInternalValue, true);
207
209
  onChange == null ? void 0 : onChange(newInternalValue);
208
210
  };
209
211
  const decrementRef = React.useRef();
@@ -215,19 +217,20 @@ const NumberInput = React.forwardRef((props, ref) => {
215
217
  } else {
216
218
  newInternalValue = parseFloat(parsePrecision(hooks.clamp(internalValue - step, _min, _max)));
217
219
  }
218
- if (value === void 0) {
219
- setInternalValue(newInternalValue);
220
- }
220
+ setInternalValue(newInternalValue, true);
221
221
  onChange == null ? void 0 : onChange(newInternalValue);
222
222
  };
223
223
  hooks.assignRef(handlersRef, { increment: incrementRef.current, decrement: decrementRef.current });
224
224
  React.useEffect(() => {
225
- if (typeof value === "number" || value === "") {
225
+ if (isFocussed) {
226
+ return;
227
+ }
228
+ if (value === void 0) {
229
+ setInternalValue(internalValue, true);
230
+ } else {
226
231
  setInternalValue(value, true);
227
- } else if (value === void 0) {
228
- setInternalValue(defaultValue != null ? defaultValue : "", true);
229
232
  }
230
- }, [value, resetStateValue]);
233
+ }, [value, isFocussed]);
231
234
  const shouldUseStepInterval = stepHoldDelay !== void 0 && stepHoldInterval !== void 0;
232
235
  const onStepTimeoutRef = React.useRef(null);
233
236
  const stepCountRef = React.useRef(0);
@@ -296,20 +299,19 @@ const NumberInput = React.forwardRef((props, ref) => {
296
299
  size: styles.getSize({ size, sizes: CHEVRON_SIZES }),
297
300
  direction: "down"
298
301
  })));
299
- const propagateNewValue = () => {
300
- let normalizedInputValue = inputValue;
302
+ const processInputValue = (newInputValue) => {
303
+ let normalizedInputValue = newInputValue;
301
304
  if (normalizedInputValue[0] === `${decimalSeparator}` || normalizedInputValue[0] === ".") {
302
305
  normalizedInputValue = `0${normalizedInputValue}`;
303
306
  }
304
307
  const parsedValue = parseFloat(parsePrecision(parseFloat(parseNum(normalizedInputValue))));
305
308
  const clampedValue = !noClampOnBlur ? hooks.clamp(parsedValue, _min, _max) : parsedValue;
306
309
  const finalValue = Number.isNaN(clampedValue) ? "" : clampedValue;
307
- if (value === void 0) {
308
- setInternalValue(finalValue);
310
+ const internalValueChanged = internalValue !== finalValue;
311
+ setInputValue(newInputValue);
312
+ setInternalValue(finalValue);
313
+ if (internalValueChanged) {
309
314
  onChange == null ? void 0 : onChange(finalValue);
310
- } else {
311
- onChange == null ? void 0 : onChange(finalValue);
312
- resetStateHandlers.toggle();
313
315
  }
314
316
  };
315
317
  const handleChange = (event) => {
@@ -317,11 +319,14 @@ const NumberInput = React.forwardRef((props, ref) => {
317
319
  if (evt.isComposing) {
318
320
  return;
319
321
  }
320
- const val = event.target.value;
321
- setInputValue(val);
322
+ processInputValue(event.target.value);
323
+ };
324
+ const handleFocus = (event) => {
325
+ setIsFocussed(true);
326
+ onFocus == null ? void 0 : onFocus(event);
322
327
  };
323
328
  const handleBlur = (event) => {
324
- propagateNewValue();
329
+ setIsFocussed(false);
325
330
  onBlur == null ? void 0 : onBlur(event);
326
331
  };
327
332
  const handleKeyDown = (event) => {
@@ -335,8 +340,6 @@ const NumberInput = React.forwardRef((props, ref) => {
335
340
  onStep(event, true);
336
341
  } else if (event.key === "ArrowDown") {
337
342
  onStep(event, false);
338
- } else if (event.key === "Enter" && !event.repeat) {
339
- propagateNewValue();
340
343
  }
341
344
  }
342
345
  };
@@ -354,6 +357,7 @@ const NumberInput = React.forwardRef((props, ref) => {
354
357
  readOnly,
355
358
  ref: hooks.useMergedRef(inputRef, ref),
356
359
  onChange: handleChange,
360
+ onFocus: handleFocus,
357
361
  onBlur: handleBlur,
358
362
  onKeyDown: handleKeyDown,
359
363
  onKeyUp: handleKeyUp,
@@ -1 +1 @@
1
- {"version":3,"file":"NumberInput.js","sources":["../../src/NumberInput/NumberInput.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, forwardRef } from 'react';\nimport { useMergedRef, assignRef, useOs, clamp, useDisclosure } from '@mantine/hooks';\nimport { DefaultProps, Selectors, useComponentDefaultProps, rem, getSize } from '@mantine/styles';\nimport { TextInput } from '../TextInput';\nimport { InputStylesNames, InputWrapperStylesNames } from '../Input';\nimport { getInputMode } from './get-input-mode/get-input-mode';\nimport { Chevron } from './Chevron';\nimport useStyles, { CONTROL_SIZES } from './NumberInput.styles';\n\nexport type InnerNumberInputStylesNames = Selectors<typeof useStyles>;\nexport type NumberInputStylesNames =\n | InputStylesNames\n | InputWrapperStylesNames\n | InnerNumberInputStylesNames;\n\nexport interface NumberInputHandlers {\n increment(): void;\n decrement(): void;\n}\n\ntype Formatter = (value: string | '') => string;\ntype Parser = (value: string | '') => string;\n\nexport interface NumberInputProps\n extends DefaultProps<NumberInputStylesNames>,\n Omit<\n React.ComponentPropsWithoutRef<typeof TextInput>,\n 'onChange' | 'value' | 'classNames' | 'styles' | 'type'\n > {\n /** Called when value changes */\n onChange?(value: number | ''): void;\n\n /** Input value for controlled component */\n value?: number | '';\n\n /** Default value for uncontrolled component */\n defaultValue?: number | '';\n\n /** The decimal separator */\n decimalSeparator?: string;\n\n /** Maximum possible value */\n max?: number;\n\n /** Minimal possible value */\n min?: number;\n\n /** First value if no initial value was set and increment/decrement is triggered using controls or up/down arrows */\n startValue?: number;\n\n /** Number by which value will be incremented/decremented with controls and up/down arrows */\n step?: number;\n\n /** Delay before stepping the value. Can be a number of milliseconds or a function that receives the current step count and returns the delay in milliseconds. */\n stepHoldInterval?: number | ((stepCount: number) => number);\n\n /** Initial delay in milliseconds before stepping the value. */\n stepHoldDelay?: number;\n\n /** Removes increment/decrement controls */\n hideControls?: boolean;\n\n /** Amount of digits after the decimal point */\n precision?: number;\n\n /** Only works if a precision is given, removes the trailing zeros, false by default */\n removeTrailingZeros?: boolean;\n\n /** Prevent value clamp on blur */\n noClampOnBlur?: boolean;\n\n /** Get increment/decrement handlers */\n handlersRef?: React.ForwardedRef<NumberInputHandlers | undefined>;\n\n /** Formats the number into the input */\n formatter?: Formatter;\n\n /** Parses the value from formatter, should be used with formatter at the same time */\n parser?: Parser;\n\n /** Input type, defaults to text */\n type?: 'text' | 'number';\n}\n\nconst defaultFormatter: Formatter = (value) => value || '';\nconst defaultParser: Parser = (num) => {\n if (num === '-') {\n return num;\n }\n\n let tempNum = num;\n\n if (tempNum[0] === '.') {\n tempNum = `0${num}`;\n }\n\n const parsedNum = parseFloat(tempNum);\n\n if (Number.isNaN(parsedNum)) {\n return '';\n }\n\n return num;\n};\n\nconst CHEVRON_SIZES = {\n xs: rem(10),\n sm: rem(14),\n md: rem(16),\n lg: rem(18),\n xl: rem(20),\n};\n\nconst defaultProps: Partial<NumberInputProps> = {\n step: 1,\n hideControls: false,\n size: 'sm',\n precision: 0,\n noClampOnBlur: false,\n removeTrailingZeros: false,\n formatter: defaultFormatter,\n parser: defaultParser,\n type: 'text',\n};\n\nexport const NumberInput = forwardRef<HTMLInputElement, NumberInputProps>((props, ref) => {\n const {\n readOnly,\n disabled,\n value,\n onChange,\n decimalSeparator,\n min,\n max,\n startValue,\n step,\n stepHoldInterval,\n stepHoldDelay,\n onBlur,\n onKeyDown,\n onKeyUp,\n hideControls,\n radius,\n variant,\n precision,\n removeTrailingZeros,\n defaultValue,\n noClampOnBlur,\n handlersRef,\n classNames,\n styles,\n size,\n rightSection,\n rightSectionWidth,\n formatter,\n parser,\n inputMode,\n unstyled,\n type,\n ...others\n } = useComponentDefaultProps('NumberInput', defaultProps, props);\n\n const { classes, cx } = useStyles(\n { radius },\n { classNames, styles, unstyled, name: 'NumberInput', variant, size }\n );\n\n const parsePrecision = (val: number | '', allowHigherPrecision?: boolean) => {\n if (val === '') return '';\n\n let result = val.toFixed(precision);\n if (allowHigherPrecision && result.length < val.toString().length) {\n result = val.toString();\n }\n\n if (removeTrailingZeros && precision > 0) {\n result = result.replace(new RegExp(`[0]{0,${precision}}$`), '');\n if (result.endsWith('.') || result.endsWith(decimalSeparator)) {\n result = result.slice(0, -1);\n }\n }\n\n return result;\n };\n\n const formatNum = (val: string | number = '') => {\n let parsedStr = typeof val === 'number' ? String(val) : val;\n\n if (decimalSeparator) {\n parsedStr = parsedStr.replace(/\\./g, decimalSeparator);\n }\n\n return formatter(parsedStr);\n };\n\n const parseNum = (val: string): string | '' => {\n let num = val;\n\n if (decimalSeparator) {\n num = num.replace(new RegExp(`\\\\${decimalSeparator}`, 'g'), '.');\n }\n\n return parser(num);\n };\n\n const formatInternalValue = (val: number | '', allowHigherPrecision?: boolean) =>\n formatNum(parsePrecision(val, allowHigherPrecision));\n\n const [resetStateValue, resetStateHandlers] = useDisclosure(false);\n\n // Parsed value that will be used for uncontrolled state and for setting the inputValue\n const [internalValue, _setInternalValue] = useState<number | ''>(\n typeof value === 'number' ? value : typeof defaultValue === 'number' ? defaultValue : ''\n );\n\n // Value of input field. Gets changed through user input and on internalValue change\n const [inputValue, setInputValue] = useState(() => formatInternalValue(internalValue));\n\n const inputRef = useRef<HTMLInputElement>();\n\n const setInternalValue = (val: number | '', allowHigherPrecision?: boolean) => {\n const newInputValue = formatInternalValue(val, allowHigherPrecision);\n if (newInputValue !== inputValue) {\n // Make sure to update/reset the input value even if the internal value stays the same\n // E. g. this may happen if the internalValue is \"10\" and the user entered \"10abc\"\n setInputValue(newInputValue);\n }\n\n if (val !== internalValue) {\n _setInternalValue(val);\n }\n };\n\n const _min = typeof min === 'number' ? min : -Infinity;\n const _max = typeof max === 'number' ? max : Infinity;\n\n const incrementRef = useRef<() => void>();\n incrementRef.current = () => {\n let newInternalValue: number;\n if (internalValue === '') {\n newInternalValue = startValue ?? min ?? 0;\n } else {\n newInternalValue = parseFloat(parsePrecision(clamp(internalValue + step, _min, _max)));\n }\n\n if (value === undefined) {\n setInternalValue(newInternalValue);\n }\n\n onChange?.(newInternalValue);\n };\n\n const decrementRef = useRef<() => void>();\n decrementRef.current = () => {\n let newInternalValue: number;\n if (internalValue === '') {\n newInternalValue = startValue ?? min ?? 0;\n } else {\n newInternalValue = parseFloat(parsePrecision(clamp(internalValue - step, _min, _max)));\n }\n\n if (value === undefined) {\n setInternalValue(newInternalValue);\n }\n\n onChange?.(newInternalValue);\n };\n\n assignRef(handlersRef, { increment: incrementRef.current, decrement: decrementRef.current });\n\n useEffect(() => {\n if (typeof value === 'number' || value === '') {\n setInternalValue(value, true);\n } else if (value === undefined) {\n setInternalValue(defaultValue ?? '', true);\n }\n }, [value, resetStateValue]);\n\n const shouldUseStepInterval = stepHoldDelay !== undefined && stepHoldInterval !== undefined;\n const onStepTimeoutRef = useRef<number>(null);\n const stepCountRef = useRef<number>(0);\n\n const onStepDone = () => {\n if (onStepTimeoutRef.current) {\n window.clearTimeout(onStepTimeoutRef.current);\n }\n onStepTimeoutRef.current = null;\n stepCountRef.current = 0;\n };\n\n const onStepHandleChange = (isIncrement: boolean) => {\n if (isIncrement) {\n incrementRef.current();\n } else {\n decrementRef.current();\n }\n stepCountRef.current += 1;\n };\n\n const onStepLoop = (isIncrement: boolean) => {\n onStepHandleChange(isIncrement);\n\n if (shouldUseStepInterval) {\n const interval =\n typeof stepHoldInterval === 'number'\n ? stepHoldInterval\n : stepHoldInterval(stepCountRef.current);\n onStepTimeoutRef.current = window.setTimeout(() => onStepLoop(isIncrement), interval);\n }\n };\n\n const onStep = (\n event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>,\n isIncrement: boolean\n ) => {\n event.preventDefault();\n inputRef.current.focus();\n onStepHandleChange(isIncrement);\n if (shouldUseStepInterval) {\n onStepTimeoutRef.current = window.setTimeout(() => onStepLoop(isIncrement), stepHoldDelay);\n }\n };\n\n useEffect(() => {\n onStepDone();\n return onStepDone;\n }, []);\n\n const controls = (\n <div className={classes.rightSection}>\n <button\n type=\"button\"\n tabIndex={-1}\n aria-hidden\n disabled={internalValue >= max}\n className={cx(classes.control, classes.controlUp)}\n onPointerDown={(event) => {\n onStep(event, true);\n }}\n onPointerUp={onStepDone}\n onPointerLeave={onStepDone}\n >\n <Chevron size={getSize({ size, sizes: CHEVRON_SIZES })} direction=\"up\" />\n </button>\n <button\n type=\"button\"\n tabIndex={-1}\n aria-hidden\n disabled={internalValue <= min}\n className={cx(classes.control, classes.controlDown)}\n onPointerDown={(event) => {\n onStep(event, false);\n }}\n onPointerUp={onStepDone}\n onPointerLeave={onStepDone}\n >\n <Chevron size={getSize({ size, sizes: CHEVRON_SIZES })} direction=\"down\" />\n </button>\n </div>\n );\n\n /**\n * Parse new value and propagate it via `onChange` to parent.\n */\n const propagateNewValue = () => {\n let normalizedInputValue = inputValue;\n if (normalizedInputValue[0] === `${decimalSeparator}` || normalizedInputValue[0] === '.') {\n normalizedInputValue = `0${normalizedInputValue}`;\n }\n\n const parsedValue = parseFloat(parsePrecision(parseFloat(parseNum(normalizedInputValue))));\n const clampedValue = !noClampOnBlur ? clamp(parsedValue, _min, _max) : parsedValue;\n const finalValue = Number.isNaN(clampedValue) ? '' : clampedValue;\n\n if (value === undefined) {\n setInternalValue(finalValue);\n onChange?.(finalValue);\n } else {\n onChange?.(finalValue);\n\n // Force value effect that resets internal value to reformat the input and remove invalid inputs\n resetStateHandlers.toggle();\n }\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const evt = event.nativeEvent as InputEvent;\n if (evt.isComposing) {\n return;\n }\n\n const val = event.target.value;\n setInputValue(val);\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n propagateNewValue();\n\n onBlur?.(event);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n typeof onKeyDown === 'function' && onKeyDown(event);\n if (\n event.repeat &&\n shouldUseStepInterval &&\n (event.key === 'ArrowUp' || event.key === 'ArrowDown')\n ) {\n event.preventDefault();\n return;\n }\n\n if (!readOnly) {\n if (event.key === 'ArrowUp') {\n onStep(event, true);\n } else if (event.key === 'ArrowDown') {\n onStep(event, false);\n } else if (event.key === 'Enter' && !event.repeat) {\n propagateNewValue();\n }\n }\n };\n\n const handleKeyUp = (event: React.KeyboardEvent<HTMLInputElement>) => {\n typeof onKeyUp === 'function' && onKeyUp(event);\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n onStepDone();\n }\n };\n\n return (\n <TextInput\n {...others}\n type={type}\n variant={variant}\n value={inputValue}\n disabled={disabled}\n readOnly={readOnly}\n ref={useMergedRef(inputRef, ref)}\n onChange={handleChange}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n rightSection={\n rightSection ||\n (disabled || readOnly || hideControls || variant === 'unstyled' ? null : controls)\n }\n rightSectionWidth={\n rightSectionWidth ?? `calc(${getSize({ size, sizes: CONTROL_SIZES })} + ${rem(1)})`\n }\n radius={radius}\n max={max}\n min={min}\n step={step}\n size={size}\n styles={styles}\n classNames={classNames}\n inputMode={inputMode || getInputMode(step, precision, useOs())}\n __staticSelector=\"NumberInput\"\n unstyled={unstyled}\n />\n );\n});\n\nNumberInput.displayName = '@mantine/core/NumberInput';\n"],"names":["rem","forwardRef","useComponentDefaultProps","styles","useStyles","useDisclosure","useState","useRef","clamp","assignRef","useEffect","React","Chevron","getSize","TextInput","useMergedRef","CONTROL_SIZES","getInputMode","useOs"],"mappings":"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"}
1
+ {"version":3,"file":"NumberInput.js","sources":["../../src/NumberInput/NumberInput.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, forwardRef } from 'react';\nimport { useMergedRef, assignRef, useOs, clamp } from '@mantine/hooks';\nimport { DefaultProps, Selectors, useComponentDefaultProps, rem, getSize } from '@mantine/styles';\nimport { TextInput } from '../TextInput';\nimport { InputStylesNames, InputWrapperStylesNames } from '../Input';\nimport { getInputMode } from './get-input-mode/get-input-mode';\nimport { Chevron } from './Chevron';\nimport useStyles, { CONTROL_SIZES } from './NumberInput.styles';\n\nexport type InnerNumberInputStylesNames = Selectors<typeof useStyles>;\nexport type NumberInputStylesNames =\n | InputStylesNames\n | InputWrapperStylesNames\n | InnerNumberInputStylesNames;\n\nexport interface NumberInputHandlers {\n increment(): void;\n decrement(): void;\n}\n\ntype Formatter = (value: string | '') => string;\ntype Parser = (value: string | '') => string;\n\nexport interface NumberInputProps\n extends DefaultProps<NumberInputStylesNames>,\n Omit<\n React.ComponentPropsWithoutRef<typeof TextInput>,\n 'onChange' | 'value' | 'classNames' | 'styles' | 'type'\n > {\n /** Called when value changes */\n onChange?(value: number | ''): void;\n\n /** Input value for controlled component */\n value?: number | '';\n\n /** Default value for uncontrolled component */\n defaultValue?: number | '';\n\n /** The decimal separator */\n decimalSeparator?: string;\n\n /** The thousands separator */\n thousandsSeparator?: string;\n\n /** Maximum possible value */\n max?: number;\n\n /** Minimal possible value */\n min?: number;\n\n /** First value if no initial value was set and increment/decrement is triggered using controls or up/down arrows */\n startValue?: number;\n\n /** Number by which value will be incremented/decremented with controls and up/down arrows */\n step?: number;\n\n /** Delay before stepping the value. Can be a number of milliseconds or a function that receives the current step count and returns the delay in milliseconds. */\n stepHoldInterval?: number | ((stepCount: number) => number);\n\n /** Initial delay in milliseconds before stepping the value. */\n stepHoldDelay?: number;\n\n /** Removes increment/decrement controls */\n hideControls?: boolean;\n\n /** Amount of digits after the decimal point */\n precision?: number;\n\n /** Only works if a precision is given, removes the trailing zeros, false by default */\n removeTrailingZeros?: boolean;\n\n /** Prevent value clamp on blur */\n noClampOnBlur?: boolean;\n\n /** Get increment/decrement handlers */\n handlersRef?: React.ForwardedRef<NumberInputHandlers | undefined>;\n\n /** Formats the number into the input */\n formatter?: Formatter;\n\n /** Parses the value from formatter, should be used with formatter at the same time */\n parser?: Parser;\n\n /** Input type, defaults to text */\n type?: 'text' | 'number';\n}\n\nconst defaultFormatter: Formatter = (value) => value || '';\nconst defaultParser: Parser = (num) => {\n if (num === '-') {\n return num;\n }\n\n let tempNum = num;\n\n if (tempNum[0] === '.') {\n tempNum = `0${num}`;\n }\n\n const parsedNum = parseFloat(tempNum);\n\n if (Number.isNaN(parsedNum)) {\n return '';\n }\n\n return num;\n};\n\nconst CHEVRON_SIZES = {\n xs: rem(10),\n sm: rem(14),\n md: rem(16),\n lg: rem(18),\n xl: rem(20),\n};\n\nconst defaultProps: Partial<NumberInputProps> = {\n step: 1,\n hideControls: false,\n size: 'sm',\n precision: 0,\n noClampOnBlur: false,\n removeTrailingZeros: false,\n decimalSeparator: '.',\n formatter: defaultFormatter,\n parser: defaultParser,\n type: 'text',\n};\n\nexport const NumberInput = forwardRef<HTMLInputElement, NumberInputProps>((props, ref) => {\n const {\n readOnly,\n disabled,\n value,\n onChange,\n decimalSeparator,\n thousandsSeparator,\n min,\n max,\n startValue,\n step,\n stepHoldInterval,\n stepHoldDelay,\n onFocus,\n onBlur,\n onKeyDown,\n onKeyUp,\n hideControls,\n radius,\n variant,\n precision,\n removeTrailingZeros,\n defaultValue,\n noClampOnBlur,\n handlersRef,\n classNames,\n styles,\n size,\n rightSection,\n rightSectionWidth,\n formatter,\n parser,\n inputMode,\n unstyled,\n type,\n ...others\n } = useComponentDefaultProps('NumberInput', defaultProps, props);\n\n const { classes, cx } = useStyles(\n { radius },\n { classNames, styles, unstyled, name: 'NumberInput', variant, size }\n );\n\n const parsePrecision = (val: number | '') => {\n if (val === '') return '';\n\n let result = val.toFixed(precision);\n\n if (removeTrailingZeros && precision > 0) {\n result = result.replace(new RegExp(`[0]{0,${precision}}$`), '');\n if (result.endsWith('.')) {\n result = result.slice(0, -1);\n }\n }\n\n return result;\n };\n\n const formatNum = (val: string) => {\n let parsedStr = val;\n if (decimalSeparator) {\n parsedStr = parsedStr.replace('.', decimalSeparator);\n }\n\n return formatter(parsedStr);\n };\n\n const parseNum = (val: string): string | '' => {\n let num = val;\n\n if (decimalSeparator) {\n num = num.replaceAll(thousandsSeparator, '').replace(decimalSeparator, '.');\n }\n\n return parser(num);\n };\n\n const formatInternalValue = (val: number | '') => formatNum(parsePrecision(val));\n\n // Parsed value that will be used for uncontrolled state and for setting the inputValue\n const [internalValue, _setInternalValue] = useState<number | ''>(\n typeof value === 'number' ? value : typeof defaultValue === 'number' ? defaultValue : ''\n );\n\n // Value of input field. Gets changed through user input and on internalValue change\n const [inputValue, setInputValue] = useState(() => formatInternalValue(internalValue));\n\n const inputRef = useRef<HTMLInputElement>();\n\n const [isFocussed, setIsFocussed] = useState(false);\n\n const setInternalValue = (val: number | '', forceInputValueUpdate?: boolean) => {\n if (!isFocussed || forceInputValueUpdate) {\n const newInputValue = formatInternalValue(val);\n if (newInputValue !== inputValue) {\n // Make sure to update/reset the input value even if the internal value stays the same\n // E. g. this may happen if the internalValue is \"10\" and the user entered \"10abc\"\n setInputValue(newInputValue);\n }\n }\n\n if (val !== internalValue) {\n _setInternalValue(val);\n }\n };\n\n const _min = typeof min === 'number' ? min : -Infinity;\n const _max = typeof max === 'number' ? max : Infinity;\n\n const incrementRef = useRef<() => void>();\n incrementRef.current = () => {\n let newInternalValue: number;\n if (internalValue === '') {\n newInternalValue = startValue ?? min ?? 0;\n } else {\n newInternalValue = parseFloat(parsePrecision(clamp(internalValue + step, _min, _max)));\n }\n\n setInternalValue(newInternalValue, true);\n onChange?.(newInternalValue);\n };\n\n const decrementRef = useRef<() => void>();\n decrementRef.current = () => {\n let newInternalValue: number;\n if (internalValue === '') {\n newInternalValue = startValue ?? min ?? 0;\n } else {\n newInternalValue = parseFloat(parsePrecision(clamp(internalValue - step, _min, _max)));\n }\n\n setInternalValue(newInternalValue, true);\n onChange?.(newInternalValue);\n };\n\n assignRef(handlersRef, { increment: incrementRef.current, decrement: decrementRef.current });\n\n useEffect(() => {\n if (isFocussed) {\n return;\n }\n\n if (value === undefined) {\n // For uncontrolled inputs reapply internalValue\n setInternalValue(internalValue, true);\n } else {\n // For controlled inputs apply value\n setInternalValue(value, true);\n }\n }, [value, isFocussed]);\n\n const shouldUseStepInterval = stepHoldDelay !== undefined && stepHoldInterval !== undefined;\n const onStepTimeoutRef = useRef<number>(null);\n const stepCountRef = useRef<number>(0);\n\n const onStepDone = () => {\n if (onStepTimeoutRef.current) {\n window.clearTimeout(onStepTimeoutRef.current);\n }\n onStepTimeoutRef.current = null;\n stepCountRef.current = 0;\n };\n\n const onStepHandleChange = (isIncrement: boolean) => {\n if (isIncrement) {\n incrementRef.current();\n } else {\n decrementRef.current();\n }\n stepCountRef.current += 1;\n };\n\n const onStepLoop = (isIncrement: boolean) => {\n onStepHandleChange(isIncrement);\n\n if (shouldUseStepInterval) {\n const interval =\n typeof stepHoldInterval === 'number'\n ? stepHoldInterval\n : stepHoldInterval(stepCountRef.current);\n onStepTimeoutRef.current = window.setTimeout(() => onStepLoop(isIncrement), interval);\n }\n };\n\n const onStep = (\n event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>,\n isIncrement: boolean\n ) => {\n event.preventDefault();\n inputRef.current.focus();\n onStepHandleChange(isIncrement);\n if (shouldUseStepInterval) {\n onStepTimeoutRef.current = window.setTimeout(() => onStepLoop(isIncrement), stepHoldDelay);\n }\n };\n\n useEffect(() => {\n onStepDone();\n return onStepDone;\n }, []);\n\n const controls = (\n <div className={classes.rightSection}>\n <button\n type=\"button\"\n tabIndex={-1}\n aria-hidden\n disabled={internalValue >= max}\n className={cx(classes.control, classes.controlUp)}\n onPointerDown={(event) => {\n onStep(event, true);\n }}\n onPointerUp={onStepDone}\n onPointerLeave={onStepDone}\n >\n <Chevron size={getSize({ size, sizes: CHEVRON_SIZES })} direction=\"up\" />\n </button>\n <button\n type=\"button\"\n tabIndex={-1}\n aria-hidden\n disabled={internalValue <= min}\n className={cx(classes.control, classes.controlDown)}\n onPointerDown={(event) => {\n onStep(event, false);\n }}\n onPointerUp={onStepDone}\n onPointerLeave={onStepDone}\n >\n <Chevron size={getSize({ size, sizes: CHEVRON_SIZES })} direction=\"down\" />\n </button>\n </div>\n );\n\n /**\n * Parse new input value and propagate it via `onChange` to parent.\n */\n const processInputValue = (newInputValue: string) => {\n let normalizedInputValue = newInputValue;\n if (normalizedInputValue[0] === `${decimalSeparator}` || normalizedInputValue[0] === '.') {\n normalizedInputValue = `0${normalizedInputValue}`;\n }\n\n const parsedValue = parseFloat(parsePrecision(parseFloat(parseNum(normalizedInputValue))));\n const clampedValue = !noClampOnBlur ? clamp(parsedValue, _min, _max) : parsedValue;\n const finalValue = Number.isNaN(clampedValue) ? '' : clampedValue;\n\n const internalValueChanged = internalValue !== finalValue;\n\n setInputValue(newInputValue);\n setInternalValue(finalValue);\n\n if (internalValueChanged) {\n onChange?.(finalValue);\n }\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const evt = event.nativeEvent as InputEvent;\n if (evt.isComposing) {\n return;\n }\n\n processInputValue(event.target.value);\n };\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n setIsFocussed(true);\n onFocus?.(event);\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n setIsFocussed(false);\n onBlur?.(event);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n typeof onKeyDown === 'function' && onKeyDown(event);\n if (\n event.repeat &&\n shouldUseStepInterval &&\n (event.key === 'ArrowUp' || event.key === 'ArrowDown')\n ) {\n event.preventDefault();\n return;\n }\n\n if (!readOnly) {\n if (event.key === 'ArrowUp') {\n onStep(event, true);\n } else if (event.key === 'ArrowDown') {\n onStep(event, false);\n }\n }\n };\n\n const handleKeyUp = (event: React.KeyboardEvent<HTMLInputElement>) => {\n typeof onKeyUp === 'function' && onKeyUp(event);\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n onStepDone();\n }\n };\n\n return (\n <TextInput\n {...others}\n type={type}\n variant={variant}\n value={inputValue}\n disabled={disabled}\n readOnly={readOnly}\n ref={useMergedRef(inputRef, ref)}\n onChange={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n rightSection={\n rightSection ||\n (disabled || readOnly || hideControls || variant === 'unstyled' ? null : controls)\n }\n rightSectionWidth={\n rightSectionWidth ?? `calc(${getSize({ size, sizes: CONTROL_SIZES })} + ${rem(1)})`\n }\n radius={radius}\n max={max}\n min={min}\n step={step}\n size={size}\n styles={styles}\n classNames={classNames}\n inputMode={inputMode || getInputMode(step, precision, useOs())}\n __staticSelector=\"NumberInput\"\n unstyled={unstyled}\n />\n );\n});\n\nNumberInput.displayName = '@mantine/core/NumberInput';\n"],"names":["rem","forwardRef","useComponentDefaultProps","styles","useStyles","useState","useRef","clamp","assignRef","useEffect","React","Chevron","getSize","TextInput","useMergedRef","CONTROL_SIZES","getInputMode","useOs"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.context.js","sources":["../../src/Popover/Popover.context.ts"],"sourcesContent":["import { ReferenceType } from '@floating-ui/react';\nimport { createSafeContext } from '@mantine/utils';\nimport { MantineNumberSize, MantineShadow, ClassNames, Styles } from '@mantine/styles';\nimport { FloatingPosition, ArrowPosition } from '../Floating';\nimport { TransitionOverride } from '../Transition';\nimport { PortalProps } from '../Portal';\nimport { POPOVER_ERRORS } from './Popover.errors';\nimport { PopoverWidth, PopoverStylesNames, PopoverStylesParams } from './Popover.types';\n\ninterface PopoverContext {\n x: number;\n y: number;\n arrowX: number;\n arrowY: number;\n arrowRef: React.RefObject<HTMLDivElement>;\n opened: boolean;\n transitionProps?: TransitionOverride;\n reference: (node: ReferenceType) => void;\n floating: (node: HTMLElement) => void;\n width?: PopoverWidth;\n withArrow: boolean;\n arrowSize: number;\n arrowOffset: number;\n arrowRadius: number;\n arrowPosition: ArrowPosition;\n trapFocus: boolean;\n placement: FloatingPosition;\n withinPortal: boolean;\n portalProps?: PortalProps;\n closeOnEscape: boolean;\n zIndex: React.CSSProperties['zIndex'];\n radius?: MantineNumberSize;\n shadow?: MantineShadow;\n onClose?(): void;\n getDropdownId(): string;\n getTargetId(): string;\n controlled: boolean;\n onToggle(): void;\n withRoles: boolean;\n targetProps: Record<string, any>;\n disabled: boolean;\n returnFocus: boolean;\n classNames: ClassNames<PopoverStylesNames>;\n styles: Styles<PopoverStylesNames, PopoverStylesParams>;\n unstyled: boolean;\n __staticSelector: string;\n variant: string;\n keepMounted: boolean;\n}\n\nexport const [PopoverContextProvider, usePopoverContext] = createSafeContext<PopoverContext>(\n POPOVER_ERRORS.context\n);\n"],"names":["createSafeContext","POPOVER_ERRORS"],"mappings":";;;;;;;AAEY,MAAC,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,GAAGA,uBAAiB,CAACC,6BAAc,CAAC,OAAO;;;;;"}
1
+ {"version":3,"file":"Popover.context.js","sources":["../../src/Popover/Popover.context.ts"],"sourcesContent":["import { ReferenceType } from '@floating-ui/react';\nimport { createSafeContext } from '@mantine/utils';\nimport { MantineNumberSize, MantineShadow, ClassNames, Styles } from '@mantine/styles';\nimport { FloatingPosition, ArrowPosition } from '../Floating';\nimport { TransitionOverride } from '../Transition';\nimport { PortalProps } from '../Portal';\nimport { POPOVER_ERRORS } from './Popover.errors';\nimport { PopoverWidth, PopoverStylesNames, PopoverStylesParams } from './Popover.types';\n\ninterface PopoverContext {\n x: number;\n y: number;\n arrowX: number;\n arrowY: number;\n arrowRef: React.RefObject<HTMLDivElement>;\n opened: boolean;\n transitionProps?: TransitionOverride;\n reference: (node: ReferenceType) => void;\n floating: (node: HTMLElement) => void;\n width?: PopoverWidth;\n withArrow: boolean;\n arrowSize: number;\n arrowOffset: number;\n arrowRadius: number;\n arrowPosition: ArrowPosition;\n trapFocus: boolean;\n placement: FloatingPosition;\n withinPortal: boolean;\n portalProps?: Omit<PortalProps, 'children' | 'withinPortal'>;\n closeOnEscape: boolean;\n zIndex: React.CSSProperties['zIndex'];\n radius?: MantineNumberSize;\n shadow?: MantineShadow;\n onClose?(): void;\n getDropdownId(): string;\n getTargetId(): string;\n controlled: boolean;\n onToggle(): void;\n withRoles: boolean;\n targetProps: Record<string, any>;\n disabled: boolean;\n returnFocus: boolean;\n classNames: ClassNames<PopoverStylesNames>;\n styles: Styles<PopoverStylesNames, PopoverStylesParams>;\n unstyled: boolean;\n __staticSelector: string;\n variant: string;\n keepMounted: boolean;\n}\n\nexport const [PopoverContextProvider, usePopoverContext] = createSafeContext<PopoverContext>(\n POPOVER_ERRORS.context\n);\n"],"names":["createSafeContext","POPOVER_ERRORS"],"mappings":";;;;;;;AAEY,MAAC,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,GAAGA,uBAAiB,CAACC,6BAAc,CAAC,OAAO;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","sources":["../../src/Popover/Popover.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\n\nimport React, { useRef, useState, useCallback } from 'react';\nimport { useId, useClickOutside } from '@mantine/hooks';\nimport {\n useMantineTheme,\n ClassNames,\n Styles,\n MantineNumberSize,\n MantineShadow,\n getDefaultZIndex,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { TransitionOverride } from '../Transition';\nimport {\n getFloatingPosition,\n FloatingAxesOffsets,\n FloatingPosition,\n ArrowPosition,\n} from '../Floating';\nimport { PortalProps } from '../Portal';\nimport { usePopover } from './use-popover';\nimport { PopoverContextProvider } from './Popover.context';\nimport {\n PopoverWidth,\n PopoverMiddlewares,\n PopoverStylesNames,\n PopoverStylesParams,\n} from './Popover.types';\nimport { PopoverTarget } from './PopoverTarget/PopoverTarget';\nimport { PopoverDropdown } from './PopoverDropdown/PopoverDropdown';\n\nexport interface PopoverBaseProps {\n /** Dropdown position relative to target */\n position?: FloatingPosition;\n\n /** Default Y axis or either (main, cross, alignment) X and Y axis space between target element and dropdown */\n offset?: number | FloatingAxesOffsets;\n\n /** Called when dropdown position changes */\n onPositionChange?(position: FloatingPosition): void;\n\n /** useEffect dependencies to force update dropdown position */\n positionDependencies?: any[];\n\n /** Called when dropdown closes */\n onClose?(): void;\n\n /** Called when dropdown opens */\n onOpen?(): void;\n\n /** If set dropdown will not be unmounted from the DOM when it is hidden, display: none styles will be added instead */\n keepMounted?: boolean;\n\n /** Props added to Transition component that used to animate dropdown presence, use to configure duration and animation type, { duration: 150, transition: 'fade' } by default */\n transitionProps?: TransitionOverride;\n\n /** Dropdown width, or 'target' to make dropdown width the same as target element */\n width?: PopoverWidth;\n\n /** Floating ui middlewares to configure position handling */\n middlewares?: PopoverMiddlewares;\n\n /** Determines whether component should have an arrow */\n withArrow?: boolean;\n\n /** Arrow size */\n arrowSize?: number;\n\n /** Arrow offset */\n arrowOffset?: number;\n\n /** Arrow border-radius */\n arrowRadius?: number;\n\n /** Arrow position **/\n arrowPosition?: ArrowPosition;\n\n /** Determines whether dropdown should be rendered within Portal, defaults to false */\n withinPortal?: boolean;\n\n /** Props to pass down to the portal when withinPortal is true */\n portalProps?: PortalProps;\n\n /** Dropdown z-index */\n zIndex?: React.CSSProperties['zIndex'];\n\n /** Key of theme.radius or any valid CSS value to set border-radius, theme.defaultRadius by default */\n radius?: MantineNumberSize;\n\n /** Key of theme.shadow or any other valid css box-shadow value */\n shadow?: MantineShadow;\n\n /** If set, popover dropdown will not render */\n disabled?: boolean;\n\n /** Determines whether focus should be automatically returned to control when dropdown closes, false by default */\n returnFocus?: boolean;\n}\n\nexport interface PopoverProps extends PopoverBaseProps {\n /** Popover.Target and Popover.Dropdown components */\n children: React.ReactNode;\n\n /** Initial opened state for uncontrolled component */\n defaultOpened?: boolean;\n\n /** Controls dropdown opened state */\n opened?: boolean;\n\n /** Called with current state when dropdown opens or closes */\n onChange?(opened: boolean): void;\n\n /** Determines whether dropdown should be closed on outside clicks, default to true */\n closeOnClickOutside?: boolean;\n\n /** Events that trigger outside clicks */\n clickOutsideEvents?: string[];\n\n /** Determines whether focus should be trapped within dropdown, default to false */\n trapFocus?: boolean;\n\n /** Determines whether dropdown should be closed when Escape key is pressed, defaults to true */\n closeOnEscape?: boolean;\n\n /** id base to create accessibility connections */\n id?: string;\n\n /** Determines whether dropdown and target element should have accessible roles, defaults to true */\n withRoles?: boolean;\n\n variant?: string;\n unstyled?: boolean;\n classNames?: ClassNames<PopoverStylesNames>;\n styles?: Styles<PopoverStylesNames, PopoverStylesParams>;\n __staticSelector?: string;\n}\n\nconst defaultProps: Partial<PopoverProps> = {\n position: 'bottom',\n offset: 8,\n positionDependencies: [],\n transitionProps: { transition: 'fade', duration: 150 },\n middlewares: { flip: true, shift: true, inline: false },\n arrowSize: 7,\n arrowOffset: 5,\n arrowRadius: 0,\n arrowPosition: 'side',\n closeOnClickOutside: true,\n withinPortal: false,\n closeOnEscape: true,\n trapFocus: false,\n withRoles: true,\n returnFocus: false,\n clickOutsideEvents: ['mousedown', 'touchstart'],\n zIndex: getDefaultZIndex('popover'),\n __staticSelector: 'Popover',\n width: 'max-content',\n};\n\nexport function Popover(props: PopoverProps) {\n const arrowRef = useRef<HTMLDivElement | null>(null);\n const {\n children,\n position,\n offset,\n onPositionChange,\n positionDependencies,\n opened,\n transitionProps,\n width,\n middlewares,\n withArrow,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n unstyled,\n classNames,\n styles,\n closeOnClickOutside,\n withinPortal,\n portalProps,\n closeOnEscape,\n clickOutsideEvents,\n trapFocus,\n onClose,\n onOpen,\n onChange,\n zIndex,\n radius,\n shadow,\n id,\n defaultOpened,\n __staticSelector,\n withRoles,\n disabled,\n returnFocus,\n variant,\n keepMounted,\n ...others\n } = useComponentDefaultProps('Popover', defaultProps, props);\n\n const [targetNode, setTargetNode] = useState<HTMLElement>(null);\n const [dropdownNode, setDropdownNode] = useState<HTMLElement>(null);\n\n const uid = useId(id);\n const theme = useMantineTheme();\n const popover = usePopover({\n middlewares,\n width,\n position: getFloatingPosition(theme.dir, position),\n offset: typeof offset === 'number' ? offset + (withArrow ? arrowSize / 2 : 0) : offset,\n arrowRef,\n arrowOffset,\n onPositionChange,\n positionDependencies,\n opened,\n defaultOpened,\n onChange,\n onOpen,\n onClose,\n });\n\n useClickOutside(() => closeOnClickOutside && popover.onClose(), clickOutsideEvents, [\n targetNode,\n dropdownNode,\n ]);\n\n const reference = useCallback(\n (node: HTMLElement) => {\n setTargetNode(node);\n popover.floating.reference(node);\n },\n [popover.floating.reference]\n );\n\n const floating = useCallback(\n (node: HTMLElement) => {\n setDropdownNode(node);\n popover.floating.floating(node);\n },\n [popover.floating.floating]\n );\n\n return (\n <PopoverContextProvider\n value={{\n returnFocus,\n disabled,\n controlled: popover.controlled,\n reference,\n floating,\n x: popover.floating.x,\n y: popover.floating.y,\n arrowX: popover.floating?.middlewareData?.arrow?.x,\n arrowY: popover.floating?.middlewareData?.arrow?.y,\n opened: popover.opened,\n arrowRef,\n transitionProps,\n width,\n withArrow,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n placement: popover.floating.placement,\n trapFocus,\n withinPortal,\n portalProps,\n zIndex,\n radius,\n shadow,\n closeOnEscape,\n onClose: popover.onClose,\n onToggle: popover.onToggle,\n getTargetId: () => `${uid}-target`,\n getDropdownId: () => `${uid}-dropdown`,\n withRoles,\n targetProps: others,\n __staticSelector,\n classNames,\n styles,\n unstyled,\n variant,\n keepMounted,\n }}\n >\n {children}\n </PopoverContextProvider>\n );\n}\n\nPopover.Target = PopoverTarget;\nPopover.Dropdown = PopoverDropdown;\nPopover.displayName = '@mantine/core/Popover';\n"],"names":["getDefaultZIndex","useRef","useComponentDefaultProps","styles","useState","useId","useMantineTheme","usePopover","getFloatingPosition","useClickOutside","useCallback","React","PopoverContextProvider","PopoverTarget","PopoverDropdown"],"mappings":"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"}
1
+ {"version":3,"file":"Popover.js","sources":["../../src/Popover/Popover.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\n\nimport React, { useRef, useState, useCallback } from 'react';\nimport { useId, useClickOutside } from '@mantine/hooks';\nimport {\n useMantineTheme,\n ClassNames,\n Styles,\n MantineNumberSize,\n MantineShadow,\n getDefaultZIndex,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { TransitionOverride } from '../Transition';\nimport {\n getFloatingPosition,\n FloatingAxesOffsets,\n FloatingPosition,\n ArrowPosition,\n} from '../Floating';\nimport { PortalProps } from '../Portal';\nimport { usePopover } from './use-popover';\nimport { PopoverContextProvider } from './Popover.context';\nimport {\n PopoverWidth,\n PopoverMiddlewares,\n PopoverStylesNames,\n PopoverStylesParams,\n} from './Popover.types';\nimport { PopoverTarget } from './PopoverTarget/PopoverTarget';\nimport { PopoverDropdown } from './PopoverDropdown/PopoverDropdown';\n\nexport interface PopoverBaseProps {\n /** Dropdown position relative to target */\n position?: FloatingPosition;\n\n /** Default Y axis or either (main, cross, alignment) X and Y axis space between target element and dropdown */\n offset?: number | FloatingAxesOffsets;\n\n /** Called when dropdown position changes */\n onPositionChange?(position: FloatingPosition): void;\n\n /** useEffect dependencies to force update dropdown position */\n positionDependencies?: any[];\n\n /** Called when dropdown closes */\n onClose?(): void;\n\n /** Called when dropdown opens */\n onOpen?(): void;\n\n /** If set dropdown will not be unmounted from the DOM when it is hidden, display: none styles will be added instead */\n keepMounted?: boolean;\n\n /** Props added to Transition component that used to animate dropdown presence, use to configure duration and animation type, { duration: 150, transition: 'fade' } by default */\n transitionProps?: TransitionOverride;\n\n /** Dropdown width, or 'target' to make dropdown width the same as target element */\n width?: PopoverWidth;\n\n /** Floating ui middlewares to configure position handling */\n middlewares?: PopoverMiddlewares;\n\n /** Determines whether component should have an arrow */\n withArrow?: boolean;\n\n /** Arrow size */\n arrowSize?: number;\n\n /** Arrow offset */\n arrowOffset?: number;\n\n /** Arrow border-radius */\n arrowRadius?: number;\n\n /** Arrow position **/\n arrowPosition?: ArrowPosition;\n\n /** Determines whether dropdown should be rendered within Portal, defaults to false */\n withinPortal?: boolean;\n\n /** Props to pass down to the portal when withinPortal is true */\n portalProps?: Omit<PortalProps, 'children' | 'withinPortal'>;\n\n /** Dropdown z-index */\n zIndex?: React.CSSProperties['zIndex'];\n\n /** Key of theme.radius or any valid CSS value to set border-radius, theme.defaultRadius by default */\n radius?: MantineNumberSize;\n\n /** Key of theme.shadow or any other valid css box-shadow value */\n shadow?: MantineShadow;\n\n /** If set, popover dropdown will not render */\n disabled?: boolean;\n\n /** Determines whether focus should be automatically returned to control when dropdown closes, false by default */\n returnFocus?: boolean;\n}\n\nexport interface PopoverProps extends PopoverBaseProps {\n /** Popover.Target and Popover.Dropdown components */\n children: React.ReactNode;\n\n /** Initial opened state for uncontrolled component */\n defaultOpened?: boolean;\n\n /** Controls dropdown opened state */\n opened?: boolean;\n\n /** Called with current state when dropdown opens or closes */\n onChange?(opened: boolean): void;\n\n /** Determines whether dropdown should be closed on outside clicks, default to true */\n closeOnClickOutside?: boolean;\n\n /** Events that trigger outside clicks */\n clickOutsideEvents?: string[];\n\n /** Determines whether focus should be trapped within dropdown, default to false */\n trapFocus?: boolean;\n\n /** Determines whether dropdown should be closed when Escape key is pressed, defaults to true */\n closeOnEscape?: boolean;\n\n /** id base to create accessibility connections */\n id?: string;\n\n /** Determines whether dropdown and target element should have accessible roles, defaults to true */\n withRoles?: boolean;\n\n variant?: string;\n unstyled?: boolean;\n classNames?: ClassNames<PopoverStylesNames>;\n styles?: Styles<PopoverStylesNames, PopoverStylesParams>;\n __staticSelector?: string;\n}\n\nconst defaultProps: Partial<PopoverProps> = {\n position: 'bottom',\n offset: 8,\n positionDependencies: [],\n transitionProps: { transition: 'fade', duration: 150 },\n middlewares: { flip: true, shift: true, inline: false },\n arrowSize: 7,\n arrowOffset: 5,\n arrowRadius: 0,\n arrowPosition: 'side',\n closeOnClickOutside: true,\n withinPortal: false,\n closeOnEscape: true,\n trapFocus: false,\n withRoles: true,\n returnFocus: false,\n clickOutsideEvents: ['mousedown', 'touchstart'],\n zIndex: getDefaultZIndex('popover'),\n __staticSelector: 'Popover',\n width: 'max-content',\n};\n\nexport function Popover(props: PopoverProps) {\n const arrowRef = useRef<HTMLDivElement | null>(null);\n const {\n children,\n position,\n offset,\n onPositionChange,\n positionDependencies,\n opened,\n transitionProps,\n width,\n middlewares,\n withArrow,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n unstyled,\n classNames,\n styles,\n closeOnClickOutside,\n withinPortal,\n portalProps,\n closeOnEscape,\n clickOutsideEvents,\n trapFocus,\n onClose,\n onOpen,\n onChange,\n zIndex,\n radius,\n shadow,\n id,\n defaultOpened,\n __staticSelector,\n withRoles,\n disabled,\n returnFocus,\n variant,\n keepMounted,\n ...others\n } = useComponentDefaultProps('Popover', defaultProps, props);\n\n const [targetNode, setTargetNode] = useState<HTMLElement>(null);\n const [dropdownNode, setDropdownNode] = useState<HTMLElement>(null);\n\n const uid = useId(id);\n const theme = useMantineTheme();\n const popover = usePopover({\n middlewares,\n width,\n position: getFloatingPosition(theme.dir, position),\n offset: typeof offset === 'number' ? offset + (withArrow ? arrowSize / 2 : 0) : offset,\n arrowRef,\n arrowOffset,\n onPositionChange,\n positionDependencies,\n opened,\n defaultOpened,\n onChange,\n onOpen,\n onClose,\n });\n\n useClickOutside(() => closeOnClickOutside && popover.onClose(), clickOutsideEvents, [\n targetNode,\n dropdownNode,\n ]);\n\n const reference = useCallback(\n (node: HTMLElement) => {\n setTargetNode(node);\n popover.floating.reference(node);\n },\n [popover.floating.reference]\n );\n\n const floating = useCallback(\n (node: HTMLElement) => {\n setDropdownNode(node);\n popover.floating.floating(node);\n },\n [popover.floating.floating]\n );\n\n return (\n <PopoverContextProvider\n value={{\n returnFocus,\n disabled,\n controlled: popover.controlled,\n reference,\n floating,\n x: popover.floating.x,\n y: popover.floating.y,\n arrowX: popover.floating?.middlewareData?.arrow?.x,\n arrowY: popover.floating?.middlewareData?.arrow?.y,\n opened: popover.opened,\n arrowRef,\n transitionProps,\n width,\n withArrow,\n arrowSize,\n arrowOffset,\n arrowRadius,\n arrowPosition,\n placement: popover.floating.placement,\n trapFocus,\n withinPortal,\n portalProps,\n zIndex,\n radius,\n shadow,\n closeOnEscape,\n onClose: popover.onClose,\n onToggle: popover.onToggle,\n getTargetId: () => `${uid}-target`,\n getDropdownId: () => `${uid}-dropdown`,\n withRoles,\n targetProps: others,\n __staticSelector,\n classNames,\n styles,\n unstyled,\n variant,\n keepMounted,\n }}\n >\n {children}\n </PopoverContextProvider>\n );\n}\n\nPopover.Target = PopoverTarget;\nPopover.Dropdown = PopoverDropdown;\nPopover.displayName = '@mantine/core/Popover';\n"],"names":["getDefaultZIndex","useRef","useComponentDefaultProps","styles","useState","useId","useMantineTheme","usePopover","getFloatingPosition","useClickOutside","useCallback","React","PopoverContextProvider","PopoverTarget","PopoverDropdown"],"mappings":"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"}
@@ -73,9 +73,9 @@ function PopoverDropdown(props) {
73
73
  if (ctx.disabled) {
74
74
  return null;
75
75
  }
76
- return /* @__PURE__ */ React__default.createElement(OptionalPortal.OptionalPortal, __spreadValues({
76
+ return /* @__PURE__ */ React__default.createElement(OptionalPortal.OptionalPortal, __spreadProps(__spreadValues({}, ctx.portalProps), {
77
77
  withinPortal: ctx.withinPortal
78
- }, ctx.portalProps), /* @__PURE__ */ React__default.createElement(Transition.Transition, __spreadProps(__spreadValues({
78
+ }), /* @__PURE__ */ React__default.createElement(Transition.Transition, __spreadProps(__spreadValues({
79
79
  mounted: ctx.opened
80
80
  }, ctx.transitionProps), {
81
81
  transition: ctx.transitionProps.transition || "fade",
@@ -1 +1 @@
1
- {"version":3,"file":"PopoverDropdown.js","sources":["../../../src/Popover/PopoverDropdown/PopoverDropdown.tsx"],"sourcesContent":["import React from 'react';\nimport { DefaultProps, useComponentDefaultProps, rem } from '@mantine/styles';\nimport { closeOnEscape } from '@mantine/utils';\nimport { useFocusReturn } from '@mantine/hooks';\nimport { FloatingArrow } from '../../Floating';\nimport { Box } from '../../Box';\nimport { Transition } from '../../Transition';\nimport { FocusTrap } from '../../FocusTrap';\nimport { OptionalPortal } from '../../Portal';\nimport { usePopoverContext } from '../Popover.context';\nimport useStyles from './PopoverDropdown.styles';\n\nexport interface PopoverDropdownProps extends DefaultProps, React.ComponentPropsWithoutRef<'div'> {\n /** Dropdown content */\n children?: React.ReactNode;\n}\n\nconst defaultProps: Partial<PopoverDropdownProps> = {};\n\nexport function PopoverDropdown(props: PopoverDropdownProps) {\n const { style, className, children, onKeyDownCapture, ...others } = useComponentDefaultProps(\n 'PopoverDropdown',\n defaultProps,\n props\n );\n\n const ctx = usePopoverContext();\n const { classes, cx } = useStyles(\n { radius: ctx.radius, shadow: ctx.shadow },\n {\n name: ctx.__staticSelector,\n classNames: ctx.classNames,\n styles: ctx.styles,\n unstyled: ctx.unstyled,\n variant: ctx.variant,\n }\n );\n\n const returnFocus = useFocusReturn({\n opened: ctx.opened,\n shouldReturnFocus: ctx.returnFocus,\n });\n\n const accessibleProps = ctx.withRoles\n ? {\n 'aria-labelledby': ctx.getTargetId(),\n id: ctx.getDropdownId(),\n role: 'dialog',\n }\n : {};\n\n if (ctx.disabled) {\n return null;\n }\n\n return (\n <OptionalPortal withinPortal={ctx.withinPortal} {...ctx.portalProps}>\n <Transition\n mounted={ctx.opened}\n {...ctx.transitionProps}\n transition={ctx.transitionProps.transition || 'fade'}\n duration={ctx.transitionProps.duration ?? 150}\n keepMounted={ctx.keepMounted}\n exitDuration={\n typeof ctx.transitionProps.exitDuration === 'number'\n ? ctx.transitionProps.exitDuration\n : ctx.transitionProps.duration\n }\n >\n {(transitionStyles) => (\n <FocusTrap active={ctx.trapFocus}>\n <Box\n {...accessibleProps}\n tabIndex={-1}\n ref={ctx.floating}\n style={{\n ...style,\n ...transitionStyles,\n zIndex: ctx.zIndex,\n top: ctx.y ?? 0,\n left: ctx.x ?? 0,\n width: ctx.width === 'target' ? undefined : rem(ctx.width),\n }}\n className={cx(classes.dropdown, className)}\n onKeyDownCapture={closeOnEscape(ctx.onClose, {\n active: ctx.closeOnEscape,\n onTrigger: returnFocus,\n onKeyDown: onKeyDownCapture,\n })}\n data-position={ctx.placement}\n {...others}\n >\n {children}\n\n <FloatingArrow\n ref={ctx.arrowRef}\n arrowX={ctx.arrowX}\n arrowY={ctx.arrowY}\n visible={ctx.withArrow}\n position={ctx.placement}\n arrowSize={ctx.arrowSize}\n arrowRadius={ctx.arrowRadius}\n arrowOffset={ctx.arrowOffset}\n arrowPosition={ctx.arrowPosition}\n className={classes.arrow}\n />\n </Box>\n </FocusTrap>\n )}\n </Transition>\n </OptionalPortal>\n );\n}\n\nPopoverDropdown.displayName = '@mantine/core/PopoverDropdown';\n"],"names":["useComponentDefaultProps","usePopoverContext","useStyles","useFocusReturn","React","OptionalPortal","Transition","FocusTrap","Box","rem","closeOnEscape","FloatingArrow"],"mappings":"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"}
1
+ {"version":3,"file":"PopoverDropdown.js","sources":["../../../src/Popover/PopoverDropdown/PopoverDropdown.tsx"],"sourcesContent":["import React from 'react';\nimport { DefaultProps, useComponentDefaultProps, rem } from '@mantine/styles';\nimport { closeOnEscape } from '@mantine/utils';\nimport { useFocusReturn } from '@mantine/hooks';\nimport { FloatingArrow } from '../../Floating';\nimport { Box } from '../../Box';\nimport { Transition } from '../../Transition';\nimport { FocusTrap } from '../../FocusTrap';\nimport { OptionalPortal } from '../../Portal';\nimport { usePopoverContext } from '../Popover.context';\nimport useStyles from './PopoverDropdown.styles';\n\nexport interface PopoverDropdownProps extends DefaultProps, React.ComponentPropsWithoutRef<'div'> {\n /** Dropdown content */\n children?: React.ReactNode;\n}\n\nconst defaultProps: Partial<PopoverDropdownProps> = {};\n\nexport function PopoverDropdown(props: PopoverDropdownProps) {\n const { style, className, children, onKeyDownCapture, ...others } = useComponentDefaultProps(\n 'PopoverDropdown',\n defaultProps,\n props\n );\n\n const ctx = usePopoverContext();\n const { classes, cx } = useStyles(\n { radius: ctx.radius, shadow: ctx.shadow },\n {\n name: ctx.__staticSelector,\n classNames: ctx.classNames,\n styles: ctx.styles,\n unstyled: ctx.unstyled,\n variant: ctx.variant,\n }\n );\n\n const returnFocus = useFocusReturn({\n opened: ctx.opened,\n shouldReturnFocus: ctx.returnFocus,\n });\n\n const accessibleProps = ctx.withRoles\n ? {\n 'aria-labelledby': ctx.getTargetId(),\n id: ctx.getDropdownId(),\n role: 'dialog',\n }\n : {};\n\n if (ctx.disabled) {\n return null;\n }\n\n return (\n <OptionalPortal {...ctx.portalProps} withinPortal={ctx.withinPortal}>\n <Transition\n mounted={ctx.opened}\n {...ctx.transitionProps}\n transition={ctx.transitionProps.transition || 'fade'}\n duration={ctx.transitionProps.duration ?? 150}\n keepMounted={ctx.keepMounted}\n exitDuration={\n typeof ctx.transitionProps.exitDuration === 'number'\n ? ctx.transitionProps.exitDuration\n : ctx.transitionProps.duration\n }\n >\n {(transitionStyles) => (\n <FocusTrap active={ctx.trapFocus}>\n <Box\n {...accessibleProps}\n tabIndex={-1}\n ref={ctx.floating}\n style={{\n ...style,\n ...transitionStyles,\n zIndex: ctx.zIndex,\n top: ctx.y ?? 0,\n left: ctx.x ?? 0,\n width: ctx.width === 'target' ? undefined : rem(ctx.width),\n }}\n className={cx(classes.dropdown, className)}\n onKeyDownCapture={closeOnEscape(ctx.onClose, {\n active: ctx.closeOnEscape,\n onTrigger: returnFocus,\n onKeyDown: onKeyDownCapture,\n })}\n data-position={ctx.placement}\n {...others}\n >\n {children}\n\n <FloatingArrow\n ref={ctx.arrowRef}\n arrowX={ctx.arrowX}\n arrowY={ctx.arrowY}\n visible={ctx.withArrow}\n position={ctx.placement}\n arrowSize={ctx.arrowSize}\n arrowRadius={ctx.arrowRadius}\n arrowOffset={ctx.arrowOffset}\n arrowPosition={ctx.arrowPosition}\n className={classes.arrow}\n />\n </Box>\n </FocusTrap>\n )}\n </Transition>\n </OptionalPortal>\n );\n}\n\nPopoverDropdown.displayName = '@mantine/core/PopoverDropdown';\n"],"names":["useComponentDefaultProps","usePopoverContext","useStyles","useFocusReturn","React","OptionalPortal","Transition","FocusTrap","Box","rem","closeOnEscape","FloatingArrow"],"mappings":"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"}