PageSourceSearch

https://www.thetextileai.com/_next/static/chunks/9336.add36199b81ef2a6.js

js thetextileai.com collected 2026-10-04 12:29:16 UTC 32,406 bytes, 15 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9336],{40980:(e,t,a)=>{a.d(t,{GV:()=>l,cn:()=>r,z3:()=>o});var s=a(29722);function r(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return(0,s.$)(t)}function o(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;if(0===e)return"0 Bytes";let a=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,a)).toFixed(t<0?0:t))+" "+["Bytes","KB","MB","GB"][a]}function l(e){var t,a,s,r;let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"design",l=arguments.length>2?arguments[2]:void 0;if(!e)return;let n=e;if(Array.isArray(e)&&e.length>0?n=e[0]:"object"==typeof e&&null!==e&&(n=e.url||e.imageUrl||e.src||e.uri),!n||"string"!=typeof n)return void console.error("Invalid URL passed to downloadImage:",e);let i="png";try{let e=new URL(n).pathname.split(".");if(e.length>1){let t=null==(a=e.pop())?void 0:a.toLowerCase();t&&["jpg","jpeg","png","webp","gif","mp4","webm","ogg"].includes(t)&&(i=t)}}catch(e){}let c=`${o}-${Date.now()}.${i}`,d=null==l||null==(t=l.loading)?void 0:t.call(l,"Downloading asset...");try{let e=`/api/backend/v1/proxy/download?url=${encodeURIComponent(n)}&filename=${encodeURIComponent(c)}`,t=document.createElement("a");t.href=e,t.download=c,document.body.appendChild(t),t.click(),document.body.removeChild(t),null==l||null==(s=l.success)||s.call(l,"Download started!",{id:d})}catch(e){console.error("Download error:",e),window.open(n,"_blank"),null==l||null==(r=l.error)||r.call(l,"Opened in new tab",{id:d})}}},65245:(e,t,a)=>{a.d(t,{A:()=>o});var s=a(95155),r=a(12115);let o=e=>{let{adSlot:t,adFormat:a="auto",fullWidthResponsive:o=!0,className:l=""}=e;return(0,r.useEffect)(()=>{try{(window.adsbygoogle=window.adsbygoogle||[]).push({})}catch(e){console.error("AdSense error:",e)}},[]),(0,s.jsxs)("div",{className:`adsense-container overflow-hidden transition-all duration-500 ${l}`,children:[(0,s.jsx)("style",{dangerouslySetInnerHTML:{__html:`
2        .adsbygoogle[data-ad-status="unfilled"] {
3          display: none !important;
4        }
5        .adsense-container:has(ins[data-ad-status="unfilled"]) {
6          margin-top: 0 !important;
7          margin-bottom: 0 !important;
8          height: 0 !important;
9        }
10        .adsense-container:has(ins[data-ad-status="filled"]) {
11          margin-top: 2.5rem;
12          margin-bottom: 2.5rem;
13          min-height: 100px;
14        }
15      `}}),(0,s.jsx)("ins",{className:"adsbygoogle",style:{display:"block"},"data-ad-client":"ca-pub-3036254447207227","data-ad-slot":t,"data-ad-format":a,"data-full-width-responsive":o.toString()})]})}},73641:(e,t,a)=>{a.d(t,{d9:()=>s});let s=()=>{let e=(()=>{try{let e=localStorage.getItem("device_info");return e?JSON.parse(e):null}catch(e){return console.error("Failed to retrieve device info:",e),null}})();if(e&&e.device_id)return e;let t=(()=>{let e,t,{browser:a,browser_version:s}=(()=>{let e=navigator.userAgent,t="Unknown",a="Unknown";if(e.indexOf("Chrome")>-1&&-1===e.indexOf("Edg")){t="Chrome";let s=e.match(/Chrome\/(\d+\.\d+)/);a=s?s[1]:a}else if(e.indexOf("Edg")>-1){t="Edge";let s=e.match(/Edg\/(\d+\.\d+)/);a=s?s[1]:a}else if(e.indexOf("Firefox")>-1){t="Firefox";let s=e.match(/Firefox\/(\d+\.\d+)/);a=s?s[1]:a}else if(e.indexOf("Safari")>-1&&-1===e.indexOf("Chrome")){t="Safari";let s=e.match(/Version\/(\d+\.\d+)/);a=s?s[1]:a}else if(e.indexOf("OPR")>-1||e.indexOf("Opera")>-1){t="Opera";let s=e.match(/(?:OPR|Opera)\/(\d+\.\d+)/);a=s?s[1]:a}return{browser:t,browser_version:a}})(),{os:r,os_version:o}=(()=>{let e=navigator.userAgent,t="Unknown",a="Unknown";if(e.indexOf("Win")>-1)t="Windows",e.indexOf("Windows NT 10.0")>-1?a="10/11":e.indexOf("Windows NT 6.3")>-1?a="8.1":e.indexOf("Windows NT 6.2")>-1?a="8":e.indexOf("Windows NT 6.1")>-1&&(a="7");else if(e.indexOf("Mac")>-1){t="macOS";let s=e.match(/Mac OS X (\d+[._]\d+([._]\d+)?)/);s&&(a=s[1].replace(/_/g,"."))}else if(e.indexOf("iPhone")>-1||e.indexOf("iPad")>-1){t="iOS";let s=e.match(/OS (\d+[._]\d+([._]\d+)?)/);s&&(a=s[1].replace(/_/g,"."))}else if(e.indexOf("Android")>-1){t="Android";let s=e.match(/Android (\d+\.\d+)/);
15a=s?s[1]:a}else e.indexOf("Linux")>-1&&(t="Linux");return{os:t,os_version:a}})(),l=(e=navigator.userAgent,t=window.screen.width,/(tablet|ipad|playbook|silk)|(android(?!.*mobi))/i.test(e)?"tablet":/Mobile|Android|iP(hone|od)|IEMobile|BlackBerry|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obi|ini)/.test(e)||t<768?"mobile":t>=768&&t<1024?"tablet":t>=1024?"desktop":"unknown");return{device_id:(()=>{let e=navigator.userAgent,t=`${window.screen.width}x${window.screen.height}`,a=Intl.DateTimeFormat().resolvedOptions().timeZone,s=navigator.language;var r=`${e}|${t}|${a}|${s}`;let o=0;for(let e=0;e<r.length;e++)o=(o<<5)-o+r.charCodeAt(e),o&=o;return Math.abs(o).toString(36)})(),device_name:`${a} on ${r} (${l})`,device_type:l,os:r,os_version:o,browser:a,browser_version:s}})();try{localStorage.setItem("device_info",JSON.stringify(t))}catch(e){console.error("Failed to store device info:",e)}return t}},99336:(e,t,a)=>{a.r(t),a.d(t,{default:()=>W});var s=a(95155),r=a(39092),o=a.n(r),l=a(5772),n=a(12115),i=a(86901),c=a(78697),d=a(45005),x=a(97810),h=a(7066),f=a(66088),g=a(44478),m=a(91958),b=a(21975),p=a(17243),u=a(64606),j=a(68822),v=a(64479),w=a(24338),y=a(33024),N=a(82482),k=a(51914),A=a(20986),z=a(6489),C=a(68459),S=a(6962),O=a(53961),I=a(21628),P=a(80642),M=a(25234),E=a(40980),R=a(73641),$=a(98500),F=a.n($),D=a(65245),L=a(62903);let T=[{href:"/ai/tools/fabric-to-garment",label:"Fabric to Garment",icon:i.A,color:"orange",description:"Convert swatches to 3D products."},{href:"/ai/tools/fashion-photoshoot",label:"AI Photoshoot",icon:c.A,color:"purple",description:"Professional studio shots with AI."},{href:"/ai/tools/video-studio",label:"Video Studio",icon:d.A,color:"rose",description:"Animate products with AI video."},{href:"/ai/tools/catalog",label:"Catalog Studio",icon:x.A,color:"indigo",description:"Automate lookbooks and catalogs."},{href:"/ai/tools/virtual-try-on",label:"Virtual Try-On",icon:h.A,color:"pink",description:"Interactive fitting room experience."}],_=[{q:"Is the Image Watermark tool completely free to use?",a:"Yes, our Image Watermark tool is a 100% free utility. You can protect your images with text or logos without any hidden charges or subscriptions."},{q:"How do I add and edit a watermark?",a:"Upload your photo, then click 'Add Text' or 'Add Image'. You can drag it to move, use the arrow handle to resize, and double-click any text to edit it directly on the photo."},{q:"Are my uploaded images stored on your servers?",a:"No. Privacy is our top priority. All image processing happens locally within your browser. Your images are never uploaded to our servers."},{q:"Can I customize the look of your watermark?",a:"Absolutely! You can change colors, fonts, transparency, and rotation using the controls in the sidebar to match your brand style."}];function U(e){let{q:t,a,isOpen:r,toggle:o}=e;return(0,s.jsxs)("div",{className:"border border-slate-200 rounded-2xl bg-white overflow-hidden transition-colors hover:border-orange-500/20 shadow-xs",children:[(0,s.jsxs)("button",{onClick:o,className:"w-full flex items-center justify-between p-6 text-left gap-4",children:[(0,s.jsx)("h3",{className:"text-lg font-bold text-slate-800",children:t}),(0,s.jsx)(f.A,{className:`w-5 h-5 text-orange-500 shrink-0 transition-transform duration-300 ${r?"rotate-180":""}`})]}),(0,s.jsx)(P.N,{initial:!1,children:r&&(0,s.jsx)(M.P.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.3},className:"overflow-hidden",children:(0,s.jsx)("p",{className:"px-6 pb-6 text-slate-500 leading-relaxed",children:a})})})]})}function W(){let[e,t]=(0,n.useState)(null),[a,r]=(0,n.useState)([]),[i,c]=(0,n.useState)(null),[d,x]=(0,n.useState)(null),[h,f]=(0,n.useState)(!1),[P,$]=(0,n.useState)(null),[W,Y]=(0,n.use
15State)(null),[B,H]=(0,n.useState)({width:0,height:0});(0,n.useRef)(null);let q=(0,n.useRef)(null),G=(0,n.useRef)(null),V=(0,n.useRef)(null),J=(0,n.useRef)(null),K=a.find(e=>e.id===i),X=(0,n.useCallback)(()=>{q.current&&H({width:q.current.clientWidth,height:q.current.clientHeight})},[]);(0,n.useEffect)(()=>{e&&X()},[e,X]),(0,n.useEffect)(()=>(window.addEventListener("resize",X),()=>window.removeEventListener("resize",X)),[X]);let Q=(0,n.useCallback)(e=>{let a=e[0];if(!a)return;let s=new FileReader;s.onload=()=>{let e=new Image;e.onload=()=>{t({file:a,preview:s.result,width:e.width,height:e.height}),r([]),c(null),x(null)},e.src=s.result},s.readAsDataURL(a)},[]),{getRootProps:Z,getInputProps:ee,isDragActive:et,open:ea}=(0,L.VB)({onDrop:Q,accept:{"image/*":[]},multiple:!1,noClick:!0}),es=(e,t)=>{r(a=>a.map(a=>a.id===e?{...a,...t}:a))},er=function(t,a){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"move";e&&(Y(s),J.current=a,c(a),t.stopPropagation())},eo=()=>{Y(null),J.current=null};(0,n.useEffect)(()=>{d&&V.current&&V.current.focus()},[d]);let el=async(e,t,a,s)=>{if(e.save(),e.globalAlpha=t.opacity,e.translate(t.x*a,t.y*s),e.rotate(t.rotation*Math.PI/180),"text"===t.type){let s=t.size*a/1e3;e.font=`bold ${s}px ${t.fontFamily||"Arial, sans-serif"}`,e.fillStyle=t.color||"#ffffff",e.textAlign="center",e.textBaseline="middle",e.fillText(t.content||"YOUR BRAND",0,0)}else{let s=new Image;s.src=t.content,await new Promise(r=>{s.onload=()=>{let o=s.width/s.height,l=a*t.size,n=l/o;e.drawImage(s,-l/2,-n/2,l,n),r(null)}})}e.restore()},en=async()=>{if(e){f(!0);try{let t=document.createElement("canvas"),s=t.getContext("2d");if(!s)return;let r=new Image;r.src=e.preview,await new Promise(o=>{r.onload=async()=>{for(let e of(t.width=r.width,t.height=r.height,s.drawImage(r,0,0),a.some(e=>"text"===e.type)&&(s.font="10px Arial"),a))await el(s,e,t.width,t.height);let l=await new Promise(e=>t.toBlob(e,"image/jpeg",.95));if(l){let t=URL.createObjectURL(l),a=document.createElement("a");a.href=t,a.download=`watermarked-${e.file.name}`,a.click(),URL.revokeObjectURL(t)}o(null)}});try{let e=(0,R.d9)();fetch("/api/system/track-tool",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tool:"image-watermark",action:"watermark",device:e})}).catch(()=>{})}catch(e){}}catch(e){console.error("Watermarking failed:",e)}finally{f(!1)}}};return(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 min-h-screen bg-white text-slate-800 selection:bg-orange-500/20 font-sans",children:[(0,s.jsx)("div",{className:"jsx-10c4c43e8be2f5a0 pt-16 pb-8",children:(0,s.jsx)("div",{className:"jsx-10c4c43e8be2f5a0 container mx-auto px-4 md:px-8",children:(0,s.jsxs)(M.P.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:"flex flex-col md:flex-row md:items-end justify-between gap-6",children:[(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 space-y-3 container text-left",children:[(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 inline-flex items-center gap-2 px-3 py-1.5 rounded-full bg-orange-500/10 border border-orange-500/20 text-orange-500 text-[10px] md:text-[11px] font-black tracking-widest  shadow-2xl shadow-orange-500/5 w-fit",children:[(0,s.jsx)(g.A,{size:12,className:"fill-current"})," Watermark Images Online"]}),(0,s.jsxs)("h1",{className:"jsx-10c4c43e8be2f5a0 text-3xl md:text-4xl font-[900] tracking-tight text-slate-800 leading-tight",children:["Add Watermarks to Your ",(0,s.jsx)("span",{className:"jsx-10c4c43e8be2f5a0 text-orange-500",children:"Photos Instantly"})]}),(0,s.jsx)("p",{className:"jsx-10c4c43e8be2f5a0 text-slate-500 text-base md:text-lg font-medium max-w-xl leading-relaxed",children:"Watermark JPG, PNG or GIF images. Stamp images or text over your images at once."})]}),(0,s.jsx)("div",{className:"jsx-10c4c43e8be2f5a0 flex items-center gap-3",children:(0,s.jsxs)(M.P.button,{whileHover:{scale:1.02},whileTap:{scale:.98},onClick:()=>ea(),className:(0,E.cn)("px-7 py-3.5 font-black rounded-2xl transition-all flex items-center justify-center gap-3 shrink-0 text-sm active:scale-95",e?"bg-slate-50 border border-slate-200 text-slate-600 hover:bg-slate-100":"bg-orange-500 text-white hover:bg-orange-600 shadow-lg shadow-orange-500/20"),children:[e?(0,s.jsx)(m.A,{size:18}):(0,s.jsx)(b.A,{size:18}),(0,s.jsx)("span",{className:"jsx-10c4c43e8be2f5a0",children:e?"Change Image":"Upload Image"})]})})]})})}),(0,s.jsx)(D.A,{adSlot:"3945635977",className:"container mx-auto px-4 md:px-8"}),(0,s.jsx)("div",{className:"jsx-10c4c43e8be2f5a0 container mx-auto px-4 md:px-8 mb-24",children:(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 grid grid-cols-1 lg:grid-cols-12 gap-6 items-stretch min-h-[600px]",children:[(0,s.jsx)("div",{className:"jsx-10c4c43e8be2f5a0 lg:col-span-8 flex flex-col h-full",children:(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 relative w-full h-full min-h-[500px] bg-slate-50 rounded-3xl border border-slate-200/80 overflow-hidden shadow-sm flex flex-col items-center justify-center",children:[(0,s.jsx)("input",{...ee(),className:"jsx-10c4c43e8be2f5a0"}),e?(0,s.jsx)("div",{...Z(),onMouseMove:e=>{let t=J.current;if(!W||!t||!q.current)return;let s=q.current.getBoundingClientRect(),r=a.find(e=>e.id===t);if(r){if("move"===W)es(t,{x:Math.max(0,Math.min(1,(e.clientX-s.left)/s.width)),y:Math.max(0,Math.min(1,(e.clientY-s.top)/s.height))});else if("resize"===W){let a=(e.clientX-s.left)/s.width,o=(e.clientY-s.top)/s.height,l=Math.abs(a-r.x),n=Math.abs(o-r.y);"text"===r.type?es(t,{size:Math.max(5,Math.min(500,(l*s.width+n*s.height)/(s.width/500)))}):es(t,{size:Math.max(.01,Math.min(1,l+n))})}}},onMouseUp:eo,onMouseLeave:eo,onClick:()=>{x(null),c(null)},className:"jsx-10c4c43e8be2f5a0 relative flex items-center justify-center overflow-hidden w-full h-full bg-slate-100 p-4 md:p-8",children:(0,s.jsxs)("div",{style:{width:B.width||"auto",height:B.height||"auto"},onClick:e=>e.stopPropagation(),className:"jsx-10c4c43e8be2f5a0 relative shadow-2xl",children:[(0,s.jsx)(l.default,{ref:q,src:e.preview,alt:"Preview",onLoad:X,className:"max-w-full max-h-[600px] object-contain select-none pointer-events-none rounded-sm",width:800,height:500,unoptimized:!0}),a.map(e=>{let t=e.size*B.width/1e3,a=Math.max(12,(e.content||(d===e.id?"":"TYPE HERE...")).length+2);return(0,s.jsxs)("div",{onMouseDown:t=>er(t,e.id,"move"),onDoubleClick:t=>{t.stopPropagation(),"text"===e.type&&x(e.id)},onClick:t=>{t.stopPropagation(),c(e.id)},style:{position:"absolute",left:`${100*e.x}%`,top:`${100*e.y}%`,transform:`translate(-50%, -50%) rotate(${e.rotation}deg)`,opacity:e.opacity,cursor:d===e.id?"text":"move",border:i===e.id?"2px solid #f97316":"1px dashed rgba(0,0,0,0.25)",zIndex:i===e.id?10:1,transition:"border 0.2s",userSelect:"none",lineHeight:1},className:"jsx-10c4c43e8be2f5a0",children:["text"===e.type?d===e.id?(0,s.jsx)("input",{ref:V,type:"text",placeholder:"TYPE HERE...",value:e.content,onChange:t=>es(e.id,{content:t.target.value}),onBlur:()=>x(null),onKeyDown:e=>"Enter"===e.key&&x(null),style:{fontSize:`${t}px`,color:e.color,width:`${a*t*.6}px`,textShadow:"0 0 10px rgba(0,0,0,0.5)",fontFamily:e.fontFamily||"Arial, sans-serif"},className:"jsx-10c4c43e8be2f5a0 bg-transparent border-none outline-none text-center font-bold px-0 rounded-none shadow-none placeholder:text-slate-400"}):(0,s.jsx)("span",{style:{color:""===e.content?"rgba(0,0,0,0.3)":e.color,fontSize:`${t}px`,fontWeight:"bold",fontFamily:e.fontFamily||"Arial, sans-serif",whiteSpace:"nowrap",display:"block",padding:"0 10px"},className:"jsx-10c4c43e8be2f5a0",children:e.content||"TYPE HERE..."}):(0,s.jsx)(l.default,{src:e.content,alt:"Logo",style:{width:`${B.width*e.size}px`,height:"auto",display:"block"},className:"pointer-events-none",unoptimized:!0}),i===e.id&&!d&&(0,s.jsx)("div",{onMouseDown:t=>{er(t,e.id,"resize")},className:"jsx-10c4c43e8be2f5a0 absolute -bottom-3 -right-3 w-7 h-7 bg-orange-500 rounded-full flex items-center justify-center cursor-nwse-resize shadow-lg shadow-orange-500/20 border-2 border-white",children:(0,s.jsx)(u.A,{size:12,className:"text-white"})}),i===e.id&&!d&&(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 absolute -top-8 left-1/2 -translate-x-1/2 flex items-center gap-2 bg-orange-500 text-[8px] font-black px-2 py-1 rounded text-white whitespace-nowrap  tracking-tighter shadow-lg",children:[(0,s.jsx)(j.A,{size:10})," ","text"===e.type?"Double-click to edit":"Drag arrow to resize"]})]},e.id)})]})}):(0,s.jsxs)("div",{...Z(),onClick:()=>ea(),className:"jsx-10c4c43e8be2f5a0 "+((0,E.cn)("w-full h-full flex flex-col items-center justify-center cursor-pointer transition-all duration-300 p-8 group",et?"bg-orange-500/5 border-2 border-dashed border-orange-500/50":"hover:bg-slate-100/30")||""),children:[(0,s.jsx)("div",{className:"jsx-10c4c43e8be2f5a0 w-20 h-20 rounded-2xl bg-white flex items-center justify-center border border-slate-200 mb-6 group-hover:bg-orange-500 group-hover:border-orange-500 transition-all duration-550 text-slate-400 group-hover:text-white shadow-xs",children:(0,s.jsx)(p.A,{size:32})}),(0,s.jsx)("h3",{className:"jsx-10c4c43e8be2f5a0 text-2xl font-bold text-slate-700 mb-2",children:"Drop image here"}),(0,s.jsx)("p",{className:"jsx-10c4c43e8be2f5a0 text-slate-400 text-sm",children:"or click to browse your files"})]})]})}),(0,s.jsx)("div",{className:"jsx-10c4c43e8be2f5a0 lg:col-span-4 flex flex-col h-full",children:(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 bg-white rounded-3xl border border-slate-200/80 shadow-md flex flex-col h-full overflow-hidden",children:[(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 p-6 border-b border-slate-100",children:[(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 flex items-center justify-between mb-6",children:[(0,s.jsxs)("h3",{className:"jsx-10c4c43e8be2f5a0 text-lg font-bold flex items-center gap-2 text-slate-800",children:[(0,s.jsx)(v.A,{className:"text-orange-500",size:20}),"Design Editor"]}),(0,s.jsx)("div",{className:"jsx-10c4c43e8be2f5a0 px-2 py-1 bg-orange-500/10 rounded text-[10px] font-bold text-orange-600  tracking-widest border border-orange-500/20",children:"Live"})]}),(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 grid grid-cols-2 gap-4",children:[(0,s.jsxs)("button",{onClick:e=>{let t;e.stopPropagation(),t={id:Math.random().toString(36).substr(2,9),type:"text",content:"",x:.5,y:.5,size:50,op
15acity:.6,rotation:0,color:"#ffffff",fontFamily:"Arial, sans-serif"},r(e=>[...e,t]),c(t.id),x(t.id)},className:"jsx-10c4c43e8be2f5a0 flex flex-col items-center justify-center gap-3 p-5 bg-slate-50 hover:bg-orange-500/5 border border-slate-200 hover:border-orange-500/35 rounded-2xl transition-all group active:scale-95",children:[(0,s.jsx)("div",{className:"jsx-10c4c43e8be2f5a0 w-10 h-10 rounded-xl bg-white border border-slate-200/80 flex items-center justify-center text-slate-500 group-hover:text-orange-500 transition-colors",children:(0,s.jsx)(w.A,{size:20})}),(0,s.jsx)("span",{className:"jsx-10c4c43e8be2f5a0 text-[10px] font-black text-slate-500 group-hover:text-slate-800  tracking-widest",children:"Add Text"})]}),(0,s.jsxs)("button",{onClick:e=>{var t;e.stopPropagation(),null==(t=G.current)||t.click()},className:"jsx-10c4c43e8be2f5a0 flex flex-col items-center justify-center gap-3 p-5 bg-slate-50 hover:bg-orange-500/5 border border-slate-200 hover:border-orange-500/35 rounded-2xl transition-all group active:scale-95",children:[(0,s.jsx)("div",{className:"jsx-10c4c43e8be2f5a0 w-10 h-10 rounded-xl bg-white border border-slate-200/80 flex items-center justify-center text-slate-500 group-hover:text-orange-500 transition-colors",children:(0,s.jsx)(p.A,{size:20})}),(0,s.jsx)("span",{className:"jsx-10c4c43e8be2f5a0 text-[10px] font-black text-slate-500 group-hover:text-slate-800  tracking-widest",children:"Add Logo"})]}),(0,s.jsx)("input",{type:"file",ref:G,accept:"image/*",onChange:e=>{var t;let a=null==(t=e.target.files)?void 0:t[0];if(a){let e=new FileReader;e.onload=()=>{let t={id:Math.random().toString(36).substr(2,9),type:"image",content:e.result,x:.5,y:.5,size:.15,opacity:.6,rotation:0};r(e=>[...e,t]),c(t.id)},e.readAsDataURL(a)}e.target.value=""},className:"jsx-10c4c43e8be2f5a0 hidden"})]})]}),(0,s.jsx)("div",{className:"jsx-10c4c43e8be2f5a0 flex-1 overflow-y-auto p-6 space-y-8 custom-scrollbar",children:K?(0,s.jsxs)(M.P.div,{initial:{opacity:0,x:20},animate:{opacity:1,x:0},className:"space-y-6",children:[(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 space-y-4",children:[(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 flex justify-between items-center",children:[(0,s.jsx)("label",{className:"jsx-10c4c43e8be2f5a0 text-[10px] font-black text-slate-400  tracking-widest",children:"Scale Size"}),(0,s.jsxs)("span",{className:"jsx-10c4c43e8be2f5a0 text-xs font-mono text-orange-600 font-bold",children:[Math.round("text"===K.type?K.size/10:100*K.size),"%"]})]}),(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 flex items-center gap-4",children:[(0,s.jsx)(N.A,{size:14,className:"text-slate-400 cursor-pointer hover:text-slate-800 transition-colors",onClick:()=>es(K.id,{size:.9*K.size})}),(0,s.jsx)("input",{type:"range",min:"text"===K.type?5:.01,max:"text"===K.type?500:1,step:"text"===K.type?1:.01,value:K.size,onChange:e=>es(K.id,{size:parseFloat(e.target.value)}),className:"jsx-10c4c43e8be2f5a0 flex-1 accent-orange-500 h-1.5 bg-slate-200 rounded-lg appearance-none cursor-pointer"}),(0,s.jsx)(k.A,{size:14,className:"text-slate-400 cursor-pointer hover:text-slate-800 transition-colors",onClick:()=>es(K.id,{size:1.1*K.size})})]})]}),(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 space-y-4",children:[(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 flex justify-between items-center",children:[(0,s.jsx)("label",{className:"jsx-10c4c43e8be2f5a0 text-[10px] font-black text-slate-400  tracking-widest",children:"Transparency"}),(0,s.jsxs)("span",{className:"jsx-10c4c43e8be2f5a0 text-xs font-mono text-orange-600 font-bold",children:[Math.round(100*K.opacity),"%"]})]}),(0,s.jsx)("div",{className:"jsx-10c4c43e8be2f5a0 flex items-center gap-4",children:(0,s.jsx)("input",{type:"range",min:"0.1",max:"1",step:"0.05",value:K.opacity,onChange:e=>es(K.id,{opacity:parseFloat(e.target.value)}),className:"jsx-10c4c43e8be2f5a0 flex-1 accent-orange-500 h-1.5 bg-slate-200 rounded-lg appearance-none cursor-pointer"})})]}),(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 space-y-4",children:[(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 flex justify-between items-center",children:[(0,s.jsx)("label",{className:"jsx-10c4c43e8be2f5a0 text-[10px] font-black text-slate-400  tracking-widest",children:"Rotation"}),(0,s.jsxs)("span",{className:"jsx-10c4c43e8be2f5a0 text-xs font-mono text-orange-600 font-bold",children:[K.rotation,"\xb0"]})]}),(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 flex items-center gap-4",children:[(0,s.jsx)(A.A,{size:14,className:"text-slate-400"}),(0,s.jsx)("input",{type:"range",min:"-180",max:"180",step:"1",value:K.rotation,onChange:e=>es(K.id,{rotation:parseInt(e.target.value)}),className:"jsx-10c4c43e8be2f5a0 flex-1 accent-orange-500 h-1.5 bg-slate-200 rounded-lg appearance-none cursor-pointer"})]})]}),"text"===K.type&&(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 space-y-4",children:[(0,s.jsx)("label",{className:"jsx-10c4c43e8be2f5a0 text-[10px] font-black text-slate-400  tracking-widest",children:"Color Palette"}),(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 flex flex-wrap gap-2.5",children:[["#ffffff","#000000","#f97316","#3b82f6","#ef4444","#22c55e"].map(e=>(0,s.jsx)("button",{onClick:()=>es(K.id,{color:e}),style:{backgroundColor:e},className:"jsx-10c4c43e8be2f5a0 "+((0,E.cn)("w-9 h-9 rounded-full border-2 transition-all",K.color===e?"border-orange-500 scale-110 shadow-lg shadow-orange-500/30":"border-slate-200")||"")},e)),(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 relative w-9 h-9 rounded-full overflow-hidden border-2 border-slate-200 group",children:[(0,s.jsx)("input",{type:"color",value:K.color,onChange:e=>es(K.id,{color:e.target.value}),className:"jsx-10c4c43e8be2f5a0 absolute inset-0 w-[200%] h-[200%] -translate-x-1/4 -translate-y-1/4 cursor-pointer"}),(0,s.jsx)(z.A,{size:14,className:"absolute inset-0 m-auto text-slate-600 pointer-events-none drop-shadow-md"})]})]})]}),(0,s.jsxs)("button",{onClick:()=>{var e;return e=K.id,void(r(t=>t.filter(t=>t.id!==e)),i===e&&c(null),d===e&&x(null))},className:"jsx-10c4c43e8be2f5a0 w-full py-4 bg-red-50 hover:bg-red-600 text-red-600 hover:text-white border border-red-100 rounded-2xl text-[10px] font-black  tracking-widest transition-all flex items-center justify-center gap-2 group active:scale-95",children:[(0,s.jsx)(C.A,{size:18,className:"group-hover:scale-110 transition-transform"})," Remove Layer"]})]}):(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 flex flex-col items-center justify-center h-full text-center space-y-5 py-12",children:[(0,s.jsx)("div",{className:"jsx-10c4c43e8be2f5a0 w-16 h-16 rounded-full bg-slate-50 border border-slate-100 flex items-center justify-center text-slate-400",children:(0,s.jsx)(y.A,{size:28})}),(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 space-y-1",children:[(0,s.jsx)("p",{className:"jsx-10c4c43e8be2f5a0 text-slate-700 text-sm font-bold",children:"Select a Layer"}),(0,s.jsx)("p",{className:"jsx-10c4c43e8be2f5a0 text-slate-400 text-[10px] max-w-[200px] leading-relaxed",children:"Click any watermark on your photo to customize its style"})]})]})}),(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 p-6 mt-auto space-y-4 border-t border-slate-100 bg-slate-50/50",children:[(0,s.jsxs)("button",{onClick:en,disabled:!e||0===a.length||h,className:"jsx-10c4c43e8be2f5a0 w-full py-4 bg-orange-500 hover:bg-orange-600 disabled:opacity-50 disabled:cursor-not-allowed text-white font-black rounded-2xl text-base transition-all flex items-center justify-center gap-2 shadow-lg shadow-orange-500/20 active:scale-95",children:[h?(0,s.jsx)("div",{className:"jsx-10c4c43e8be2f5a0 w-5 h-5 border-2 border-white/30 border-t-white rounded-full animate-spin"}):(0,s.jsx)(S.A,{size:20}),h?"Processing...":"Download Image"]}),e&&(0,s.jsx)("p",{className:"jsx-10c4c43e8be2f5a0 text-[10px] text-center text-slate-400 font-bold  tracking-tighter",children:"Secure Client-Side Rendering"})]})]})})]})}),(0,s.jsx)("div",{className:"jsx-10c4c43e8be2f5a0 py-24 bg-slate-50/50 border-y border-slate-100",children:(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 container mx-auto px-4 md:px-8",children:[(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 text-center mb-20",children:[(0,s.jsx)("h2",{className:"jsx-10c4c43e8be2f5a0 text-3xl md:text-5xl font-extrabold text-slate-800 mb-4 tracking-tight",children:"Protect Your Visual Work"}),(0,s.jsx)("p",{className:"jsx-10c4c43e8be2f5a0 text-slate-500 text-lg",children:"Fast, professional, and secure watermarking for all creators."})]}),(0,s.jsx)("div",{className:"jsx-10c4c43e8be2f5a0 grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-x-12 gap-y-16",children:[{title:"Interactive Editing",desc:"Double-click any text to edit content directly on the photo with a live preview.",icon:w.A,step:"01"},{title:"Smart Scaling",desc:"Grab the arrow handle to resize naturally. Precise controls for text and logos.",icon:u.A,step:"02"},{title:"Local Processing",desc:"Your images are never uploaded to any server. Complete privacy and speed.",icon:g.A,step:"03"},{title:"Total Control",desc:"Adjust opacity, rotation, colors, and positioning to fit your specific branding.",icon:v.A,step:"04"},{title:"High Quality Export",desc:"Download your protected images in full resolution, ready for any professional use.",icon:S.A,step:"05"},{title:"Always Free",desc:"A dedicated utility for the creative community. No hidden fees or limits.",icon:O.A,step:"06"}].map((e,t)=>(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 group relative",children:[(0,s.jsx)("div",{className:"jsx-10c4c43e8be2f5a0 absolute -top-6 -left-4 text-[6rem] font-black text-slate-200/40 pointer-events-none group-hover:text-orange-500/5 transition-colors",children:e.step}),(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 relative space-y-5",children:[(0,s.jsx)("div",{className:"jsx-10c4c43e8be2f5a0 w-10 h-10 bg-orange-500/10 text-orange-500 rounded-lg flex items-center justify-center border border-orange-500/10 group-hover:border-orange-500/30 transition-all",children:(0,s.jsx)(e.icon,{size:18})}),(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 space-y-2",children:[(0,s.jsx)("h3",{className:"jsx-10c4c43e8be2f5a0 text-xl font-bold text-slate-800 group-hover:text-orange-500 transition-colors",children:e.title}),(0,s.jsx)("p",{className:"jsx-10c4c43e8be2f5a0 text-slate-500 text-sm leading-relaxed",children:e.desc})]})]})]},t))})]})}),(0,s.jsx)("div",{className:"jsx-10c4c43e8be2f5a0 py-24 bg-white",children:(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 container mx-auto px-4 md:px-8",children:[(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 flex flex-col md:flex-row md:items-end justify-between gap-6 mb-12",children:[(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 space-y-2",children:[(0,s.jsxs)("h2",{className:"jsx-10c4c43e8be2f5a0 text-3xl md:text-4xl font-extrabold text-slate-800 tracking-tight",children:["Explore ",(0,s.jsx)("span",{className:"jsx-10c4c43e8be2f5a0 text-orange-500",children:"Textile AI"})]}),(0,s.jsx)("p",{className:"jsx-10c4c43e8be2f5a0 text-slate-500 text-sm  tracking-widest font-black",children:"Design Tools"})]}),(0,s.jsxs)(F(),{href:"/ai-tool",className:"inline-flex items-center gap-2 text-sm font-bold text-orange-500 hover:text-orange-400 transition-colors",children:["View All Tools ",(0,s.jsx)(I.A,{size:16})]})]}),(0,s.jsx)("div",{className:"jsx-10c4c43e8be2f5a0 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-5",children:T.map(e=>(0,s.jsxs)(F(),{href:e.href,className:"group flex items-start gap-4 p-5 rounded-2xl bg-slate-50/60 border border-slate-200/60 hover:border-slate-300 hover:bg-white transition-all hover:-translate-y-1 shadow-xs",children:[(0,s.jsx)("div",{className:"jsx-10c4c43e8be2f5a0 "+((0,E.cn)("w-12 h-12 shrink-0 rounded-xl flex items-center justify-center transition-colors","orange"===e.color&&"bg-orange-500/10 text-orange-500 group-hover:bg-orange-500/20","blue"===e.color&&"bg-blue-500/10 text-blue-500 group-hover:bg-blue-500/20","purple"===e.color&&"bg-purple-500/10 text-purple-500 group-hover:bg-purple-500/20","emerald"===e.color&&"bg-emerald-500/10 text-emerald-500 group-hover:bg-emerald-500/20","amber"===e.color&&"bg-amber-500/10 text-amber-500 group-hover:bg-amber-500/20","rose"===e.color&&"bg-rose-500/10 text-rose-500 group-hover:bg-rose-500/20","cyan"===e.color&&"bg-cyan-500/10 text-cyan-500 group-hover:bg-cyan-500/20","indigo"===e.color&&"bg-indigo-500/10 text-indigo-500 group-hover:bg-indigo-500/20","pink"===e.color&&"bg-pink-500/10 text-pink-500 group-hover:bg-pink-500/20")||""),children:(0,s.jsx)(e.icon,{size:20})}),(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0",children:[(0,s.jsx)("h3",{className:"jsx-10c4c43e8be2f5a0 font-bold text-slate-800 mb-1 group-hover:text-orange-600 transition-colors",children:e.label}),(0,s.jsx)("p",{className:"jsx-10c4c43e8be2f5a0 text-xs text-slate-500 leading-snug",children:e.description})]})]},e.label))})]})}),(0,s.jsx)(D.A,{adSlot:"3945635977",className:"container mx-auto px-4 md:px-8"}),(0,s.jsx)("div",{className:"jsx-10c4c43e8be2f5a0 py-24 border-t border-slate-100 bg-slate-50/50",children:(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 container mx-auto px-4 md:px-8",children:[(0,s.jsxs)("div",{className:"jsx-10c4c43e8be2f5a0 text-center mb-12",children:[(0,s.jsx)("h2",{className:"jsx-10c4c43e8be2f5a0 text-3xl md:text-4xl font-extrabold text-slate-800 mb-4 tracking-tight",children:"Frequently Asked Questions"}),(0,s.jsx)("p",{className:"jsx-10c4c43e8be2f5a0 text-slate-500 text-lg font-medium",children:"watermarking made simple."})]}),(0,s.jsx)("div",{className:"jsx-10c4c43e8be2f5a0 space-y-4",children:_.map((e,t)=>(0,s.jsx)(U,{q:e.q,a:e.a,isOpen:P===t,toggle:()=>$(P===t?null:t)},t))})]})}),(0,s.jsx)(o(),{id:"10c4c43e8be2f5a0",children:".custom-scrollbar::-webkit-scrollbar{width:4px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:rgba(255,77,18,.4);border-radius:9999px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#FF4D12}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}"})]})}}}]);

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.