UNPKG

@benjaminor-dev/quasar-app-extension-form-builder

Version:
78 lines (77 loc) 5.19 kB
import s from "moment"; function c() { const e = (t) => t == null ? !0 : Array.isArray(t) && t.length > 0 ? t.every(e) : typeof t == "object" ? Object.values(t).every(e) : typeof t == "boolean" ? !1 : t === "", r = (t) => !e(t), n = (t) => typeof t != "string" ? t : t.replace(/^(-?)0+(\d)/, "$1$2"), u = (t) => typeof t != "string" ? t : t.replace(/(\.\d*?[1-9])0+$/g, "$1").replace(/\.0+$/, ""); return { isEmpty: e, isNotEmpty: r, cleanLeadingZeros: n, cleanTrailingZeros: u, cleanNumber: (t) => u(n(t)) }; } const a = c(), o = s(), p = () => (e) => { const r = "Campo requerido"; return e == null ? r : typeof e == "boolean" || typeof e == "number" && e === 0 ? !0 : Array.isArray(e) && e.length === 0 ? r : !!e || r; }, l = () => (e) => e ? e instanceof Array ? e.every((n) => n instanceof File) || "Deben ser archivos" : e instanceof File || "Debe ser un archivo" : !0, d = () => (e) => !e || Array.isArray(e) && e.length === 0 ? !0 : (Array.isArray(e) ? e : [e]).every( (u) => u instanceof File && u.type.includes("image") ) || "Solo se permiten imágenes", f = () => (e) => e ? /^[a-zA-ZÀ-ÿ]*$/.test(e) || "Solo puedes ingresar letras" : !0, g = () => (e) => e ? /^[a-zA-ZÀ-ÿ\s]*$/.test(e) || "Solo puedes ingresar letras y espacios" : !0, m = () => (e) => /^[0-9]*$/.test(e) || "Solo puedes ingresar números", E = () => (e) => e ? /^[a-zA-ZÀ-ÿ0-9]*$/.test(e) || "Solo puedes ingresar números y letras" : !0, y = () => (e) => e ? /^[a-zA-ZÀ-ÿ0-9\s]*$/.test(e) || "Solo puedes ingresar números, letras y espacios" : !0, i = ( // . , ; : ! ? ¡ ¿ ' " “ ” ‘ ’ « » ( ) [ ] { } - – — / \ … @ # % $ & + * = § ° º ª `.,;:!?¡¿'"\\u201C\\u201D\\u2018\\u2019\\u00AB\\u00BB()\\[\\]{}\\-\\u2013\\u2014/\\\\\\u2026@#%$&\\+\\*=\\u00A7\\u00B0\\u00BA\\u00AA` ), A = () => { const e = new RegExp( `^(?!.*\\p{Extended_Pictographic})[\\p{L}\\p{M}\\p{N}${i}\\p{Zs}]+$`, "u" ); return (r) => !r || e.test(r) || "Solo se permiten letras, números, signos de puntuación y símbolos válidos."; }, Y = () => { const e = new RegExp( `^(?!.*\\p{Extended_Pictographic})[\\p{L}\\p{M}\\p{N}${i}\\p{Zs}\\t\\r\\n]+$`, "u" ); return (r) => !r || e.test(r) || "Solo se permiten letras, números, signos de puntuación, símbolos válidos y saltos de línea."; }, x = () => (e) => e ? /^([A-Z][AEIOUX][A-Z]{2}\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\d|3[01])[HM](?:AS|B[CS]|C[CLMSH]|D[FG]|G[TR]|HG|JC|M[CNS]|N[ETL]|OC|PL|Q[TR]|S[PLR]|T[CSL]|VZ|YN|ZS)[B-DF-HJ-NP-TV-Z]{3}[A-Z\d])(\d)$/.test(e) || "CURP inválido" : !0, M = () => (e) => e ? /^[a-zA-Z]{4}\d{6}[a-zA-Z0-9]{3}$/.test(e) || "RFC inválido" : !0, $ = () => (e) => e ? new RegExp('^((?:[A-Za-z0-9!#$%&\'*+\\-/=?^_`{|}~]|(?<=^|\\.)"|"(?=$|\\.|@)|(?<=".*)[ .](?=.*")|(?<!\\.)\\.){1,64})(@)((?:[A-Za-z0-9.-])*(?:[A-Za-z0-9])\\.(?:[A-Za-z0-9]){2,})$').test(e) || "Email inválido" : !0, L = () => (e) => { if (!e) return !0; const r = e.trim(); return /^(https?:\/\/)(localhost|\d{1,3}(?:\.\d{1,3}){3}|([\w-]+\.)+[\w-]{2,})(:\d{1,5})?(\/[^\s]*)?$/i.test(r) || "URL inválida"; }, S = () => (e) => a.isEmpty(e) ? !0 : s(e, "YYYY-MM-DD", !0).isValid() || "La fecha es inválida", Z = () => (e) => a.isEmpty(e) ? !0 : s(e, "YYYY-MM-DD", !0).isBefore(o) || "La fecha debe ser anterior a la actual", D = () => (e) => a.isEmpty(e) ? !0 : s(e, "YYYY-MM-DD", !0).isSameOrBefore(o) || "La fecha debe ser igual o anterior a la actual", h = () => (e) => a.isEmpty(e) ? !0 : s(e, "YYYY-MM-DD", !0).isAfter(o) || "La fecha debe ser posterior a la actual", I = () => (e) => a.isEmpty(e) ? !0 : s(e, "YYYY-MM-DD", !0).isSameOrAfter(o) || "La fecha debe ser igual o posterior a la actual", C = (e) => (r) => { if (a.isEmpty(r)) return !0; const n = s(e, "YYYY-MM-DD", !0); return s(r, "YYYY-MM-DD", !0).isSameOrAfter(n) || `La fecha debe ser igual o posterior a ${e}`; }, N = (e) => (r) => { if (a.isEmpty(r)) return !0; const n = s(e, "YYYY-MM-DD", !0); return s(r, "YYYY-MM-DD", !0).isSameOrBefore(n) || `La fecha debe ser igual o anterior a ${e}`; }, b = () => (e) => e ? /^\d{5}$/.test(e) || "Código postal inválido" : !0, z = () => (e) => e ? /^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()_+])[A-Za-z\d!@#$%^&*()_+]{8,}$/.test(e) || "Contraseña inválida, debe tener mínimo 8 caracteres, con letras mayúsculas, minúsculas y con al menos un caracter especial" : !0, B = (e) => (r) => r ? r.length <= e || `Máximo ${e} caracteres permitidos` : !0, R = (e) => (r) => r == null ? !0 : r <= e || `Valor máximo permitido: ${e}`; function O() { return { required: p, file: l, image: d, onlyLetters: f, onlyLettersAndSpaces: g, onlyNumbers: m, onlyumbersAndLetters: E, onlyNumbersLettersAndSpaces: y, legalTextRule: A, legalTextExtendedRule: Y, curp: x, rfc: M, email: $, url: L, date: S, dateBeforeNow: Z, dateLEnow: D, dateAfterNow: h, dateGTEnow: I, dateMin: C, dateMax: N, postalCode: b, password: z, maxLength: B, maxNumberValue: R }; } export { c as a, O as u };