@duplicati/ngclient 0.0.232 → 0.0.233

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 (116) hide show
  1. package/assets/sh.woff2 +0 -0
  2. package/{chunk-B52v_pjw.js → chunk-8Y8ReLEn.js} +2 -2
  3. package/{chunk-Brvxo-yI.js → chunk-AuCOjHXM.js} +1 -1
  4. package/{chunk-Bja52qI7.js → chunk-B1c7h-_w.js} +1 -1
  5. package/{chunk-BqN36tfl.js → chunk-B1wZ4poV.js} +1 -1
  6. package/{chunk-DI7suso2.js → chunk-B5Y6lgE8.js} +1 -1
  7. package/chunk-B6c2NXNy.js +1 -0
  8. package/{chunk-Cjb79u3p.js → chunk-BZgAzrl9.js} +1 -1
  9. package/chunk-B_cIFQAl.js +1 -0
  10. package/{chunk-Da_-7L7P.js → chunk-BaSm1lsB.js} +1 -1
  11. package/{chunk-Saq2s7Ep.js → chunk-Bgw6E0Xu.js} +1 -1
  12. package/{chunk-CIcBoEH1.js → chunk-Bj7EyCHb.js} +1 -1
  13. package/{chunk-aOMoAKYY.js → chunk-BmmYJhOf.js} +1 -1
  14. package/chunk-BrtdRb9j.js +1 -0
  15. package/{chunk-CkrxdjhU.js → chunk-BsNCg00z.js} +2 -2
  16. package/{chunk-CHzwXmsn.js → chunk-BstaUtD_.js} +1 -1
  17. package/{chunk-BBsBaTWO.js → chunk-BxpXVeOr.js} +1 -1
  18. package/{chunk-ivwxSoND.js → chunk-ByL8ndec.js} +1 -1
  19. package/chunk-BzJX1fKw.js +1 -0
  20. package/{chunk-B53Wj4F9.js → chunk-C3gUxHQM.js} +1 -1
  21. package/{chunk-Cz0KuBHB.js → chunk-C7AeY2HY.js} +2 -2
  22. package/chunk-C7gG_Yh_.js +2 -0
  23. package/{chunk-CgyaUJSI.js → chunk-C9OqpwwE.js} +1 -1
  24. package/{chunk-DvyGZpE4.js → chunk-C9ecLR93.js} +2 -2
  25. package/chunk-CGsQCBkP.js +1 -0
  26. package/{chunk-CUaRQ2FJ.js → chunk-CIe9Bupz.js} +1 -1
  27. package/chunk-CIw_h8oP.js +1 -0
  28. package/{chunk-DZm4l28A.js → chunk-CP6xnjgo.js} +2 -2
  29. package/{chunk-Cg09iQR5.js → chunk-CS2J-6VZ.js} +1 -1
  30. package/{chunk-umW-K0Ca.js → chunk-CWgXi-7W.js} +1 -1
  31. package/{chunk-DmDqcC4A.js → chunk-CX3Axjpk.js} +1 -1
  32. package/{chunk-BlTnmRGU.js → chunk-Ca1aaA1h.js} +1 -1
  33. package/{chunk-CartdZy-.js → chunk-CfxBiw7I.js} +1 -1
  34. package/{chunk-CTm37hI-.js → chunk-CgJAbgNN.js} +1 -1
  35. package/{chunk-CUuyy9Er.js → chunk-ChUm8bnG.js} +1 -1
  36. package/{chunk-CtEMAj2d.js → chunk-CkRbgemk.js} +1 -1
  37. package/chunk-ClRItSzt.js +1 -0
  38. package/{chunk-DoQHDPZg.js → chunk-CsIAXoYP.js} +1 -1
  39. package/{chunk-BVEyeg9y.js → chunk-CuJ_uEdr.js} +1 -1
  40. package/{chunk-BEhUV7oX.js → chunk-CvSsZZty.js} +1 -1
  41. package/{chunk-Bb6BmVO4.js → chunk-CyqqlRjO.js} +2 -2
  42. package/{chunk-DqIU7ViF.js → chunk-D1pDZLJ9.js} +1 -1
  43. package/{chunk-vnqcxg-9.js → chunk-D2G7_0hG.js} +1 -1
  44. package/{chunk-DKZlKdfB.js → chunk-D3PhthfU.js} +1 -1
  45. package/chunk-D55uWC7G.js +1 -0
  46. package/{chunk-B8uF0dom.js → chunk-DDWDcSq2.js} +1 -1
  47. package/{chunk-Cu2bh6aQ.js → chunk-DD_wKpGc.js} +1 -1
  48. package/{chunk-Box6Lckh.js → chunk-DGvC49aU.js} +1 -1
  49. package/{chunk-BkIXk6uR.js → chunk-DGxk44Me.js} +2 -2
  50. package/{chunk-D5tms-6w.js → chunk-DM11Gu0H.js} +1 -1
  51. package/chunk-DV8bRznt.js +2 -0
  52. package/{chunk-Dum38U6w.js → chunk-DWiO0A6h.js} +2 -2
  53. package/{chunk-BpRWdcC8.js → chunk-DXEgz1tV.js} +1 -1
  54. package/{chunk-BI14DMeb.js → chunk-DbbyVAGl.js} +1 -1
  55. package/{chunk-CVQPUpDQ.js → chunk-DcdpG1YG.js} +2 -2
  56. package/{chunk-B9maI7Xa.js → chunk-DhiIZLrA.js} +3 -3
  57. package/{chunk-BTgf5lfZ.js → chunk-DidJB9ig.js} +1 -1
  58. package/{chunk-CX26gEKv.js → chunk-Dk-Wgx3e.js} +1 -1
  59. package/{chunk-BBU0vswn.js → chunk-DuYKanVS.js} +1 -1
  60. package/{chunk-DY3nK3tu.js → chunk-DwmssGG9.js} +1 -1
  61. package/chunk-DxFBzFom.js +1 -0
  62. package/{chunk-ihUnHtR7.js → chunk-Dz5guW4b.js} +1 -1
  63. package/{chunk-DzmZd524.js → chunk-FTZ5atHM.js} +1 -1
  64. package/{chunk-CZoVeRAG.js → chunk-I5dxaHZ4.js} +2 -2
  65. package/{chunk-C4GeR7BF.js → chunk-K2iai6rC.js} +1 -1
  66. package/{chunk-BYWmNy-_.js → chunk-L8hQtTzU.js} +1 -1
  67. package/{chunk-CKnRcyHZ.js → chunk-MDqH8T3Z.js} +2 -2
  68. package/{chunk-BkUa7yBI.js → chunk-Y-xXBGKy.js} +1 -1
  69. package/{chunk-Bt_Ie-F3.js → chunk-Z81HNfgo.js} +1 -1
  70. package/{chunk-DUYvFN8m.js → chunk-aCJqF9DH.js} +1 -1
  71. package/{chunk-Bo1yB-fQ.js → chunk-aYCYzU5Q.js} +1 -1
  72. package/{chunk-C80zvTbO.js → chunk-bt6lhYfG.js} +1 -1
  73. package/{chunk-Rp7-yjlz.js → chunk-eiyaQxBt.js} +1 -1
  74. package/{chunk-DJJ8GbYi.js → chunk-h6n5A491.js} +1 -1
  75. package/{chunk-vPGrgL1U.js → chunk-jy8x4GhV.js} +1 -1
  76. package/{chunk-BS8PXjJJ.js → chunk-ksSA-rDF.js} +1 -1
  77. package/{chunk-Dn8nZWLd.js → chunk-lymL5FDY.js} +1 -1
  78. package/{chunk-CAwTsBqQ.js → chunk-mA4J4_nC.js} +1 -1
  79. package/{chunk-CwKy8pxa.js → chunk-mflQLMHH.js} +1 -1
  80. package/chunk-nuwlP4Wz.js +14 -0
  81. package/chunk-uGh0bVbu.js +4 -0
  82. package/index.html +1 -1
  83. package/locale/messages.de.json +69 -9
  84. package/locale/messages.de_CH.json +68 -8
  85. package/locale/messages.de_DE.json +68 -8
  86. package/locale/messages.en.json +32 -8
  87. package/locale/messages.fr.json +77 -13
  88. package/locale/messages.fr_CA.json +72 -8
  89. package/locale/messages.fr_FR.json +72 -8
  90. package/locale/messages.it.json +76 -12
  91. package/locale/messages.it_IT.json +72 -8
  92. package/locale/messages.json +32 -8
  93. package/locale/messages.ko.json +8 -15
  94. package/locale/messages.nl_BE.json +72 -8
  95. package/locale/messages.nl_NL.json +72 -8
  96. package/locale/messages.tr.json +7 -9
  97. package/locale/messages.zh-Hans.json +159 -16
  98. package/locale/messages.zh-Hant.json +159 -16
  99. package/locale/messages.zh.json +159 -16
  100. package/locale/messages.zh_CN.json +159 -16
  101. package/locale/messages.zh_HK.json +7 -8
  102. package/locale/messages.zh_TW.json +159 -16
  103. package/{main-VVQP2YE7.js → main-3NL5M6JB.js} +13 -13
  104. package/package.json +1 -1
  105. package/chunk-B73LRsqH.js +0 -1
  106. package/chunk-BO2GlieG.js +0 -1
  107. package/chunk-BaxM-kGV.js +0 -2
  108. package/chunk-BvGGBIy7.js +0 -1
  109. package/chunk-CGArETYn.js +0 -1
  110. package/chunk-CTRzgLM9.js +0 -2
  111. package/chunk-CTwO6j97.js +0 -1
  112. package/chunk-Cu4siB3B.js +0 -4
  113. package/chunk-DTu0ZYnR.js +0 -1
  114. package/chunk-DYnVzNxt.js +0 -1
  115. package/chunk-kU0H989B.js +0 -14
  116. package/chunk-mby7fvmj.js +0 -1
