ai-tools-suite/frontend/.svelte-kit/output/client/_app/immutable/nodes/7.CB0nIoU7.js
2025-12-27 15:33:06 +00:00

43 lines
45 KiB
JavaScript

import{s as fr,n as tt,r as Tt}from"../chunks/t7hwNuoe.js";import{S as _r,i as hr,d as c,l as s,s as se,a as D,b as r,n as Y,c as i,e as x,m as w,g as E,f as H,h as u,j as g,t as K,r as er,x as Ct,v as ye,w as Re,k as dr}from"../chunks/CZxRa0tt.js";import{e as St}from"../chunks/D6YF6ztN.js";function tr(a,e,t){const l=a.slice();return l[47]=e[t],l}function rr(a,e,t){const l=a.slice();return l[43]=e[t][0],l[44]=e[t][1],l}function pr(a){let e,t,l,n,o='<div class="w-12 h-12 rounded-xl bg-primary-100 flex items-center justify-center mx-auto mb-3"><svg class="w-6 h-6 text-primary-600" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"></path></svg></div> <p class="text-sm text-surface-600"><span class="text-primary-600 font-medium">Click to upload</span> or drag and drop</p> <p class="text-xs text-surface-400 mt-1">CSV, TXT, or JSON files</p>',d,_,f,m,p=a[3]&&sr(a);return{c(){e=u("div"),t=u("input"),l=g(),n=u("label"),n.innerHTML=o,d=g(),p&&p.c(),_=Ct(),this.h()},l(b){e=i(b,"DIV",{class:!0,role:!0,tabindex:!0});var I=x(e);t=i(I,"INPUT",{type:!0,accept:!0,class:!0,id:!0}),l=E(I),n=i(I,"LABEL",{for:!0,class:!0,"data-svelte-h":!0}),w(n)!=="svelte-19z75uf"&&(n.innerHTML=o),I.forEach(c),d=E(b),p&&p.l(b),_=Ct(),this.h()},h(){s(t,"type","file"),s(t,"accept",".csv,.txt,.json"),s(t,"class","hidden"),s(t,"id","file-input"),s(n,"for","file-input"),s(n,"class","cursor-pointer"),s(e,"class","border-2 border-dashed border-surface-300 rounded-xl p-6 text-center hover:border-primary-400 transition-colors cursor-pointer"),s(e,"role","button"),s(e,"tabindex","0")},m(b,I){D(b,e,I),r(e,t),r(e,l),r(e,n),D(b,d,I),p&&p.m(b,I),D(b,_,I),f||(m=[Y(t,"change",a[20]),Y(e,"drop",a[21]),Y(e,"dragover",Ur)],f=!0)},p(b,I){b[3]?p?p.p(b,I):(p=sr(b),p.c(),p.m(_.parentNode,_)):p&&(p.d(1),p=null)},d(b){b&&(c(e),c(d),c(_)),p&&p.d(b),f=!1,Tt(m)}}}function vr(a){let e,t,l,n="Text to Scan",o,d,_,f="Load Sample",m,p,b,I,R,A=(a[1]||a[6])&&lr(a);return{c(){e=u("div"),t=u("div"),l=u("label"),l.textContent=n,o=g(),d=u("div"),_=u("button"),_.textContent=f,m=g(),A&&A.c(),p=g(),b=u("textarea"),this.h()},l(C){e=i(C,"DIV",{class:!0});var v=x(e);t=i(v,"DIV",{class:!0});var h=x(t);l=i(h,"LABEL",{class:!0,"data-svelte-h":!0}),w(l)!=="svelte-17ng88c"&&(l.textContent=n),o=E(h),d=i(h,"DIV",{class:!0});var T=x(d);_=i(T,"BUTTON",{class:!0,"data-svelte-h":!0}),w(_)!=="svelte-gqsqyq"&&(_.textContent=f),m=E(T),A&&A.l(T),T.forEach(c),h.forEach(c),p=E(v),b=i(v,"TEXTAREA",{placeholder:!0,class:!0}),x(b).forEach(c),v.forEach(c),this.h()},h(){s(l,"class","label"),s(_,"class","text-xs text-primary-600 hover:text-primary-700"),s(d,"class","flex gap-2"),s(t,"class","flex justify-between items-center"),s(b,"placeholder","Paste text containing potential PII here..."),s(b,"class","input min-h-[150px] resize-none font-mono text-xs"),s(e,"class","space-y-3")},m(C,v){D(C,e,v),r(e,t),r(t,l),r(t,o),r(t,d),r(d,_),r(d,m),A&&A.m(d,null),r(e,p),r(e,b),er(b,a[1]),I||(R=[Y(_,"click",a[25]),Y(b,"input",a[29])],I=!0)},p(C,v){C[1]||C[6]?A?A.p(C,v):(A=lr(C),A.c(),A.m(d,null)):A&&(A.d(1),A=null),v[0]&2&&er(b,C[1])},d(C){C&&c(e),A&&A.d(),I=!1,Tt(R)}}}function sr(a){let e,t,l,n,o,d;return{c(){e=u("div"),t=Re("svg"),l=Re("path"),n=g(),o=u("span"),d=K(a[3]),this.h()},l(_){e=i(_,"DIV",{class:!0});var f=x(e);t=ye(f,"svg",{class:!0,fill:!0,stroke:!0,viewBox:!0});var m=x(t);l=ye(m,"path",{"stroke-linecap":!0,"stroke-linejoin":!0,"stroke-width":!0,d:!0}),x(l).forEach(c),m.forEach(c),n=E(f),o=i(f,"SPAN",{class:!0});var p=x(o);d=H(p,a[3]),p.forEach(c),f.forEach(c),this.h()},h(){s(l,"stroke-linecap","round"),s(l,"stroke-linejoin","round"),s(l,"stroke-width","2"),s(l,"d","M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"),s(t,"class","w-4 h-4 text-green-600"),s(t,"fill","none"),s(t,"stroke","currentColor"),s(t,"viewBox","0 0 24 24"),s(o,"class","text-sm text-surface-700 truncate flex-1"),s(e,"class","mt-3 flex items-center gap-2 p-2 bg-surface-50 rounded-lg")},m(_,f){D(_,e,f),r(e,t),r(t,l),r(e,n),r(e,o),r(o,d)},p(_,f){f[0]&8&&se(d,_[3])},d(_){_&&c(e)}}}function lr(a){let e,t="|",l,n,o="Clear",d,_;return{c(){e=u("span"),e.textContent=t,l=g(),n=u("button"),n.textContent=o,this.h()},l(f){e=i(f,"SPAN",{class:!0,"data-svelte-h":!0}),w(e)!=="svelte-1nygj22"&&(e.textContent=t),l=E(f),n=i(f,"BUTTON",{class:!0,"data-svelte-h":!0}),w(n)!=="svelte-1wiyggl"&&(n.textContent=o),this.h()},h(){s(e,"class","text-surface-300"),s(n,"class","text-xs text-surface-500 hover:text-red-600")},m(f,m){D(f,e,m),D(f,l,m),D(f,n,m),d||(_=Y(n,"click",a[26]),d=!0)},p:tt,d(f){f&&(c(e),c(l),c(n)),d=!1,_()}}}function ar(a){let e,t="<strong>Enhanced Privacy Mode:</strong> PII values will be masked client-side. The backend will only receive position coordinates (start/end) - it never sees your actual sensitive data.";return{c(){e=u("div"),e.innerHTML=t,this.h()},l(l){e=i(l,"DIV",{class:!0,"data-svelte-h":!0}),w(e)!=="svelte-hqgtiz"&&(e.innerHTML=t),this.h()},h(){s(e,"class","mt-2 p-2 bg-green-50 border border-green-200 rounded text-[10px] text-green-700")},m(l,n){D(l,e,n)},d(l){l&&c(e)}}}function nr(a){let e,t="Note: Client-side redaction is only available for text mode.";return{c(){e=u("div"),e.textContent=t,this.h()},l(l){e=i(l,"DIV",{class:!0,"data-svelte-h":!0}),w(e)!=="svelte-neub6p"&&(e.textContent=t),this.h()},h(){s(e,"class","mt-2 text-[10px] text-surface-400")},m(l,n){D(l,e,n)},d(l){l&&c(e)}}}function cr(a){let e,t;return{c(){e=u("div"),t=K(a[5]),this.h()},l(l){e=i(l,"DIV",{class:!0});var n=x(e);t=H(n,a[5]),n.forEach(c),this.h()},h(){s(e,"class","mt-3 p-2 bg-red-50 text-red-700 text-sm rounded-lg border border-red-100")},m(l,n){D(l,e,n),r(e,t)},p(l,n){n[0]&32&&se(t,l[5])},d(l){l&&c(e)}}}function br(a){let e,t='<div class="w-16 h-16 rounded-2xl bg-surface-100 flex items-center justify-center mx-auto mb-4"><svg class="w-8 h-8 text-surface-400" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"></path></svg></div> <p class="text-surface-500">Enter text or upload a file to scan for PII</p>';return{c(){e=u("div"),e.innerHTML=t,this.h()},l(l){e=i(l,"DIV",{class:!0,"data-svelte-h":!0}),w(e)!=="svelte-1a3kst4"&&(e.innerHTML=t),this.h()},h(){s(e,"class","text-center py-12")},m(l,n){D(l,e,n)},p:tt,d(l){l&&c(e)}}}function xr(a){let e,t,l,n="PII Found",o,d,_=a[6].total_entities+"",f,m,p,b,I,R="Types",A,C,v=Object.keys(a[6].entities_by_type||{}).length+"",h,T,k,S,O="Risk Score",V,B,N=a[6].risk_score+"",F,G,J,W,Ne="Risk Level",pe,X,$=a[6].risk_level+"",Te,ue,Oe,Q,Z,de,Pe,ve,le,we,ae=a[6].total_entities+"",fe,Me,U,L,_e,q,be,He,he,qe,Je;function Ie(P,M){if(P[7]==="overview")return gr;if(P[7]==="entities")return Er;if(P[7]==="redacted")return mr}let ne=Ie(a),z=ne&&ne(a);return{c(){e=u("div"),t=u("div"),l=u("p"),l.textContent=n,o=g(),d=u("p"),f=K(_),p=g(),b=u("div"),I=u("p"),I.textContent=R,A=g(),C=u("p"),h=K(v),T=g(),k=u("div"),S=u("p"),S.textContent=O,V=g(),B=u("p"),F=K(N),G=g(),J=u("div"),W=u("p"),W.textContent=Ne,pe=g(),X=u("p"),Te=K($),Oe=g(),Q=u("div"),Z=u("button"),de=K("Overview"),ve=g(),le=u("button"),we=K("Entities ("),fe=K(ae),Me=K(")"),L=g(),_e=u("button"),q=K("Redacted Preview"),He=g(),z&&z.c(),he=Ct(),this.h()},l(P){e=i(P,"DIV",{class:!0});var M=x(e);t=i(M,"DIV",{class:!0});var Ke=x(t);l=i(Ke,"P",{class:!0,"data-svelte-h":!0}),w(l)!=="svelte-1pwcuyc"&&(l.textContent=n),o=E(Ke),d=i(Ke,"P",{class:!0});var Ae=x(d);f=H(Ae,_),Ae.forEach(c),Ke.forEach(c),p=E(M),b=i(M,"DIV",{class:!0});var xe=x(b);I=i(xe,"P",{class:!0,"data-svelte-h":!0}),w(I)!=="svelte-1rfo85d"&&(I.textContent=R),A=E(xe),C=i(xe,"P",{class:!0});var Xe=x(C);h=H(Xe,v),Xe.forEach(c),xe.forEach(c),T=E(M),k=i(M,"DIV",{class:!0});var me=x(k);S=i(me,"P",{class:!0,"data-svelte-h":!0}),w(S)!=="svelte-1a6neun"&&(S.textContent=O),V=E(me),B=i(me,"P",{class:!0});var rt=x(B);F=H(rt,N),rt.forEach(c),me.forEach(c),G=E(M),J=i(M,"DIV",{class:!0});var Ve=x(J);W=i(Ve,"P",{class:!0,"data-svelte-h":!0}),w(W)!=="svelte-hwd14l"&&(W.textContent=Ne),pe=E(Ve),X=i(Ve,"P",{class:!0});var Ce=x(X);Te=H(Ce,$),Ce.forEach(c),Ve.forEach(c),M.forEach(c),Oe=E(P),Q=i(P,"DIV",{class:!0});var ce=x(Q);Z=i(ce,"BUTTON",{class:!0});var Qe=x(Z);de=H(Qe,"Overview"),Qe.forEach(c),ve=E(ce),le=i(ce,"BUTTON",{class:!0});var Ee=x(le);we=H(Ee,"Entities ("),fe=H(Ee,ae),Me=H(Ee,")"),Ee.forEach(c),L=E(ce),_e=i(ce,"BUTTON",{class:!0});var st=x(_e);q=H(st,"Redacted Preview"),st.forEach(c),ce.forEach(c),He=E(P),z&&z.l(P),he=Ct(),this.h()},h(){s(l,"class","text-xs text-surface-600"),s(d,"class",m="text-lg font-bold "+(a[6].total_entities>0?"text-red-600":"text-green-600")),s(t,"class","bg-surface-50 rounded-lg p-3 text-center border border-surface-100"),s(I,"class","text-xs text-surface-600"),s(C,"class","text-lg font-bold text-surface-800"),s(b,"class","bg-surface-50 rounded-lg p-3 text-center border border-surface-100"),s(S,"class","text-xs text-surface-600"),s(B,"class","text-lg font-bold text-surface-800"),s(k,"class","bg-surface-50 rounded-lg p-3 text-center border border-surface-100"),s(W,"class","text-xs opacity-80"),s(X,"class","text-lg font-bold"),s(J,"class",ue="rounded-lg p-3 text-center border "+kt(a[6].risk_level)),s(e,"class","grid grid-cols-4 gap-2 mb-4"),s(Z,"class",Pe="px-4 py-2 text-sm font-medium transition-colors "+(a[7]==="overview"?"text-primary-600 border-b-2 border-primary-600":"text-surface-500 hover:text-surface-700")),s(le,"class",U="px-4 py-2 text-sm font-medium transition-colors "+(a[7]==="entities"?"text-primary-600 border-b-2 border-primary-600":"text-surface-500 hover:text-surface-700")),s(_e,"class",be="px-4 py-2 text-sm font-medium transition-colors "+(a[7]==="redacted"?"text-primary-600 border-b-2 border-primary-600":"text-surface-500 hover:text-surface-700")),s(Q,"class","flex gap-1 mb-4 border-b border-surface-200")},m(P,M){D(P,e,M),r(e,t),r(t,l),r(t,o),r(t,d),r(d,f),r(e,p),r(e,b),r(b,I),r(b,A),r(b,C),r(C,h),r(e,T),r(e,k),r(k,S),r(k,V),r(k,B),r(B,F),r(e,G),r(e,J),r(J,W),r(J,pe),r(J,X),r(X,Te),D(P,Oe,M),D(P,Q,M),r(Q,Z),r(Z,de),r(Q,ve),r(Q,le),r(le,we),r(le,fe),r(le,Me),r(Q,L),r(Q,_e),r(_e,q),D(P,He,M),z&&z.m(P,M),D(P,he,M),qe||(Je=[Y(Z,"click",a[40]),Y(le,"click",a[41]),Y(_e,"click",a[42])],qe=!0)},p(P,M){M[0]&64&&_!==(_=P[6].total_entities+"")&&se(f,_),M[0]&64&&m!==(m="text-lg font-bold "+(P[6].total_entities>0?"text-red-600":"text-green-600"))&&s(d,"class",m),M[0]&64&&v!==(v=Object.keys(P[6].entities_by_type||{}).length+"")&&se(h,v),M[0]&64&&N!==(N=P[6].risk_score+"")&&se(F,N),M[0]&64&&$!==($=P[6].risk_level+"")&&se(Te,$),M[0]&64&&ue!==(ue="rounded-lg p-3 text-center border "+kt(P[6].risk_level))&&s(J,"class",ue),M[0]&128&&Pe!==(Pe="px-4 py-2 text-sm font-medium transition-colors "+(P[7]==="overview"?"text-primary-600 border-b-2 border-primary-600":"text-surface-500 hover:text-surface-700"))&&s(Z,"class",Pe),M[0]&64&&ae!==(ae=P[6].total_entities+"")&&se(fe,ae),M[0]&128&&U!==(U="px-4 py-2 text-sm font-medium transition-colors "+(P[7]==="entities"?"text-primary-600 border-b-2 border-primary-600":"text-surface-500 hover:text-surface-700"))&&s(le,"class",U),M[0]&128&&be!==(be="px-4 py-2 text-sm font-medium transition-colors "+(P[7]==="redacted"?"text-primary-600 border-b-2 border-primary-600":"text-surface-500 hover:text-surface-700"))&&s(_e,"class",be),ne===(ne=Ie(P))&&z?z.p(P,M):(z&&z.d(1),z=ne&&ne(P),z&&(z.c(),z.m(he.parentNode,he)))},d(P){P&&(c(e),c(Oe),c(Q),c(He),c(he)),z&&z.d(P),qe=!1,Tt(Je)}}}function mr(a){let e,t,l,n,o="Redacted Text Preview",d,_,f,m,p,b=(a[6].redacted_preview||"No preview available")+"",I,R,A,C="This preview shows PII values masked for safe sharing. Original sensitive data is replaced with masked versions.",v,h;function T(O,V){return O[19]?Ar:Ir}let k=T(a),S=k(a);return{c(){e=u("div"),t=u("div"),l=u("div"),n=u("h3"),n.textContent=o,d=g(),_=u("button"),S.c(),m=g(),p=u("pre"),I=K(b),R=g(),A=u("p"),A.textContent=C,this.h()},l(O){e=i(O,"DIV",{class:!0});var V=x(e);t=i(V,"DIV",{class:!0});var B=x(t);l=i(B,"DIV",{class:!0});var N=x(l);n=i(N,"H3",{class:!0,"data-svelte-h":!0}),w(n)!=="svelte-19mzrs"&&(n.textContent=o),d=E(N),_=i(N,"BUTTON",{class:!0});var F=x(_);S.l(F),F.forEach(c),N.forEach(c),m=E(B),p=i(B,"PRE",{class:!0});var G=x(p);I=H(G,b),G.forEach(c),B.forEach(c),R=E(V),A=i(V,"P",{class:!0,"data-svelte-h":!0}),w(A)!=="svelte-qowf5s"&&(A.textContent=C),V.forEach(c),this.h()},h(){s(n,"class","text-sm font-semibold text-surface-700"),s(_,"class",f="flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded-lg transition-all "+(a[19]?"bg-green-100 text-green-700 border border-green-300":"bg-white text-surface-600 hover:bg-surface-100 border border-surface-200")),s(l,"class","flex justify-between items-center mb-2"),s(p,"class","text-xs font-mono whitespace-pre-wrap text-surface-600 bg-white p-3 rounded-lg border border-surface-100 max-h-[300px] overflow-auto"),s(t,"class","bg-surface-50 rounded-lg p-4 border border-surface-200"),s(A,"class","text-xs text-surface-500"),s(e,"class","space-y-3")},m(O,V){D(O,e,V),r(e,t),r(t,l),r(l,n),r(l,d),r(l,_),S.m(_,null),r(t,m),r(t,p),r(p,I),r(e,R),r(e,A),v||(h=Y(_,"click",a[24]),v=!0)},p(O,V){k!==(k=T(O))&&(S.d(1),S=k(O),S&&(S.c(),S.m(_,null))),V[0]&524288&&f!==(f="flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded-lg transition-all "+(O[19]?"bg-green-100 text-green-700 border border-green-300":"bg-white text-surface-600 hover:bg-surface-100 border border-surface-200"))&&s(_,"class",f),V[0]&64&&b!==(b=(O[6].redacted_preview||"No preview available")+"")&&se(I,b)},d(O){O&&c(e),S.d(),v=!1,h()}}}function Er(a){let e;function t(o,d){return o[6].entities&&o[6].entities.length>0?Sr:Cr}let l=t(a),n=l(a);return{c(){e=u("div"),n.c(),this.h()},l(o){e=i(o,"DIV",{class:!0});var d=x(e);n.l(d),d.forEach(c),this.h()},h(){s(e,"class","overflow-x-auto")},m(o,d){D(o,e,d),n.m(e,null)},p(o,d){l===(l=t(o))&&n?n.p(o,d):(n.d(1),n=l(o),n&&(n.c(),n.m(e,null)))},d(o){o&&c(e),n.d()}}}function gr(a){let e,t,l,n,o,d="Risk Assessment",_,f,m;function p(v,h){return h[0]&64&&(t=null),t==null&&(t=Object.keys(v[6].entities_by_type||{}).length>0),t?Pr:Tr}let b=p(a,[-1,-1]),I=b(a);function R(v,h){return v[6].risk_level==="CRITICAL"?Or:v[6].risk_level==="HIGH"?Rr:v[6].risk_level==="MEDIUM"?yr:Dr}let A=R(a),C=A(a);return{c(){e=u("div"),I.c(),l=g(),n=u("div"),o=u("h3"),o.textContent=d,_=g(),f=u("p"),C.c(),this.h()},l(v){e=i(v,"DIV",{class:!0});var h=x(e);I.l(h),l=E(h),n=i(h,"DIV",{class:!0});var T=x(n);o=i(T,"H3",{class:!0,"data-svelte-h":!0}),w(o)!=="svelte-1yi25iz"&&(o.textContent=d),_=E(T),f=i(T,"P",{class:!0});var k=x(f);C.l(k),k.forEach(c),T.forEach(c),h.forEach(c),this.h()},h(){s(o,"class","text-sm font-semibold mb-2"),s(f,"class","text-sm opacity-90"),s(n,"class",m="rounded-lg p-4 border "+kt(a[6].risk_level)),s(e,"class","space-y-3")},m(v,h){D(v,e,h),I.m(e,null),r(e,l),r(e,n),r(n,o),r(n,_),r(n,f),C.m(f,null)},p(v,h){b===(b=p(v,h))&&I?I.p(v,h):(I.d(1),I=b(v),I&&(I.c(),I.m(e,l))),A!==(A=R(v))&&(C.d(1),C=A(v),C&&(C.c(),C.m(f,null))),h[0]&64&&m!==(m="rounded-lg p-4 border "+kt(v[6].risk_level))&&s(n,"class",m)},d(v){v&&c(e),I.d(),C.d()}}}function Ir(a){let e,t,l;return{c(){e=Re("svg"),t=Re("path"),l=K(`
Copy`),this.h()},l(n){e=ye(n,"svg",{class:!0,fill:!0,stroke:!0,viewBox:!0});var o=x(e);t=ye(o,"path",{"stroke-linecap":!0,"stroke-linejoin":!0,"stroke-width":!0,d:!0}),x(t).forEach(c),o.forEach(c),l=H(n,`
Copy`),this.h()},h(){s(t,"stroke-linecap","round"),s(t,"stroke-linejoin","round"),s(t,"stroke-width","2"),s(t,"d","M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"),s(e,"class","w-4 h-4"),s(e,"fill","none"),s(e,"stroke","currentColor"),s(e,"viewBox","0 0 24 24")},m(n,o){D(n,e,o),r(e,t),D(n,l,o)},d(n){n&&(c(e),c(l))}}}function Ar(a){let e,t,l;return{c(){e=Re("svg"),t=Re("path"),l=K(`
Copied!`),this.h()},l(n){e=ye(n,"svg",{class:!0,fill:!0,stroke:!0,viewBox:!0});var o=x(e);t=ye(o,"path",{"stroke-linecap":!0,"stroke-linejoin":!0,"stroke-width":!0,d:!0}),x(t).forEach(c),o.forEach(c),l=H(n,`
Copied!`),this.h()},h(){s(t,"stroke-linecap","round"),s(t,"stroke-linejoin","round"),s(t,"stroke-width","2"),s(t,"d","M5 13l4 4L19 7"),s(e,"class","w-4 h-4"),s(e,"fill","none"),s(e,"stroke","currentColor"),s(e,"viewBox","0 0 24 24")},m(n,o){D(n,e,o),r(e,t),D(n,l,o)},d(n){n&&(c(e),c(l))}}}function Cr(a){let e,t="No PII entities found";return{c(){e=u("div"),e.textContent=t,this.h()},l(l){e=i(l,"DIV",{class:!0,"data-svelte-h":!0}),w(e)!=="svelte-13bpbmg"&&(e.textContent=t),this.h()},h(){s(e,"class","text-center py-8 text-surface-500")},m(l,n){D(l,e,n)},p:tt,d(l){l&&c(e)}}}function Sr(a){let e,t,l,n,o,d,_='<tr><th>Type</th> <th>Original Value</th> <th>Masked Value</th> <th class="text-right">Confidence</th></tr>',f,m,p,b;function I(h,T){return h[18]?Nr:kr}let R=I(a),A=R(a),C=St(a[6].entities),v=[];for(let h=0;h<C.length;h+=1)v[h]=or(tr(a,C,h));return{c(){e=u("div"),t=u("button"),A.c(),n=g(),o=u("table"),d=u("thead"),d.innerHTML=_,f=g(),m=u("tbody");for(let h=0;h<v.length;h+=1)v[h].c();this.h()},l(h){e=i(h,"DIV",{class:!0});var T=x(e);t=i(T,"BUTTON",{class:!0});var k=x(t);A.l(k),k.forEach(c),T.forEach(c),n=E(h),o=i(h,"TABLE",{class:!0});var S=x(o);d=i(S,"THEAD",{"data-svelte-h":!0}),w(d)!=="svelte-1skjhpe"&&(d.innerHTML=_),f=E(S),m=i(S,"TBODY",{});var O=x(m);for(let V=0;V<v.length;V+=1)v[V].l(O);O.forEach(c),S.forEach(c),this.h()},h(){s(t,"class",l="flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded-lg transition-all "+(a[18]?"bg-green-100 text-green-700 border border-green-300":"bg-surface-100 text-surface-600 hover:bg-surface-200 border border-surface-200")),s(e,"class","flex justify-end mb-3"),s(o,"class","table-modern")},m(h,T){D(h,e,T),r(e,t),A.m(t,null),D(h,n,T),D(h,o,T),r(o,d),r(o,f),r(o,m);for(let k=0;k<v.length;k+=1)v[k]&&v[k].m(m,null);p||(b=Y(t,"click",a[23]),p=!0)},p(h,T){if(R!==(R=I(h))&&(A.d(1),A=R(h),A&&(A.c(),A.m(t,null))),T[0]&262144&&l!==(l="flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded-lg transition-all "+(h[18]?"bg-green-100 text-green-700 border border-green-300":"bg-surface-100 text-surface-600 hover:bg-surface-200 border border-surface-200"))&&s(t,"class",l),T[0]&64){C=St(h[6].entities);let k;for(k=0;k<C.length;k+=1){const S=tr(h,C,k);v[k]?v[k].p(S,T):(v[k]=or(S),v[k].c(),v[k].m(m,null))}for(;k<v.length;k+=1)v[k].d(1);v.length=C.length}},d(h){h&&(c(e),c(n),c(o)),A.d(),dr(v,h),p=!1,b()}}}function kr(a){let e,t,l;return{c(){e=Re("svg"),t=Re("path"),l=K(`
Copy`),this.h()},l(n){e=ye(n,"svg",{class:!0,fill:!0,stroke:!0,viewBox:!0});var o=x(e);t=ye(o,"path",{"stroke-linecap":!0,"stroke-linejoin":!0,"stroke-width":!0,d:!0}),x(t).forEach(c),o.forEach(c),l=H(n,`
Copy`),this.h()},h(){s(t,"stroke-linecap","round"),s(t,"stroke-linejoin","round"),s(t,"stroke-width","2"),s(t,"d","M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"),s(e,"class","w-4 h-4"),s(e,"fill","none"),s(e,"stroke","currentColor"),s(e,"viewBox","0 0 24 24")},m(n,o){D(n,e,o),r(e,t),D(n,l,o)},d(n){n&&(c(e),c(l))}}}function Nr(a){let e,t,l;return{c(){e=Re("svg"),t=Re("path"),l=K(`
Copied!`),this.h()},l(n){e=ye(n,"svg",{class:!0,fill:!0,stroke:!0,viewBox:!0});var o=x(e);t=ye(o,"path",{"stroke-linecap":!0,"stroke-linejoin":!0,"stroke-width":!0,d:!0}),x(t).forEach(c),o.forEach(c),l=H(n,`
Copied!`),this.h()},h(){s(t,"stroke-linecap","round"),s(t,"stroke-linejoin","round"),s(t,"stroke-width","2"),s(t,"d","M5 13l4 4L19 7"),s(e,"class","w-4 h-4"),s(e,"fill","none"),s(e,"stroke","currentColor"),s(e,"viewBox","0 0 24 24")},m(n,o){D(n,e,o),r(e,t),D(n,l,o)},d(n){n&&(c(e),c(l))}}}function or(a){let e,t,l,n=a[47].type+"",o,d,_,f,m=a[47].value+"",p,b,I,R=a[47].masked_value+"",A,C,v,h,T=Math.round(a[47].confidence*100)+"",k,S,O,V;return{c(){e=u("tr"),t=u("td"),l=u("span"),o=K(n),_=g(),f=u("td"),p=K(m),b=g(),I=u("td"),A=K(R),C=g(),v=u("td"),h=u("span"),k=K(T),S=K("%"),V=g(),this.h()},l(B){e=i(B,"TR",{});var N=x(e);t=i(N,"TD",{});var F=x(t);l=i(F,"SPAN",{class:!0});var G=x(l);o=H(G,n),G.forEach(c),F.forEach(c),_=E(N),f=i(N,"TD",{class:!0});var J=x(f);p=H(J,m),J.forEach(c),b=E(N),I=i(N,"TD",{class:!0});var W=x(I);A=H(W,R),W.forEach(c),C=E(N),v=i(N,"TD",{class:!0});var Ne=x(v);h=i(Ne,"SPAN",{class:!0});var pe=x(h);k=H(pe,T),S=H(pe,"%"),pe.forEach(c),Ne.forEach(c),V=E(N),N.forEach(c),this.h()},h(){s(l,"class",d="text-xs px-2 py-1 rounded border "+Nt(a[47].type)),s(f,"class","font-mono text-xs text-red-600"),s(I,"class","font-mono text-xs text-green-600"),s(h,"class",O="text-xs px-2 py-0.5 rounded "+(a[47].confidence>=.9?"bg-green-100 text-green-700":a[47].confidence>=.7?"bg-yellow-100 text-yellow-700":"bg-red-100 text-red-700")),s(v,"class","text-right")},m(B,N){D(B,e,N),r(e,t),r(t,l),r(l,o),r(e,_),r(e,f),r(f,p),r(e,b),r(e,I),r(I,A),r(e,C),r(e,v),r(v,h),r(h,k),r(h,S),r(e,V)},p(B,N){N[0]&64&&n!==(n=B[47].type+"")&&se(o,n),N[0]&64&&d!==(d="text-xs px-2 py-1 rounded border "+Nt(B[47].type))&&s(l,"class",d),N[0]&64&&m!==(m=B[47].value+"")&&se(p,m),N[0]&64&&R!==(R=B[47].masked_value+"")&&se(A,R),N[0]&64&&T!==(T=Math.round(B[47].confidence*100)+"")&&se(k,T),N[0]&64&&O!==(O="text-xs px-2 py-0.5 rounded "+(B[47].confidence>=.9?"bg-green-100 text-green-700":B[47].confidence>=.7?"bg-yellow-100 text-yellow-700":"bg-red-100 text-red-700"))&&s(h,"class",O)},d(B){B&&c(e)}}}function Tr(a){let e,t='<div class="flex items-center gap-2"><svg class="w-5 h-5 text-green-600" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg> <span class="text-sm text-green-700 font-medium">No PII detected in the input</span></div>';return{c(){e=u("div"),e.innerHTML=t,this.h()},l(l){e=i(l,"DIV",{class:!0,"data-svelte-h":!0}),w(e)!=="svelte-1p0nmr2"&&(e.innerHTML=t),this.h()},h(){s(e,"class","bg-green-50 rounded-lg p-4 border border-green-200")},m(l,n){D(l,e,n)},p:tt,d(l){l&&c(e)}}}function Pr(a){let e,t,l="PII by Type",n,o,d=St(Object.entries(a[6].entities_by_type)),_=[];for(let f=0;f<d.length;f+=1)_[f]=ir(rr(a,d,f));return{c(){e=u("div"),t=u("h3"),t.textContent=l,n=g(),o=u("div");for(let f=0;f<_.length;f+=1)_[f].c();this.h()},l(f){e=i(f,"DIV",{class:!0});var m=x(e);t=i(m,"H3",{class:!0,"data-svelte-h":!0}),w(t)!=="svelte-1m33a2l"&&(t.textContent=l),n=E(m),o=i(m,"DIV",{class:!0});var p=x(o);for(let b=0;b<_.length;b+=1)_[b].l(p);p.forEach(c),m.forEach(c),this.h()},h(){s(t,"class","text-sm font-semibold text-surface-700 mb-3"),s(o,"class","grid grid-cols-2 gap-2"),s(e,"class","bg-surface-50 rounded-lg p-4 border border-surface-100")},m(f,m){D(f,e,m),r(e,t),r(e,n),r(e,o);for(let p=0;p<_.length;p+=1)_[p]&&_[p].m(o,null)},p(f,m){if(m[0]&64){d=St(Object.entries(f[6].entities_by_type));let p;for(p=0;p<d.length;p+=1){const b=rr(f,d,p);_[p]?_[p].p(b,m):(_[p]=ir(b),_[p].c(),_[p].m(o,null))}for(;p<_.length;p+=1)_[p].d(1);_.length=d.length}},d(f){f&&c(e),dr(_,f)}}}function ir(a){let e,t,l,n=ur(a[43])+"",o,d,_,f=a[43]+"",m,p,b,I=a[44]+"",R,A,C;return{c(){e=u("div"),t=u("div"),l=u("span"),o=K(n),d=g(),_=u("span"),m=K(f),p=g(),b=u("span"),R=K(I),A=g(),this.h()},l(v){e=i(v,"DIV",{class:!0});var h=x(e);t=i(h,"DIV",{class:!0});var T=x(t);l=i(T,"SPAN",{class:!0});var k=x(l);o=H(k,n),k.forEach(c),d=E(T),_=i(T,"SPAN",{class:!0});var S=x(_);m=H(S,f),S.forEach(c),T.forEach(c),p=E(h),b=i(h,"SPAN",{class:!0});var O=x(b);R=H(O,I),O.forEach(c),A=E(h),h.forEach(c),this.h()},h(){s(l,"class","text-xs font-bold w-6 h-6 rounded flex items-center justify-center bg-white/50"),s(_,"class","text-sm font-medium"),s(t,"class","flex items-center gap-2"),s(b,"class","text-sm font-bold"),s(e,"class",C="flex items-center justify-between p-2 rounded-lg border "+Nt(a[43]))},m(v,h){D(v,e,h),r(e,t),r(t,l),r(l,o),r(t,d),r(t,_),r(_,m),r(e,p),r(e,b),r(b,R),r(e,A)},p(v,h){h[0]&64&&n!==(n=ur(v[43])+"")&&se(o,n),h[0]&64&&f!==(f=v[43]+"")&&se(m,f),h[0]&64&&I!==(I=v[44]+"")&&se(R,I),h[0]&64&&C!==(C="flex items-center justify-between p-2 rounded-lg border "+Nt(v[43]))&&s(e,"class",C)},d(v){v&&c(e)}}}function Dr(a){let e;return{c(){e=K("Low risk. Minimal or no PII detected.")},l(t){e=H(t,"Low risk. Minimal or no PII detected.")},m(t,l){D(t,e,l)},d(t){t&&c(e)}}}function yr(a){let e;return{c(){e=K("Medium risk. Some PII detected that may require attention.")},l(t){e=H(t,"Medium risk. Some PII detected that may require attention.")},m(t,l){D(t,e,l)},d(t){t&&c(e)}}}function Rr(a){let e;return{c(){e=K("High risk! Multiple sensitive PII elements found. Consider redaction before sharing.")},l(t){e=H(t,"High risk! Multiple sensitive PII elements found. Consider redaction before sharing.")},m(t,l){D(t,e,l)},d(t){t&&c(e)}}}function Or(a){let e;return{c(){e=K("Critical risk! Highly sensitive PII (SSN, Credit Cards) detected. Immediate action required.")},l(t){e=H(t,"Critical risk! Highly sensitive PII (SSN, Credit Cards) detected. Immediate action required.")},m(t,l){D(t,e,l)},d(t){t&&c(e)}}}function wr(a){let e,t,l='<h1 class="text-2xl font-bold text-surface-800">Privacy Scanner</h1> <p class="text-surface-600 mt-1">Detect and redact personally identifiable information (PII) from text and files</p>',n,o,d,_,f="Input",m,p,b,I,R,A,C,v,h,T,k,S,O,V="PII Detection",B,N,F,G,J,W,Ne="Emails",pe,X,$,Te,ue,Oe="Phones",Q,Z,de,Pe,ve,le="SSN",we,ae,fe,Me,U,L="Credit Cards",_e,q,be,He,he,qe="IP Addresses",Je,Ie,ne,z,P,M="Dates",Ke,Ae,xe,Xe,me,rt="Addresses",Ve,Ce,ce,Qe,Ee,st="IBAN",Pt,Ge,Vt="Secrets Detection",Dt,$e,je,Ye,yt,Fe,jt="API Keys & Secrets (AWS, GitHub, Stripe, etc.)",Rt,We,Yt=`<svg class="w-3.5 h-3.5 text-green-600" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"></path></svg>
Security Mode`,Ot,et,Le,De,at,wt,ze,Gt=`Client-Side Redaction
<span class="text-surface-400 text-[10px] ml-1">(Ultra-secure: backend sees only coordinates)</span>`,Lt,nt,Ut,Ue,lt=a[4]?"Scanning...":"Scan for PII",ct,ot,Bt,Mt,Be,Ze,Ft="Scan Results",Ht,Kt,Wt;function zt(y,j){return y[0]==="text"?vr:pr}let it=zt(a),Se=it(a),oe=a[17]&&a[0]==="text"&&ar(),ie=a[0]==="file"&&nr(),ee=a[5]&&cr(a);function Zt(y,j){return y[6]?xr:br}let ut=Zt(a),ke=ut(a);return{c(){e=u("div"),t=u("div"),t.innerHTML=l,n=g(),o=u("div"),d=u("div"),_=u("h2"),_.textContent=f,m=g(),p=u("div"),b=u("button"),I=K("Text"),A=g(),C=u("button"),v=K("File"),T=g(),Se.c(),k=g(),S=u("div"),O=u("h3"),O.textContent=V,B=g(),N=u("div"),F=u("label"),G=u("input"),J=g(),W=u("span"),W.textContent=Ne,pe=g(),X=u("label"),$=u("input"),Te=g(),ue=u("span"),ue.textContent=Oe,Q=g(),Z=u("label"),de=u("input"),Pe=g(),ve=u("span"),ve.textContent=le,we=g(),ae=u("label"),fe=u("input"),Me=g(),U=u("span"),U.textContent=L,_e=g(),q=u("label"),be=u("input"),He=g(),he=u("span"),he.textContent=qe,Je=g(),Ie=u("label"),ne=u("input"),z=g(),P=u("span"),P.textContent=M,Ke=g(),Ae=u("label"),xe=u("input"),Xe=g(),me=u("span"),me.textContent=rt,Ve=g(),Ce=u("label"),ce=u("input"),Qe=g(),Ee=u("span"),Ee.textContent=st,Pt=g(),Ge=u("h3"),Ge.textContent=Vt,Dt=g(),$e=u("div"),je=u("label"),Ye=u("input"),yt=g(),Fe=u("span"),Fe.textContent=jt,Rt=g(),We=u("h3"),We.innerHTML=Yt,Ot=g(),et=u("div"),Le=u("label"),De=u("input"),wt=g(),ze=u("span"),ze.innerHTML=Gt,Lt=g(),oe&&oe.c(),nt=g(),ie&&ie.c(),Ut=g(),Ue=u("button"),ct=K(lt),Bt=g(),ee&&ee.c(),Mt=g(),Be=u("div"),Ze=u("h2"),Ze.textContent=Ft,Ht=g(),ke.c(),this.h()},l(y){e=i(y,"DIV",{class:!0});var j=x(e);t=i(j,"DIV",{class:!0,"data-svelte-h":!0}),w(t)!=="svelte-1gigmmk"&&(t.innerHTML=l),n=E(j),o=i(j,"DIV",{class:!0});var dt=x(o);d=i(dt,"DIV",{class:!0});var ge=x(d);_=i(ge,"H2",{class:!0,"data-svelte-h":!0}),w(_)!=="svelte-z2bgze"&&(_.textContent=f),m=E(ge),p=i(ge,"DIV",{class:!0});var ft=x(p);b=i(ft,"BUTTON",{class:!0});var qt=x(b);I=H(qt,"Text"),qt.forEach(c),A=E(ft),C=i(ft,"BUTTON",{class:!0});var Jt=x(C);v=H(Jt,"File"),Jt.forEach(c),ft.forEach(c),T=E(ge),Se.l(ge),k=E(ge),S=i(ge,"DIV",{class:!0});var te=x(S);O=i(te,"H3",{class:!0,"data-svelte-h":!0}),w(O)!=="svelte-2wanpq"&&(O.textContent=V),B=E(te),N=i(te,"DIV",{class:!0});var re=x(N);F=i(re,"LABEL",{class:!0});var _t=x(F);G=i(_t,"INPUT",{type:!0,class:!0}),J=E(_t),W=i(_t,"SPAN",{class:!0,"data-svelte-h":!0}),w(W)!=="svelte-uaj41h"&&(W.textContent=Ne),_t.forEach(c),pe=E(re),X=i(re,"LABEL",{class:!0});var ht=x(X);$=i(ht,"INPUT",{type:!0,class:!0}),Te=E(ht),ue=i(ht,"SPAN",{class:!0,"data-svelte-h":!0}),w(ue)!=="svelte-16ero9x"&&(ue.textContent=Oe),ht.forEach(c),Q=E(re),Z=i(re,"LABEL",{class:!0});var pt=x(Z);de=i(pt,"INPUT",{type:!0,class:!0}),Pe=E(pt),ve=i(pt,"SPAN",{class:!0,"data-svelte-h":!0}),w(ve)!=="svelte-pfcx1a"&&(ve.textContent=le),pt.forEach(c),we=E(re),ae=i(re,"LABEL",{class:!0});var vt=x(ae);fe=i(vt,"INPUT",{type:!0,class:!0}),Me=E(vt),U=i(vt,"SPAN",{class:!0,"data-svelte-h":!0}),w(U)!=="svelte-a24hdc"&&(U.textContent=L),vt.forEach(c),_e=E(re),q=i(re,"LABEL",{class:!0});var bt=x(q);be=i(bt,"INPUT",{type:!0,class:!0}),He=E(bt),he=i(bt,"SPAN",{class:!0,"data-svelte-h":!0}),w(he)!=="svelte-1b5uxh9"&&(he.textContent=qe),bt.forEach(c),Je=E(re),Ie=i(re,"LABEL",{class:!0});var xt=x(Ie);ne=i(xt,"INPUT",{type:!0,class:!0}),z=E(xt),P=i(xt,"SPAN",{class:!0,"data-svelte-h":!0}),w(P)!=="svelte-8j0e5r"&&(P.textContent=M),xt.forEach(c),Ke=E(re),Ae=i(re,"LABEL",{class:!0});var mt=x(Ae);xe=i(mt,"INPUT",{type:!0,class:!0}),Xe=E(mt),me=i(mt,"SPAN",{class:!0,"data-svelte-h":!0}),w(me)!=="svelte-13zyody"&&(me.textContent=rt),mt.forEach(c),Ve=E(re),Ce=i(re,"LABEL",{class:!0});var Et=x(Ce);ce=i(Et,"INPUT",{type:!0,class:!0}),Qe=E(Et),Ee=i(Et,"SPAN",{class:!0,"data-svelte-h":!0}),w(Ee)!=="svelte-pqx26y"&&(Ee.textContent=st),Et.forEach(c),re.forEach(c),Pt=E(te),Ge=i(te,"H3",{class:!0,"data-svelte-h":!0}),w(Ge)!=="svelte-1vawpdc"&&(Ge.textContent=Vt),Dt=E(te),$e=i(te,"DIV",{class:!0});var Xt=x($e);je=i(Xt,"LABEL",{class:!0});var gt=x(je);Ye=i(gt,"INPUT",{type:!0,class:!0}),yt=E(gt),Fe=i(gt,"SPAN",{class:!0,"data-svelte-h":!0}),w(Fe)!=="svelte-y3csm1"&&(Fe.textContent=jt),gt.forEach(c),Xt.forEach(c),Rt=E(te),We=i(te,"H3",{class:!0,"data-svelte-h":!0}),w(We)!=="svelte-ch88fc"&&(We.innerHTML=Yt),Ot=E(te),et=i(te,"DIV",{class:!0});var Qt=x(et);Le=i(Qt,"LABEL",{class:!0,title:!0});var It=x(Le);De=i(It,"INPUT",{type:!0,class:!0}),wt=E(It),ze=i(It,"SPAN",{class:!0,"data-svelte-h":!0}),w(ze)!=="svelte-1su8x1n"&&(ze.innerHTML=Gt),It.forEach(c),Qt.forEach(c),Lt=E(te),oe&&oe.l(te),nt=E(te),ie&&ie.l(te),te.forEach(c),Ut=E(ge),Ue=i(ge,"BUTTON",{class:!0});var $t=x(Ue);ct=H($t,lt),$t.forEach(c),Bt=E(ge),ee&&ee.l(ge),ge.forEach(c),Mt=E(dt),Be=i(dt,"DIV",{class:!0});var At=x(Be);Ze=i(At,"H2",{class:!0,"data-svelte-h":!0}),w(Ze)!=="svelte-1fhiuk9"&&(Ze.textContent=Ft),Ht=E(At),ke.l(At),At.forEach(c),dt.forEach(c),j.forEach(c),this.h()},h(){s(t,"class","mb-6"),s(_,"class","text-base font-bold text-surface-800 mb-3"),s(b,"class",R="flex-1 py-1.5 px-3 text-sm font-medium rounded-md transition-all "+(a[0]==="text"?"bg-white text-primary-600 shadow-sm":"text-surface-500 hover:text-surface-700")),s(C,"class",h="flex-1 py-1.5 px-3 text-sm font-medium rounded-md transition-all "+(a[0]==="file"?"bg-white text-primary-600 shadow-sm":"text-surface-500 hover:text-surface-700")),s(p,"class","flex gap-1 mb-4 p-1 bg-surface-100 rounded-lg"),s(O,"class","text-xs font-semibold text-surface-600 mb-1.5"),s(G,"type","checkbox"),s(G,"class","rounded text-primary-600"),s(W,"class","text-surface-700"),s(F,"class","flex items-center gap-2 cursor-pointer"),s($,"type","checkbox"),s($,"class","rounded text-primary-600"),s(ue,"class","text-surface-700"),s(X,"class","flex items-center gap-2 cursor-pointer"),s(de,"type","checkbox"),s(de,"class","rounded text-primary-600"),s(ve,"class","text-surface-700"),s(Z,"class","flex items-center gap-2 cursor-pointer"),s(fe,"type","checkbox"),s(fe,"class","rounded text-primary-600"),s(U,"class","text-surface-700"),s(ae,"class","flex items-center gap-2 cursor-pointer"),s(be,"type","checkbox"),s(be,"class","rounded text-primary-600"),s(he,"class","text-surface-700"),s(q,"class","flex items-center gap-2 cursor-pointer"),s(ne,"type","checkbox"),s(ne,"class","rounded text-primary-600"),s(P,"class","text-surface-700"),s(Ie,"class","flex items-center gap-2 cursor-pointer"),s(xe,"type","checkbox"),s(xe,"class","rounded text-primary-600"),s(me,"class","text-surface-700"),s(Ae,"class","flex items-center gap-2 cursor-pointer"),s(ce,"type","checkbox"),s(ce,"class","rounded text-primary-600"),s(Ee,"class","text-surface-700"),s(Ce,"class","flex items-center gap-2 cursor-pointer"),s(N,"class","grid grid-cols-2 gap-1 text-xs"),s(Ge,"class","text-xs font-semibold text-surface-600 mt-2 mb-1"),s(Ye,"type","checkbox"),s(Ye,"class","rounded text-primary-600"),s(Fe,"class","text-surface-700"),s(je,"class","flex items-center gap-2 cursor-pointer"),s($e,"class","grid grid-cols-1 gap-1 text-xs"),s(We,"class","text-xs font-semibold text-surface-600 mt-2 mb-1 flex items-center gap-1"),s(De,"type","checkbox"),s(De,"class","rounded text-green-600"),De.disabled=at=a[0]==="file",s(ze,"class","text-surface-700 group-hover:text-surface-900"),s(Le,"class","flex items-center gap-2 cursor-pointer group"),s(Le,"title","When enabled, backend only returns coordinates (start, end, type) - actual PII values never leave your browser"),s(et,"class","grid grid-cols-1 gap-1 text-xs"),s(S,"class","mt-3 pt-3 border-t border-surface-200"),Ue.disabled=ot=a[4]||(a[0]==="text"?!a[1].trim():!a[2]),s(Ue,"class","btn-primary w-full mt-3 disabled:opacity-50"),s(d,"class","card p-4"),s(Ze,"class","text-base font-bold text-surface-800 mb-3"),s(Be,"class","lg:col-span-2 card p-4"),s(o,"class","grid grid-cols-1 lg:grid-cols-3 gap-4"),s(e,"class","max-w-6xl mx-auto animate-fade-in")},m(y,j){D(y,e,j),r(e,t),r(e,n),r(e,o),r(o,d),r(d,_),r(d,m),r(d,p),r(p,b),r(b,I),r(p,A),r(p,C),r(C,v),r(d,T),Se.m(d,null),r(d,k),r(d,S),r(S,O),r(S,B),r(S,N),r(N,F),r(F,G),G.checked=a[8],r(F,J),r(F,W),r(N,pe),r(N,X),r(X,$),$.checked=a[9],r(X,Te),r(X,ue),r(N,Q),r(N,Z),r(Z,de),de.checked=a[10],r(Z,Pe),r(Z,ve),r(N,we),r(N,ae),r(ae,fe),fe.checked=a[11],r(ae,Me),r(ae,U),r(N,_e),r(N,q),r(q,be),be.checked=a[12],r(q,He),r(q,he),r(N,Je),r(N,Ie),r(Ie,ne),ne.checked=a[13],r(Ie,z),r(Ie,P),r(N,Ke),r(N,Ae),r(Ae,xe),xe.checked=a[14],r(Ae,Xe),r(Ae,me),r(N,Ve),r(N,Ce),r(Ce,ce),ce.checked=a[15],r(Ce,Qe),r(Ce,Ee),r(S,Pt),r(S,Ge),r(S,Dt),r(S,$e),r($e,je),r(je,Ye),Ye.checked=a[16],r(je,yt),r(je,Fe),r(S,Rt),r(S,We),r(S,Ot),r(S,et),r(et,Le),r(Le,De),De.checked=a[17],r(Le,wt),r(Le,ze),r(S,Lt),oe&&oe.m(S,null),r(S,nt),ie&&ie.m(S,null),r(d,Ut),r(d,Ue),r(Ue,ct),r(d,Bt),ee&&ee.m(d,null),r(o,Mt),r(o,Be),r(Be,Ze),r(Be,Ht),ke.m(Be,null),Kt||(Wt=[Y(b,"click",a[27]),Y(C,"click",a[28]),Y(G,"change",a[30]),Y($,"change",a[31]),Y(de,"change",a[32]),Y(fe,"change",a[33]),Y(be,"change",a[34]),Y(ne,"change",a[35]),Y(xe,"change",a[36]),Y(ce,"change",a[37]),Y(Ye,"change",a[38]),Y(De,"change",a[39]),Y(Ue,"click",a[22])],Kt=!0)},p(y,j){j[0]&1&&R!==(R="flex-1 py-1.5 px-3 text-sm font-medium rounded-md transition-all "+(y[0]==="text"?"bg-white text-primary-600 shadow-sm":"text-surface-500 hover:text-surface-700"))&&s(b,"class",R),j[0]&1&&h!==(h="flex-1 py-1.5 px-3 text-sm font-medium rounded-md transition-all "+(y[0]==="file"?"bg-white text-primary-600 shadow-sm":"text-surface-500 hover:text-surface-700"))&&s(C,"class",h),it===(it=zt(y))&&Se?Se.p(y,j):(Se.d(1),Se=it(y),Se&&(Se.c(),Se.m(d,k))),j[0]&256&&(G.checked=y[8]),j[0]&512&&($.checked=y[9]),j[0]&1024&&(de.checked=y[10]),j[0]&2048&&(fe.checked=y[11]),j[0]&4096&&(be.checked=y[12]),j[0]&8192&&(ne.checked=y[13]),j[0]&16384&&(xe.checked=y[14]),j[0]&32768&&(ce.checked=y[15]),j[0]&65536&&(Ye.checked=y[16]),j[0]&1&&at!==(at=y[0]==="file")&&(De.disabled=at),j[0]&131072&&(De.checked=y[17]),y[17]&&y[0]==="text"?oe||(oe=ar(),oe.c(),oe.m(S,nt)):oe&&(oe.d(1),oe=null),y[0]==="file"?ie||(ie=nr(),ie.c(),ie.m(S,null)):ie&&(ie.d(1),ie=null),j[0]&16&&lt!==(lt=y[4]?"Scanning...":"Scan for PII")&&se(ct,lt),j[0]&23&&ot!==(ot=y[4]||(y[0]==="text"?!y[1].trim():!y[2]))&&(Ue.disabled=ot),y[5]?ee?ee.p(y,j):(ee=cr(y),ee.c(),ee.m(d,null)):ee&&(ee.d(1),ee=null),ut===(ut=Zt(y))&&ke?ke.p(y,j):(ke.d(1),ke=ut(y),ke&&(ke.c(),ke.m(Be,null)))},i:tt,o:tt,d(y){y&&c(e),Se.d(),oe&&oe.d(),ie&&ie.d(),ee&&ee.d(),ke.d(),Kt=!1,Tt(Wt)}}}function Lr(a,e){if(!e||e.length===0)return a;const t=[...e].sort((n,o)=>o.start-n.start);let l=a;for(const n of t){const d="*".repeat(n.length);l=l.slice(0,n.start)+d+l.slice(n.end)}return l}function Ur(a){a.preventDefault()}function kt(a){switch(a){case"CRITICAL":return"text-red-700 bg-red-50 border-red-200";case"HIGH":return"text-orange-700 bg-orange-50 border-orange-200";case"MEDIUM":return"text-yellow-700 bg-yellow-50 border-yellow-200";default:return"text-green-700 bg-green-50 border-green-200"}}function ur(a){switch(a){case"EMAIL":return"@";case"PHONE_US":case"PHONE_INTL":return"#";case"SSN":return"SSN";case"MEDICARE_ID":return"MED";case"GERMAN_ID":return"DEU";case"CREDIT_CARD":return"$";case"IP_ADDRESS":return"IP";case"DATE_OF_BIRTH":return"DOB";case"US_ADDRESS":case"UK_ADDRESS":case"EU_ADDRESS":case"INTERNATIONAL_ADDRESS":return"ADR";case"UK_POSTCODE":return"ZIP";case"IBAN":case"BANK_ACCOUNT":case"ROUTING_NUMBER":case"SWIFT_BIC":return"BNK";case"AWS_ACCESS_KEY":case"AWS_SECRET_KEY":return"AWS";case"GITHUB_TOKEN":case"GITHUB_TOKEN_CLASSIC":return"GH";case"STRIPE_KEY":return"STR";case"GOOGLE_API_KEY":case"GCP_SERVICE_ACCOUNT":case"GCP_PRIVATE_KEY_ID":return"GCP";case"AZURE_CLIENT_SECRET":case"AZURE_CONNECTION_STRING":case"AZURE_SAS_TOKEN":return"AZR";case"PASSWORD_IN_URL":return"PWD";case"PRIVATE_KEY":return"KEY";case"JWT_TOKEN":return"JWT";case"SLACK_TOKEN":return"SLK";case"GENERIC_API_KEY":return"API";case"MEDICAL_RECORD_NUMBER":case"NPI_NUMBER":case"DEA_NUMBER":return"RX";case"POSSIBLE_CARD_PATTERN":return"?$";case"POSSIBLE_IBAN_PATTERN":return"?BNK";case"EU_VAT_NUMBER":return"VAT";case"SSN_SPELLED_OUT":return"SSN";case"BASE64_ENCODED_SECRET":return"B64";case"UK_NATIONAL_INSURANCE":return"NI";case"CANADIAN_SIN":return"SIN";case"INDIA_AADHAAR":return"AAD";case"INDIA_PAN":return"PAN";case"AUSTRALIA_TFN":return"TFN";case"BRAZIL_CPF":return"CPF";case"MEXICO_CURP":return"CRP";case"SOUTH_AFRICA_ID":return"ZAF";case"DISCORD_TOKEN":case"DISCORD_WEBHOOK":return"DIS";case"TWILIO_API_KEY":case"TWILIO_AUTH_TOKEN":return"TWL";case"SENDGRID_API_KEY":return"SG";case"OPENAI_API_KEY":return"OAI";case"ANTHROPIC_API_KEY":return"ANT";case"MAILCHIMP_API_KEY":return"MC";case"MAILGUN_API_KEY":return"MG";case"HEROKU_API_KEY":return"HRK";case"SHOPIFY_ACCESS_TOKEN":case"SHOPIFY_SHARED_SECRET":return"SHP";case"NPM_TOKEN":return"NPM";case"PYPI_TOKEN":return"PIP";case"DOCKER_AUTH":return"DKR";case"BITCOIN_ADDRESS":return"BTC";case"ETHEREUM_ADDRESS":return"ETH";case"MONERO_ADDRESS":return"XMR";case"CUSIP":return"CUS";case"ISIN":return"ISN";case"SEDOL":return"SED";default:return a.includes("_IN_JSON")?"JSON":a.includes("_BASE64")?"B64":a.includes("_TRANSLITERATED")?"TRN":a.includes("_SPELLED_OUT")?"TXT":a.includes("_NORMALIZED")?"*":"?"}}function Nt(a){switch(a){case"SSN":case"CREDIT_CARD":case"IBAN":case"BANK_ACCOUNT":case"ROUTING_NUMBER":case"MEDICARE_ID":case"GERMAN_ID":return"bg-red-100 text-red-700 border-red-200";case"AWS_ACCESS_KEY":case"AWS_SECRET_KEY":case"PRIVATE_KEY":case"PASSWORD_IN_URL":case"GITHUB_TOKEN":case"GITHUB_TOKEN_CLASSIC":case"STRIPE_KEY":case"GCP_SERVICE_ACCOUNT":case"GCP_PRIVATE_KEY_ID":case"AZURE_CLIENT_SECRET":case"AZURE_CONNECTION_STRING":case"AZURE_SAS_TOKEN":return"bg-purple-100 text-purple-700 border-purple-200";case"GOOGLE_API_KEY":case"SLACK_TOKEN":case"JWT_TOKEN":case"GENERIC_API_KEY":return"bg-orange-100 text-orange-700 border-orange-200";case"MEDICAL_RECORD_NUMBER":case"NPI_NUMBER":case"DEA_NUMBER":return"bg-pink-100 text-pink-700 border-pink-200";case"US_ADDRESS":case"UK_ADDRESS":case"EU_ADDRESS":case"INTERNATIONAL_ADDRESS":case"UK_POSTCODE":return"bg-amber-100 text-amber-700 border-amber-200";case"EMAIL":case"PHONE_US":case"PHONE_INTL":return"bg-yellow-100 text-yellow-700 border-yellow-200";case"POSSIBLE_CARD_PATTERN":case"POSSIBLE_IBAN_PATTERN":return"bg-gray-100 text-gray-600 border-gray-200";case"EU_VAT_NUMBER":return"bg-indigo-100 text-indigo-700 border-indigo-200";case"SSN_SPELLED_OUT":case"BASE64_ENCODED_SECRET":return"bg-red-200 text-red-800 border-red-300";case"UK_NATIONAL_INSURANCE":case"CANADIAN_SIN":case"INDIA_AADHAAR":case"INDIA_PAN":case"AUSTRALIA_TFN":case"BRAZIL_CPF":case"MEXICO_CURP":case"SOUTH_AFRICA_ID":return"bg-red-100 text-red-700 border-red-200";case"DISCORD_TOKEN":case"DISCORD_WEBHOOK":case"TWILIO_API_KEY":case"TWILIO_AUTH_TOKEN":case"SENDGRID_API_KEY":case"OPENAI_API_KEY":case"ANTHROPIC_API_KEY":case"MAILCHIMP_API_KEY":case"MAILGUN_API_KEY":case"HEROKU_API_KEY":case"SHOPIFY_ACCESS_TOKEN":case"SHOPIFY_SHARED_SECRET":case"NPM_TOKEN":case"PYPI_TOKEN":case"DOCKER_AUTH":return"bg-purple-100 text-purple-700 border-purple-200";case"BITCOIN_ADDRESS":case"ETHEREUM_ADDRESS":case"MONERO_ADDRESS":return"bg-orange-100 text-orange-700 border-orange-200";case"CUSIP":case"ISIN":case"SEDOL":return"bg-amber-100 text-amber-700 border-amber-200";default:return a.includes("_IN_JSON")||a.includes("_BASE64")?"bg-rose-100 text-rose-700 border-rose-200":a.includes("_TRANSLITERATED")?"bg-violet-100 text-violet-700 border-violet-200":a.includes("_SPELLED_OUT")?"bg-rose-100 text-rose-700 border-rose-200":a.includes("_NORMALIZED")?"bg-amber-100 text-amber-700 border-amber-200":"bg-blue-100 text-blue-700 border-blue-200"}}function Br(a,e,t){let l="text",n="",o=null,d="",_=!1,f="",m=null,p="overview",b=!0,I=!0,R=!0,A=!0,C=!0,v=!0,h=!0,T=!0,k=!0,S=!1;function O(U){const L=U.target;L.files&&L.files[0]&&(t(2,o=L.files[0]),t(3,d=o.name),t(6,m=null),t(5,f=""))}function V(U){var L;U.preventDefault(),(L=U.dataTransfer)!=null&&L.files&&U.dataTransfer.files[0]&&(t(2,o=U.dataTransfer.files[0]),t(3,d=o.name),t(6,m=null),t(5,f=""))}async function B(){if(l==="text"&&!n.trim()){t(5,f="Please enter some text to scan");return}if(l==="file"&&!o){t(5,f="Please select a file first");return}t(4,_=!0),t(5,f=""),t(6,m=null);try{let U;if(l==="text"){const L=new FormData;L.append("text",n),L.append("detect_emails",String(b)),L.append("detect_phones",String(I)),L.append("detect_ssn",String(R)),L.append("detect_credit_cards",String(A)),L.append("detect_ip_addresses",String(C)),L.append("detect_dates",String(v)),L.append("detect_addresses",String(h)),L.append("detect_iban",String(T)),L.append("detect_secrets",String(k)),L.append("coordinates_only",String(S)),U=await fetch("http://localhost:8000/api/v1/privacy/scan-text",{method:"POST",body:L})}else{const L=new FormData;L.append("file",o),U=await fetch("http://localhost:8000/api/v1/privacy/scan-file",{method:"POST",body:L})}if(!U.ok){const L=await U.json();throw new Error(L.detail||"Scan failed")}t(6,m=await U.json()),m.coordinates_only&&l==="text"&&t(6,m.redacted_preview=Lr(n,m.entities),m)}catch(U){t(5,f=U instanceof Error?U.message:"Failed to scan for PII")}finally{t(4,_=!1)}}let N=!1;async function F(){if(!m||!m.entities||m.entities.length===0)return;const U="Type Original Value Masked Value Confidence",L=m.entities.map(q=>`${q.type} ${q.value} ${q.masked_value} ${Math.round(q.confidence*100)}%`),_e=[U,...L].join(`
`);try{await navigator.clipboard.writeText(_e),t(18,N=!0),setTimeout(()=>t(18,N=!1),2e3)}catch(q){console.error("Failed to copy:",q)}}let G=!1;async function J(){if(!(!m||!m.redacted_preview))try{await navigator.clipboard.writeText(m.redacted_preview),t(19,G=!0),setTimeout(()=>t(19,G=!1),2e3)}catch(U){console.error("Failed to copy:",U)}}function W(){t(1,n=`Customer Record:
Name: John Smith
Email: john.smith@example.com
US Phone: (555) 123-4567
German Phone: +49 30 1234567
SSN: 123-45-6789
Date of Birth: 03/15/1985
IP Address: 192.168.1.100
Credit Card: 4532 0151 1283 0366
--- ADDRESSES ---
US Address: 123 Main Street, New York, NY 10001
UK Address: 10 Downing Street, London, SW1A 2AA
EU Address: 25 rue Victor Hugo, 75016 Paris
German Address: Hauptstrasse 42, 10115 Berlin
--- BANKING INFO ---
IBAN: DE89370400440532013000
Bank Account: Account: 12345678901234
--- MEDICAL RECORDS ---
MRN: ABC123456
NPI: 1234567890
--- CLOUD SECRETS (DO NOT SHARE) ---
AWS Key: AKIAIOSFODNN7EXAMPLE
GCP Service Account: my-service@my-project.iam.gserviceaccount.com
Azure Key: AccountKey=abcd1234efgh5678ijkl9012mnop3456
GitHub Token: ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Password: password=MySecretPass123!
Please contact support@company.org for assistance.`)}function Ne(){t(1,n=""),t(2,o=null),t(3,d=""),t(6,m=null),t(5,f="")}const pe=()=>t(0,l="text"),X=()=>t(0,l="file");function $(){n=this.value,t(1,n)}function Te(){b=this.checked,t(8,b)}function ue(){I=this.checked,t(9,I)}function Oe(){R=this.checked,t(10,R)}function Q(){A=this.checked,t(11,A)}function Z(){C=this.checked,t(12,C)}function de(){v=this.checked,t(13,v)}function Pe(){h=this.checked,t(14,h)}function ve(){T=this.checked,t(15,T)}function le(){k=this.checked,t(16,k)}function we(){S=this.checked,t(17,S)}return[l,n,o,d,_,f,m,p,b,I,R,A,C,v,h,T,k,S,N,G,O,V,B,F,J,W,Ne,pe,X,$,Te,ue,Oe,Q,Z,de,Pe,ve,le,we,()=>t(7,p="overview"),()=>t(7,p="entities"),()=>t(7,p="redacted")]}class Vr extends _r{constructor(e){super(),hr(this,e,Br,wr,fr,{},null,[-1,-1])}}export{Vr as component};