PageSourceSearch

https://inkbyhand.com/_next/static/chunks/3m4q2q-s2f47a.js

js inkbyhand.com collected 2026-09-25 12:55:41 UTC 11,097 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,30274,e=>{"use strict";let a=(0,e.i(56420).default)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);e.s(["Send",0,a],30274)},14219,e=>{"use strict";var a=e.i(43476),t=e.i(96315),r=e.i(15227),s=e.i(30274),n=e.i(71645),i=e.i(16798),l=e.i(75679),o=e.i(95018),c=e.i(59700),d=e.i(72961),u=e.i(59862),m=e.i(44971);e.s(["ContactForm",0,function({initialName:e="",initialEmail:h=""}){let g=(0,i.useSiteConfig)(),[p,v]=(0,n.useState)({name:e,email:h,subject:"",message:""}),[f,j]=(0,n.useState)(""),[b,x]=(0,n.useState)({}),{mutate:y,loading:C,error:w,setError:P}=(0,d.useApiMutation)();function N(e,a){v({...p,[e]:a}),x(a=>{if(!a[e])return a;let t={...a};return delete t[e],t})}async function k(e){e.preventDefault(),x({});let a=(0,o.validateContactForm)(p);if(!a.ok){x(a.errors),P(a.message);return}let t=await y(u.API.contact,a.values);if(t){if(!t.emailUrl)return void P("Message could not be prepared.");j(t.emailUrl),(0,l.trackEvent)({eventName:"contact_form_submitted",details:"contact_form"})}}return(0,a.jsxs)("form",{className:"contact-form",onSubmit:k,noValidate:!0,children:[(0,a.jsxs)("div",{className:"form-grid",children:[(0,a.jsxs)("label",{children:["Your name",(0,a.jsx)("input",{required:!0,autoComplete:"name",minLength:2,maxLength:120,value:p.name,"aria-invalid":!!b.name||void 0,"aria-describedby":b.name?"contact-name-error":void 0,onChange:e=>N("name",e.target.value)}),(0,a.jsx)(c.FieldError,{id:"contact-name-error",message:b.name})]}),(0,a.jsxs)("label",{children:["Email address",(0,a.jsx)("input",{required:!0,type:"email",autoComplete:"email",maxLength:160,value:p.email,"aria-invalid":!!b.email||void 0,"aria-describedby":b.email?"contact-email-error":void 0,onChange:e=>N("email",e.target.value)}),(0,a.jsx)(c.FieldError,{id:"contact-email-error",message:b.email})]}),(0,a.jsxs)("label",{className:"form-grid__wide",children:["Subject",(0,a.jsx)("input",{maxLength:180,value:p.subject,"aria-invalid":!!b.subject||void 0,"aria-describedby":b.subject?"contact-subject-error":void 0,onChange:e=>N("subject",e.target.value)}),(0,a.jsx)(c.FieldError,{id:"contact-subject-error",message:b.subject})]}),(0,a.jsxs)("label",{className:"form-grid__wide",children:["Message",(0,a.jsx)("textarea",{required:!0,rows:6,minLength:10,maxLength:4e3,value:p.message,"aria-invalid":!!b.message||void 0,"aria-describedby":b.message?"contact-message-error":void 0,onChange:e=>N("message",e.target.value)}),(0,a.jsx)(c.FieldError,{id:"contact-message-error",message:b.message})]})]}),(0,a.jsxs)("button",{className:"button button--dark button--wide",type:"submit",disabled:C,children:[(0,a.jsx)(s.Send,{size:18}),C?"Sending...":"Send Message"]}),w&&(0,a.jsx)("p",{className:"form-error",children:w}),f&&(0,a.jsxs)("div",{className:"checkout-actions",children:[(0,a.jsx)("p",{className:"form-success",children:"Message received. You can also follow up directly if needed."}),(0,a.jsxs)("a",{className:"button button--soft",href:f,target:"_blank",rel:"noreferrer",children:[(0,a.jsx)(t.Mail,{size:18}),"Send Email"]}),(0,a.jsxs)(m.WhatsAppButton,{className:"button button--whatsapp",message:`Hello ${g.name}, my name is ${p.name}. ${p.message}`,children:[(0,a.jsx)(r.MessageCircle,{size:18}),"WhatsApp"]})]})]})}])},61096,e=>{"use strict";var a=e.i(43476),t=e.i(30274),r=e.i(71645),s=e.i(72961),n=e.i(59862),i=e.i(75259);let l={name:"",email:"",phone:"",preferredContact:"whatsapp",artworkType:"",wording:"",size:"",budget:"",timeline:"",deadline:"",deliveryLocation:"",colors:"",framing:"",referenceUrl:"",notes:""};e.s(["CustomQuoteForm",0,function(){let{currency:e}=(0,i.useCurrency)(),[o,c]=(0,r.useState)(l),[d,u]=(0,r.useState)(""),{mutate:m,loading:h,error:g}=(0,s.useApiMutation)();function p(e,a){c(t=>({...t,[e]:a}))}async function v(a){a.preventDefault();let t=[o.deadline&&`Deadline: ${o.deadline}`,o.deliveryLocation&&`Delivery city/country: ${o.deliveryLocation}`,o.notes&&`Reference details: ${o.notes}
1`].filter(Boolean).join("\n"),r=await m(n.API.customQuotes,{...o,currency:e,timeline:o.deadline||o.timeline,notes:t||o.notes});r&&(u(r.quoteNumber||"received"),c(l))}return(0,a.jsxs)("form",{className:"form-card quote-form",onSubmit:v,children:[(0,a.jsx)("div",{className:"section-head",children:(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"kicker",children:"Custom Quote"}),(0,a.jsx)("h2",{children:"Share Your Brief"})]})}),d&&(0,a.jsxs)("p",{className:"form-success",children:["Quote request ",d," received."]}),g&&(0,a.jsx)("p",{className:"form-error",children:g}),(0,a.jsxs)("div",{className:"form-grid",children:[(0,a.jsxs)("label",{children:["Full name",(0,a.jsx)("input",{value:o.name,required:!0,onChange:e=>p("name",e.target.value)})]}),(0,a.jsxs)("label",{children:["Email",(0,a.jsx)("input",{type:"email",value:o.email,onChange:e=>p("email",e.target.value)})]}),(0,a.jsxs)("label",{children:["Phone or WhatsApp",(0,a.jsx)("input",{value:o.phone,required:!0,onChange:e=>p("phone",e.target.value)})]}),(0,a.jsxs)("label",{children:["Preferred contact",(0,a.jsxs)("select",{value:o.preferredContact,onChange:e=>p("preferredContact",e.target.value),children:[(0,a.jsx)("option",{value:"whatsapp",children:"WhatsApp"}),(0,a.jsx)("option",{value:"email",children:"Email"}),(0,a.jsx)("option",{value:"phone",children:"Phone"})]})]}),(0,a.jsxs)("label",{children:["Artwork type",(0,a.jsx)("input",{value:o.artworkType,onChange:e=>p("artworkType",e.target.value),placeholder:"Quranic wall art, name art, gift..."})]}),(0,a.jsxs)("label",{children:["Preferred size",(0,a.jsx)("input",{value:o.size,onChange:e=>p("size",e.target.value),placeholder:"A3, 24x36 inch, custom..."})]}),(0,a.jsxs)("label",{children:["Budget range (",e,")",(0,a.jsx)("input",{value:o.budget,onChange:e=>p("budget",e.target.value),placeholder:"Optional"})]}),(0,a.jsxs)("label",{children:["General timeline",(0,a.jsx)("input",{value:o.timeline,onChange:e=>p("timeline",e.target.value),placeholder:"Wedding date, gift deadline..."})]}),(0,a.jsxs)("label",{children:["Deadline",(0,a.jsx)("input",{type:"date",value:o.deadline,onChange:e=>p("deadline",e.target.value)})]}),(0,a.jsxs)("label",{children:["Delivery city / country",(0,a.jsx)("input",{value:o.deliveryLocation,onChange:e=>p("deliveryLocation",e.target.value),placeholder:"City, country..."})]}),(0,a.jsxs)("label",{children:["Preferred colors",(0,a.jsx)("input",{value:o.colors,onChange:e=>p("colors",e.target.value)})]}),(0,a.jsxs)("label",{children:["Framing preference",(0,a.jsx)("input",{value:o.framing,onChange:e=>p("framing",e.target.value)})]}),(0,a.jsxs)("label",{className:"form-grid__wide",children:["Reference link",(0,a.jsx)("input",{value:o.referenceUrl,onChange:e=>p("referenceUrl",e.target.value),placeholder:"Optional Pinterest, Instagram, or room photo link"})]}),(0,a.jsxs)("label",{className:"form-grid__wide",children:["Wording / ayah / names",(0,a.jsx)("textarea",{rows:4,value:o.wording,required:!0,onChange:e=>p("wording",e.target.value)})]}),(0,a.jsxs)("label",{className:"form-grid__wide",children:["Extra notes",(0,a.jsx)("textarea",{rows:4,value:o.notes,onChange:e=>p("notes",e.target.value)})]})]}),(0,a.jsxs)("button",{className:"button button--dark",type:"submit",disabled:h,children:[(0,a.jsx)(t.Send,{size:16}),h?"Sending...":"Request Quote"]})]})}])},59700,e=>{"use strict";var a=e.i(43476);e.s(["FieldError",0,function({id:e,message:t}){return t?(0,a.jsx)("span",{className:"field-error",id:e,role:"alert","aria-live":"polite",children:t}):null}])},95018,e=>{"use strict";let a=/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/,t=/(https?:\/\/|www\.)/i;function r(e){return String(e??"").replace(/[\u0000-\u001f\u007f]+/g," ").trim().replace(/\s+/g," ")}function s(e){return String(e??"").replace(/\r\n/g,"\n").replace(/[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f]/g,"").replace(/[ \t]+\n/g,"\n").trim()}function n(e){return(function(e,a=500){return r(e).slice(0,a)})(e,160).toLowerCase()}function i(e,a,t,r,s){t.length>s&&(e[a]=`${r} must be ${s} characters or less.`)}function l(e,a){return Object.values(e)[0]||a}function o(e,a,r){r?r.length<2?e[a]="Name must be at least 2 characters.":/^\d+$/.test(r)?e[a]="Name cannot be only numbers.":t.test(r)&&(e[a]="Name cannot include a website link."):e[a]="Please enter your name."}e.s(["sanitizeRedirectPath",0,function(e,a="/"){if("string"==typeof e&&e.startsWith("/")&&!e.startsWith("//")&&!e.includes("\\")&&!/[\u0000-\u001f\u007f]/.test(e))try{let a=new URL(e,"https://redirect.invali
1d");if("https://redirect.invalid"===a.origin)return`${a.pathname}${a.search}${a.hash}`}catch{}return a},"validateCheckoutForm",0,function(e,t=1){let c,d=e.customer||{},u=e.payment||{},m=r(d.name),h=r(d.phone),g=n(d.email),p=r(d.address),v=r(d.city),f=r(d.region),j=r(d.postalCode),b=r(d.country),x=s(d.notes),y=r(u.reference),C=r(u.note),w={};return o(w,"name",m),h?(c=String(h??"").replace(/[^\d]/g,"")).length>=7&&c.length<=15||(w.phone="Phone number must contain 7 to 15 digits."):w.phone="Please enter your phone or WhatsApp number.",g&&!a.test(g)&&(w.email="Please enter a valid email address."),p?p.length<8&&(w.address="Delivery address must be at least 8 characters."):w.address="Please enter your full delivery address.",v?v.length<2&&(w.city="City must be at least 2 characters."):w.city="Please enter your city.",b?b.length<2&&(w.country="Country must be at least 2 characters."):w.country="Please enter your country.",j&&!/^[a-zA-Z0-9 -]{3,20}$/.test(j)&&(w.postalCode="Postal code can use letters, numbers, spaces, and hyphens."),t<=0&&(w.items="Please add at least one artwork to checkout."),i(w,"name",m,"Name",120),i(w,"phone",h,"Phone",80),i(w,"email",g,"Email",160),i(w,"address",p,"Delivery address",280),i(w,"city",v,"City",120),i(w,"region",f,"Province / region",120),i(w,"postalCode",j,"Postal code",40),i(w,"country",b,"Country",120),i(w,"notes",x,"Order notes",1e3),i(w,"paymentReference",y,"Payment reference",180),i(w,"paymentNote",C,"Payment note",500),{ok:0===Object.keys(w).length,message:l(w,"Please check the highlighted fields."),errors:w,values:{name:m,phone:h,email:g,address:p,city:v,region:f,postalCode:j,country:b,notes:x,paymentReference:y,paymentNote:C}}},"validateContactForm",0,function(e){let c=r(e.name),d=n(e.email),u=r(e.subject)||"Website inquiry",m=s(e.message),h={};if(o(h,"name",c),d)a.test(d)||(h.email="Please enter a valid email address.");else h.email="Please enter your email address.";return m?m.length<10?h.message="Message must be at least 10 characters.":t.test(m)&&m.length<40&&(h.message="Please add more detail instead of only a link."):h.message="Please write your message.",i(h,"name",c,"Name",120),i(h,"email",d,"Email",160),i(h,"subject",u,"Subject",180),i(h,"message",m,"Message",4e3),{ok:0===Object.keys(h).length,message:l(h,"Please check the highlighted fields."),errors:h,values:{name:c,email:d,subject:u,message: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.