@duplicati/ngclient 0.0.12 → 0.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/chunk-2LTGXEZS.js +1 -0
  2. package/{chunk-V7LHB36E.js → chunk-3B6RZWP4.js} +1 -1
  3. package/chunk-3DBUGAIF.js +1 -0
  4. package/chunk-3SP3MQEU.js +1 -0
  5. package/chunk-4OR2MBXM.js +1 -0
  6. package/{chunk-P4AWKIXG.js → chunk-6PJU5W5X.js} +1 -1
  7. package/chunk-74EYKZJR.js +1 -0
  8. package/chunk-7CGTOI24.js +1 -0
  9. package/chunk-7ROMUYYO.js +1 -0
  10. package/chunk-7YI4IDWY.js +1 -0
  11. package/chunk-7YM6RN2G.js +1 -0
  12. package/chunk-A2PI66LB.js +1 -0
  13. package/chunk-AVWHS36O.js +1 -0
  14. package/chunk-B42N6RQ3.js +1 -0
  15. package/{chunk-K4KGTWQK.js → chunk-BDBR5EDG.js} +1 -1
  16. package/{chunk-K3HFPUKT.js → chunk-BRVLVIBB.js} +1 -1
  17. package/chunk-CWAAKGM6.js +1 -0
  18. package/chunk-ER25OIRY.js +1 -0
  19. package/chunk-HAOKXZHF.js +1 -0
  20. package/{chunk-TIGGJ4KF.js → chunk-ICCENBZO.js} +1 -1
  21. package/chunk-KLPRJO2S.js +1 -0
  22. package/chunk-MYQPVSUP.js +1 -0
  23. package/chunk-NGPWOMCW.js +8 -0
  24. package/chunk-NSHVJHI5.js +1 -0
  25. package/chunk-NVFX5EQI.js +1 -0
  26. package/{chunk-OYQELNXA.js → chunk-OI46JH74.js} +2 -2
  27. package/{chunk-5Y47Y3RB.js → chunk-Q3B3QVNE.js} +1 -1
  28. package/chunk-QROBYUJD.js +2 -0
  29. package/{chunk-JDCFQ6PF.js → chunk-QVTIOQU4.js} +1 -1
  30. package/{chunk-G3ZRG5MJ.js → chunk-RH5CENQ7.js} +1 -1
  31. package/chunk-RIVCLGIC.js +1 -0
  32. package/chunk-RK3NUMZK.js +1 -0
  33. package/chunk-RL7JYJ4S.js +1 -0
  34. package/chunk-S4UXVQU2.js +1 -0
  35. package/chunk-SS4RWMEQ.js +1 -0
  36. package/chunk-SWUZR64I.js +1 -0
  37. package/chunk-TXPM7OPP.js +1 -0
  38. package/chunk-VJK4WSMT.js +1 -0
  39. package/chunk-WH7DPJOS.js +1 -0
  40. package/chunk-WQPTWFXA.js +1 -0
  41. package/chunk-XYN4OGS4.js +1 -0
  42. package/chunk-ZBL4ZWSP.js +1 -0
  43. package/chunk-ZUISIMKR.js +1 -0
  44. package/chunk-ZUVMWAQY.js +1 -0
  45. package/index.html +1 -1
  46. package/main-RMFQXRTZ.js +1 -0
  47. package/package.json +1 -1
  48. package/chunk-2AXNYUNT.js +0 -2
  49. package/chunk-3E64B4PC.js +0 -1
  50. package/chunk-4RT7DNKB.js +0 -1
  51. package/chunk-5SGHSZAK.js +0 -1
  52. package/chunk-76OEVFIM.js +0 -1
  53. package/chunk-AFUS3PYG.js +0 -1
  54. package/chunk-C52YH32J.js +0 -1
  55. package/chunk-CQGUEKNU.js +0 -1
  56. package/chunk-DCCSCFRQ.js +0 -1
  57. package/chunk-DJSNG6NF.js +0 -1
  58. package/chunk-E66JBJTH.js +0 -1
  59. package/chunk-H2IAZHJK.js +0 -1
  60. package/chunk-IDQOMEFA.js +0 -1
  61. package/chunk-L4EVZZOM.js +0 -1
  62. package/chunk-LNCAETYE.js +0 -1
  63. package/chunk-LSGSCARA.js +0 -1
  64. package/chunk-M7I5RH5L.js +0 -1
  65. package/chunk-MFISBPKS.js +0 -1
  66. package/chunk-MWB5FR2K.js +0 -1
  67. package/chunk-OM6QOR75.js +0 -1
  68. package/chunk-RBNO3K72.js +0 -8
  69. package/chunk-SQQXOHJO.js +0 -1
  70. package/chunk-SYBUINNV.js +0 -1
  71. package/chunk-UDWDXUOB.js +0 -1
  72. package/chunk-VOMOARSI.js +0 -1
  73. package/chunk-VSPW7AWV.js +0 -1
  74. package/chunk-WGKAMO4L.js +0 -1
  75. package/chunk-WU4K3UNC.js +0 -1
  76. package/chunk-YJ2MWFHK.js +0 -1
  77. package/chunk-YQDGW52C.js +0 -1
  78. package/chunk-ZE33Q6DJ.js +0 -1
  79. package/chunk-ZXOEQDPM.js +0 -1
  80. package/chunk-ZYCMR5VM.js +0 -1
  81. package/main-XRAHISLJ.js +0 -1
