{"version":3,"file":"match.mjs","names":[],"sources":["../../../../../../../react-form/src/rules/match.ts"],"sourcesContent":["import { trans } from \"@mongez/localization\";\r\nimport { InputRule } from \"../types\";\r\n\r\nexport const matchRule: InputRule = {\r\n  name: \"match\",\r\n  preservedProps: [\"match\"],\r\n  onInit: ({ formControl, form, match }) => {\r\n    if (!match || !form) return;\r\n\r\n    const matchingElement = form.control(match);\r\n\r\n    if (!matchingElement) return;\r\n\r\n    return matchingElement.onChange(() => {\r\n      if (!formControl.isDirty) return;\r\n\r\n      formControl.validate();\r\n    });\r\n  },\r\n  validate: ({ value, match, form, errorKeys }) => {\r\n    if (!form) return;\r\n\r\n    const matchingElement = form.control(match);\r\n\r\n    if (!matchingElement) return;\r\n\r\n    if (matchingElement.value !== value) {\r\n      const matchingName = errorKeys.matchingElement || matchingElement.name;\r\n\r\n      return trans(\"validation.match\", {\r\n        input: errorKeys.name,\r\n        matchingInput: matchingName,\r\n      });\r\n    }\r\n  },\r\n};\r\n"],"mappings":";;;AAGA,MAAa,YAAuB;CAClC,MAAM;CACN,gBAAgB,CAAC,OAAO;CACxB,SAAS,EAAE,aAAa,MAAM,YAAY;EACxC,IAAI,CAAC,SAAS,CAAC,MAAM;EAErB,MAAM,kBAAkB,KAAK,QAAQ,KAAK;EAE1C,IAAI,CAAC,iBAAiB;EAEtB,OAAO,gBAAgB,eAAe;GACpC,IAAI,CAAC,YAAY,SAAS;GAE1B,YAAY,SAAS;EACvB,CAAC;CACH;CACA,WAAW,EAAE,OAAO,OAAO,MAAM,gBAAgB;EAC/C,IAAI,CAAC,MAAM;EAEX,MAAM,kBAAkB,KAAK,QAAQ,KAAK;EAE1C,IAAI,CAAC,iBAAiB;EAEtB,IAAI,gBAAgB,UAAU,OAAO;GACnC,MAAM,eAAe,UAAU,mBAAmB,gBAAgB;GAElE,OAAO,MAAM,oBAAoB;IAC/B,OAAO,UAAU;IACjB,eAAe;GACjB,CAAC;EACH;CACF;AACF"}