@@ -1 +1 @@
1
- import {e as ee}from'./chunk-C4GeR7BF.js';import'./chunk-CUaRQ2FJ.js';import'./chunk-aOMoAKYY.js';import'./chunk-BEhUV7oX.js';import'./chunk-Bb6BmVO4.js';import'./chunk-DmDqcC4A.js';import'./chunk-B53Wj4F9.js';import'./chunk-BTgf5lfZ.js';import {T,m,h as hw,v,d as N,_ as _t,j as vg,Q as Qi,n as nC,$ as $l,L as Lg,F as Fg,f as aT,C as CE,Y as Yg,A as yg,a3 as KC,i as cT}from'./main-VVQP2YE7.js';import {f}from'./chunk-Bja52qI7.js';import'./chunk-B8uF0dom.js';import'./chunk-B9maI7Xa.js';import'./chunk-BO2GlieG.js';import'./chunk-CKnRcyHZ.js';import'./chunk-CwKy8pxa.js';import'./chunk-BVEyeg9y.js';import'./chunk-DqIU7ViF.js';import'./chunk-Box6Lckh.js';var B=()=>["/backup/new"],G=()=>["/backup/import"],K=()=>["/backup/import-destination"];function U(r,s){r&1&&(Qi(0,"sh-card",11),vg(1,"img",15),Qi(2,"h3"),nC(3,7),$l(),Qi(4,"p"),nC(5,8),$l(),Qi(6,"button",13),Lg(7,9),vg(8,"sh-icon"),Fg(),$l()()),r&2&&(CE(6),yg("routerLink",KC(1,K)));}var p=class r{hasRestoreControlFilesOperation=T(m).hasRestoreControlFilesOperation;static \u0275fac=function(i){return new(i||r)};static \u0275cmp=hw({type:r,selectors:[["app-add-backup"]],decls:24,vars:7,consts:()=>{let s;s=$localize`Add a new backup`;let i;i=$localize`New backup`;let C;C=$localize`Configure a new backup. Choose your destination, source data and schedule.`;let m;m=$localize` Add a new backup ${"\uFFFD#13\uFFFD"}:START_TAG_SH_ICON:plus${"\uFFFD/#13\uFFFD"}:CLOSE_TAG_SH_ICON:`;let A;A=$localize`Import from file`;let S;S=$localize`Import backup configuration from a file. During import, you can adjust the settings.`;let P;P=$localize` Import from file ${"\uFFFD#22\uFFFD"}:START_TAG_SH_ICON:upload-simple${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SH_ICON:`;let T;T=$localize`Import from destination`;let g;g=$localize`Import one or more backup configurations from a remote destination.`;let E;return E=$localize` Import from destination ${"\uFFFD#8\uFFFD"}:START_TAG_SH_ICON:download-simple${"\uFFFD/#8\uFFFD"}:CLOSE_TAG_SH_ICON:`,[s,i,C,m,A,S,P,T,g,E,[1,"backup-types"],[1,"type-a"],["src","assets/images/new-backup.png"],["shButton","",1,"raised","primary",3,"routerLink"],["src","assets/images/backup-from-config.png"],["src","assets/images/backup-from-remote.png"]]},template:function(i,C){i&1&&(vg(0,"app-status-bar"),Qi(1,"section")(2,"h2"),nC(3,0),$l(),Qi(4,"div",10)(5,"sh-card",11),vg(6,"img",12),Qi(7,"h3"),nC(8,1),$l(),Qi(9,"p"),nC(10,2),$l(),Qi(11,"button",13),Lg(12,3),vg(13,"sh-icon"),Fg(),$l()(),Qi(14,"sh-card",11),vg(15,"img",14),Qi(16,"h3"),nC(17,4),$l(),Qi(18,"p"),nC(19,5),$l(),Qi(20,"button",13),Lg(21,6),vg(22,"sh-icon"),Fg(),$l()(),aT(23,U,9,2,"sh-card",11),$l()()),i&2&&(CE(4),Yg("three-column",C.hasRestoreControlFilesOperation()),CE(7),yg("routerLink",KC(5,B)),CE(9),yg("routerLink",KC(6,G)),CE(3),cT(C.hasRestoreControlFilesOperation()?23:-1));},dependencies:[ee,v,f,N,_t],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;align-items:center;flex-direction:column;gap:2rem;padding:2rem 0}div.backup-types[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:43.75rem;padding:0 2rem}div.backup-types.three-column[_ngcontent-%COMP%]{grid-template-columns:1fr 1fr 1fr;max-width:65.625rem}@media only screen and (max-width:768px){div.backup-types[_ngcontent-%COMP%]{grid-template-columns:1fr}}sh-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:1rem;padding-bottom:3rem}sh-card[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:18.75rem}sh-card[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;text-align:center;width:75%}"]})};export{p as default};
1
+ import {e as ee}from'./chunk-K2iai6rC.js';import'./chunk-CIe9Bupz.js';import'./chunk-BmmYJhOf.js';import'./chunk-CvSsZZty.js';import'./chunk-CyqqlRjO.js';import'./chunk-CX3Axjpk.js';import'./chunk-C3gUxHQM.js';import'./chunk-DidJB9ig.js';import {T,m,h as hw,v,c as N,_ as _t,i as Ig,Q as Qi,n as nC,$ as $l,F as Fg,j as jg,d as aT,C as CE,L as Kg,y as vg,a3 as KC,g as cT}from'./main-3NL5M6JB.js';import {f}from'./chunk-B1c7h-_w.js';import'./chunk-DDWDcSq2.js';import'./chunk-DhiIZLrA.js';import'./chunk-B6c2NXNy.js';import'./chunk-MDqH8T3Z.js';import'./chunk-mflQLMHH.js';import'./chunk-CuJ_uEdr.js';import'./chunk-D1pDZLJ9.js';import'./chunk-DGvC49aU.js';var B=()=>["/backup/new"],G=()=>["/backup/import"],K=()=>["/backup/import-destination"];function U(r,s){r&1&&(Qi(0,"sh-card",11),Ig(1,"img",15),Qi(2,"h3"),nC(3,7),$l(),Qi(4,"p"),nC(5,8),$l(),Qi(6,"button",13),Fg(7,9),Ig(8,"sh-icon"),jg(),$l()()),r&2&&(CE(6),vg("routerLink",KC(1,K)));}var p=class r{hasRestoreControlFilesOperation=T(m).hasRestoreControlFilesOperation;static \u0275fac=function(i){return new(i||r)};static \u0275cmp=hw({type:r,selectors:[["app-add-backup"]],decls:24,vars:7,consts:()=>{let s;s=$localize`Add a new backup`;let i;i=$localize`New backup`;let C;C=$localize`Configure a new backup. Choose your destination, source data and schedule.`;let m;m=$localize` Add a new backup ${"\uFFFD#13\uFFFD"}:START_TAG_SH_ICON:plus${"\uFFFD/#13\uFFFD"}:CLOSE_TAG_SH_ICON:`;let A;A=$localize`Import from file`;let S;S=$localize`Import backup configuration from a file. During import, you can adjust the settings.`;let P;P=$localize` Import from file ${"\uFFFD#22\uFFFD"}:START_TAG_SH_ICON:upload-simple${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SH_ICON:`;let T;T=$localize`Import from destination`;let g;g=$localize`Import one or more backup configurations from a remote destination.`;let E;return E=$localize` Import from destination ${"\uFFFD#8\uFFFD"}:START_TAG_SH_ICON:download-simple${"\uFFFD/#8\uFFFD"}:CLOSE_TAG_SH_ICON:`,[s,i,C,m,A,S,P,T,g,E,[1,"backup-types"],[1,"type-a"],["src","assets/images/new-backup.png"],["shButton","",1,"raised","primary",3,"routerLink"],["src","assets/images/backup-from-config.png"],["src","assets/images/backup-from-remote.png"]]},template:function(i,C){i&1&&(Ig(0,"app-status-bar"),Qi(1,"section")(2,"h2"),nC(3,0),$l(),Qi(4,"div",10)(5,"sh-card",11),Ig(6,"img",12),Qi(7,"h3"),nC(8,1),$l(),Qi(9,"p"),nC(10,2),$l(),Qi(11,"button",13),Fg(12,3),Ig(13,"sh-icon"),jg(),$l()(),Qi(14,"sh-card",11),Ig(15,"img",14),Qi(16,"h3"),nC(17,4),$l(),Qi(18,"p"),nC(19,5),$l(),Qi(20,"button",13),Fg(21,6),Ig(22,"sh-icon"),jg(),$l()(),aT(23,U,9,2,"sh-card",11),$l()()),i&2&&(CE(4),Kg("three-column",C.hasRestoreControlFilesOperation()),CE(7),vg("routerLink",KC(5,B)),CE(9),vg("routerLink",KC(6,G)),CE(3),cT(C.hasRestoreControlFilesOperation()?23:-1));},dependencies:[ee,v,f,N,_t],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;align-items:center;flex-direction:column;gap:2rem;padding:2rem 0}div.backup-types[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:43.75rem;padding:0 2rem}div.backup-types.three-column[_ngcontent-%COMP%]{grid-template-columns:1fr 1fr 1fr;max-width:65.625rem}@media only screen and (max-width:768px){div.backup-types[_ngcontent-%COMP%]{grid-template-columns:1fr}}sh-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:1rem;padding-bottom:3rem}sh-card[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:18.75rem}sh-card[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;text-align:center;width:75%}"]})};export{p as default};
@@ -1,2 +1,2 @@
1
- import {o as oe$1,F as Fe}from'./chunk-B9maI7Xa.js';import {T,ad as Mr,bC as ED,bv as N,N as Nt,b as I1,af as E1,ac as v1,G as Ge,E as D1,z as za,c1 as oe,c2 as ae,bw as le,h as hw,d as N$1,l as vT,M as aC,Q as Qi,p as cm,r as kd,U as UC,O as Od,V as Vg,X as cC,f as aT,$ as $l,j as vg,x as am,A as yg,a3 as KC,C as CE,Y as Yg,aC as mg,i as cT,W as Wg,K as fC,w as jC}from'./main-VVQP2YE7.js';var X=["inputRef"],Z=["optionsRef"],ee=["*",[["","menu",""]]],te=["*","[menu]"],ie=()=>({closeOnButton:false,closeOnEsc:true});function ne(a,J){a&1&&(Qi(0,"sh-icon",5),jC(1,"caret-down"),$l());}function se(a,J){a&1&&(Qi(0,"sh-icon",6),jC(1,"caret-right"),$l());}var m=[],ve=(()=>{class a{constructor(){this.#i=T(Mr),this.#t=T(ED),this.#e=T(N),this.parentMenu=T(a,{optional:true,skipSelf:true}),this.isSubmenu=Nt(()=>this.parentMenu!==null),this.asMultiLayer=I1(false),this.openIndicator=I1(false),this.disabled=I1(false),this.customOptionElementSelectors=I1(["button"]),this.keepClickedOptionActive=I1(false),this.closeOnClick=I1(true),this.isOpen=E1(false),this.closed=v1(),this.searchable=I1(false),this.activeOptionIndex=Ge(-1),this.inputRef=D1("inputRef"),this.optionsRef=D1("optionsRef"),this.openMenusEffect=za(t=>{this.isOpen()&&m.push(this),t(()=>{let i=m.indexOf(this);i>-1&&m.splice(i,1);});}),this.options=oe(this.optionsRef,this.customOptionElementSelectors),this.optionsEl=Nt(()=>{let t=this.optionsRef()?.nativeElement;return t?this.options.signal().filter(i=>i.disabled?false:i.closest(".options")===t):[]}),this.inputValue=ae(this.inputRef),this.optionsId=le(),this.activeOptionId=Ge(void 0),this.abortController=null,this.optionsEffect=za(t=>{if(this.abortController!==null&&(this.abortController.abort(),this.abortController=null),!this.isOpen())return;if(this.searchable()&&this.#e.pause(),t(()=>{this.searchable()&&this.#e.resume();}),this.abortController=new AbortController,!this.searchable())this.#i.documentElement.addEventListener("keydown",this.keyDownEventListener,{signal:this.abortController.signal});else {let n=this.inputRef()?.nativeElement;n&&n.addEventListener("keydown",this.keyDownEventListener,{signal:this.abortController.signal});}let e=this.inputRef()?.nativeElement;e&&(queueMicrotask(()=>e.focus()),this.closeOnClick()||this.optionsRef()?.nativeElement?.addEventListener("click",s=>{let o=s.target,r=this.activeElements();if(!r.length){let c=this.optionsEl();this.activeElements.set(c),r=c;}let p=r.findIndex(c=>c===o);p>-1&&(this.activeOptionIndex.set(p),e.focus());}));}),this.keyDownEventListener=t=>{if(m.at(-1)!==this)return;let i=this.activeOptionIndex(),e=this.searchable();if(this.#e.matches(t,"menu.next"))t.preventDefault(),this.activeOptionIndex.set(this.nextActiveIndex(i));else if(this.#e.matches(t,"menu.prev"))t.preventDefault(),this.activeOptionIndex.set(this.prevActiveIndex(i));else if(this.#e.matches(t,"menu.open-submenu")){if(!e&&i>-1){let n=this.activeElements()[i];if(n.parentElement?.hasAttribute("trigger")){t.preventDefault();let o=new CustomEvent("ship-menu-open",{bubbles:true,cancelable:true,detail:{keyboard:true}});n.dispatchEvent(o);}}}else if(this.#e.matches(t,"menu.close-submenu"))!e&&this.isSubmenu()&&(t.preventDefault(),this.close("closed"));else if(this.#e.matches(t,"menu.select")){let n=t.key==="Enter",s=t.key===" "||t.key==="Spacebar";if((n||s&&!e)&&(t.preventDefault(),i>-1)){let o=this.activeElements()[i];if(o.parentElement?.hasAttribute("trigger")){let p=new CustomEvent("ship-menu-open",{bubbles:true,cancelable:true,detail:{keyboard:true}});o.dispatchEvent(p);}else o.click(),o.querySelector("sh-checkbox")||queueMicrotask(()=>this.close("active"));}}else if(t.key==="Tab"){let n=this.activeElements();if(!n.length){let s=this.optionsEl();this.activeElements.set(s),n=s;}t.shiftKey?i<=0?(t.preventDefault(),this.close("closed")):(t.preventDefault(),this.activeOptionIndex.set(this.prevActiveIndex(i))):i>=n.length-1?(t.preventDefault(),this.close("closed")):(t.preventDefault(),this.activeOptionIndex.set(this.nextActiveIndex(i)));}},this._lastElementList=[],this.activeElements=Ge([]),this.lastInputValue="",this.inputValueEffect=za(()=>{if(!this.searchable()){this.activeElements.set(this.optionsEl());return}let i=(this.inputValue()??"").toLowerCase();if(this.#n(),!i||i===""){let n=this.optionsEl();this.activeElements.set(n),this._lastElementList=n;for(let s=0;s<n.length;s++)this.#t.removeStyle(n[s],"order"),n[s].id||(n[s].id=`${this.optionsId}-option-${s}`),n[s].setAttribute("role","option");return}if(!i||i==="")return;let e=this._lastElementList.length&&i.length>this.lastInputValue.length?this._lastElementList:this.optionsEl();this.lastInputValue=i;for(let n=0;n<e.length;n++){let s=e[n],o=s.textContent?.toLowerCase()||"",r=this.#s(o,i);s.value=r;}e=e.filter(n=>n.value>0).sort((n,s)=>s.value-n.value);for(let n=0;n<e.length;n++)this.#t.setStyle(e[n],"order",n);this.activeElements.set(e),this._lastElementList=e;for(let n=0;n<e.length;n++)e[n].id||(e[n].id=`${this.optionsId}-option-${n}`),e[n].setAttribute("role","option");}),this.activeOptionIndexEffect=za(()=>{let t=this.activeElements(),i=this.activeOptionIndex();for(let e=0;e<t.length;e++)t[e].classList.remove("active"),t[e].removeAttribute("aria-selected");if(i>-1){let e=t[i];e.scrollIntoView({block:"center"}),e.classList.add("active"),e.setAttribute("aria-selected","true"),this.activeOptionId.set(e.id);}else this.activeOptionId.set(void 0);});}#i;#t;#e;toggleIsOpen(t){t.preventDefault(),t.stopPropagation(),!this.disabled()&&(this.isOpen()?this.close("fromPopover"):this.open());}open(){this.disabled()||(this.isOpen.set(true),this.searchable()&&setTimeout(()=>this.inputRef()?.nativeElement.focus()));}onShipMenuOpen(t){t.preventDefault(),t.stopPropagation(),this.open(),t.detail?.keyboard&&setTimeout(()=>{this.activeOptionIndex.set(0);},50);}#s(t,i){if(!i)return 0;let e=0,n=-1,s=0,o=true;for(let r=0;r<i.length;r++){let p=i[r];if(t.length>n+1&&t[n+1]===p)e+=r===0?100:150,n++,s++;else {let c=t.indexOf(p,n+1);if(r>0&&(o=false),c===-1)return 0;e+=100,n=c,s++;}}return o&&i.length===s&&(e+=1e3),e+=s*20,e}nextActiveIndex(t){let i=this.activeElements();if(!i.length){let n=this.optionsEl();this.activeElements.set(n),i=n;}if(t===-1||t===i.length-1)return 0;let e=t+1;return i[e].disabled?this.nextActiveIndex(e):e}prevActiveIndex(t){let i=this.activeElements();if(!i.length){let n=this.optionsEl();this.activeElements.set(n),i=n;}if(t===0||t===-1)return i.length-1;let e=t-1;return i[e].disabled?this.prevActiveIndex(e):e}close(t="closed",i){this.inputValue.set("");let e=this.inputRef()?.nativeElement;if(e&&(e.value=""),this.closeOnClick()&&((!this.keepClickedOptionActive()||t==="closed")&&this.#n(),this.isOpen.set(false),this.closed.emit(t==="active"),this.isSubmenu())){let n=this.parentMenu?.inputRef()?.nativeElement;n&&queueMicrotask(()=>n.focus());}}#n(){this.activeOptionIndex.set(-1);let t=this.optionsEl();for(let i=0;i<t.length;i++)t[i].classList.remove("active"),t[i].removeAttribute("aria-selected");}ngOnDestroy(){this.abortController&&(this.abortController.abort(),this.abortController=null);let t=m.indexOf(this);t>-1&&m.splice(t,1);}static{this.\u0275fac=function(i){return new(i||a)};}static{this.\u0275cmp=hw({type:a,selectors:[["sh-menu"]],viewQuery:function(i,e){i&1&&Wg(e.inputRef,X,5)(e.optionsRef,Z,5),i&2&&fC(2);},hostVars:6,hostBindings:function(i,e){i&1&&Vg("ship-menu-open",function(s){return e.onShipMenuOpen(s)}),i&2&&Yg("disabled",e.disabled())("has-search",e.searchable())("multi-layer",e.asMultiLayer());},inputs:{asMultiLayer:[1,"asMultiLayer"],openIndicator:[1,"openIndicator"],disabled:[1,"disabled"],customOptionElementSelectors:[1,"customOptionElementSelectors"],keepClickedOptionActive:[1,"keepClickedOptionActive"],closeOnClick:[1,"closeOnClick"],isOpen:[1,"isOpen"],searchable:[1,"searchable"]},outputs:{isOpen:"isOpenChange",closed:"closed"},ngContentSelectors:te,decls:13,vars:21,consts:[["formFieldWrapper",""],["inputRef",""],["optionsRef",""],[3,"isOpenChange","closed","isOpen","disableOpenByClick","asMultiLayer","options"],["trigger","","role","combobox","aria-haspopup","listbox",3,"click"],[1,"open-indicator"],[1,"submenu-indicator"],[1,"form-field-wrap"],[1,"small","stretch"],["type","text","placeholder","Search","role","combobox","aria-autocomplete","list"],["role","listbox",1,"options",3,"click","id"]],template:function(i,e){if(i&1){let n=vT();aC(ee),Qi(0,"sh-popover",3,0),cm("isOpenChange",function(o){return kd(n),UC(e.isOpen,o)||(e.isOpen=o),Od(o)}),Vg("closed",function(){return e.close("fromPopover")}),Qi(2,"div",4),Vg("click",function(o){return e.toggleIsOpen(o)}),cC(3),aT(4,ne,2,0,"sh-icon",5),aT(5,se,2,0,"sh-icon",6),$l(),Qi(6,"div",7)(7,"sh-form-field",8),vg(8,"input",9,1),$l()(),Qi(10,"div",10,2),Vg("click",function(){return e.close("active")}),cC(12,1),$l()();}i&2&&(am("isOpen",e.isOpen),yg("disableOpenByClick",true)("asMultiLayer",e.asMultiLayer())("options",KC(20,ie)),CE(2),Yg("is-open",e.isOpen()),mg("aria-expanded",e.isOpen())("aria-controls",e.optionsId)("aria-activedescendant",e.activeOptionId()),CE(2),cT(e.openIndicator()?4:-1),CE(),cT(e.isSubmenu()?5:-1),CE(2),Yg("hidden",e.searchable()===false),CE(),mg("aria-expanded",e.isOpen())("aria-controls",e.optionsId)("aria-activedescendant",e.activeOptionId()),CE(2),Yg("searching",e.searchable()&&e.inputValue()!==""),yg("id",e.optionsId),mg("aria-activedescendant",e.activeOptionId()));},dependencies:[oe$1,Fe,N$1],styles:[`sh-menu{--menu-mh: 20rem;display:inline-flex;position:relative}sh-menu.disabled{opacity:.5;pointer-events:none}sh-menu.stretch{width:100%}sh-menu.stretch [trigger]>*{width:100%}sh-menu.has-search sh-popover .options [title]{position:sticky;border-bottom:var(--border-10)}sh-menu.has-search .form-field-wrap{margin:.5rem .5rem 0}sh-menu.has-search .options{margin:.25rem 0 0}sh-menu.multi-layer [trigger]:has(sh-icon.open-indicator).is-open .open-indicator{transform:translateY(-50%) rotate(-90deg)}sh-menu.multi-layer [trigger]:has(sh-icon.open-indicator){display:flex}sh-menu.multi-layer [trigger]:has(sh-icon.open-indicator) .open-indicator{right:1rem}sh-menu.multi-layer [trigger] button:first-child{margin-top:0}sh-menu [trigger]:has(sh-icon.open-indicator){position:relative}sh-menu [trigger]:has(sh-icon.open-indicator)>:first-child{padding-right:2rem}sh-menu [trigger]:has(sh-icon.open-indicator) .open-indicator{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);color:var(--base-8);font-size:1rem;font-weight:inherit;pointer-events:none;transition:transform 75ms ease-in-out}sh-menu [trigger]:has(sh-icon.open-indicator).is-open .open-indicator{transform:translateY(-50%) rotate(-180deg)}sh-menu [trigger]:has(sh-icon.submenu-indicator){position:relative}sh-menu [trigger]:has(sh-icon.submenu-indicator)>:first-child{padding-right:2rem!important}sh-menu [trigger]:has(sh-icon.submenu-indicator) .submenu-indicator{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--base-8);font-size:1rem;font-weight:inherit;pointer-events:none;transition:transform 75ms ease-in-out}sh-menu [trigger]:has(sh-icon.submenu-indicator).is-open .submenu-indicator{transform:translateY(-50%) rotate(90deg)}sh-menu sh-popover{flex:1 0}sh-menu sh-popover .popover{padding:0}sh-menu sh-popover .popover-content{overflow:hidden}sh-menu sh-popover .form-field-wrap sh-form-field{z-index:10;background-color:var(--base-1)}sh-menu sh-popover .form-field-wrap sh-form-field.hidden{opacity:0;height:0;width:0;min-width:0;min-height:0;margin:0}sh-menu sh-popover .options{z-index:2;position:relative;display:flex;flex-direction:column;gap:.25rem;padding:0;margin:0;max-height:var(--menu-mh);overflow:auto}sh-menu sh-popover .options sh-menu:first-child,sh-menu sh-popover .options button:first-child{margin-top:.5rem}sh-menu sh-popover .options.searching button[disabled]{display:none}sh-menu sh-popover .options.searching button[value="0"]{display:none}sh-menu sh-popover .options.searching>*:not(button){display:none}sh-menu sh-popover .options:after{content:"";display:block;width:100%;min-height:.25rem;order:9999999}sh-menu sh-popover .options [title]{font:var(--paragraph-30);color:var(--base-8);padding:.5rem .75rem;margin:0;-webkit-user-select:none;user-select:none;position:relative;top:0;z-index:10;background-color:var(--base-1)}sh-menu sh-popover .options button{display:flex;justify-content:flex-start;align-items:center;text-align:left;height:auto;margin:0 .5rem;padding:.25rem .5rem;gap:0 .5rem;width:calc(100% - 1rem);border-radius:var(--shape-2);appearance:none;background-color:transparent;border:0;cursor:pointer;color:var(--base-12);transition:transform 125ms linear;transform:scale(1)}sh-menu sh-popover .options button:before{content:"";min-height:1.5rem;display:inline-block;width:0;margin-right:-.5rem}sh-menu sh-popover .options button:active{transform:scale(.98)}sh-menu sh-popover .options button[disabled]{opacity:.3;cursor:initial}sh-menu sh-popover .options button[disabled]:hover{background-color:transparent}sh-menu sh-popover .options button [suffix]{order:999;color:var(--base-8);font:var(--paragraph-30);justify-self:flex-end;display:inline-flex;flex:1 0;justify-content:flex-end}sh-menu sh-popover .options button sh-icon{font-size:1rem}sh-menu sh-popover .options button.active,sh-menu sh-popover .options button:hover{background-color:var(--base-2);color:var(--base-12)}sh-menu sh-popover .options button.focused{background-color:var(--primary-2);color:var(--base-12)}sh-menu sh-popover .options button.focused:hover{background-color:var(--primary-3)}
1
+ import {o as oe$1,F as Fe}from'./chunk-DhiIZLrA.js';import {T,ad as Mr,bC as ED,bu as N,N as Nt,E as E1,af as D1,ac as I1,G as Ge,D as w1,z as za,c0 as oe,c1 as ae,bv as le,h as hw,c as N$1,l as vT,S as aC,Q as Qi,p as lm,O as Od,U as UC,P as Pd,H as Hg,Y as cC,d as aT,$ as $l,i as Ig,w as cm,y as vg,a3 as KC,C as CE,L as Kg,aC as yg,g as cT,M as qg,R as fC,s as jC}from'./main-3NL5M6JB.js';var X=["inputRef"],Z=["optionsRef"],ee=["*",[["","menu",""]]],te=["*","[menu]"],ie=()=>({closeOnButton:false,closeOnEsc:true});function ne(a,J){a&1&&(Qi(0,"sh-icon",5),jC(1,"caret-down"),$l());}function se(a,J){a&1&&(Qi(0,"sh-icon",6),jC(1,"caret-right"),$l());}var m=[],ve=(()=>{class a{constructor(){this.#i=T(Mr),this.#t=T(ED),this.#e=T(N),this.parentMenu=T(a,{optional:true,skipSelf:true}),this.isSubmenu=Nt(()=>this.parentMenu!==null),this.asMultiLayer=E1(false),this.openIndicator=E1(false),this.disabled=E1(false),this.customOptionElementSelectors=E1(["button"]),this.keepClickedOptionActive=E1(false),this.closeOnClick=E1(true),this.isOpen=D1(false),this.closed=I1(),this.searchable=E1(false),this.activeOptionIndex=Ge(-1),this.inputRef=w1("inputRef"),this.optionsRef=w1("optionsRef"),this.openMenusEffect=za(t=>{this.isOpen()&&m.push(this),t(()=>{let i=m.indexOf(this);i>-1&&m.splice(i,1);});}),this.options=oe(this.optionsRef,this.customOptionElementSelectors),this.optionsEl=Nt(()=>{let t=this.optionsRef()?.nativeElement;return t?this.options.signal().filter(i=>i.disabled?false:i.closest(".options")===t):[]}),this.inputValue=ae(this.inputRef),this.optionsId=le(),this.activeOptionId=Ge(void 0),this.abortController=null,this.optionsEffect=za(t=>{if(this.abortController!==null&&(this.abortController.abort(),this.abortController=null),!this.isOpen())return;if(this.searchable()&&this.#e.pause(),t(()=>{this.searchable()&&this.#e.resume();}),this.abortController=new AbortController,!this.searchable())this.#i.documentElement.addEventListener("keydown",this.keyDownEventListener,{signal:this.abortController.signal});else {let n=this.inputRef()?.nativeElement;n&&n.addEventListener("keydown",this.keyDownEventListener,{signal:this.abortController.signal});}let e=this.inputRef()?.nativeElement;e&&(queueMicrotask(()=>e.focus()),this.closeOnClick()||this.optionsRef()?.nativeElement?.addEventListener("click",s=>{let o=s.target,r=this.activeElements();if(!r.length){let c=this.optionsEl();this.activeElements.set(c),r=c;}let p=r.findIndex(c=>c===o);p>-1&&(this.activeOptionIndex.set(p),e.focus());}));}),this.keyDownEventListener=t=>{if(m.at(-1)!==this)return;let i=this.activeOptionIndex(),e=this.searchable();if(this.#e.matches(t,"menu.next"))t.preventDefault(),this.activeOptionIndex.set(this.nextActiveIndex(i));else if(this.#e.matches(t,"menu.prev"))t.preventDefault(),this.activeOptionIndex.set(this.prevActiveIndex(i));else if(this.#e.matches(t,"menu.open-submenu")){if(!e&&i>-1){let n=this.activeElements()[i];if(n.parentElement?.hasAttribute("trigger")){t.preventDefault();let o=new CustomEvent("ship-menu-open",{bubbles:true,cancelable:true,detail:{keyboard:true}});n.dispatchEvent(o);}}}else if(this.#e.matches(t,"menu.close-submenu"))!e&&this.isSubmenu()&&(t.preventDefault(),this.close("closed"));else if(this.#e.matches(t,"menu.select")){let n=t.key==="Enter",s=t.key===" "||t.key==="Spacebar";if((n||s&&!e)&&(t.preventDefault(),i>-1)){let o=this.activeElements()[i];if(o.parentElement?.hasAttribute("trigger")){let p=new CustomEvent("ship-menu-open",{bubbles:true,cancelable:true,detail:{keyboard:true}});o.dispatchEvent(p);}else o.click(),o.querySelector("sh-checkbox")||queueMicrotask(()=>this.close("active"));}}else if(t.key==="Tab"){let n=this.activeElements();if(!n.length){let s=this.optionsEl();this.activeElements.set(s),n=s;}t.shiftKey?i<=0?(t.preventDefault(),this.close("closed")):(t.preventDefault(),this.activeOptionIndex.set(this.prevActiveIndex(i))):i>=n.length-1?(t.preventDefault(),this.close("closed")):(t.preventDefault(),this.activeOptionIndex.set(this.nextActiveIndex(i)));}},this._lastElementList=[],this.activeElements=Ge([]),this.lastInputValue="",this.inputValueEffect=za(()=>{if(!this.searchable()){this.activeElements.set(this.optionsEl());return}let i=(this.inputValue()??"").toLowerCase();if(this.#n(),!i||i===""){let n=this.optionsEl();this.activeElements.set(n),this._lastElementList=n;for(let s=0;s<n.length;s++)this.#t.removeStyle(n[s],"order"),n[s].id||(n[s].id=`${this.optionsId}-option-${s}`),n[s].setAttribute("role","option");return}if(!i||i==="")return;let e=this._lastElementList.length&&i.length>this.lastInputValue.length?this._lastElementList:this.optionsEl();this.lastInputValue=i;for(let n=0;n<e.length;n++){let s=e[n],o=s.textContent?.toLowerCase()||"",r=this.#s(o,i);s.value=r;}e=e.filter(n=>n.value>0).sort((n,s)=>s.value-n.value);for(let n=0;n<e.length;n++)this.#t.setStyle(e[n],"order",n);this.activeElements.set(e),this._lastElementList=e;for(let n=0;n<e.length;n++)e[n].id||(e[n].id=`${this.optionsId}-option-${n}`),e[n].setAttribute("role","option");}),this.activeOptionIndexEffect=za(()=>{let t=this.activeElements(),i=this.activeOptionIndex();for(let e=0;e<t.length;e++)t[e].classList.remove("active"),t[e].removeAttribute("aria-selected");if(i>-1){let e=t[i];e.scrollIntoView({block:"center"}),e.classList.add("active"),e.setAttribute("aria-selected","true"),this.activeOptionId.set(e.id);}else this.activeOptionId.set(void 0);});}#i;#t;#e;toggleIsOpen(t){t.preventDefault(),t.stopPropagation(),!this.disabled()&&(this.isOpen()?this.close("fromPopover"):this.open());}open(){this.disabled()||(this.isOpen.set(true),this.searchable()&&setTimeout(()=>this.inputRef()?.nativeElement.focus()));}onShipMenuOpen(t){t.preventDefault(),t.stopPropagation(),this.open(),t.detail?.keyboard&&setTimeout(()=>{this.activeOptionIndex.set(0);},50);}#s(t,i){if(!i)return 0;let e=0,n=-1,s=0,o=true;for(let r=0;r<i.length;r++){let p=i[r];if(t.length>n+1&&t[n+1]===p)e+=r===0?100:150,n++,s++;else {let c=t.indexOf(p,n+1);if(r>0&&(o=false),c===-1)return 0;e+=100,n=c,s++;}}return o&&i.length===s&&(e+=1e3),e+=s*20,e}nextActiveIndex(t){let i=this.activeElements();if(!i.length){let n=this.optionsEl();this.activeElements.set(n),i=n;}if(t===-1||t===i.length-1)return 0;let e=t+1;return i[e].disabled?this.nextActiveIndex(e):e}prevActiveIndex(t){let i=this.activeElements();if(!i.length){let n=this.optionsEl();this.activeElements.set(n),i=n;}if(t===0||t===-1)return i.length-1;let e=t-1;return i[e].disabled?this.prevActiveIndex(e):e}close(t="closed",i){this.inputValue.set("");let e=this.inputRef()?.nativeElement;if(e&&(e.value=""),this.closeOnClick()&&((!this.keepClickedOptionActive()||t==="closed")&&this.#n(),this.isOpen.set(false),this.closed.emit(t==="active"),this.isSubmenu())){let n=this.parentMenu?.inputRef()?.nativeElement;n&&queueMicrotask(()=>n.focus());}}#n(){this.activeOptionIndex.set(-1);let t=this.optionsEl();for(let i=0;i<t.length;i++)t[i].classList.remove("active"),t[i].removeAttribute("aria-selected");}ngOnDestroy(){this.abortController&&(this.abortController.abort(),this.abortController=null);let t=m.indexOf(this);t>-1&&m.splice(t,1);}static{this.\u0275fac=function(i){return new(i||a)};}static{this.\u0275cmp=hw({type:a,selectors:[["sh-menu"]],viewQuery:function(i,e){i&1&&qg(e.inputRef,X,5)(e.optionsRef,Z,5),i&2&&fC(2);},hostVars:6,hostBindings:function(i,e){i&1&&Hg("ship-menu-open",function(s){return e.onShipMenuOpen(s)}),i&2&&Kg("disabled",e.disabled())("has-search",e.searchable())("multi-layer",e.asMultiLayer());},inputs:{asMultiLayer:[1,"asMultiLayer"],openIndicator:[1,"openIndicator"],disabled:[1,"disabled"],customOptionElementSelectors:[1,"customOptionElementSelectors"],keepClickedOptionActive:[1,"keepClickedOptionActive"],closeOnClick:[1,"closeOnClick"],isOpen:[1,"isOpen"],searchable:[1,"searchable"]},outputs:{isOpen:"isOpenChange",closed:"closed"},ngContentSelectors:te,decls:13,vars:21,consts:[["formFieldWrapper",""],["inputRef",""],["optionsRef",""],[3,"isOpenChange","closed","isOpen","disableOpenByClick","asMultiLayer","options"],["trigger","","role","combobox","aria-haspopup","listbox",3,"click"],[1,"open-indicator"],[1,"submenu-indicator"],[1,"form-field-wrap"],[1,"small","stretch"],["type","text","placeholder","Search","role","combobox","aria-autocomplete","list"],["role","listbox",1,"options",3,"click","id"]],template:function(i,e){if(i&1){let n=vT();aC(ee),Qi(0,"sh-popover",3,0),lm("isOpenChange",function(o){return Od(n),UC(e.isOpen,o)||(e.isOpen=o),Pd(o)}),Hg("closed",function(){return e.close("fromPopover")}),Qi(2,"div",4),Hg("click",function(o){return e.toggleIsOpen(o)}),cC(3),aT(4,ne,2,0,"sh-icon",5),aT(5,se,2,0,"sh-icon",6),$l(),Qi(6,"div",7)(7,"sh-form-field",8),Ig(8,"input",9,1),$l()(),Qi(10,"div",10,2),Hg("click",function(){return e.close("active")}),cC(12,1),$l()();}i&2&&(cm("isOpen",e.isOpen),vg("disableOpenByClick",true)("asMultiLayer",e.asMultiLayer())("options",KC(20,ie)),CE(2),Kg("is-open",e.isOpen()),yg("aria-expanded",e.isOpen())("aria-controls",e.optionsId)("aria-activedescendant",e.activeOptionId()),CE(2),cT(e.openIndicator()?4:-1),CE(),cT(e.isSubmenu()?5:-1),CE(2),Kg("hidden",e.searchable()===false),CE(),yg("aria-expanded",e.isOpen())("aria-controls",e.optionsId)("aria-activedescendant",e.activeOptionId()),CE(2),Kg("searching",e.searchable()&&e.inputValue()!==""),vg("id",e.optionsId),yg("aria-activedescendant",e.activeOptionId()));},dependencies:[oe$1,Fe,N$1],styles:[`sh-menu{--menu-mh: 20rem;display:inline-flex;position:relative}sh-menu.disabled{opacity:.5;pointer-events:none}sh-menu.stretch{width:100%}sh-menu.stretch [trigger]>*{width:100%}sh-menu.has-search sh-popover .options [title]{position:sticky;border-bottom:var(--border-10)}sh-menu.has-search .form-field-wrap{margin:.5rem .5rem 0}sh-menu.has-search .options{margin:.25rem 0 0}sh-menu.multi-layer [trigger]:has(sh-icon.open-indicator).is-open .open-indicator{transform:translateY(-50%) rotate(-90deg)}sh-menu.multi-layer [trigger]:has(sh-icon.open-indicator){display:flex}sh-menu.multi-layer [trigger]:has(sh-icon.open-indicator) .open-indicator{right:1rem}sh-menu.multi-layer [trigger] button:first-child{margin-top:0}sh-menu [trigger]:has(sh-icon.open-indicator){position:relative}sh-menu [trigger]:has(sh-icon.open-indicator)>:first-child{padding-right:2rem}sh-menu [trigger]:has(sh-icon.open-indicator) .open-indicator{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);color:var(--base-8);font-size:1rem;font-weight:inherit;pointer-events:none;transition:transform 75ms ease-in-out}sh-menu [trigger]:has(sh-icon.open-indicator).is-open .open-indicator{transform:translateY(-50%) rotate(-180deg)}sh-menu [trigger]:has(sh-icon.submenu-indicator){position:relative}sh-menu [trigger]:has(sh-icon.submenu-indicator)>:first-child{padding-right:2rem!important}sh-menu [trigger]:has(sh-icon.submenu-indicator) .submenu-indicator{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--base-8);font-size:1rem;font-weight:inherit;pointer-events:none;transition:transform 75ms ease-in-out}sh-menu [trigger]:has(sh-icon.submenu-indicator).is-open .submenu-indicator{transform:translateY(-50%) rotate(90deg)}sh-menu sh-popover{flex:1 0}sh-menu sh-popover .popover{padding:0}sh-menu sh-popover .popover-content{overflow:hidden}sh-menu sh-popover .form-field-wrap sh-form-field{z-index:10;background-color:var(--base-1)}sh-menu sh-popover .form-field-wrap sh-form-field.hidden{opacity:0;height:0;width:0;min-width:0;min-height:0;margin:0}sh-menu sh-popover .options{z-index:2;position:relative;display:flex;flex-direction:column;gap:.25rem;padding:0;margin:0;max-height:var(--menu-mh);overflow:auto}sh-menu sh-popover .options sh-menu:first-child,sh-menu sh-popover .options button:first-child{margin-top:.5rem}sh-menu sh-popover .options.searching button[disabled]{display:none}sh-menu sh-popover .options.searching button[value="0"]{display:none}sh-menu sh-popover .options.searching>*:not(button){display:none}sh-menu sh-popover .options:after{content:"";display:block;width:100%;min-height:.25rem;order:9999999}sh-menu sh-popover .options [title]{font:var(--paragraph-30);color:var(--base-8);padding:.5rem .75rem;margin:0;-webkit-user-select:none;user-select:none;position:relative;top:0;z-index:10;background-color:var(--base-1)}sh-menu sh-popover .options button{display:flex;justify-content:flex-start;align-items:center;text-align:left;height:auto;margin:0 .5rem;padding:.25rem .5rem;gap:0 .5rem;width:calc(100% - 1rem);border-radius:var(--shape-2);appearance:none;background-color:transparent;border:0;cursor:pointer;color:var(--base-12);transition:transform 125ms linear;transform:scale(1)}sh-menu sh-popover .options button:before{content:"";min-height:1.5rem;display:inline-block;width:0;margin-right:-.5rem}sh-menu sh-popover .options button:active{transform:scale(.98)}sh-menu sh-popover .options button[disabled]{opacity:.3;cursor:initial}sh-menu sh-popover .options button[disabled]:hover{background-color:transparent}sh-menu sh-popover .options button [suffix]{order:999;color:var(--base-8);font:var(--paragraph-30);justify-self:flex-end;display:inline-flex;flex:1 0;justify-content:flex-end}sh-menu sh-popover .options button sh-icon{font-size:1rem}sh-menu sh-popover .options button.active,sh-menu sh-popover .options button:hover{background-color:var(--base-2);color:var(--base-12)}sh-menu sh-popover .options button.focused{background-color:var(--primary-2);color:var(--base-12)}sh-menu sh-popover .options button.focused:hover{background-color:var(--primary-3)}
2
2
  `],encapsulation:2});}}return a})();export{ve as v};
@@ -1 +1 @@
1
- import {T,B as v$1,h as hw,v as v$2,_ as _t,Q as Qi,f as aT,$ as $l,C as CE,i as cT,M as aC,P as Ul,R as Ig,w as jC,S as Wl,X as cC,n as nC}from'./main-VVQP2YE7.js';var S=["*",[["","footer",""]]],L=["*","[footer]"],s=class t{static \u0275fac=function(e){return new(e||t)};static \u0275cmp=hw({type:t,selectors:[["app-custom-card"]],ngContentSelectors:L,decls:11,vars:0,consts:[[1,"card"],["src","assets/noise/auth-noise.svg",1,"noise"],[1,"header-title"],["src","assets/duplicati/duplicati.svg","alt",""],[1,"bg"]],template:function(e,o){e&1&&(aC(S),Ul(0,"div",0),Ig(1,"img",1),Ul(2,"header")(3,"div",2),Ig(4,"img",3),jC(5," Duplicati "),Wl()(),Ul(6,"main"),cC(7),Ul(8,"footer"),cC(9,1),Wl()()(),Ig(10,"div",4));},styles:['[_nghost-%COMP%]{height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;background-color:var(--base-2)}body.dark [_nghost-%COMP%] .card[_ngcontent-%COMP%]:before{background:radial-gradient(rgba(var(--primary-rgb-900),1),#0000 60%)}.card[_ngcontent-%COMP%]{max-width:30rem;width:100%;position:relative;z-index:100;background-color:var(--base-1);border-radius:var(--shape-5);box-shadow:var(--box-shadow-40);border:1px solid var(--base-3);overflow:hidden}.card[_ngcontent-%COMP%]:before{content:"";position:absolute;height:30rem;transform:translateY(-17.8125rem);left:0;right:0;z-index:-2;background:radial-gradient(rgb(from var(--primary-1) r g b/1),#0000 60%)}.card[_ngcontent-%COMP%] img.noise[_ngcontent-%COMP%]{position:absolute;height:30rem;width:100%;transform:translateY(-17.8125rem);left:0;right:0;z-index:-1;-webkit-mask-image:radial-gradient(#000,#0000 60%);mask-image:radial-gradient(#000,#0000 60%)}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;padding:2rem 2rem 0;gap:.75rem;position:relative;z-index:10}.header-title[_ngcontent-%COMP%]{font:var(--title-30);display:flex;align-items:center;gap:.625rem}.header-title[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{height:1.75rem;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}main[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;padding:2rem;gap:2.5rem;position:relative;z-index:10}main[_ngcontent-%COMP%] footer[_ngcontent-%COMP%]{font:var(--paragraph-40);color:var(--base-9);text-align:center;text-wrap:balance}.bg[_ngcontent-%COMP%]{position:fixed;inset:0;width:100vw;height:100vh;background-image:url(assets/backgrounds/base-bg.svg);background-size:cover;background-position:center;background-repeat:no-repeat}body.dark[_ngcontent-%COMP%] .bg[_ngcontent-%COMP%]{opacity:1}footer[_ngcontent-%COMP%]:empty{display:none}']})};function v(t,n){t&1&&(Qi(0,"h3"),nC(1,0),$l());}function N(t,n){t&1&&(Qi(0,"h3"),nC(1,1),$l(),Qi(2,"button",3),nC(3,2),$l());}var p=class t{#e=T(v$1);isLoggingOut=this.#e.isLoggingOut;ngOnInit(){this.#e.logout();}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=hw({type:t,selectors:[["app-logout"]],decls:3,vars:1,consts:()=>{let n;n=$localize`Logging out...`;let e;e=$localize`You have successfully logged out your being redirected to login page.`;let o;return o=$localize`Go to login page`,[n,e,o,["shButton","","routerLink","/",1,"raised","primary"]]},template:function(e,o){e&1&&(Qi(0,"app-custom-card"),aT(1,v,2,0,"h3")(2,N,4,0),$l()),e&2&&(CE(),cT(o.isLoggingOut()?1:2));},dependencies:[s,v$2,_t],styles:["[_nghost-%COMP%]{display:block}"]})};export{p as default};
1
+ import {T,A as v$1,h as hw,v as v$2,_ as _t,Q as Qi,d as aT,$ as $l,C as CE,g as cT,S as aC,V as Ul,W as Eg,s as jC,X as Wl,Y as cC,n as nC}from'./main-3NL5M6JB.js';var S=["*",[["","footer",""]]],L=["*","[footer]"],s=class t{static \u0275fac=function(e){return new(e||t)};static \u0275cmp=hw({type:t,selectors:[["app-custom-card"]],ngContentSelectors:L,decls:11,vars:0,consts:[[1,"card"],["src","assets/noise/auth-noise.svg",1,"noise"],[1,"header-title"],["src","assets/duplicati/duplicati.svg","alt",""],[1,"bg"]],template:function(e,o){e&1&&(aC(S),Ul(0,"div",0),Eg(1,"img",1),Ul(2,"header")(3,"div",2),Eg(4,"img",3),jC(5," Duplicati "),Wl()(),Ul(6,"main"),cC(7),Ul(8,"footer"),cC(9,1),Wl()()(),Eg(10,"div",4));},styles:['[_nghost-%COMP%]{height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;background-color:var(--base-2)}body.dark [_nghost-%COMP%] .card[_ngcontent-%COMP%]:before{background:radial-gradient(rgba(var(--primary-rgb-900),1),#0000 60%)}.card[_ngcontent-%COMP%]{max-width:30rem;width:100%;position:relative;z-index:100;background-color:var(--base-1);border-radius:var(--shape-5);box-shadow:var(--box-shadow-40);border:1px solid var(--base-3);overflow:hidden}.card[_ngcontent-%COMP%]:before{content:"";position:absolute;height:30rem;transform:translateY(-17.8125rem);left:0;right:0;z-index:-2;background:radial-gradient(rgb(from var(--primary-1) r g b/1),#0000 60%)}.card[_ngcontent-%COMP%] img.noise[_ngcontent-%COMP%]{position:absolute;height:30rem;width:100%;transform:translateY(-17.8125rem);left:0;right:0;z-index:-1;-webkit-mask-image:radial-gradient(#000,#0000 60%);mask-image:radial-gradient(#000,#0000 60%)}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;padding:2rem 2rem 0;gap:.75rem;position:relative;z-index:10}.header-title[_ngcontent-%COMP%]{font:var(--title-30);display:flex;align-items:center;gap:.625rem}.header-title[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{height:1.75rem;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}main[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;padding:2rem;gap:2.5rem;position:relative;z-index:10}main[_ngcontent-%COMP%] footer[_ngcontent-%COMP%]{font:var(--paragraph-40);color:var(--base-9);text-align:center;text-wrap:balance}.bg[_ngcontent-%COMP%]{position:fixed;inset:0;width:100vw;height:100vh;background-image:url(assets/backgrounds/base-bg.svg);background-size:cover;background-position:center;background-repeat:no-repeat}body.dark[_ngcontent-%COMP%] .bg[_ngcontent-%COMP%]{opacity:1}footer[_ngcontent-%COMP%]:empty{display:none}']})};function v(t,n){t&1&&(Qi(0,"h3"),nC(1,0),$l());}function N(t,n){t&1&&(Qi(0,"h3"),nC(1,1),$l(),Qi(2,"button",3),nC(3,2),$l());}var p=class t{#e=T(v$1);isLoggingOut=this.#e.isLoggingOut;ngOnInit(){this.#e.logout();}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=hw({type:t,selectors:[["app-logout"]],decls:3,vars:1,consts:()=>{let n;n=$localize`Logging out...`;let e;e=$localize`You have successfully logged out your being redirected to login page.`;let o;return o=$localize`Go to login page`,[n,e,o,["shButton","","routerLink","/",1,"raised","primary"]]},template:function(e,o){e&1&&(Qi(0,"app-custom-card"),aT(1,v,2,0,"h3")(2,N,4,0),$l()),e&2&&(CE(),cT(o.isLoggingOut()?1:2));},dependencies:[s,v$2,_t],styles:["[_nghost-%COMP%]{display:block}"]})};export{p as default};
@@ -1 +1 @@
1
- import {O}from'./chunk-BVEyeg9y.js';import {T,h as hw,aL as hi,P as Ul,n as nC,S as Wl,w as jC,aM as ob,C as CE,J as om,aR as sb}from'./main-VVQP2YE7.js';import'./chunk-Box6Lckh.js';var i=class o{#e=T(O);serverSettings=this.#e.serverSettings;static \u0275fac=function(e){return new(e||o)};static \u0275cmp=hw({type:o,selectors:[["app-server-settings"]],decls:6,vars:3,consts:()=>{let t;return t=$localize`Server settings`,[t]},template:function(e,E){e&1&&(Ul(0,"h3"),nC(1,0),Wl(),Ul(2,"code")(3,"pre"),jC(4),ob(5,"json"),Wl()()),e&2&&(CE(4),om(sb(5,1,E.serverSettings())));},dependencies:[hi],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;padding:0 2.5rem}h3[_ngcontent-%COMP%]{font:var(--title-30)}code[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--base-8),#000 70%);color:#fff;padding:1rem 1.5rem;border-radius:var(--shape-3);overflow:auto;white-space:pre}"]})};export{i as default};
1
+ import {O}from'./chunk-CuJ_uEdr.js';import {T,h as hw,aL as hi,V as Ul,n as nC,X as Wl,s as jC,aM as ob,C as CE,K as im,aR as sb}from'./main-3NL5M6JB.js';import'./chunk-DGvC49aU.js';var i=class o{#e=T(O);serverSettings=this.#e.serverSettings;static \u0275fac=function(e){return new(e||o)};static \u0275cmp=hw({type:o,selectors:[["app-server-settings"]],decls:6,vars:3,consts:()=>{let t;return t=$localize`Server settings`,[t]},template:function(e,E){e&1&&(Ul(0,"h3"),nC(1,0),Wl(),Ul(2,"code")(3,"pre"),jC(4),ob(5,"json"),Wl()()),e&2&&(CE(4),im(sb(5,1,E.serverSettings())));},dependencies:[hi],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;padding:0 2.5rem}h3[_ngcontent-%COMP%]{font:var(--title-30)}code[_ngcontent-%COMP%]{background:color-mix(in srgb,var(--base-8),#000 70%);color:#fff;padding:1rem 1.5rem;border-radius:var(--shape-3);overflow:auto;white-space:pre}"]})};export{i as default};
@@ -1 +1 @@
1
- import v$1 from'./chunk-Cz0KuBHB.js';import'./chunk-CIcBoEH1.js';import'./chunk-B52v_pjw.js';import {k}from'./chunk-CUaRQ2FJ.js';import'./chunk-aOMoAKYY.js';import {c}from'./chunk-BpRWdcC8.js';import'./chunk-BTgf5lfZ.js';import {T,aX as y,ab as C,a6 as be$1,G as Ge,N as Nt,bb as h,h as hw,bc as Fi,bd as Jt,be as Kn,v,d as N,bf as pi,aJ as ci,aH as m,b2 as m$1,Q as Qi,f as aT,bg as ag,w as jC,$ as $l,n as nC,j as vg,V as Vg,Y as Yg,C as CE,i as cT,A as yg,J as om,aa as Ql,bh as Q,z as za,aZ as ee,l as vT,aM as ob,a1 as dT,r as kd,k as iC,O as Od,aN as ab,aB as im,aR as sb,a2 as fT,as as Wd,bi as qd,aP as ql,aQ as Gl,ap as lT}from'./main-VVQP2YE7.js';import {f}from'./chunk-Bja52qI7.js';import {d}from'./chunk-B8uF0dom.js';import'./chunk-BO2GlieG.js';import'./chunk-DqIU7ViF.js';var U=class r{#e=T(y);#n=T(Q);#i=Ge([]);recentFiles=this.#i.asReadonly();#r=5;#s=Ge(null);etaData=this.#s.asReadonly();#a=null;#t=null;#o=null;recentFileEffect=za(()=>{let i=this.#e.statusData();i&&i.CurrentFilename&&i.CurrentFilesize!==void 0&&this.#c(i.CurrentFilename,i.CurrentFilesize);});#c(i,e){let s=new Date;this.#i.update(c=>c.length>0&&c[0].filename===i?c:[{filename:i,filesize:e,timestamp:s},...c].slice(0,this.#r));}activateView(){this.#a=new Date;let i=this.#e.statusData();i&&i.ProcessedFileCount!==void 0&&i.ProcessedFileSize!==void 0&&(this.#t={files:i.ProcessedFileCount,bytes:i.ProcessedFileSize}),this.#o=setInterval(()=>{this.#l();},1e3);}deactivateView(){this.#a=null,this.#t=null,this.#o&&(clearInterval(this.#o),this.#o=null);}#l(){if(!this.#a||!this.#t)return;let i=this.#e.statusData();if(!i)return;let e=new Date,s=(e.getTime()-this.#a.getTime())/1e3;if(s<5)return;let c=i.ProcessedFileCount||0,P=i.ProcessedFileSize||0,I=c-this.#t.files,k=P-this.#t.bytes,x=I/s,M=k/s,A=(i.TotalFileCount||0)-c,u=(i.TotalFileSize||0)-P,O=null,T=null;x>0&&(O=A/x),M>0&&(T=u/M);let R=null,w="bytes";if(O!==null&&T!==null){let Se=Math.max(O,T);R=new Date(e.getTime()+Se*1e3),w=O>T?"files":"bytes";}else O!==null?(R=new Date(e.getTime()+O*1e3),w="files"):T!==null&&(R=new Date(e.getTime()+T*1e3),w="bytes");this.#s.set({startTime:this.#a,filesProcessedAtStart:this.#t.files,bytesProcessedAtStart:this.#t.bytes,currentFilesPerSecond:x,currentBytesPerSecond:M,estimatedCompletion:R,metric:w});}static \u0275fac=function(e){return new(e||r)};static \u0275prov=ee({token:r,factory:r.\u0275fac,providedIn:"root"})};function xe(r,i){if(r&1&&(Qi(0,"div",42)(1,"span",20),jC(2,"Processing"),$l(),Qi(3,"sh-list",43)(4,"div",44)(5,"sh-icon"),jC(6,"file"),$l(),Qi(7,"div",45)(8,"span",46),jC(9),$l(),Qi(10,"span",47),jC(11),ob(12,"bytes"),$l()()()()()),r&2){let e=iC(2);CE(8),yg("title",e.statusData()?.CurrentFilename),CE(),Ql(" ",e.statusData()?.CurrentFilename," "),CE(2),om(sb(12,3,e.statusData()?.CurrentFilesize));}}function Me(r,i){if(r&1&&(Qi(0,"div",35)(1,"span",46),jC(2),$l(),Qi(3,"span",47),jC(4),ob(5,"bytes"),$l()()),r&2){let e=i.$implicit;CE(),yg("title",e.filename),CE(),om(e.filename),CE(2),om(sb(5,3,e.filesize));}}function Oe(r,i){r&1&&(Qi(0,"div",36),nC(1,2),$l());}function Te(r,i){if(r&1&&(Qi(0,"sh-list")(1,"div",48)(2,"span",20),jC(3,"ETA"),$l(),Qi(4,"span",21),jC(5),ob(6,"date"),Qi(7,"span",49),jC(8),ob(9,"relativeTime"),$l()()(),Qi(10,"div",50)(11,"span",20),jC(12,"Files/s"),$l(),Qi(13,"span",21),jC(14),ob(15,"number"),$l()(),Qi(16,"div",50)(17,"span",20),jC(18,"Upload Speed"),$l(),Qi(19,"span",21),jC(20),ob(21,"bytes"),$l()()()),r&2){let e=iC(2);CE(5),Ql(" ",ab(6,4,e.etaData()?.estimatedCompletion,"mediumTime")," "),CE(3),Ql(" (",sb(9,7,e.etaData()?.estimatedCompletion),") "),CE(6),Ql(" ",ab(15,9,e.etaData()?.currentFilesPerSecond,"1.1-1")," "),CE(6),Ql("",sb(21,12,e.etaData()?.currentBytesPerSecond),"/s");}}function ve(r,i){if(r&1&&(Qi(0,"div",53)(1,"div",54)(2,"span",55),jC(3),$l(),Qi(4,"span",56),jC(5),ob(6,"bytes"),$l()(),vg(7,"sh-progress-bar",57),$l()),r&2){let e=i.$implicit;CE(2),yg("title",e.BackendPath),CE(),om(e.BackendPath),CE(2),Ql("",sb(6,4,e.BackendSpeed),"/s"),CE(2),yg("value",(e.BackendFileProgress||0)/(e.BackendFileSize||1)*100);}}function he(r,i){if(r&1&&(Qi(0,"div",51)(1,"sh-list"),ag(2,ve,8,6,"div",52),$l()()),r&2){let e=iC(2);CE(2),yg("ngForOf",e.statusData()?.ActiveTransfers);}}function ye(r,i){if(r&1){let e=vT();Qi(0,"sh-card")(1,"div",13)(2,"div",14)(3,"sh-icon",15),jC(4,"clock"),$l(),Qi(5,"h2"),jC(6),$l()()(),Qi(7,"div",26)(8,"div",27)(9,"span",28),jC(10),ob(11,"number"),$l()(),vg(12,"sh-progress-bar",29),Qi(13,"sh-list")(14,"div",30)(15,"span",20),jC(16,"Files"),$l(),Qi(17,"span",21),jC(18),$l()(),Qi(19,"div",30)(20,"span",20),jC(21,"Size"),$l(),Qi(22,"span",21),jC(23),ob(24,"bytes"),ob(25,"bytes"),$l()()()()(),Qi(26,"sh-card")(27,"div",13)(28,"div",14)(29,"sh-icon",15),jC(30,"file"),$l(),Qi(31,"h3"),jC(32,"Activity"),$l()()(),Qi(33,"div",31),ag(34,xe,13,5,"div",32),Qi(35,"div",33)(36,"span",20),nC(37,1),$l(),Qi(38,"sh-list",34),dT(39,Me,6,5,"div",35,lT),aT(41,Oe,2,0,"div",36),$l()()()(),Qi(42,"sh-card")(43,"div",13)(44,"div",14)(45,"sh-icon",15),jC(46,"gauge"),$l(),Qi(47,"h3"),jC(48,"Performance"),$l()(),Qi(49,"div",37),jC(50),ob(51,"bytes"),$l()(),Qi(52,"div",38),ag(53,Te,22,14,"sh-list",25),Qi(54,"div",39)(55,"button",40),Vg("click",function(){kd(e);let c=iC();return Od(c.toggleTransfers())}),jC(56),$l(),ag(57,he,3,1,"div",41),$l()()();}if(r&2){let e=iC();CE(6),om(e.statusText()),CE(4),Ql("",ab(11,13,e.progress(),"1.0-0"),"%"),CE(2),yg("value",e.progress()),CE(6),im("",e.statusData()?.ProcessedFileCount," / ",e.statusData()?.TotalFileCount),CE(5),im(" ",sb(24,16,e.statusData()?.ProcessedFileSize)," / ",sb(25,18,e.statusData()?.TotalFileSize)," "),CE(11),yg("ngIf",e.statusData()?.CurrentFilename),CE(5),fT(e.recentFiles()),CE(2),cT(e.recentFiles().length===0?41:-1),CE(9),Ql("",sb(51,20,e.statusData()?.BackendSpeed),"/s"),CE(3),yg("ngIf",e.etaData()),CE(3),Ql(" ",e.transfersExpanded()?"Hide Details":"Show Details"," "),CE(),yg("ngIf",e.transfersExpanded());}}function Ee(r,i){if(r&1&&(Qi(0,"sh-card",75)(1,"div",13)(2,"div",14)(3,"sh-icon",15),jC(4,"calendar"),$l(),Qi(5,"h3"),nC(6,7),$l()()(),Qi(7,"div",76)(8,"div",77)(9,"span",78),jC(10),$l(),Qi(11,"div",79)(12,"span",80),jC(13),ob(14,"date"),$l(),Qi(15,"span",81),jC(16),ob(17,"relativeTime"),$l()()(),Qi(18,"sh-icon",82),jC(19,"caret-right"),$l()()()),r&2){let e=iC(2);CE(10),om(e.nextBackup().backup?.Name),CE(3),om(ab(14,3,e.nextBackup().time,"medium")),CE(3),Ql("(",sb(17,6,e.nextBackup().time),")");}}function be(r,i){r&1&&(Qi(0,"span",74),nC(1,8),$l());}function Ne(r,i){if(r&1){let e=vT();Qi(0,"sh-card",58)(1,"div",59)(2,"div",60)(3,"div",61),Wd(),Qi(4,"svg",62),vg(5,"circle",63),$l(),qd(),Qi(6,"sh-icon",64),nC(7,3),$l()()(),Qi(8,"div",65)(9,"h2"),nC(10,4),$l(),Qi(11,"p",66),nC(12,5),$l()(),Qi(13,"div",67)(14,"button",68),Vg("click",function(){kd(e);let c=iC();return Od(c.pauseResume())}),Qi(15,"sh-icon"),jC(16),$l(),jC(17),$l()()()(),ag(18,Ee,20,8,"sh-card",69),Qi(19,"sh-card",70)(20,"div",71)(21,"span",20),nC(22,6),$l(),Qi(23,"div",72)(24,"span",73),jC(25),$l(),aT(26,be,2,0,"span",74),$l()()();}if(r&2){let e=iC();CE(14),yg("color",e.clientIsRunning()?"primary":"accent"),CE(2),om(e.clientIsRunning()?"pause":"play"),CE(),Ql(" ",e.clientIsRunning()?"Pause Execution":"Resume Execution"," "),CE(),yg("ngIf",e.nextBackup()),CE(6),Yg("running",e.clientIsRunning()),CE(),om(e.serverState()?.ProgramState),CE(),cT(e.clientIsRunning()?-1:26);}}function Ie(r,i){if(r&1&&(Qi(0,"div",35)(1,"span",46),jC(2),$l(),Qi(3,"span",47),jC(4),ob(5,"bytes"),$l()()),r&2){let e=i.$implicit;CE(),yg("title",e.filename),CE(),om(e.filename),CE(2),om(sb(5,3,e.filesize));}}function ke(r,i){if(r&1&&(Qi(0,"sh-card",83)(1,"div",13)(2,"div",14)(3,"sh-icon",15),jC(4,"clock-counter-clockwise"),$l(),Qi(5,"h3"),nC(6,9),$l()()(),Qi(7,"sh-list"),ag(8,Ie,6,5,"div",84),$l()()),r&2){let e=iC();CE(8),yg("ngForOf",e.recentFiles());}}function Ae(r,i){if(r&1&&(Qi(0,"div",19)(1,"span",20),jC(2,"Next Task:"),$l(),Qi(3,"div",21)(4,"div"),jC(5),$l(),Qi(6,"div",49),jC(7),ob(8,"date"),ob(9,"relativeTime"),$l()()()),r&2){let e=iC();CE(5),om(e.nextBackup().backup?.Name),CE(2),im(" ",ab(8,3,e.nextBackup().time,"medium")," (",sb(9,6,e.nextBackup().time),") ");}}function Re(r,i){if(r&1){let e=vT();ql(0),Qi(1,"button",85),Vg("click",function(){kd(e);let c=iC();return Od(c.stop())}),Qi(2,"sh-icon"),jC(3,"stop"),$l(),jC(4," Stop "),$l(),Qi(5,"button",85),Vg("click",function(){kd(e);let c=iC();return Od(c.abort())}),Qi(6,"sh-icon"),jC(7,"x-circle"),$l(),jC(8," Abort "),$l(),Gl();}}var J=class r{#e=T(y);#n=T(U);#i=T(C);#r=T(be$1);statusData=this.#e.statusData;serverState=this.#e.serverState;recentFiles=this.#n.recentFiles;etaData=this.#n.etaData;transfersExpanded=Ge(false);clientIsRunning=this.#e.clientIsRunning;statusText=Nt(()=>{let i=this.statusData()?.Phase;return i?h[i]||i:""});progress=Nt(()=>{let i=this.statusData();return i?(i.OverallProgress||0)*100:0});nextBackup=Nt(()=>({backup:this.serverState()?.ProposedSchedule?.[0]?.backup,time:this.serverState()?.ProposedSchedule?.[0]?.Item2}));ngOnInit(){this.#n.activateView();}ngOnDestroy(){this.#n.deactivateView();}toggleTransfers(){this.transfersExpanded.update(i=>!i);}isTaskRunning(){return !!this.statusData()?.TaskID}taskStartTime(){return this.etaData()?.startTime}currentBackupId(){return this.statusData()?.BackupID}pauseResume(){if(this.clientIsRunning()){this.#r.open(k,{maxWidth:"550px",width:"100%"});return}this.#e.pauseResume().subscribe();}stop(){let i=this.statusData()?.TaskID;i&&this.#i.postApiV1TaskByTaskidStop({taskid:i}).subscribe();}abort(){let i=this.statusData()?.TaskID;i&&this.#i.postApiV1TaskByTaskidAbort({taskid:i}).subscribe();}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=hw({type:r,selectors:[["app-status"]],decls:29,vars:12,consts:()=>{let i;i=$localize`Live Logs`;let e;e=$localize`Recently Processed`;let s;s=$localize`No recent files`;let c;c=$localize`check-bold`;let P;P=$localize`System Ready`;let I;I=$localize`Waiting for the next scheduled backup task.`;let k;k=$localize`Server State`;let x;x=$localize`Next Scheduled Task`;let M;M=$localize`Backups are currently paused`;let A;return A=$localize`Recent Activity`,[i,e,s,c,P,I,k,x,M,A,[1,"status-page"],["class","activity-card",4,"ngIf"],[1,"logs-card"],[1,"card-header"],[1,"header-titl-group"],[1,"header-icon"],[1,"logs-content"],[3,"polling","whenFilter","backupIdFilter"],[1,"server-status-section"],[1,"status-row"],[1,"label"],[1,"value"],["class","status-row",4,"ngIf"],[1,"actions"],["shButton","",3,"click"],[4,"ngIf"],[1,"progress-content"],[1,"percentage-display"],[1,"percentage-value"],[3,"value"],["item","",1,"stat-item"],[1,"files-content"],["class","current-file-section",4,"ngIf"],[1,"recent-files-section"],[1,"recent-files-list"],["item","",1,"file-item"],["item","",1,"empty-state"],[1,"aggregate-speed"],[1,"performance-content"],[1,"transfers-section"],["shButton","","size","small",1,"toggle-btn","ghost",3,"click"],["class","transfer-details",4,"ngIf"],[1,"current-file-section"],[1,"current-file-list"],["item","",1,"file-item","current"],[1,"file-details"],[1,"filename",3,"title"],[1,"filesize"],["item","",1,"eta-item"],[1,"sub-text"],["item","",1,"metric-item"],[1,"transfer-details"],["class","transfer-item","item","",4,"ngFor","ngForOf"],["item","",1,"transfer-item"],[1,"transfer-header"],[1,"path",3,"title"],[1,"speed"],[1,"mini-progress",3,"value"],[1,"idle-hero-card"],[1,"idle-content"],[1,"status-visual"],[1,"complete-status"],[1,"border-svg"],["cx","50","cy","50","r","45",1,"border-circle"],[1,"status-icon"],[1,"status-info"],[1,"status-description"],[1,"idle-actions"],["shButton","",3,"click","color"],["class","next-task-hero",4,"ngIf"],[1,"server-state-card"],[1,"state-content"],[1,"state-line"],[1,"status-badge"],[1,"warning-text"],[1,"next-task-hero"],[1,"next-task-content"],[1,"task-main"],[1,"task-name"],[1,"task-time-group"],[1,"task-time"],[1,"task-relative"],[1,"chevron"],[1,"activity-card"],["class","file-item","item","",4,"ngFor","ngForOf"],["shButton","","color","warn",3,"click"]]},template:function(e,s){e&1&&(Qi(0,"div",10),aT(1,ye,58,22)(2,Ne,27,8),ag(3,ke,9,1,"sh-card",11),Qi(4,"sh-card",12)(5,"div",13)(6,"div",14)(7,"sh-icon",15),jC(8,"list"),$l(),Qi(9,"h3"),nC(10,0),$l()()(),Qi(11,"div",16),vg(12,"app-logs-live",17),$l()(),Qi(13,"sh-card")(14,"div",18)(15,"h3"),jC(16,"Server Status"),$l(),Qi(17,"div",19)(18,"span",20),jC(19,"State:"),$l(),Qi(20,"span",21),jC(21),$l()(),ag(22,Ae,10,8,"div",22),Qi(23,"div",23)(24,"button",24),Vg("click",function(){return s.pauseResume()}),Qi(25,"sh-icon"),jC(26),$l(),jC(27),$l(),ag(28,Re,9,0,"ng-container",25),$l()()()()),e&2&&(Yg("idle",!s.isTaskRunning()),CE(),cT(s.isTaskRunning()?1:2),CE(2),yg("ngIf",!s.isTaskRunning()&&s.recentFiles().length>0),CE(9),yg("polling",s.isTaskRunning())("whenFilter",s.taskStartTime()?.getTime())("backupIdFilter",s.currentBackupId()),CE(9),om(s.serverState()?.ProgramState),CE(),yg("ngIf",s.nextBackup()),CE(4),om(s.clientIsRunning()?"pause":"play_arrow"),CE(),Ql(" ",s.clientIsRunning()?"Pause":"Resume"," "),CE(),yg("ngIf",s.isTaskRunning()));},dependencies:[Fi,Jt,Kn,f,d,v,N,v$1,c,pi,ci,m,m$1],styles:["[_nghost-%COMP%]{display:block;padding:24px;max-width:1400px;margin:0 auto}.status-page[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr;gap:24px}@media(min-width:768px){.status-page[_ngcontent-%COMP%]{grid-template-columns:repeat(2,1fr)}}@media(min-width:1200px){.status-page[_ngcontent-%COMP%]{grid-template-columns:repeat(3,1fr)}}@media(min-width:1200px){.status-page[_ngcontent-%COMP%] .logs-card[_ngcontent-%COMP%], .status-page.idle[_ngcontent-%COMP%] .idle-hero-card[_ngcontent-%COMP%]{grid-column:span 2}.status-page.idle[_ngcontent-%COMP%] .next-task-hero[_ngcontent-%COMP%], .status-page.idle[_ngcontent-%COMP%] .server-state-card[_ngcontent-%COMP%]{grid-column:3}.status-page.idle[_ngcontent-%COMP%] .activity-card[_ngcontent-%COMP%], .status-page.idle[_ngcontent-%COMP%] .logs-card[_ngcontent-%COMP%]{grid-column:1/-1}}sh-card[_ngcontent-%COMP%]{height:100%;display:flex;flex-direction:column;--sh-card-padding: 24px}.card-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.card-header[_ngcontent-%COMP%] .header-titl-group[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px}.card-header[_ngcontent-%COMP%] .header-titl-group[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{color:var(--primary-color);font-size:24px}.card-header[_ngcontent-%COMP%] .header-titl-group[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .card-header[_ngcontent-%COMP%] .header-titl-group[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.progress-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:20px}.progress-content[_ngcontent-%COMP%] .percentage-display[_ngcontent-%COMP%]{text-align:center}.progress-content[_ngcontent-%COMP%] .percentage-display[_ngcontent-%COMP%] .percentage-value[_ngcontent-%COMP%]{font-size:3rem;font-weight:800;color:var(--primary-color);line-height:1}.progress-content[_ngcontent-%COMP%] sh-progress-bar[_ngcontent-%COMP%]{height:8px;border-radius:4px;--sh-progress-bar-track-color: var(--bg-secondary)}.progress-content[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:100%}.progress-content[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:.9rem}.progress-content[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{font-weight:600}.files-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px}.files-content[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);font-weight:600;margin-bottom:4px;display:block;padding-left:12px}.files-content[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%}.files-content[_ngcontent-%COMP%] .file-item.current[_ngcontent-%COMP%]{gap:12px;justify-content:flex-start}.files-content[_ngcontent-%COMP%] .file-item.current[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{color:var(--primary-color)}.files-content[_ngcontent-%COMP%] .file-item.current[_ngcontent-%COMP%] .file-details[_ngcontent-%COMP%]{display:flex;flex-direction:column;overflow:hidden}.files-content[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%] .filename[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:12px;font-size:.9rem;font-weight:500;flex:1}.files-content[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%] .filesize[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:.85rem;font-variant-numeric:tabular-nums;white-space:nowrap}.files-content[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%]{color:var(--text-secondary);font-style:italic;text-align:center;width:100%}.performance-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px}.performance-content[_ngcontent-%COMP%] .aggregate-speed[_ngcontent-%COMP%]{font-size:1.2rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.performance-content[_ngcontent-%COMP%] .eta-item[_ngcontent-%COMP%], .performance-content[_ngcontent-%COMP%] .metric-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%}.performance-content[_ngcontent-%COMP%] .eta-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%], .performance-content[_ngcontent-%COMP%] .metric-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:.9rem}.performance-content[_ngcontent-%COMP%] .eta-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%], .performance-content[_ngcontent-%COMP%] .metric-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{font-weight:600;font-variant-numeric:tabular-nums}.performance-content[_ngcontent-%COMP%] .eta-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%] .sub-text[_ngcontent-%COMP%], .performance-content[_ngcontent-%COMP%] .metric-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%] .sub-text[_ngcontent-%COMP%]{color:var(--text-secondary);font-weight:400;font-size:.85rem;margin-left:4px}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .toggle-btn[_ngcontent-%COMP%]{width:100%;margin-bottom:12px}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;gap:4px}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%] .transfer-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;font-size:.85rem}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%] .transfer-header[_ngcontent-%COMP%] .path[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:12px}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%] .transfer-header[_ngcontent-%COMP%] .speed[_ngcontent-%COMP%]{color:var(--text-secondary);font-variant-numeric:tabular-nums}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%] .mini-progress[_ngcontent-%COMP%]{height:4px}.logs-content[_ngcontent-%COMP%] app-logs-live[_ngcontent-%COMP%]{height:350px;display:block}.status-badge[_ngcontent-%COMP%]{padding:4px 12px;border-radius:12px;background:var(--bg-secondary);color:var(--text-secondary);font-size:.8rem;font-weight:500;text-transform:uppercase}.status-badge.running[_ngcontent-%COMP%]{background:rgba(var(--primary-rgb),.1);color:var(--primary-color)}.actions-grid[_ngcontent-%COMP%]{margin-top:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.actions-grid[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{width:100%;justify-content:center}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 0;gap:32px}@media(min-width:768px){.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%]{flex-direction:row;text-align:left;justify-content:space-around;padding:48px 0}}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .status-visual[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .status-info[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:2rem;font-weight:700;margin-bottom:8px;color:var(--text-primary)}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .status-info[_ngcontent-%COMP%] .status-description[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:1.1rem;max-width:300px}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .idle-actions[_ngcontent-%COMP%]{display:flex;align-items:center}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .idle-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding-left:32px;padding-right:32px}.complete-status[_ngcontent-%COMP%]{position:relative;width:120px;height:120px;display:flex;justify-content:center;align-items:center;color:var(--primary-color)}.complete-status[_ngcontent-%COMP%] .status-icon[_ngcontent-%COMP%]{font-size:48px;opacity:0;animation:_ngcontent-%COMP%_reveal-icon .2s linear forwards;animation-delay:1s}.border-svg[_ngcontent-%COMP%]{position:absolute;top:0;left:0;width:100%;height:100%}.border-circle[_ngcontent-%COMP%]{fill:none;stroke:var(--primary-color);stroke-width:5px;stroke-dasharray:282.74;stroke-dashoffset:282.74;animation:_ngcontent-%COMP%_draw-border 1.2s linear forwards}@keyframes _ngcontent-%COMP%_draw-border{to{stroke-dashoffset:0}}@keyframes _ngcontent-%COMP%_reveal-icon{to{opacity:1}}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%] .task-main[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:4px}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%] .task-main[_ngcontent-%COMP%] .task-name[_ngcontent-%COMP%]{font-size:1.2rem;font-weight:700;color:var(--primary-color)}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%] .task-main[_ngcontent-%COMP%] .task-time-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;color:var(--text-secondary);font-size:.95rem}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%] .chevron[_ngcontent-%COMP%]{color:var(--text-secondary);opacity:.5}.server-state-card[_ngcontent-%COMP%] .state-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px}.server-state-card[_ngcontent-%COMP%] .state-content[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);font-weight:600}.server-state-card[_ngcontent-%COMP%] .state-content[_ngcontent-%COMP%] .state-line[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px}.server-state-card[_ngcontent-%COMP%] .state-content[_ngcontent-%COMP%] .state-line[_ngcontent-%COMP%] .warning-text[_ngcontent-%COMP%]{font-size:.85rem;color:var(--error-color);font-weight:500}"]})};export{J as default};
1
+ import v$1 from'./chunk-C7AeY2HY.js';import'./chunk-Bj7EyCHb.js';import'./chunk-8Y8ReLEn.js';import {k}from'./chunk-CIe9Bupz.js';import'./chunk-BmmYJhOf.js';import {c}from'./chunk-DXEgz1tV.js';import'./chunk-DidJB9ig.js';import {T,aX as y,ab as C,a6 as be$1,G as Ge,N as Nt,bd as h,h as hw,be as Fi,bf as Jt,bg as Kn,v,c as N,bh as pi,aJ as ci,aH as m,b2 as m$1,Q as Qi,d as aT,bi as cg,s as jC,$ as $l,n as nC,i as Ig,H as Hg,L as Kg,C as CE,g as cT,y as vg,K as im,aa as Ql,bj as Q,z as za,aZ as ee,l as vT,aM as ob,a1 as dT,O as Od,k as iC,P as Pd,aN as ab,aB as sm,aR as sb,a2 as fT,as as qd,bk as Gd,aP as ql,aQ as Gl,ap as lT}from'./main-3NL5M6JB.js';import {f}from'./chunk-B1c7h-_w.js';import {d}from'./chunk-DDWDcSq2.js';import'./chunk-B6c2NXNy.js';import'./chunk-D1pDZLJ9.js';var U=class r{#e=T(y);#n=T(Q);#i=Ge([]);recentFiles=this.#i.asReadonly();#r=5;#s=Ge(null);etaData=this.#s.asReadonly();#a=null;#t=null;#o=null;recentFileEffect=za(()=>{let i=this.#e.statusData();i&&i.CurrentFilename&&i.CurrentFilesize!==void 0&&this.#c(i.CurrentFilename,i.CurrentFilesize);});#c(i,e){let s=new Date;this.#i.update(c=>c.length>0&&c[0].filename===i?c:[{filename:i,filesize:e,timestamp:s},...c].slice(0,this.#r));}activateView(){this.#a=new Date;let i=this.#e.statusData();i&&i.ProcessedFileCount!==void 0&&i.ProcessedFileSize!==void 0&&(this.#t={files:i.ProcessedFileCount,bytes:i.ProcessedFileSize}),this.#o=setInterval(()=>{this.#l();},1e3);}deactivateView(){this.#a=null,this.#t=null,this.#o&&(clearInterval(this.#o),this.#o=null);}#l(){if(!this.#a||!this.#t)return;let i=this.#e.statusData();if(!i)return;let e=new Date,s=(e.getTime()-this.#a.getTime())/1e3;if(s<5)return;let c=i.ProcessedFileCount||0,P=i.ProcessedFileSize||0,I=c-this.#t.files,k=P-this.#t.bytes,x=I/s,M=k/s,A=(i.TotalFileCount||0)-c,u=(i.TotalFileSize||0)-P,O=null,T=null;x>0&&(O=A/x),M>0&&(T=u/M);let R=null,w="bytes";if(O!==null&&T!==null){let Se=Math.max(O,T);R=new Date(e.getTime()+Se*1e3),w=O>T?"files":"bytes";}else O!==null?(R=new Date(e.getTime()+O*1e3),w="files"):T!==null&&(R=new Date(e.getTime()+T*1e3),w="bytes");this.#s.set({startTime:this.#a,filesProcessedAtStart:this.#t.files,bytesProcessedAtStart:this.#t.bytes,currentFilesPerSecond:x,currentBytesPerSecond:M,estimatedCompletion:R,metric:w});}static \u0275fac=function(e){return new(e||r)};static \u0275prov=ee({token:r,factory:r.\u0275fac,providedIn:"root"})};function xe(r,i){if(r&1&&(Qi(0,"div",42)(1,"span",20),jC(2,"Processing"),$l(),Qi(3,"sh-list",43)(4,"div",44)(5,"sh-icon"),jC(6,"file"),$l(),Qi(7,"div",45)(8,"span",46),jC(9),$l(),Qi(10,"span",47),jC(11),ob(12,"bytes"),$l()()()()()),r&2){let e=iC(2);CE(8),vg("title",e.statusData()?.CurrentFilename),CE(),Ql(" ",e.statusData()?.CurrentFilename," "),CE(2),im(sb(12,3,e.statusData()?.CurrentFilesize));}}function Me(r,i){if(r&1&&(Qi(0,"div",35)(1,"span",46),jC(2),$l(),Qi(3,"span",47),jC(4),ob(5,"bytes"),$l()()),r&2){let e=i.$implicit;CE(),vg("title",e.filename),CE(),im(e.filename),CE(2),im(sb(5,3,e.filesize));}}function Oe(r,i){r&1&&(Qi(0,"div",36),nC(1,2),$l());}function Te(r,i){if(r&1&&(Qi(0,"sh-list")(1,"div",48)(2,"span",20),jC(3,"ETA"),$l(),Qi(4,"span",21),jC(5),ob(6,"date"),Qi(7,"span",49),jC(8),ob(9,"relativeTime"),$l()()(),Qi(10,"div",50)(11,"span",20),jC(12,"Files/s"),$l(),Qi(13,"span",21),jC(14),ob(15,"number"),$l()(),Qi(16,"div",50)(17,"span",20),jC(18,"Upload Speed"),$l(),Qi(19,"span",21),jC(20),ob(21,"bytes"),$l()()()),r&2){let e=iC(2);CE(5),Ql(" ",ab(6,4,e.etaData()?.estimatedCompletion,"mediumTime")," "),CE(3),Ql(" (",sb(9,7,e.etaData()?.estimatedCompletion),") "),CE(6),Ql(" ",ab(15,9,e.etaData()?.currentFilesPerSecond,"1.1-1")," "),CE(6),Ql("",sb(21,12,e.etaData()?.currentBytesPerSecond),"/s");}}function ve(r,i){if(r&1&&(Qi(0,"div",53)(1,"div",54)(2,"span",55),jC(3),$l(),Qi(4,"span",56),jC(5),ob(6,"bytes"),$l()(),Ig(7,"sh-progress-bar",57),$l()),r&2){let e=i.$implicit;CE(2),vg("title",e.BackendPath),CE(),im(e.BackendPath),CE(2),Ql("",sb(6,4,e.BackendSpeed),"/s"),CE(2),vg("value",(e.BackendFileProgress||0)/(e.BackendFileSize||1)*100);}}function he(r,i){if(r&1&&(Qi(0,"div",51)(1,"sh-list"),cg(2,ve,8,6,"div",52),$l()()),r&2){let e=iC(2);CE(2),vg("ngForOf",e.statusData()?.ActiveTransfers);}}function ye(r,i){if(r&1){let e=vT();Qi(0,"sh-card")(1,"div",13)(2,"div",14)(3,"sh-icon",15),jC(4,"clock"),$l(),Qi(5,"h2"),jC(6),$l()()(),Qi(7,"div",26)(8,"div",27)(9,"span",28),jC(10),ob(11,"number"),$l()(),Ig(12,"sh-progress-bar",29),Qi(13,"sh-list")(14,"div",30)(15,"span",20),jC(16,"Files"),$l(),Qi(17,"span",21),jC(18),$l()(),Qi(19,"div",30)(20,"span",20),jC(21,"Size"),$l(),Qi(22,"span",21),jC(23),ob(24,"bytes"),ob(25,"bytes"),$l()()()()(),Qi(26,"sh-card")(27,"div",13)(28,"div",14)(29,"sh-icon",15),jC(30,"file"),$l(),Qi(31,"h3"),jC(32,"Activity"),$l()()(),Qi(33,"div",31),cg(34,xe,13,5,"div",32),Qi(35,"div",33)(36,"span",20),nC(37,1),$l(),Qi(38,"sh-list",34),dT(39,Me,6,5,"div",35,lT),aT(41,Oe,2,0,"div",36),$l()()()(),Qi(42,"sh-card")(43,"div",13)(44,"div",14)(45,"sh-icon",15),jC(46,"gauge"),$l(),Qi(47,"h3"),jC(48,"Performance"),$l()(),Qi(49,"div",37),jC(50),ob(51,"bytes"),$l()(),Qi(52,"div",38),cg(53,Te,22,14,"sh-list",25),Qi(54,"div",39)(55,"button",40),Hg("click",function(){Od(e);let c=iC();return Pd(c.toggleTransfers())}),jC(56),$l(),cg(57,he,3,1,"div",41),$l()()();}if(r&2){let e=iC();CE(6),im(e.statusText()),CE(4),Ql("",ab(11,13,e.progress(),"1.0-0"),"%"),CE(2),vg("value",e.progress()),CE(6),sm("",e.statusData()?.ProcessedFileCount," / ",e.statusData()?.TotalFileCount),CE(5),sm(" ",sb(24,16,e.statusData()?.ProcessedFileSize)," / ",sb(25,18,e.statusData()?.TotalFileSize)," "),CE(11),vg("ngIf",e.statusData()?.CurrentFilename),CE(5),fT(e.recentFiles()),CE(2),cT(e.recentFiles().length===0?41:-1),CE(9),Ql("",sb(51,20,e.statusData()?.BackendSpeed),"/s"),CE(3),vg("ngIf",e.etaData()),CE(3),Ql(" ",e.transfersExpanded()?"Hide Details":"Show Details"," "),CE(),vg("ngIf",e.transfersExpanded());}}function Ee(r,i){if(r&1&&(Qi(0,"sh-card",75)(1,"div",13)(2,"div",14)(3,"sh-icon",15),jC(4,"calendar"),$l(),Qi(5,"h3"),nC(6,7),$l()()(),Qi(7,"div",76)(8,"div",77)(9,"span",78),jC(10),$l(),Qi(11,"div",79)(12,"span",80),jC(13),ob(14,"date"),$l(),Qi(15,"span",81),jC(16),ob(17,"relativeTime"),$l()()(),Qi(18,"sh-icon",82),jC(19,"caret-right"),$l()()()),r&2){let e=iC(2);CE(10),im(e.nextBackup().backup?.Name),CE(3),im(ab(14,3,e.nextBackup().time,"medium")),CE(3),Ql("(",sb(17,6,e.nextBackup().time),")");}}function be(r,i){r&1&&(Qi(0,"span",74),nC(1,8),$l());}function Ne(r,i){if(r&1){let e=vT();Qi(0,"sh-card",58)(1,"div",59)(2,"div",60)(3,"div",61),qd(),Qi(4,"svg",62),Ig(5,"circle",63),$l(),Gd(),Qi(6,"sh-icon",64),nC(7,3),$l()()(),Qi(8,"div",65)(9,"h2"),nC(10,4),$l(),Qi(11,"p",66),nC(12,5),$l()(),Qi(13,"div",67)(14,"button",68),Hg("click",function(){Od(e);let c=iC();return Pd(c.pauseResume())}),Qi(15,"sh-icon"),jC(16),$l(),jC(17),$l()()()(),cg(18,Ee,20,8,"sh-card",69),Qi(19,"sh-card",70)(20,"div",71)(21,"span",20),nC(22,6),$l(),Qi(23,"div",72)(24,"span",73),jC(25),$l(),aT(26,be,2,0,"span",74),$l()()();}if(r&2){let e=iC();CE(14),vg("color",e.clientIsRunning()?"primary":"accent"),CE(2),im(e.clientIsRunning()?"pause":"play"),CE(),Ql(" ",e.clientIsRunning()?"Pause Execution":"Resume Execution"," "),CE(),vg("ngIf",e.nextBackup()),CE(6),Kg("running",e.clientIsRunning()),CE(),im(e.serverState()?.ProgramState),CE(),cT(e.clientIsRunning()?-1:26);}}function Ie(r,i){if(r&1&&(Qi(0,"div",35)(1,"span",46),jC(2),$l(),Qi(3,"span",47),jC(4),ob(5,"bytes"),$l()()),r&2){let e=i.$implicit;CE(),vg("title",e.filename),CE(),im(e.filename),CE(2),im(sb(5,3,e.filesize));}}function ke(r,i){if(r&1&&(Qi(0,"sh-card",83)(1,"div",13)(2,"div",14)(3,"sh-icon",15),jC(4,"clock-counter-clockwise"),$l(),Qi(5,"h3"),nC(6,9),$l()()(),Qi(7,"sh-list"),cg(8,Ie,6,5,"div",84),$l()()),r&2){let e=iC();CE(8),vg("ngForOf",e.recentFiles());}}function Ae(r,i){if(r&1&&(Qi(0,"div",19)(1,"span",20),jC(2,"Next Task:"),$l(),Qi(3,"div",21)(4,"div"),jC(5),$l(),Qi(6,"div",49),jC(7),ob(8,"date"),ob(9,"relativeTime"),$l()()()),r&2){let e=iC();CE(5),im(e.nextBackup().backup?.Name),CE(2),sm(" ",ab(8,3,e.nextBackup().time,"medium")," (",sb(9,6,e.nextBackup().time),") ");}}function Re(r,i){if(r&1){let e=vT();ql(0),Qi(1,"button",85),Hg("click",function(){Od(e);let c=iC();return Pd(c.stop())}),Qi(2,"sh-icon"),jC(3,"stop"),$l(),jC(4," Stop "),$l(),Qi(5,"button",85),Hg("click",function(){Od(e);let c=iC();return Pd(c.abort())}),Qi(6,"sh-icon"),jC(7,"x-circle"),$l(),jC(8," Abort "),$l(),Gl();}}var J=class r{#e=T(y);#n=T(U);#i=T(C);#r=T(be$1);statusData=this.#e.statusData;serverState=this.#e.serverState;recentFiles=this.#n.recentFiles;etaData=this.#n.etaData;transfersExpanded=Ge(false);clientIsRunning=this.#e.clientIsRunning;statusText=Nt(()=>{let i=this.statusData()?.Phase;return i?h[i]||i:""});progress=Nt(()=>{let i=this.statusData();return i?(i.OverallProgress||0)*100:0});nextBackup=Nt(()=>({backup:this.serverState()?.ProposedSchedule?.[0]?.backup,time:this.serverState()?.ProposedSchedule?.[0]?.Item2}));ngOnInit(){this.#n.activateView();}ngOnDestroy(){this.#n.deactivateView();}toggleTransfers(){this.transfersExpanded.update(i=>!i);}isTaskRunning(){return !!this.statusData()?.TaskID}taskStartTime(){return this.etaData()?.startTime}currentBackupId(){return this.statusData()?.BackupID}pauseResume(){if(this.clientIsRunning()){this.#r.open(k,{maxWidth:"550px",width:"100%"});return}this.#e.pauseResume().subscribe();}stop(){let i=this.statusData()?.TaskID;i&&this.#i.postApiV1TaskByTaskidStop({taskid:i}).subscribe();}abort(){let i=this.statusData()?.TaskID;i&&this.#i.postApiV1TaskByTaskidAbort({taskid:i}).subscribe();}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=hw({type:r,selectors:[["app-status"]],decls:29,vars:12,consts:()=>{let i;i=$localize`Live Logs`;let e;e=$localize`Recently Processed`;let s;s=$localize`No recent files`;let c;c=$localize`check-bold`;let P;P=$localize`System Ready`;let I;I=$localize`Waiting for the next scheduled backup task.`;let k;k=$localize`Server State`;let x;x=$localize`Next Scheduled Task`;let M;M=$localize`Backups are currently paused`;let A;return A=$localize`Recent Activity`,[i,e,s,c,P,I,k,x,M,A,[1,"status-page"],["class","activity-card",4,"ngIf"],[1,"logs-card"],[1,"card-header"],[1,"header-titl-group"],[1,"header-icon"],[1,"logs-content"],[3,"polling","whenFilter","backupIdFilter"],[1,"server-status-section"],[1,"status-row"],[1,"label"],[1,"value"],["class","status-row",4,"ngIf"],[1,"actions"],["shButton","",3,"click"],[4,"ngIf"],[1,"progress-content"],[1,"percentage-display"],[1,"percentage-value"],[3,"value"],["item","",1,"stat-item"],[1,"files-content"],["class","current-file-section",4,"ngIf"],[1,"recent-files-section"],[1,"recent-files-list"],["item","",1,"file-item"],["item","",1,"empty-state"],[1,"aggregate-speed"],[1,"performance-content"],[1,"transfers-section"],["shButton","","size","small",1,"toggle-btn","ghost",3,"click"],["class","transfer-details",4,"ngIf"],[1,"current-file-section"],[1,"current-file-list"],["item","",1,"file-item","current"],[1,"file-details"],[1,"filename",3,"title"],[1,"filesize"],["item","",1,"eta-item"],[1,"sub-text"],["item","",1,"metric-item"],[1,"transfer-details"],["class","transfer-item","item","",4,"ngFor","ngForOf"],["item","",1,"transfer-item"],[1,"transfer-header"],[1,"path",3,"title"],[1,"speed"],[1,"mini-progress",3,"value"],[1,"idle-hero-card"],[1,"idle-content"],[1,"status-visual"],[1,"complete-status"],[1,"border-svg"],["cx","50","cy","50","r","45",1,"border-circle"],[1,"status-icon"],[1,"status-info"],[1,"status-description"],[1,"idle-actions"],["shButton","",3,"click","color"],["class","next-task-hero",4,"ngIf"],[1,"server-state-card"],[1,"state-content"],[1,"state-line"],[1,"status-badge"],[1,"warning-text"],[1,"next-task-hero"],[1,"next-task-content"],[1,"task-main"],[1,"task-name"],[1,"task-time-group"],[1,"task-time"],[1,"task-relative"],[1,"chevron"],[1,"activity-card"],["class","file-item","item","",4,"ngFor","ngForOf"],["shButton","","color","warn",3,"click"]]},template:function(e,s){e&1&&(Qi(0,"div",10),aT(1,ye,58,22)(2,Ne,27,8),cg(3,ke,9,1,"sh-card",11),Qi(4,"sh-card",12)(5,"div",13)(6,"div",14)(7,"sh-icon",15),jC(8,"list"),$l(),Qi(9,"h3"),nC(10,0),$l()()(),Qi(11,"div",16),Ig(12,"app-logs-live",17),$l()(),Qi(13,"sh-card")(14,"div",18)(15,"h3"),jC(16,"Server Status"),$l(),Qi(17,"div",19)(18,"span",20),jC(19,"State:"),$l(),Qi(20,"span",21),jC(21),$l()(),cg(22,Ae,10,8,"div",22),Qi(23,"div",23)(24,"button",24),Hg("click",function(){return s.pauseResume()}),Qi(25,"sh-icon"),jC(26),$l(),jC(27),$l(),cg(28,Re,9,0,"ng-container",25),$l()()()()),e&2&&(Kg("idle",!s.isTaskRunning()),CE(),cT(s.isTaskRunning()?1:2),CE(2),vg("ngIf",!s.isTaskRunning()&&s.recentFiles().length>0),CE(9),vg("polling",s.isTaskRunning())("whenFilter",s.taskStartTime()?.getTime())("backupIdFilter",s.currentBackupId()),CE(9),im(s.serverState()?.ProgramState),CE(),vg("ngIf",s.nextBackup()),CE(4),im(s.clientIsRunning()?"pause":"play_arrow"),CE(),Ql(" ",s.clientIsRunning()?"Pause":"Resume"," "),CE(),vg("ngIf",s.isTaskRunning()));},dependencies:[Fi,Jt,Kn,f,d,v,N,v$1,c,pi,ci,m,m$1],styles:["[_nghost-%COMP%]{display:block;padding:24px;max-width:1400px;margin:0 auto}.status-page[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr;gap:24px}@media(min-width:768px){.status-page[_ngcontent-%COMP%]{grid-template-columns:repeat(2,1fr)}}@media(min-width:1200px){.status-page[_ngcontent-%COMP%]{grid-template-columns:repeat(3,1fr)}}@media(min-width:1200px){.status-page[_ngcontent-%COMP%] .logs-card[_ngcontent-%COMP%], .status-page.idle[_ngcontent-%COMP%] .idle-hero-card[_ngcontent-%COMP%]{grid-column:span 2}.status-page.idle[_ngcontent-%COMP%] .next-task-hero[_ngcontent-%COMP%], .status-page.idle[_ngcontent-%COMP%] .server-state-card[_ngcontent-%COMP%]{grid-column:3}.status-page.idle[_ngcontent-%COMP%] .activity-card[_ngcontent-%COMP%], .status-page.idle[_ngcontent-%COMP%] .logs-card[_ngcontent-%COMP%]{grid-column:1/-1}}sh-card[_ngcontent-%COMP%]{height:100%;display:flex;flex-direction:column;--sh-card-padding: 24px}.card-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.card-header[_ngcontent-%COMP%] .header-titl-group[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px}.card-header[_ngcontent-%COMP%] .header-titl-group[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{color:var(--primary-color);font-size:24px}.card-header[_ngcontent-%COMP%] .header-titl-group[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .card-header[_ngcontent-%COMP%] .header-titl-group[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.progress-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:20px}.progress-content[_ngcontent-%COMP%] .percentage-display[_ngcontent-%COMP%]{text-align:center}.progress-content[_ngcontent-%COMP%] .percentage-display[_ngcontent-%COMP%] .percentage-value[_ngcontent-%COMP%]{font-size:3rem;font-weight:800;color:var(--primary-color);line-height:1}.progress-content[_ngcontent-%COMP%] sh-progress-bar[_ngcontent-%COMP%]{height:8px;border-radius:4px;--sh-progress-bar-track-color: var(--bg-secondary)}.progress-content[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:100%}.progress-content[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:.9rem}.progress-content[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{font-weight:600}.files-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px}.files-content[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);font-weight:600;margin-bottom:4px;display:block;padding-left:12px}.files-content[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%}.files-content[_ngcontent-%COMP%] .file-item.current[_ngcontent-%COMP%]{gap:12px;justify-content:flex-start}.files-content[_ngcontent-%COMP%] .file-item.current[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{color:var(--primary-color)}.files-content[_ngcontent-%COMP%] .file-item.current[_ngcontent-%COMP%] .file-details[_ngcontent-%COMP%]{display:flex;flex-direction:column;overflow:hidden}.files-content[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%] .filename[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:12px;font-size:.9rem;font-weight:500;flex:1}.files-content[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%] .filesize[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:.85rem;font-variant-numeric:tabular-nums;white-space:nowrap}.files-content[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%]{color:var(--text-secondary);font-style:italic;text-align:center;width:100%}.performance-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px}.performance-content[_ngcontent-%COMP%] .aggregate-speed[_ngcontent-%COMP%]{font-size:1.2rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.performance-content[_ngcontent-%COMP%] .eta-item[_ngcontent-%COMP%], .performance-content[_ngcontent-%COMP%] .metric-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%}.performance-content[_ngcontent-%COMP%] .eta-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%], .performance-content[_ngcontent-%COMP%] .metric-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:.9rem}.performance-content[_ngcontent-%COMP%] .eta-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%], .performance-content[_ngcontent-%COMP%] .metric-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{font-weight:600;font-variant-numeric:tabular-nums}.performance-content[_ngcontent-%COMP%] .eta-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%] .sub-text[_ngcontent-%COMP%], .performance-content[_ngcontent-%COMP%] .metric-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%] .sub-text[_ngcontent-%COMP%]{color:var(--text-secondary);font-weight:400;font-size:.85rem;margin-left:4px}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .toggle-btn[_ngcontent-%COMP%]{width:100%;margin-bottom:12px}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;gap:4px}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%] .transfer-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;font-size:.85rem}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%] .transfer-header[_ngcontent-%COMP%] .path[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:12px}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%] .transfer-header[_ngcontent-%COMP%] .speed[_ngcontent-%COMP%]{color:var(--text-secondary);font-variant-numeric:tabular-nums}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%] .mini-progress[_ngcontent-%COMP%]{height:4px}.logs-content[_ngcontent-%COMP%] app-logs-live[_ngcontent-%COMP%]{height:350px;display:block}.status-badge[_ngcontent-%COMP%]{padding:4px 12px;border-radius:12px;background:var(--bg-secondary);color:var(--text-secondary);font-size:.8rem;font-weight:500;text-transform:uppercase}.status-badge.running[_ngcontent-%COMP%]{background:rgba(var(--primary-rgb),.1);color:var(--primary-color)}.actions-grid[_ngcontent-%COMP%]{margin-top:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.actions-grid[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{width:100%;justify-content:center}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 0;gap:32px}@media(min-width:768px){.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%]{flex-direction:row;text-align:left;justify-content:space-around;padding:48px 0}}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .status-visual[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .status-info[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:2rem;font-weight:700;margin-bottom:8px;color:var(--text-primary)}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .status-info[_ngcontent-%COMP%] .status-description[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:1.1rem;max-width:300px}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .idle-actions[_ngcontent-%COMP%]{display:flex;align-items:center}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .idle-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding-left:32px;padding-right:32px}.complete-status[_ngcontent-%COMP%]{position:relative;width:120px;height:120px;display:flex;justify-content:center;align-items:center;color:var(--primary-color)}.complete-status[_ngcontent-%COMP%] .status-icon[_ngcontent-%COMP%]{font-size:48px;opacity:0;animation:_ngcontent-%COMP%_reveal-icon .2s linear forwards;animation-delay:1s}.border-svg[_ngcontent-%COMP%]{position:absolute;top:0;left:0;width:100%;height:100%}.border-circle[_ngcontent-%COMP%]{fill:none;stroke:var(--primary-color);stroke-width:5px;stroke-dasharray:282.74;stroke-dashoffset:282.74;animation:_ngcontent-%COMP%_draw-border 1.2s linear forwards}@keyframes _ngcontent-%COMP%_draw-border{to{stroke-dashoffset:0}}@keyframes _ngcontent-%COMP%_reveal-icon{to{opacity:1}}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%] .task-main[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:4px}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%] .task-main[_ngcontent-%COMP%] .task-name[_ngcontent-%COMP%]{font-size:1.2rem;font-weight:700;color:var(--primary-color)}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%] .task-main[_ngcontent-%COMP%] .task-time-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;color:var(--text-secondary);font-size:.95rem}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%] .chevron[_ngcontent-%COMP%]{color:var(--text-secondary);opacity:.5}.server-state-card[_ngcontent-%COMP%] .state-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px}.server-state-card[_ngcontent-%COMP%] .state-content[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);font-weight:600}.server-state-card[_ngcontent-%COMP%] .state-content[_ngcontent-%COMP%] .state-line[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px}.server-state-card[_ngcontent-%COMP%] .state-content[_ngcontent-%COMP%] .state-line[_ngcontent-%COMP%] .warning-text[_ngcontent-%COMP%]{font-size:.85rem;color:var(--error-color);font-weight:500}"]})};export{J as default};
@@ -1 +1 @@
1
- import {d}from'./chunk-BS8PXjJJ.js';import'./chunk-CZoVeRAG.js';import'./chunk-Cjb79u3p.js';import'./chunk-DJJ8GbYi.js';import {J}from'./chunk-DUYvFN8m.js';import'./chunk-BpRWdcC8.js';import {N as Ne,E as Ee}from'./chunk-ihUnHtR7.js';import'./chunk-Bb6BmVO4.js';import'./chunk-DmDqcC4A.js';import'./chunk-CAwTsBqQ.js';import'./chunk-B53Wj4F9.js';import {D}from'./chunk-BTgf5lfZ.js';import {T,ab as C,e as ee,ah as fe,a5 as g,G as Ge$1,N as Nt,ai as m,aj as l,H as qu,h as hw,v,d as N,aH as m$1,b2 as m$2,Q as Qi,n as nC,$ as $l,f as aT,V as Vg,j as vg,L as Lg,F as Fg,C as CE,i as cT,A as yg,l as vT,a1 as dT,p as cm,r as kd,k as iC,U as UC,O as Od,a2 as fT,x as am,s as CD,w as jC,y as _D,Y as Yg,aa as Ql,ar as Qp,aM as ob,au as jg,aR as sb,av as rC,aN as ab}from'./main-VVQP2YE7.js';import {f}from'./chunk-Bja52qI7.js';import {d as d$1}from'./chunk-B8uF0dom.js';import {F as Fe$1}from'./chunk-B9maI7Xa.js';import {B as Bn,Z as Ze,R as Rn,J as Jt}from'./chunk-BO2GlieG.js';import {a as at}from'./chunk-CKnRcyHZ.js';import {U}from'./chunk-DqIU7ViF.js';import'./chunk-Box6Lckh.js';var Oe=(n,t)=>t.BackupId;function Fe(n,t){n&1&&(Qi(0,"div",14),vg(1,"sh-progress-bar",20),Qi(2,"p"),nC(3,3),$l()());}function Pe(n,t){n&1&&(Qi(0,"div",15)(1,"p"),nC(2,4),$l()());}function Me(n,t){if(n&1){let e=vT();Qi(0,"sh-icon",33),Vg("click",function(){kd(e);let o=iC(3);return Od(o.searchTerm.set(""))}),jC(1,"x-circle"),$l();}}function he(n,t){if(n&1){let e=vT();Qi(0,"div",27)(1,"sh-form-field")(2,"input",28),cm("ngModelChange",function(o){kd(e);let c=iC(2);return UC(c.searchTerm,o)||(c.searchTerm=o),Od(o)}),$l(),CD(),Qi(3,"sh-icon",29),jC(4,"magnifying-glass"),$l(),aT(5,Me,2,0,"sh-icon",30),$l()(),Qi(6,"div",31)(7,"button",32),Vg("click",function(){kd(e);let o=iC(2);return Od(o.selectAll())}),nC(8,6),$l(),Qi(9,"button",32),Vg("click",function(){kd(e);let o=iC(2);return Od(o.selectNone())}),nC(10,7),$l()();}if(n&2){let e=iC(2);CE(2),am("ngModel",e.searchTerm),_D(),CE(3),cT(e.searchTerm()?5:-1),CE(2),yg("disabled",e.allSelected()),CE(2),yg("disabled",e.noneSelected());}}function Le(n,t){if(n&1&&(Qi(0,"div"),nC(1,8),ob(2,"bytes"),$l()),n&2){let e=iC().$implicit;CE(2),jg(sb(2,1,e.Metadata?.SourceFilesSize)),rC(1);}}function ye(n,t){if(n&1&&(Qi(0,"div"),nC(1,9),ob(2,"bytes"),$l()),n&2){let e=iC().$implicit;CE(2),jg(sb(2,1,e.Metadata?.TargetFilesSize)),rC(1);}}function Ae(n,t){if(n&1&&(Qi(0,"div"),nC(1,10),ob(2,"relativeTime"),$l()),n&2){let e=iC().$implicit;CE(2),jg(ab(2,1,e.Metadata?.LastBackupFinished,false)),rC(1);}}function Re(n,t){if(n&1){let e=vT();Qi(0,"sh-card",34),Vg("click",function(){let o=kd(e).$implicit,c=iC(2);return Od(c.toggleSelected(o.BackupId))}),Qi(1,"sh-checkbox",35),cm("checkedChange",function(o){let c=kd(e).$implicit;return UC(c.Selected,o)||(c.Selected=o),Od(o)}),Qi(2,"h3"),jC(3),Qi(4,"sh-chip",36),vg(5,"img",37),jC(6),$l()()(),Qi(7,"div",38),aT(8,Le,3,3,"div"),aT(9,ye,3,3,"div"),aT(10,Ae,3,4,"div"),$l()();}if(n&2){let e=t.$implicit,i=iC(2);Yg("unmatched",e.Match===false),CE(),am("checked",e.Selected),CE(2),Ql(" ",e.Name," "),CE(2),yg("src",i.getBackendIcon(e.TargetURLDisplay),Qp),CE(),Ql(" ",i.getBackendType(e.TargetURLDisplay)," "),CE(2),cT(e.Metadata?.SourceFilesSize?8:-1),CE(),cT(e.Metadata?.TargetFilesSize?9:-1),CE(),cT(e.Metadata?.LastBackupFinished?10:-1);}}function Ge(n,t){if(n&1){let e=vT();Qi(0,"sh-toggle",26),cm("checkedChange",function(o){kd(e);let c=iC(2);return UC(c.saveNow,o)||(c.saveNow=o),Od(o)}),Lg(1,11),vg(2,"sh-icon",39),Fg(),$l();}if(n&2){let e=iC(2);yg("color","primary"),am("checked",e.saveNow),CE(2),yg("shTooltip","Save backups without editing the configuration");}}function De(n,t){n&1&&(Qi(0,"sh-toggle",25),Lg(1,12),vg(2,"sh-icon",39),Fg(),$l()),n&2&&(yg("color","primary")("checked",true)("disabled",true),CE(2),yg("shTooltip","Save now can only be disabled when importing a single backup"));}function ke(n,t){if(n&1){let e=vT();aT(0,he,11,4),Qi(1,"div",21),dT(2,Re,11,9,"sh-card",22,Oe),$l(),Qi(4,"div",23),aT(5,Ge,3,3,"sh-toggle",24)(6,De,3,4,"sh-toggle",25),Qi(7,"sh-toggle",26),cm("checkedChange",function(o){kd(e);let c=iC();return UC(c.importMetadata,o)||(c.importMetadata=o),Od(o)}),nC(8,5),$l()();}if(n&2){let e=iC();cT(e.configs().length>1?0:-1),CE(2),fT(e.configsSorted()),CE(3),cT(e.selectedItems().length<=1?5:6),CE(2),yg("color","primary"),am("checked",e.importMetadata);}}function $e(n,t){n&1&&nC(0,2,1);}function be(n,t){n&1&&nC(0,2,2);}var w=class n{#t=T(d);#n=T(C);#e=T(ee);#i=T(fe);#o=T(g);getBackendType=Ne;getBackendIcon=Ee;isLoading=Ge$1(true);isImporting=Ge$1(false);configs=Ge$1([]);saveNow=Ge$1(false);importMetadata=Ge$1(false);searchTerm=Ge$1("");allSelected=Nt(()=>this.selectedItems().length===this.configs().length);noneSelected=Nt(()=>this.selectedItems().length===0);configsSorted=Nt(()=>{let t=this.searchTerm().toLowerCase();return this.configs().map(e=>m(l({},e),{Match:t?e.Name?.toLowerCase().includes(t):null})).sort((e,i)=>(e.Name??"").localeCompare(i.Name??"")).sort((e,i)=>e.Match===i.Match?0:e.Match?-1:1)});ngOnInit(){let t=this.#t.temporaryBackupId();if(!t){this.#e.navigate(["/backup/import-destination/destination"]);return}this.#n.postApiV1BackupByIdRestoreTaskConfig({id:t}).pipe(qu(()=>this.isLoading.set(false))).subscribe({next:e=>{let i=e.sort((o,c)=>(o.Name??"").localeCompare(c.Name??"")).map(o=>m(l({},o),{Selected:e.length===1}));this.configs.set(i);},error:e=>{this.#t.showErrorDialog(e.message||"Failed to fetch configurations");}});}toggleSelected(t){this.configs.update(e=>e.map(i=>i.BackupId===t?m(l({},i),{Selected:!i.Selected}):i));}selectAll(){this.configs.update(t=>t.map(e=>m(l({},e),{Selected:true})));}selectNone(){this.configs.update(t=>t.map(e=>m(l({},e),{Selected:false})));}selectedItems=Nt(()=>this.configs().filter(t=>t.Selected));import(){let t=this.selectedItems();if(t.length===0)return;let e=this.importMetadata(),i=this.saveNow()||t.length!==1;this.isImporting.set(true);let o=c=>{if(c>=t.length){this.isImporting.set(false),this.#i.success($localize`Successfully imported ${t.length} backup(s)`),this.#e.navigate(["/"]);return}let N=t[c];this.#n.postApiV1BackupByIdImportfromtemp({requestBody:{BackupId:N.BackupId,ImportMetadata:e,Direct:i}}).subscribe({next:u=>{if(i)this.configs.update(I=>I.filter(G=>G.BackupId!==N.BackupId)),o(c+1);else {this.isImporting.set(false);let I=this.#o.addDraftBackup(u.data);this.#e.navigate(["/backup-draft",I]);}},error:u=>{this.isImporting.set(false),this.#t.showErrorDialog(`Failed to import ${N.Name}: ${u.message}`);}});};o(0);}back(){this.#e.navigate(["/backup/import-destination/encryption"]);}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=hw({type:n,selectors:[["app-import-destination-select-config"]],decls:14,vars:4,consts:()=>{let t;t=$localize`Select configurations to import`;let e;e=$localize`Back`;let i;i=$localize`${"\uFFFD*12:1\uFFFD"}:START_BLOCK_IF: Importing... ${"\uFFFD/*12:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*13:2\uFFFD"}:START_BLOCK_ELSE: Import selected ${"\uFFFD/*13:2\uFFFD"}:CLOSE_BLOCK_ELSE:`;let o;o=$localize`Fetching backup configurations from destination...`;let c;c=$localize`No backup configurations found at this destination.`;let N;N=$localize`Import metadata`;let u;u=$localize`Search for destination...`;let I;I=$localize`Select all`;let G;G=$localize`Select none`;let K;K=$localize` Source size: ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let U;U=$localize` Target size: ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let J;J=$localize` Last backup: ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let X;X=$localize` Save now ${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:info${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:`;let z;return z=$localize` Save now ${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON: info ${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:`,[t,e,i,o,c,N,I,G,K,U,J,X,z,[1,"content-wrapper"],[1,"loading-state"],[1,"empty-state"],[1,"actions"],["shButton","",3,"click","disabled"],[1,"spacer"],["shButton","",1,"primary","raised",3,"click","disabled"],[1,"primary","indeterminate"],[1,"config-list"],[1,"type-a","actionable","full-width",3,"unmatched"],[1,"options"],[3,"color","checked"],[3,"color","checked","disabled"],[3,"checkedChange","color","checked"],[1,"search-area"],["type","text","placeholder",u,3,"ngModelChange","ngModel"],["prefix",""],["suffix","",1,"clear-search"],[1,"list-actions"],["shButton","",1,"small",3,"click","disabled"],["suffix","",1,"clear-search",3,"click"],[1,"type-a","actionable","full-width",3,"click"],[1,"primary","raised",3,"checkedChange","checked"],[1,"small","provider"],["alt","",1,"provider-icon",3,"src"],[1,"metadata"],[1,"small",3,"shTooltip"]]},template:function(e,i){e&1&&(Qi(0,"div",13)(1,"h2"),nC(2,0),$l(),aT(3,Fe,4,0,"div",14)(4,Pe,3,0,"div",15)(5,ke,9,4),Qi(6,"div",16)(7,"button",17),Vg("click",function(){return i.back()}),nC(8,1),$l(),vg(9,"div",18),Qi(10,"button",19),Vg("click",function(){return i.import()}),Lg(11,2),aT(12,$e,1,0)(13,be,1,0),Fg(),$l()()()),e&2&&(CE(3),cT(i.isLoading()?3:i.configs().length===0?4:5),CE(4),yg("disabled",i.isImporting()),CE(3),yg("disabled",i.isImporting()||i.selectedItems().length===0||i.isLoading()),CE(2),cT(i.isImporting()?12:13));},dependencies:[v,f,J,U,Bn,Ze,Rn,Jt,d$1,at,N,D,Fe$1,m$1,m$2],styles:["[_nghost-%COMP%]{display:block;padding:2rem;max-width:50rem;margin:0 auto}.loading-state[_ngcontent-%COMP%], .empty-state[_ngcontent-%COMP%]{text-align:center;padding:4rem 2rem}.loading-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin-top:1rem;color:var(--color-on-surface-variant)}h2[_ngcontent-%COMP%]{margin-bottom:2rem}.search-area[_ngcontent-%COMP%]{display:flex;flex-direction:row;gap:1rem;margin-bottom:2rem}.list-actions[_ngcontent-%COMP%]{display:flex;flex-direction:row;gap:.5rem;margin-bottom:.5rem;justify-content:flex-end}.clear-search[_ngcontent-%COMP%]{opacity:.6;cursor:pointer}.config-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.config-list[_ngcontent-%COMP%] sh-card[_ngcontent-%COMP%]{padding:1rem;cursor:pointer;display:flex;flex-direction:column;gap:.5rem}.config-list[_ngcontent-%COMP%] sh-card.unmatched[_ngcontent-%COMP%]{opacity:.4}.config-list[_ngcontent-%COMP%] sh-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;gap:.5rem;flex-grow:1}.config-list[_ngcontent-%COMP%] sh-card[_ngcontent-%COMP%] .provider[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.config-list[_ngcontent-%COMP%] sh-card[_ngcontent-%COMP%] .metadata[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;margin-left:1.75rem}.provider-icon[_ngcontent-%COMP%]{width:1.25rem;height:1.25rem}.options[_ngcontent-%COMP%]{margin-bottom:2rem;display:flex;flex-direction:column;gap:1rem}.actions[_ngcontent-%COMP%]{display:flex;align-items:center;margin-top:2rem}.actions[_ngcontent-%COMP%] .spacer[_ngcontent-%COMP%]{flex:1}"]})};export{w as default};
1
+ import {d}from'./chunk-ksSA-rDF.js';import'./chunk-I5dxaHZ4.js';import'./chunk-BZgAzrl9.js';import'./chunk-h6n5A491.js';import {J}from'./chunk-aCJqF9DH.js';import'./chunk-DXEgz1tV.js';import {N as Ne,E as Ee}from'./chunk-Dz5guW4b.js';import'./chunk-CyqqlRjO.js';import'./chunk-CX3Axjpk.js';import'./chunk-mA4J4_nC.js';import'./chunk-C3gUxHQM.js';import {D}from'./chunk-DidJB9ig.js';import {T,ab as C,e as ee,ah as fe,a5 as g,G as Ge$1,N as Nt,ai as m,aj as l,J as zu,h as hw,v,c as N,aH as m$1,b2 as m$2,Q as Qi,n as nC,$ as $l,d as aT,H as Hg,i as Ig,F as Fg,j as jg,C as CE,g as cT,y as vg,l as vT,a1 as dT,p as lm,O as Od,k as iC,U as UC,P as Pd,a2 as fT,w as cm,r as CD,s as jC,x as _D,L as Kg,aa as Ql,ar as Zp,aM as ob,au as Vg,aR as sb,av as rC,aN as ab}from'./main-3NL5M6JB.js';import {f}from'./chunk-B1c7h-_w.js';import {d as d$1}from'./chunk-DDWDcSq2.js';import {F as Fe$1}from'./chunk-DhiIZLrA.js';import {B as Bn,Z as Ze,R as Rn,J as Jt}from'./chunk-B6c2NXNy.js';import {a as at}from'./chunk-MDqH8T3Z.js';import {U}from'./chunk-D1pDZLJ9.js';import'./chunk-DGvC49aU.js';var Oe=(n,t)=>t.BackupId;function Fe(n,t){n&1&&(Qi(0,"div",14),Ig(1,"sh-progress-bar",20),Qi(2,"p"),nC(3,3),$l()());}function Pe(n,t){n&1&&(Qi(0,"div",15)(1,"p"),nC(2,4),$l()());}function Me(n,t){if(n&1){let e=vT();Qi(0,"sh-icon",33),Hg("click",function(){Od(e);let o=iC(3);return Pd(o.searchTerm.set(""))}),jC(1,"x-circle"),$l();}}function he(n,t){if(n&1){let e=vT();Qi(0,"div",27)(1,"sh-form-field")(2,"input",28),lm("ngModelChange",function(o){Od(e);let c=iC(2);return UC(c.searchTerm,o)||(c.searchTerm=o),Pd(o)}),$l(),CD(),Qi(3,"sh-icon",29),jC(4,"magnifying-glass"),$l(),aT(5,Me,2,0,"sh-icon",30),$l()(),Qi(6,"div",31)(7,"button",32),Hg("click",function(){Od(e);let o=iC(2);return Pd(o.selectAll())}),nC(8,6),$l(),Qi(9,"button",32),Hg("click",function(){Od(e);let o=iC(2);return Pd(o.selectNone())}),nC(10,7),$l()();}if(n&2){let e=iC(2);CE(2),cm("ngModel",e.searchTerm),_D(),CE(3),cT(e.searchTerm()?5:-1),CE(2),vg("disabled",e.allSelected()),CE(2),vg("disabled",e.noneSelected());}}function Le(n,t){if(n&1&&(Qi(0,"div"),nC(1,8),ob(2,"bytes"),$l()),n&2){let e=iC().$implicit;CE(2),Vg(sb(2,1,e.Metadata?.SourceFilesSize)),rC(1);}}function ye(n,t){if(n&1&&(Qi(0,"div"),nC(1,9),ob(2,"bytes"),$l()),n&2){let e=iC().$implicit;CE(2),Vg(sb(2,1,e.Metadata?.TargetFilesSize)),rC(1);}}function Ae(n,t){if(n&1&&(Qi(0,"div"),nC(1,10),ob(2,"relativeTime"),$l()),n&2){let e=iC().$implicit;CE(2),Vg(ab(2,1,e.Metadata?.LastBackupFinished,false)),rC(1);}}function Re(n,t){if(n&1){let e=vT();Qi(0,"sh-card",34),Hg("click",function(){let o=Od(e).$implicit,c=iC(2);return Pd(c.toggleSelected(o.BackupId))}),Qi(1,"sh-checkbox",35),lm("checkedChange",function(o){let c=Od(e).$implicit;return UC(c.Selected,o)||(c.Selected=o),Pd(o)}),Qi(2,"h3"),jC(3),Qi(4,"sh-chip",36),Ig(5,"img",37),jC(6),$l()()(),Qi(7,"div",38),aT(8,Le,3,3,"div"),aT(9,ye,3,3,"div"),aT(10,Ae,3,4,"div"),$l()();}if(n&2){let e=t.$implicit,i=iC(2);Kg("unmatched",e.Match===false),CE(),cm("checked",e.Selected),CE(2),Ql(" ",e.Name," "),CE(2),vg("src",i.getBackendIcon(e.TargetURLDisplay),Zp),CE(),Ql(" ",i.getBackendType(e.TargetURLDisplay)," "),CE(2),cT(e.Metadata?.SourceFilesSize?8:-1),CE(),cT(e.Metadata?.TargetFilesSize?9:-1),CE(),cT(e.Metadata?.LastBackupFinished?10:-1);}}function Ge(n,t){if(n&1){let e=vT();Qi(0,"sh-toggle",26),lm("checkedChange",function(o){Od(e);let c=iC(2);return UC(c.saveNow,o)||(c.saveNow=o),Pd(o)}),Fg(1,11),Ig(2,"sh-icon",39),jg(),$l();}if(n&2){let e=iC(2);vg("color","primary"),cm("checked",e.saveNow),CE(2),vg("shTooltip","Save backups without editing the configuration");}}function De(n,t){n&1&&(Qi(0,"sh-toggle",25),Fg(1,12),Ig(2,"sh-icon",39),jg(),$l()),n&2&&(vg("color","primary")("checked",true)("disabled",true),CE(2),vg("shTooltip","Save now can only be disabled when importing a single backup"));}function ke(n,t){if(n&1){let e=vT();aT(0,he,11,4),Qi(1,"div",21),dT(2,Re,11,9,"sh-card",22,Oe),$l(),Qi(4,"div",23),aT(5,Ge,3,3,"sh-toggle",24)(6,De,3,4,"sh-toggle",25),Qi(7,"sh-toggle",26),lm("checkedChange",function(o){Od(e);let c=iC();return UC(c.importMetadata,o)||(c.importMetadata=o),Pd(o)}),nC(8,5),$l()();}if(n&2){let e=iC();cT(e.configs().length>1?0:-1),CE(2),fT(e.configsSorted()),CE(3),cT(e.selectedItems().length<=1?5:6),CE(2),vg("color","primary"),cm("checked",e.importMetadata);}}function $e(n,t){n&1&&nC(0,2,1);}function be(n,t){n&1&&nC(0,2,2);}var w=class n{#t=T(d);#n=T(C);#e=T(ee);#i=T(fe);#o=T(g);getBackendType=Ne;getBackendIcon=Ee;isLoading=Ge$1(true);isImporting=Ge$1(false);configs=Ge$1([]);saveNow=Ge$1(false);importMetadata=Ge$1(false);searchTerm=Ge$1("");allSelected=Nt(()=>this.selectedItems().length===this.configs().length);noneSelected=Nt(()=>this.selectedItems().length===0);configsSorted=Nt(()=>{let t=this.searchTerm().toLowerCase();return this.configs().map(e=>m(l({},e),{Match:t?e.Name?.toLowerCase().includes(t):null})).sort((e,i)=>(e.Name??"").localeCompare(i.Name??"")).sort((e,i)=>e.Match===i.Match?0:e.Match?-1:1)});ngOnInit(){let t=this.#t.temporaryBackupId();if(!t){this.#e.navigate(["/backup/import-destination/destination"]);return}this.#n.postApiV1BackupByIdRestoreTaskConfig({id:t}).pipe(zu(()=>this.isLoading.set(false))).subscribe({next:e=>{let i=e.sort((o,c)=>(o.Name??"").localeCompare(c.Name??"")).map(o=>m(l({},o),{Selected:e.length===1}));this.configs.set(i);},error:e=>{this.#t.showErrorDialog(e.message||"Failed to fetch configurations");}});}toggleSelected(t){this.configs.update(e=>e.map(i=>i.BackupId===t?m(l({},i),{Selected:!i.Selected}):i));}selectAll(){this.configs.update(t=>t.map(e=>m(l({},e),{Selected:true})));}selectNone(){this.configs.update(t=>t.map(e=>m(l({},e),{Selected:false})));}selectedItems=Nt(()=>this.configs().filter(t=>t.Selected));import(){let t=this.selectedItems();if(t.length===0)return;let e=this.importMetadata(),i=this.saveNow()||t.length!==1;this.isImporting.set(true);let o=c=>{if(c>=t.length){this.isImporting.set(false),this.#i.success($localize`Successfully imported ${t.length} backup(s)`),this.#e.navigate(["/"]);return}let N=t[c];this.#n.postApiV1BackupByIdImportfromtemp({requestBody:{BackupId:N.BackupId,ImportMetadata:e,Direct:i}}).subscribe({next:u=>{if(i)this.configs.update(I=>I.filter(G=>G.BackupId!==N.BackupId)),o(c+1);else {this.isImporting.set(false);let I=this.#o.addDraftBackup(u.data);this.#e.navigate(["/backup-draft",I]);}},error:u=>{this.isImporting.set(false),this.#t.showErrorDialog(`Failed to import ${N.Name}: ${u.message}`);}});};o(0);}back(){this.#e.navigate(["/backup/import-destination/encryption"]);}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=hw({type:n,selectors:[["app-import-destination-select-config"]],decls:14,vars:4,consts:()=>{let t;t=$localize`Select configurations to import`;let e;e=$localize`Back`;let i;i=$localize`${"\uFFFD*12:1\uFFFD"}:START_BLOCK_IF: Importing... ${"\uFFFD/*12:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*13:2\uFFFD"}:START_BLOCK_ELSE: Import selected ${"\uFFFD/*13:2\uFFFD"}:CLOSE_BLOCK_ELSE:`;let o;o=$localize`Fetching backup configurations from destination...`;let c;c=$localize`No backup configurations found at this destination.`;let N;N=$localize`Import metadata`;let u;u=$localize`Search for destination...`;let I;I=$localize`Select all`;let G;G=$localize`Select none`;let K;K=$localize` Source size: ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let U;U=$localize` Target size: ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let J;J=$localize` Last backup: ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let X;X=$localize` Save now ${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:info${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:`;let z;return z=$localize` Save now ${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON: info ${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:`,[t,e,i,o,c,N,I,G,K,U,J,X,z,[1,"content-wrapper"],[1,"loading-state"],[1,"empty-state"],[1,"actions"],["shButton","",3,"click","disabled"],[1,"spacer"],["shButton","",1,"primary","raised",3,"click","disabled"],[1,"primary","indeterminate"],[1,"config-list"],[1,"type-a","actionable","full-width",3,"unmatched"],[1,"options"],[3,"color","checked"],[3,"color","checked","disabled"],[3,"checkedChange","color","checked"],[1,"search-area"],["type","text","placeholder",u,3,"ngModelChange","ngModel"],["prefix",""],["suffix","",1,"clear-search"],[1,"list-actions"],["shButton","",1,"small",3,"click","disabled"],["suffix","",1,"clear-search",3,"click"],[1,"type-a","actionable","full-width",3,"click"],[1,"primary","raised",3,"checkedChange","checked"],[1,"small","provider"],["alt","",1,"provider-icon",3,"src"],[1,"metadata"],[1,"small",3,"shTooltip"]]},template:function(e,i){e&1&&(Qi(0,"div",13)(1,"h2"),nC(2,0),$l(),aT(3,Fe,4,0,"div",14)(4,Pe,3,0,"div",15)(5,ke,9,4),Qi(6,"div",16)(7,"button",17),Hg("click",function(){return i.back()}),nC(8,1),$l(),Ig(9,"div",18),Qi(10,"button",19),Hg("click",function(){return i.import()}),Fg(11,2),aT(12,$e,1,0)(13,be,1,0),jg(),$l()()()),e&2&&(CE(3),cT(i.isLoading()?3:i.configs().length===0?4:5),CE(4),vg("disabled",i.isImporting()),CE(3),vg("disabled",i.isImporting()||i.selectedItems().length===0||i.isLoading()),CE(2),cT(i.isImporting()?12:13));},dependencies:[v,f,J,U,Bn,Ze,Rn,Jt,d$1,at,N,D,Fe$1,m$1,m$2],styles:["[_nghost-%COMP%]{display:block;padding:2rem;max-width:50rem;margin:0 auto}.loading-state[_ngcontent-%COMP%], .empty-state[_ngcontent-%COMP%]{text-align:center;padding:4rem 2rem}.loading-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin-top:1rem;color:var(--color-on-surface-variant)}h2[_ngcontent-%COMP%]{margin-bottom:2rem}.search-area[_ngcontent-%COMP%]{display:flex;flex-direction:row;gap:1rem;margin-bottom:2rem}.list-actions[_ngcontent-%COMP%]{display:flex;flex-direction:row;gap:.5rem;margin-bottom:.5rem;justify-content:flex-end}.clear-search[_ngcontent-%COMP%]{opacity:.6;cursor:pointer}.config-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.config-list[_ngcontent-%COMP%] sh-card[_ngcontent-%COMP%]{padding:1rem;cursor:pointer;display:flex;flex-direction:column;gap:.5rem}.config-list[_ngcontent-%COMP%] sh-card.unmatched[_ngcontent-%COMP%]{opacity:.4}.config-list[_ngcontent-%COMP%] sh-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;gap:.5rem;flex-grow:1}.config-list[_ngcontent-%COMP%] sh-card[_ngcontent-%COMP%] .provider[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.config-list[_ngcontent-%COMP%] sh-card[_ngcontent-%COMP%] .metadata[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;margin-left:1.75rem}.provider-icon[_ngcontent-%COMP%]{width:1.25rem;height:1.25rem}.options[_ngcontent-%COMP%]{margin-bottom:2rem;display:flex;flex-direction:column;gap:1rem}.actions[_ngcontent-%COMP%]{display:flex;align-items:center;margin-top:2rem}.actions[_ngcontent-%COMP%] .spacer[_ngcontent-%COMP%]{flex:1}"]})};export{w as default};
@@ -1,2 +1,2 @@
1
- import {G}from'./chunk-CTRzgLM9.js';import'./chunk-CZoVeRAG.js';import'./chunk-aOMoAKYY.js';import {t as tn,Q as Qt,l as lt,o as on,k as ke}from'./chunk-kU0H989B.js';import'./chunk-C80zvTbO.js';import'./chunk-Cjb79u3p.js';import'./chunk-DJJ8GbYi.js';import'./chunk-DUYvFN8m.js';import'./chunk-BpRWdcC8.js';import {V,G as G$1}from'./chunk-ihUnHtR7.js';import'./chunk-Bb6BmVO4.js';import {v as ve$1}from'./chunk-DmDqcC4A.js';import'./chunk-CAwTsBqQ.js';import'./chunk-B53Wj4F9.js';import'./chunk-BTgf5lfZ.js';import {T,e as ee,aw as W,a6 as be,bF as ve,E as D1,G as Ge,N as Nt,at as h,h as hw,v,d as N,a0 as de,u as ue,l as vT,ak as um,Q as Qi,V as Vg,n as nC,$ as $l,f as aT,p as cm,r as kd,U as UC,O as Od,L as Lg,j as vg,F as Fg,al as WC,C as CE,i as cT,x as am,A as yg,o as oC,aD as YC,W as Wg,K as fC,k as iC,w as jC,aP as ql,aQ as Gl,ao as qC,s as CD,a3 as KC,y as _D}from'./main-VVQP2YE7.js';import'./chunk-Bja52qI7.js';import'./chunk-B8uF0dom.js';import {F as Fe}from'./chunk-B9maI7Xa.js';import {B as Bn,T as Tn,Z as Ze,R as Rn,P as Pn,J as Jt,a as Zt}from'./chunk-BO2GlieG.js';import'./chunk-CKnRcyHZ.js';import'./chunk-CwKy8pxa.js';import'./chunk-BVEyeg9y.js';import'./chunk-DqIU7ViF.js';import'./chunk-Box6Lckh.js';var Oe=["formRef"],Re=["testUrl"],Ne=()=>({maxWidth:"700px",width:"100%"});function De(o,i){if(o&1){let e=vT();Qi(0,"button",24),Vg("click",function(){kd(e);let t=iC();return Od(t.openTargetUrlDialog())}),Lg(1,5),vg(2,"sh-icon"),Fg(),$l();}}function Ie(o,i){if(o&1){let e=vT();Qi(0,"button",24),Vg("click",function(){kd(e);let t=iC(2);return Od(t.copyTargetUrl())}),Lg(1,7),vg(2,"sh-icon"),Fg(),$l();}}function fe(o,i){if(o&1){let e=vT();Qi(0,"sh-menu")(1,"button",15)(2,"sh-icon"),jC(3,"dots-three-vertical"),$l()(),ql(4,25),Qi(5,"button",24),Vg("click",function(){kd(e);let t=iC();return Od(t.openTargetUrlDialog())}),Lg(6,6),vg(7,"sh-icon"),Fg(),$l(),aT(8,Ie,3,0,"button",15),Gl(),$l();}if(o&2){iC();let e=qC(0);CE(8),cT(e?8:-1);}}function he(o,i){if(o&1){let e=vT();Qi(0,"app-destination-list-item",17)(1,"button",20),Vg("click",function(){kd(e);let t=iC();return Od(t.removeDestination())}),nC(2,8),$l()();}if(o&2){iC();let e=qC(12);yg("destination",e);}}function ye(o,i){if(o&1){let e=vT();Qi(0,"app-destination-list",26),Vg("setDestination",function(t){kd(e);let s=iC();return Od(s.setDestination(t))}),$l();}}function Me(o,i){if(o&1){let e=vT();Qi(0,"app-single-destination",27),cm("targetUrlChange",function(t){kd(e);let s=iC();return UC(s.targetUrlModel,t)||(s.targetUrlModel=t),Od(t)}),$l();}if(o&2){let e=iC();am("targetUrl",e.targetUrlModel);}}function Pe(o,i){o&1&&(Lg(0,4,1),vg(1,"sh-icon",22),Fg());}function Ae(o,i){o&1&&(Lg(0,4,2),vg(1,"sh-icon"),Fg());}function Le(o,i){if(o&1){let e=vT();Qi(0,"sh-dialog",28),cm("isOpenChange",function(t){kd(e);let s=iC();return UC(s.targetUrlDialogOpen,t)||(s.targetUrlDialogOpen=t),Od(t)}),Qi(1,"header",29)(2,"div",30)(3,"h2"),nC(4,9),$l(),Qi(5,"sh-alert",31),nC(6,10),$l()()(),Qi(7,"div",32)(8,"sh-form-field")(9,"textarea",33),cm("ngModelChange",function(t){kd(e);let s=iC();return UC(s.targetUrlCtrl,t)||(s.targetUrlCtrl=t),Od(t)}),$l(),CD(),$l()(),Qi(10,"footer",34)(11,"button",20),Vg("click",function(){kd(e);let t=iC();return Od(t.closeTargetUrlDialog(false))}),jC(12,"Cancel"),$l(),Qi(13,"button",35),Vg("click",function(){kd(e);let t=iC();return Od(t.closeTargetUrlDialog(true))}),Lg(14,11),vg(15,"sh-icon"),Fg(),$l()()();}if(o&2){let e=iC();am("isOpen",e.targetUrlDialogOpen),yg("options",KC(3,Ne)),CE(9),am("ngModel",e.targetUrlCtrl),_D();}}var x=class o{#i=T(ee);#o=T(W);#n=T(be);injector=T(ve);#e=T(G);formRef=D1.required("formRef");testUrlComponent=D1.required("testUrl");testSignal=this.#e.destinationTestSignal;targetUrlModel=this.#e.destinationTargetUrl;targetUrlCtrl=Ge(null);targetUrlInitial=Ge(null);targetUrlDialogOpen=Ge(false);toggleNewDestination=Ge(true);selectedDestinationType=Nt(()=>{let i=this.#e.destinationTargetUrl();return i?V(i):null});selectedDestinationTypeOption=Nt(()=>{let i=this.selectedDestinationType();return i?{key:i.customKey??i.key,customKey:i.customKey??null,displayName:i.displayName,description:i.description,sourceDescription:i.sourceDescription??null,icon:i.icon}:null});copyTargetUrl(){navigator.clipboard.writeText(this.#e.destinationTargetUrl()??"");}openTargetUrlDialog(){let i=this.#e.destinationTargetUrl();this.targetUrlCtrl.set(i),this.targetUrlInitial.set(i),this.targetUrlDialogOpen.set(true);}closeTargetUrlDialog(i=false){this.targetUrlDialogOpen.set(false);let e=this.targetUrlCtrl(),n=this.targetUrlInitial();!i||e===n||!e||this.#e.updateTargetUrl(e);}setDestination(i){let e=G$1(i??"");if(e){if(e.mapper.default){let n=e.mapper.default("");this.#e.updateTargetUrl(n);return}this.#e.updateTargetUrl(`${i}://`);}}removeDestination(){this.#e.updateTargetUrl(null);}goBack(){this.#i.navigate(["general"],{relativeTo:this.#o.parent});}next(){let i=this.testSignal();if(i===null){this.#n.open(h,{data:{title:$localize`Test destination`,message:$localize`You have not tested the destination yet. Do you want to test it now?`,confirmText:$localize`Test now`,cancelText:$localize`Skip test and continue`},closed:n=>{n?this.testUrlComponent()?.testDestination(false)?.then(t=>{t.action==="success"&&t.containsBackup?this.#t():this.#n.open(h,{data:{title:$localize`Test did not succeed`,message:t.errorMessage??$localize`Failed to test the destination.`,confirmText:$localize`OK`,cancelText:void 0}});}):this.#t();}});return}let e=typeof i=="string"?null:i;if(e?.action!=="success"||!e.containsBackup){this.#n.open(h,{data:{title:$localize`Test destination`,message:$localize`The destination has not been tested successfully. Are you sure you want to continue?`,confirmText:$localize`Edit destination`,cancelText:$localize`Yes, continue`},closed:n=>{n||this.#t();}});return}this.#t();}#t(){this.#i.navigate(["encryption"],{relativeTo:this.#o.parent});}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=hw({type:o,selectors:[["app-restore-destination"]],viewQuery:function(e,n){e&1&&Wg(n.formRef,Oe,5)(n.testUrlComponent,Re,5),e&2&&fC(2);},features:[YC([ke])],decls:25,vars:18,consts:()=>{let i;i=$localize`Backup destination`;let e;e=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SH_ICON: Go back `;let n;n=$localize`${"\uFFFD*22:1\uFFFD"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_SH_ICON:spinner${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*22:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*23:2\uFFFD"}:START_BLOCK_ELSE:${"\uFFFD#1:2\uFFFD"}:START_TAG_SH_ICON_1:arrow-right${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*23:2\uFFFD"}:CLOSE_BLOCK_ELSE: Continue `,n=oC(n);let t;t=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:link${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Set target URL `;let s;s=$localize`${"\uFFFD#7\uFFFD"}:START_TAG_SH_ICON:link${"\uFFFD/#7\uFFFD"}:CLOSE_TAG_SH_ICON: Edit target URL `;let g;g=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:copy${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Copy URL to clipboard `;let U;U=$localize`Change`;let b;b=$localize`Edit target URL`;let G;G=$localize`Be careful, this will overwrite everything you have in your destination.`;let k;return k=$localize` Override target URL ${"\uFFFD#15\uFFFD"}:START_TAG_SH_ICON:swap${"\uFFFD/#15\uFFFD"}:CLOSE_TAG_SH_ICON:`,[["formRef",""],["testUrl",""],i,e,n,t,s,g,U,b,G,k,[3,"submit"],[1,"title-30"],[1,"actions"],["shButton","","type","button",1,"small"],[3,"targetUrlChange","testSignalChange","targetUrl","testSignal","backupId","sourcePrefix","suppressErrorDialogs","askToCreate","testExpectation","readOnlyTest","moduleType"],[1,"current-destination",3,"destination"],[3,"targetUrl"],[1,"form-actions"],["shButton","","type","button",3,"click"],["shButton","","type","submit",1,"raised","primary",3,"disabled"],[1,"loader"],[3,"isOpen","options"],["shButton","","type","button",1,"small",3,"click"],["menu",""],[3,"setDestination"],[3,"targetUrlChange","targetUrl"],[3,"isOpenChange","isOpen","options"],["header",""],[1,"target-dialog-header"],[1,"warn"],["content",""],["id","targetUrl","autocomplete","off",3,"ngModelChange","ngModel"],["footer",""],["shButton","","type","submit",1,"raised","primary",3,"click"]]},template:function(e,n){if(e&1){let t=vT();um(0),Qi(1,"form",12,0),Vg("submit",function(){return n.next()}),Qi(3,"header")(4,"h3",13)(5,"span"),nC(6,2),$l(),Qi(7,"div",14),aT(8,De,3,0,"button",15)(9,fe,9,1,"sh-menu"),$l()(),Qi(10,"app-test-url",16,1),cm("targetUrlChange",function(g){return kd(t),UC(n.targetUrlModel,g)||(n.targetUrlModel=g),Od(g)})("testSignalChange",function(g){return kd(t),UC(n.testSignal,g)||(n.testSignal=g),Od(g)}),$l(),um(12),aT(13,he,3,1,"app-destination-list-item",17),$l(),aT(14,ye,1,0,"app-destination-list"),aT(15,Me,1,1,"app-single-destination",18),Qi(16,"div",19)(17,"button",20),Vg("click",function(){return n.goBack()}),Lg(18,3),vg(19,"sh-icon"),Fg(),$l(),Qi(20,"button",21),Lg(21,4),aT(22,Pe,2,0,"sh-icon",22)(23,Ae,2,0,"sh-icon"),Fg(),$l()()(),aT(24,Le,16,4,"sh-dialog",23);}if(e&2){let t=WC(!!n.targetUrlModel());CE(8),cT(t?9:8),CE(2),am("targetUrl",n.targetUrlModel)("testSignal",n.testSignal),yg("backupId",null)("sourcePrefix",null)("suppressErrorDialogs",false)("askToCreate",false)("testExpectation","containsBackup")("readOnlyTest",true)("moduleType","Backend"),CE(2);let s=WC(n.selectedDestinationTypeOption());CE(),cT(s?13:-1),CE(),cT(t?-1:14),CE(),cT(t?15:-1),CE(5),yg("disabled",n.testSignal()=="testing"||!t),CE(2),cT(n.testSignal()=="testing"?22:23),CE(2),cT(n.targetUrlDialogOpen()?24:-1);}},dependencies:[tn,Qt,lt,Bn,Tn,Ze,Rn,Pn,Jt,Zt,v,Fe,ve$1,N,de,ue,on],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:40rem}header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], header[_ngcontent-%COMP%] sh-alert[_ngcontent-%COMP%]{width:100%}header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;gap:.5rem}header[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{cursor:pointer;text-decoration:underline}header[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}pre[_ngcontent-%COMP%]{white-space:pre-wrap}.field-row[_ngcontent-%COMP%]{display:grid;align-items:flex-end;grid-template-columns:1fr 2.5rem;gap:.5rem}.field-row.single-field[_ngcontent-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.clickable[_ngcontent-%COMP%]{cursor:pointer;color:var(--primary-8)}.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-4);border-radius:var(--shape-3);box-shadow:var(--box-shadow-10);background-color:var(--base-2);cursor:pointer}.most-common-destinations[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--paragraph-10);margin:0}[prefix].link[_ngcontent-%COMP%]{cursor:pointer;text-decoration:underline;color:var(--primary-8)}textarea[_ngcontent-%COMP%] ~ grammarly-extension[_ngcontent-%COMP%]{display:none}.target-dialog-header[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:.5rem}"]})};
1
+ import {G}from'./chunk-DV8bRznt.js';import'./chunk-I5dxaHZ4.js';import'./chunk-BmmYJhOf.js';import {s as sn,o as on,p as pt,_ as _n,V as Ve}from'./chunk-nuwlP4Wz.js';import'./chunk-bt6lhYfG.js';import'./chunk-BZgAzrl9.js';import'./chunk-h6n5A491.js';import'./chunk-aCJqF9DH.js';import'./chunk-DXEgz1tV.js';import {V,G as G$1}from'./chunk-Dz5guW4b.js';import'./chunk-CyqqlRjO.js';import {v as ve$1}from'./chunk-CX3Axjpk.js';import'./chunk-mA4J4_nC.js';import'./chunk-C3gUxHQM.js';import'./chunk-DidJB9ig.js';import {T,e as ee,aw as W,a6 as be,bF as ve,D as w1,G as Ge,N as Nt,at as h,h as hw,v,c as N,a0 as de,u as ue,l as vT,ak as dm,Q as Qi,H as Hg,n as nC,$ as $l,d as aT,p as lm,O as Od,U as UC,P as Pd,F as Fg,i as Ig,j as jg,al as WC,C as CE,g as cT,w as cm,y as vg,o as oC,aD as YC,M as qg,R as fC,k as iC,s as jC,aP as ql,aQ as Gl,ao as qC,r as CD,a3 as KC,x as _D}from'./main-3NL5M6JB.js';import'./chunk-B1c7h-_w.js';import'./chunk-DDWDcSq2.js';import {F as Fe}from'./chunk-DhiIZLrA.js';import {B as Bn,T as Tn,Z as Ze,R as Rn,P as Pn,J as Jt,a as Zt}from'./chunk-B6c2NXNy.js';import'./chunk-MDqH8T3Z.js';import'./chunk-mflQLMHH.js';import'./chunk-CuJ_uEdr.js';import'./chunk-D1pDZLJ9.js';import'./chunk-DGvC49aU.js';var Oe=["formRef"],Re=["testUrl"],Ne=()=>({maxWidth:"700px",width:"100%"});function De(o,i){if(o&1){let e=vT();Qi(0,"button",24),Hg("click",function(){Od(e);let t=iC();return Pd(t.openTargetUrlDialog())}),Fg(1,5),Ig(2,"sh-icon"),jg(),$l();}}function Ie(o,i){if(o&1){let e=vT();Qi(0,"button",24),Hg("click",function(){Od(e);let t=iC(2);return Pd(t.copyTargetUrl())}),Fg(1,7),Ig(2,"sh-icon"),jg(),$l();}}function fe(o,i){if(o&1){let e=vT();Qi(0,"sh-menu")(1,"button",15)(2,"sh-icon"),jC(3,"dots-three-vertical"),$l()(),ql(4,25),Qi(5,"button",24),Hg("click",function(){Od(e);let t=iC();return Pd(t.openTargetUrlDialog())}),Fg(6,6),Ig(7,"sh-icon"),jg(),$l(),aT(8,Ie,3,0,"button",15),Gl(),$l();}if(o&2){iC();let e=qC(0);CE(8),cT(e?8:-1);}}function he(o,i){if(o&1){let e=vT();Qi(0,"app-destination-list-item",17)(1,"button",20),Hg("click",function(){Od(e);let t=iC();return Pd(t.removeDestination())}),nC(2,8),$l()();}if(o&2){iC();let e=qC(12);vg("destination",e);}}function ye(o,i){if(o&1){let e=vT();Qi(0,"app-destination-list",26),Hg("setDestination",function(t){Od(e);let s=iC();return Pd(s.setDestination(t))}),$l();}}function Me(o,i){if(o&1){let e=vT();Qi(0,"app-single-destination",27),lm("targetUrlChange",function(t){Od(e);let s=iC();return UC(s.targetUrlModel,t)||(s.targetUrlModel=t),Pd(t)}),$l();}if(o&2){let e=iC();cm("targetUrl",e.targetUrlModel);}}function Pe(o,i){o&1&&(Fg(0,4,1),Ig(1,"sh-icon",22),jg());}function Ae(o,i){o&1&&(Fg(0,4,2),Ig(1,"sh-icon"),jg());}function Le(o,i){if(o&1){let e=vT();Qi(0,"sh-dialog",28),lm("isOpenChange",function(t){Od(e);let s=iC();return UC(s.targetUrlDialogOpen,t)||(s.targetUrlDialogOpen=t),Pd(t)}),Qi(1,"header",29)(2,"div",30)(3,"h2"),nC(4,9),$l(),Qi(5,"sh-alert",31),nC(6,10),$l()()(),Qi(7,"div",32)(8,"sh-form-field")(9,"textarea",33),lm("ngModelChange",function(t){Od(e);let s=iC();return UC(s.targetUrlCtrl,t)||(s.targetUrlCtrl=t),Pd(t)}),$l(),CD(),$l()(),Qi(10,"footer",34)(11,"button",20),Hg("click",function(){Od(e);let t=iC();return Pd(t.closeTargetUrlDialog(false))}),jC(12,"Cancel"),$l(),Qi(13,"button",35),Hg("click",function(){Od(e);let t=iC();return Pd(t.closeTargetUrlDialog(true))}),Fg(14,11),Ig(15,"sh-icon"),jg(),$l()()();}if(o&2){let e=iC();cm("isOpen",e.targetUrlDialogOpen),vg("options",KC(3,Ne)),CE(9),cm("ngModel",e.targetUrlCtrl),_D();}}var x=class o{#i=T(ee);#o=T(W);#n=T(be);injector=T(ve);#e=T(G);formRef=w1.required("formRef");testUrlComponent=w1.required("testUrl");testSignal=this.#e.destinationTestSignal;targetUrlModel=this.#e.destinationTargetUrl;targetUrlCtrl=Ge(null);targetUrlInitial=Ge(null);targetUrlDialogOpen=Ge(false);toggleNewDestination=Ge(true);selectedDestinationType=Nt(()=>{let i=this.#e.destinationTargetUrl();return i?V(i):null});selectedDestinationTypeOption=Nt(()=>{let i=this.selectedDestinationType();return i?{key:i.customKey??i.key,customKey:i.customKey??null,displayName:i.displayName,description:i.description,sourceDescription:i.sourceDescription??null,icon:i.icon}:null});copyTargetUrl(){navigator.clipboard.writeText(this.#e.destinationTargetUrl()??"");}openTargetUrlDialog(){let i=this.#e.destinationTargetUrl();this.targetUrlCtrl.set(i),this.targetUrlInitial.set(i),this.targetUrlDialogOpen.set(true);}closeTargetUrlDialog(i=false){this.targetUrlDialogOpen.set(false);let e=this.targetUrlCtrl(),n=this.targetUrlInitial();!i||e===n||!e||this.#e.updateTargetUrl(e);}setDestination(i){let e=G$1(i??"");if(e){if(e.mapper.default){let n=e.mapper.default("");this.#e.updateTargetUrl(n);return}this.#e.updateTargetUrl(`${i}://`);}}removeDestination(){this.#e.updateTargetUrl(null);}goBack(){this.#i.navigate(["general"],{relativeTo:this.#o.parent});}next(){let i=this.testSignal();if(i===null){this.#n.open(h,{data:{title:$localize`Test destination`,message:$localize`You have not tested the destination yet. Do you want to test it now?`,confirmText:$localize`Test now`,cancelText:$localize`Skip test and continue`},closed:n=>{n?this.testUrlComponent()?.testDestination(false)?.then(t=>{t.action==="success"&&t.containsBackup?this.#t():this.#n.open(h,{data:{title:$localize`Test did not succeed`,message:t.errorMessage??$localize`Failed to test the destination.`,confirmText:$localize`OK`,cancelText:void 0}});}):this.#t();}});return}let e=typeof i=="string"?null:i;if(e?.action!=="success"||!e.containsBackup){this.#n.open(h,{data:{title:$localize`Test destination`,message:$localize`The destination has not been tested successfully. Are you sure you want to continue?`,confirmText:$localize`Edit destination`,cancelText:$localize`Yes, continue`},closed:n=>{n||this.#t();}});return}this.#t();}#t(){this.#i.navigate(["encryption"],{relativeTo:this.#o.parent});}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=hw({type:o,selectors:[["app-restore-destination"]],viewQuery:function(e,n){e&1&&qg(n.formRef,Oe,5)(n.testUrlComponent,Re,5),e&2&&fC(2);},features:[YC([Ve])],decls:25,vars:18,consts:()=>{let i;i=$localize`Backup destination`;let e;e=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SH_ICON: Go back `;let n;n=$localize`${"\uFFFD*22:1\uFFFD"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_SH_ICON:spinner${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*22:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*23:2\uFFFD"}:START_BLOCK_ELSE:${"\uFFFD#1:2\uFFFD"}:START_TAG_SH_ICON_1:arrow-right${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON:${"\uFFFD/*23:2\uFFFD"}:CLOSE_BLOCK_ELSE: Continue `,n=oC(n);let t;t=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:link${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Set target URL `;let s;s=$localize`${"\uFFFD#7\uFFFD"}:START_TAG_SH_ICON:link${"\uFFFD/#7\uFFFD"}:CLOSE_TAG_SH_ICON: Edit target URL `;let g;g=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:copy${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Copy URL to clipboard `;let U;U=$localize`Change`;let b;b=$localize`Edit target URL`;let G;G=$localize`Be careful, this will overwrite everything you have in your destination.`;let k;return k=$localize` Override target URL ${"\uFFFD#15\uFFFD"}:START_TAG_SH_ICON:swap${"\uFFFD/#15\uFFFD"}:CLOSE_TAG_SH_ICON:`,[["formRef",""],["testUrl",""],i,e,n,t,s,g,U,b,G,k,[3,"submit"],[1,"title-30"],[1,"actions"],["shButton","","type","button",1,"small"],[3,"targetUrlChange","testSignalChange","targetUrl","testSignal","backupId","sourcePrefix","suppressErrorDialogs","askToCreate","testExpectation","readOnlyTest","moduleType"],[1,"current-destination",3,"destination"],[3,"targetUrl"],[1,"form-actions"],["shButton","","type","button",3,"click"],["shButton","","type","submit",1,"raised","primary",3,"disabled"],[1,"loader"],[3,"isOpen","options"],["shButton","","type","button",1,"small",3,"click"],["menu",""],[3,"setDestination"],[3,"targetUrlChange","targetUrl"],[3,"isOpenChange","isOpen","options"],["header",""],[1,"target-dialog-header"],[1,"warn"],["content",""],["id","targetUrl","autocomplete","off",3,"ngModelChange","ngModel"],["footer",""],["shButton","","type","submit",1,"raised","primary",3,"click"]]},template:function(e,n){if(e&1){let t=vT();dm(0),Qi(1,"form",12,0),Hg("submit",function(){return n.next()}),Qi(3,"header")(4,"h3",13)(5,"span"),nC(6,2),$l(),Qi(7,"div",14),aT(8,De,3,0,"button",15)(9,fe,9,1,"sh-menu"),$l()(),Qi(10,"app-test-url",16,1),lm("targetUrlChange",function(g){return Od(t),UC(n.targetUrlModel,g)||(n.targetUrlModel=g),Pd(g)})("testSignalChange",function(g){return Od(t),UC(n.testSignal,g)||(n.testSignal=g),Pd(g)}),$l(),dm(12),aT(13,he,3,1,"app-destination-list-item",17),$l(),aT(14,ye,1,0,"app-destination-list"),aT(15,Me,1,1,"app-single-destination",18),Qi(16,"div",19)(17,"button",20),Hg("click",function(){return n.goBack()}),Fg(18,3),Ig(19,"sh-icon"),jg(),$l(),Qi(20,"button",21),Fg(21,4),aT(22,Pe,2,0,"sh-icon",22)(23,Ae,2,0,"sh-icon"),jg(),$l()()(),aT(24,Le,16,4,"sh-dialog",23);}if(e&2){let t=WC(!!n.targetUrlModel());CE(8),cT(t?9:8),CE(2),cm("targetUrl",n.targetUrlModel)("testSignal",n.testSignal),vg("backupId",null)("sourcePrefix",null)("suppressErrorDialogs",false)("askToCreate",false)("testExpectation","containsBackup")("readOnlyTest",true)("moduleType","Backend"),CE(2);let s=WC(n.selectedDestinationTypeOption());CE(),cT(s?13:-1),CE(),cT(t?-1:14),CE(),cT(t?15:-1),CE(5),vg("disabled",n.testSignal()=="testing"||!t),CE(2),cT(n.testSignal()=="testing"?22:23),CE(2),cT(n.targetUrlDialogOpen()?24:-1);}},dependencies:[sn,on,pt,Bn,Tn,Ze,Rn,Pn,Jt,Zt,v,Fe,ve$1,N,de,ue,_n],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:40rem}header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], header[_ngcontent-%COMP%] sh-alert[_ngcontent-%COMP%]{width:100%}header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;gap:.5rem}header[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{cursor:pointer;text-decoration:underline}header[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}pre[_ngcontent-%COMP%]{white-space:pre-wrap}.field-row[_ngcontent-%COMP%]{display:grid;align-items:flex-end;grid-template-columns:1fr 2.5rem;gap:.5rem}.field-row.single-field[_ngcontent-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.clickable[_ngcontent-%COMP%]{cursor:pointer;color:var(--primary-8)}.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-4);border-radius:var(--shape-3);box-shadow:var(--box-shadow-10);background-color:var(--base-2);cursor:pointer}.most-common-destinations[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font:var(--paragraph-10);margin:0}[prefix].link[_ngcontent-%COMP%]{cursor:pointer;text-decoration:underline;color:var(--primary-8)}textarea[_ngcontent-%COMP%] ~ grammarly-extension[_ngcontent-%COMP%]{display:none}.target-dialog-header[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:.5rem}"]})};
2
2
  export{x as default};
@@ -0,0 +1 @@
1
+ var o=[{path:"",redirectTo:"general",pathMatch:"full"},{path:"general",loadComponent:()=>import('./chunk-nuwlP4Wz.js').then(function(n){return n.c})},{path:"destination",loadComponent:()=>import('./chunk-C7gG_Yh_.js')},{path:"source-data",loadComponent:()=>import('./chunk-nuwlP4Wz.js').then(function(n){return n.b})},{path:"schedule",loadComponent:()=>import('./chunk-nuwlP4Wz.js').then(function(n){return n.d})},{path:"options",loadComponent:()=>import('./chunk-DbbyVAGl.js')}];export{o as default};
@@ -1 +1 @@
1
- import {T,ab as C,a6 as be,a5 as g,e as ee$1,b as I1,N as Nt,G as Ge,z as za,at as h,H as qu,h as hw,v,_ as _t,aH as m,b2 as m$1,Q as Qi,n as nC,$ as $l,f as aT,V as Vg,C as CE,au as jg,av as rC,i as cT,A as yg,a3 as KC,Y as Yg,j as vg,a1 as dT,k as iC,a2 as fT,L as Lg,aM as ob,F as Fg,aN as ab,w as jC,J as om,aR as sb}from'./main-VVQP2YE7.js';import {f}from'./chunk-Bja52qI7.js';import {d}from'./chunk-B8uF0dom.js';import {$}from'./chunk-Box6Lckh.js';var W=()=>["/"],Y=(n,e)=>e.FilesetID,Z=(n,e)=>e.Path;function ee(n,e){n&1&&(Qi(0,"div",6),vg(1,"sh-progress-bar",12),Qi(2,"p"),nC(3,3),$l()());}function ie(n,e){n&1&&(Qi(0,"div",7)(1,"p"),nC(2,4),$l()());}function ne(n,e){if(n&1&&(Qi(0,"span",18),jC(1),ob(2,"bytes"),$l()),n&2){let i=iC().$implicit;CE(),om(sb(2,1,i.Size));}}function te(n,e){if(n&1&&(Qi(0,"div",16)(1,"span",17),jC(2),$l(),aT(3,ne,3,3,"span",18),$l()),n&2){let i=e.$implicit;CE(2),om(i.Path),CE(),cT(i.Size?3:-1);}}function oe(n,e){if(n&1&&(Qi(0,"sh-card",13)(1,"h3")(2,"span"),Lg(3,5),vg(4,"span",14),ob(5,"relativeTime"),Fg(),$l()(),Qi(6,"div",15),dT(7,te,4,2,"div",16,Z),$l()()),n&2){let i=iC().$implicit;CE(5),jg(i.FilesetID)(ab(5,2,i.FilesetTime,true)),rC(3),CE(2),fT(i.Files);}}function le(n,e){if(n&1&&aT(0,oe,9,5,"sh-card",13),n&2){let i=e.$implicit;cT(i.Files?.length?0:-1);}}function ae(n,e){if(n&1&&(Qi(0,"div",8),dT(1,le,1,1,null,null,Y),$l()),n&2){let i=iC();CE(),fT(i.filesets());}}var B=class n{#e=T(C);#i=T(be);#n=T(g);#t=T(ee$1);id=I1.required();backup=Nt(()=>this.#n.getBackupById(this.id()));brokenFilesResource=$({params:()=>({id:this.id()}),stream:({params:e})=>this.#e.postApiV2BackupListBrokenFiles({requestBody:{BackupId:e.id}})});isLoading=Nt(()=>this.brokenFilesResource.isLoading());isPurging=Ge(false);filesets=Ge([]);constructor(){za(()=>{let e=this.brokenFilesResource.value();if(e){let i=(e.Data??[]).slice().sort((t,r)=>t.FilesetTime<r.FilesetTime?1:t.FilesetTime>r.FilesetTime?-1:0);this.filesets.set(i);}});}totalFiles=Nt(()=>this.filesets().reduce((e,i)=>e+(i.Files?.length??0),0));hasBrokenFiles=Nt(()=>this.totalFiles()>0);purgeBrokenFiles(){let e=this.totalFiles();e!==0&&this.#i.open(h,{data:{title:$localize`Confirm purge`,message:$localize`Are you sure you want to fully remove ${e} broken file(s)?`,confirmText:$localize`Purge broken files`,cancelText:$localize`Cancel`},closed:i=>{i&&(this.isPurging.set(true),this.#e.postApiV2BackupPurgeBrokenFiles({requestBody:{BackupId:this.id()}}).pipe(qu(()=>this.isPurging.set(false))).subscribe({next:()=>{this.#t.navigate(["/"]);}}));}});}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=hw({type:n,selectors:[["app-broken-files"]],inputs:{id:[1,"id"]},decls:10,vars:8,consts:()=>{let e;e=$localize`Purge broken files for ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let i;i=$localize`Cancel`;let t;t=$localize` Purge broken files `;let r;r=$localize`Checking for broken files...`;let R;R=$localize`No broken files found for this backup.`;let k;return k=$localize` Version ${"\uFFFD0\uFFFD"}:INTERPOLATION: at ${"\uFFFD#4\uFFFD"}:START_TAG_SPAN:${"\uFFFD1\uFFFD"}:INTERPOLATION_1:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SPAN:`,[e,i,t,r,R,k,[1,"loading-state"],[1,"empty-state"],[1,"fileset-list"],[1,"actions"],["shButton","",3,"routerLink","disabled"],["shButton","",1,"raised","error",3,"click","disabled"],[1,"primary","indeterminate"],[1,"type-a","full-width"],[1,"time"],[1,"file-list"],[1,"file"],[1,"path"],[1,"size"]]},template:function(i,t){i&1&&(Qi(0,"h3"),nC(1,0),$l(),aT(2,ee,4,0,"div",6)(3,ie,3,0,"div",7)(4,ae,3,0,"div",8),Qi(5,"div",9)(6,"button",10),nC(7,1),$l(),Qi(8,"button",11),Vg("click",function(){return t.purgeBrokenFiles()}),nC(9,2),$l()()),i&2&&(CE(),jg(t.backup()?.Backup?.Name),rC(1),CE(),cT(t.isLoading()?2:t.hasBrokenFiles()?4:3),CE(4),yg("routerLink",KC(7,W))("disabled",t.isPurging()),CE(2),Yg("loading",t.isPurging()),yg("disabled",t.isPurging()||!t.hasBrokenFiles()||t.isLoading()));},dependencies:[v,f,d,_t,m,m$1],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;padding:2.5rem;max-width:43.75rem}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0}h3[_ngcontent-%COMP%] .time[_ngcontent-%COMP%]{font:var(--text-20);opacity:.7;margin-left:.5rem}.loading-state[_ngcontent-%COMP%], .empty-state[_ngcontent-%COMP%]{padding:2rem 0;display:flex;flex-direction:column;gap:1rem}.fileset-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0}.file-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;padding-top:.5rem}.file[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}.file[_ngcontent-%COMP%] .path[_ngcontent-%COMP%]{word-break:break-all}.file[_ngcontent-%COMP%] .size[_ngcontent-%COMP%]{white-space:nowrap;opacity:.7}.actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:.5rem;padding:2rem 0}"]})};export{B as default};
1
+ import {T,ab as C,a6 as be,a5 as g,e as ee$1,E as E1,N as Nt,G as Ge,z as za,at as h,J as zu,h as hw,v,_ as _t,aH as m,b2 as m$1,Q as Qi,n as nC,$ as $l,d as aT,H as Hg,C as CE,au as Vg,av as rC,g as cT,y as vg,a3 as KC,L as Kg,i as Ig,a1 as dT,k as iC,a2 as fT,F as Fg,aM as ob,j as jg,aN as ab,s as jC,K as im,aR as sb}from'./main-3NL5M6JB.js';import {f}from'./chunk-B1c7h-_w.js';import {d}from'./chunk-DDWDcSq2.js';import {$}from'./chunk-DGvC49aU.js';var W=()=>["/"],Y=(n,e)=>e.FilesetID,Z=(n,e)=>e.Path;function ee(n,e){n&1&&(Qi(0,"div",6),Ig(1,"sh-progress-bar",12),Qi(2,"p"),nC(3,3),$l()());}function ie(n,e){n&1&&(Qi(0,"div",7)(1,"p"),nC(2,4),$l()());}function ne(n,e){if(n&1&&(Qi(0,"span",18),jC(1),ob(2,"bytes"),$l()),n&2){let i=iC().$implicit;CE(),im(sb(2,1,i.Size));}}function te(n,e){if(n&1&&(Qi(0,"div",16)(1,"span",17),jC(2),$l(),aT(3,ne,3,3,"span",18),$l()),n&2){let i=e.$implicit;CE(2),im(i.Path),CE(),cT(i.Size?3:-1);}}function oe(n,e){if(n&1&&(Qi(0,"sh-card",13)(1,"h3")(2,"span"),Fg(3,5),Ig(4,"span",14),ob(5,"relativeTime"),jg(),$l()(),Qi(6,"div",15),dT(7,te,4,2,"div",16,Z),$l()()),n&2){let i=iC().$implicit;CE(5),Vg(i.FilesetID)(ab(5,2,i.FilesetTime,true)),rC(3),CE(2),fT(i.Files);}}function le(n,e){if(n&1&&aT(0,oe,9,5,"sh-card",13),n&2){let i=e.$implicit;cT(i.Files?.length?0:-1);}}function ae(n,e){if(n&1&&(Qi(0,"div",8),dT(1,le,1,1,null,null,Y),$l()),n&2){let i=iC();CE(),fT(i.filesets());}}var B=class n{#e=T(C);#i=T(be);#n=T(g);#t=T(ee$1);id=E1.required();backup=Nt(()=>this.#n.getBackupById(this.id()));brokenFilesResource=$({params:()=>({id:this.id()}),stream:({params:e})=>this.#e.postApiV2BackupListBrokenFiles({requestBody:{BackupId:e.id}})});isLoading=Nt(()=>this.brokenFilesResource.isLoading());isPurging=Ge(false);filesets=Ge([]);constructor(){za(()=>{let e=this.brokenFilesResource.value();if(e){let i=(e.Data??[]).slice().sort((t,r)=>t.FilesetTime<r.FilesetTime?1:t.FilesetTime>r.FilesetTime?-1:0);this.filesets.set(i);}});}totalFiles=Nt(()=>this.filesets().reduce((e,i)=>e+(i.Files?.length??0),0));hasBrokenFiles=Nt(()=>this.totalFiles()>0);purgeBrokenFiles(){let e=this.totalFiles();e!==0&&this.#i.open(h,{data:{title:$localize`Confirm purge`,message:$localize`Are you sure you want to fully remove ${e} broken file(s)?`,confirmText:$localize`Purge broken files`,cancelText:$localize`Cancel`},closed:i=>{i&&(this.isPurging.set(true),this.#e.postApiV2BackupPurgeBrokenFiles({requestBody:{BackupId:this.id()}}).pipe(zu(()=>this.isPurging.set(false))).subscribe({next:()=>{this.#t.navigate(["/"]);}}));}});}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=hw({type:n,selectors:[["app-broken-files"]],inputs:{id:[1,"id"]},decls:10,vars:8,consts:()=>{let e;e=$localize`Purge broken files for ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let i;i=$localize`Cancel`;let t;t=$localize` Purge broken files `;let r;r=$localize`Checking for broken files...`;let R;R=$localize`No broken files found for this backup.`;let k;return k=$localize` Version ${"\uFFFD0\uFFFD"}:INTERPOLATION: at ${"\uFFFD#4\uFFFD"}:START_TAG_SPAN:${"\uFFFD1\uFFFD"}:INTERPOLATION_1:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SPAN:`,[e,i,t,r,R,k,[1,"loading-state"],[1,"empty-state"],[1,"fileset-list"],[1,"actions"],["shButton","",3,"routerLink","disabled"],["shButton","",1,"raised","error",3,"click","disabled"],[1,"primary","indeterminate"],[1,"type-a","full-width"],[1,"time"],[1,"file-list"],[1,"file"],[1,"path"],[1,"size"]]},template:function(i,t){i&1&&(Qi(0,"h3"),nC(1,0),$l(),aT(2,ee,4,0,"div",6)(3,ie,3,0,"div",7)(4,ae,3,0,"div",8),Qi(5,"div",9)(6,"button",10),nC(7,1),$l(),Qi(8,"button",11),Hg("click",function(){return t.purgeBrokenFiles()}),nC(9,2),$l()()),i&2&&(CE(),Vg(t.backup()?.Backup?.Name),rC(1),CE(),cT(t.isLoading()?2:t.hasBrokenFiles()?4:3),CE(4),vg("routerLink",KC(7,W))("disabled",t.isPurging()),CE(2),Kg("loading",t.isPurging()),vg("disabled",t.isPurging()||!t.hasBrokenFiles()||t.isLoading()));},dependencies:[v,f,d,_t,m,m$1],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;padding:2.5rem;max-width:43.75rem}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0}h3[_ngcontent-%COMP%] .time[_ngcontent-%COMP%]{font:var(--text-20);opacity:.7;margin-left:.5rem}.loading-state[_ngcontent-%COMP%], .empty-state[_ngcontent-%COMP%]{padding:2rem 0;display:flex;flex-direction:column;gap:1rem}.fileset-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0}.file-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;padding-top:.5rem}.file[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}.file[_ngcontent-%COMP%] .path[_ngcontent-%COMP%]{word-break:break-all}.file[_ngcontent-%COMP%] .size[_ngcontent-%COMP%]{white-space:nowrap;opacity:.7}.actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:.5rem;padding:2rem 0}"]})};export{B as default};
@@ -1 +1 @@
1
- import {L}from'./chunk-Box6Lckh.js';import {T as T$1,ab as C$1,a as T$2,bh as Q,m as m$1,G as Ge,N as Nt,z as za,aj as l,b0 as Hs,aZ as ee}from'./main-VVQP2YE7.js';var _="shown-welcome-page-v1",m="hide-console-connection-status",A="use-out-of-process-controller",R="disable-console-control",b="disable-tray-icon-login",c="server-listen-interface",T="allowed-hostnames",D="server-passphrase",N="update-channel",w="startup-delay",y="usage-reporter-level",P="power-mode-provider",I="autogenerated-passphrase",C="has-asked-for-password-change",O=class o{#s=T$1(C$1);#r=T$1(T$2);#n=T$1(Q);#i=T$1(m$1);#o=L(this.#s.getApiV1Serversettings());#e=Ge(void 0);#t(e,t){if(!t)return false;let s=t[e];if((s??"").trim().length==0)return false;let r=s.trim().toLowerCase();return r==="true"||r==="1"||r==="yes"||r==="on"}serverSettings=Nt(()=>this.#e()||this.#o());askForInitialPasswordConfig=Nt(()=>{let e=(this.#i.systemInfo()?.StartedBy??"").trim().toLowerCase();if(e==="tray icon"||e=="trayicon")return false;let t=this.#e(),s=this.#t(I,t),r=this.#t(C,t);return s&&!r});showWelcomePage=Nt(()=>{let e=this.#e();if(!e)return false;let t=this.#t(C,e),s=this.#t(_,e);return !(t||s)});#c=za(()=>{let e=this.#r.serverSettings();e&&this.#e.set(e);});constructor(){this.#r.subscribe("serversettings");}isConsoleConnectionStatusHidden=Nt(()=>this.#t(m,this.serverSettings()));isControllerIpcEnabled=Nt(()=>this.#t(A,this.serverSettings()));refreshServerSettings(){this.#n.getConnectionMethod()!=="websocket"&&this.#s.getApiV1Serversettings().subscribe({next:e=>{this.#e.set(e);}});}#a(e,t){var s=l({},e);for(let[r,S]of Object.entries(t))S===null?delete s[r]:s[r]=S;return s}patchServerSettings(e){let t=l({},this.serverSettings());return this.#e.set(this.#a(this.serverSettings()??{},e)),this.#s.patchApiV1Serversettings({requestBody:e}).pipe(Hs(s=>{throw this.#e.set(t),s}))}patchServerSetting(e,t){let s={};return s[e]=t,this.patchServerSettings(s)}setShownWelcomePage(){return this.patchServerSetting(_,"true")}setHideConsoleConnectionStatus(e){return this.patchServerSetting(m,e?"True":"False")}setControllerIpcState(e){return this.patchServerSetting(A,e?"True":"False")}setDisableTrayIconLogin(e){return this.patchServerSetting(b,e?"True":"False")}setDisableConsoleControl(e){return this.patchServerSetting(R,e?"True":"False")}setRemoteAccessInterface(e){return this.patchServerSetting(c,e)}setRemoteAccessAllowedHostnames(e){var t={[T]:e};return this.serverSettings()?.[c]==="loopback"&&(t[c]="any"),this.patchServerSettings(t)}setRemoteAccessPassword(e){return this.patchServerSetting(D,e)}setUpdateChannel(e){return this.patchServerSetting(N,e)}setStartupDelay(e){return this.patchServerSetting(w,e)}setUsageReporterLevel(e){return this.patchServerSetting(y,e)}setPowerModeProvider(e){return this.patchServerSetting(P,e)}static \u0275fac=function(t){return new(t||o)};static \u0275prov=ee({token:o,factory:o.\u0275fac,providedIn:"root"})};export{O};
1
+ import {L}from'./chunk-DGvC49aU.js';import {T as T$1,ab as C$1,a as T$2,bj as Q,m as m$1,G as Ge,N as Nt,z as za,aj as l,b0 as Hs,aZ as ee}from'./main-3NL5M6JB.js';var _="shown-welcome-page-v1",m="hide-console-connection-status",A="use-out-of-process-controller",R="disable-console-control",b="disable-tray-icon-login",c="server-listen-interface",T="allowed-hostnames",D="server-passphrase",N="update-channel",w="startup-delay",y="usage-reporter-level",P="power-mode-provider",I="autogenerated-passphrase",C="has-asked-for-password-change",O=class o{#s=T$1(C$1);#r=T$1(T$2);#n=T$1(Q);#i=T$1(m$1);#o=L(this.#s.getApiV1Serversettings());#e=Ge(void 0);#t(e,t){if(!t)return false;let s=t[e];if((s??"").trim().length==0)return false;let r=s.trim().toLowerCase();return r==="true"||r==="1"||r==="yes"||r==="on"}serverSettings=Nt(()=>this.#e()||this.#o());askForInitialPasswordConfig=Nt(()=>{let e=(this.#i.systemInfo()?.StartedBy??"").trim().toLowerCase();if(e==="tray icon"||e=="trayicon")return false;let t=this.#e(),s=this.#t(I,t),r=this.#t(C,t);return s&&!r});showWelcomePage=Nt(()=>{let e=this.#e();if(!e)return false;let t=this.#t(C,e),s=this.#t(_,e);return !(t||s)});#c=za(()=>{let e=this.#r.serverSettings();e&&this.#e.set(e);});constructor(){this.#r.subscribe("serversettings");}isConsoleConnectionStatusHidden=Nt(()=>this.#t(m,this.serverSettings()));isControllerIpcEnabled=Nt(()=>this.#t(A,this.serverSettings()));refreshServerSettings(){this.#n.getConnectionMethod()!=="websocket"&&this.#s.getApiV1Serversettings().subscribe({next:e=>{this.#e.set(e);}});}#a(e,t){var s=l({},e);for(let[r,S]of Object.entries(t))S===null?delete s[r]:s[r]=S;return s}patchServerSettings(e){let t=l({},this.serverSettings());return this.#e.set(this.#a(this.serverSettings()??{},e)),this.#s.patchApiV1Serversettings({requestBody:e}).pipe(Hs(s=>{throw this.#e.set(t),s}))}patchServerSetting(e,t){let s={};return s[e]=t,this.patchServerSettings(s)}setShownWelcomePage(){return this.patchServerSetting(_,"true")}setHideConsoleConnectionStatus(e){return this.patchServerSetting(m,e?"True":"False")}setControllerIpcState(e){return this.patchServerSetting(A,e?"True":"False")}setDisableTrayIconLogin(e){return this.patchServerSetting(b,e?"True":"False")}setDisableConsoleControl(e){return this.patchServerSetting(R,e?"True":"False")}setRemoteAccessInterface(e){return this.patchServerSetting(c,e)}setRemoteAccessAllowedHostnames(e){var t={[T]:e};return this.serverSettings()?.[c]==="loopback"&&(t[c]="any"),this.patchServerSettings(t)}setRemoteAccessPassword(e){return this.patchServerSetting(D,e)}setUpdateChannel(e){return this.patchServerSetting(N,e)}setStartupDelay(e){return this.patchServerSetting(w,e)}setUsageReporterLevel(e){return this.patchServerSetting(y,e)}setPowerModeProvider(e){return this.patchServerSetting(P,e)}static \u0275fac=function(t){return new(t||o)};static \u0275prov=ee({token:o,factory:o.\u0275fac,providedIn:"root"})};export{O};
@@ -1 +1 @@
1
- import {T,ad as Mr,bp as uv,D as A,G as Ge,N as Nt,z as za,bq as Rr,aZ as ee}from'./main-VVQP2YE7.js';import {S}from'./chunk-CwKy8pxa.js';var m=class i{#i=T(S);#t=T(Mr);#o=T(uv);#e=A("darkTheme",null,true);#s=Ge(this.#i.innerWidth);isMobile=Nt(()=>this.#s()<1024);sidenavType=Ge(this.isMobile()?"overlay":"");isNavOpen=Ge(false);isDarkMode=this.#e.asReadonly();darkModeEffect=za(()=>{this.#e()?(this.#t.documentElement.classList.add("dark"),this.#t.documentElement.classList.remove("light")):(this.#t.documentElement.classList.remove("dark"),this.#t.documentElement.classList.add("light"));});isMobileEffect=za(()=>{this.isNavOpen.set(!this.isMobile()),this.sidenavType.set(this.isMobile()?"overlay":"");});constructor(){Rr(this.#o)&&this.#i?.addEventListener("resize",()=>{this.#s.set(this.#i.innerWidth);});}toggleNav(){this.isNavOpen.set(!this.isNavOpen());}toggleBodyClass(){this.#e.set(!this.isDarkMode());}setDarkMode(){this.#e.set(true);}setLightMode(){this.#e.set(false);}static \u0275fac=function(h){return new(h||i)};static \u0275prov=ee({token:i,factory:i.\u0275fac,providedIn:"root"})};export{m};
1
+ import {T,ad as Mr,br as uv,B as A,G as Ge,N as Nt,z as za,bs as Rr,aZ as ee}from'./main-3NL5M6JB.js';import {S}from'./chunk-mflQLMHH.js';var m=class i{#i=T(S);#t=T(Mr);#o=T(uv);#e=A("darkTheme",null,true);#s=Ge(this.#i.innerWidth);isMobile=Nt(()=>this.#s()<1024);sidenavType=Ge(this.isMobile()?"overlay":"");isNavOpen=Ge(false);isDarkMode=this.#e.asReadonly();darkModeEffect=za(()=>{this.#e()?(this.#t.documentElement.classList.add("dark"),this.#t.documentElement.classList.remove("light")):(this.#t.documentElement.classList.remove("dark"),this.#t.documentElement.classList.add("light"));});isMobileEffect=za(()=>{this.isNavOpen.set(!this.isMobile()),this.sidenavType.set(this.isMobile()?"overlay":"");});constructor(){Rr(this.#o)&&this.#i?.addEventListener("resize",()=>{this.#s.set(this.#i.innerWidth);});}toggleNav(){this.isNavOpen.set(!this.isNavOpen());}toggleBodyClass(){this.#e.set(!this.isDarkMode());}setDarkMode(){this.#e.set(true);}setLightMode(){this.#e.set(false);}static \u0275fac=function(h){return new(h||i)};static \u0275prov=ee({token:i,factory:i.\u0275fac,providedIn:"root"})};export{m};