{"version":3,"file":"index.mjs","sources":[""],"sourcesContent":["/**\r\n * Хранилище пресетов масок\r\n */\r\ntype TMaskPreset = Record<string, unknown>;\r\ntype TMaskPresets = Record<string, TMaskPreset>;\r\n\r\ntype TRubMaskInstance = {\r\n  value?: string | null;\r\n};\r\n\r\nlet presets: TMaskPresets = {\r\n  email: {\r\n    mask: (value: string) => {\r\n      const regexes = [\r\n        /^[a-zA-Z0-9а-яА-Я_.\\-+]+$/,\r\n        /^[a-zA-Z0-9а-яА-Я_.\\-+]+@$/,\r\n        /^[a-zA-Z0-9а-яА-Я_.\\-+]+@[a-zA-Z0-9а-яА-Я-]+$/,\r\n        /^[a-zA-Z0-9а-яА-Я_.\\-+]+@[a-zA-Z0-9а-яА-Я-]+\\.$/,\r\n        /^[a-zA-Z0-9а-яА-Я_.\\-+]+@[a-zA-Z0-9а-яА-Я-]+\\.[a-zA-Z0-9а-яА-Я-]{1,63}$/,\r\n        /^[a-zA-Z0-9а-яА-Я_.\\-+]+@[a-zA-Z0-9а-яА-Я-]+\\.[a-zA-Z0-9а-яА-Я-]{1,63}\\.$/,\r\n        /^[a-zA-Z0-9а-яА-Я_.\\-+]+@[a-zA-Z0-9а-яА-Я-]+\\.[a-zA-Z0-9а-яА-Я-]{1,63}\\.[a-zA-Z0-9а-яА-Я]{1,63}$/,\r\n      ];\r\n      return regexes.some((regex) => regex.test(value));\r\n    },\r\n  },\r\n  \"phone\": {\r\n    mask: \"+{7} (000) 000-00-00\",\r\n    unmask: true,\r\n  },\r\n  \"digits\": {\r\n    mask: /^\\d+$/,\r\n  },\r\n  \"number\": {\r\n    mask: Number,\r\n    thousandsSeparator: \" \",\r\n    unmask: true,\r\n  },\r\n  \"date\": {\r\n    mask: Date,\r\n    lazy: true,\r\n    autofix: false,\r\n    pattern: \"d{.}`m{.}`Y\",\r\n  },\r\n  \"rub\": {\r\n    mask: \"{num} ₽\",\r\n    unmask: true,\r\n    prepare: (val: string, mask: TRubMaskInstance) => {\r\n      const currentValue = mask.value;\r\n      if (currentValue && !currentValue.endsWith(\"₽\")) {\r\n        return val + \" ₽\";\r\n      } else {\r\n        return val;\r\n      }\r\n    },\r\n    blocks: {\r\n      num: {\r\n        unmask: true,\r\n        mask: Number,\r\n        thousandsSeparator: \" \",\r\n        radix: \".\",\r\n        scale: 2,\r\n        padFractionalZeros: true,\r\n        normalizeZeros: true,\r\n        signed: false,\r\n      },\r\n    },\r\n  },\r\n  \"letters\": {\r\n    mask: /^[A-Za-zА-яёЁ\\s-]+$/,\r\n  },\r\n};\r\n\r\n/**\r\n * Дополняет или перезаписывает существующие пресеты\r\n */\r\nconst setPresets = (value: TMaskPresets = {}) => {\r\n  presets = {\r\n    ...presets,\r\n    ...value,\r\n  };\r\n};\r\n\r\nexport {\r\n  presets,\r\n  setPresets,\r\n  type TMaskPreset,\r\n  type TMaskPresets,\r\n};\r\n"],"names":["presets","email","mask","value","regexes","some","regex","test","phone","unmask","digits","number","Number","thousandsSeparator","date","Date","lazy","autofix","pattern","rub","prepare","val","currentValue","endsWith","blocks","num","radix","scale","padFractionalZeros","normalizeZeros","signed","letters","setPresets"],"mappings":";;;AAUA,IAAIA,QAAwB,CAC1BC,MAAO,CACLC,KAAOC,QACL,MAAMC,QAAU,CACd,4BACA,6BACA,gDACA,kDACA,0EACA,4EACA,oGAEF,OAAOA,QAAQC,KAAMC,OAAUA,MAAMC,KAAKJ,UAG9CK,MAAS,CACPN,KAAM,uBACNO,OAAQ,MAEVC,OAAU,CACRR,KAAM,SAERS,OAAU,CACRT,KAAMU,OACNC,mBAAoB,IACpBJ,OAAQ,MAEVK,KAAQ,CACNZ,KAAMa,KACNC,KAAM,KACNC,QAAS,MACTC,QAAS,eAEXC,IAAO,CACLjB,KAAM,UACNO,OAAQ,KACRW,QAAS,CAACC,IAAanB,QACrB,MAAMoB,aAAepB,KAAKC,MAC1B,GAAImB,eAAiBA,aAAaC,SAAS,KACzC,OAAOF,IAAM,UAEb,OAAOA,KAGXG,OAAQ,CACNC,IAAK,CACHhB,OAAQ,KACRP,KAAMU,OACNC,mBAAoB,IACpBa,MAAO,IACPC,MAAO,EACPC,mBAAoB,KACpBC,eAAgB,KAChBC,OAAQ,SAIdC,QAAW,CACT7B,KAAM;;;GAOV,MAAM8B,WAAa,CAAC7B,MAAsB,MACxCH,QAAU,IACLA,WACAG"}