package/chunk-VOMOARSI.js DELETED
@@ -1 +0,0 @@
1
- import{a as Ue,b as Ce}from"./chunk-YJ2MWFHK.js";import{a as ge}from"./chunk-TIGGJ4KF.js";import{a as Ye,b as yt}from"./chunk-DNHLTHLR.js";import{b as Se}from"./chunk-P4AWKIXG.js";import{a as we,b as H,c as he,d as Y,e as J,f as Z,g as ue,i as X,j as _e,k as Le,l as ee,m as te,n as ne,o as I,q as ie}from"./chunk-C52YH32J.js";import{a as oe,d as fe,f as ft,h as ae,j as ze,m as gt,n as re,q as De}from"./chunk-LNCAETYE.js";import{a as W,c as M}from"./chunk-AFUS3PYG.js";import{a as Ct}from"./chunk-SYBUINNV.js";import{$a as f,$b as K,Ab as j,Bb as q,Cb as xe,D as lt,Db as r,Eb as G,Fb as A,G as ye,Hb as ct,Jb as Q,L as st,Lb as Be,Nb as $e,Oa as s,R as be,Rb as dt,Ua as S,Va as U,X as h,Z as z,a as se,ab as $,b as Me,bb as c,c as rt,db as pt,fb as _,gb as w,ha as g,hb as D,ia as C,ib as T,jb as a,kb as o,lb as m,lc as ut,mb as k,nb as v,ob as Re,pb as F,qb as y,rb as p,ub as pe,uc as _t,vb as N,wb as mt}from"./chunk-RBNO3K72.js";var je=class t{fromString(i){if(!i)return null;let e=i.match(/(\d+)([smhDWMY])/);return e&&{value:parseInt(e[1]),unit:e[2]}}toString(i,e){return`${i}${e}`}static \u0275fac=function(e){return new(e||t)};static \u0275prov=be({token:t,factory:t.\u0275fac,providedIn:"root"})};var ve=new I,Ve={file:{customFields:{path:{type:"file-tree",name:"path",shortDescription:"File path",longDescription:"The path to store the backup",formElement:t=>ve.control(t??"")}}},ssh:{customFields:{server:{type:"String",name:"server",shortDescription:"Server",longDescription:"The server to connect to",formElement:t=>ve.control(t??"")},port:{type:"Integer",name:"port",shortDescription:"Port",longDescription:"The port to connect to",formElement:t=>ve.control(t??"")},path:{type:"Path",name:"path",shortDescription:"File path on the server",longDescription:"File path on the server",formElement:t=>ve.control(t??"")}},dynamicFields:["auth-username"]},s3:{customFields:{path:{type:"Path",name:"path",shortDescription:"File path on the server",longDescription:"File path on the server",formElement:t=>ve.control(t??"")},bucket:{type:"String",name:"bucket",shortDescription:"Bucket name",longDescription:"Bucket name",formElement:t=>ve.control(t??"")}},dynamicFields:["use-ssl","s3-server-name","auth-username","auth-password"]},gcs:{dynamicFields:["gcs-location","gcs-storage-class","authid"]},googledrive:{oauthField:"authid",customFields:{path:{type:"Path",name:"path",shortDescription:"File path on the server",longDescription:"File path on the server",formElement:t=>ve.control(t??"")}},dynamicFields:["authid"]}};function Te(t,i){let e={},n={};return i.searchParams.forEach((l,d)=>{Ve[t].dynamicFields?.includes(d)?n[d]=decodeURIComponent(l):e[d]=decodeURIComponent(l)}),{advanced:e,dynamic:n}}function Ie(t){let i=t.map(([e,n])=>`${e}=${n?encodeURIComponent(n.toString()):""}`).join("&");return i?"?"+i:""}var Ee={file:{to:t=>{let i=Ie([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${t.custom.path}${i}`},from:(t,i,e)=>{let n=e.indexOf("file:///")===0,l=e.split(n?"///":"//")[1].substring(0,1)+i.hostname.substring(1);return se({destinationType:t,custom:{path:`${n?"/":""}${l}${i.pathname}`}},Te(t,i))}},ssh:{to:t=>{let i=Ie([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${t.custom.server}${t.custom.port?":"+t.custom.port:""}${t.custom.path.startsWith("/")?t.custom.path:"/"+t.custom.path}${i}`},from:(t,i,e)=>se({destinationType:t,custom:{server:i.hostname,port:i.port,path:i.pathname}},Te(t,i))},s3:{to:t=>{let i=Ie([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${t.custom.bucket}${t.custom.path}${i}`},from:(t,i,e)=>se({destinationType:t,custom:{path:i.pathname,bucket:i.hostname}},Te(t,i))},gcs:{to:t=>{let i=t.dynamic["gcs-location"]??"";delete t.dynamic["gcs-location"];let e=Ie([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${i}${e}`},from:(t,i,e)=>{let{advanced:n,dynamic:l}=Te(t,i);return{destinationType:t,advanced:n,dynamic:Me(se({},l),{"gcs-location":i.hostname+i.pathname})}}},googledrive:{to:t=>{let i=t.custom.path,e=Ie([...Object.entries(t.advanced),...Object.entries(t.dynamic)]);return`${t.destinationType}://${i}${e}`},from:(t,i,e)=>{let n=e.replace("googledrive://","");return se({destinationType:t,custom:{path:n}},Te(t,i))}},fallbackMapper:{to:t=>"",from:(t,i,e)=>se({destinationType:t},Te(t,i))}};function Ne(t){let i=t.destinationType;return!i||!Ee.hasOwnProperty(i)?Ee.fallbackMapper.to(t)??"":Ee[i].to(t)??""}function xt(t){let i=URL.canParse(t),e=t.split("://")[0],n="http://"+t.split("://")[1],l=new URL(n);if(!Ee.hasOwnProperty(e))return Ee.fallbackMapper.from(e,l);if(!i)throw new Error("Invalid target path");return Ee[e].from(e,l,t)}var Dt=/[a-zA-Z0-9_\-\+\.]/,qe=class t{generate(i,e=Dt){let n=this;return Array.apply(null,{length:i}).map(()=>{let l;for(;;)if(l=String.fromCharCode(n.#e()),e.test(l))return l},this).join("")}#e(){if(window.crypto&&window.crypto.getRandomValues){let i=new Uint8Array(1);return window.crypto.getRandomValues(i),i[0]}else if(window.msCrypto&&window.msCrypto.getRandomValues){let i=new Uint8Array(1);return window.msCrypto.getRandomValues(i),i[0]}else return Math.floor(Math.random()*256)}static \u0275fac=function(e){return new(e||t)};static \u0275prov=be({token:t,factory:t.\u0275fac,providedIn:"root"})};var Tt=["formRef"];function Et(t,i){if(t&1&&(a(0,"option",14),r(1),o()),t&2){let e=i.$implicit;c("value",e.Key),s(),G(e.DisplayName)}}function Nt(t,i){t&1&&(a(0,"spk-icon"),r(1,"eye-slash"),o(),r(2," hide "))}function Ot(t,i){t&1&&(a(0,"spk-icon"),r(1,"eye"),o(),r(2," show "))}function Pt(t,i){t&1&&(a(0,"spk-icon",23),r(1,"check"),o())}function Vt(t,i){t&1&&(a(0,"spk-icon"),r(1,"copy"),o())}function It(t,i){if(t&1){let e=F();a(0,"button",22),y("click",function(){g(e);let l=p(3);return C(l.copyPassword())}),f(1,Pt,2,0,"spk-icon",23)(2,Vt,2,0,"spk-icon"),r(3),o()}if(t&2){let e=p(3);s(),_(e.copiedPassword()?1:2),s(2),A(" ",e.copiedPassword()?"Copied":"Copy"," password ")}}function Gt(t,i){if(t&1){let e=F();a(0,"div",15)(1,"spk-form-field")(2,"label",16),r(3,"Create a password"),o(),m(4,"input",17),o(),a(5,"spk-form-field"),m(6,"input",18),o(),a(7,"div",19)(8,"button",20),y("click",function(){g(e);let l=p(2);return C(l.showPassword.set(!l.showPassword()))}),f(9,Nt,3,0)(10,Ot,3,0),o(),a(11,"button",20),y("click",function(){g(e);let l=p(2);return C(l.generatePassword())}),a(12,"spk-icon"),r(13,"password"),o(),r(14," Generate password "),o(),f(15,It,4,2,"button",21),o()()}if(t&2){let e=p(2);s(4),c("type",e.showPassword()?"text":"password"),s(2),c("type",e.showPassword()?"text":"password"),s(3),_(e.showPassword()?9:10),s(6),_(e.showCopyPassword()?15:-1)}}function At(t,i){if(t&1&&(a(0,"spk-select",10)(1,"label",11),r(2,"Encryption"),o(),m(3,"input",12),k(4,13),D(5,Et,2,2,"option",14,w),v(),o(),f(7,Gt,16,4,"div",15)),t&2){let e,n=p();c("displayValue",n.displayFn((e=n.generalForm.value.encryption)!==null&&e!==void 0?e:"")),s(5),T(n.encryptionOptions()),s(2),_(n.encryptionFieldSignal()!=="none"?7:-1)}}var Oe=new I,ht=(t={name:"",description:"",encryption:"none",password:"",repeatPassword:""})=>Oe.group({name:Oe.control(t.name,[he.required]),description:Oe.control(t.description),encryption:Oe.control(t.encryption,[he.required,yt()]),password:Oe.control(t.password,[Ye(i=>i?.value.encryption!=="none",[he.required])]),repeatPassword:Oe.control(t.repeatPassword,[Ye(i=>i?.value.encryption!=="none",[he.required])])}),Ze={Key:"none",DisplayName:"None"},Je=class t{#e=h(M);#t=h(W);#n=h(qe);#i=h(R);#o=h(ge);formRef=U.required("formRef");generalForm=this.#i.generalForm;encryptionFieldSignal=this.#i.encryptionFieldSignal;encryptionOptions=this.#i.encryptionOptions;isNew=this.#i.isNew;showPassword=S(!1);copiedPassword=S(!1);showCopyPassword=S(!1);ngOnInit(){this.formRef().nativeElement.focus()}exit(){this.#i.exit()}async copyPassword(){let i=this.generalForm.controls.password.value;await this.#a(i??""),this.copiedPassword.set(!0)}async#a(i){try{await navigator.clipboard.writeText(i)}catch{try{let n=document.createElement("textarea");n.value=i,document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n)}catch(n){console.error("Failed to copy text: ",n)}}}displayFn(i){let e=this.#o.systemInfo()?.EncryptionModules??[],n=[Ze,...e].find(l=>l.Key===i);return n?`${n.DisplayName}`:""}generatePassword(){this.copiedPassword.set(!1);let i=this.#n.generate(16);this.generalForm.controls.password.setValue(i),this.generalForm.controls.repeatPassword.setValue(i),this.showCopyPassword.set(!0)}next(){this.#e.navigate(["destination"],{relativeTo:this.#t.parent})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=z({type:t,selectors:[["app-general"]],viewQuery:function(e,n){e&1&&j(n.formRef,Tt,5),e&2&&q()},standalone:!0,features:[Q],decls:23,vars:4,consts:[["formRef",""],["autocomplete","off",3,"submit","formGroup"],[1,"title-30"],["for","backupName"],["type","text","tabindex","1","placeholder","Your backup name","formControlName","name"],["for","backupDescription"],["id","backupDescription","tabindex","2","placeholder","Your backup description","formControlName","description"],[1,"form-actions"],["spk-button","",3,"click"],["spk-button","","type","submit",1,"raised","primary",3,"disabled"],[3,"displayValue"],["for","encryption"],["type","text","id","encryption","tabindex","3","placeholder","Encryption","formControlName","encryption"],["options",""],[3,"value"],[1,"passwords"],["for","password"],["id","password","tabindex","4","placeholder","Password","formControlName","password",3,"type"],["id","repeatPassword","tabindex","5","placeholder","Repeat password","formControlName","repeatPassword",3,"type"],[1,"password-actions"],["spk-button","","type","button",1,"small",3,"click"],["spk-button","","type","button",1,"small","copy"],["spk-button","","type","button",1,"small","copy",3,"click"],[1,"spk-success"]],template:function(e,n){if(e&1){let l=F();a(0,"form",1,0),y("submit",function(){return g(l),C(n.next())}),a(2,"h3",2),r(3,"General backup settings"),o(),a(4,"spk-form-field")(5,"label",3),r(6,"Backup name"),o(),m(7,"input",4),o(),a(8,"spk-form-field")(9,"label",5),r(10,"Backup description"),o(),m(11,"textarea",6),o(),f(12,At,8,2),a(13,"div",7)(14,"button",8),y("click",function(){return g(l),C(n.exit())}),a(15,"spk-icon"),r(16,"arrow-left"),o(),r(17," Exit "),o(),a(18,"div")(19,"button",9)(20,"spk-icon"),r(21,"arrow-right"),o(),r(22," Continue "),o()()()()}e&2&&(c("formGroup",n.generalForm),s(12),_(n.isNew()?12:-1),s(6),$("spk-tooltip-primary",n.generalForm.valid&&n.encryptionFieldSignal()==="none"||n.copiedPassword()?void 0:"Remember to copy the password"),s(),c("disabled",n.generalForm.invalid||n.encryptionFieldSignal()!=="none"&&n.showCopyPassword()&&!n.copiedPassword()))},dependencies:[ie,Z,te,ne,H,Y,J,X,ee,ae,re,fe,oe],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.passwords[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.password-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:center}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.copy[_ngcontent-%COMP%] spk-icon.spk-success[_ngcontent-%COMP%]{color:var(--success-500)}"],changeDetection:0})};var Mt=["formRef"];function Rt(t,i){if(t&1&&(a(0,"option",9),r(1),o()),t&2){let e=i.$implicit;c("value",e),s(),G(e)}}function Bt(t,i){if(t&1&&(a(0,"option",9),r(1),o()),t&2){let e=i.$implicit;c("value",e),s(),G(e)}}function $t(t,i){if(t&1){let e=F();a(0,"button",22),y("click",function(){let l=g(e).$implicit,d=p();return C(d.addNewOption(l))}),r(1),o()}if(t&2){let e=i.$implicit;s(),G(e.Name)}}function Lt(t,i){t&1&&(a(0,"label",23),r(1,"Name"),o())}function zt(t,i){t&1&&(a(0,"label",25),r(1,"Value"),o())}function Ut(t,i){if(t&1){let e=F();a(0,"div",18)(1,"spk-form-field"),f(2,Lt,2,0,"label",23),m(3,"input",24),o(),a(4,"spk-form-field"),f(5,zt,2,0,"label",25),m(6,"input",26),o(),a(7,"button",27),y("click",function(){let l=g(e).$index,d=p();return C(d.optionsForm.controls.advancedOptions.removeAt(l))}),a(8,"spk-icon"),r(9,"x-circle"),o()()()}if(t&2){let e=i.$implicit,n=i.$index;c("formGroup",e),s(2),_(n===0?2:-1),s(3),_(n===0?5:-1)}}var me=new I,jt=["Bytes","KB","MB","GB","TB","PB"],qt=["Local folder","Local drive","Remote drive","Cloud drive"],St=(t={remoteVolumeSize:0,size:"GB",backupRetention:"Local folder",advancedOptions:[]})=>me.group({remoteVolumeSize:me.group({size:me.control(t.remoteVolumeSize),unit:me.control(t.size)}),backupRetention:me.control(t.backupRetention),advancedOptions:me.array([])}),et=(t,i)=>me.group({name:me.control(t),value:me.control(i)}),Xe=class t{#e=h(ge);#t=h(R);#n=h(M);#i=h(W);formRef=U.required("formRef");optionsForm=this.#t.optionsForm;sizeOptions=S(jt);rentationOptions=S(qt);selectionAdvancedOptions=Se(this.optionsForm.controls.advancedOptions.valueChanges.pipe(st([])));advancedOptions=S(this.#e.systemInfo()?.Options??[]);nonSelectedAdvancedOptions=K(()=>this.advancedOptions().filter(i=>this.selectionAdvancedOptions()?.findIndex(e=>e.name===i.Name)===-1));addNewOption(i){this.optionsForm.controls.advancedOptions.push(et(i.Name,i.DefaultValue))}displayFn(){let i=this.advancedOptions();return e=>{let n=i.find(l=>l.Name===e);return n?`${n.Name}`:""}}goBack(){this.#n.navigate(["schedule"],{relativeTo:this.#i.parent})}submit(){this.#t.submit()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=z({type:t,selectors:[["app-options"]],viewQuery:function(e,n){e&1&&j(n.formRef,Mt,5),e&2&&q()},standalone:!0,features:[Q],decls:49,vars:2,consts:[["formRef",""],[3,"submit","formGroup"],[1,"title-30"],[1,"remote-volume-wrap"],["formGroupName","remoteVolumeSize",1,"row-inputs"],["for","size"],["type","number","id","size","formControlName","size"],["type","text","placeholder","Select an option...","formControlName","unit"],["options",""],[3,"value"],["href","#",1,"spk-primary"],["type","text","placeholder","Local folder or drive","formControlName","backupRetention"],[3,"disallowToggle"],["title",""],["spk-button","","type","button",1,"outlined","small"],["menu",""],["spk-menu-item","","type","button"],["formArrayName","advancedOptions"],[1,"advanced-option",3,"formGroup"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"],["spk-menu-item","","type","button",3,"click"],["for","name"],["type","text","id","name","formControlName","name"],["for","value"],["type","text","id","value","formControlName","value"],["spk-button","","type","button",1,"icon",3,"click"]],template:function(e,n){if(e&1){let l=F();a(0,"form",1,0),y("submit",function(){return g(l),C(n.submit())}),a(2,"h3",2),r(3,"Options"),o(),a(4,"div",3)(5,"div",4)(6,"spk-form-field")(7,"label",5),r(8,"Remote volume size"),o(),m(9,"input",6),o(),a(10,"spk-select"),m(11,"input",7),k(12,8),D(13,Rt,2,2,"option",9,w),v(),o()(),a(15,"p"),r(16," The backups will be split up into multiple files called volumes. Here you can set the maximum size of the individual volume files. "),a(17,"a",10),r(18,"Read more"),o()()(),a(19,"spk-select")(20,"label",5),r(21,"Backup retention"),o(),m(22,"input",11),k(23,8),D(24,Bt,2,2,"option",9,w),v(),o(),a(26,"app-toggle-card",12),k(27,13),r(28," Advanced options "),a(29,"spk-menu")(30,"button",14),r(31," Add advanced option "),a(32,"spk-icon"),r(33,"plus"),o()(),k(34,15),D(35,$t,2,1,"button",16,w),v(),o(),v(),k(37,17),D(38,Ut,10,3,"div",18,w),v(),o(),a(40,"div",19)(41,"button",20),y("click",function(){return g(l),C(n.goBack())}),a(42,"spk-icon"),r(43,"arrow-left"),o(),r(44," Go back "),o(),a(45,"button",21)(46,"spk-icon"),r(47,"arrow-right"),o(),r(48," Submit "),o()()()}e&2&&(c("formGroup",n.optionsForm),s(13),T(n.sizeOptions()),s(11),T(n.rentationOptions()),s(2),c("disallowToggle",!0),s(9),T(n.nonSelectedAdvancedOptions()),s(3),T(n.optionsForm.controls.advancedOptions.controls))},dependencies:[ie,Z,te,ne,H,ue,Y,J,X,ee,_e,Le,ze,re,fe,oe,ae,Ce],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.remote-volume-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}.advanced-option[_ngcontent-%COMP%]{display:grid;gap:.5rem;grid-template-columns:1fr 1fr 40px;align-items:flex-end}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};var Qt=["formRef"];function Kt(t,i){if(t&1&&(a(0,"option",24),r(1),o()),t&2){let e=i.$implicit;c("value",e.key),s(),G(e.label)}}function Wt(t,i){if(t&1){let e=F();a(0,"div",11)(1,"spk-form-field")(2,"label",12),r(3,"Next time"),o(),a(4,"input",13,1),y("focus",function(){g(e);let l=xe(5);return C(l.showPicker())}),o(),a(6,"spk-icon",14),r(7,"clock"),o()(),a(8,"spk-form-field"),m(9,"label",15),a(10,"input",16,2),y("focus",function(){g(e);let l=xe(11);return C(l.showPicker())}),o(),a(12,"spk-icon",14),r(13,"calendar"),o()()(),k(14,17),a(15,"div",18)(16,"spk-form-field")(17,"label",19),r(18,"Run again every"),o(),m(19,"input",20),o(),a(20,"spk-select",21),m(21,"input",22),k(22,23),D(23,Kt,2,2,"option",24,w),v(),o()(),a(25,"app-toggle-card",25),k(26,26),r(27,"Allowed days"),v(),a(28,"div",27)(29,"spk-toggle",6),r(30," Monday "),m(31,"input",28),o(),a(32,"spk-toggle",6),r(33," Tuesday "),m(34,"input",29),o(),a(35,"spk-toggle",6),r(36," Wednesday "),m(37,"input",30),o(),a(38,"spk-toggle",6),r(39," Thursday "),m(40,"input",31),o(),a(41,"spk-toggle",6),r(42," Friday "),m(43,"input",32),o(),a(44,"spk-toggle",6),r(45," Saturday "),m(46,"input",33),o(),a(47,"spk-toggle",6),r(48," Sunday "),m(49,"input",34),o()()(),v()}if(t&2){let e=p();s(20),c("displayFn",e.displayFn),s(3),T(e.unitOptions),s(2),c("disallowToggle",!0)}}var P=new I,kt=[{key:"s",label:"Seconds"},{key:"m",label:"Minutes"},{key:"h",label:"Hours"},{key:"D",label:"Days"},{key:"W",label:"Weeks"},{key:"M",label:"Months"},{key:"Y",label:"Years"}],vt=(t={autoRun:!1,nextTime:{time:"13:00",date:new Date().toISOString().split("T")[0]},runAgain:{repeatValue:1,repeatUnit:"D",allowedDays:{mon:!1,tue:!1,wed:!1,thu:!1,fri:!1,sat:!1,sun:!1}}})=>P.group({autoRun:P.control(t.autoRun),nextTime:P.group({time:P.control(t.nextTime.time),date:P.control(t.nextTime.date)}),runAgain:P.group({repeatValue:P.control(t.runAgain.repeatValue),repeatUnit:P.control(t.runAgain.repeatUnit),allowedDays:P.group({mon:P.control(t.runAgain.allowedDays.mon),tue:P.control(t.runAgain.allowedDays.tue),wed:P.control(t.runAgain.allowedDays.wed),thu:P.control(t.runAgain.allowedDays.thu),fri:P.control(t.runAgain.allowedDays.fri),sat:P.control(t.runAgain.allowedDays.sat),sun:P.control(t.runAgain.allowedDays.sun)})})}),tt=class t{#e=h(R);#t=h(M);#n=h(W);formRef=U.required("formRef");scheduleForm=this.#e.scheduleForm;scheduleFormSignal=this.#e.scheduleFormSignal;unitOptions=kt;displayFn(i){let e=kt.find(n=>n.key===i);return e?`${e.label}`:""}goBack(){this.#t.navigate(["source-data"],{relativeTo:this.#n.parent})}next(){this.#t.navigate(["options"],{relativeTo:this.#n.parent})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=z({type:t,selectors:[["app-schedule"]],viewQuery:function(e,n){e&1&&j(n.formRef,Qt,5),e&2&&q()},standalone:!0,features:[Q],decls:20,vars:2,consts:[["formRef",""],["timeRef",""],["dateRef",""],[3,"submit","formGroup"],[1,"title-30"],[1,"toggle-wrap"],[1,"raised","primary"],["type","checkbox","formControlName","autoRun"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"],["formGroupName","nextTime",1,"row-inputs"],["for","time"],["type","time","id","time","formControlName","time",3,"focus"],["spkSuffix",""],["for","date"],["type","date","id","date","formControlName","date",3,"focus"],["formGroupName","runAgain"],[1,"row-inputs"],["for","repeatValue"],["type","number","id","repeatValue","formControlName","repeatValue"],[3,"displayFn"],["type","text","id","repeatUnit","formControlName","repeatUnit"],["options",""],[3,"value"],["formGroupName","allowedDays",3,"disallowToggle"],["title",""],[1,"days-wrap"],["type","checkbox","formControlName","mon"],["type","checkbox","formControlName","tue"],["type","checkbox","formControlName","wed"],["type","checkbox","formControlName","thu"],["type","checkbox","formControlName","fri"],["type","checkbox","formControlName","sat"],["type","checkbox","formControlName","sun"]],template:function(e,n){if(e&1){let l=F();a(0,"form",3,0),y("submit",function(){return g(l),C(n.next())}),a(2,"h3",4),r(3,"Schedule"),o(),a(4,"div",5)(5,"spk-toggle",6),r(6," Automatically run backups "),m(7,"input",7),o(),a(8,"p"),r(9,"If a date was missed, the job will run as soon as possible."),o()(),f(10,Wt,50,2),a(11,"div",8)(12,"button",9),y("click",function(){return g(l),C(n.goBack())}),a(13,"spk-icon"),r(14,"arrow-left"),o(),r(15," Go back "),o(),a(16,"button",10)(17,"spk-icon"),r(18,"arrow-right"),o(),r(19," Continue "),o()()()}if(e&2){let l;c("formGroup",n.scheduleForm),s(10),_((l=n.scheduleFormSignal())!=null&&l.autoRun?-1:10)}},dependencies:[ie,Z,te,ne,H,ue,we,Y,J,X,ee,_e,ae,re,De,oe,fe,Ce],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.toggle-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}.days-wrap[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};var Ht=["formRef"];function Yt(t,i){if(t&1&&(a(0,"option",21),r(1),o()),t&2){let e=i.$implicit;c("value",e),s(),G(e)}}function Jt(t,i){if(t&1&&(a(0,"div",14)(1,"spk-form-field"),m(2,"input",18),o(),a(3,"spk-select"),m(4,"input",19),k(5,20),D(6,Yt,2,2,"option",21,w),v(),o()()),t&2){let e=p(2);s(6),T(e.sizeOptions())}}function Zt(t,i){if(t&1){let e=F();a(0,"form",2,0),y("submit",function(){g(e);let l=p();return C(l.next())}),a(2,"h3",3),r(3,"Source Data"),o(),a(4,"app-file-tree",4)(5,"label",5),r(6,"Folder path"),o(),m(7,"input",6),o(),a(8,"app-toggle-card",7),k(9,8),r(10,"Exclude"),v(),a(11,"spk-toggle",9),r(12," Hidden files "),m(13,"input",10),o(),a(14,"spk-toggle",9),r(15," System files "),m(16,"input",11),o(),a(17,"spk-toggle",9),r(18," Temporary files "),m(19,"input",12),o(),a(20,"spk-toggle",13),y("click",function(){g(e);let l=p();return C(l.toggleFilesLargerThan())}),r(21," Files larger than "),o(),f(22,Jt,8,0,"div",14),o(),a(23,"div",15)(24,"button",16),y("click",function(){g(e);let l=p();return C(l.goBack())}),a(25,"spk-icon"),r(26,"arrow-left"),o(),r(27," Go back "),o(),a(28,"button",17)(29,"spk-icon"),r(30,"arrow-right"),o(),r(31," Continue "),o()()()}if(t&2){let e=p();c("formGroup",e.sourceDataForm),s(4),c("multiSelect",!0)("startingPath",e.getPath()),s(4),c("isActive",!0),s(12),pt("active",e.filesLargerThan()),s(2),_(e.filesLargerThan()?22:-1)}}var ce=new I,Xt=["Bytes","KB","MB","GB","TB","PB"],en=["Contains","Does not contain","Is greater than","Is less than"];var Ft=(t={path:"",excludes:{hidden:!1,system:!1,temporary:!1,filesLargerThan:null}})=>ce.group({path:ce.control(t.path),excludes:ce.group({hidden:ce.control(t.excludes.hidden),system:ce.control(t.excludes.system),temporary:ce.control(t.excludes.temporary),filesLargerThan:ce.group({size:ce.control(null),unit:ce.control(null)})})}),nt=class t{#e=h(R);#t=h(M);#n=h(W);formRef=U.required("formRef");sourceDataForm=this.#e.sourceDataForm;sourceDataFormSignal=this.#e.sourceDataFormSignal;destinationIsLoaded=this.#e.destinationIsLoaded;filesLargerThan=K(()=>this.sourceDataFormSignal()?.excludes?.filesLargerThan?.size!==null);sizeOptions=S(Xt);expressionOptions=S(en);getPath(){return this.sourceDataForm.value.path??null}toggleFilesLargerThan(){this.sourceDataForm.controls.excludes.value.filesLargerThan?.size===null?this.sourceDataForm.controls.excludes.controls.filesLargerThan.setValue({size:50,unit:"MB"}):this.sourceDataForm.controls.excludes.controls.filesLargerThan.setValue({size:null,unit:null})}goBack(){this.#t.navigate(["destination"],{relativeTo:this.#n.parent})}next(){this.#t.navigate(["schedule"],{relativeTo:this.#n.parent})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=z({type:t,selectors:[["app-source-data"]],viewQuery:function(e,n){e&1&&j(n.formRef,Ht,5),e&2&&q()},standalone:!0,features:[Q],decls:1,vars:1,consts:[["formRef",""],[3,"formGroup"],[3,"submit","formGroup"],[1,"title-30"],[3,"multiSelect","startingPath"],["for","path"],["type","text","id","path","tabindex","4","placeholder","Path","formControlName","path"],["formGroupName","excludes",3,"isActive"],["title",""],[1,"raised","primary"],["type","checkbox","placeholder","Hidden files","formControlName","hidden"],["type","checkbox","placeholder","System files","formControlName","system"],["type","checkbox","placeholder","Temporary files","formControlName","temporary"],[1,"raised","primary",3,"click"],["formGroupName","filesLargerThan",1,"row-inputs"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"],["type","number","formControlName","size"],["type","text","formControlName","unit","placeholder","Select an option..."],["options",""],[3,"value"]],template:function(e,n){e&1&&f(0,Zt,32,7,"form",1),e&2&&_(n.destinationIsLoaded()?0:-1)},dependencies:[ie,Z,te,ne,H,ue,we,Y,J,X,ee,_e,ae,oe,fe,re,De,Ue,Ce],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.row-inputs[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr min-content;gap:.5rem}.filter-inputs[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:flex-end}.filter-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}.filter-inputs[_ngcontent-%COMP%] .filter-removal[_ngcontent-%COMP%]{cursor:pointer;display:flex;align-items:center;justify-content:center;height:2.5rem;flex:0 0}"],changeDetection:0})};var L=new I,R=class t{#e=h(M);#t=h(ge);#n=h(Ct);#i=h(je);destinationOptions=this.#t.backendModules;backupId=S(null);isSubmitting=S(!1);loadingBackup=S(!1);loadingDefaults=S(!0);destinationIsLoaded=S(!1);isNew=K(()=>this.backupId()==="new");backupDefaults=S(null);generalForm=ht();sourceDataForm=Ft();scheduleForm=vt();destinationForm=bt();optionsForm=St();selectedAdvancedFormPair=S([]);notSelectedAdvancedFormPair=S([]);destinationFormPair=S({oauthField:null,custom:[],dynamic:[],advanced:[]});sourceDataFormSignal=Se(this.sourceDataForm.valueChanges);destinationFormSignal=Se(this.destinationForm.valueChanges);encryptionFieldSignal=Se(this.generalForm.controls.encryption.valueChanges);scheduleFormSignal=Se(this.scheduleForm.valueChanges);encryptionOptions=K(()=>{let i=this.#t.systemInfo()?.EncryptionModules??[];return[Ze,...i]});init(i="new"){this.backupId.set(i),i!=="new"?this.getBackup(i):this.getDefaults()}submit(){this.isSubmitting.set(!0);let i=this.#p(),e=this.backupId();e==="new"||!e?this.#n.postApiV1Backups({requestBody:i}).pipe(ye(()=>this.isSubmitting.set(!1))).subscribe({next:n=>{console.log("submitted res",n),this.exit()},error:n=>{console.error("submitted error",n)}}):this.#n.putApiV1BackupById({id:e,requestBody:i}).pipe(ye(()=>this.isSubmitting.set(!1))).subscribe({next:n=>{console.log("submitted res",n),this.exit()},error:n=>{console.error("submitted error",n)}})}exit(){this.#d(),this.#e.navigate(["/"])}getDefaults(){this.loadingDefaults.set(!0),this.#n.getApiV1Backupdefaults().pipe(lt(1),ye(()=>this.loadingDefaults.set(!1))).subscribe({next:i=>{this.#r(i.Schedule),this.#s(i.Backup),this.backupDefaults.set(i),this.destinationIsLoaded.set(!0)}})}getBackup(i){this.loadingBackup.set(!0),this.#n.getApiV1BackupById({id:i}).pipe(ye(()=>this.loadingBackup.set(!1))).subscribe({next:e=>{this.#r(e.Schedule??null),e.Backup&&(this.#l(e.Backup),this.#a(e.Backup),this.#o(e.Backup),this.#s(e.Backup)),this.destinationIsLoaded.set(!0)}})}#o(i){let e=i.Sources??"",n=i.Filters?.map(O=>`${O.Include?"":"-"}${O.Expression}`)??[],l=i.Settings?.find(O=>O.Name==="--exclude-files-attributes")?.Value??"",d=i.Settings?.find(O=>O.Name==="--skip-files-larger-than")??null,b=d?.Value.replace(/[0-9]/g,"")??null,B=d?.Value.replace(/[^0-9]/g,"")??null,le={path:[...e,...n].join("\0"),excludes:{hiddenFiles:l.includes("hidden"),systemFiles:l.includes("system"),tempFiles:l.includes("temporary"),filesLargerThan:b&&B?{size:parseInt(B),unit:b.toUpperCase()}:null}};this.sourceDataForm.patchValue(le)}#a(i){let e=i.TargetURL?xt(i.TargetURL):null;e&&this.addDestinationFormGroup(e.destinationType,{custom:e.custom,dynamic:e.dynamic,advanced:e.advanced})}#l(i){let e=i.Settings?.find(l=>l.Name==="encryption-module"),n=e?.Value&&e.Value.length?e.Value:"none";this.generalForm.patchValue({name:i.Name??"",description:i.Description??"",encryption:n})}#r(i){if(!i){this.scheduleForm.patchValue({autoRun:!0});return}let e=this.#i.fromString(i.Repeat)??null,l={nextTime:this.#c(i.Time),runAgain:{repeatValue:e?.value??1,repeatUnit:e?.unit??"D",allowedDays:{mon:i.AllowedDays?.includes("mon")??!1,tue:i.AllowedDays?.includes("tue")??!1,wed:i.AllowedDays?.includes("wed")??!1,thu:i.AllowedDays?.includes("thu")??!1,fri:i.AllowedDays?.includes("fri")??!1,sat:i.AllowedDays?.includes("sat")??!1,sun:i.AllowedDays?.includes("sun")??!1}}};this.scheduleForm.patchValue(l)}#s(i){let e=["--no-encryption","--exclude-files-attributes","--skip-files-larger-than"];i.Settings?.forEach(n=>{if(n.Name==="encryption-module")return this.generalForm.controls.encryption.setValue(n.Value??"None");n.Name&&e.includes(n.Name)||n.Name&&n.Value&&this.optionsForm.controls.advancedOptions.push(et(n.Name,n.Value))})}mapPub(){this.#p()}#p(){let i=this.generalForm.value,e=this.optionsForm.value,n=this.scheduleForm.value,l=this.sourceDataForm.value,b=this.destinationForm.value.destinations?.length?this.#m(this.destinationForm.controls.destinations):[],B=null;n.runAgain?.repeatUnit&&n.runAgain?.repeatValue&&(B=this.#i.toString(n.runAgain.repeatValue,n.runAgain.repeatUnit));let le=n.runAgain?.allowedDays?Object.entries(n.runAgain?.allowedDays).filter(([x,E])=>E).map(([x,E])=>x):[],O=l.path?.split("\0")??[],Ge=e.advancedOptions?.map(x=>({Name:x.name??null,Value:x.value&&x.value.length?x.value.toString():null}))??[],Fe=[i.encryption==="none"?{Name:"--no-encryption",Value:"True"}:{Name:"encryption-module",Value:i.encryption??null},...Ge.filter(x=>x.Name&&x.Value)],V=Object.entries(l.excludes??{}).filter(([x,E])=>E&&x!=="filesLargerThan").map(([x])=>x),u=l.excludes?.filesLargerThan;return V.length&&Fe.push({Name:"--exclude-files-attributes",Value:V.join(",")}),u&&u.size!==null&&u.unit!==null&&Fe.push({Name:"--skip-files-larger-than",Value:`${u.size}${u.unit}`}),{Backup:{Name:i.name,Description:i.description,TargetURL:b[0]??null,Sources:O.filter(x=>!x.startsWith("-")),Settings:Fe,Filters:O.filter(x=>x.startsWith("-")).map((x,E)=>({Order:E,Include:!1,Expression:x.slice(1)}))},Schedule:n.autoRun?null:{Repeat:B,Time:n.nextTime?.date?new Date(`${n.nextTime.date}T${n.nextTime?.time||"00:00:00"}`).toISOString():null,AllowedDays:le}}}#m(i){return i.controls.map(e=>{if(!e.controls.advanced)return Ne(e.value);let n=Object.keys(e.controls.advanced.controls).filter(l=>e.controls.advanced.controls[l].dirty);return Ne(Me(se({},e.value),{advanced:n.reduce((l,d)=>(l[d]=e.controls.advanced.controls[d].value,l),{})}))})}#c(i){if(!i||i?.indexOf("T")===-1)return{time:i??"13:00"};let e=new Date(i),n={time:`${(""+e.getHours()).padStart(2,"0")}:${(""+e.getMinutes()).padStart(2,"0")}`};return i.indexOf("T")!==-1&&(n.date=e.toISOString().split("T")[0]),n}addDestinationFormGroup(i,e){let n=this.destinationOptions().find(V=>V.Key===i);if(!n||!n.Options)return;let l=Ve.hasOwnProperty(i)&&Ve[i],d=l&&l.customFields?l.customFields:{},b=l&&l.dynamicFields?l.dynamicFields:[],B=l&&l.advancedFields?l.advancedFields:[],le=l&&l.oauthField?l.oauthField:null;this.destinationFormPair.set({oauthField:le,custom:[],dynamic:[],advanced:[]}),this.selectedAdvancedFormPair.set([]);let O=L.group({}),Ge=L.group({}),He=L.group({});if(d)for(i in d){let Fe=d[i],{formElement:V}=Fe,u=rt(Fe,["formElement"]);O.addControl(i,V(e?.custom[i])),this.destinationFormPair.update(x=>(x.custom.push(u),x))}for(let V=0;V<n.Options.length;V++){let u=n.Options[V];if(u.Deprecated)continue;let x=b.includes(u.Name),E=x?Ge:He;this.destinationFormPair.update(Pe=>(Pe[x?"dynamic":"advanced"].push({name:u.Name,type:u.Type,shortDescription:u.ShortDescription??void 0,longDescription:u.LongDescription??void 0,options:u.ValidValues}),Pe));let de=(x?e?.dynamic[u.Name]:e?.advanced[u.Name])??u.DefaultValue;if(u.Type==="String"||u.Type==="Password"||u.Type==="Enumeration"||u.Type==="Path"){E.addControl(u.Name,L.control(de));continue}if(u.Type==="Size"){let Pe=de.replace(/[0-9]/g,""),at=de.replace(/[^0-9]/g,"");E.addControl(u.Name,L.group({size:L.control(at?parseInt(at):50),unit:L.control(Pe?Pe.toUpperCase():"MB")}))}if(u.Type==="Integer"){E.addControl(u.Name,L.control(de?parseInt(de):0));continue}if(u.Type==="Boolean"){E.addControl(u.Name,L.control(de==="true"));continue}if(u.Type==="Flags"){E.addControl(u.Name,L.control(de??""));continue}u.Type==="Timespan"&&E.addControl(u.Name,L.control(de,[he.pattern(/([-+]?\d{1,3}[smhDWMY])+/)]))}this.destinationForm.controls.destinations.length!==0&&this.destinationForm.controls.destinations.removeAt(0),this.destinationFormPair.update(V=>({oauthField:V.oauthField,custom:V.custom,dynamic:V.dynamic.sort((u,x)=>b.indexOf(u.name)-b.indexOf(x.name)),advanced:V.advanced.sort((u,x)=>{let E=B.indexOf(u.name),Ae=B.indexOf(x.name);return E===-1&&Ae!==-1?1:E!==-1&&Ae===-1?-1:E-Ae})})),this.notSelectedAdvancedFormPair.set(this.destinationFormPair().advanced),this.destinationForm.controls.destinations.push(wt({key:n.Key,customGroup:O,dynamicGroup:Ge,advancedGroup:He}))}#d(){this.generalForm.reset(),this.sourceDataForm.reset(),this.scheduleForm.reset(),this.destinationForm.reset(),this.optionsForm.reset()}static \u0275fac=function(e){return new(e||t)};static \u0275prov=be({token:t,factory:t.\u0275fac,providedIn:"root"})};var tn=["formRef"],nn=(t,i,e,n)=>({destination:t,destinationType:i,index:e,formGroupName:"custom",oauthField:n}),ot=t=>({$implicit:t}),on=(t,i,e,n)=>({destination:t,destinationType:i,index:e,formGroupName:"dynamic",oauthField:n}),an=(t,i,e,n)=>({destination:t,destinationType:i,index:e,formGroupName:"advanced",oauthField:n});function rn(t,i){if(t&1){let e=F();a(0,"p",9),y("click",function(){g(e);let l=p(2);return C(l.removeDestinationFormGroup(l.destinationCount()-1))}),r(1," Wanna select another destination? "),a(2,"span",10),r(3,"Click here"),o()()}}function ln(t,i){if(t&1){let e=F();a(0,"div",11)(1,"div",12),y("click",function(){g(e);let l=p(2);return C(l.addDestinationFormGroup("file"))}),a(2,"h3"),r(3,"File system"),o(),a(4,"p"),r(5,"Store backups on your local file system."),o()(),a(6,"div",12),y("click",function(){g(e);let l=p(2);return C(l.addDestinationFormGroup("gcs"))}),a(7,"h3"),r(8,"Google Cloud Storage"),o(),a(9,"p"),r(10,"Store backups in Google Cloud Storage."),o()(),a(11,"div",12),y("click",function(){g(e);let l=p(2);return C(l.addDestinationFormGroup("s3"))}),a(12,"h3"),r(13,"S3 compatible bucket"),o(),a(14,"p"),r(15,"Store backups in any S3 compatible bucket."),o()(),a(16,"div",12),y("click",function(){g(e);let l=p(2);return C(l.addDestinationFormGroup("ssh"))}),a(17,"h3"),r(18,"SSH"),o(),a(19,"p"),r(20,"Store backups in SSH."),o()(),a(21,"div",12),y("click",function(){g(e);let l=p(2);return C(l.addDestinationFormGroup("googledrive"))}),a(22,"h3"),r(23,"Google Drive"),o(),a(24,"p"),r(25,"Store backups in Google Drive."),o()()(),a(26,"p"),r(27,"More destinations are coming soon."),o()}}function sn(t,i){t&1&&Re(0)}function pn(t,i){if(t&1&&f(0,sn,1,0,"ng-container",15),t&2){let e,n=i.$implicit,l=i.$index;p(2);let d=xe(6),b=p(2);c("ngTemplateOutlet",d)("ngTemplateOutletContext",Be(7,ot,$e(2,nn,n,(e=b.destinationFormSignal())==null||e.destinations==null||e.destinations[0]==null?null:e.destinations[0].destinationType,l,b.destinationFormPair().oauthField)))}}function mn(t,i){if(t&1&&(k(0),D(1,pn,1,9,"ng-container",null,w),v()),t&2){let e=p(3);s(),T(e.destinationFormPair().custom)}}function cn(t,i){t&1&&Re(0)}function dn(t,i){if(t&1&&f(0,cn,1,0,"ng-container",15),t&2){let e,n=i.$implicit,l=i.$index;p(2);let d=xe(6),b=p(2);c("ngTemplateOutlet",d)("ngTemplateOutletContext",Be(7,ot,$e(2,on,n,(e=b.destinationFormSignal())==null||e.destinations==null||e.destinations[0]==null?null:e.destinations[0].destinationType,l,b.destinationFormPair().oauthField)))}}function un(t,i){if(t&1&&(k(0),D(1,dn,1,9,"ng-container",null,w),v()),t&2){let e=p(3);s(),T(e.destinationFormPair().dynamic)}}function _n(t,i){if(t&1){let e=F();a(0,"button",20),y("click",function(){let l=g(e).$implicit,d=p(4);return C(d.addAdvancedFormPair(l))}),r(1),o()}if(t&2){let e=i.$implicit;s(),A(" ",e.name," ")}}function fn(t,i){t&1&&Re(0)}function gn(t,i){if(t&1&&f(0,fn,1,0,"ng-container",15),t&2){let e,n=i.$implicit,l=i.$index;p(2);let d=xe(6),b=p(2);c("ngTemplateOutlet",d)("ngTemplateOutletContext",Be(7,ot,$e(2,an,n,(e=b.destinationFormSignal())==null||e.destinations==null||e.destinations[0]==null?null:e.destinations[0].destinationType,l,b.destinationFormPair().oauthField)))}}function Cn(t,i){if(t&1&&(a(0,"app-toggle-card",14),k(1,16),r(2," Advanced options "),a(3,"spk-menu")(4,"button",17),r(5," Add advanced option "),a(6,"spk-icon"),r(7,"plus"),o()(),k(8,18),D(9,_n,2,1,"button",19,w),v(),o(),v(),k(11),D(12,gn,1,9,"ng-container",null,w),v(),o()),t&2){let e=p(3);c("disallowToggle",!0),s(9),T(e.notSelectedAdvancedFormPair()),s(3),T(e.selectedAdvancedFormPair())}}function yn(t,i){if(t&1&&(a(0,"spk-icon",27),r(1," question "),o()),t&2){let e=p(2).$implicit;$("spk-tooltip-primary",e.destination.longDescription)}}function xn(t,i){if(t&1&&(a(0,"app-file-tree",22)(1,"label",26),r(2),f(3,yn,2,1,"spk-icon",27),o(),m(4,"input",28),o()),t&2){let e,n=p().$implicit,l=p(3);c("startingPath",l.getFormFieldValue(n.index,n.formGroupName,n.destination.name)),s(),mt("for","destination-",n.formGroupName,"-",n.formGroupName,"-",n.index,""),s(),A(" ",(e=n.destination.shortDescription)!==null&&e!==void 0?e:n.destination.name," "),s(),_(n.destination.longDescription?3:-1),s(),N("id","destination-",n.formGroupName,"-",n.index,""),pe("formControlName",n.destination.name)}}function hn(t,i){if(t&1&&(a(0,"spk-icon",27),r(1," question "),o()),t&2){let e=p(2).$implicit;$("spk-tooltip-primary",e.destination.longDescription)}}function Sn(t,i){t&1&&(a(0,"spk-icon",29),r(1,"link"),o())}function kn(t,i){t&1&&(a(0,"spk-icon",29),r(1,"textbox"),o())}function vn(t,i){if(t&1&&(a(0,"spk-form-field")(1,"label",26),r(2),f(3,hn,2,1,"spk-icon",27),o(),m(4,"input",28),f(5,Sn,2,0,"spk-icon",29)(6,kn,2,0,"spk-icon",29),o()),t&2){let e,n=p().$implicit;s(),N("for","destination-",n.formGroupName,"-",n.index,""),s(),A(" ",(e=n.destination.shortDescription)!==null&&e!==void 0?e:n.destination.name," "),s(),_(n.destination.longDescription?3:-1),s(),N("id","destination-",n.formGroupName,"-",n.index,""),pe("formControlName",n.destination.name),s(),_(n.destination.type==="Path"?5:6)}}function Fn(t,i){if(t&1){let e=F();a(0,"span",33),y("click",function(){g(e);let l=p(2).$implicit,d=p(3);return C(d.oauthStartTokenCreation(l.destinationType))}),r(1,"AuthID"),o()}}function bn(t,i){t&1&&(a(0,"spk-icon",29),r(1,"password"),o())}function wn(t,i){if(t&1){let e=F();a(0,"spk-icon",34),y("click",function(){g(e);let l=p(2).$implicit;return C(l.destination.showPassword=!l.destination.showPassword)}),r(1," eye "),o()}}function Dn(t,i){if(t&1){let e=F();a(0,"spk-icon",34),y("click",function(){g(e);let l=p(2).$implicit;return C(l.destination.showPassword=!l.destination.showPassword)}),r(1," eye-slash "),o()}}function Tn(t,i){if(t&1&&(a(0,"spk-form-field")(1,"label",26),r(2),o(),m(3,"input",30),f(4,Fn,2,0,"span",31)(5,bn,2,0,"spk-icon",29)(6,wn,2,0,"spk-icon",32)(7,Dn,2,0,"spk-icon",32),o()),t&2){let e,n=p().$implicit;s(),N("for","destination-",n.formGroupName,"-",n.index,""),s(),ct(" ",(e=n.destination.shortDescription)!==null&&e!==void 0?e:n.destination.name," -- ",n.oauthField," ",n.destinationType," ",n.destination.name," "),s(),N("id","destination-",n.formGroupName,"-",n.index,""),pe("formControlName",n.destination.name),c("type",n.destination.showPassword?"text":"password"),s(),_(n.oauthField===n.destination.name?4:5),s(2),_(n.destination.showPassword?6:7)}}function En(t,i){if(t&1&&(a(0,"spk-icon",27),r(1," question "),o()),t&2){let e=p(2).$implicit;$("spk-tooltip-primary",e.destination.longDescription)}}function Nn(t,i){if(t&1&&(a(0,"option",37),r(1),o()),t&2){let e=i.$implicit;c("value",e),s(),G(e)}}function On(t,i){if(t&1&&(a(0,"spk-select")(1,"label",26),r(2),f(3,En,2,1,"spk-icon",27),o(),m(4,"input",35),k(5,36),D(6,Nn,2,2,"option",37,w),v(),o()),t&2){let e,n=p().$implicit;s(),N("for","destination-",n.formGroupName,"-",n.index,""),s(),A(" ",(e=n.destination.shortDescription)!==null&&e!==void 0?e:n.destination.name," "),s(),_(n.destination.longDescription?3:-1),s(),N("id","destination-",n.formGroupName,"-",n.index,""),pe("formControlName",n.destination.name),s(2),T(n.destination.options)}}function Pn(t,i){if(t&1&&(a(0,"spk-icon",27),r(1," question "),o()),t&2){let e=p(2).$implicit;$("spk-tooltip-primary",e.destination.longDescription)}}function Vn(t,i){if(t&1&&(a(0,"option",37),r(1),o()),t&2){let e=i.$implicit;c("value",e),s(),G(e)}}function In(t,i){if(t&1&&(a(0,"div",23)(1,"label",26),r(2),f(3,Pn,2,1,"spk-icon",27),o(),a(4,"div",38)(5,"spk-form-field"),m(6,"input",39),a(7,"spk-icon",29),r(8,"resize"),o()(),a(9,"spk-select"),m(10,"label")(11,"input",40),k(12,36),D(13,Vn,2,2,"option",37,w),v(),o()()()),t&2){let e,n=p().$implicit,l=p(3);c("formGroupName",n.destination.name),s(),N("for","destination-",n.formGroupName,"-",n.index,""),s(),A(" ",(e=n.destination.shortDescription)!==null&&e!==void 0?e:n.destination.name," "),s(),_(n.destination.longDescription?3:-1),s(3),N("id","destination-",n.formGroupName,"-",n.index,""),s(7),T(l.sizeOptions())}}function Gn(t,i){if(t&1&&(a(0,"spk-icon",27),r(1," question "),o()),t&2){let e=p(2).$implicit;$("spk-tooltip-primary",e.destination.longDescription)}}function An(t,i){if(t&1&&(a(0,"spk-form-field")(1,"label",26),r(2),f(3,Gn,2,1,"spk-icon",27),o(),m(4,"input",41),a(5,"spk-icon",29),r(6,"numpad"),o()()),t&2){let e,n=p().$implicit;s(),N("for","destination-",n.formGroupName,"-",n.index,""),s(),A(" ",(e=n.destination.shortDescription)!==null&&e!==void 0?e:n.destination.name," "),s(),_(n.destination.longDescription?3:-1),s(),N("id","destination-",n.formGroupName,"-",n.index,""),pe("formControlName",n.destination.name)}}function Mn(t,i){if(t&1&&(a(0,"spk-icon",27),r(1," question "),o()),t&2){let e=p(2).$implicit;$("spk-tooltip-primary",e.destination.longDescription)}}function Rn(t,i){if(t&1&&(a(0,"spk-toggle",24)(1,"label",26),r(2),f(3,Mn,2,1,"spk-icon",27),o(),m(4,"input",42),o()),t&2){let e,n=p().$implicit;s(),N("for","destination-",n.formGroupName,"-",n.index,""),s(),A(" ",(e=n.destination.shortDescription)!==null&&e!==void 0?e:n.destination.name," "),s(),_(n.destination.longDescription?3:-1),s(),N("id","destination-",n.formGroupName,"-",n.index,""),pe("formControlName",n.destination.name)}}function Bn(t,i){if(t&1&&(a(0,"spk-icon",27),r(1," question "),o()),t&2){let e=p(2).$implicit;$("spk-tooltip-primary",e.destination.longDescription)}}function $n(t,i){t&1&&(a(0,"spk-option",44),r(1,"None"),o()),t&2&&c("value","None")}function Ln(t,i){if(t&1&&(a(0,"spk-option",37),r(1),m(2,"spk-checkbox",45),o()),t&2){let e=p().$implicit;c("value",e),s(),A(" ",e," ")}}function zn(t,i){if(t&1&&f(0,$n,2,1,"spk-option",44)(1,Ln,3,2,"spk-option",37),t&2){let e=i.$implicit;_(e==="None"?0:1)}}function Un(t,i){if(t&1&&(a(0,"spk-select",25)(1,"label",26),r(2),f(3,Bn,2,1,"spk-icon",27),o(),m(4,"input",43),k(5,36),D(6,zn,2,1,null,null,w),v(),o()),t&2){let e,n=p().$implicit;c("selectMultiple",!0),s(),N("for","destination-",n.formGroupName,"-",n.index,""),s(),A(" ",(e=n.destination.shortDescription)!==null&&e!==void 0?e:n.destination.name," "),s(),_(n.destination.longDescription?3:-1),s(),pe("formControlName",n.destination.name),s(2),T(n.destination.options)}}function jn(t,i){if(t&1&&(a(0,"spk-icon",27),r(1," question "),o()),t&2){let e=p(2).$implicit;$("spk-tooltip-primary",e.destination.longDescription)}}function qn(t,i){if(t&1&&(a(0,"spk-form-field")(1,"label",26),r(2),f(3,jn,2,1,"spk-icon",27),o(),m(4,"input",28)(5,"span",46),o()),t&2){let e,n=p().$implicit;s(),N("for","destination-",n.formGroupName,"-",n.index,""),s(),A(" ",(e=n.destination.shortDescription)!==null&&e!==void 0?e:n.destination.name," "),s(),_(n.destination.longDescription?3:-1),s(),N("id","destination-",n.formGroupName,"-",n.index,""),pe("formControlName",n.destination.name)}}function Qn(t,i){if(t&1&&(k(0,21),f(1,xn,5,11,"app-file-tree",22)(2,vn,7,10,"spk-form-field")(3,Tn,8,14,"spk-form-field")(4,On,8,9,"spk-select")(5,In,15,9,"div",23)(6,An,7,9,"spk-form-field")(7,Rn,5,9,"spk-toggle",24)(8,Un,8,7,"spk-select",25)(9,qn,6,9,"spk-form-field"),v()),t&2){let e=i.$implicit;c("formGroupName",e.formGroupName),s(),_(e.destination.type==="file-tree"?1:e.destination.type==="String"||e.destination.type==="Path"?2:e.destination.type==="Password"?3:e.destination.type==="Enumeration"?4:e.destination.type==="Size"?5:e.destination.type==="Integer"?6:e.destination.type==="Boolean"?7:e.destination.type==="Flags"?8:e.destination.type==="Timespan"?9:-1)}}function Kn(t,i){if(t&1&&(k(0,5)(1,13),f(2,mn,3,0,"ng-container")(3,un,3,0,"ng-container")(4,Cn,14,1,"app-toggle-card",14)(5,Qn,10,2,"ng-template",null,1,dt),v()()),t&2){let e=p(2);s(2),_(e.destinationFormPair().custom.length?2:-1),s(),_(e.destinationFormPair().dynamic.length?3:-1),s(),_(e.destinationFormPair().advanced.length?4:-1)}}function Wn(t,i){if(t&1){let e=F();a(0,"form",3,0),y("submit",function(){g(e);let l=p();return C(l.next())}),a(2,"header")(3,"h3",4),r(4,"Backup destination"),o(),f(5,rn,4,0,"p"),o(),f(6,ln,28,0)(7,Kn,7,3,"ng-container",5),a(8,"div",6)(9,"button",7),y("click",function(){g(e);let l=p();return C(l.goBack())}),a(10,"spk-icon"),r(11,"arrow-left"),o(),r(12," Go back "),o(),a(13,"button",8)(14,"spk-icon"),r(15,"arrow-right"),o(),r(16," Continue "),o()()()}if(t&2){let e,n=p();c("formGroup",n.destinationForm),s(5),_(n.destinationCount()>0?5:-1),s(),_(n.destinationCount()===0?6:-1),s(),_(!((e=n.destinationFormSignal())==null||e.destinations==null)&&e.destinations.length?7:-1)}}var Hn=["Bytes","KB","MB","GB","TB","PB"],We=new I,bt=(t={destinations:[]})=>We.group({destinations:We.array(t.destinations)}),wt=({key:t,customGroup:i,dynamicGroup:e,advancedGroup:n})=>We.group({destinationType:We.control(t),custom:i,dynamic:e,advanced:n}),it=class t{#e=h(M);#t=h(W);#n=h(ge);#i=h(_t);#o=h(R);formRef=U.required("formRef");sysIsLoaded=this.#n.isLoaded;destinationIsLoaded=this.#o.destinationIsLoaded;destinationForm=this.#o.destinationForm;destinationFormPair=this.#o.destinationFormPair;selectedAdvancedFormPair=this.#o.selectedAdvancedFormPair;notSelectedAdvancedFormPair=this.#o.notSelectedAdvancedFormPair;destinationOptions=this.#o.destinationOptions;destinationFormSignal=this.#o.destinationFormSignal;destinationCount=K(()=>this.destinationFormSignal()?.destinations?.length??0);sizeOptions=S(Hn);getFormFieldValue(i,e,n){return((this.destinationForm.controls.destinations.controls?.[i]).controls?.[e]).controls[n].value}addDestinationFormGroup(i){this.#o.addDestinationFormGroup(i)}addAdvancedFormPair(i){this.selectedAdvancedFormPair.update(e=>(e.push(i),e)),this.notSelectedAdvancedFormPair.update(e=>(e=e.filter(n=>n.name!==i.name),e))}targetUrl=K(()=>{let i=this.destinationFormSignal()?.destinations?.[0];return i?Ne(i):""});mapToTargetUrl(i){return Ne(i.value)}removeDestinationFormGroup(i){this.destinationForm.controls.destinations.removeAt(i)}displayFn(i){let e=this.destinationOptions().find(n=>n.Key===i);return e?`${e.DisplayName}`:""}goBack(){this.#e.navigate(["general"],{relativeTo:this.#t.parent})}next(){this.#e.navigate(["source-data"],{relativeTo:this.#t.parent})}#a=S("https://duplicati-oauth-handler.appspot.com/").asReadonly();#l=S(Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2)).asReadonly();#r=S(!1);#s=S(null);keyCreation(){}oauthStartTokenCreation(i){this.#r.set(!0);let e=450,n=600,l=this.#a()+"?type="+i+"&token="+this.#l(),d=screen.width/2-e/2,b=screen.height/2-n/2,B=window.open(l,"_blank","height="+n+",width="+e+",menubar=0,status=0,titlebar=0,toolbar=0,left="+d+",top="+b);B?.addEventListener("blur",le=>{console.log("event blur",le)}),B?.addEventListener("beforeunload",le=>{console.log("event beforeunload",le),this.#i.get(this.#a()+"fetch?callback=JSON_CALLBACK",{params:{token:this.#l()}}).pipe(ye(()=>this.#r.set(!1))).subscribe({next:O=>{console.log("res",O),O?.authid&&this.#s.set(O.authid)}})})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=z({type:t,selectors:[["app-destination"]],viewQuery:function(e,n){e&1&&j(n.formRef,tn,5),e&2&&q()},standalone:!0,features:[Q],decls:1,vars:1,consts:[["formRef",""],["fieldTemplate",""],[3,"formGroup"],[3,"submit","formGroup"],[1,"title-30"],["formArrayName","destinations"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"],[3,"click"],[1,"spk-primary"],[1,"most-common-destinations"],[1,"tile",3,"click"],["formGroupName","0"],[3,"disallowToggle"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["title",""],["spk-button","","type","button",1,"outlined","small"],["menu",""],["spk-menu-item","","type","button"],["spk-menu-item","","type","button",3,"click"],[3,"formGroupName"],[3,"startingPath"],[1,"form-column",3,"formGroupName"],[1,"primary","raised"],[1,"primary",3,"selectMultiple"],[3,"for"],["spk-tooltip-right",""],["type","text",3,"id","formControlName"],["spkPrefix",""],[3,"type","id","formControlName"],["spkPrefix","",1,"link"],["spkSuffix","",1,"clickable"],["spkPrefix","",1,"link",3,"click"],["spkSuffix","",1,"clickable",3,"click"],["type","search",3,"id","formControlName"],["options",""],[3,"value"],[1,"form-row"],["type","number","formControlName","size",3,"id"],["type","search","formControlName","unit"],["type","number",3,"id","formControlName"],["type","checkbox",3,"id","formControlName"],["type","text","id","text",3,"formControlName"],["deselect","",3,"value"],[1,"raised","primary"],["spkError",""]],template:function(e,n){e&1&&f(0,Wn,17,4,"form",2),e&2&&_(n.destinationOptions().length&&n.sysIsLoaded()&&n.destinationIsLoaded()?0:-1)},dependencies:[ie,Z,te,ne,H,ue,we,Y,J,X,ee,_e,Le,ut,ae,re,ze,ft,gt,oe,De,Ce,Ue],styles:["[_nghost-%COMP%]{display:block}header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}header[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{cursor:pointer;text-decoration:underline}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.form-column[_ngcontent-%COMP%]{display:flex;flex-direction:column}.form-column[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.form-column[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{font-size:1rem}.form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:2fr 1fr;gap:.5rem;align-items:flex-end}.clickable[_ngcontent-%COMP%]{cursor:pointer;color:var(--primary-500)}.most-common-destinations[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.most-common-destinations[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border:1px solid var(--base-level-40);border-radius:var(--shape-3);box-shadow:var(--shadow-1);background-color:var(--base-level-20);cursor:pointer}.most-common-destinations[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--paragraph-10);margin:0}[spkprefix].link[_ngcontent-%COMP%]{cursor:pointer;text-decoration:underline;color:var(--primary-500)}"],changeDetection:0})};export{bt as a,wt as b,it as c,ht as d,Ze as e,Je as f,St as g,et as h,Xe as i,vt as j,tt as k,Ft as l,nt as m,R as n};
package/chunk-VSPW7AWV.js DELETED
@@ -1 +0,0 @@
1
- import{b}from"./chunk-P4AWKIXG.js";import{a as u}from"./chunk-SYBUINNV.js";import{Db as n,Eb as l,Jb as c,Oa as p,Ob as m,Pb as d,X as a,Z as s,jb as t,kb as i,nc as f}from"./chunk-RBNO3K72.js";var r=class o{#e=a(u);licenses=b(this.#e.getApiV1Licenses());static \u0275fac=function(e){return new(e||o)};static \u0275cmp=s({type:o,selectors:[["app-libraries"]],standalone:!0,features:[c],decls:5,vars:3,template:function(e,C){e&1&&(t(0,"h3"),n(1,"Libraries"),i(),t(2,"pre"),n(3),m(4,"json"),i()),e&2&&(p(3),l(d(4,1,C.licenses())))},dependencies:[f],styles:["[_nghost-%COMP%]{display:block}h3[_ngcontent-%COMP%]{font:var(--title-30)}"],changeDetection:0})};export{r as default};
package/chunk-WGKAMO4L.js DELETED
@@ -1 +0,0 @@
1
- import{a as Y}from"./chunk-CQGUEKNU.js";import{a as J}from"./chunk-V7LHB36E.js";import{a as R}from"./chunk-WU4K3UNC.js";import{a as $,d as A,e as V,g as z,j}from"./chunk-LNCAETYE.js";import{d as N}from"./chunk-AFUS3PYG.js";import"./chunk-L4EVZZOM.js";import"./chunk-SYBUINNV.js";import{$a as s,Db as e,Fb as u,Jb as D,Kb as B,Lb as S,Oa as p,Ob as M,Pb as I,Qb as H,X as _,Z as v,aa as y,bb as m,fb as d,gb as P,ha as f,hb as O,ia as g,ib as E,jb as a,kb as o,lb as x,mb as F,mc as L,nb as w,pb as T,qb as b,rb as c}from"./chunk-RBNO3K72.js";var C=class t{#t=_(J);transform(l,...n){if(!l)return"";let i=l.split(".")[0],r=parseInt(i.split(":")[0])??0,k=parseInt(i.split(":")[1])??0,q=parseInt(i.split(":")[2])??0;return this.#t.duration({hours:r,minutes:k,seconds:q}).humanize()}static \u0275fac=function(n){return new(n||t)};static \u0275pipe=y({name:"durationFormat",type:t,pure:!0,standalone:!0})};var K=()=>["/add-backup"],Q=()=>["/restore"],U=t=>["/backup",t],W=t=>["/backup",t,"export"];function X(t,l){if(t&1&&(e(0),M(1,"durationFormat")),t&2){let n=c().$implicit;u(" - (took ",I(1,1,n.Backup==null||n.Backup.Metadata==null?null:n.Backup.Metadata.LastBackupDuration),") ")}}function Z(t,l){t&1&&e(0," N/A ")}function tt(t,l){if(t&1&&e(0),t&2){let n=c().$implicit;u(" ",n.Backup==null||n.Backup.Metadata==null?null:n.Backup.Metadata.SourceSizeString," ")}}function et(t,l){t&1&&e(0," N/A ")}function nt(t,l){if(t&1&&e(0),t&2){let n=c().$implicit;u(" ",n.Backup==null||n.Backup.Metadata==null?null:n.Backup.Metadata.TargetSizeString," ")}}function it(t,l){t&1&&e(0," N/A ")}function at(t,l){if(t&1&&(a(0,"spk-chip",8),e(1),o()),t&2){let n=c().$implicit;p(),u("",n.Backup==null||n.Backup.Metadata==null?null:n.Backup.Metadata.BackupListCount," Version")}}function ot(t,l){t&1&&(a(0,"spk-chip",9),e(1,"No version yet"),o())}function lt(t,l){if(t&1){let n=T();a(0,"div",7)(1,"div",2)(2,"h3"),e(3),a(4,"spk-icon"),e(5,"database"),o()(),a(6,"p")(7,"span"),e(8,"Last successful backup:"),o(),e(9),M(10,"date"),s(11,X,2,3)(12,Z,1,0),o(),a(13,"p")(14,"span"),e(15,"Source:"),o(),s(16,tt,1,1)(17,et,1,0),o(),a(18,"p")(19,"span"),e(20,"Destination:"),o(),s(21,nt,1,1)(22,it,1,0),o()(),s(23,at,2,1,"spk-chip",8)(24,ot,2,0,"spk-chip",9),a(25,"div",10)(26,"button",11),b("click",function(){let r=f(n).$implicit,k=c(2);return g(k.startBackup(r.Backup==null?null:r.Backup.ID))}),a(27,"spk-icon"),e(28,"play-circle"),o(),e(29," Start "),o(),a(30,"button",12)(31,"spk-icon"),e(32,"pencil-simple"),o()(),a(33,"spk-menu",13)(34,"button",3)(35,"spk-icon"),e(36,"dots-three-vertical"),o()(),F(37,14),a(38,"button",15),e(39," Export "),a(40,"spk-icon"),e(41,"export"),o()(),a(42,"button",16),b("click",function(){let r=f(n).$implicit,k=c(2);return g(k.deleteBackup(r.Backup==null?null:r.Backup.ID))}),e(43," Delete "),a(44,"spk-icon"),e(45,"x-circle"),o()(),w(),o()()()}if(t&2){let n,i=l.$implicit;p(3),u(" ",(n=i.Backup==null?null:i.Backup.Name)!==null&&n!==void 0?n:"Backup name missing"," "),p(6),u(" ",H(10,9,i.Backup==null||i.Backup.Metadata==null?null:i.Backup.Metadata.LastBackupDate,"short")," "),p(2),d(!(i.Backup==null||i.Backup.Metadata==null)&&i.Backup.Metadata.LastBackupDuration?11:12),p(5),d(!(i.Backup==null||i.Backup.Metadata==null)&&i.Backup.Metadata.SourceSizeString?16:17),p(5),d(!(i.Backup==null||i.Backup.Metadata==null)&&i.Backup.Metadata.TargetSizeString?21:22),p(2),d(!(i.Backup==null||i.Backup.Metadata==null)&&i.Backup.Metadata.BackupListCount?23:24),p(7),m("routerLink",S(12,U,i.Backup==null?null:i.Backup.ID)),p(3),m("right",!0),p(5),m("routerLink",S(14,W,i.Backup==null?null:i.Backup.ID))}}function pt(t,l){if(t&1&&O(0,lt,46,16,"div",7,P),t&2){let n=c();E(n.backups())}}function ct(t,l){t&1&&e(0," No backups founds ")}var h=class t{#t=_(R);backups=this.#t.backups;backupsLoading=this.#t.backupsLoading;ngOnInit(){this.#t.getBackups(!0)}startBackup(l){this.#t.startBackup(l)}deleteBackup(l){l&&window.confirm("Are you sure you want to delete this backup?")&&this.#t.deleteBackup(l)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=v({type:t,selectors:[["app-home"]],standalone:!0,features:[D],decls:31,vars:5,consts:[[1,"type-a",3,"routerLink"],["src","assets/images/backup.png","alt","","width","48px"],[1,"text"],["spk-button",""],["src","assets/images/restore.png","alt","","width","48px"],[1,"content"],[1,"backups"],[1,"backup"],[1,"simple","success"],[1,"simple"],[1,"actions"],["spk-button","",3,"click"],["spk-button","",3,"routerLink"],[3,"right"],["menu",""],["spk-menu-item","",3,"routerLink"],["spk-menu-item","",3,"click"]],template:function(n,i){n&1&&(x(0,"app-status-bar"),a(1,"section")(2,"header")(3,"spk-card",0),x(4,"img",1),a(5,"div",2)(6,"h3"),e(7,"Backups"),o(),a(8,"p"),e(9,"Backups are stored in the cloud and can be restored at any time."),o()(),a(10,"button",3),e(11," Add "),a(12,"spk-icon"),e(13,"plus"),o()()(),a(14,"spk-card",0),x(15,"img",4),a(16,"div",2)(17,"h3"),e(18,"Restores"),o(),a(19,"p"),e(20,"Restores are stored in the cloud and can be restored at any time."),o()(),a(21,"button",3),e(22," Start "),a(23,"spk-icon"),e(24,"arrow-right"),o()()()(),a(25,"div",5)(26,"h2"),e(27,"My backups"),o(),a(28,"div",6),s(29,pt,2,0)(30,ct,1,0),o()()()),n&2&&(p(3),m("routerLink",B(3,K)),p(11),m("routerLink",B(4,Q)),p(15),d(i.backups().length?29:30))},dependencies:[N,Y,V,A,$,z,j,L,C],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:2rem 0}header[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;padding:0 2rem;gap:1rem}spk-card[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem}spk-card[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{flex:1 0;display:flex;flex-direction:column;gap:.25rem}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:0 2rem;gap:1rem}.backups[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.backup[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:2rem;gap:1rem;border:1px solid var(--base-level-40);border-radius:var(--shape-3);box-shadow:var(--shadow-1)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:40%}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{color:var(--base-level-60)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font:var(--paragraph-30);color:var(--base-level-60)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:var(--base-level-70)}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}"],changeDetection:0})};export{h as default};
package/chunk-WU4K3UNC.js DELETED
@@ -1 +0,0 @@
1
- import{a as u}from"./chunk-SYBUINNV.js";import{D as r,G as a,R as p,Ua as i,X as c}from"./chunk-RBNO3K72.js";var n=class s{#e=c(u);#t=null;backups=i([]);backupsLoading=i(!1);getBackupById(e){return this.backups().find(t=>t.Backup?.ID===e)??null}getBackups(e=!1){this.#t&&Date.now()-this.#t<100||(this.#t=Date.now(),this.backupsLoading.set(!0),this.#e.getApiV1Backups().pipe(r(1),a(()=>this.backupsLoading.set(!1))).subscribe({next:t=>{this.backups.set(t)},error:t=>{console.error(t)}}))}startBackup(e){this.#e.postApiV1BackupByIdStart({id:e}).subscribe({next:()=>{this.getBackups()}})}deleteBackup(e){this.#e.deleteApiV1BackupById({id:e}).subscribe({next:()=>{this.getBackups()}})}static \u0275fac=function(t){return new(t||s)};static \u0275prov=p({token:s,factory:s.\u0275fac,providedIn:"root"})};export{n as a};
package/chunk-YJ2MWFHK.js DELETED
@@ -1 +0,0 @@
1
- import{p as se}from"./chunk-C52YH32J.js";import{a as I,c as re,h as ae,i as ce,q as de}from"./chunk-LNCAETYE.js";import{a as pe}from"./chunk-SYBUINNV.js";import{$a as g,$b as V,Ab as K,Bb as ie,Cb as Q,Db as h,Fb as U,G as W,Jb as B,Lb as D,Mb as ne,Oa as d,Rb as oe,Ua as T,Va as H,Wa as Z,X as Y,Z as O,a as C,b as v,bb as $,bc as E,cb as z,db as f,fb as b,ha as k,hb as ee,ia as w,ib as te,jb as r,kb as a,lc as le,ob as q,pb as N,qb as P,rb as p,sa as R,sb as A,ta as _,tb as y,y as X}from"./chunk-RBNO3K72.js";var Ce=["treeContainer"],ve=["formRef"],Te=[[["label"]],[["label"]],[["input"]]],be=["label","label","input"],Pe=(n,e)=>e.id,xe=n=>({children:n,level:0}),ue=n=>({$implicit:n}),ye=(n,e)=>({children:n,level:e});function Se(n,e){if(n&1){let t=N();r(0,"spk-button-group")(1,"button",8),P("click",function(){k(t);let o=p();return w(o.pathDiscoveryMethod.set("browse"))}),h(2," Browser path "),a(),r(3,"button",8),P("click",function(){k(t);let o=p();return w(o.pathDiscoveryMethod.set("path"))}),h(4," Manually type path "),a()()}if(n&2){let t=p();d(),f("active",t.pathDiscoveryMethod()==="browse"),d(2),f("active",t.pathDiscoveryMethod()==="path")}}function ke(n,e){n&1&&(r(0,"spk-icon",11),h(1,"folder-open"),a())}function we(n,e){n&1&&(r(0,"spk-icon"),h(1,"file"),a())}function Fe(n,e){n&1&&(r(0,"spk-icon",11),h(1,"folder"),a())}function Me(n,e){if(n&1&&g(0,ke,2,0,"spk-icon",11)(1,we,2,0,"spk-icon")(2,Fe,2,0,"spk-icon",11),n&2){let t=p(2).$implicit;b(t.children.length?0:t.cls==="file"?1:2)}}function Ee(n,e){n&1&&(r(0,"spk-icon",11),h(1,"desktop-tower"),a())}function Oe(n,e){n&1&&q(0)}function Ne(n,e){if(n&1&&g(0,Oe,1,0,"ng-container",6),n&2){let t=p(2).$implicit,i=p().$implicit;p();let o=Q(6);$("ngTemplateOutlet",o)("ngTemplateOutletContext",D(5,ue,ne(2,ye,t.children,i.level+1)))}}function Ae(n,e){if(n&1){let t=N();r(0,"div",9,3),P("click",function(o){k(t);let s=p().$implicit,l=p(2);return w(s.id!=="/"&&l.toggleNode(o,s.id,s))}),r(2,"div",10),g(3,Me,3,1)(4,Ee,2,0,"spk-icon",11),a(),r(5,"div",12),P("click",function(o){k(t);let s=p().$implicit,l=p(2);return w(s.id!=="/"&&l.toggleSelectedNode(o,s))}),h(6),a()(),g(7,Ne,1,7,"ng-container")}if(n&2){let t=p().$implicit;f("active",t.isSelected)("open",t.children.length)("usually-hidden",t.hidden),d(3),b(t.id!=="/"?3:4),d(3),U(" ",t.text," "),d(),b(t.children.length>0?7:-1)}}function Be(n,e){if(n&1&&g(0,Ae,8,9),n&2){let t=e.$implicit,i=p(2);b(t.hidden&&i.showHiddenFiles()||!t.hidden?0:-1)}}function De(n,e){if(n&1&&(r(0,"spk-list"),ee(1,Be,1,1,null,null,Pe),a()),n&2){let t=e.$implicit;z("padding-left",t.level*.5,"rem"),d(),te(t.children)}}function Ve(n,e){n&1&&q(0)}var G=class n{#t=Y(pe);multiSelect=_(!1);disabled=_(!1);showFiles=_(!1);startingPath=_(null);rootPath=_(void 0);backupSettings=_(null);includes=R();excludes=R();treeContainerRef=H("treeContainer");formRef=H("formRef");pathDiscoveryMethod=T("browse");isLoading=T(!1);showHiddenFiles=T(!1);currentPath=T("/");#e=T(null);treeSearchQuery=T("");treeNodes=T([]);isByBackupSettings=V(()=>this.rootPath()&&this.backupSettings()?.id&&this.backupSettings()?.time);searchableTreeNodes=V(()=>{let e=this.treeSearchQuery();return e?this.treeNodes().filter(t=>t.text?.toLowerCase().includes(e.toLowerCase())):this.treeNodes()});treeStructure=V(()=>{let e=this.searchableTreeNodes(),t=new Map,i=this.rootPath(),o=i?{id:i,resolvedpath:i,text:i?.replaceAll("/",""),parentPath:"",children:[],isSelected:!1,cls:"folder"}:{id:"/",resolvedpath:"/",text:"Computer",parentPath:"",children:[],isSelected:!1};t.set("/",o);for(let s of e){let u=s.id.replace(i??"","").split("/").filter(Boolean),c="",x=o;for(let m of u){if(c+="/"+m,!t.has(c)){let F={id:s.id,isSelected:s.isSelected,parentPath:c,resolvedpath:s.id?.startsWith("%")?s.resolvedpath+"/":c,hidden:s.hidden,text:s.text,cls:s.cls,children:[]};t.set(c,F),x.children.push(F)}x=t.get(c)}}return[o]});pathDiscoveryMethodEffect=E(()=>{let e=this.pathDiscoveryMethod(),t=this.#e();if(e==="browse"&&t)if(this.multiSelect()){let i=t.value.split("\0");this.treeNodes.update(o=>o.map(s=>v(C({},s),{isSelected:typeof s.id=="string"&&i.includes(s.id)})))}else this.treeNodes.update(i=>i.map(o=>v(C({},o),{isSelected:o.id===t.value})))},{allowSignalWrites:!0});#a(){let e=this.treeContainerRef()?.nativeElement.querySelectorAll(".active");e&&e.length>0&&e[0].scrollIntoView({behavior:"smooth",block:"center"})}currentPathEffect=E(()=>{let e=this.#e();e&&(e.value=this.currentPath(),e.dispatchEvent(new Event("input")))},{allowSignalWrites:!0});selectedPathsEffect=E(()=>{if(this.multiSelect()){let e=this.treeNodes().filter(l=>l.isSelected),t=this.treeNodes().filter(l=>!l.isSelected&&e.some(u=>l.id?.startsWith(u.id))),i=e.filter(l=>!e.some(u=>l.id!==u.id&&l.id?.startsWith(u.id))).map(l=>l.id),o=t.filter(l=>!t.some(u=>l.id!==u.id&&l.id?.startsWith(u.id))).map(l=>`-${l.id}`);this.excludes.emit(o);let s=[...i,...o];this.currentPath.set(s.join("\0"))}else{let e=this.treeNodes().find(i=>i.isSelected),t=e?.resolvedpath;this.currentPath.set(e?.id??"")}},{allowSignalWrites:!0});inputValueChangeAbortController=null;inputRefEffect=E(()=>{let e=this.formRef()?.nativeElement?.querySelector("input");e&&(this.#o(e),this.inputValueChangeAbortController&&this.inputValueChangeAbortController.abort(),this.inputValueChangeAbortController=new AbortController,e.addEventListener("inputValueChanged",t=>{this.currentPath.set(t.detail.value)},{signal:this.inputValueChangeAbortController.signal}),this.#e.set(e),e.autocomplete="off")},{allowSignalWrites:!0});ngOnInit(){let e=this.startingPath();e?(this.currentPath.set(e),this.#r(e)):this.#n(null,this.rootPath())}toggleSelectedNode(e,t){e.stopPropagation(),this.multiSelect()?this.treeNodes.update(i=>i.map(o=>o.id?.startsWith(t.id)?v(C({},o),{isSelected:!t.isSelected}):o)):this.treeNodes.update(i=>i.map(o=>o.id===t.id?v(C({},o),{isSelected:!t.isSelected}):v(C({},o),{isSelected:!1})))}toggleNode(e,t,i=null){e.stopPropagation(),i?.children.length?this.treeNodes.update(o=>o.filter(s=>!s.id?.startsWith(i.id)||s.id===i.id)):this.#n(i,t)}#o(e){return Object.defineProperty(e,"value",{configurable:!0,get(){return Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value").get.call(this)},set(t){return Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value").set.call(this,t),this.dispatchEvent(new CustomEvent("inputValueChanged",{bubbles:!0,cancelable:!0,detail:{value:t}})),t}}),e}#l(e){return this.#t.postApiV1Filesystem({showHidden:!0,requestBody:{path:e},onlyFolders:!this.showFiles()})}#s(e){let t=this.backupSettings(),i={id:t.id,time:t.time,prefixOnly:!1,folderContents:!0};return e&&(i.filter="@"+e),this.#t.getApiV1BackupByIdFiles(i)}#i(e){return this.isByBackupSettings()?this.#s(e):this.#l(e)}#r(e){let t=e.split("\0").filter(l=>l.startsWith("-")).map(l=>l.slice(1,-1)),i=e.split("\0").filter(l=>!l.startsWith("-")).filter(Boolean),o=i.map(l=>l.split("/").filter(Boolean)),s=[this.rootPath()??"/"];o.forEach(l=>{l.forEach((u,c)=>{let x=l.slice(0,c+1).join("/"),m=x.startsWith("%")?x:"/"+x;s.includes(m)||s.push(m)})}),this.isLoading.set(!0),X([...s.map(l=>this.#i(l))]).pipe(W(()=>this.isLoading.set(!1))).subscribe({next:l=>{this.treeNodes.update(u=>{let c=l.flatMap(m=>m.map(F=>{let M=F.id,j=M&&M.split("/").filter(Boolean).slice(0,-1).join("/"),L="/"+(M&&M.split("/").filter(Boolean).join("/")),he=i.findIndex(S=>this.multiSelect()?L.startsWith(S):L===S)>-1,me=i.findIndex(S=>S===M)>-1,ge=t.findIndex(S=>S===L)>-1;return v(C({},F),{parentPath:j.startsWith("%")?j:"/"+j,isSelected:he&&!ge||me})}));return[...new Map([...u,...c].map(m=>[m.resolvedpath??m.id,m])).values()]})}})}#n(e=null,t="/"){this.isLoading.set(!0),this.#i(t).pipe(W(()=>this.isLoading.set(!1))).subscribe({next:i=>{let o=this.isByBackupSettings()?i.Files.map(s=>({text:s.Path.split("/").filter(l=>l!=="").pop(),id:s.Path,cls:s.Path.endsWith("/")?"folder":"file",leaf:e!==null,resolvedpath:s.Path,hidden:!1})):i;this.treeNodes.update(s=>{let l=o.map(c=>v(C({},c),{parentPath:t,isSelected:(this.multiSelect()&&e?.isSelected)??!1}));return[...new Map([...s,...l].map(c=>[c.resolvedpath??c.id,c])).values()]})}})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=O({type:n,selectors:[["app-file-tree"]],viewQuery:function(t,i){t&1&&(K(i.treeContainerRef,Ce,5),K(i.formRef,ve,5)),t&2&&ie(2)},hostVars:2,hostBindings:function(t,i){t&2&&f("disabled",i.disabled())},inputs:{multiSelect:[1,"multiSelect"],disabled:[1,"disabled"],showFiles:[1,"showFiles"],startingPath:[1,"startingPath"],rootPath:[1,"rootPath"],backupSettings:[1,"backupSettings"]},outputs:{includes:"includes",excludes:"excludes"},standalone:!0,features:[B],ngContentSelectors:be,decls:15,vars:14,consts:[["treeContainer",""],["recursiveTree",""],["formRef",""],["treeNode",""],[1,"section"],[1,"browse-files"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"primary","raised","browse-files-toggle",3,"click"],["type","button",3,"click"],["spk-action-item","",3,"click"],[1,"icon"],[1,"spk-primary"],[1,"text",3,"click"]],template:function(t,i){if(t&1){let o=N();A(Te),g(0,Se,5,4,"spk-button-group"),r(1,"div",4),y(2,0,["ngProjectAs","label",5,["label"]]),r(3,"div",5,0),g(5,De,3,2,"ng-template",null,1,oe)(7,Ve,1,0,"ng-container",6),a(),r(8,"spk-toggle",7),P("click",function(){return k(o),w(i.showHiddenFiles.set(!i.showHiddenFiles()))}),h(9),a()(),r(10,"div",null,2)(12,"spk-form-field"),y(13,1,["ngProjectAs","label",5,["label"]]),y(14,2,["ngProjectAs","input",5,["input"]]),a()()}if(t&2){let o=Q(6);b(i.multiSelect()?-1:0),d(),f("hidden",i.pathDiscoveryMethod()!=="browse"),d(6),$("ngTemplateOutlet",o)("ngTemplateOutletContext",D(12,ue,D(10,xe,i.treeStructure()))),d(),f("active",i.showHiddenFiles()),d(),U(" Show hidden ",i.showFiles()?"files":"folders"," "),d(3),f("hidden",i.pathDiscoveryMethod()!=="path")}},dependencies:[re,de,I,ae,ce,le,se],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;gap:1rem}.disabled[_nghost-%COMP%]{opacity:.5;-webkit-user-select:none;user-select:none;pointer-events:none;position:relative}.disabled[_nghost-%COMP%]:before{content:"";position:absolute;inset:0;background:transparent}.section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.browse-files[_ngcontent-%COMP%]{display:flex;gap:.5rem;padding:.5rem 1rem;height:12.5rem;border:1px solid var(--base-level-40);border-radius:var(--shape-3);overflow:auto;resize:vertical}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%]{--list-active-bg: var(--base-level-30);gap:0;padding:0;height:min-content;min-width:min-content}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [spk-action-item][_ngcontent-%COMP%]{padding:0;gap:.25rem}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [spk-action-item].usually-hidden[_ngcontent-%COMP%]{opacity:.6}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [spk-action-item][_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{flex:1 0;height:100%;width:max-content;display:flex;align-items:center}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [spk-action-item][_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer}.browse-files-toggle[_ngcontent-%COMP%]{color:var(--base-level-60R)}.hidden[_ngcontent-%COMP%]{display:none}'],changeDetection:0})};var Ie=[[["","title",""]],"*"],je=["[title]","*"];function Le(n,e){n&1&&h(0,"Title")}function We(n,e){n&1&&(r(0,"spk-icon"),h(1,"caret-down"),a())}var J=class n{isActive=Z(!1);disallowToggle=_(!1);ngOnInit(){this.disallowToggle()&&this.isActive.set(!0)}toggle(){this.isActive.set(!this.isActive())}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=O({type:n,selectors:[["app-toggle-card"]],hostVars:2,hostBindings:function(t,i){t&2&&f("active",i.isActive())},inputs:{isActive:[1,"isActive"],disallowToggle:[1,"disallowToggle"]},outputs:{isActive:"isActiveChange"},standalone:!0,features:[B],ngContentSelectors:je,decls:6,vars:1,consts:[[3,"click"],[1,"content"]],template:function(t,i){t&1&&(A(Ie),r(0,"h3",0),P("click",function(){return i.disallowToggle()||i.toggle()}),y(1,0,null,Le,1,0),g(3,We,2,0,"spk-icon"),a(),r(4,"div",1),y(5,1),a()),t&2&&(d(3),b(i.disallowToggle()?-1:3))},dependencies:[I],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;border-radius:var(--shape-3);background-color:var(--base-level-20)}.active[_nghost-%COMP%] .content[_ngcontent-%COMP%]{max-height:1000px;transition:max-height 1s linear;padding:0 1rem 1rem}.active[_nghost-%COMP%] spk-icon[_ngcontent-%COMP%]{transform:rotate(180deg)}[_nghost-%COMP%] h3[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;font:var(--paragraph-10);padding:1rem;cursor:pointer;-webkit-user-select:none;user-select:none}[_nghost-%COMP%] spk-icon[_ngcontent-%COMP%]{transform:rotate(0);transform-origin:center;transition:transform .2s ease}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;padding:0 1rem;overflow:hidden;max-height:0;transition:max-height .25s linear,padding .25s linear}"],changeDetection:0})};export{G as a,J as b};
package/chunk-YQDGW52C.js DELETED
@@ -1 +0,0 @@
1
- import{a as b,b as J}from"./chunk-DNHLTHLR.js";import{b as W}from"./chunk-P4AWKIXG.js";import{a as Q}from"./chunk-WU4K3UNC.js";import{a as D,b as R,c as x,d as j,e as M,f as O,i as A,l as I,o as L,q as V}from"./chunk-C52YH32J.js";import{a as $,c as G,d as U,h as q,q as z}from"./chunk-LNCAETYE.js";import{a as P,c as T,d as N}from"./chunk-AFUS3PYG.js";import"./chunk-L4EVZZOM.js";import{a as H}from"./chunk-SYBUINNV.js";import{$a as S,$b as h,Db as i,G as g,Gb as v,Jb as _,Kb as F,M as w,Oa as p,Ua as d,X as s,Z as C,bb as k,db as u,fb as E,jb as r,kb as n,lb as l,qb as f,uc as B}from"./chunk-RBNO3K72.js";var Y=()=>["/"];function Z(c,e){c&1&&(r(0,"spk-form-field")(1,"label",9),i(2,"Password"),n(),l(3,"input",10),n(),r(4,"spk-form-field")(5,"label",11),i(6,"Repeat password"),n(),l(7,"input",12),n())}var m=new L,y=class c{#t=s(H);#e=s(P);#o=s(T);#n=s(B);#i=s(Q);isExporting=d(!1);exportType=d("file");exportedCmd=d(null);exportForm=m.group({exportPasswords:m.control(!0),encryption:m.control(!1,[x.required,J()]),password:m.control("",[b(e=>e?.value.encryption,[x.required])]),repeatPassword:m.control("",[b(e=>e?.value.encryption,[x.required])])});exportFormSignal=W(this.exportForm.valueChanges);encryptionFieldSignal=h(()=>this.exportFormSignal()?.encryption??!1);activeBackup=h(()=>this.#i.backups().find(e=>e.Backup?.ID===this.#e.snapshot.params.id));submit(){this.isExporting.set(!0),this.exportType()==="file"?this.#t.postApiV1AuthIssuetokenByOperation({operation:"export"}).pipe(w(e=>{let a=o=>{let t=Object.entries(o);return t?"?"+t.map(([K,X])=>`${K}=${X}`).join("&"):""};return this.#n.get(`/api/v1/backup/${this.#e.snapshot.params.id}/export${a({exportPasswords:this.exportFormSignal()?.exportPasswords??void 0,passphrase:this.exportFormSignal()?.password??void 0,token:e.Token})}`,{responseType:"blob"})}),g(()=>this.isExporting.set(!1))).subscribe({next:e=>{let o=this.activeBackup()?.Backup?.Name??"Backup",t=this.exportFormSignal()?.encryption?"aes":"json";this.downloadFile(e,`${o}.${t}`),this.#o.navigate(["/"])},error:e=>{console.log("err",e)}}):this.#t.getApiV1BackupByIdExportCmdline({id:this.#e.snapshot.params.id,exportPasswords:this.exportFormSignal()?.exportPasswords??void 0,passphrase:this.exportFormSignal()?.password??void 0}).pipe(g(()=>this.isExporting.set(!1))).subscribe({next:e=>{console.log("res",e),this.exportedCmd.set(e.Command??null)},error:e=>{console.log("err",e)}})}downloadFile(e,a){let o=window.URL.createObjectURL(e),t=document.createElement("a");t.href=o,t.download=a,t.click(),window.URL.revokeObjectURL(o)}static \u0275fac=function(a){return new(a||c)};static \u0275cmp=C({type:c,selectors:[["app-export"]],standalone:!0,features:[_],decls:31,vars:12,consts:[[1,"actions"],["spk-button","",1,"outlined",3,"routerLink"],["spk-button","",1,"raised","primary",3,"click"],["autocomplete","off",3,"formGroup"],["type","button",3,"click"],[1,"raised","primary"],["type","checkbox","formControlName","exportPasswords"],[1,"primary","raised"],["type","checkbox","formControlName","encryption"],["for","password"],["type","password","id","password","formControlName","password"],["for","repeatPassword"],["type","password","id","repeatPassword","formControlName","repeatPassword"]],template:function(a,o){if(a&1&&(r(0,"header")(1,"h3"),i(2," Export backup configuration "),r(3,"div",0)(4,"button",1)(5,"spk-icon"),i(6,"arrow-left"),n(),i(7," Back "),n(),r(8,"button",2),f("click",function(){return o.submit()}),r(9,"spk-icon"),i(10,"export"),n(),i(11," Export "),n()()(),r(12,"p"),i(13),n()(),r(14,"form",3)(15,"spk-button-group")(16,"button",4),f("click",function(){return o.exportType.set("cmd")}),r(17,"spk-icon"),i(18,"terminal-window"),n(),i(19," As command line "),n(),r(20,"button",4),f("click",function(){return o.exportType.set("file")}),r(21,"spk-icon"),i(22,"file"),n(),i(23," To file "),n()(),r(24,"spk-toggle",5),i(25," Export passwords "),l(26,"input",6),n(),r(27,"spk-toggle",7),i(28," Encrypt file "),l(29,"input",8),n(),S(30,Z,8,0),n()),a&2){let t;p(4),k("routerLink",F(11,Y)),p(4),u("loading",o.isExporting()),p(5),v("#",(t=o.activeBackup())==null||t.Backup==null?null:t.Backup.ID,": ",(t=o.activeBackup())==null||t.Backup==null?null:t.Backup.Name,""),p(),k("formGroup",o.exportForm),p(2),u("active",o.exportType()==="cmd"),p(4),u("active",o.exportType()==="file"),p(10),E(o.encryptionFieldSignal()?30:-1)}},dependencies:[V,O,R,D,j,M,A,I,N,G,z,$,q,U],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:3rem}h3[_ngcontent-%COMP%]{font:var(--title-30);display:flex;align-items:center;justify-content:space-between}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;max-width:31.25rem}"],changeDetection:0})};export{y as default};