PageSourceSearch

https://www.carfii.com/assets/fieldValidation-CnhXj29F.js

js carfii.com collected 2026-10-01 23:55:25 UTC 4,021 bytes, 1 lines download raw bytes

1import{r as h,j as o}from"./index-vcrjTTXp.js";function p({open:i,title:t,problems:s=[],onClose:a}){const r=h.useRef(null);if(h.useEffect(()=>{var l;if(!i)return;(l=r.current)==null||l.focus();const n=f=>{f.key==="Escape"&&(f.stopPropagation(),a==null||a())};return document.addEventListener("keydown",n,!0),()=>document.removeEventListener("keydown",n,!0)},[i,a]),!i||s.length===0)return null;const d=s.length===1,c="validation-modal-title";return o.jsx("div",{className:"validation-modal-overlay",role:"presentation",onMouseDown:a,children:o.jsxs("div",{className:"validation-modal",role:"alertdialog","aria-modal":"true","aria-labelledby":c,onMouseDown:n=>n.stopPropagation(),children:[o.jsx("div",{className:"validation-modal-icon","aria-hidden":"true",children:"!"}),o.jsx("h2",{className:"validation-modal-title",id:c,children:t||(d?"Please check this field":"Please check these fields")}),d?o.jsx("p",{className:"validation-modal-message",children:s[0].message}):o.jsx("ul",{className:"validation-modal-list",children:s.map(n=>o.jsxs("li",{children:[o.jsx("span",{className:"validation-modal-field",children:n.label}),o.jsx("span",{className:"validation-modal-detail",children:n.message})]},`${n.name}-${n.message}`))}),o.jsx("button",{type:"button",className:"btn btn-primary validation-modal-button",ref:r,onClick:a,children:"OK"})]})})}const e=i=>String(i!=null?i:"").replace(/\D/g,""),A=i=>{const t=e(i);if(!/^\d{9}$/.test(t)||t==="000000000")return!1;let s=0;for(let a=0;a<t.length;a+=1){let r=Number.parseInt(t[a],10);if(!Number.isFinite(r))return!1;a%2===1&&(r*=2,r>9&&(r-=9)),s+=r}return s%10===0},I=i=>e(i).length===10,V=i=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String(i!=null?i:"").trim()),P="Enter a 10-digit phone number, including the area code.",$="Enter a valid email address, like [email protected].",j=i=>{const t=e(i).slice(0,10);return t.length<=3?t:t.length<=6?`(${t.slice(0,3)}) ${t.slice(3)}`:`(${t.slice(0,3)}) ${t.slice(3,6)}-${t.slice(6)}`},b="Enter a valid 9-digit Canadian SIN. Please check the digits and try again.",E={CUSTSINNUMBER:i=>{const t=e(i);return t?A(t)?null:b:null}},u=i=>{var r,d,c,n;if(!i)return"This field";const t=(r=i.closest)==null?void 0:r.call(i,".form-group"),a=(((c=(d=t==null?void 0:t.querySelector)==null?void 0:d.call(t,".form-label"))==null?void 0:c.textContent)||"").replace(/\*/g,"").trim();return a||((n=i.getAttribute)==null?void 0:n.call(i,"name"))||"This field"},S=i=>(i==null?void 0:i.type)==="checkbox"||(i==null?void 0:i.type)==="radio",N=i=>i?S(i)?!i.checked:!String(i.value||"").trim():!1,v=i=>{var t;return((t=i==null?void 0:i.getAttribute)==null?void 0:t.call(i,"data-required"))==="true"&&!i.getAttribute("data-value")},y=i=>{var a,r;if(!i)return null;const t=((a=i.getAttribute)==null?void 0:a.call(i,"name"))||"",s=E[t];if(s){const d=s(i.value);if(d)return{message:d,kind:"format"}}return v(i)?{message:`${u(i)} is required.`,kind:"required"}:(r=i.hasAttribute)!=null&&r.call(i,"required")&&N(i)?{message:`${u(i)} is required.`,kind:"required"}:null},g='[required], [data-required="true"], [name="CUSTSINNUMBER"]',q=i=>{if(!i)return[];const t=Array.from(i.querySelectorAll(g)),s=[],a=new Set;return t.forEach(r=>{const d=y(r);if(!d)return;const c=`${r.getAttribute("name")||""}|${d.message}`;a.has(c)||(a.add(c),s.push({element:r,name:r.getAttribute("name")||"",label:u(r),message:d.message,kind:d.kind}))}),s},k=(i,t)=>{i!=null&&i.setAttribute&&(i.setAttribute("data-touched","true"),t?(i.setAttribute("data-invalid","true"),i.setAttribute("aria-invalid","true")):(i.removeAttribute("data-invalid"),i.removeAttribute("aria-invalid")))},m=(i,t)=>{if(!i)return;const s=new Set(t.map(a=>a.element));Array.from(i.querySelectorAll(g)).forEach(a=>{k(a,s.has(a))})},L=i=>{var s;const t=i==null?void 0:i.element;if(t!=null&&t.focus)try{t.focus({preventScroll:!0}),(s=t.scrollIntoView)==null||s.call(t,{behavior:"smooth",block:"center"})}catch(a){t.focus()}};export{$ as E,P,p as V,m as a,u as b,q as c,j as d,I as e,L as f,y as g,V as h,A as i,k as m};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.