@ref-finance/ref-sdk 1.3.10 → 1.3.11

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.
@@ -5191,6 +5191,7 @@ var useTokenBalances = function useTokenBalances(tokens, AccountId) {
5191
5191
  };
5192
5192
  };
5193
5193
 
5194
+ var _ALLOWED_KEYS;
5194
5195
  var getPriceImpact$1 = function getPriceImpact(value, tokenIn, tokenInAmount) {
5195
5196
  var textColor = Number(value) <= 1 ? 'text-greenLight' : 1 < Number(value) && Number(value) <= 2 ? 'text-warn' : 'text-error';
5196
5197
  var displayValue = scientificNotationToString(multiply(tokenInAmount || '0', divide(value, '100')));
@@ -5502,7 +5503,33 @@ var HalfAndMaxAmount = function HalfAndMaxAmount(_ref6) {
5502
5503
  }, "Max"));
5503
5504
  };
5504
5505
  var DECIMAL_POINT = '.';
5505
- var ALLOWED_KEYS = ['Backspace', 'Tab', 'ArrowLeft', 'ArrowRight', 'Delete', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', DECIMAL_POINT];
5506
+ var ALLOWED_KEYS = (_ALLOWED_KEYS = {
5507
+ '0': true,
5508
+ '1': true,
5509
+ '2': true,
5510
+ '3': true,
5511
+ '4': true,
5512
+ '5': true,
5513
+ '6': true,
5514
+ '7': true,
5515
+ '8': true,
5516
+ '9': true
5517
+ }, _ALLOWED_KEYS[DECIMAL_POINT] = true, _ALLOWED_KEYS);
5518
+ var isValidInput = function isValidInput(value) {
5519
+ var decimalPointsAmount = 0;
5520
+ if (value === DECIMAL_POINT) return false;
5521
+ for (var i = 0; i < value.length; i++) {
5522
+ var _char = value[i];
5523
+ if (!ALLOWED_KEYS[_char]) return false;
5524
+ if (_char === DECIMAL_POINT) {
5525
+ decimalPointsAmount++;
5526
+ if (decimalPointsAmount === 2) {
5527
+ return false;
5528
+ }
5529
+ }
5530
+ }
5531
+ return true;
5532
+ };
5506
5533
  var TokenAmount = function TokenAmount(props) {
5507
5534
  var _ref$current2;
5508
5535
  var balance = props.balance,
@@ -5523,28 +5550,6 @@ var TokenAmount = function TokenAmount(props) {
5523
5550
  var _useState5 = React.useState(false),
5524
5551
  hoverSelect = _useState5[0],
5525
5552
  setHoverSelect = _useState5[1];
5526
- var handleKeyDown = function handleKeyDown(event) {
5527
- if (!ALLOWED_KEYS.includes(event.key) && !event.ctrlKey) {
5528
- event.preventDefault();
5529
- }
5530
- var isDecimalPoint = event.key === DECIMAL_POINT;
5531
- if (!isDecimalPoint) return;
5532
- // Ensure only one dot is allowed
5533
- var inputValue = event.target.value;
5534
- if (inputValue.includes(DECIMAL_POINT)) {
5535
- event.preventDefault();
5536
- }
5537
- // prohibit only one dot
5538
- if (inputValue.length === 0) {
5539
- event.preventDefault();
5540
- }
5541
- };
5542
- var handlePaste = function handlePaste(event) {
5543
- var paste = event.clipboardData.getData('text');
5544
- if (!/^[0-9.]+$/.test(paste)) {
5545
- event.preventDefault();
5546
- }
5547
- };
5548
5553
  var handleChange = function handleChange(amount) {
5549
5554
  if (onChangeAmount) {
5550
5555
  onChangeAmount(amount);
@@ -5634,11 +5639,10 @@ var TokenAmount = function TokenAmount(props) {
5634
5639
  className: "__ref-swap-widget-input-class",
5635
5640
  value: amount,
5636
5641
  type: "text",
5637
- onKeyDown: handleKeyDown,
5638
- onPaste: handlePaste,
5639
5642
  placeholder: !onChangeAmount ? '-' : '0.0',
5640
5643
  onChange: function onChange(_ref7) {
5641
5644
  var target = _ref7.target;
5645
+ if (!isValidInput(target.value)) return;
5642
5646
  target.setCustomValidity('');
5643
5647
  handleChange(target.value);
5644
5648
  },