{"version":3,"file":"required.mjs","names":[],"sources":["../../../../../../../react-form/src/rules/required.ts"],"sourcesContent":["import { trans } from \"@mongez/localization\";\r\nimport { type InputRule } from \"../types\";\r\n\r\nconst isEmpty = (value: any) => {\r\n  return (\r\n    value === undefined ||\r\n    value === null ||\r\n    value === \"\" ||\r\n    (Array.isArray(value) && value.length === 0)\r\n  );\r\n};\r\n\r\nexport const requiredRule: InputRule = {\r\n  name: \"required\",\r\n  preservedProps: [\"required\"],\r\n  requiresValue: false,\r\n  validate: ({ type, value, errorKeys, required, checked }) => {\r\n    if (!required) return;\r\n\r\n    if (type === \"checkbox\") {\r\n      if (!checked) {\r\n        return trans(\"validation.required\", { input: errorKeys.name });\r\n      }\r\n\r\n      return;\r\n    }\r\n\r\n    if (isEmpty(value)) {\r\n      return trans(\"validation.required\", { input: errorKeys.name });\r\n    }\r\n  },\r\n};\r\n"],"mappings":";;;AAGA,MAAM,WAAW,UAAe;CAC9B,OACE,UAAU,UACV,UAAU,QACV,UAAU,MACT,MAAM,QAAQ,KAAK,KAAK,MAAM,WAAW;AAE9C;AAEA,MAAa,eAA0B;CACrC,MAAM;CACN,gBAAgB,CAAC,UAAU;CAC3B,eAAe;CACf,WAAW,EAAE,MAAM,OAAO,WAAW,UAAU,cAAc;EAC3D,IAAI,CAAC,UAAU;EAEf,IAAI,SAAS,YAAY;GACvB,IAAI,CAAC,SACH,OAAO,MAAM,uBAAuB,EAAE,OAAO,UAAU,KAAK,CAAC;GAG/D;EACF;EAEA,IAAI,QAAQ,KAAK,GACf,OAAO,MAAM,uBAAuB,EAAE,OAAO,UAAU,KAAK,CAAC;CAEjE;AACF"}