{"version":3,"file":"get-caret-position-after-paste.mjs","names":[],"sources":["../../../../src/components/NumberInput/get-caret-position-after-paste/get-caret-position-after-paste.ts"],"sourcesContent":["function isSignificant(char: string, decimalSeparator: string) {\n  return /\\d/.test(char) || char === decimalSeparator;\n}\n\nexport function getCaretPositionAfterPaste(\n  rawValue: string,\n  rawCaret: number,\n  formattedValue: string,\n  decimalSeparator: string\n) {\n  let remaining = 0;\n  for (let i = 0; i < rawCaret && i < rawValue.length; i += 1) {\n    if (isSignificant(rawValue[i], decimalSeparator)) {\n      remaining += 1;\n    }\n  }\n\n  if (remaining === 0) {\n    return Math.min(rawCaret, formattedValue.length);\n  }\n\n  for (let i = 0; i < formattedValue.length; i += 1) {\n    if (isSignificant(formattedValue[i], decimalSeparator)) {\n      remaining -= 1;\n      if (remaining === 0) {\n        return i + 1;\n      }\n    }\n  }\n\n  return formattedValue.length;\n}\n"],"mappings":";;AAAA,SAAS,cAAc,MAAc,kBAA0B;CAC7D,OAAO,KAAK,KAAK,IAAI,KAAK,SAAS;AACrC;AAEA,SAAgB,2BACd,UACA,UACA,gBACA,kBACA;CACA,IAAI,YAAY;CAChB,KAAK,IAAI,IAAI,GAAG,IAAI,YAAY,IAAI,SAAS,QAAQ,KAAK,GACxD,IAAI,cAAc,SAAS,IAAI,gBAAgB,GAC7C,aAAa;CAIjB,IAAI,cAAc,GAChB,OAAO,KAAK,IAAI,UAAU,eAAe,MAAM;CAGjD,KAAK,IAAI,IAAI,GAAG,IAAI,eAAe,QAAQ,KAAK,GAC9C,IAAI,cAAc,eAAe,IAAI,gBAAgB,GAAG;EACtD,aAAa;EACb,IAAI,cAAc,GAChB,OAAO,IAAI;CAEf;CAGF,OAAO,eAAe;AACxB"}