@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
|
@@ -407,6 +407,36 @@ const NumberInput = factory.genericFactory(
|
|
|
407
407
|
);
|
|
408
408
|
setTimeout(() => adjustCursor(inputRef.current?.value.length), 0);
|
|
409
409
|
};
|
|
410
|
+
const handlePaste = (event) => {
|
|
411
|
+
const pastedText = event.clipboardData.getData("text");
|
|
412
|
+
const _decimalSeparator = others.decimalSeparator || ".";
|
|
413
|
+
const separatorsToReplace = (allowedDecimalSeparators || [".", ","]).filter(
|
|
414
|
+
(s) => s !== _decimalSeparator
|
|
415
|
+
);
|
|
416
|
+
if (separatorsToReplace.some((s) => pastedText.includes(s))) {
|
|
417
|
+
event.preventDefault();
|
|
418
|
+
let modifiedText = pastedText;
|
|
419
|
+
separatorsToReplace.forEach((s) => {
|
|
420
|
+
modifiedText = modifiedText.split(s).join(_decimalSeparator);
|
|
421
|
+
});
|
|
422
|
+
const input = inputRef.current;
|
|
423
|
+
if (input) {
|
|
424
|
+
const start = input.selectionStart ?? 0;
|
|
425
|
+
const end = input.selectionEnd ?? 0;
|
|
426
|
+
const currentValue = input.value;
|
|
427
|
+
const newValue = currentValue.substring(0, start) + modifiedText + currentValue.substring(end);
|
|
428
|
+
const nativeInputValueSetter = Object.getOwnPropertyDescriptor(
|
|
429
|
+
window.HTMLInputElement.prototype,
|
|
430
|
+
"value"
|
|
431
|
+
)?.set;
|
|
432
|
+
nativeInputValueSetter?.call(input, newValue);
|
|
433
|
+
input.dispatchEvent(new Event("change", { bubbles: true }));
|
|
434
|
+
const cursorPos = start + modifiedText.length;
|
|
435
|
+
setTimeout(() => adjustCursor(cursorPos), 0);
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
others.onPaste?.(event);
|
|
439
|
+
};
|
|
410
440
|
const handleKeyDown = (event) => {
|
|
411
441
|
onKeyDown?.(event);
|
|
412
442
|
if (readOnly || !withKeyboardEvents) {
|
|
@@ -550,6 +580,7 @@ const NumberInput = factory.genericFactory(
|
|
|
550
580
|
unstyled,
|
|
551
581
|
__staticSelector: "NumberInput",
|
|
552
582
|
decimalScale: isBigIntMode ? 0 : allowDecimal ? decimalScale : 0,
|
|
583
|
+
onPaste: handlePaste,
|
|
553
584
|
onFocus: handleFocus,
|
|
554
585
|
onKeyDown: handleKeyDown,
|
|
555
586
|
onKeyDownCapture: handleKeyDownCapture,
|