@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.
Files changed (33) hide show
  1. package/cjs/components/NumberInput/NumberInput.cjs +31 -0
  2. package/cjs/components/NumberInput/NumberInput.cjs.map +1 -1
  3. package/cjs/components/ScrollArea/ScrollArea.cjs +12 -1
  4. package/cjs/components/ScrollArea/ScrollArea.cjs.map +1 -1
  5. package/cjs/components/Tooltip/Tooltip.cjs +3 -1
  6. package/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  7. package/cjs/index.cjs +2 -4
  8. package/cjs/index.cjs.map +1 -1
  9. package/esm/components/NumberInput/NumberInput.mjs +31 -0
  10. package/esm/components/NumberInput/NumberInput.mjs.map +1 -1
  11. package/esm/components/ScrollArea/ScrollArea.mjs +12 -1
  12. package/esm/components/ScrollArea/ScrollArea.mjs.map +1 -1
  13. package/esm/components/Tooltip/Tooltip.mjs +3 -1
  14. package/esm/components/Tooltip/Tooltip.mjs.map +1 -1
  15. package/esm/index.mjs +1 -2
  16. package/esm/index.mjs.map +1 -1
  17. package/lib/components/Input/use-input-props.d.ts +1 -1
  18. package/lib/components/Popover/use-popover.d.ts +1 -1
  19. package/lib/components/ScrollArea/ScrollArea.d.ts +5 -0
  20. package/lib/core/MantineProvider/MantineCssVariables/index.d.ts +1 -0
  21. package/lib/core/MantineProvider/MantineCssVariables/v8-css-variables-resolver.d.ts +2 -0
  22. package/lib/core/MantineProvider/color-functions/get-contrast-color/get-contrast-color.d.ts +2 -2
  23. package/lib/core/MantineProvider/color-functions/index.d.ts +0 -1
  24. package/package.json +2 -2
  25. package/styles/AppShell.css +11 -1
  26. package/styles/AppShell.layer.css +11 -1
  27. package/styles.css +11 -1
  28. package/styles.layer.css +11 -1
  29. package/cjs/components/Slider/utils/get-floating-value/get-gloating-value.cjs +0 -9
  30. package/cjs/components/Slider/utils/get-floating-value/get-gloating-value.cjs.map +0 -1
  31. package/esm/components/Slider/utils/get-floating-value/get-gloating-value.mjs +0 -7
  32. package/esm/components/Slider/utils/get-floating-value/get-gloating-value.mjs.map +0 -1
  33. 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,