@mantine/core 9.0.0-alpha.3 → 9.0.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/NumberInput/NumberInput.cjs +31 -0
- package/cjs/components/NumberInput/NumberInput.cjs.map +1 -1
- package/cjs/components/ScrollArea/ScrollArea.cjs +12 -1
- package/cjs/components/ScrollArea/ScrollArea.cjs.map +1 -1
- package/cjs/components/Tooltip/Tooltip.cjs +3 -1
- package/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
- package/cjs/index.cjs +2 -4
- package/cjs/index.cjs.map +1 -1
- package/esm/components/NumberInput/NumberInput.mjs +31 -0
- package/esm/components/NumberInput/NumberInput.mjs.map +1 -1
- package/esm/components/ScrollArea/ScrollArea.mjs +12 -1
- package/esm/components/ScrollArea/ScrollArea.mjs.map +1 -1
- package/esm/components/Tooltip/Tooltip.mjs +3 -1
- package/esm/components/Tooltip/Tooltip.mjs.map +1 -1
- package/esm/index.mjs +1 -2
- package/esm/index.mjs.map +1 -1
- package/lib/components/Input/use-input-props.d.ts +1 -1
- package/lib/components/Popover/use-popover.d.ts +1 -1
- package/lib/components/ScrollArea/ScrollArea.d.ts +5 -0
- package/lib/core/MantineProvider/MantineCssVariables/index.d.ts +1 -0
- package/lib/core/MantineProvider/MantineCssVariables/v8-css-variables-resolver.d.ts +2 -0
- package/lib/core/MantineProvider/color-functions/get-contrast-color/get-contrast-color.d.ts +2 -2
- package/lib/core/MantineProvider/color-functions/index.d.ts +0 -1
- package/package.json +2 -2
- package/styles/AppShell.css +11 -1
- package/styles/AppShell.layer.css +11 -1
- package/styles.css +11 -1
- package/styles.layer.css +11 -1
- package/cjs/components/Slider/utils/get-floating-value/get-gloating-value.cjs +0 -9
- package/cjs/components/Slider/utils/get-floating-value/get-gloating-value.cjs.map +0 -1
- package/esm/components/Slider/utils/get-floating-value/get-gloating-value.mjs +0 -7
- package/esm/components/Slider/utils/get-floating-value/get-gloating-value.mjs.map +0 -1
- package/lib/components/Slider/utils/get-floating-value/get-gloating-value.d.ts +0 -1
|
@@ -401,6 +401,36 @@ const NumberInput = genericFactory(
|
|
|
401
401
|
);
|
|
402
402
|
setTimeout(() => adjustCursor(inputRef.current?.value.length), 0);
|
|
403
403
|
};
|
|
404
|
+
const handlePaste = (event) => {
|
|
405
|
+
const pastedText = event.clipboardData.getData("text");
|
|
406
|
+
const _decimalSeparator = others.decimalSeparator || ".";
|
|
407
|
+
const separatorsToReplace = (allowedDecimalSeparators || [".", ","]).filter(
|
|
408
|
+
(s) => s !== _decimalSeparator
|
|
409
|
+
);
|
|
410
|
+
if (separatorsToReplace.some((s) => pastedText.includes(s))) {
|
|
411
|
+
event.preventDefault();
|
|
412
|
+
let modifiedText = pastedText;
|
|
413
|
+
separatorsToReplace.forEach((s) => {
|
|
414
|
+
modifiedText = modifiedText.split(s).join(_decimalSeparator);
|
|
415
|
+
});
|
|
416
|
+
const input = inputRef.current;
|
|
417
|
+
if (input) {
|
|
418
|
+
const start = input.selectionStart ?? 0;
|
|
419
|
+
const end = input.selectionEnd ?? 0;
|
|
420
|
+
const currentValue = input.value;
|
|
421
|
+
const newValue = currentValue.substring(0, start) + modifiedText + currentValue.substring(end);
|
|
422
|
+
const nativeInputValueSetter = Object.getOwnPropertyDescriptor(
|
|
423
|
+
window.HTMLInputElement.prototype,
|
|
424
|
+
"value"
|
|
425
|
+
)?.set;
|
|
426
|
+
nativeInputValueSetter?.call(input, newValue);
|
|
427
|
+
input.dispatchEvent(new Event("change", { bubbles: true }));
|
|
428
|
+
const cursorPos = start + modifiedText.length;
|
|
429
|
+
setTimeout(() => adjustCursor(cursorPos), 0);
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
others.onPaste?.(event);
|
|
433
|
+
};
|
|
404
434
|
const handleKeyDown = (event) => {
|
|
405
435
|
onKeyDown?.(event);
|
|
406
436
|
if (readOnly || !withKeyboardEvents) {
|
|
@@ -544,6 +574,7 @@ const NumberInput = genericFactory(
|
|
|
544
574
|
unstyled,
|
|
545
575
|
__staticSelector: "NumberInput",
|
|
546
576
|
decimalScale: isBigIntMode ? 0 : allowDecimal ? decimalScale : 0,
|
|
577
|
+
onPaste: handlePaste,
|
|
547
578
|
onFocus: handleFocus,
|
|
548
579
|
onKeyDown: handleKeyDown,
|
|
549
580
|
onKeyDownCapture: handleKeyDownCapture,
|