@duplicati/ngclient 0.0.231 → 0.0.232

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 (89) hide show
  1. package/{chunk-SycSMD-r.js → chunk-B52v_pjw.js} +1 -1
  2. package/{chunk-CI8lsvKT.js → chunk-B53Wj4F9.js} +1 -1
  3. package/chunk-B73LRsqH.js +1 -0
  4. package/{chunk-PONAC1Ya.js → chunk-B8uF0dom.js} +1 -1
  5. package/{chunk-D3SUPUQT.js → chunk-B9maI7Xa.js} +1 -1
  6. package/{chunk-DfcHtA-G.js → chunk-BBU0vswn.js} +1 -1
  7. package/{chunk-DPpQ_8VM.js → chunk-BBsBaTWO.js} +1 -1
  8. package/{chunk--kVw-BwM.js → chunk-BEhUV7oX.js} +1 -1
  9. package/{chunk-B1FMMTzB.js → chunk-BI14DMeb.js} +1 -1
  10. package/{chunk-DoYGADYB.js → chunk-BO2GlieG.js} +1 -1
  11. package/{chunk-Bfak-Gjv.js → chunk-BS8PXjJJ.js} +1 -1
  12. package/{chunk-C5p3bQwH.js → chunk-BTgf5lfZ.js} +1 -1
  13. package/{chunk-BYJ0fSUP.js → chunk-BVEyeg9y.js} +1 -1
  14. package/{chunk-DlqfMbsZ.js → chunk-BYWmNy-_.js} +1 -1
  15. package/{chunk-d4cdVCUg.js → chunk-BaxM-kGV.js} +1 -1
  16. package/{chunk-DuTbfCdT.js → chunk-Bb6BmVO4.js} +1 -1
  17. package/{chunk-C3KPTLNN.js → chunk-Bja52qI7.js} +1 -1
  18. package/{chunk-5Ay2I6OJ.js → chunk-BkIXk6uR.js} +1 -1
  19. package/{chunk-B6VmpM-T.js → chunk-BkUa7yBI.js} +1 -1
  20. package/chunk-BlTnmRGU.js +1 -0
  21. package/{chunk-B7vxwDBG.js → chunk-Bo1yB-fQ.js} +1 -1
  22. package/{chunk-D3d-eReU.js → chunk-Box6Lckh.js} +1 -1
  23. package/{chunk-CQv4eyEK.js → chunk-BpRWdcC8.js} +1 -1
  24. package/chunk-BqN36tfl.js +1 -0
  25. package/{chunk-Baizh2Dx.js → chunk-Brvxo-yI.js} +1 -1
  26. package/{chunk-BjSSXg5V.js → chunk-Bt_Ie-F3.js} +1 -1
  27. package/chunk-BvGGBIy7.js +1 -0
  28. package/{chunk-CzJ3-6Pu.js → chunk-C4GeR7BF.js} +1 -1
  29. package/{chunk-BFfFD-XE.js → chunk-C80zvTbO.js} +1 -1
  30. package/{chunk-gaP3Sx_C.js → chunk-CAwTsBqQ.js} +1 -1
  31. package/chunk-CGArETYn.js +1 -0
  32. package/{chunk-CwKxis_6.js → chunk-CHzwXmsn.js} +1 -1
  33. package/{chunk-BRJ93eei.js → chunk-CIcBoEH1.js} +1 -1
  34. package/{chunk-Crs56mDy.js → chunk-CKnRcyHZ.js} +1 -1
  35. package/{chunk-DlTsXgG2.js → chunk-CTRzgLM9.js} +2 -2
  36. package/{chunk-DNUCXG8E.js → chunk-CTm37hI-.js} +1 -1
  37. package/{chunk-Bnu5Zyue.js → chunk-CTwO6j97.js} +1 -1
  38. package/{chunk-oTpkLrqH.js → chunk-CUaRQ2FJ.js} +1 -1
  39. package/{chunk-PGDvGDW-.js → chunk-CUuyy9Er.js} +1 -1
  40. package/{chunk-D5031IDL.js → chunk-CVQPUpDQ.js} +1 -1
  41. package/{chunk-JMkz2RrF.js → chunk-CX26gEKv.js} +1 -1
  42. package/{chunk-DAM-4k69.js → chunk-CZoVeRAG.js} +1 -1
  43. package/{chunk-7qu0Yols.js → chunk-CartdZy-.js} +1 -1
  44. package/{chunk-CxjTj8X0.js → chunk-Cg09iQR5.js} +1 -1
  45. package/{chunk-CDEvMQA2.js → chunk-CgyaUJSI.js} +1 -1
  46. package/{chunk-CmexLvf7.js → chunk-Cjb79u3p.js} +1 -1
  47. package/{chunk-CTwvkMrj.js → chunk-CkrxdjhU.js} +1 -1
  48. package/chunk-CtEMAj2d.js +2 -0
  49. package/{chunk-U0VOUPLl.js → chunk-Cu2bh6aQ.js} +1 -1
  50. package/{chunk-BlfsmSZO.js → chunk-Cu4siB3B.js} +3 -3
  51. package/{chunk-Bcxzhjj8.js → chunk-CwKy8pxa.js} +1 -1
  52. package/{chunk-Cng2PWKw.js → chunk-Cz0KuBHB.js} +1 -1
  53. package/{chunk-DA5X-TzJ.js → chunk-D5tms-6w.js} +1 -1
  54. package/{chunk-BAVJD-p4.js → chunk-DI7suso2.js} +1 -1
  55. package/{chunk-Bgx4dtaL.js → chunk-DJJ8GbYi.js} +1 -1
  56. package/{chunk-C6beMvkJ.js → chunk-DKZlKdfB.js} +1 -1
  57. package/chunk-DTu0ZYnR.js +1 -0
  58. package/{chunk-D7AP6g7S.js → chunk-DUYvFN8m.js} +1 -1
  59. package/{chunk-DH6L3nQP.js → chunk-DY3nK3tu.js} +1 -1
  60. package/{chunk-B_iekvt6.js → chunk-DYnVzNxt.js} +1 -1
  61. package/{chunk-C2H72Zk8.js → chunk-DZm4l28A.js} +1 -1
  62. package/{chunk-BhGD1_v8.js → chunk-Da_-7L7P.js} +1 -1
  63. package/{chunk-DKacf9Tj.js → chunk-DmDqcC4A.js} +1 -1
  64. package/{chunk-CP3edE1P.js → chunk-Dn8nZWLd.js} +1 -1
  65. package/{chunk-EwTTC1EW.js → chunk-DoQHDPZg.js} +1 -1
  66. package/{chunk-D2aWqPl_.js → chunk-DqIU7ViF.js} +1 -1
  67. package/{chunk-Bj1ToKwz.js → chunk-Dum38U6w.js} +1 -1
  68. package/{chunk-C1BwGQgo.js → chunk-DvyGZpE4.js} +1 -1
  69. package/{chunk-DuHXCtrV.js → chunk-DzmZd524.js} +1 -1
  70. package/{chunk-CqwyTVd3.js → chunk-Rp7-yjlz.js} +1 -1
  71. package/{chunk-RqvNv7T_.js → chunk-Saq2s7Ep.js} +1 -1
  72. package/{chunk-dCFVYHva.js → chunk-aOMoAKYY.js} +1 -1
  73. package/{chunk-DH6iiZWc.js → chunk-ihUnHtR7.js} +1 -1
  74. package/{chunk-BhPCHFyT.js → chunk-ivwxSoND.js} +1 -1
  75. package/{chunk-BC2-YuwH.js → chunk-kU0H989B.js} +2 -2
  76. package/{chunk-BIAFFPb6.js → chunk-mby7fvmj.js} +1 -1
  77. package/{chunk-DKwqdnLJ.js → chunk-umW-K0Ca.js} +1 -1
  78. package/{chunk-mnaJWx8D.js → chunk-vPGrgL1U.js} +1 -1
  79. package/{chunk-D2MSuPzM.js → chunk-vnqcxg-9.js} +1 -1
  80. package/index.html +1 -1
  81. package/{main-QLXVXD6E.js → main-VVQP2YE7.js} +4 -4
  82. package/package.json +1 -1
  83. package/chunk-6bHATzM2.js +0 -1
  84. package/chunk-BHERv_y8.js +0 -1
  85. package/chunk-CAgfvBGI.js +0 -2
  86. package/chunk-D9O-afXN.js +0 -1
  87. package/chunk-Da2vs6ff.js +0 -1
  88. package/chunk-Z5fN6CGR.js +0 -1
  89. package/chunk-tpJJunhQ.js +0 -1
@@ -1,4 +1,4 @@
1
- import {y,F,m}from'./chunk-BFfFD-XE.js';import {p as pn$1,N as Ne,C as Ct$1,M as Mt}from'./chunk-CmexLvf7.js';import {I}from'./chunk-Bgx4dtaL.js';import {J}from'./chunk-D7AP6g7S.js';import'./chunk-CQv4eyEK.js';import {d as d$1,E as Ee,L as Le,x as xe,V,h,R as Re,W as We,B as Be,T as Te,G,I as Ie}from'./chunk-DH6iiZWc.js';import {N as Nt$1,m as m$2}from'./chunk-DuTbfCdT.js';import {v as ve$1}from'./chunk-DKacf9Tj.js';import {x}from'./chunk-gaP3Sx_C.js';import'./chunk-CI8lsvKT.js';import {D}from'./chunk-C5p3bQwH.js';import {T,e as ee,aw as W,m as m$1,E as D1,G as Ge,z as za$1,N as Nt,h as hw,v,d as N,u as ue,Q as Qi$1,V as Vg,n as nC,$ as $l,f as aT,L as Lg,j as vg,F as Fg,s as CD,A as yg,C as CE,i as cT,y as _D,o as oC,W as Wg,K as fC,a6 as be,l as vT,w as jC,aP as ql,aQ as Gl,p as cm,Y as Yg,x as am,cc as E,H as qu,aZ as ee$1,af as E1,b as I1,M as aC,ak as um,al as WC,ac as v1,ai as m$3,aj as l,U as UC,a1 as dT,a2 as fT,bF as ve$2,cd as wy,aG as pt,aV as sy,ay as Gu,b0 as Hs,b1 as oy,at as h$1,b_ as ei,_ as _t$1,ab as C$1,bK as Dy,ce as nd,k as iC,r as kd,O as Od,bu as rE,X as cC,a3 as KC,ae as eo$1,c8 as T1,aJ as ci$1,bW as re,bV as B,bg as ag,aD as YC,c9 as Ug,cf as mo$1,bk as j,cg as Ss$1,ch as xs$1,ci as S,ao as qC,ar as Qp,aC as mg,ap as lT,c6 as lb,cj as Sr$1,J as om,bv as N$1,a4 as uT,aa as Ql,g as NC,ag as Zg,c4 as pC,a$ as JC,ck as eb,b$ as Dg,aF as XC,bx as _C,aB as im}from'./main-QLXVXD6E.js';import {f}from'./chunk-C3KPTLNN.js';import {d}from'./chunk-PONAC1Ya.js';import {F as Fe,A as Ae}from'./chunk-D3SUPUQT.js';import {j as jn,m as me,G as Gn,T as Tn$1,Z as Ze$1,R as Rn,P as Pn,g as gn$1,h as hn,L,B as Bn,J as Jt,l as ln,f as ft,e as en$1,y as yt,b as m$4,D as D$1}from'./chunk-DoYGADYB.js';import {a as at}from'./chunk-Crs56mDy.js';import {C}from'./chunk-Bcxzhjj8.js';import {O}from'./chunk-BYJ0fSUP.js';import'./chunk-D2aWqPl_.js';import {L as L$1,$,F as F$1}from'./chunk-D3d-eReU.js';var zt=class i{fromString(t){if(!t)return null;let e=t.match(/(\d+)([smhDWMY])/);return e&&{value:parseInt(e[1]),unit:e[2]}}toString(t,e){return `${t}${e}`}static \u0275fac=function(e){return new(e||i)};static \u0275prov=ee$1({token:i,factory:i.\u0275fac,providedIn:"root"})};function gt(i){if(Sr$1(i))return i();if(Array.isArray(i))return i.map(t=>gt(t));if(typeof i=="object"&&i!==null){let t={};for(let e in i)i.hasOwnProperty(e)&&(t[e]=gt(i[e]));return t}return i}var ui=i=>i;function ai(i,t){let e=mo$1(i,ui,t?.equal),n=e[j],o=e;return o.set=a=>{let _=e();return Ss$1(n,a),()=>{Ss$1(n,_);}},o.update=a=>{let _=e();return xs$1(n,a),()=>{Ss$1(n,_);}},e}var st=class i{#e=T(E);isSaving=Ge(false);resourceDestinations=$({stream:()=>this.#e.getApiV2ConnectionStrings()});destinations=ai(()=>{let t=this.resourceDestinations.value()?.Data;return t||[]});save(t,e){return this.isSaving.set(true),e.Description="",(t==="new"?this.#e.postApiV2ConnectionStrings({requestBody:e}):this.#e.putApiV2ConnectionStringById({id:t.ID,requestBody:e})).pipe(qu(()=>{this.isSaving.set(false);}))}getById(t){return this.#e.getApiV2ConnectionStringById({id:t})}delete(t){return this.#e.deleteApiV2ConnectionStringById({id:t})}reload(){this.resourceDestinations.reload();}updateBackups(t,e){return this.#e.postApiV2ConnectionStringByIdUpdateBackups({id:t,requestBody:{BackupIDs:e}})}static \u0275fac=function(e){return new(e||i)};static \u0275prov=ee$1({token:i,factory:i.\u0275fac,providedIn:"root"})};var pi=["daysRef"];function mi(i,t){if(i&1&&jC(0),i&2){let e=iC();Ql(" - ",e.getMonthName(e.getLastVisibleMonth())," ");}}function gi(i,t){if(i&1&&(Qi$1(0,"div"),jC(1),$l()),i&2){let e=t.$implicit;CE(),om(e);}}function Ci(i,t){if(i&1){let e=vT();Qi$1(0,"button",9,1),Vg("keydown",function(o){let a=kd(e).$implicit,_=iC(2);return Od(_.onKeydown(o,a))})("click",function(){let o=kd(e).$implicit,a=pC(1),_=iC(2);return Od(_.setDate(o,a))}),jC(2),$l();}if(i&2){let e=t.$implicit,n=iC().$implicit,o=iC();NC(o.isDateSelected(e)),Yg("out-of-scope",!o.isCurrentMonth(e,n)),mg("aria-label",o.getAriaLabel(e))("tabindex",o.getTabIndex(e))("aria-selected",o.isDateSelectedBool(e)),CE(2),Ql(" ",e.getDate()," ");}}function Ti(i,t){if(i&1&&(Qi$1(0,"article",7),vg(1,"div",10),$l()),i&2){let e=iC(2);CE(),_C(e.selectedDateStylePosition());}}function Si(i,t){if(i&1&&(Qi$1(0,"div",5)(1,"nav",6),dT(2,gi,2,1,"div",null,lT),$l(),Qi$1(4,"div",7,0),dT(6,Ci,3,8,"button",8,lT),aT(8,Ti,2,2,"article",7),$l()()),i&2){let e=t.$implicit,n=iC();CE(2),fT(n.weekdays()),CE(4),fT(n.getMonthDates(e)),CE(2),cT(n.asRange()?-1:8);}}var fi=[[["label"]],[["","prefix",""]],[["","textPrefix",""]],[["input"]],[["","textSuffix",""]],[["","suffix",""]]],hi=["label","[prefix]","[textPrefix]","input","[textSuffix]","[suffix]"],Ei=["ngProjectAs","label",5,["label"]],yi=["ngProjectAs","[prefix]",5,["","prefix",""]],Ni=["ngProjectAs","[textPrefix]",5,["","textPrefix",""]],Fi=["ngProjectAs","[textSuffix]",5,["","textSuffix",""]],Di=["ngProjectAs","[suffix]",5,["","suffix",""]];function Ai(i,t){if(i&1&&(Qi$1(0,"div",3),jC(1),$l()),i&2){let e=iC();CE(),Ql(" ",e._maskedDate()," ");}}function Ii(i,t){if(i&1){let e=vT();Qi$1(0,"sh-datepicker",7),Vg("dateChange",function(o){kd(e);let a=iC();return Od(a.onDateChange(o))})("tabbedOut",function(){kd(e);let o=iC();return Od(o.isOpen.set(false))}),$l();}if(i&2){let e=iC();NC(e.currentClass()),yg("date",e.internalDate());}}function Oi(i,t){}var Pi=`sh-daterange-input sh-form-field-popover .input-wrap .input,sh-datepicker-input sh-form-field-popover .input-wrap .input{display:grid;grid-template-columns:1fr auto auto;align-items:center}sh-daterange-input sh-form-field-popover .input-wrap .input.active-start input:first-of-type,sh-datepicker-input sh-form-field-popover .input-wrap .input.active-start input:first-of-type{color:var(--primary-8)}sh-daterange-input sh-form-field-popover .input-wrap .input.active-end input:last-of-type,sh-datepicker-input sh-form-field-popover .input-wrap .input.active-end input:last-of-type{color:var(--primary-8)}sh-daterange-input sh-form-field-popover .input-wrap [suffix],sh-datepicker-input sh-form-field-popover .input-wrap [suffix]{margin-right:.75rem}sh-daterange-input sh-form-field-popover .masked-value,sh-datepicker-input sh-form-field-popover .masked-value{font:var(--paragraph-30B);color:var(--base-8);display:flex;gap:.25rem}sh-daterange-input sh-form-field-popover .masked-value.active-start .start-val,sh-datepicker-input sh-form-field-popover .masked-value.active-start .start-val{color:var(--primary-8)}sh-daterange-input sh-form-field-popover .masked-value.active-end .end-val,sh-datepicker-input sh-form-field-popover .masked-value.active-end .end-val{color:var(--primary-8)}sh-daterange-input sh-form-field-popover .masked-value+input+input,sh-daterange-input sh-form-field-popover .masked-value+input,sh-datepicker-input sh-form-field-popover .masked-value+input+input,sh-datepicker-input sh-form-field-popover .masked-value+input{opacity:0;height:0;width:0;margin:0}sh-daterange-input sh-form-field-popover [suffix]+[suffix].default-indicator,sh-datepicker-input sh-form-field-popover [suffix]+[suffix].default-indicator{display:none}sh-daterange-input sh-datepicker,sh-datepicker-input sh-datepicker{z-index:10000;position:relative;--dp-width: 15rem}sh-daterange-input sh-popover .popover-content{--dp-width: 18.75rem;min-width:var(--dp-width)}sh-daterange-input sh-form-field-popover.columns-1 sh-popover .popover-content{--dp-width: 18.75rem }sh-daterange-input sh-form-field-popover.columns-2 sh-popover .popover-content{--dp-width: 38.5rem }sh-daterange-input sh-form-field-popover.columns-3 sh-popover .popover-content{--dp-width: 58.25rem }sh-datepicker-input.sharp sh-datepicker,sh-daterange-input.sharp sh-datepicker,sh-datepicker.sharp{--dp-sel-s: var(--shape-1);--dp-ar: 1/.8;--dp-day-g: .5rem 0}sh-datepicker{--dp-sel-bg: var(--base-8);--dp-sel-bw: 0;--dp-sel-bc: transparent;--dp-sel-s: 50%;--dp-sel-c: #fff;--dp-day-c: var(--base-8);--dp-day-g: .25rem 0;--dp-day-f: var(--paragraph-20);--dp-width: 18.75rem;--dp-ar: 1/1;width:100%;padding:.5rem;max-width:var(--dp-width);display:flex;flex-direction:column}sh-datepicker.disabled{opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none;cursor:initial}sh-datepicker.columns-1{--dp-width: 18.75rem }sh-datepicker.columns-2{--dp-width: 38.5rem }sh-datepicker.columns-3{--dp-width: 58.25rem }sh-datepicker.columns-4{--dp-width: 78rem }sh-datepicker.columns-5{--dp-width: 97.75rem }sh-datepicker.columns-6{--dp-width: 117.5rem }sh-datepicker.columns-7{--dp-width: 137.25rem }sh-datepicker.columns-8{--dp-width: 157rem }sh-datepicker.columns-9{--dp-width: 176.75rem }sh-datepicker.columns-10{--dp-width: 196.5rem }sh-datepicker.columns-11{--dp-width: 216.25rem }sh-datepicker.columns-12{--dp-width: 236rem }sh-datepicker.as-range section .days>div.sel,sh-datepicker.as-range section .days>button.sel{background:var(--dp-sel-bg);opacity:.5;border-radius:0}sh-datepicker.as-range section .days>div.month-start,sh-datepicker.as-range section .days>div.week-start,sh-datepicker.as-range section .days>div.first,sh-datepicker.as-range section .days>button.month-start,sh-datepicker.as-range section .days>button.week-start,sh-datepicker.as-range section .days>button.first{border-top-left-radius:var(--dp-sel-s);border-bottom-left-radius:var(--dp-sel-s)}sh-datepicker.as-range section .days>div.month-end,sh-datepicker.as-range section .days>div.week-end,sh-datepicker.as-range section .days>div.last,sh-datepicker.as-range section .days>button.month-end,sh-datepicker.as-range section .days>button.week-end,sh-datepicker.as-range section .days>button.last{border-top-right-radius:var(--dp-sel-s);border-bottom-right-radius:var(--dp-sel-s)}sh-datepicker.as-range section .days>div.first,sh-datepicker.as-range section .days>div.last,sh-datepicker.as-range section .days>button.first,sh-datepicker.as-range section .days>button.last{opacity:1}sh-datepicker.as-range .month .days>div.out-of-scope,sh-datepicker.as-range .month .days>button.out-of-scope{opacity:0;pointer-events:none}sh-datepicker header{display:flex;align-items:center;justify-content:space-between;padding:.25rem 0;gap:0}sh-datepicker header .title{font:var(--paragraph-20)}sh-datepicker header button{appearance:none;background-color:transparent;border:0;cursor:pointer;height:2rem;color:var(--base-8)}sh-datepicker header button:focus{outline:none}sh-datepicker .months-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}sh-datepicker .month{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:1fr 6fr;gap:var(--dp-day-g);align-items:flex-start}sh-datepicker .month .days,sh-datepicker .month .weekdays{display:grid;grid-column:1/-1;gap:var(--dp-day-g);grid-template-columns:subgrid;position:relative}sh-datepicker .month .days>.days,sh-datepicker .month .weekdays>.days{position:absolute;top:0;left:0;width:100%;height:100%;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(7,1fr);gap:var(--dp-day-g);z-index:0}sh-datepicker .month .days>div,sh-datepicker .month .days>button,sh-datepicker .month .weekdays>div,sh-datepicker .month .weekdays>button{appearance:none;background:transparent;border:none;padding:0;margin:0;display:flex;align-items:center;justify-content:center;aspect-ratio:var(--dp-ar);cursor:pointer;position:relative;z-index:1;color:var(--dp-day-c);font:var(--dp-day-f);-webkit-user-select:none;user-select:none;border-radius:var(--dp-sel-s)}sh-datepicker .month .days>div:focus-visible,sh-datepicker .month .days>button:focus-visible,sh-datepicker .month .weekdays>div:focus-visible,sh-datepicker .month .weekdays>button:focus-visible{outline:2px solid var(--primary-10, #005fcc);outline-offset:-2px}sh-datepicker .month .days>div.sel,sh-datepicker .month .days>button.sel,sh-datepicker .month .weekdays>div.sel,sh-datepicker .month .weekdays>button.sel{color:var(--dp-sel-c);transition:color 75ms linear}sh-datepicker .month .days>div.out-of-scope,sh-datepicker .month .days>button.out-of-scope,sh-datepicker .month .weekdays>div.out-of-scope,sh-datepicker .month .weekdays>button.out-of-scope{opacity:.4}sh-datepicker .month .days>div.sel-el,sh-datepicker .month .days>button.sel-el,sh-datepicker .month .weekdays>div.sel-el,sh-datepicker .month .weekdays>button.sel-el{position:relative;top:0;left:0;transition:transform 75ms linear,opacity 75ms linear;background:var(--dp-sel-bg);border-radius:var(--dp-sel-s);border:var(--dp-sel-bw) solid var(--dp-sel-bc);opacity:0;box-sizing:border-box}sh-datepicker .month .weekdays>div{color:var(--base-12)}sh-datepicker.primary{--dp-sel-bg: var(--primary-8)}sh-datepicker.accent{--dp-sel-bg: var(--accent-8)}sh-datepicker.warn{--dp-sel-bg: var(--warn-8)}sh-datepicker.error{--dp-sel-bg: var(--error-8)}sh-datepicker.success{--dp-sel-bg: var(--success-8)}sh-datepicker.raised{--dp-sel-bg: var(--base-g2)}sh-datepicker.raised.primary{--dp-sel-bg: var(--primary-g2)}sh-datepicker.raised.accent{--dp-sel-bg: var(--accent-g2)}sh-datepicker.raised.warn{--dp-sel-bg: var(--warn-g2)}sh-datepicker.raised.error{--dp-sel-bg: var(--error-g2)}sh-datepicker.raised.success{--dp-sel-bg: var(--success-g2)}
1
+ import {y,F,m}from'./chunk-C80zvTbO.js';import {p as pn$1,N as Ne,C as Ct$1,M as Mt}from'./chunk-Cjb79u3p.js';import {I}from'./chunk-DJJ8GbYi.js';import {J}from'./chunk-DUYvFN8m.js';import'./chunk-BpRWdcC8.js';import {d as d$1,E as Ee,L as Le,x as xe,V,h,R as Re,W as We,B as Be,T as Te,G,I as Ie}from'./chunk-ihUnHtR7.js';import {N as Nt$1,m as m$2}from'./chunk-Bb6BmVO4.js';import {v as ve$1}from'./chunk-DmDqcC4A.js';import {x}from'./chunk-CAwTsBqQ.js';import'./chunk-B53Wj4F9.js';import {D}from'./chunk-BTgf5lfZ.js';import {T,e as ee,aw as W,m as m$1,E as D1,G as Ge,z as za$1,N as Nt,h as hw,v,d as N,u as ue,Q as Qi$1,V as Vg,n as nC,$ as $l,f as aT,L as Lg,j as vg,F as Fg,s as CD,A as yg,C as CE,i as cT,y as _D,o as oC,W as Wg,K as fC,a6 as be,l as vT,w as jC,aP as ql,aQ as Gl,p as cm,Y as Yg,x as am,cc as E,H as qu,aZ as ee$1,af as E1,b as I1,M as aC,ak as um,al as WC,ac as v1,ai as m$3,aj as l,U as UC,a1 as dT,a2 as fT,bF as ve$2,cd as wy,aG as pt,aV as sy,ay as Gu,b0 as Hs,b1 as oy,at as h$1,b_ as ei,_ as _t$1,ab as C$1,bK as Dy,ce as nd,k as iC,r as kd,O as Od,bu as rE,X as cC,a3 as KC,ae as eo$1,c8 as T1,aJ as ci$1,bW as re,bV as B,bg as ag,aD as YC,c9 as Ug,cf as mo$1,bk as j,cg as Ss$1,ch as xs$1,ci as S,ao as qC,ar as Qp,aC as mg,ap as lT,c6 as lb,cj as Sr$1,J as om,bv as N$1,a4 as uT,aa as Ql,g as NC,ag as Zg,c4 as pC,a$ as JC,ck as eb,b$ as Dg,aF as XC,bx as _C,aB as im}from'./main-VVQP2YE7.js';import {f}from'./chunk-Bja52qI7.js';import {d}from'./chunk-B8uF0dom.js';import {F as Fe,A as Ae}from'./chunk-B9maI7Xa.js';import {j as jn,m as me,G as Gn,T as Tn$1,Z as Ze$1,R as Rn,P as Pn,g as gn$1,h as hn,L,B as Bn,J as Jt,l as ln,f as ft,e as en$1,y as yt,b as m$4,D as D$1}from'./chunk-BO2GlieG.js';import {a as at}from'./chunk-CKnRcyHZ.js';import {C}from'./chunk-CwKy8pxa.js';import {O}from'./chunk-BVEyeg9y.js';import'./chunk-DqIU7ViF.js';import {L as L$1,$,F as F$1}from'./chunk-Box6Lckh.js';var zt=class i{fromString(t){if(!t)return null;let e=t.match(/(\d+)([smhDWMY])/);return e&&{value:parseInt(e[1]),unit:e[2]}}toString(t,e){return `${t}${e}`}static \u0275fac=function(e){return new(e||i)};static \u0275prov=ee$1({token:i,factory:i.\u0275fac,providedIn:"root"})};function gt(i){if(Sr$1(i))return i();if(Array.isArray(i))return i.map(t=>gt(t));if(typeof i=="object"&&i!==null){let t={};for(let e in i)i.hasOwnProperty(e)&&(t[e]=gt(i[e]));return t}return i}var ui=i=>i;function ai(i,t){let e=mo$1(i,ui,t?.equal),n=e[j],o=e;return o.set=a=>{let _=e();return Ss$1(n,a),()=>{Ss$1(n,_);}},o.update=a=>{let _=e();return xs$1(n,a),()=>{Ss$1(n,_);}},e}var st=class i{#e=T(E);isSaving=Ge(false);resourceDestinations=$({stream:()=>this.#e.getApiV2ConnectionStrings()});destinations=ai(()=>{let t=this.resourceDestinations.value()?.Data;return t||[]});save(t,e){return this.isSaving.set(true),e.Description="",(t==="new"?this.#e.postApiV2ConnectionStrings({requestBody:e}):this.#e.putApiV2ConnectionStringById({id:t.ID,requestBody:e})).pipe(qu(()=>{this.isSaving.set(false);}))}getById(t){return this.#e.getApiV2ConnectionStringById({id:t})}delete(t){return this.#e.deleteApiV2ConnectionStringById({id:t})}reload(){this.resourceDestinations.reload();}updateBackups(t,e){return this.#e.postApiV2ConnectionStringByIdUpdateBackups({id:t,requestBody:{BackupIDs:e}})}static \u0275fac=function(e){return new(e||i)};static \u0275prov=ee$1({token:i,factory:i.\u0275fac,providedIn:"root"})};var pi=["daysRef"];function mi(i,t){if(i&1&&jC(0),i&2){let e=iC();Ql(" - ",e.getMonthName(e.getLastVisibleMonth())," ");}}function gi(i,t){if(i&1&&(Qi$1(0,"div"),jC(1),$l()),i&2){let e=t.$implicit;CE(),om(e);}}function Ci(i,t){if(i&1){let e=vT();Qi$1(0,"button",9,1),Vg("keydown",function(o){let a=kd(e).$implicit,_=iC(2);return Od(_.onKeydown(o,a))})("click",function(){let o=kd(e).$implicit,a=pC(1),_=iC(2);return Od(_.setDate(o,a))}),jC(2),$l();}if(i&2){let e=t.$implicit,n=iC().$implicit,o=iC();NC(o.isDateSelected(e)),Yg("out-of-scope",!o.isCurrentMonth(e,n)),mg("aria-label",o.getAriaLabel(e))("tabindex",o.getTabIndex(e))("aria-selected",o.isDateSelectedBool(e)),CE(2),Ql(" ",e.getDate()," ");}}function Ti(i,t){if(i&1&&(Qi$1(0,"article",7),vg(1,"div",10),$l()),i&2){let e=iC(2);CE(),_C(e.selectedDateStylePosition());}}function Si(i,t){if(i&1&&(Qi$1(0,"div",5)(1,"nav",6),dT(2,gi,2,1,"div",null,lT),$l(),Qi$1(4,"div",7,0),dT(6,Ci,3,8,"button",8,lT),aT(8,Ti,2,2,"article",7),$l()()),i&2){let e=t.$implicit,n=iC();CE(2),fT(n.weekdays()),CE(4),fT(n.getMonthDates(e)),CE(2),cT(n.asRange()?-1:8);}}var fi=[[["label"]],[["","prefix",""]],[["","textPrefix",""]],[["input"]],[["","textSuffix",""]],[["","suffix",""]]],hi=["label","[prefix]","[textPrefix]","input","[textSuffix]","[suffix]"],Ei=["ngProjectAs","label",5,["label"]],yi=["ngProjectAs","[prefix]",5,["","prefix",""]],Ni=["ngProjectAs","[textPrefix]",5,["","textPrefix",""]],Fi=["ngProjectAs","[textSuffix]",5,["","textSuffix",""]],Di=["ngProjectAs","[suffix]",5,["","suffix",""]];function Ai(i,t){if(i&1&&(Qi$1(0,"div",3),jC(1),$l()),i&2){let e=iC();CE(),Ql(" ",e._maskedDate()," ");}}function Ii(i,t){if(i&1){let e=vT();Qi$1(0,"sh-datepicker",7),Vg("dateChange",function(o){kd(e);let a=iC();return Od(a.onDateChange(o))})("tabbedOut",function(){kd(e);let o=iC();return Od(o.isOpen.set(false))}),$l();}if(i&2){let e=iC();NC(e.currentClass()),yg("date",e.internalDate());}}function Oi(i,t){}var Pi=`sh-daterange-input sh-form-field-popover .input-wrap .input,sh-datepicker-input sh-form-field-popover .input-wrap .input{display:grid;grid-template-columns:1fr auto auto;align-items:center}sh-daterange-input sh-form-field-popover .input-wrap .input.active-start input:first-of-type,sh-datepicker-input sh-form-field-popover .input-wrap .input.active-start input:first-of-type{color:var(--primary-8)}sh-daterange-input sh-form-field-popover .input-wrap .input.active-end input:last-of-type,sh-datepicker-input sh-form-field-popover .input-wrap .input.active-end input:last-of-type{color:var(--primary-8)}sh-daterange-input sh-form-field-popover .input-wrap [suffix],sh-datepicker-input sh-form-field-popover .input-wrap [suffix]{margin-right:.75rem}sh-daterange-input sh-form-field-popover .masked-value,sh-datepicker-input sh-form-field-popover .masked-value{font:var(--paragraph-30B);color:var(--base-8);display:flex;gap:.25rem}sh-daterange-input sh-form-field-popover .masked-value.active-start .start-val,sh-datepicker-input sh-form-field-popover .masked-value.active-start .start-val{color:var(--primary-8)}sh-daterange-input sh-form-field-popover .masked-value.active-end .end-val,sh-datepicker-input sh-form-field-popover .masked-value.active-end .end-val{color:var(--primary-8)}sh-daterange-input sh-form-field-popover .masked-value+input+input,sh-daterange-input sh-form-field-popover .masked-value+input,sh-datepicker-input sh-form-field-popover .masked-value+input+input,sh-datepicker-input sh-form-field-popover .masked-value+input{opacity:0;height:0;width:0;margin:0}sh-daterange-input sh-form-field-popover [suffix]+[suffix].default-indicator,sh-datepicker-input sh-form-field-popover [suffix]+[suffix].default-indicator{display:none}sh-daterange-input sh-datepicker,sh-datepicker-input sh-datepicker{z-index:10000;position:relative;--dp-width: 15rem}sh-daterange-input sh-popover .popover-content{--dp-width: 18.75rem;min-width:var(--dp-width)}sh-daterange-input sh-form-field-popover.columns-1 sh-popover .popover-content{--dp-width: 18.75rem }sh-daterange-input sh-form-field-popover.columns-2 sh-popover .popover-content{--dp-width: 38.5rem }sh-daterange-input sh-form-field-popover.columns-3 sh-popover .popover-content{--dp-width: 58.25rem }sh-datepicker-input.sharp sh-datepicker,sh-daterange-input.sharp sh-datepicker,sh-datepicker.sharp{--dp-sel-s: var(--shape-1);--dp-ar: 1/.8;--dp-day-g: .5rem 0}sh-datepicker{--dp-sel-bg: var(--base-8);--dp-sel-bw: 0;--dp-sel-bc: transparent;--dp-sel-s: 50%;--dp-sel-c: #fff;--dp-day-c: var(--base-8);--dp-day-g: .25rem 0;--dp-day-f: var(--paragraph-20);--dp-width: 18.75rem;--dp-ar: 1/1;width:100%;padding:.5rem;max-width:var(--dp-width);display:flex;flex-direction:column}sh-datepicker.disabled{opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none;cursor:initial}sh-datepicker.columns-1{--dp-width: 18.75rem }sh-datepicker.columns-2{--dp-width: 38.5rem }sh-datepicker.columns-3{--dp-width: 58.25rem }sh-datepicker.columns-4{--dp-width: 78rem }sh-datepicker.columns-5{--dp-width: 97.75rem }sh-datepicker.columns-6{--dp-width: 117.5rem }sh-datepicker.columns-7{--dp-width: 137.25rem }sh-datepicker.columns-8{--dp-width: 157rem }sh-datepicker.columns-9{--dp-width: 176.75rem }sh-datepicker.columns-10{--dp-width: 196.5rem }sh-datepicker.columns-11{--dp-width: 216.25rem }sh-datepicker.columns-12{--dp-width: 236rem }sh-datepicker.as-range section .days>div.sel,sh-datepicker.as-range section .days>button.sel{background:var(--dp-sel-bg);opacity:.5;border-radius:0}sh-datepicker.as-range section .days>div.month-start,sh-datepicker.as-range section .days>div.week-start,sh-datepicker.as-range section .days>div.first,sh-datepicker.as-range section .days>button.month-start,sh-datepicker.as-range section .days>button.week-start,sh-datepicker.as-range section .days>button.first{border-top-left-radius:var(--dp-sel-s);border-bottom-left-radius:var(--dp-sel-s)}sh-datepicker.as-range section .days>div.month-end,sh-datepicker.as-range section .days>div.week-end,sh-datepicker.as-range section .days>div.last,sh-datepicker.as-range section .days>button.month-end,sh-datepicker.as-range section .days>button.week-end,sh-datepicker.as-range section .days>button.last{border-top-right-radius:var(--dp-sel-s);border-bottom-right-radius:var(--dp-sel-s)}sh-datepicker.as-range section .days>div.first,sh-datepicker.as-range section .days>div.last,sh-datepicker.as-range section .days>button.first,sh-datepicker.as-range section .days>button.last{opacity:1}sh-datepicker.as-range .month .days>div.out-of-scope,sh-datepicker.as-range .month .days>button.out-of-scope{opacity:0;pointer-events:none}sh-datepicker header{display:flex;align-items:center;justify-content:space-between;padding:.25rem 0;gap:0}sh-datepicker header .title{font:var(--paragraph-20)}sh-datepicker header button{appearance:none;background-color:transparent;border:0;cursor:pointer;height:2rem;color:var(--base-8)}sh-datepicker header button:focus{outline:none}sh-datepicker .months-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}sh-datepicker .month{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:1fr 6fr;gap:var(--dp-day-g);align-items:flex-start}sh-datepicker .month .days,sh-datepicker .month .weekdays{display:grid;grid-column:1/-1;gap:var(--dp-day-g);grid-template-columns:subgrid;position:relative}sh-datepicker .month .days>.days,sh-datepicker .month .weekdays>.days{position:absolute;top:0;left:0;width:100%;height:100%;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(7,1fr);gap:var(--dp-day-g);z-index:0}sh-datepicker .month .days>div,sh-datepicker .month .days>button,sh-datepicker .month .weekdays>div,sh-datepicker .month .weekdays>button{appearance:none;background:transparent;border:none;padding:0;margin:0;display:flex;align-items:center;justify-content:center;aspect-ratio:var(--dp-ar);cursor:pointer;position:relative;z-index:1;color:var(--dp-day-c);font:var(--dp-day-f);-webkit-user-select:none;user-select:none;border-radius:var(--dp-sel-s)}sh-datepicker .month .days>div:focus-visible,sh-datepicker .month .days>button:focus-visible,sh-datepicker .month .weekdays>div:focus-visible,sh-datepicker .month .weekdays>button:focus-visible{outline:2px solid var(--primary-10, #005fcc);outline-offset:-2px}sh-datepicker .month .days>div.sel,sh-datepicker .month .days>button.sel,sh-datepicker .month .weekdays>div.sel,sh-datepicker .month .weekdays>button.sel{color:var(--dp-sel-c);transition:color 75ms linear}sh-datepicker .month .days>div.out-of-scope,sh-datepicker .month .days>button.out-of-scope,sh-datepicker .month .weekdays>div.out-of-scope,sh-datepicker .month .weekdays>button.out-of-scope{opacity:.4}sh-datepicker .month .days>div.sel-el,sh-datepicker .month .days>button.sel-el,sh-datepicker .month .weekdays>div.sel-el,sh-datepicker .month .weekdays>button.sel-el{position:relative;top:0;left:0;transition:transform 75ms linear,opacity 75ms linear;background:var(--dp-sel-bg);border-radius:var(--dp-sel-s);border:var(--dp-sel-bw) solid var(--dp-sel-bc);opacity:0;box-sizing:border-box}sh-datepicker .month .weekdays>div{color:var(--base-12)}sh-datepicker.primary{--dp-sel-bg: var(--primary-8)}sh-datepicker.accent{--dp-sel-bg: var(--accent-8)}sh-datepicker.warn{--dp-sel-bg: var(--warn-8)}sh-datepicker.error{--dp-sel-bg: var(--error-8)}sh-datepicker.success{--dp-sel-bg: var(--success-8)}sh-datepicker.raised{--dp-sel-bg: var(--base-g2)}sh-datepicker.raised.primary{--dp-sel-bg: var(--primary-g2)}sh-datepicker.raised.accent{--dp-sel-bg: var(--accent-g2)}sh-datepicker.raised.warn{--dp-sel-bg: var(--warn-g2)}sh-datepicker.raised.error{--dp-sel-bg: var(--error-g2)}sh-datepicker.raised.success{--dp-sel-bg: var(--success-g2)}
2
2
  `;var cn=(()=>{class i{constructor(){this.#e=new Date(new Date().setHours(0,0,0,0)),this.date=E1(null),this.endDate=E1(null),this.asRange=I1(false),this.activeRangeSelection=I1(null),this.monthsToShow=I1(1),this.disabled=I1(false),this.tabbedOut=v1(),this.startOfWeek=I1(1),this.weekdayLabels=I1(["Su","Mo","Tu","We","Th","Fr","Sa"]),this.daysRef=D1("daysRef"),this.currentDate=Ge(this.date()??this.#e),this.#t=T(N$1),this.prevMonthShortcut=Nt(()=>{let e="datepicker.prev-month",n=this.#t.getShortcut(e);return n?this.#t.getDisplayShortcut(e)||n:null}),this.nextMonthShortcut=Nt(()=>{let e="datepicker.next-month",n=this.#t.getShortcut(e);return n?this.#t.getDisplayShortcut(e)||n:null}),this.monthOffsets=Nt(()=>Array.from({length:this.monthsToShow()},(e,n)=>n)),this.selectedDateStylePosition=Ge(null),this.weekdays=Nt(()=>{let e=this.startOfWeek(),n=this.weekdayLabels();return n.slice(e).concat(n.slice(0,e))}),this.currentClasses=re(),this.someEffect=za$1(()=>{this.currentClasses();this.#o();}),this.#n=za$1(()=>{this.monthsToShow()>1||this.#i();}),this.focusedDate=Ge(null),this.#a=T(eo$1);}#e;#t;getLastVisibleMonth(){let e=this.monthsToShow()-1;return this.getOffsetDate(e)}getOffsetDate(e){let n=new Date(this.currentDate());return n.setMonth(n.getMonth()+e),n}getMonthDates(e){let n=this.getOffsetDate(e);return this.#r(n,this.startOfWeek())}#n;ngOnInit(){this.monthsToShow()!==1&&this.#i();}#i(){let e=this.date();e&&!isNaN(e.getTime())&&this.currentDate.set(e),this.#o();}#o(){setTimeout(()=>{let e=this.daysRef()?.nativeElement.querySelector(".sel");if(!e)return this.selectedDateStylePosition.update(n=>n?m$3(l({},n),{opacity:"0"}):null);this.setSelectedDateStylePosition(e);});}#r(e,n){let o=e.getFullYear(),a=e.getMonth(),_=new Date(o,a,1).getDay(),c=new Date(o,a+1,0).getDate(),u=[],T=_-n;T<0&&(T+=7);let D=new Date(o,a,0).getDate();for(let M=T-1;M>=0;M--)u.push(new Date(o,a-1,D-M,0,0,0,0));for(let M=1;M<=c;M++)u.push(new Date(o,a,M,0,0,0,0));let y=1;for(;u.length%7!==0;)u.push(new Date(o,a+1,y++,0,0,0,0));return u}nextMonth(){this.currentDate.update(e=>{let n=new Date(e);return n.setMonth(e.getMonth()+1),n}),this.#o();}previousMonth(){this.currentDate.update(e=>{let n=new Date(e);return n.setMonth(e.getMonth()-1),n}),this.#o();}setDate(e,n){this.focusedDate.set(e);let o=(a,_)=>{let c=0,u=0,T=0,D=0;return _&&((typeof _=="string"||typeof _=="number")&&(_=new Date(_)),_ instanceof Date&&!isNaN(_.getTime())&&(c=_.getHours(),u=_.getMinutes(),T=_.getSeconds(),D=_.getMilliseconds())),new Date(a.getFullYear(),a.getMonth(),a.getDate(),c,u,T,D)};if(!this.asRange())this.date.set(o(e,this.date())),this.endDate.set(null);else {let a=this.date(),_=this.endDate(),c=this.activeRangeSelection();if(c==="start"){let u=o(e,a);this.date.set(u),_&&u>_&&this.endDate.set(null);}else if(c==="end")if(!a||e<a){let u=o(e,a);this.date.set(u),this.endDate.set(null);}else {let u=o(e,_);this.endDate.set(u);}else if(a)if(_){let u=o(e,a);this.date.set(u),this.endDate.set(null);}else if(e<a){let u=o(e,a);this.date.set(u),this.endDate.set(null);}else {let u=o(e,_);this.endDate.set(u);}else {let u=o(e,a);this.date.set(u);}}this.asRange()||this.setSelectedDateStylePosition(n);}isDateSelected(e){let n=this.date(),o=this.endDate();if((typeof n=="string"||typeof n=="number")&&(n=new Date(n)),(typeof o=="string"||typeof o=="number")&&(o=new Date(o)),!n||!(n instanceof Date)||isNaN(n.getTime()))return null;let a=y=>new Date(y.getFullYear(),y.getMonth(),y.getDate(),0,0,0,0),_=y=>new Date(y.getFullYear(),y.getMonth(),y.getDate(),23,59,59,999),c=a(e),u=a(n),T=o?_(o):null,D=[];if(this.asRange())if(T===null)c.getTime()===u.getTime()&&D.push("sel first last");else {if(c.getTime()===u.getTime()&&D.push("first"),c.getTime()===a(T).getTime()&&D.push("last"),c>=u&&c<=T){D.push("sel");let J=c.getDay(),X=this.startOfWeek();J===X&&D.push("week-start");let k=(X+6)%7;J===k&&D.push("week-end");}let y=new Date(c);y.setDate(c.getDate()+1),new Date(c).setDate(c.getDate()-1);let G=c.getDate()===1,I=y.getMonth()!==c.getMonth();G&&D.push("month-start"),I&&D.push("month-end");}else c.getTime()===u.getTime()&&D.push("sel");return D.join(" ")||null}setSelectedDateStylePosition(e){this.selectedDateStylePosition.set({transform:`translate(${e.offsetLeft}px, ${e.offsetTop}px)`,opacity:"1"});}getMonthName(e){return e.toLocaleString("default",{month:"long"})}getFullYear(e){return e.getFullYear()}isCurrentMonth(e,n){let o=this.getOffsetDate(n);return e.getMonth()===o.getMonth()}#a;isSameDay(e,n){return !e||!n?false:e.getFullYear()===n.getFullYear()&&e.getMonth()===n.getMonth()&&e.getDate()===n.getDate()}getAriaLabel(e){return e.toLocaleDateString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric"})}getTabIndex(e){let n=this.focusedDate(),o=this.date(),a=new Date;return n?this.isSameDay(e,n)?0:-1:o?this.isSameDay(e,o)?0:-1:this.isSameDay(e,a)?0:-1}isDateSelectedBool(e){let n=this.isDateSelected(e);return n?n.includes("sel"):false}onKeydown(e,n){let o=new Date(n),a=false;this.#t.matches(e,"datepicker.prev-month")?(o.setMonth(n.getMonth()-1),a=true):this.#t.matches(e,"datepicker.next-month")?(o.setMonth(n.getMonth()+1),a=true):this.#t.matches(e,"datepicker.prev-year")?(o.setFullYear(n.getFullYear()-1),a=true):this.#t.matches(e,"datepicker.next-year")?(o.setFullYear(n.getFullYear()+1),a=true):this.#t.matches(e,"datepicker.month-start")?(o=new Date(n.getFullYear(),n.getMonth(),1,0,0,0,0),a=true):this.#t.matches(e,"datepicker.month-end")?(o=new Date(n.getFullYear(),n.getMonth()+1,0,0,0,0,0),a=true):this.#t.matches(e,"datepicker.day-next")?(o.setDate(n.getDate()+1),a=true):this.#t.matches(e,"datepicker.day-prev")?(o.setDate(n.getDate()-1),a=true):this.#t.matches(e,"datepicker.week-next")?(o.setDate(n.getDate()+7),a=true):this.#t.matches(e,"datepicker.week-prev")&&(o.setDate(n.getDate()-7),a=true),a&&(e.preventDefault(),this.ensureDateVisible(o),this.focusedDate.set(o),setTimeout(()=>{let _=this.#a.nativeElement.querySelectorAll("button");if(_){let c=this.getAriaLabel(o),u=null;for(let T=0;T<_.length&&!(_[T].getAttribute("aria-label")===c&&(u=_[T],!_[T].classList.contains("out-of-scope")));T++);u&&u.focus();}}));}ensureDateVisible(e){let n=this.currentDate(),o=this.getLastVisibleMonth();if(e<new Date(n.getFullYear(),n.getMonth(),1))this.currentDate.set(new Date(e.getFullYear(),e.getMonth(),1)),this.#o();else if(e>new Date(o.getFullYear(),o.getMonth()+1,0)){let a=new Date(e);a.setMonth(a.getMonth()-this.monthsToShow()+1),a.setDate(1),this.currentDate.set(a),this.#o();}}focusActiveDate(){setTimeout(()=>{let e=this.#a.nativeElement.querySelector('button[tabindex="0"]');e&&e.focus();},50);}onFocusOut(e){setTimeout(()=>{let n=document.activeElement;n&&n!==document.body&&!this.#a.nativeElement.contains(n)&&this.tabbedOut.emit();});}static{this.\u0275fac=function(n){return new(n||i)};}static{this.\u0275cmp=hw({type:i,selectors:[["sh-datepicker"]],viewQuery:function(n,o){n&1&&Wg(o.daysRef,pi,5),n&2&&fC();},hostVars:6,hostBindings:function(n,o){n&1&&Vg("focusout",function(_){return o.onFocusOut(_)}),n&2&&(NC("columns-"+o.monthsToShow()),Yg("as-range",o.asRange())("disabled",o.disabled()));},inputs:{date:[1,"date"],endDate:[1,"endDate"],asRange:[1,"asRange"],activeRangeSelection:[1,"activeRangeSelection"],monthsToShow:[1,"monthsToShow"],disabled:[1,"disabled"],startOfWeek:[1,"startOfWeek"],weekdayLabels:[1,"weekdayLabels"]},outputs:{date:"dateChange",endDate:"endDateChange",tabbedOut:"tabbedOut"},decls:14,vars:5,consts:[["daysRef",""],["elementRef",""],["tabindex","-1",3,"click"],[1,"title"],[1,"months-container"],[1,"month"],[1,"weekdays"],[1,"days"],["type","button",3,"out-of-scope","class"],["type","button",3,"keydown","click"],[1,"sel-el"]],template:function(n,o){n&1&&(Qi$1(0,"header")(1,"button",2),Vg("click",function(){return o.previousMonth()}),Qi$1(2,"sh-icon"),jC(3,"caret-left"),$l()(),Qi$1(4,"div",3),jC(5),aT(6,mi,1,1),jC(7),$l(),Qi$1(8,"button",2),Vg("click",function(){return o.nextMonth()}),Qi$1(9,"sh-icon"),jC(10,"caret-right"),$l()()(),Qi$1(11,"section",4),dT(12,Si,9,1,"div",5,uT),$l()),n&2&&(CE(),mg("aria-keyshortcuts",o.prevMonthShortcut()),CE(4),Ql(" ",o.getMonthName(o.currentDate())," "),CE(),cT(o.monthsToShow()>1?6:-1),CE(),Ql(" ",o.getFullYear(o.currentDate())," "),CE(),mg("aria-keyshortcuts",o.nextMonthShortcut()),CE(4),fT(o.monthOffsets()));},dependencies:[N],styles:[`sh-daterange-input sh-form-field-popover .input-wrap .input,sh-datepicker-input sh-form-field-popover .input-wrap .input{display:grid;grid-template-columns:1fr auto auto;align-items:center}sh-daterange-input sh-form-field-popover .input-wrap .input.active-start input:first-of-type,sh-datepicker-input sh-form-field-popover .input-wrap .input.active-start input:first-of-type{color:var(--primary-8)}sh-daterange-input sh-form-field-popover .input-wrap .input.active-end input:last-of-type,sh-datepicker-input sh-form-field-popover .input-wrap .input.active-end input:last-of-type{color:var(--primary-8)}sh-daterange-input sh-form-field-popover .input-wrap [suffix],sh-datepicker-input sh-form-field-popover .input-wrap [suffix]{margin-right:.75rem}sh-daterange-input sh-form-field-popover .masked-value,sh-datepicker-input sh-form-field-popover .masked-value{font:var(--paragraph-30B);color:var(--base-8);display:flex;gap:.25rem}sh-daterange-input sh-form-field-popover .masked-value.active-start .start-val,sh-datepicker-input sh-form-field-popover .masked-value.active-start .start-val{color:var(--primary-8)}sh-daterange-input sh-form-field-popover .masked-value.active-end .end-val,sh-datepicker-input sh-form-field-popover .masked-value.active-end .end-val{color:var(--primary-8)}sh-daterange-input sh-form-field-popover .masked-value+input+input,sh-daterange-input sh-form-field-popover .masked-value+input,sh-datepicker-input sh-form-field-popover .masked-value+input+input,sh-datepicker-input sh-form-field-popover .masked-value+input{opacity:0;height:0;width:0;margin:0}sh-daterange-input sh-form-field-popover [suffix]+[suffix].default-indicator,sh-datepicker-input sh-form-field-popover [suffix]+[suffix].default-indicator{display:none}sh-daterange-input sh-datepicker,sh-datepicker-input sh-datepicker{z-index:10000;position:relative;--dp-width: 15rem}sh-daterange-input sh-popover .popover-content{--dp-width: 18.75rem;min-width:var(--dp-width)}sh-daterange-input sh-form-field-popover.columns-1 sh-popover .popover-content{--dp-width: 18.75rem }sh-daterange-input sh-form-field-popover.columns-2 sh-popover .popover-content{--dp-width: 38.5rem }sh-daterange-input sh-form-field-popover.columns-3 sh-popover .popover-content{--dp-width: 58.25rem }sh-datepicker-input.sharp sh-datepicker,sh-daterange-input.sharp sh-datepicker,sh-datepicker.sharp{--dp-sel-s: var(--shape-1);--dp-ar: 1/.8;--dp-day-g: .5rem 0}sh-datepicker{--dp-sel-bg: var(--base-8);--dp-sel-bw: 0;--dp-sel-bc: transparent;--dp-sel-s: 50%;--dp-sel-c: #fff;--dp-day-c: var(--base-8);--dp-day-g: .25rem 0;--dp-day-f: var(--paragraph-20);--dp-width: 18.75rem;--dp-ar: 1/1;width:100%;padding:.5rem;max-width:var(--dp-width);display:flex;flex-direction:column}sh-datepicker.disabled{opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none;cursor:initial}sh-datepicker.columns-1{--dp-width: 18.75rem }sh-datepicker.columns-2{--dp-width: 38.5rem }sh-datepicker.columns-3{--dp-width: 58.25rem }sh-datepicker.columns-4{--dp-width: 78rem }sh-datepicker.columns-5{--dp-width: 97.75rem }sh-datepicker.columns-6{--dp-width: 117.5rem }sh-datepicker.columns-7{--dp-width: 137.25rem }sh-datepicker.columns-8{--dp-width: 157rem }sh-datepicker.columns-9{--dp-width: 176.75rem }sh-datepicker.columns-10{--dp-width: 196.5rem }sh-datepicker.columns-11{--dp-width: 216.25rem }sh-datepicker.columns-12{--dp-width: 236rem }sh-datepicker.as-range section .days>div.sel,sh-datepicker.as-range section .days>button.sel{background:var(--dp-sel-bg);opacity:.5;border-radius:0}sh-datepicker.as-range section .days>div.month-start,sh-datepicker.as-range section .days>div.week-start,sh-datepicker.as-range section .days>div.first,sh-datepicker.as-range section .days>button.month-start,sh-datepicker.as-range section .days>button.week-start,sh-datepicker.as-range section .days>button.first{border-top-left-radius:var(--dp-sel-s);border-bottom-left-radius:var(--dp-sel-s)}sh-datepicker.as-range section .days>div.month-end,sh-datepicker.as-range section .days>div.week-end,sh-datepicker.as-range section .days>div.last,sh-datepicker.as-range section .days>button.month-end,sh-datepicker.as-range section .days>button.week-end,sh-datepicker.as-range section .days>button.last{border-top-right-radius:var(--dp-sel-s);border-bottom-right-radius:var(--dp-sel-s)}sh-datepicker.as-range section .days>div.first,sh-datepicker.as-range section .days>div.last,sh-datepicker.as-range section .days>button.first,sh-datepicker.as-range section .days>button.last{opacity:1}sh-datepicker.as-range .month .days>div.out-of-scope,sh-datepicker.as-range .month .days>button.out-of-scope{opacity:0;pointer-events:none}sh-datepicker header{display:flex;align-items:center;justify-content:space-between;padding:.25rem 0;gap:0}sh-datepicker header .title{font:var(--paragraph-20)}sh-datepicker header button{appearance:none;background-color:transparent;border:0;cursor:pointer;height:2rem;color:var(--base-8)}sh-datepicker header button:focus{outline:none}sh-datepicker .months-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}sh-datepicker .month{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:1fr 6fr;gap:var(--dp-day-g);align-items:flex-start}sh-datepicker .month .days,sh-datepicker .month .weekdays{display:grid;grid-column:1/-1;gap:var(--dp-day-g);grid-template-columns:subgrid;position:relative}sh-datepicker .month .days>.days,sh-datepicker .month .weekdays>.days{position:absolute;top:0;left:0;width:100%;height:100%;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(7,1fr);gap:var(--dp-day-g);z-index:0}sh-datepicker .month .days>div,sh-datepicker .month .days>button,sh-datepicker .month .weekdays>div,sh-datepicker .month .weekdays>button{appearance:none;background:transparent;border:none;padding:0;margin:0;display:flex;align-items:center;justify-content:center;aspect-ratio:var(--dp-ar);cursor:pointer;position:relative;z-index:1;color:var(--dp-day-c);font:var(--dp-day-f);-webkit-user-select:none;user-select:none;border-radius:var(--dp-sel-s)}sh-datepicker .month .days>div:focus-visible,sh-datepicker .month .days>button:focus-visible,sh-datepicker .month .weekdays>div:focus-visible,sh-datepicker .month .weekdays>button:focus-visible{outline:2px solid var(--primary-10, #005fcc);outline-offset:-2px}sh-datepicker .month .days>div.sel,sh-datepicker .month .days>button.sel,sh-datepicker .month .weekdays>div.sel,sh-datepicker .month .weekdays>button.sel{color:var(--dp-sel-c);transition:color 75ms linear}sh-datepicker .month .days>div.out-of-scope,sh-datepicker .month .days>button.out-of-scope,sh-datepicker .month .weekdays>div.out-of-scope,sh-datepicker .month .weekdays>button.out-of-scope{opacity:.4}sh-datepicker .month .days>div.sel-el,sh-datepicker .month .days>button.sel-el,sh-datepicker .month .weekdays>div.sel-el,sh-datepicker .month .weekdays>button.sel-el{position:relative;top:0;left:0;transition:transform 75ms linear,opacity 75ms linear;background:var(--dp-sel-bg);border-radius:var(--dp-sel-s);border:var(--dp-sel-bw) solid var(--dp-sel-bc);opacity:0;box-sizing:border-box}sh-datepicker .month .weekdays>div{color:var(--base-12)}sh-datepicker.primary{--dp-sel-bg: var(--primary-8)}sh-datepicker.accent{--dp-sel-bg: var(--accent-8)}sh-datepicker.warn{--dp-sel-bg: var(--warn-8)}sh-datepicker.error{--dp-sel-bg: var(--error-8)}sh-datepicker.success{--dp-sel-bg: var(--success-8)}sh-datepicker.raised{--dp-sel-bg: var(--base-g2)}sh-datepicker.raised.primary{--dp-sel-bg: var(--primary-g2)}sh-datepicker.raised.accent{--dp-sel-bg: var(--accent-g2)}sh-datepicker.raised.warn{--dp-sel-bg: var(--warn-g2)}sh-datepicker.raised.error{--dp-sel-bg: var(--error-g2)}sh-datepicker.raised.success{--dp-sel-bg: var(--success-g2)}
3
3
  `],encapsulation:2});}}return i})(),ri=(()=>{class i{constructor(){this.#e=T(eo$1),this.ngControl=T1(m$4),this.#t=T(ci$1),this.#n=Ge(null),this.masking=I1("mediumDate"),this.closed=v1(),this._maskedDate=Nt(()=>{let e=this.internalDate(),n=this.masking();return n?e?this.#t.transform(e,n):null:e}),this.internalDate=Ge(null),this.isOpen=E1(false),this.currentClass=re(),this.#i=B("#input-wrap input"),this.datepicker=D1(cn),this.#o=za$1(()=>{this.isOpen()&&setTimeout(()=>{this.datepicker()?.focusActiveDate();},50);}),this.#r=za$1(()=>{let e=this.#i();if(!e.length)return;let n=e[0];n&&(this.#a(n),n.addEventListener("inputValueChanged",o=>{let a=o.detail.value;if(!a){this.internalDate.set(null);return}let _=new Date(a);if(isNaN(_.getTime())&&typeof a=="string"&&/^(\d{2}):(\d{2})/.test(a)){let c=a.match(/^(\d{2}):(\d{2})(?::(\d{2}))?/);if(c){let u=this.internalDate()||new Date;_=new Date(u),_.setHours(parseInt(c[1],10),parseInt(c[2],10),c[3]?parseInt(c[3],10):0,0);}}isNaN(_.getTime())||this.internalDate.set(_);}),n.addEventListener("focus",()=>{this.isOpen.set(true);}),this.#n.set(n),n.autocomplete="off",typeof n.value=="string"&&this.internalDate.set(n.value?new Date(n.value):null));});}#e;#t;#n;#i;#o;onFocusOut(e){setTimeout(()=>{let n=document.activeElement;n&&n!==document.body&&!this.#e.nativeElement.contains(n)&&this.isOpen.set(false);});}onDateChange(e){this.internalDate.set(e);let n=this.ngControl()?.control;if(n)n.setValue(e);else {let o=this.#n();o&&(o.value=e?e.toString():"",o.dispatchEvent(new Event("input")));}}close(){this.closed.emit(this.internalDate());}#r;#a(e){return Object.defineProperty(e,"value",{configurable:true,get(){return Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value").get.call(this)},set(n){Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value").set.call(this,n);let a=new CustomEvent("inputValueChanged",{bubbles:true,cancelable:true,detail:{value:n}});return this.dispatchEvent(a),n}}),e}static{this.\u0275fac=function(n){return new(n||i)};}static{this.\u0275cmp=hw({type:i,selectors:[["sh-datepicker-input"]],contentQueries:function(n,o,a){n&1&&Ug(a,o.ngControl,m$4,5),n&2&&fC();},viewQuery:function(n,o){n&1&&Wg(o.datepicker,cn,5),n&2&&fC();},hostBindings:function(n,o){n&1&&Vg("focusout",function(_){return o.onFocusOut(_)});},inputs:{masking:[1,"masking"],isOpen:[1,"isOpen"]},outputs:{closed:"closed",isOpen:"isOpenChange"},features:[YC([ci$1])],ngContentSelectors:hi,decls:15,vars:3,consts:[["defaultIndicator",""],[3,"closed","isOpenChange","isOpen"],["id","input-wrap","ngProjectAs","input",5,["input"],1,"input"],[1,"masked-value"],["suffix","",1,"default-indicator"],["popoverContent",""],[3,"date","class"],[3,"dateChange","tabbedOut","date"]],template:function(n,o){if(n&1){let a=vT();aC(fi),Qi$1(0,"sh-form-field-popover",1),Vg("closed",function(){return o.close()}),cm("isOpenChange",function(c){return kd(a),UC(o.isOpen,c)||(o.isOpen=c),Od(c)}),cC(1,0,Ei),cC(2,1,yi),cC(3,2,Ni),Qi$1(4,"div",2),aT(5,Ai,2,1,"div",3),cC(6,3),$l(),cC(7,4,Fi),cC(8,5,Di),Qi$1(9,"sh-icon",4),jC(10,"calendar"),$l(),Qi$1(11,"div",5),aT(12,Ii,1,3,"sh-datepicker",6),$l()(),ag(13,Oi,0,0,"ng-template",null,0,lb);}n&2&&(am("isOpen",o.isOpen),CE(5),cT(o.masking()?5:-1),CE(7),cT(o.isOpen()?12:-1));},dependencies:[cn,Ae,N],styles:[Pi],encapsulation:2});}}return i})();function Mi(i,t){if(i&1){let e=vT();Qi$1(0,"div",26)(1,"sh-form-field")(2,"label",27),nC(3,7),$l(),Qi$1(4,"input",28,0),cm("ngModelChange",function(o){kd(e);let a=iC(2);return UC(a.scheduleFields.nextTime.time,o)||(a.scheduleFields.nextTime.time=o),Od(o)}),$l(),CD(),Qi$1(6,"sh-icon",29),jC(7,"clock"),$l()(),Qi$1(8,"sh-datepicker-input",30)(9,"label",31),jC(10,"\xA0"),$l(),Qi$1(11,"input",32,1),cm("ngModelChange",function(o){kd(e);let a=iC(2);return UC(a.scheduleFields.nextTime.date,o)||(a.scheduleFields.nextTime.date=o),Od(o)}),$l(),CD(),Qi$1(13,"sh-icon",29),jC(14,"calendar"),$l()()(),Qi$1(15,"div",26)(16,"sh-form-field")(17,"label",33),nC(18,8),$l(),Qi$1(19,"input",34),cm("ngModelChange",function(o){kd(e);let a=iC(2);return UC(a.scheduleFields.runAgain.repeatValue,o)||(a.scheduleFields.runAgain.repeatValue=o),Od(o)}),$l(),CD(),$l(),Qi$1(20,"sh-select",35)(21,"input",36),cm("ngModelChange",function(o){kd(e);let a=iC(2);return UC(a.scheduleFields.runAgain.repeatUnit,o)||(a.scheduleFields.runAgain.repeatUnit=o),Od(o)}),$l(),CD(),$l()(),Qi$1(22,"sh-toggle-card",37),ql(23,38),nC(24,9),Gl(),Qi$1(25,"div",39)(26,"sh-toggle",24),Lg(27,10),Qi$1(28,"input",25),cm("ngModelChange",function(o){kd(e);let a=iC(2);return UC(a.scheduleFields.runAgain.allowedDays.mon,o)||(a.scheduleFields.runAgain.allowedDays.mon=o),Od(o)}),$l(),CD(),Fg(),$l(),Qi$1(29,"sh-toggle",24),Lg(30,11),Qi$1(31,"input",25),cm("ngModelChange",function(o){kd(e);let a=iC(2);return UC(a.scheduleFields.runAgain.allowedDays.tue,o)||(a.scheduleFields.runAgain.allowedDays.tue=o),Od(o)}),$l(),CD(),Fg(),$l(),Qi$1(32,"sh-toggle",24),Lg(33,12),Qi$1(34,"input",25),cm("ngModelChange",function(o){kd(e);let a=iC(2);return UC(a.scheduleFields.runAgain.allowedDays.wed,o)||(a.scheduleFields.runAgain.allowedDays.wed=o),Od(o)}),$l(),CD(),Fg(),$l(),Qi$1(35,"sh-toggle",24),Lg(36,13),Qi$1(37,"input",25),cm("ngModelChange",function(o){kd(e);let a=iC(2);return UC(a.scheduleFields.runAgain.allowedDays.thu,o)||(a.scheduleFields.runAgain.allowedDays.thu=o),Od(o)}),$l(),CD(),Fg(),$l(),Qi$1(38,"sh-toggle",24),Lg(39,14),Qi$1(40,"input",25),cm("ngModelChange",function(o){kd(e);let a=iC(2);return UC(a.scheduleFields.runAgain.allowedDays.fri,o)||(a.scheduleFields.runAgain.allowedDays.fri=o),Od(o)}),$l(),CD(),Fg(),$l(),Qi$1(41,"sh-toggle",24),Lg(42,15),Qi$1(43,"input",25),cm("ngModelChange",function(o){kd(e);let a=iC(2);return UC(a.scheduleFields.runAgain.allowedDays.sat,o)||(a.scheduleFields.runAgain.allowedDays.sat=o),Od(o)}),$l(),CD(),Fg(),$l(),Qi$1(44,"sh-toggle",24),Lg(45,16),Qi$1(46,"input",25),cm("ngModelChange",function(o){kd(e);let a=iC(2);return UC(a.scheduleFields.runAgain.allowedDays.sun,o)||(a.scheduleFields.runAgain.allowedDays.sun=o),Od(o)}),$l(),CD(),Fg(),$l()()();}if(i&2){let e=iC(2);CE(4),am("ngModel",e.scheduleFields.nextTime.time),_D(),CE(7),am("ngModel",e.scheduleFields.nextTime.date),_D(),CE(8),am("ngModel",e.scheduleFields.runAgain.repeatValue),_D(),CE(),yg("options",e.unitOptions)("isClearable",false),CE(),am("ngModel",e.scheduleFields.runAgain.repeatUnit),_D(),CE(),yg("disableToggle",true),CE(6),am("ngModel",e.scheduleFields.runAgain.allowedDays.mon),_D(),CE(3),am("ngModel",e.scheduleFields.runAgain.allowedDays.tue),_D(),CE(3),am("ngModel",e.scheduleFields.runAgain.allowedDays.wed),_D(),CE(3),am("ngModel",e.scheduleFields.runAgain.allowedDays.thu),_D(),CE(3),am("ngModel",e.scheduleFields.runAgain.allowedDays.fri),_D(),CE(3),am("ngModel",e.scheduleFields.runAgain.allowedDays.sat),_D(),CE(3),am("ngModel",e.scheduleFields.runAgain.allowedDays.sun),_D();}}function xi(i,t){if(i&1){let e=vT();Qi$1(0,"div",23)(1,"sh-toggle",24),Lg(2,5),Qi$1(3,"input",25),cm("ngModelChange",function(o){kd(e);let a=iC();return UC(a.scheduleFields.autoRun,o)||(a.scheduleFields.autoRun=o),Od(o)}),$l(),CD(),Fg(),$l(),Qi$1(4,"p"),nC(5,6),$l()(),aT(6,Mi,47,14);}if(i&2){let e=iC();CE(3),am("ngModel",e.scheduleFields.autoRun),_D(),CE(3),cT(e.scheduleFields.autoRun()?6:-1);}}var Ri=[{key:"s",label:$localize`Seconds`},{key:"m",label:$localize`Minutes`},{key:"h",label:$localize`Hours`},{key:"D",label:$localize`Days`},{key:"W",label:$localize`Weeks`},{key:"M",label:$localize`Months`},{key:"Y",label:$localize`Years`}],Wt=[{key:$localize`Daily 13:00`,value:"daily",data:{autoRun:true,nextTime:{time:"13:00:00",date:new Date().toISOString().split("T")[0]},runAgain:{repeatValue:1,repeatUnit:"D",allowedDays:{mon:true,tue:true,wed:true,thu:true,fri:true,sat:true,sun:true}}}},{key:$localize`Weekdays 13:00`,value:"weekdays",data:{autoRun:true,nextTime:{time:"13:00:00",date:new Date().toISOString().split("T")[0]},runAgain:{repeatValue:1,repeatUnit:"D",allowedDays:{mon:true,tue:true,wed:true,thu:true,fri:true,sat:false,sun:false}}}},{key:$localize`Weekly monday 13:00`,value:"weekly",data:{autoRun:true,nextTime:{time:"13:00:00",date:Li().toISOString().split("T")[0]},runAgain:{repeatValue:1,repeatUnit:"W",allowedDays:{mon:true,tue:false,wed:false,thu:false,fri:false,sat:false,sun:false}}}},{key:$localize`Don't run automatically`,value:"disabled",data:{autoRun:false,nextTime:{time:"13:00:00",date:new Date().toISOString().split("T")[0]},runAgain:{repeatValue:1,repeatUnit:"D",allowedDays:{mon:true,tue:true,wed:true,thu:true,fri:true,sat:true,sun:true}}}},{key:$localize`Custom`,value:"custom",data:{autoRun:true,nextTime:{time:"13:00:00",date:new Date().toISOString().split("T")[0]},runAgain:{repeatValue:1,repeatUnit:"D",allowedDays:{mon:true,tue:true,wed:true,thu:true,fri:true,sat:true,sun:true}}}}];function si(i){if(!i.autoRun)return null;let t=[i.runAgain.allowedDays.mon?"Monday":null,i.runAgain.allowedDays.tue?"Tuesday":null,i.runAgain.allowedDays.wed?"Wednesday":null,i.runAgain.allowedDays.thu?"Thursday":null,i.runAgain.allowedDays.fri?"Friday":null,i.runAgain.allowedDays.sat?"Saturday":null,i.runAgain.allowedDays.sun?"Sunday":null].filter(G=>G!==null),e=new Date(i.nextTime.date),n=i.nextTime.time.split(":"),o=e.getFullYear(),a=e.getMonth(),_=e.getDate(),c=parseInt(n[0]??"0"),u=parseInt(n[1]??"0"),T=parseInt(n[2]??"0"),D=new Date(o,a,_,c,u,T,0),y=i.runAgain.repeatValue,M=i.runAgain.repeatUnit;return {Time:D.toISOString(),Repeat:`${y}${M}`,AllowedDays:t}}function Li(){let i=new Date,t=i.getDay(),e=t===1?7:(8-t)%7;return i.setDate(i.getDate()+e),i.setHours(12,0,0,0),i}var pn=()=>({autoRun:Ge(true),nextTime:{time:Ge("13:00"),date:Ge(new Date().toISOString().split("T")[0])},runAgain:{repeatValue:Ge(1),repeatUnit:Ge("D"),allowedDays:{mon:Ge(true),tue:Ge(true),wed:Ge(true),thu:Ge(true),fri:Ge(true),sat:Ge(true),sun:Ge(true)}}}),un=class i{#e=T(ke);#t=T(ee);#n=T(W);unitOptions=Ri;scheduleFields=this.#e.scheduleFields;scheduleType=this.#e.scheduleType;scheduleOptions=Wt;updateScheduleType(t){let e=Wt.find(n=>n.value===t);if(e&&e?.value!=="custom"){this.scheduleType.set(e.value);let n=e.data;this.scheduleFields.autoRun.set(n.autoRun??false),this.scheduleFields.nextTime.time.set(n.nextTime?.time??"13:00"),this.scheduleFields.nextTime.date.set(n.nextTime?.date??new Date().toISOString().split("T")[0]),this.scheduleFields.runAgain.repeatValue.set(n.runAgain?.repeatValue??1),this.scheduleFields.runAgain.repeatUnit.set(n.runAgain?.repeatUnit??"D"),this.scheduleFields.runAgain.allowedDays.mon.set(n.runAgain?.allowedDays?.mon??true),this.scheduleFields.runAgain.allowedDays.tue.set(n.runAgain?.allowedDays?.tue??true),this.scheduleFields.runAgain.allowedDays.wed.set(n.runAgain?.allowedDays?.wed??true),this.scheduleFields.runAgain.allowedDays.thu.set(n.runAgain?.allowedDays?.thu??true),this.scheduleFields.runAgain.allowedDays.fri.set(n.runAgain?.allowedDays?.fri??true),this.scheduleFields.runAgain.allowedDays.sat.set(n.runAgain?.allowedDays?.sat??true),this.scheduleFields.runAgain.allowedDays.sun.set(n.runAgain?.allowedDays?.sun??true);}else this.scheduleType.set("custom");}goBack(){this.#t.navigate(["source-data"],{relativeTo:this.#n.parent});}next(){this.#e.shouldAutoSave()&&this.#e.submit(true),this.#t.navigate(["options"],{relativeTo:this.#n.parent});}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=hw({type:i,selectors:[["app-schedule"]],decls:12,vars:4,consts:()=>{let t;t=$localize`Select an option...`;let e;e=$localize`Schedule`;let n;n=$localize`${"\uFFFD#8\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#8\uFFFD"}:CLOSE_TAG_SH_ICON: Go back `;let o;o=$localize`${"\uFFFD#11\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#11\uFFFD"}:CLOSE_TAG_SH_ICON: Continue `;let a;a=$localize` Automatically run backups ${"\uFFFD#3\uFFFD\uFFFD/#3\uFFFD"}:TAG_INPUT:`;let _;_=$localize`If a date was missed, the job will run as soon as possible.`;let c;c=$localize`Next time`;let u;u=$localize`Run again every`;let T;T=$localize`Allowed days`;let D;D=$localize` Monday ${"\uFFFD#28\uFFFD\uFFFD/#28\uFFFD"}:TAG_INPUT:`;let y;y=$localize` Tuesday ${"\uFFFD#31\uFFFD\uFFFD/#31\uFFFD"}:TAG_INPUT:`;let M;M=$localize` Wednesday ${"\uFFFD#34\uFFFD\uFFFD/#34\uFFFD"}:TAG_INPUT:`;let G;G=$localize` Thursday ${"\uFFFD#37\uFFFD\uFFFD/#37\uFFFD"}:TAG_INPUT:`;let I;I=$localize` Friday ${"\uFFFD#40\uFFFD\uFFFD/#40\uFFFD"}:TAG_INPUT:`;let J;J=$localize` Saturday ${"\uFFFD#43\uFFFD\uFFFD/#43\uFFFD"}:TAG_INPUT:`;let X;return X=$localize` Sunday ${"\uFFFD#46\uFFFD\uFFFD/#46\uFFFD"}:TAG_INPUT:`,[["timeRef",""],["dateRef",""],e,n,o,a,_,c,u,T,D,y,M,G,I,J,X,[1,"title-30"],["label","key","value","value",3,"isClearable","options"],["type","text","placeholder",t,3,"ngModelChange","ngModel"],[1,"form-actions"],["shButton","","type","button",3,"click"],["shButton","",1,"raised","primary",3,"click"],[1,"toggle-wrap"],[1,"raised","primary"],["type","checkbox",3,"ngModelChange","ngModel"],[1,"row-inputs"],["for","time"],["type","time","id","time",3,"ngModelChange","ngModel"],["suffix",""],[1,"primary","sharp"],["for","date"],["type","text","id","date",3,"ngModelChange","ngModel"],["for","repeatValue"],["type","number","id","repeatValue",3,"ngModelChange","ngModel"],["value","key","label","label",3,"options","isClearable"],["type","text","id","repeatUnit",3,"ngModelChange","ngModel"],[3,"disableToggle"],["title",""],[1,"days-wrap"]]},template:function(e,n){e&1&&(Qi$1(0,"h3",17),nC(1,2),$l(),Qi$1(2,"sh-select",18)(3,"input",19),Vg("ngModelChange",function(a){return n.updateScheduleType(a)}),$l(),CD(),$l(),aT(4,xi,7,2),Qi$1(5,"div",20)(6,"button",21),Vg("click",function(){return n.goBack()}),Lg(7,3),vg(8,"sh-icon"),Fg(),$l(),Qi$1(9,"button",22),Vg("click",function(){return n.next()}),Lg(10,4),vg(11,"sh-icon"),Fg(),$l()()),e&2&&(CE(2),yg("isClearable",false)("options",n.scheduleOptions),CE(),yg("ngModel",n.scheduleType()),_D(),CE(),cT(n.scheduleType()==="custom"?4:-1));},dependencies:[Bn,Ze$1,en$1,yt,Rn,Jt,Fe,J,N,v,Nt$1,I,ri],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:40rem;padding:2.5rem 2.5rem 1.5rem;display:flex;flex-direction:column;gap:1.5rem}.toggle-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}.days-wrap[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"]})};var bi=[[["","title",""]],[["","description",""]],[["","action",""]],"*"],vi=["[title]","[description]","[action]","*"];function wi(i,t){i&1&&jC(0,"Title");}function Gi(i,t){i&1&&(Qi$1(0,"sh-icon"),jC(1,"caret-down"),$l());}var Ze=class i{isActive=E1(false);disableToggle=I1(false);ngOnInit(){this.disableToggle()&&this.isActive.set(true);}toggle(){this.isActive.set(!this.isActive());}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=hw({type:i,selectors:[["app-toggle-card"]],hostVars:2,hostBindings:function(e,n){e&2&&Yg("active",n.isActive());},inputs:{isActive:[1,"isActive"],disableToggle:[1,"disableToggle"]},outputs:{isActive:"isActiveChange"},ngContentSelectors:vi,decls:11,vars:1,consts:[[1,"title"],[3,"click"],[1,"actions"],[1,"content"]],template:function(e,n){e&1&&(aC(bi),Qi$1(0,"header")(1,"div",0)(2,"h3",1),Vg("click",function(){return n.disableToggle()||n.toggle()}),cC(3,0,null,wi,1,0),aT(5,Gi,2,0,"sh-icon"),$l(),cC(6,1),$l(),Qi$1(7,"div",2),cC(8,2),$l()(),Qi$1(9,"div",3),cC(10,3),$l()),e&2&&(CE(5),cT(n.disableToggle()?-1:5));},dependencies:[N],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;border-radius:var(--shape-3);background-color:var(--base-2)}.active[_nghost-%COMP%] .content[_ngcontent-%COMP%]{max-height:1000px;transition:max-height 1s linear;padding:0 1rem 1rem}.active[_nghost-%COMP%] sh-icon[_ngcontent-%COMP%]{transform:rotate(180deg)}[_nghost-%COMP%] h3[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:.25rem;font:var(--paragraph-10);cursor:pointer;-webkit-user-select:none;user-select:none}[_nghost-%COMP%] sh-icon[_ngcontent-%COMP%]{transform:rotate(0);transform-origin:center;transition:transform .2s ease}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem}header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;flex:1 0}header[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]:empty{display:none}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;padding:0 1rem;overflow:hidden;max-height:0;transition:max-height .25s linear,padding .25s linear}.content[_ngcontent-%COMP%]:empty{display:none}"]})};var ki=["textInput"];function $i(i,t){if(i&1){let e=vT();Qi$1(0,"sh-select",3)(1,"input",7),cm("ngModelChange",function(o){kd(e);let a=iC();return UC(a.internalPath,o)||(a.internalPath=o),Od(o)}),Vg("ngModelChange",function(){kd(e);let o=iC();return Od(o.updateFilter())}),$l(),CD(),$l();}if(i&2){let e=iC();yg("options",e.fileGroupOptions())("isClearable",false)("selectMultiple",true),CE(),am("ngModel",e.internalPath),_D();}}function Ui(i,t){if(i&1&&(Qi$1(0,"div",8),jC(1),$l()),i&2){let e=iC(2);CE(),om(e.currentExpressionOption()?.startsWith);}}function Bi(i,t){if(i&1&&(Qi$1(0,"div",9),jC(1),$l()),i&2){let e=iC(2);CE(),om(e.currentExpressionOption()?.endsWith);}}function Vi(i,t){if(i&1){let e=vT();Qi$1(0,"sh-form-field",4)(1,"input",7,0),cm("ngModelChange",function(o){kd(e);let a=iC();return UC(a.internalPath,o)||(a.internalPath=o),Od(o)}),Vg("ngModelChange",function(){kd(e);let o=iC();return Od(o.updateFilter())}),$l(),CD(),aT(3,Ui,2,1,"div",8),aT(4,Bi,2,1,"div",9),$l();}if(i&2){let e=iC();CE(),am("ngModel",e.internalPath),_D(),CE(2),cT(e.currentExpressionOption()?.startsWith?.length?3:-1),CE(),cT(e.currentExpressionOption()?.endsWith?.length?4:-1);}}var Ki=[{key:"Applications",value:"Applications"},{key:"CacheFiles",value:"Cache Files"},{key:"TemporaryFiles",value:"Temporary Files"},{key:"OperatingSystem",value:"Operating System"},{key:"SystemFiles",value:"System Files"},{key:"DefaultExcludes",value:"Standard Excludes"}],Ji=[{key:"Excludes folders where name contains",value:"-FolderName"},{key:"Includes folders where name contains",value:"+FolderName"},{key:"Excludes folder",value:"-Folder"},{key:"Includes folder",value:"+Folder"},{key:"Excludes files where name contains",value:"-FileName"},{key:"Includes files where name contains",value:"+FileName"},{key:"Excludes file extension",value:"-Extension"},{key:"Include file extension",value:"+Extension"},{key:"Excludes files where name matches regex",value:"-Regex"},{key:"Includes files where name matches regex",value:"+Regex"},{key:"Exclude file groups",value:"-FileGroup"},{key:"Include file groups",value:"+FileGroup"},{key:"Includes expression",value:"+Expression"},{key:"Excludes expression",value:"-Expression"},{key:"None",value:"-Unknown"}],Ht=class i{#e=T(ve$2);path=I1.required();osType=I1();isNew=I1(false);pathChange=v1();remove=v1();internalPath=Ge("");pathType=Ge("-Expression");textInput=D1("textInput");currentExpressionOption=Nt(()=>{let t=this.pathType();return this.expressionOptions().find(e=>e.value===t)});fileGroupOptions=Ge(Ki);expressionOptions=Nt(()=>{let e=this.osType()==="Windows"?"\\":"/";return Ji.map(n=>n.value==="-Folder"||n.value==="+Folder"?m$3(l({},n),{startsWith:"",endsWith:""}):n.value==="-FolderName"||n.value==="+FolderName"?m$3(l({},n),{startsWith:"*",endsWith:`*${e}`}):n.value==="-FileName"||n.value==="+FileName"?m$3(l({},n),{startsWith:"[.*",endsWith:`[^\\${e}]*]`}):n.value==="-FileGroup"||n.value==="+FileGroup"?m$3(l({},n),{startsWith:"{",endsWith:"}"}):n.value==="-Regex"||n.value==="+Regex"?m$3(l({},n),{startsWith:"[",endsWith:"]"}):n.value==="-Extension"||n.value==="+Extension"?m$3(l({},n),{startsWith:"*.",endsWith:""}):m$3(l({},n),{startsWith:"",endsWith:""}))});pathEffect=za$1(()=>{let t=this.path(),e=t.slice(1),n=t.startsWith("-")?"-":"+",o=this.osType()==="Windows",a=o?"\\":"/";e.startsWith("%")&&e.endsWith(a)||o&&e.slice(2).startsWith(a)&&e.endsWith(a)||e.startsWith(a)&&e.endsWith(a)?(this.pathType.set(`${n}Folder`),this.internalPath.set(e)):e.startsWith("*")&&e.endsWith(`*${a}`)?(this.pathType.set(`${n}FolderName`),this.internalPath.set(e.slice(1,-2))):e.startsWith("[.*")&&e.endsWith(`[^\\${a}]*]`)?(this.pathType.set(`${n}FileName`),this.internalPath.set(e.slice(3,-7))):e.startsWith("{")&&e.endsWith("}")?(this.pathType.set(`${n}FileGroup`),this.internalPath.set(e.slice(1,-1))):e.startsWith("[")&&e.endsWith("]")?(this.pathType.set(`${n}Regex`),this.internalPath.set(e.slice(1,-1))):e.startsWith("*.")?(this.pathType.set(`${n}Extension`),this.internalPath.set(e.slice(2))):(this.pathType.set(`${n}Expression`),this.internalPath.set(e)),this.isNew()&&rE(()=>{this.focusInput();},{injector:this.#e});});focusInput(){let t=this.textInput()?.nativeElement;t&&(t.focus(),t.select());}updateFilter(){let t=this.internalPath(),e=this.currentExpressionOption();t!==""&&(t==="*"&&(t=""),this.pathChange.emit(`${e?.value.slice(0,1)}${e?.startsWith??""}${t}${e?.endsWith??""}`));}removeFilter(){this.remove.emit();}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=hw({type:i,selectors:[["app-new-filter"]],viewQuery:function(e,n){e&1&&Wg(n.textInput,ki,5),e&2&&fC();},inputs:{path:[1,"path"],osType:[1,"osType"],isNew:[1,"isNew"]},outputs:{pathChange:"pathChange",remove:"remove"},decls:7,vars:4,consts:()=>{let t;return t=$localize`Select an option...`,[["textInput",""],["value","value","label","key",3,"options","isClearable"],["type","text","placeholder",t,3,"ngModelChange","ngModel"],["value","key","label","value",1,"expression-input",3,"options","isClearable","selectMultiple"],[1,"expression-input"],[1,"filter-removal",3,"click"],[1,"sh-primary"],["type","text",3,"ngModelChange","ngModel"],["boxPrefix",""],["boxSuffix",""]]},template:function(e,n){e&1&&(Qi$1(0,"sh-select",1)(1,"input",2),cm("ngModelChange",function(a){return UC(n.pathType,a)||(n.pathType=a),a}),Vg("ngModelChange",function(){return n.updateFilter()}),$l(),CD(),$l(),aT(2,$i,2,4,"sh-select",3)(3,Vi,5,3,"sh-form-field",4),Qi$1(4,"div",5),Vg("click",function(){return n.removeFilter()}),Qi$1(5,"sh-icon",6),jC(6,"x-circle"),$l()()),e&2&&(yg("options",n.expressionOptions())("isClearable",false),CE(),am("ngModel",n.pathType),_D(),CE(),cT(n.currentExpressionOption()?.value=="-FileGroup"||n.currentExpressionOption()?.value=="+FileGroup"?2:3));},dependencies:[Bn,Ze$1,Rn,Jt,Nt$1,Fe,N],styles:["[_nghost-%COMP%]{display:grid;grid-template-columns:13.125rem 1fr 1.875rem;gap:.5rem;align-items:flex-end}.expression-input[_ngcontent-%COMP%]{--ff-suffix-bg: var(--base-2)}.filter-removal[_ngcontent-%COMP%]{cursor:pointer;display:flex;align-items:center;justify-content:center;height:2.5rem;flex:0 0}"]})};var Xi=["filtersContainer"],zi=()=>({updateOn:"blur",standalone:true});function Wi(i,t){i&1&&(Qi$1(0,"sh-icon",14),jC(1," warning "),$l());}function Hi(i,t){if(i&1){let e=vT();aT(0,Wi,2,0,"sh-icon",14),Qi$1(1,"button",15),Vg("click",function(){kd(e);let o=iC();return Od(o.addFilter())}),Lg(2,3),vg(3,"sh-icon"),Fg(),$l();}if(i&2){let e=iC();cT(e.wrongConfiguration()?0:-1);}}function ji(i,t){i&1&&nC(0,2,1);}function qi(i,t){i&1&&nC(0,2,2);}function Yi(i,t){i&1&&(Qi$1(0,"p",12),nC(1,4),$l());}function Qi(i,t){i&1&&(Qi$1(0,"p",12),nC(1,5),$l());}function Zi(i,t){if(i&1){let e=vT();Qi$1(0,"sh-form-field")(1,"textarea",16),cm("ngModelChange",function(o){kd(e);let a=iC();return UC(a.bulkFilters,o)||(a.bulkFilters=o),Od(o)}),Vg("ngModelChange",function(){kd(e);let o=iC();return Od(o.saveBulkFilterEdit())}),$l(),CD(),$l();}if(i&2){let e=iC();CE(),am("ngModel",e.bulkFilters),yg("ngModelOptions",KC(2,zi)),_D();}}function eo(i,t){if(i&1){let e=vT();Qi$1(0,"app-new-filter",18),Vg("pathChange",function(o){let a=kd(e).$index,_=iC(2);return Od(_.updateFilterAt(o,a))})("remove",function(){let o=kd(e).$index,a=iC(2);return Od(a.removeFilterAt(o))}),$l();}if(i&2){let e=t.$implicit,n=t.$index,o=iC(2);yg("path",e)("osType",o.osType())("isNew",o.lastAddedIndex()===n);}}function to(i,t){if(i&1&&(Qi$1(0,"div",13,0),dT(2,eo,1,3,"app-new-filter",17,lT),$l()),i&2){let e=iC();CE(2),fT(e.filters());}}var jt=class i{#e=T(ve$2);filters=E1.required();osType=I1("");disableToggle=I1(true);bulkFilterEditMode=Ge(false);bulkFilters=Ge("");lastAddedIndex=Ge(null);filtersContainer=D1.required("filtersContainer");hasFilters=Nt(()=>this.filters().length>0);wrongConfiguration=Nt(()=>{let t=this.filters();if(t.length===0)return false;let e=t.findIndex(o=>o==="-*"||o==="-*.*"||o==="-**");if(e===-1)return false;let n=t.findIndex(o=>o.startsWith("+"));return n===-1||e<n});toggleBulkFilterEdit(){this.bulkFilterEditMode()?this.bulkFilterEditMode.set(false):(this.bulkFilters.set(this.filters().join(`
4
4
  `)),this.bulkFilterEditMode.set(true));}saveBulkFilterEdit(){let t=this.bulkFilters().split(`
@@ -11,4 +11,4 @@ Do you want to REPLACE your CURRENT host key ${a}
11
11
  with the REPORTED host key: ${o}?`,T=e;try{let M=new URL(e);M.searchParams.set("ssh-fingerprint",o),T=M.toString();}catch{let M=e.replace(/([?&])ssh-fingerprint=[^&]*/,""),G=M.includes("?");T=M+`${G?"&":"?"}ssh-fingerprint=${o}`;}if(_){D();return}this.#t.open(h$1,{maxWidth:"500px",data:{title:$localize`The host key has changed`,message:u,confirmText:$localize`Approve`,cancelText:$localize`Cancel`},closed:M=>{if(!M){this.reportNoAction(t,e,n,$localize`The host key was not approved.`);return}D();}});}else {let D=function(){t.next({action:"approve-host-key",targetUrl:e,suggestedUrl:e+`${T?"&":"?"}ssh-fingerprint=${o}`,testAgain:true,reportedHostKey:o,errorMessage:u,destinationIndex:n}),t.complete();};let u=$localize`No certificate was specified, please verify that the reported host key is correct: ${o}`,T=e.includes("?");if(_){D();return}this.#t.open(h$1,{maxWidth:"500px",data:{title:$localize`Approve host key?`,message:u,confirmText:$localize`Approve`,cancelText:$localize`Cancel`},closed:y=>{if(!y){this.reportNoAction(t,e,n,$localize`The host key was not approved.`);return}D();}});}}handleGenericError(t,e,n,o,a){function _(){t.next({action:"generic-error",targetUrl:e,testAgain:false,destinationIndex:n,errorMessage:o}),t.complete();}if(a){_();return}this.#t.open(h$1,{maxWidth:"500px",data:{title:$localize`Test connection failed`,message:o,cancelText:$localize`OK`},closed:c=>_()});}handleDestinationErrorv1(t,e,n,o,a,_,c,u){return new S(T=>{if(t==="missing-folder"){this.handleMissingFolder(T,e,n,o,a,_,c,u);return}if(t.startsWith("incorrect-cert:")){let D=t.split("incorrect-cert:")[1];this.handleMissingCertificate(T,e,a,D,_);return}if(t.startsWith("incorrect-host-key:")){let D=t.split('incorrect-host-key:"')[1].split('",')[0],y=t.split('accepted-host-key:"')[1].split('",')[0];this.handleIncorrectKey(T,e,a,D,y,_);return}this.handleGenericError(T,e,a,t,_);})}static \u0275fac=function(e){return new(e||i)};static \u0275prov=ee$1({token:i,factory:i.\u0275fac,providedIn:"root"})};function yr(i,t){if(i&1){let e=vT();Qi$1(0,"sh-alert",13),Lg(1,0),Qi$1(2,"button",14),Vg("click",function(){kd(e);let o=iC(2);return Od(o.testDestinationClick())}),$l(),Fg(),$l();}}function Nr(i,t){i&1&&(Qi$1(0,"sh-alert",13),Lg(1,1),vg(2,"sh-icon"),Qi$1(3,"div",15),vg(4,"sh-spinner"),$l(),Fg(),$l()),i&2&&(CE(4),Zg("--spinner-size","16px")("--spinner-thickness","2px"));}function Fr(i,t){i&1&&(Qi$1(0,"sh-alert",17),nC(1,2),$l());}function Dr(i,t){i&1&&(Qi$1(0,"sh-alert",16),nC(1,3),$l());}function Ar(i,t){if(i&1&&aT(0,Fr,2,0,"sh-alert",17)(1,Dr,2,0,"sh-alert",16),i&2){let e=iC(4);cT(e.testResponse()?.containsBackup?0:1);}}function Ir(i,t){i&1&&(Qi$1(0,"sh-alert",18),nC(1,4),$l());}function Or(i,t){i&1&&(Qi$1(0,"sh-alert",16),nC(1,5),$l());}function Pr(i,t){i&1&&(Qi$1(0,"sh-alert",17),nC(1,6),$l());}function Mr(i,t){if(i&1&&aT(0,Ir,2,0,"sh-alert",18)(1,Or,2,0,"sh-alert",16)(2,Pr,2,0,"sh-alert",17),i&2){let e=iC(4);cT(e.testResponse()?.containsBackup?0:e.testResponse()?.anyFilesFound?1:2);}}function xr(i,t){i&1&&(Qi$1(0,"sh-alert",17),nC(1,7),$l());}function Rr(i,t){i&1&&(Qi$1(0,"sh-alert",16),nC(1,8),$l());}function Lr(i,t){if(i&1&&aT(0,xr,2,0,"sh-alert",17)(1,Rr,2,0,"sh-alert",16),i&2){let e=iC(4);cT(e.testResponse()?.anyFilesFound?0:1);}}function br(i,t){i&1&&(Qi$1(0,"sh-alert",17),nC(1,9),$l());}function vr(i,t){i&1&&(Qi$1(0,"sh-alert",17),nC(1,10),$l());}function wr(i,t){i&1&&(Qi$1(0,"sh-alert",17),nC(1,11),$l());}function Gr(i,t){if(i&1&&aT(0,br,2,0,"sh-alert",17)(1,vr,2,0,"sh-alert",17)(2,wr,2,0,"sh-alert",17),i&2){let e=iC(4);cT(e.testResponse()?.containsBackup?0:e.testResponse()?.anyFilesFound?1:2);}}function kr(i,t){if(i&1&&aT(0,Ar,2,1)(1,Mr,3,1)(2,Lr,2,1)(3,Gr,3,1),i&2){let e=iC(3);cT(e.testExpectation()==="containsBackup"?0:e.testExpectation()==="destinationEmpty"?1:e.testExpectation()==="destinationNotEmpty"?2:3);}}function $r(i,t){if(i&1){let e=vT();Lg(0,12,1),Qi$1(1,"button",14),Vg("click",function(){kd(e);let o=iC(4);return Od(o.createFolder())}),$l(),Fg();}}function Ur(i,t){if(i&1&&(Qi$1(0,"sh-alert",16),Lg(1,12),aT(2,$r,2,0,"button",19),Fg(),$l()),i&2){let e=iC(3);CE(2),cT(e.askToCreate()?2:-1);}}function Br(i,t){if(i&1){let e=vT();Qi$1(0,"sh-alert",16),jC(1),Qi$1(2,"button",14),Vg("click",function(){kd(e);let o=iC(3);return Od(o.useSuggestedUrl())}),jC(3,"Approve"),$l()();}if(i&2){let e=iC(3);CE(),Ql(" ",e.testResponse()?.errorMessage," ");}}function Vr(i,t){if(i&1){let e=vT();Qi$1(0,"sh-alert",16),jC(1),Qi$1(2,"button",14),Vg("click",function(){kd(e);let o=iC(3);return Od(o.useSuggestedUrl())}),jC(3,"Approve"),$l()();}if(i&2){let e=iC(3);CE(),Ql(" ",e.testResponse()?.errorMessage," ");}}function Kr(i,t){if(i&1){let e=vT();Qi$1(0,"sh-alert",16),jC(1),Qi$1(2,"button",14),Vg("click",function(){kd(e);let o=iC(3);return Od(o.testDestinationClick())}),jC(3,"Test again"),$l()();}if(i&2){let e=iC(3);CE(),Ql(" ",e.testResponse()?.errorMessage," ");}}function Jr(i,t){if(i&1&&aT(0,kr,4,1)(1,Ur,3,1,"sh-alert",16)(2,Br,4,1,"sh-alert",16)(3,Vr,4,1,"sh-alert",16)(4,Kr,4,1,"sh-alert",16),i&2){let e=iC(2);cT(e.testResponse()?.action==="success"?0:e.testResponse()?.action==="missing-folder"?1:e.testResponse()?.action==="trust-cert"?2:e.testResponse()?.action==="approve-host-key"?3:e.testResponse()?.action==="generic-error"?4:-1);}}function Xr(i,t){if(i&1&&aT(0,yr,3,0,"sh-alert",13)(1,Nr,5,4,"sh-alert",13)(2,Jr,5,1),i&2){let e=iC();cT(e.testSignal()===null?0:e.testSignal()==="testing"?1:2);}}var on=class i{#e=T(nn);targetUrl=E1.required();testSignal=E1.required();connectionStringId=I1(null);backupId=I1.required();sourcePrefix=I1.required();suppressErrorDialogs=I1.required();askToCreate=I1.required();readOnlyTest=I1.required();testExpectation=I1.required();moduleType=I1.required();testResponse=Nt(()=>{let t=this.testSignal();return t&&typeof t!="string"?t:null});isExpectedValidTargetUrl=Nt(()=>{let t=this.targetUrl();return !(!t||!xe(t))});prevTargetUrl=null;targetUrlEffect=za$1(()=>{let t=this.targetUrl(),e=this.prevTargetUrl;t!==e&&(this.prevTargetUrl=t,this.testSignal()!=="testing"&&e!==null&&this.testSignal.set(null));});useSuggestedUrl(){let t=this.targetUrl(),e=this.testSignal(),n=e&&typeof e!="string"?e?.targetUrl:null,o=e&&typeof e!="string"?e?.suggestedUrl:null;return !t||!o||n!==t||(this.targetUrl.set(o),this.testDestinationClick()),false}createFolder(){return this.testDestination(true),false}testDestinationClick(){return this.testDestination(false),false}testDestination(t){let e=this.targetUrl();if(!e)return;this.testSignal.set("testing");let n=t?"create":this.askToCreate()?"prompt":"error";return new Promise(o=>{this.#e.testDestination(e,this.backupId(),this.connectionStringId(),this.sourcePrefix(),0,this.moduleType(),this.suppressErrorDialogs(),n,this.readOnlyTest())?.subscribe({next:a=>{if(!this.suppressErrorDialogs()&&a.testAgain){let _=a.suggestedUrl;_&&this.targetUrl.set(_),this.testSignal.set("testing"),this.#e.testDestination(_??e,this.backupId(),this.connectionStringId(),this.sourcePrefix(),0,this.moduleType(),this.suppressErrorDialogs(),n,this.readOnlyTest())?.subscribe({next:c=>{this.testSignal.set(c),o(c);}});}else this.testSignal.set(a),o(a);}});})}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=hw({type:i,selectors:[["app-test-url"]],inputs:{targetUrl:[1,"targetUrl"],testSignal:[1,"testSignal"],connectionStringId:[1,"connectionStringId"],backupId:[1,"backupId"],sourcePrefix:[1,"sourcePrefix"],suppressErrorDialogs:[1,"suppressErrorDialogs"],askToCreate:[1,"askToCreate"],readOnlyTest:[1,"readOnlyTest"],testExpectation:[1,"testExpectation"],moduleType:[1,"moduleType"]},outputs:{targetUrl:"targetUrlChange",testSignal:"testSignalChange"},decls:1,vars:1,consts:()=>{let t;t=$localize` Make sure to test the configuration ${"\uFFFD#2\uFFFD"}:START_TAG_BUTTON:Test now${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_BUTTON:`;let e;e=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:spinner${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:${"\uFFFD#3\uFFFD"}:START_TAG_DIV: Testing connection... ${"\uFFFD#4\uFFFD"}:START_TAG_SH_SPINNER:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SH_SPINNER:${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_DIV:`;let n;n=$localize`Success! Test completed, backup found.`;let o;o=$localize`No backup found at the specified destination.`;let a;a=$localize` The remote destination already contains a backup. Please use a different folder for each backup. `;let _;_=$localize` The remote destination is not empty. It is recommended to use an empty folder for the backup. `;let c;c=$localize`Success! Test completed, destination is empty.`;let u;u=$localize`Success! Test completed, destination contains files.`;let T;T=$localize`The remote destination is empty.`;let D;D=$localize`Success! Test completed, backup found.`;let y;y=$localize`Success! Test completed, destination contains files.`;let M;M=$localize`Success! Test completed, destination is empty.`;let G;return G=$localize` The specified folder does not exist. ${"\uFFFD*2:1\uFFFD"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_BUTTON:Create now${"\uFFFD/#1:1\uFFFD"}:CLOSE_TAG_BUTTON:${"\uFFFD/*2:1\uFFFD"}:CLOSE_BLOCK_IF:`,[t,e,n,o,a,_,c,u,T,D,y,M,G,[1,"simple","primary"],["shButton","",1,"primary","small",3,"click"],[1,"testing"],[1,"simple","warn"],[1,"simple","success"],[1,"simple","error"],["shButton","",1,"primary","small"]]},template:function(e,n){e&1&&aT(0,Xr,3,1),e&2&&cT(n.isExpectedValidTargetUrl()?0:-1);},dependencies:[ue,v,N,m$2],styles:["[_nghost-%COMP%]{display:block}.testing[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;gap:8px;justify-content:space-between}"]})};function zr(i,t){if(i&1){let e=vT();Qi$1(0,"app-destination-list",10),Vg("setDestination",function(o){kd(e);let a=iC();return Od(a.setDestination(o))}),$l();}if(i&2){let e=iC();yg("showAsSources",true)("moduleType",e.moduleType());}}function Wr(i,t){if(i&1){let e=vT();Qi$1(0,"app-destination-list-item",11)(1,"button",8),Vg("click",function(){kd(e);let o=iC();return Od(o.removeDestination())}),nC(2,3),$l()(),Qi$1(3,"app-test-url",12),cm("targetUrlChange",function(o){kd(e);let a=iC();return UC(a.targetUrlModel,o)||(a.targetUrlModel=o),Od(o)})("testSignalChange",function(o){kd(e);let a=iC();return UC(a.testSignal,o)||(a.testSignal=o),Od(o)}),$l(),Qi$1(4,"app-single-destination",13),cm("targetUrlChange",function(o){kd(e);let a=iC();return UC(a.targetUrlModel,o)||(a.targetUrlModel=o),Od(o)}),$l();}if(i&2){let e=iC();yg("targetUrl",e.targetUrlModel()),CE(3),am("targetUrl",e.targetUrlModel)("testSignal",e.testSignal),yg("backupId",e.backupId())("sourcePrefix",e.sourcePrefix())("suppressErrorDialogs",e.suppressErrorDialogs())("askToCreate",e.askToCreate())("testExpectation",e.expectedResult())("readOnlyTest",true)("moduleType",e.moduleType()),CE(),am("targetUrl",e.targetUrlModel);}}function Hr(i,t){i&1&&nC(0,2,1);}function jr(i,t){i&1&&nC(0,2,2);}function qr(i,t){i&1&&nC(0,2,3);}function Yr(i,t){i&1&&nC(0,2,4);}var Tt=class i{data=I1();closed=v1();targetUrlModel=Ge(null);moduleType=Ge("Backend");askToCreate=Ge(false);expectedResult=Ge("any");suppressErrorDialogs=Ge(false);backupId=Ge(null);sourcePrefix=Ge(null);dataEffect=za$1(()=>{let t=this.data();t?.targetUrlModel&&this.targetUrlModel.set(t.targetUrlModel),t?.moduleType&&this.moduleType.set(t.moduleType),t?.askToCreate!==null&&t?.askToCreate!==void 0&&this.askToCreate.set(t.askToCreate),t?.expectedResult&&this.expectedResult.set(t.expectedResult),t?.suppressErrorDialogs!==null&&t?.suppressErrorDialogs!==void 0&&this.suppressErrorDialogs.set(t.suppressErrorDialogs),t?.backupId&&this.backupId.set(t.backupId),t?.sourcePrefix&&this.sourcePrefix.set(t.sourcePrefix);});testSignal=Ge(null);setTargetUrl(t,e=false){this.targetUrlModel.set(t);}setDestination(t){let e=G(t??"");if(e){if(e.mapper.default){let n=e.mapper.default("");this.setTargetUrl(n,true);return}this.setTargetUrl(`${t}://`,true);}}submit(){this.closed.emit(this.targetUrlModel());}removeDestination(){this.setTargetUrl(null,true);}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=hw({type:i,selectors:[["app-target-url-dialog"]],inputs:{data:[1,"data"]},outputs:{closed:"closed"},decls:15,vars:6,consts:()=>{let t;t=$localize`Remote source`;let e;e=$localize`Cancel`;let n;n=$localize`${"\uFFFD*11:1\uFFFD"}:START_BLOCK_IF: Use storage destination ${"\uFFFD/*11:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*12:2\uFFFD"}:START_BLOCK_ELSE_IF: Use remote source ${"[\uFFFD/*12:2\uFFFD|\uFFFD/*13:3\uFFFD]"}:CLOSE_BLOCK_ELSE_IF:${"\uFFFD*13:3\uFFFD"}:START_BLOCK_ELSE_IF_1: Use remote destination ${"[\uFFFD/*12:2\uFFFD|\uFFFD/*13:3\uFFFD]"}:CLOSE_BLOCK_ELSE_IF:${"\uFFFD*14:4\uFFFD"}:START_BLOCK_ELSE: Use remote URL ${"\uFFFD/*14:4\uFFFD"}:CLOSE_BLOCK_ELSE:`,n=oC(n);let o;return o=$localize`Change`,[t,e,n,o,[1,"title-30"],["content",""],[3,"showAsSources","moduleType"],["footer","",1,"sticky"],["shButton","","type","button",3,"click"],["shButton","","type","button",1,"raised","primary",3,"click","disabled"],[3,"setDestination","showAsSources","moduleType"],[1,"current-destination",3,"targetUrl"],[3,"targetUrlChange","testSignalChange","targetUrl","testSignal","backupId","sourcePrefix","suppressErrorDialogs","askToCreate","testExpectation","readOnlyTest","moduleType"],[3,"targetUrlChange","targetUrl"]]},template:function(e,n){if(e&1&&(Qi$1(0,"header")(1,"h3",4),nC(2,0),$l()(),Qi$1(3,"section",5),aT(4,zr,1,2,"app-destination-list",6),aT(5,Wr,5,11),$l(),Qi$1(6,"footer",7)(7,"button",8),Vg("click",function(){return n.closed.emit(null)}),nC(8,1),$l(),Qi$1(9,"button",9),Vg("click",function(){return n.submit()}),Lg(10,2),aT(11,Hr,1,0)(12,jr,1,0)(13,qr,1,0)(14,Yr,1,0),Fg(),$l()()),e&2){let o=!!n.targetUrlModel();CE(4),cT(o?-1:4),CE(),cT(o?5:-1),CE(4),Yg("loading",n.testSignal()==="testing"),yg("disabled",!o||n.testSignal()===null||n.testSignal()==="testing"),CE(2),cT(n.moduleType()==="Backend"?11:n.moduleType()==="SourceProvider"?12:n.moduleType()==="RestoreDestinationProvider"?13:14);}},dependencies:[tn,Qt,lt,v,on],styles:["[_nghost-%COMP%]{--dialog-p: 1.5rem;display:flex;flex-direction:column;gap:1rem}header[_ngcontent-%COMP%]{display:flex;padding:1.5rem 1.5rem 0}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}footer[_ngcontent-%COMP%]{z-index:1}"]})};var Qr=["formRef"],Zr=()=>({updateOn:"blur",standalone:true}),gn=()=>({standalone:true});function es(i,t){if(i&1){let e=vT();Qi$1(0,"button",41),Vg("click",function(){kd(e);let o=iC(2);return Od(o.openLocalDiskDialog())}),Lg(1,12),vg(2,"sh-icon"),Fg(),$l();}}function ts(i,t){if(i&1){let e=vT();aT(0,es,3,0,"button",40),Qi$1(1,"button",41),Vg("click",function(){kd(e);let o=iC();return Od(o.openRemoteDestinationDialog())}),Lg(2,11),vg(3,"sh-icon"),Fg(),$l();}if(i&2){let e=iC();cT(e.isLocalDiskSupported()?0:-1);}}function ns(i,t){i&1&&nC(0,7,1);}function is(i,t){i&1&&nC(0,7,2);}function os(i,t){i&1&&(Qi$1(0,"p",34),nC(1,13),$l());}function as(i,t){i&1&&(Qi$1(0,"p",34),nC(1,14),$l());}function rs(i,t){if(i&1){let e=vT();Qi$1(0,"sh-form-field")(1,"textarea",42),cm("ngModelChange",function(o){kd(e);let a=iC();return UC(a.bulkPaths,o)||(a.bulkPaths=o),Od(o)}),Vg("ngModelChange",function(){kd(e);let o=iC();return Od(o.savePathBulkEdit())}),$l(),CD(),$l();}if(i&2){let e=iC();CE(),am("ngModel",e.bulkPaths),yg("ngModelOptions",KC(2,Zr)),_D();}}function ss(i,t){if(i&1){let e=vT();Qi$1(0,"sh-form-field",46)(1,"input",47),cm("ngModelChange",function(o){kd(e);let a=iC(3);return UC(a.editingPath,o)||(a.editingPath=o),Od(o)}),$l(),CD(),$l(),Qi$1(2,"button",24),Vg("click",function(){kd(e);let o=iC(3);return Od(o.updatePath())}),Qi$1(3,"sh-icon"),jC(4,"floppy-disk"),$l()(),Qi$1(5,"button",24),Vg("click",function(){kd(e);let o=iC(3);return Od(o.cancelEditPath())}),Qi$1(6,"sh-icon"),jC(7,"x-bold"),$l()();}if(i&2){let e=iC(3);CE(),am("ngModel",e.editingPath),yg("ngModelOptions",KC(2,gn)),_D();}}function ls(i,t){if(i&1){let e=vT();Qi$1(0,"button",50),Vg("click",function(){kd(e);let o=iC(3).$implicit,a=iC(2);return Od(a.openOffice365Counts(o))}),Qi$1(1,"sh-icon"),jC(2,"info"),$l()();}}function _s(i,t){if(i&1&&(Qi$1(0,"sh-chip"),vg(1,"img",48),jC(2),$l(),aT(3,ls,3,0,"button",49)),i&2){let e=iC(2).$implicit,n=iC(2);CE(),yg("src",n.getBackendIcon(e),Qp),CE(),Ql(" ",n.getRemotePathDisplayName(e)," "),CE(),cT(e.includes("|office365://")?3:-1);}}function ds(i,t){if(i&1&&(Qi$1(0,"sh-form-field",46),vg(1,"input",51),CD(),$l()),i&2){let e=iC(2).$implicit;mg("readonly",true),CE(),yg("ngModel",e)("ngModelOptions",KC(3,gn)),_D();}}function cs(i,t){if(i&1){let e=vT();aT(0,_s,4,3)(1,ds,2,4,"sh-form-field",46),Qi$1(2,"button",24),Vg("click",function(){kd(e);let o=iC().$implicit,a=iC(2);return Od(a.editPath(o))}),Qi$1(3,"sh-icon"),jC(4,"pen"),$l()(),Qi$1(5,"button",24),Vg("click",function(){kd(e);let o=iC().$implicit,a=iC(2);return Od(a.removePath(o))}),Qi$1(6,"sh-icon"),jC(7,"trash-simple"),$l()();}if(i&2){let e=iC().$implicit;cT(e.startsWith("@")?0:1);}}function us(i,t){if(i&1&&(Qi$1(0,"div",43),aT(1,ss,8,3)(2,cs,8,1),$l()),i&2){let e=t.$implicit,n=iC(2);CE(),cT(n.oldPath()===e?1:2);}}function ps(i,t){if(i&1){let e=vT();dT(0,us,3,1,"div",43,lT),Qi$1(2,"div",39)(3,"sh-form-field"),vg(4,"input",44),CD(),$l(),Qi$1(5,"button",45),Vg("click",function(){kd(e);let o=iC();return Od(o.addNewPath())}),Qi$1(6,"sh-icon"),jC(7,"plus"),$l()()();}if(i&2){let e=iC();fT(e.nonFilterPaths()),CE(4),yg("formControl",e.newPathCtrl),_D();}}function ms(i,t){if(i&1){let e=vT();Qi$1(0,"div",39)(1,"app-size",52),Vg("ngModelChange",function(o){kd(e);let a=iC();return Od(a.updateFilesLargerThan(o))}),$l(),CD(),$l();}if(i&2){let e=iC();CE(),yg("ngModel",e.filesLargerThan())("ngModelOptions",KC(2,gn)),_D();}}var dt=new jn,_i=(i={path:"",filters:[],excludes:{filesLargerThan:null}})=>dt.group({path:dt.control(i.path),excludes:dt.group({filesLargerThan:dt.group({size:dt.control(null),unit:dt.control(null)})})}),mn=class i{#e=T(ke);#t=T(be);#n=T(ee);#i=T(W);#o=T(m$1);#r=T(d$1);formRef=D1.required("formRef");sourceDataForm=this.#e.sourceDataForm;sourceDataFormSignal=this.#e.sourceDataFormSignal;newPathCtrl=new L("");filesLargerThan=Nt(()=>{let t=this.sourceDataFormSignal()?.excludes?.filesLargerThan??{};return t.size!==null&&t.unit!==null?`${t.size}${t.unit}`:null});osType=this.#e.osType;pathSignal=L$1(this.sourceDataForm.controls.path.valueChanges);pathArray=Nt(()=>this.pathSignal()?.split("\0").filter(t=>t.startsWith("-")||t.startsWith("+")||t==="___none___")??[]);nonFilterPaths=Nt(()=>this.pathSignal()?.split("\0").filter(t=>!t.startsWith("-")&&!t.startsWith("+")&&t!==""));oldPath=Ge(null);editingPath=Ge(null);addingNewPath=Ge(false);bulkPathEditMode=Ge(false);bulkPaths=Ge("");mobileMenuOpen=Ge(false);backupId=this.#e.backupId();isLocalDiskSupported=Nt(()=>this.#o.systemInfo()?.SourceProviderModules?.find(t=>t.Key=="diskimage"));filters=Ge([]);#a=za$1(()=>{let e=this.pathSignal()?.split("\0").filter(n=>n!=="___none___"&&(n.startsWith("-")||n.startsWith("+")))??[];this.filters.set(e);});openRemoteDestinationDialog(){this.#t.open(Tt,{maxWidth:"700px",maxHeight:"80vh",width:"100%",closeOnOutsideClick:false,data:{targetUrlModel:null,moduleType:"SourceProvider",askToCreate:false,expectedResult:"destinationNotEmpty",suppressErrorDialogs:true,backupId:null,sourcePrefix:null}}).component.closed.subscribe(e=>{if(!e)return;let n=Math.random().toString(36).substring(2,10),o=e.split("://")[0],_=`@${this.#o.systemInfo()?.DirectorySeparator==="\\"?"X:\\":"/"}dupl-${o}-${n}|${e}`;this.addPath(_);});}openLocalDiskDialog(){this.#t.open(Ct,{maxWidth:"700px",maxHeight:"80vh",width:"100%",closeOnOutsideClick:false,data:{initialPath:null}}).closed.subscribe(e=>{if(!e)return;let n=Math.random().toString(36).substring(2,10),a=`@${this.#o.systemInfo()?.DirectorySeparator==="\\"?"X:\\":"/"}dupl-disk-${n}|diskimage://${e}`;this.addPath(a);});}togglePathBulkEdit(){if(this.bulkPathEditMode())this.bulkPathEditMode.set(false);else {let t=this.nonFilterPaths()?.join(`
12
12
  `)??"";this.bulkPaths.set(t),this.bulkPathEditMode.set(true);}}savePathBulkEdit(){let t=this.bulkPaths().split(`
13
13
  `).filter(a=>a.trim()!=="")??[],e=this.pathArray(),n=[...t,...e],o=[...new Set(n)].join("\0");this.sourceDataForm.controls.path.setValue(o);}editPath(t){if(t&&t.startsWith("@")){let e=t.split("|");if(e.length!==2)return;e[1].startsWith("diskimage://")?this.editLocalDiskSource(t,e[0],e[1].substring(12)):this.editTargetUrlPath(t,e[0],e[1]);return}this.oldPath.set(t),this.editingPath.set(t);}editLocalDiskSource(t,e,n){this.#t.open(Ct,{maxWidth:"700px",maxHeight:"80vh",width:"100%",closeOnOutsideClick:false,data:{initialPath:n}}).closed.subscribe(a=>{if(!a)return;let _=`${e}|diskimage://${a}`,c=this.sourceDataForm.controls.path.value;this.sourceDataForm.controls.path.setValue(c?.replace(t,_)??"");});}editTargetUrlPath(t,e,n){this.#t.open(Tt,{maxWidth:"700px",maxHeight:"80vh",width:"100%",closeOnOutsideClick:false,data:{targetUrlModel:n,moduleType:"SourceProvider",askToCreate:false,expectedResult:"destinationNotEmpty",suppressErrorDialogs:true,backupId:this.#e.backupId(),sourcePrefix:e}}).closed.subscribe(a=>{if(!a)return;let _=`${e}|${a}`,c=this.sourceDataForm.controls.path.value;this.sourceDataForm.controls.path.setValue(c?.replace(t,_)??"");});}updateFilesLargerThan(t){let{size:e,unit:n}=pn$1(t);this.sourceDataForm.controls.excludes.controls.filesLargerThan.setValue({size:e,unit:n});}updatePath(){let t=this.oldPath(),e=this.editingPath();if(!t||!e||e===t){this.oldPath.set(null),this.editingPath.set(null);return}let n=this.sourceDataForm.controls.path.value;this.sourceDataForm.controls.path.setValue(n?.replace(t,e)??""),this.oldPath.set(null),this.editingPath.set(null);}cancelEditPath(){this.oldPath.set(null),this.editingPath.set(null);}removePath(t){let n=(this.sourceDataForm.controls.path.value??"").split("\0"),o=n.indexOf(t);if(o===-1)return;n.splice(o,1);let a=n.filter(_=>_&&_!=="").join("\0");this.sourceDataForm.controls.path.setValue(a);}addPath(t){let n=[this.sourceDataForm.controls.path.value,t].filter(o=>o&&o!=="").join("\0");this.sourceDataForm.controls.path.setValue(n);}updateFilters(t){let n=[...this.nonFilterPaths()??[],...t].filter(o=>o&&o!=="").join("\0");this.sourceDataForm.controls.path.setValue(n);}getPath(){return this.sourceDataForm.value.path??null}getBackendIcon(t){if(!t)return "";let e=t.split("|")[1];return Ee(e)}getRemotePathDisplayName(t){if(!t)return "";let e=t.split("|")[1];return Le(e)}openOffice365Counts(t){if(!t||!t.startsWith("@"))return;let e=t.split("|");if(e.length!==2||!e[1].startsWith("office365://"))return;let n=e[0],o=e[1];this.#t.open(qt,{maxWidth:"500px",width:"100%",closeOnOutsideClick:true,data:{url:o,sourcePrefix:n,backupId:this.backupId}});}toggleFilesLargerThan(t){t?this.sourceDataForm.controls.excludes.controls.filesLargerThan.setValue({size:50,unit:"MB"}):this.sourceDataForm.controls.excludes.controls.filesLargerThan.setValue({size:null,unit:null});}addNewPath(){let t=this.sourceDataForm.controls.path.value,e=this.newPathCtrl.value,n=t?.split("\0")||[];e&&!n.includes(e)&&n.push(e);let o=n.filter(a=>a&&a!=="").join("\0");this.sourceDataForm.controls.path.setValue(o),this.newPathCtrl.setValue("");}goBack(){this.#n.navigate(["destination"],{relativeTo:this.#i.parent});}next(){this.#e.shouldAutoSave()&&this.#e.submit(true),this.#n.navigate(["schedule"],{relativeTo:this.#i.parent});}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=hw({type:i,selectors:[["app-source-data"]],viewQuery:function(e,n){e&1&&Wg(n.formRef,Qr,5),e&2&&fC();},decls:57,vars:18,consts:()=>{let t;t=$localize`Path`;let e;e=$localize`Source Data`;let n;n=$localize`Folder path`;let o;o=$localize`${"\uFFFD#16\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#16\uFFFD"}:CLOSE_TAG_SH_ICON: Go back `;let a;a=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SH_ICON: Continue `;let _;_=$localize`Options`;let c;c=$localize`Paths`;let u;u=$localize`${"\uFFFD#40\uFFFD"}:START_TAG_SH_ICON:link${"\uFFFD/#40\uFFFD"}:CLOSE_TAG_SH_ICON:${"\uFFFD*41:1\uFFFD"}:START_BLOCK_IF: Edit contents as list ${"\uFFFD/*41:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*42:2\uFFFD"}:START_BLOCK_ELSE: Edit contents as text ${"\uFFFD/*42:2\uFFFD"}:CLOSE_BLOCK_ELSE:`;let T;T=$localize`Exclude`;let D;D=$localize`Choose if there’s any files you want to exclude.`;let y;y=$localize` Files larger than `;let M;M=$localize`${"\uFFFD#3\uFFFD"}:START_TAG_SH_ICON:cloud-arrow-down${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_SH_ICON: Add remote path `;let G;G=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:hard-drive${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Add local disk `;let I;I=$localize`Manually add a path.`;let J;J=$localize`Edit paths as text, one per line.`;let X;X=$localize`Add a direct path`;let k;k=$localize`Edit path`;let Q;return Q=$localize`Show item counts`,[["formRef",""],e,n,o,a,_,c,u,T,D,y,M,G,I,J,[3,"submit","formGroup"],[1,"left"],[1,"header-row"],[1,"title-30"],["shButton","","type","button",1,"small","ghost","mobile-menu-toggle",3,"click"],[1,"fill",3,"multiSelect","startingPath","showFiles","showUnrootedSources","backupId"],["for","path"],["type","text","id","path","tabindex","4","placeholder",t,"formControlName","path"],[1,"form-actions"],["shButton","","type","button",1,"small",3,"click"],["shButton","","type","submit",1,"raised","primary","small"],[1,"right"],[1,"mobile-header"],["shButton","","type","button",1,"small","ghost",3,"click"],[3,"disableToggle"],["title",""],[1,"spacer"],["shButton","","type","button",1,"small"],["menu",""],["description",""],[1,"paths"],[3,"filtersChange","filters","osType"],["formGroupName","excludes",3,"disableToggle"],[1,"raised","primary",3,"checkedChange","checked"],[1,"row-inputs"],["shButton","","type","button",1,"small","rowbutton"],["shButton","","type","button",1,"small","rowbutton",3,"click"],["wrap","off","rows","10",1,"bulk-textarea",3,"ngModelChange","ngModel","ngModelOptions"],[1,"path"],["type","text","placeholder",X,3,"formControl"],["shButton","","type","button",1,"raised","primary",3,"click"],[1,"small"],["type","text","placeholder",k,3,"ngModelChange","ngModel","ngModelOptions"],["alt","Provider icon",1,"provider-icon",3,"src"],["shButton","","type","button","title",Q,1,"small"],["shButton","","type","button","title",Q,1,"small",3,"click"],["type","text",3,"ngModel","ngModelOptions"],[3,"ngModelChange","ngModel","ngModelOptions"]]},template:function(e,n){if(e&1){let o=vT();Qi$1(0,"form",15,0),Vg("submit",function(){return n.next()}),Qi$1(2,"div",16)(3,"div",17)(4,"h3",18),nC(5,1),$l(),Qi$1(6,"button",19),Vg("click",function(){return n.mobileMenuOpen.set(true)}),Qi$1(7,"sh-icon"),jC(8,"sliders"),$l()()(),Qi$1(9,"app-file-tree",20)(10,"label",21),nC(11,2),$l(),vg(12,"input",22),CD(),$l(),Qi$1(13,"div",23)(14,"button",24),Vg("click",function(){return n.goBack()}),Lg(15,3),vg(16,"sh-icon"),Fg(),$l(),Qi$1(17,"button",25),Lg(18,4),vg(19,"sh-icon"),Fg(),$l()()(),Qi$1(20,"div",26)(21,"div",27)(22,"span",18),nC(23,5),$l(),Qi$1(24,"button",28),Vg("click",function(){return n.mobileMenuOpen.set(false)}),Qi$1(25,"sh-icon"),jC(26,"x-bold"),$l()()(),Qi$1(27,"app-toggle-card",29),ql(28,30),Qi$1(29,"span"),nC(30,6),$l(),vg(31,"div",31),aT(32,ts,4,1),Qi$1(33,"sh-menu")(34,"button",32)(35,"sh-icon"),jC(36,"dots-three-vertical"),$l()(),ql(37,33),Qi$1(38,"button",24),Vg("click",function(){return n.togglePathBulkEdit()}),Lg(39,7),vg(40,"sh-icon"),aT(41,ns,1,0)(42,is,1,0),Fg(),$l(),Gl(),$l(),Gl(),aT(43,os,2,0,"p",34)(44,as,2,0,"p",34),Qi$1(45,"div",35),aT(46,rs,2,3,"sh-form-field")(47,ps,8,1),$l()(),Qi$1(48,"app-filters",36),cm("filtersChange",function(_){return kd(o),UC(n.filters,_)||(n.filters=_),Od(_)}),Vg("filtersChange",function(_){return n.updateFilters(_)}),$l(),Qi$1(49,"app-toggle-card",37),ql(50,30),nC(51,8),Gl(),Qi$1(52,"p",34),nC(53,9),$l(),Qi$1(54,"sh-toggle",38),Vg("checkedChange",function(_){return n.toggleFilesLargerThan(_)}),nC(55,10),$l(),aT(56,ms,2,3,"div",39),$l()()();}e&2&&(yg("formGroup",n.sourceDataForm),CE(9),yg("multiSelect",true)("startingPath",n.getPath())("showFiles",true)("showUnrootedSources",true)("backupId",n.backupId),CE(3),_D(),CE(8),Yg("open",n.mobileMenuOpen()),CE(7),yg("disableToggle",true),CE(5),cT(n.bulkPathEditMode()?-1:32),CE(9),cT(n.bulkPathEditMode()?41:42),CE(2),cT(n.bulkPathEditMode()?44:43),CE(3),cT(n.bulkPathEditMode()?46:47),CE(2),am("filters",n.filters),yg("osType",n.osType()??""),CE(),yg("disableToggle",true),CE(5),yg("checked",n.filesLargerThan()!==null),CE(2),cT(n.filesLargerThan()?56:-1));},dependencies:[Bn,Tn$1,Ze$1,Rn,Pn,Jt,Gn,ln,gn$1,hn,ft,Fe,N,v,J,ve$1,jt,Ne,Ze,Ct$1,D],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;width:100%;flex:1 0;overflow:hidden}form[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;flex:1 0;overflow:hidden}@media only screen and (max-width:768px){form[_ngcontent-%COMP%]{display:block;position:relative}}.right[_ngcontent-%COMP%], .left[_ngcontent-%COMP%]{flex:1 0;display:flex;flex-direction:column;gap:1.5rem}.header-row[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center}.mobile-header[_ngcontent-%COMP%]{display:none}@media only screen and (max-width:768px){.mobile-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}}.mobile-menu-toggle[_ngcontent-%COMP%]{display:none}@media only screen and (max-width:768px){.mobile-menu-toggle[_ngcontent-%COMP%]{display:inline-flex}}.left[_ngcontent-%COMP%]{padding:2.5rem;overflow:hidden;border-right:1px solid var(--base-4)}@media only screen and (max-width:768px){.left[_ngcontent-%COMP%]{border-right:none;padding:1.5rem 1.5rem 4.5rem;height:100%;width:100%}}.right[_ngcontent-%COMP%]{padding:2.5rem 1.5rem;overflow:auto}@media only screen and (max-width:768px){.right[_ngcontent-%COMP%]{position:absolute;inset:0;z-index:10;background:var(--base-1);padding:1.5rem;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.right.open[_ngcontent-%COMP%]{transform:translate(0)}}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}sh-divider[_ngcontent-%COMP%]{margin:.75rem 0}.row-inputs[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr min-content;gap:.25rem}.path[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr min-content min-content min-content;gap:.25rem;align-items:center}.path[_ngcontent-%COMP%] sh-chip[_ngcontent-%COMP%]{width:100%}.path[_ngcontent-%COMP%] .provider-icon[_ngcontent-%COMP%]{width:1rem;height:1rem;margin-right:.5rem}.bulk-textarea[_ngcontent-%COMP%]{width:100%;font-family:monospace;min-height:12.5rem}.paths[_ngcontent-%COMP%]{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}"]})};var di="1W:1D,4W:1W,12M:1M",Cn=false,ke=class i{#e=T(ee);#t=T(m$1);#n=T(be);#i=T(C$1);#o=T(O);#r=T(zt);#a=T(st);generalForm=ci();sourceDataForm=_i();scheduleFields=pn();scheduleType=Ge("daily");settings=Ge([]);optionsFields={backupRetention:Ge("all"),backupRetentionTime:Ge(""),backupRetentionVersions:Ge(0),backupRetentionCustom:Ge("")};targetUrls=Ge([]);targetUrlModel=Nt(()=>this.targetUrls()[0]?.url??null);connectionStringId=Nt(()=>this.targetUrls()[0]?.connectionStringId??null);targetUrlTestSignal=Ge(null);backupMetadata=Ge(null);isDraft=Ge(false);backupId=Ge(null);backupName=Nt(()=>this.generalFormSignal()?.name??"");isSubmitting=Ge(false);finishedLoading=Ge(false);backupDefaults=Ge(null);applicationOptions=Ge(null);isNew=Nt(()=>this.backupId()==="new");shouldAutoSave=Nt(()=>!this.isDraft()&&!this.isNew());osType=Nt(()=>this.#t.systemInfo()?.OSType);isSyncMode=Nt(()=>this.generalForm.controls.operationType.value==="Sync");isConnectionStringSaved=Nt(()=>{let t=this.targetUrlModel();return t?this.#a.destinations().some(e=>e.BaseUrl===t):false});selectedOptions=Ge([]);sourceDataFormSignal=L$1(this.sourceDataForm.valueChanges);generalFormSignal=L$1(this.generalForm.valueChanges);encryptionFieldSignal=L$1(this.generalForm.controls.encryption.valueChanges);operationTypeFieldSignal=L$1(this.generalForm.controls.operationType.valueChanges);advancedOptions=Nt(()=>this.#t.systemInfo()?.Options?.map(this.#u)??[]);#s=Ge(null);#l=null;testSignal=this.#s.asReadonly();#_=za$1(()=>{let t=this.targetUrlModel(),e=this.#s(),n=this.#l;this.#l=t,!(e==="testing"||n===null||n===t)&&this.#s.set(null);});#g=za$1(()=>{this.targetUrlModel();let e=this.connectionStringId();if(e){let n=this.#a.destinations();if(n.length===0)return;let o=n.find(a=>a.ID===e);!o||o.BaseUrl;}});setTestState(t){this.#s.set(t);}#u(t){return {name:t.Name,type:t.Type,shortDescription:t.ShortDescription??void 0,longDescription:t.LongDescription??void 0,options:t.ValidValues}}encryptionOptions=Nt(()=>{let t=this.#t.systemInfo()?.EncryptionModules??[];return [St,...t]});nonSelectedOptions=Nt(()=>this.advancedOptions().sort((t,e)=>t?.name&&e?.name?t?.name.localeCompare(e?.name):0).filter(t=>this.selectedOptions()?.findIndex(e=>e.name===t.name)===-1));submit(t=false){this.isSubmitting.set(true),this.#p().pipe(Gu(e=>{let n=this.#d(),o=this.backupId(),a=n;if(a.Backup){e.length>0&&e[0]!==null?n.Backup.ConnectionStringID=e[0]:e.length>0&&e[0]===null&&(n.Backup.ConnectionStringID=void 0);let c=this.targetUrls().slice(1).map((u,T)=>{let D=e[T+1];return {TargetUrl:u.url,ConnectionStringID:D??void 0,UrlKey:u.urlKey}});c.length>0&&(a.Backup.AdditionalTargetURLs=c);}return this.isDraft()&&n.Backup&&(n.Backup.Metadata=this.backupMetadata()),o==="new"||!o||this.isDraft()?this.#i.postApiV1Backups({requestBody:n}):this.#i.putApiV1BackupById({id:o,requestBody:n})}),qu(()=>this.isSubmitting.set(false))).subscribe({next:()=>{t||this.exit(false);},error:()=>{}});}validateBeforeSubmit(){this.generalForm.markAllAsTouched(),this.sourceDataForm.markAllAsTouched();let t=this.#d(),e=(t.Backup.Name??"").trim()!=="",a=(!(this.generalForm.controls.operationType.value==="Sync")&&this.generalForm.controls.encryption.value!==""&&this.generalForm.controls.encryption.value!=="-")===false||this.generalForm.controls.password.value===this.generalForm.controls.repeatPassword.value&&this.generalForm.controls.password.value!=="";if(!e||!a)return this.#n.open(h$1,{data:{title:$localize`Validation Error`,message:this.isNew()?$localize`Please fix the errors indicated before creating the backup.`:$localize`Please fix the errors indicated before saving.`,confirmText:$localize`OK`}}),"general";let _=this.targetUrls();if(!(_.length>0&&_.some(T=>T.url.trim()!=="")))return this.#n.open(h$1,{data:{title:$localize`Destination required`,message:this.isNew()?$localize`You must setup a destination before creating the backup.`:$localize`Please setup a destination before saving.`,confirmText:$localize`OK`}}),"destination";var u=(t.Backup.Sources??[]).filter(T=>T.trim()!=="").length>0;return !u||!this.sourceDataForm.valid?(this.#n.open(h$1,{data:{title:$localize`Source data required`,message:this.isNew()?$localize`You must setup source data before creating the backup.`:$localize`Please add at least one source path before saving.`,confirmText:$localize`OK`}}),"source"):""}exit(t){if(!t){this.#c(),this.#e.navigate(["/"]);return}this.#n.open(h$1,{data:{title:$localize`Confirm exit?`,message:$localize`Are you sure you want to exit?`,confirmText:$localize`Yes`,cancelText:$localize`Cancel`},closed:e=>{e&&(this.#c(),this.#e.navigate(["/"]));}});}mapSourceDataToForm(t){let e=t.Sources??"",n=t.Filters?.map(_=>`${_.Include?"+":"-"}${_.Expression}`)??[],o=t.Settings?.find(_=>_.Name==="--skip-files-larger-than")?.Value?.toUpperCase()??null,a={path:[...e,...n].join("\0"),excludes:{filesLargerThan:o===null?void 0:pn$1(o)}};this.sourceDataForm.patchValue(a);}mapDestinationToForm(t){let e=t,n=t.TargetURL??"",o=(t.ConnectionStringID===-1?null:t.ConnectionStringID)??null,a=n?[{url:n,connectionStringId:o,urlKey:null,save:!!o}]:[],_=e.AdditionalTargetURLs?.map(c=>({url:c.TargetUrl,urlKey:c.UrlKey,connectionStringId:c.ConnectionStringID??null,save:!!c.ConnectionStringID}))??[];this.targetUrls.set([...a,..._]);}mapGeneralToForm(t){let e=t.Name??"",n=t.Description??"",o=t.Settings?.find(T=>T.Name==="encryption-module"),a=t.Settings?.find(T=>T.Name==="passphrase")?.Value??"",_=o?.Value&&o.Value.length?o.Value:"",c=t.OperationType??"Backup",u={name:t.Name??"",description:t.Description??"",operationType:c};e&&e!==""&&(u.name=e),n&&n!==""&&(u.description=n),_&&_!==""&&(u.encryption=_),a&&a!==""&&(u.password=a,u.repeatPassword=a),this.generalForm.patchValue(u);}mapScheduleToForm(t){if(!t){this.scheduleType.set("disabled"),this.scheduleFields.autoRun.set(false);return}let e=this.#r.fromString(t.Repeat)??null,n=this.#m(t.Time);this.scheduleFields.autoRun.set(true),n.date&&this.scheduleFields.nextTime.date.set(n.date),this.scheduleFields.nextTime.time.set(n.time),this.scheduleFields.runAgain.repeatUnit.set(e?.unit??"D"),this.scheduleFields.runAgain.repeatValue.set(e?.value??1),this.scheduleFields.runAgain.allowedDays.mon.set(t.AllowedDays?.includes("mon")??false),this.scheduleFields.runAgain.allowedDays.tue.set(t.AllowedDays?.includes("tue")??false),this.scheduleFields.runAgain.allowedDays.wed.set(t.AllowedDays?.includes("wed")??false),this.scheduleFields.runAgain.allowedDays.thu.set(t.AllowedDays?.includes("thu")??false),this.scheduleFields.runAgain.allowedDays.fri.set(t.AllowedDays?.includes("fri")??false),this.scheduleFields.runAgain.allowedDays.sat.set(t.AllowedDays?.includes("sat")??false),this.scheduleFields.runAgain.allowedDays.sun.set(t.AllowedDays?.includes("sun")??false);let o=gt(this.scheduleFields),a=Wt.find(_=>JSON.stringify(_.data)===JSON.stringify(o));a?this.scheduleType.set(a.value):this.scheduleType.set("custom");}mapOptionsToForms(t,e=false){let n=["--no-encryption","--skip-files-larger-than","passphrase","keep-time","keep-versions","retention-policy"],o=(t.Settings??[]).map(u=>u);if(e){let u=this.#o.serverSettings()??{};Object.keys(u).filter(T=>T.startsWith("--")).forEach(T=>{o.find(y=>y.Name===T)||o.push({Name:T,Value:u[T],Filter:null});});}let a=o.filter(u=>!n.includes(u.Name)),_=o.filter(u=>n.includes(u.Name));this.settings.set(a??[]),a?.forEach(u=>{if(u.Name==="encryption-module"&&this.isNew())return this.generalForm.controls.encryption.setValue(u.Value??"")});var c="all";_?.forEach(u=>{if(u.Name==="keep-time"&&(u.Value??"")!=="")return c="time",this.optionsFields.backupRetentionTime.set(u.Value??"");if(u.Name==="keep-versions"&&(u.Value??"")!=="")return c="versions",this.optionsFields.backupRetentionVersions.set(u.Value?parseInt(u.Value):null);if(u.Name==="retention-policy"&&(u.Value??"")!=="")if(u.Value===di)c="smart";else return c="custom",this.optionsFields.backupRetentionCustom.set(u.Value??"")}),this.optionsFields.backupRetention.set(c);}storeMetadata(t,e){this.backupMetadata.set(e?t.Metadata??null:null);}getScheduleFormValue(){let t=gt(this.scheduleFields);return si(t)}#d(){let t=this.generalForm.value,e=this.getScheduleFormValue(),n=this.sourceDataForm.value,a=this.targetUrls()[0],_=a?.url??null,c=n.path?.split("\0")??[],u=this.mapFormsToSettings(),T=n.excludes?.filesLargerThan;return T&&T.size!==null&&T.unit!==null&&u.push({Name:"--skip-files-larger-than",Value:`${T.size}${T.unit}`}),{Backup:{Name:t.name,Description:t.description,TargetURL:_??null,ConnectionStringID:a?.connectionStringId??null,OperationType:t.operationType??"Backup",Sources:c.filter(D=>!(D.startsWith("-")||D.startsWith("+"))),Settings:u,Filters:c.filter(D=>D.startsWith("-")||D.startsWith("+")).map((D,y)=>({Order:y,Include:D.startsWith("+"),Expression:D.slice(1)}))},Schedule:e}}mapFormsToSettings(t=[]){let e=this.generalForm.value,n=["dblock-size","compression-module"],o=["--no-encryption","--exclude-files-attributes","--skip-files-larger-than","encryption-module","passphrase","keep-time","keep-versions","retention-policy",...n,...n.map(y=>`--${y}`)],a=[{Name:"--no-encryption",Value:"True"}];!(e.operationType==="Sync")&&e.encryption!==""&&e.encryption!==St.Key&&(a=[{Name:"encryption-module",Value:e.encryption??null},{Name:"passphrase",Value:e.password??null}]);let c=n.map(y=>{let M=this.settings().find(G=>G.Name===y||G.Name==="--"+y);return M?{Name:y,Value:M.Value}:null}).filter(y=>y!==null),u=[];if(!this.isSyncMode())switch(this.optionsFields.backupRetention()){case "time":u.push({Name:"keep-time",Value:this.optionsFields.backupRetentionTime()});break;case "versions":u.push({Name:"keep-versions",Value:this.optionsFields.backupRetentionVersions()?.toString()??""});break;case "custom":u.push({Name:"retention-policy",Value:this.optionsFields.backupRetentionCustom()});break;case "smart":u.push({Name:"retention-policy",Value:di});break}let T=[...t,...o],D=this.settings().filter(y=>!T.includes(y.Name)).map(y=>{let M=y.Value;return typeof y.Value=="number"&&(M=y.Value.toString()),typeof y.Value=="boolean"&&(M=y.Value?"True":"False"),{Name:y.Name?.startsWith("--")?y.Name:`--${y.Name}`,Value:M}});return [...a,...c,...u,...D]}#p(){let t=this.targetUrls();if(t.length===0)return oy([]);let e=t.map(n=>{if(n.connectionStringId)return oy(n.connectionStringId);if(!n.save)return oy(null);let o=n.url,_=V(o)?.displayName??"Destination";this.#a.destinations().filter(y=>y.Name?.startsWith(_)).length;let D={Name:`${_} ${new Date().toISOString()}`,Description:null,BaseUrl:o};return this.#a.save("new",D).pipe(pt(y=>y.Data?.ID??null))});return Dy(e).pipe(nd(n=>{let o=this.targetUrls();n.forEach((a,_)=>{if(a&&_<o.length&&(this.#a.reload(),o[_].connectionStringId!==a)){let c=o[_].urlKey;this.updateTargetUrl(_,o[_].url,a,c);}});}))}#m(t){if(!t||t?.indexOf("T")===-1)return {time:t??"13:00"};let e=new Date(t);return {time:`${(""+e.getHours()).padStart(2,"0")}:${(""+e.getMinutes()).padStart(2,"0")}`,date:`${(""+e.getFullYear()).padStart(4,"0")}-${(""+(e.getMonth()+1)).padStart(2,"0")}-${(""+e.getDate()).padStart(2,"0")}`}}setTargetUrl(t,e=false,n=null,o=null){if(e&&(this.#l=null),t===null){this.targetUrls.set([]);return}this.targetUrls.update(a=>{let _=[...a];return _.length===0?_.push({url:t,urlKey:o,connectionStringId:n,save:n?true:Cn}):_[0]={url:t,urlKey:o,connectionStringId:n,save:n?true:Cn},_});}addTargetUrl(t,e,n){this.targetUrls.update(o=>[...o,{url:t,connectionStringId:e,urlKey:n,save:e?true:Cn}]);}updateTargetUrl(t,e,n,o){this.targetUrls.update(a=>{if(t<0||t>=a.length)return a;let _=[...a],c=_[t].save;return _[t]={url:e,connectionStringId:n,urlKey:o,save:n?true:c},_});}toggleSaveConnectionString(t){this.targetUrls.update(e=>{if(t<0||t>=e.length)return e;let n=[...e];return n[t]=m$3(l({},n[t]),{save:!n[t].save}),n});}removeTargetUrl(t){this.targetUrls.update(e=>e.filter((n,o)=>o!==t));}#c(){this.generalForm.reset({operationType:"Backup"}),this.sourceDataForm.reset(),this.scheduleFields=pn(),this.optionsFields.backupRetention.set("all"),this.settings.set([]),this.targetUrls.set([]);}static \u0275fac=function(e){return new(e||i)};static \u0275prov=ee$1({token:i,factory:i.\u0275fac,providedIn:"root"})};var gs=["formRef"];function Cs(i,t){i&1&&(Qi$1(0,"sh-alert",31),Lg(1,5),vg(2,"sh-icon",33),Fg(),$l());}function Ts(i,t){i&1&&(Qi$1(0,"sh-alert",32),Lg(1,6),vg(2,"sh-icon",33),Fg(),$l());}function Ss(i,t){if(i&1&&aT(0,Cs,3,0,"sh-alert",31)(1,Ts,3,0,"sh-alert",32),i&2){let e=iC();cT(e.generalFormSignal()?.operationType==="Sync"?0:e.generalFormSignal()?.encryption!==""?1:-1);}}function fs(i,t){if(i&1){let e=vT();Qi$1(0,"div",26)(1,"label"),nC(2,7),$l(),Qi$1(3,"sh-button-group",34),cm("valueChange",function(o){kd(e);let a=iC();return UC(a.operationTypeFieldSignal,o)||(a.operationTypeFieldSignal=o),Od(o)}),Qi$1(4,"button",35),Lg(5,8),vg(6,"sh-icon",36),Fg(),$l(),Qi$1(7,"button",37),Lg(8,9),vg(9,"sh-icon",36),Fg(),$l()()();}if(i&2){let e=iC();CE(3),am("value",e.operationTypeFieldSignal),CE(3),yg("shTooltip","Store backups with version history, deduplication, compression and encryption"),CE(3),yg("shTooltip","Copy files from the source to the destination without compression or encryption");}}function hs(i,t){i&1&&(Qi$1(0,"sh-alert",38),Lg(1,10),vg(2,"sh-icon",33),Fg(),$l());}function Es(i,t){if(i&1&&aT(0,hs,3,0,"sh-alert",38),i&2){let e=iC();cT(e.isNew()?0:-1);}}function ys(i,t){if(i&1&&jC(0),i&2){let e=t.$implicit;Ql(" ",e.DisplayName," ");}}function Ns(i,t){if(i&1&&vg(0,"sh-progress-bar",52),i&2){let e=iC(4);Yg("error",e.calculatePasswordStrength()===1)("warn",e.calculatePasswordStrength()===2)("primary",e.calculatePasswordStrength()===4)("success",e.calculatePasswordStrength()===5),yg("value",e.calculatePasswordStrength()*(100/5));}}function Fs(i,t){i&1&&(Qi$1(0,"span",47),nC(1,15),$l());}function Ds(i,t){i&1&&(Lg(0,13,1),vg(1,"sh-icon"),Fg());}function As(i,t){i&1&&(Lg(0,13,2),vg(1,"sh-icon"),Fg());}function Is(i,t){i&1&&(Lg(0,16,1),vg(1,"sh-icon",54),Fg());}function Os(i,t){i&1&&(Lg(0,16,2),vg(1,"sh-icon"),Fg());}function Ps(i,t){if(i&1){let e=vT();Qi$1(0,"button",53),Vg("click",function(){kd(e);let o=iC(4);return Od(o.copyPassword())}),Lg(1,16),aT(2,Is,2,0)(3,Os,2,0),Fg(),$l();}if(i&2){let e=iC(4);CE(2),cT(e.copiedPassword()?2:3);}}function Ms(i,t){i&1&&(Qi$1(0,"sh-alert",51),nC(1,17),$l());}function xs(i,t){if(i&1){let e=vT();Qi$1(0,"div",42)(1,"sh-form-field")(2,"label",43),Lg(3,12),vg(4,"sup"),Fg(),$l(),vg(5,"input",44),CD(),$l(),aT(6,Ns,1,9,"sh-progress-bar",45),Qi$1(7,"sh-form-field"),vg(8,"input",46),CD(),aT(9,Fs,2,0,"span",47),$l(),Qi$1(10,"div",48)(11,"button",49),Vg("click",function(){kd(e);let o=iC(3);return Od(o.showPassword.set(!o.showPassword()))}),Lg(12,13),aT(13,Ds,2,0)(14,As,2,0),Fg(),$l(),Qi$1(15,"button",49),Vg("click",function(){kd(e);let o=iC(3);return Od(o.generatePassword())}),Lg(16,14),vg(17,"sh-icon"),Fg(),$l(),aT(18,Ps,4,1,"button",50),$l(),aT(19,Ms,2,0,"sh-alert",51),$l();}if(i&2){let e=iC(3);CE(5),yg("type",e.showPassword()?"text":"password"),_D(),CE(),cT(e.generalForm.value.password?6:-1),CE(2),yg("type",e.showPassword()?"text":"password"),_D(),CE(),cT(e.generalForm.value.repeatPassword&&e.generalForm.value.repeatPassword!==e.generalForm.value.password?9:-1),CE(4),cT(e.showPassword()?13:14),CE(5),cT(e.showCopyPassword()?18:-1),CE(),cT(e.generalForm.value.password&&e.generalForm.value.password===e.generalForm.value.repeatPassword?19:-1);}}function Rs(i,t){if(i&1&&(Qi$1(0,"sh-select",39)(1,"label",40),nC(2,11),$l(),vg(3,"input",41),CD(),ag(4,ys,1,1,"ng-template"),$l(),aT(5,xs,20,7,"div",42)),i&2){let e=iC(2);yg("options",e.encryptionOptions())("isClearable",false),CE(3),_D(),CE(2),cT(e.encryptionFieldSignal()!==e.noneOptionKey?5:-1);}}function Ls(i,t){if(i&1&&aT(0,Rs,6,3),i&2){let e=iC();cT(e.isNew()?0:-1);}}function bs(i,t){if(i&1&&(Qi$1(0,"button",29),Lg(1,18),vg(2,"sh-icon"),Fg(),$l()),i&2){let e=iC();yg("disabled",e.nameAndDescriptionValid()===false);}}function vs(i,t){if(i&1&&(Qi$1(0,"button",30),Lg(1,19),vg(2,"sh-icon"),Fg(),$l()),i&2){let e=iC();yg("disabled",e.generalForm.invalid||e.showCopyPassword()&&!e.copiedPassword());}}var et=new jn,ci=(i={name:"",description:"",encryption:"",password:"",repeatPassword:"",compression:"",operationType:"Backup"})=>et.group({name:et.control(i.name,[me.required]),description:et.control(i.description),encryption:et.control(i.encryption,[F()]),password:et.control(i.password,[y(t=>t?.value.encryption!=="-",[me.required])]),repeatPassword:et.control(i.repeatPassword,[y(t=>t?.value.encryption!=="-",[me.required])]),operationType:et.control(i.operationType)}),St={Key:"-",DisplayName:"None"},Tn=class i{#e=T(ee);#t=T(W);#n=T(m);#i=T(ke);#o=T(m$1);formRef=D1.required("formRef");generalForm=this.#i.generalForm;generalFormSignal=this.#i.generalFormSignal;encryptionFieldSignal=this.#i.encryptionFieldSignal;operationTypeFieldSignal=Ge("Backup");encryptionOptions=this.#i.encryptionOptions;isNew=this.#i.isNew;syncModeSupported=this.#o.hasSyncMode;showPassword=Ge(false);copiedPassword=Ge(false);showCopyPassword=Ge(false);noneOptionKey=St.Key;encryptionEffect=za$1(()=>{this.encryptionFieldSignal()===St.Key&&(this.copiedPassword.set(false),this.showCopyPassword.set(false));});#r=za$1(()=>{let t=this.#i.operationTypeFieldSignal();this.operationTypeFieldSignal.set(t??"Backup");});#a=za$1(()=>{let t=this.operationTypeFieldSignal();this.generalForm.controls.operationType.setValue(t);});nameAndDescriptionValid=Nt(()=>{this.generalFormSignal();let e=this.generalForm.controls;return e?.name&&e.name.valid&&e?.description&&e.description.valid});calculatePasswordStrength=Nt(()=>{let e=this.generalFormSignal()?.password??"";return this.#n.calculatePasswordStrength(e)});ngOnInit(){this.formRef().nativeElement.focus();}exit(){this.#i.exit(true);}async copyPassword(){let t=this.generalForm.controls.password.value;await this.#s(t??""),this.copiedPassword.set(true);}async#s(t){try{await navigator.clipboard.writeText(t);}catch{try{let n=document.createElement("textarea");n.value=t,document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n);}catch(n){console.error("Failed to copy text: ",n);}}}generatePassword(){this.copiedPassword.set(false);let t=this.#n.generate(41);this.generalForm.controls.password.setValue(t),this.generalForm.controls.repeatPassword.setValue(t),this.showCopyPassword.set(true);}next(){this.#i.shouldAutoSave()&&this.#i.submit(true),this.#e.navigate(["destination"],{relativeTo:this.#t.parent});}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=hw({type:i,selectors:[["app-general"]],viewQuery:function(e,n){e&1&&Wg(n.formRef,gs,5),e&2&&fC();},decls:23,vars:5,consts:()=>{let t;t=$localize`Your backup name`;let e;e=$localize`Your backup description`;let n;n=$localize`Remember to copy the password`;let o;o=$localize`General backup settings`;let a;a=$localize` Backup name ${"\uFFFD#8\uFFFD"}:START_SUPERSCRIPT:*${"\uFFFD/#8\uFFFD"}:CLOSE_SUPERSCRIPT:`;let _;_=$localize`Backup description`;let c;c=$localize`${"\uFFFD#20\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#20\uFFFD"}:CLOSE_TAG_SH_ICON: Exit `;let u;u=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:arrows-left-right${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Synchronization job - files are not encrypted `;let T;T=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:lock${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Encrypted backup `;let D;D=$localize`Operation mode`;let y;y=$localize` Backup ${"\uFFFD#6\uFFFD"}:START_TAG_SH_ICON: info ${"\uFFFD/#6\uFFFD"}:CLOSE_TAG_SH_ICON:`;let M;M=$localize` Sync ${"\uFFFD#9\uFFFD"}:START_TAG_SH_ICON: info ${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SH_ICON:`;let G;G=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:info${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: This is a synchronization job. Files are copied without encryption. `;let I;I=$localize`Encryption`;let J;J=$localize`Encryption`;let X;X=$localize`Password`;let k;k=$localize`Repeat password`;let Q;Q=$localize` Create a password ${"\uFFFD#4\uFFFD"}:START_SUPERSCRIPT:*${"\uFFFD/#4\uFFFD"}:CLOSE_SUPERSCRIPT:`;let W;W=$localize`${"\uFFFD*13:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:eye-slash${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Hide ${"\uFFFD/*13:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*14:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:eye${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Show ${"\uFFFD/*14:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,W=oC(W);let be;be=$localize`${"\uFFFD#17\uFFFD"}:START_TAG_SH_ICON:password${"\uFFFD/#17\uFFFD"}:CLOSE_TAG_SH_ICON: Generate password `;let he;he=$localize`Passwords do not match`;let Ee;Ee=$localize`${"\uFFFD*2:1\uFFFD"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_SH_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Copied password ${"\uFFFD/*2:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*3:2\uFFFD"}:START_BLOCK_ELSE:${"\uFFFD#1:2\uFFFD"}:START_TAG_SH_ICON_1:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Copy password ${"\uFFFD/*3:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,Ee=oC(Ee);let K;K=$localize` Tip: Be sure to save your password. If you lose it, you will lose access to your backups. `;let ct;ct=$localize` Continue ${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:`;let ut;return ut=$localize` Continue ${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:`,[["formRef",""],o,a,_,c,u,T,D,y,M,G,J,Q,W,be,he,Ee,K,ct,ut,["autocomplete","off",3,"submit","formGroup"],[1,"title-30"],["for","backupName"],["type","text","tabindex","1","placeholder",t,"formControlName","name"],["for","backupDescription"],["id","backupDescription","tabindex","2","placeholder",e,"formControlName","description"],[1,"mode-toggle"],[1,"form-actions"],["type","button","shButton","",3,"click"],["shButton","","type","submit",1,"raised","primary",3,"disabled"],["shButton","","type","submit","shTooltip",n,1,"raised","primary",3,"disabled"],[1,"primary","accent"],[1,"primary"],["icon",""],[3,"valueChange","value"],["value","Backup","type","button"],[3,"shTooltip"],["value","Sync","type","button"],[1,"accent"],["value","Key","label","DisplayName",3,"options","isClearable"],["for","encryption"],["type","text","id","encryption","tabindex","3","placeholder",I,"formControlName","encryption"],[1,"passwords"],["for","password"],["id","password","tabindex","4","autocomplete","off","placeholder",X,"formControlName","password",3,"type"],[1,"raised",3,"error","warn","primary","success","value"],["id","repeatPassword","tabindex","5","autocomplete","off","placeholder",k,"formControlName","repeatPassword",3,"type"],["error",""],[1,"password-actions"],["shButton","","type","button",1,"small",3,"click"],["shButton","","type","button",1,"small","copy"],["type","primary"],[1,"raised",3,"value"],["shButton","","type","button",1,"small","copy",3,"click"],[1,"sh-success"]]},template:function(e,n){e&1&&(Qi$1(0,"form",20,0),Vg("submit",function(){return n.next()}),Qi$1(2,"h3",21),nC(3,1),$l(),aT(4,Ss,2,1),Qi$1(5,"sh-form-field")(6,"label",22),Lg(7,2),vg(8,"sup"),Fg(),$l(),vg(9,"input",23),CD(),$l(),Qi$1(10,"sh-form-field")(11,"label",24),nC(12,3),$l(),vg(13,"textarea",25),CD(),$l(),aT(14,fs,10,3,"div",26),aT(15,Es,1,1)(16,Ls,1,1),Qi$1(17,"div",27)(18,"button",28),Vg("click",function(){return n.exit()}),Lg(19,4),vg(20,"sh-icon"),Fg(),$l(),aT(21,bs,3,1,"button",29)(22,vs,3,1,"button",30),$l()()),e&2&&(yg("formGroup",n.generalForm),CE(4),cT(n.isNew()?-1:4),CE(5),_D(),CE(4),_D(),CE(),cT(n.isNew()&&n.syncModeSupported()?14:-1),CE(),cT(n.generalFormSignal()?.operationType==="Sync"?15:16),CE(6),cT(n.generalFormSignal()?.operationType==="Sync"||n.encryptionFieldSignal()===n.noneOptionKey||!n.isNew()?21:22));},dependencies:[Gn,Tn$1,Ze$1,Rn,Pn,gn$1,hn,Fe,Nt$1,v,N,d,ue,at,x],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:32.5rem;padding:2.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:1.5rem}sup[_ngcontent-%COMP%]{padding:0 .125rem;color:var(--error-8)}.passwords[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.password-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:center}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.copy[_ngcontent-%COMP%] sh-icon.sh-success[_ngcontent-%COMP%]{color:var(--success-8)}.mode-toggle[_ngcontent-%COMP%]{display:flex;flex-direction:column;position:relative;width:100%;transition:transform 125ms linear;transform:scale(1);gap:.25rem}.mode-toggle[_ngcontent-%COMP%] sh-button-group[_ngcontent-%COMP%]{width:100%}"]})};
14
- var chunkGMUQCY5J=/*#__PURE__*/Object.freeze({__proto__:null,NONE_OPTION:St,createGeneralForm:ci,default:Tn});var chunkX7EGSZ7Z=/*#__PURE__*/Object.freeze({__proto__:null,createSourceDataForm:_i,default:mn});var chunkI7Z5EL7U=/*#__PURE__*/Object.freeze({__proto__:null,SCHEDULE_DEFAULT_OPTIONS:Wt,SCHEDULE_FIELD_DEFAULTS:pn,default:un,scheduleOptionToSchedule:si});export{Qt as Q,Tt as T,Ze as Z,chunkX7EGSZ7Z as a,chunkI7Z5EL7U as b,chunkGMUQCY5J as c,jt as j,ke as k,lt as l,on as o,st as s,tn as t};
14
+ var chunkVY4VRYTU=/*#__PURE__*/Object.freeze({__proto__:null,NONE_OPTION:St,createGeneralForm:ci,default:Tn});var chunkMR3URXIQ=/*#__PURE__*/Object.freeze({__proto__:null,createSourceDataForm:_i,default:mn});var chunk36AHXAIV=/*#__PURE__*/Object.freeze({__proto__:null,SCHEDULE_DEFAULT_OPTIONS:Wt,SCHEDULE_FIELD_DEFAULTS:pn,default:un,scheduleOptionToSchedule:si});export{Qt as Q,Tt as T,Ze as Z,chunkMR3URXIQ as a,chunk36AHXAIV as b,chunkVY4VRYTU as c,jt as j,ke as k,lt as l,on as o,st as s,tn as t};
@@ -1 +1 @@
1
- import {w}from'./chunk-CDEvMQA2.js';import {d}from'./chunk-Bfak-Gjv.js';import'./chunk-DAM-4k69.js';import {e as ee}from'./chunk-CzJ3-6Pu.js';import'./chunk-oTpkLrqH.js';import'./chunk-dCFVYHva.js';import'./chunk--kVw-BwM.js';import {k as ke}from'./chunk-BC2-YuwH.js';import'./chunk-BFfFD-XE.js';import'./chunk-CmexLvf7.js';import'./chunk-Bgx4dtaL.js';import'./chunk-D7AP6g7S.js';import'./chunk-CQv4eyEK.js';import'./chunk-DH6iiZWc.js';import'./chunk-DuTbfCdT.js';import'./chunk-DKacf9Tj.js';import'./chunk-gaP3Sx_C.js';import'./chunk-CI8lsvKT.js';import'./chunk-C5p3bQwH.js';import {h as hw,Z as lr,_ as _t,a8 as To,j as vg,Q as Qi,n as nC,$ as $l,C as CE,A as yg,a3 as KC,aD as YC}from'./main-QLXVXD6E.js';import'./chunk-C3KPTLNN.js';import'./chunk-PONAC1Ya.js';import'./chunk-D3SUPUQT.js';import'./chunk-DoYGADYB.js';import'./chunk-Crs56mDy.js';import'./chunk-Bcxzhjj8.js';import'./chunk-BYJ0fSUP.js';import'./chunk-D2aWqPl_.js';import'./chunk-D3d-eReU.js';var S=()=>["/backup/import-destination/destination"],M=()=>["/backup/import-destination/encryption"],g=()=>["/backup/import-destination/select-config"],p=class T{static \u0275fac=function(e){return new(e||T)};static \u0275cmp=hw({type:T,selectors:[["app-import-destination"]],features:[YC([d,ke])],decls:10,vars:6,consts:()=>{let i;i=$localize` Destination `;let e;e=$localize` Encryption `;let s;return s=$localize` Select configurations `,[i,e,s,[1,"primary"],["tabindex","-1","routerLinkActive","active",3,"routerLink"],["tabindex","-1","routerLinkActive","active",1,"inactive",3,"routerLink"]]},template:function(e,s){e&1&&(vg(0,"app-status-bar"),Qi(1,"sh-stepper",3)(2,"div",4),nC(3,0),$l(),Qi(4,"div",4),nC(5,1),$l(),Qi(6,"div",5),nC(7,2),$l()(),Qi(8,"section"),vg(9,"router-outlet"),$l()),e&2&&(CE(2),yg("routerLink",KC(3,S)),CE(2),yg("routerLink",KC(4,M)),CE(2),yg("routerLink",KC(5,g)));},dependencies:[w,ee,lr,_t,To],styles:["[_nghost-%COMP%]{display:block}.full-width[_nghost-%COMP%] section[_ngcontent-%COMP%]{max-width:62.5rem}sh-stepper[_ngcontent-%COMP%]{margin:2.5rem 2rem;width:calc(100% - 4rem)}section[_ngcontent-%COMP%]{max-width:31.25rem;margin:0 auto 2.5rem}@media only screen and (max-width:768px){section[_ngcontent-%COMP%]{padding:0 2rem}}.inactive[_ngcontent-%COMP%]{pointer-events:none;opacity:.5}"]})};export{p as default};
1
+ import {w}from'./chunk-CgyaUJSI.js';import {d}from'./chunk-BS8PXjJJ.js';import'./chunk-CZoVeRAG.js';import {e as ee}from'./chunk-C4GeR7BF.js';import'./chunk-CUaRQ2FJ.js';import'./chunk-aOMoAKYY.js';import'./chunk-BEhUV7oX.js';import {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'./chunk-ihUnHtR7.js';import'./chunk-Bb6BmVO4.js';import'./chunk-DmDqcC4A.js';import'./chunk-CAwTsBqQ.js';import'./chunk-B53Wj4F9.js';import'./chunk-BTgf5lfZ.js';import {h as hw,Z as lr,_ as _t,a8 as To,j as vg,Q as Qi,n as nC,$ as $l,C as CE,A as yg,a3 as KC,aD as YC}from'./main-VVQP2YE7.js';import'./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 S=()=>["/backup/import-destination/destination"],M=()=>["/backup/import-destination/encryption"],g=()=>["/backup/import-destination/select-config"],p=class T{static \u0275fac=function(e){return new(e||T)};static \u0275cmp=hw({type:T,selectors:[["app-import-destination"]],features:[YC([d,ke])],decls:10,vars:6,consts:()=>{let i;i=$localize` Destination `;let e;e=$localize` Encryption `;let s;return s=$localize` Select configurations `,[i,e,s,[1,"primary"],["tabindex","-1","routerLinkActive","active",3,"routerLink"],["tabindex","-1","routerLinkActive","active",1,"inactive",3,"routerLink"]]},template:function(e,s){e&1&&(vg(0,"app-status-bar"),Qi(1,"sh-stepper",3)(2,"div",4),nC(3,0),$l(),Qi(4,"div",4),nC(5,1),$l(),Qi(6,"div",5),nC(7,2),$l()(),Qi(8,"section"),vg(9,"router-outlet"),$l()),e&2&&(CE(2),yg("routerLink",KC(3,S)),CE(2),yg("routerLink",KC(4,M)),CE(2),yg("routerLink",KC(5,g)));},dependencies:[w,ee,lr,_t,To],styles:["[_nghost-%COMP%]{display:block}.full-width[_nghost-%COMP%] section[_ngcontent-%COMP%]{max-width:62.5rem}sh-stepper[_ngcontent-%COMP%]{margin:2.5rem 2rem;width:calc(100% - 4rem)}section[_ngcontent-%COMP%]{max-width:31.25rem;margin:0 auto 2.5rem}@media only screen and (max-width:768px){section[_ngcontent-%COMP%]{padding:0 2rem}}.inactive[_ngcontent-%COMP%]{pointer-events:none;opacity:.5}"]})};export{p as default};
@@ -1 +1 @@
1
- import {e as ee}from'./chunk-CzJ3-6Pu.js';import'./chunk-oTpkLrqH.js';import'./chunk-dCFVYHva.js';import'./chunk--kVw-BwM.js';import'./chunk-DuTbfCdT.js';import'./chunk-DKacf9Tj.js';import'./chunk-CI8lsvKT.js';import'./chunk-C5p3bQwH.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-QLXVXD6E.js';import {f}from'./chunk-C3KPTLNN.js';import'./chunk-PONAC1Ya.js';import'./chunk-D3SUPUQT.js';import'./chunk-DoYGADYB.js';import'./chunk-Crs56mDy.js';import'./chunk-Bcxzhjj8.js';import'./chunk-BYJ0fSUP.js';import'./chunk-D2aWqPl_.js';import'./chunk-D3d-eReU.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-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 +1 @@
1
- import {m,C as C$1,F}from'./chunk-BFfFD-XE.js';import {J}from'./chunk-D7AP6g7S.js';import {x}from'./chunk-gaP3Sx_C.js';import {T,a6 as be$1,ab as C,aw as W,e as ee,ax as De,a5 as g,G as Ge$1,N as Nt,z as za,at as h,ay as Gu,az as t,aA as y,aj as l,H as qu,h as hw,_ as _t,d as N,v,u as ue,Q as Qi,w as jC,L as Lg,j as vg,F as Fg,$ as $l,V as Vg,p as cm,s as CD,f as aT,C as CE,A as yg,a3 as KC,Y as Yg,aB as im,x as am,y as _D,i as cT,o as oC,U as UC,l as vT,r as kd,k as iC,O as Od,J as om,n as nC,au as jg,av as rC}from'./main-QLXVXD6E.js';import {d}from'./chunk-PONAC1Ya.js';import {F as Fe}from'./chunk-D3SUPUQT.js';import {j as jn,m as me,G as Gn,T as Tn,Z as Ze,y as yt,R as Rn,P as Pn,g as gn,h as hn}from'./chunk-DoYGADYB.js';import {a as at}from'./chunk-Crs56mDy.js';import {L}from'./chunk-D3d-eReU.js';var Xe=()=>["/"];function be(t,o){t&1&&(Qi(0,"sh-toggle",25),Lg(1,5),vg(2,"input",28),CD(),Fg(),$l()),t&2&&(CE(2),_D());}function Ge(t,o){t&1&&(Qi(0,"span",31),nC(1,9),$l());}function Be(t,o){if(t&1&&(Qi(0,"span",31),nC(1,10),$l()),t&2){let e=iC(2);CE(),jg(e.exportForm.controls.password.errors?.minlength.requiredLength),rC(1);}}function ve(t,o){if(t&1&&vg(0,"sh-progress-bar",38),t&2){let e=iC(2);Yg("error",e.calculatePasswordStrength()===1)("warn",e.calculatePasswordStrength()===2)("primary",e.calculatePasswordStrength()===4)("success",e.calculatePasswordStrength()===5),yg("value",e.calculatePasswordStrength()*(100/5));}}function ke(t,o){t&1&&(Qi(0,"span",31),nC(1,11),$l());}function Ue(t,o){t&1&&(Qi(0,"span",31),nC(1,12),$l());}function Ke(t,o){if(t&1&&(Qi(0,"span",31),nC(1,13),$l()),t&2){let e=iC(2);CE(),jg(e.exportForm.controls.repeatPassword.errors?.minlength.requiredLength),rC(1);}}function Je(t,o){t&1&&(Lg(0,7,1),vg(1,"sh-icon"),Fg());}function He(t,o){t&1&&(Lg(0,7,2),vg(1,"sh-icon"),Fg());}function ze(t,o){t&1&&(Lg(0,14,1),vg(1,"sh-icon",40),Fg());}function Ve(t,o){t&1&&(Lg(0,14,2),vg(1,"sh-icon"),Fg());}function qe(t,o){if(t&1){let e=vT();Qi(0,"button",39),Vg("click",function(){kd(e);let a=iC(2);return Od(a.copyPassword())}),Lg(1,14),aT(2,ze,2,0)(3,Ve,2,0),Fg(),$l();}if(t&2){let e=iC(2);CE(2),cT(e.copiedPassword()?2:3);}}function je(t,o){t&1&&(Qi(0,"sh-alert",37),nC(1,15),$l());}function We(t,o){if(t&1){let e=vT();Qi(0,"div",26)(1,"sh-form-field")(2,"label",29),Lg(3,6),vg(4,"sup"),Fg(),$l(),vg(5,"input",30),CD(),aT(6,Ge,2,0,"span",31)(7,Be,2,1,"span",31),$l(),aT(8,ve,1,9,"sh-progress-bar",32),Qi(9,"sh-form-field"),vg(10,"input",33),CD(),aT(11,ke,2,0,"span",31)(12,Ue,2,0,"span",31)(13,Ke,2,1,"span",31),$l(),Qi(14,"div",34)(15,"button",35),Vg("click",function(){kd(e);let a=iC();return Od(a.showPassword.set(!a.showPassword()))}),Lg(16,7),aT(17,Je,2,0)(18,He,2,0),Fg(),$l(),Qi(19,"button",35),Vg("click",function(){kd(e);let a=iC();return Od(a.generatePassword())}),Lg(20,8),vg(21,"sh-icon"),Fg(),$l(),aT(22,qe,4,1,"button",36),$l(),aT(23,je,2,0,"sh-alert",37),$l();}if(t&2){let e=iC();CE(5),yg("type",e.showPassword()?"text":"password"),_D(),CE(),cT(e.exportForm.controls.password.errors?.required?6:e.exportForm.controls.password.errors?.minlength?7:-1),CE(2),cT(e.exportForm.value.password?8:-1),CE(2),yg("type",e.showPassword()?"text":"password"),_D(),CE(),cT(e.exportForm.value.repeatPassword&&e.exportForm.value.repeatPassword!==e.exportForm.value.password?11:e.exportForm.controls.repeatPassword.errors?.required?12:e.exportForm.controls.repeatPassword.errors?.minlength?13:-1),CE(6),cT(e.showPassword()?17:18),CE(5),cT(e.showCopyPassword()?22:-1),CE(),cT(e.exportForm.value.password&&e.exportForm.value.password===e.exportForm.value.repeatPassword?23:-1);}}function Qe(t,o){if(t&1&&(Qi(0,"div",27)(1,"code"),jC(2),$l()()),t&2){let e=iC();CE(2),om(e.exportedCmd());}}var I=new jn,K=class t$1{#o=T(m);#n=T(be$1);#t=T(C);#e=T(W);#i=T(ee);#r=T(De);#s=T(g);isExporting=Ge$1(false);exportType=Ge$1("file");exportedCmd=Ge$1(null);exportForm=I.group({exportPasswords:I.control(true),encryption:I.control(false,[me.required,F()]),password:I.control("",[C$1("encryption",true,[me.required,me.minLength(3)])]),repeatPassword:I.control("",[C$1("encryption",true,[me.required,me.minLength(3)])])});exportFormSignal=L(this.exportForm.valueChanges);encryptionFieldSignal=Nt(()=>(this.exportFormSignal()?.encryption??false)&&this.exportType()==="file");activeBackup=Nt(()=>this.#s.backups().find(o=>o.Backup?.ID===this.#e.snapshot.params.id));showPassword=Ge$1(false);copiedPassword=Ge$1(false);showCopyPassword=Ge$1(false);calculatePasswordStrength=Nt(()=>{let e=this.exportFormSignal()?.password??"";return this.#o.calculatePasswordStrength(e)});showPasswordEffect=za(()=>{this.showPassword()&&this.exportForm.updateValueAndValidity();});disablePasswordForCommandLine=za(()=>{this.exportType()==="cmd"&&this.exportForm.controls.encryption.setValue(false);});submit(){if(this.exportType()==="file"&&this.exportFormSignal()?.exportPasswords===true&&!this.exportFormSignal()?.encryption){this.#n.open(h,{data:{title:$localize`Export without encryption?`,message:$localize`Are you sure you want to export your backup without encryption?`,confirmText:$localize`Yes, write plain-text passwords`,cancelText:$localize`Cancel`},closed:o=>{o&&this.submitApproved();}});return}this.submitApproved();}submitApproved(){this.isExporting.set(true),this.exportType()==="file"?this.#t.postApiV1AuthIssuetokenByOperation({operation:"export"}).pipe(Gu(o=>{let e=T=>{let O=Object.entries(T);return O?"?"+O.filter(([h,E])=>E!=null).map(([h,E])=>`${encodeURIComponent(h)}=${encodeURIComponent(E)}`).join("&"):""},n=this.exportFormSignal()?.password?.length?this.exportFormSignal()?.password:void 0,a=t.BASE||"";return this.#r.get(`${a}/api/v1/backup/${this.#e.snapshot.params.id}/export${e({"export-passwords":this.exportFormSignal()?.exportPasswords??void 0,passphrase:n,token:o.Token})}`,{responseType:"blob",headers:new y(l({},t.HEADERS??{}))})}),qu(()=>this.isExporting.set(false))).subscribe({next:o=>{let n=this.activeBackup()?.Backup?.Name??"Backup",a=this.exportFormSignal()?.encryption?"aes":"json";this.downloadFile(o,`${n}-duplicati-config.${a}`),this.#i.navigate(["/"]);},error:o=>{console.error("Failed to export backup",o);}}):this.#t.getApiV1BackupByIdExportCmdline({id:this.#e.snapshot.params.id,exportPasswords:this.exportFormSignal()?.exportPasswords??void 0,passphrase:this.exportFormSignal()?.password??void 0}).pipe(qu(()=>this.isExporting.set(false))).subscribe({next:o=>{this.exportedCmd.set(o.Command??null);},error:o=>{console.error("Failed to export backup as command line",o);}});}downloadFile(o,e){let n=window.URL.createObjectURL(o),a=document.createElement("a");a.href=n,a.download=e,a.click(),window.URL.revokeObjectURL(n);}async copyPassword(){let o=this.exportForm.controls.password.value;await this.#a(o??""),this.copiedPassword.set(true);}async#a(o){try{await navigator.clipboard.writeText(o);}catch{try{let n=document.createElement("textarea");n.value=o,document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n);}catch(n){console.error("Failed to copy text: ",n);}}}generatePassword(){this.copiedPassword.set(false);let o=this.#o.generate(16);this.exportForm.controls.password.setValue(o),this.exportForm.controls.repeatPassword.setValue(o),this.showCopyPassword.set(true);}static \u0275fac=function(e){return new(e||t$1)};static \u0275cmp=hw({type:t$1,selectors:[["app-export"]],decls:26,vars:13,consts:()=>{let o;o=$localize`${"\uFFFD#6\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#6\uFFFD"}:CLOSE_TAG_SH_ICON: Back `;let e;e=$localize`${"\uFFFD#9\uFFFD"}:START_TAG_SH_ICON:export${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SH_ICON: Export `;let n;n=$localize`${"\uFFFD#16\uFFFD"}:START_TAG_SH_ICON:terminal-window${"\uFFFD/#16\uFFFD"}:CLOSE_TAG_SH_ICON: As command line `;let a;a=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SH_ICON:file${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SH_ICON: To file `;let T;T=$localize` Export passwords ${"\uFFFD#22\uFFFD\uFFFD/#22\uFFFD"}:TAG_INPUT:`;let O;O=$localize` Encrypt file ${"\uFFFD#2\uFFFD\uFFFD/#2\uFFFD"}:TAG_INPUT:`;let h;h=$localize`Password`;let E;E=$localize`Repeat password`;let J;J=$localize` Create a password ${"\uFFFD#4\uFFFD"}:START_SUPERSCRIPT:*${"\uFFFD/#4\uFFFD"}:CLOSE_SUPERSCRIPT:`;let w;w=$localize`${"\uFFFD*17:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:eye-slash${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Hide ${"\uFFFD/*17:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*18:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:eye${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Show ${"\uFFFD/*18:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,w=oC(w);let H;H=$localize`${"\uFFFD#21\uFFFD"}:START_TAG_SH_ICON:password${"\uFFFD/#21\uFFFD"}:CLOSE_TAG_SH_ICON: Generate password `;let z;z=$localize`Passwords are required`;let V;V=$localize` Passwords must be at least ${"\uFFFD0\uFFFD"}:INTERPOLATION: characters long `;let q;q=$localize`Passwords do not match`;let j;j=$localize`Passwords are required`;let W;W=$localize` Passwords must be at least ${"\uFFFD0\uFFFD"}:INTERPOLATION: characters long `;let D;D=$localize`${"\uFFFD*2:1\uFFFD"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_SH_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Copied password ${"\uFFFD/*2:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*3:2\uFFFD"}:START_BLOCK_ELSE:${"\uFFFD#1:2\uFFFD"}:START_TAG_SH_ICON_1:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Copy password ${"\uFFFD/*3:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,D=oC(D);let Q;return Q=$localize` Tip: Be sure to save your password. If you lose it, you will not be able to import the configuration. `,[o,e,n,a,T,O,J,w,H,z,V,q,j,W,D,Q,[1,"actions"],["shButton","",1,"outlined",3,"routerLink"],["shButton","",1,"raised","primary",3,"click","shTooltip","disabled"],["autocomplete","off",3,"formGroup"],[1,"type-b",3,"valueChange","value"],["value","cmd"],["value","file"],[1,"raised","primary"],["type","checkbox","formControlName","exportPasswords"],[1,"primary","raised"],[1,"passwords"],[1,"cmd-output"],["type","checkbox","formControlName","encryption"],["for","password"],["id","password","tabindex","4","autocomplete","off","placeholder",h,"formControlName","password",3,"type"],["error",""],[1,"raised",3,"error","warn","primary","success","value"],["id","repeatPassword","tabindex","5","autocomplete","off","placeholder",E,"formControlName","repeatPassword",3,"type"],[1,"password-actions"],["shButton","","type","button",1,"small",3,"click"],["shButton","","type","button",1,"small","copy"],[1,"primary"],[1,"raised",3,"value"],["shButton","","type","button",1,"small","copy",3,"click"],[1,"sh-success"]]},template:function(e,n){e&1&&(Qi(0,"header")(1,"h3"),jC(2," Export backup configuration "),Qi(3,"div",16)(4,"button",17),Lg(5,0),vg(6,"sh-icon"),Fg(),$l(),Qi(7,"button",18),Vg("click",function(){return n.submit()}),Lg(8,1),vg(9,"sh-icon"),Fg(),$l()()(),Qi(10,"p"),jC(11),$l()(),Qi(12,"form",19)(13,"sh-button-group",20),cm("valueChange",function(T){return UC(n.exportType,T)||(n.exportType=T),T}),Qi(14,"button",21),Lg(15,2),vg(16,"sh-icon"),Fg(),$l(),Qi(17,"button",22),Lg(18,3),vg(19,"sh-icon"),Fg(),$l()(),Qi(20,"sh-toggle",23),Lg(21,4),vg(22,"input",24),CD(),Fg(),$l(),aT(23,be,3,0,"sh-toggle",25),aT(24,We,24,8,"div",26),aT(25,Qe,3,1,"div",27),$l()),e&2&&(CE(4),yg("routerLink",KC(12,Xe)),CE(3),Yg("loading",n.isExporting()),yg("shTooltip",n.encryptionFieldSignal()?"Remember to copy the password":"")("disabled",n.exportForm.invalid||n.showCopyPassword()&&!n.copiedPassword()||n.encryptionFieldSignal()&&n.exportForm.value.repeatPassword!==n.exportForm.value.password),CE(4),im("#",n.activeBackup()?.Backup?.ID,": ",n.activeBackup()?.Backup?.Name),CE(),yg("formGroup",n.exportForm),CE(),am("value",n.exportType),CE(9),_D(),CE(),cT(n.exportType()==="file"?23:-1),CE(),cT(n.encryptionFieldSignal()?24:-1),CE(),cT(n.exportedCmd()?25:-1));},dependencies:[Gn,Tn,Ze,yt,Rn,Pn,gn,hn,_t,x,J,N,Fe,v,ue,d,at],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:3rem}h3[_ngcontent-%COMP%]{font:var(--title-30);display:flex;align-items:center;justify-content:space-between}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;max-width:31.25rem}.passwords[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.password-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:center}.copy[_ngcontent-%COMP%] sh-icon.sh-success[_ngcontent-%COMP%]{color:var(--success-8)}.hide[_ngcontent-%COMP%]{display:none}"]})};export{K as default};
1
+ import {m,C as C$1,F}from'./chunk-C80zvTbO.js';import {J}from'./chunk-DUYvFN8m.js';import {x}from'./chunk-CAwTsBqQ.js';import {T,a6 as be$1,ab as C,aw as W,e as ee,ax as De,a5 as g,G as Ge$1,N as Nt,z as za,at as h,ay as Gu,az as t,aA as y,aj as l,H as qu,h as hw,_ as _t,d as N,v,u as ue,Q as Qi,w as jC,L as Lg,j as vg,F as Fg,$ as $l,V as Vg,p as cm,s as CD,f as aT,C as CE,A as yg,a3 as KC,Y as Yg,aB as im,x as am,y as _D,i as cT,o as oC,U as UC,l as vT,r as kd,k as iC,O as Od,J as om,n as nC,au as jg,av as rC}from'./main-VVQP2YE7.js';import {d}from'./chunk-B8uF0dom.js';import {F as Fe}from'./chunk-B9maI7Xa.js';import {j as jn,m as me,G as Gn,T as Tn,Z as Ze,y as yt,R as Rn,P as Pn,g as gn,h as hn}from'./chunk-BO2GlieG.js';import {a as at}from'./chunk-CKnRcyHZ.js';import {L}from'./chunk-Box6Lckh.js';var Xe=()=>["/"];function be(t,o){t&1&&(Qi(0,"sh-toggle",25),Lg(1,5),vg(2,"input",28),CD(),Fg(),$l()),t&2&&(CE(2),_D());}function Ge(t,o){t&1&&(Qi(0,"span",31),nC(1,9),$l());}function Be(t,o){if(t&1&&(Qi(0,"span",31),nC(1,10),$l()),t&2){let e=iC(2);CE(),jg(e.exportForm.controls.password.errors?.minlength.requiredLength),rC(1);}}function ve(t,o){if(t&1&&vg(0,"sh-progress-bar",38),t&2){let e=iC(2);Yg("error",e.calculatePasswordStrength()===1)("warn",e.calculatePasswordStrength()===2)("primary",e.calculatePasswordStrength()===4)("success",e.calculatePasswordStrength()===5),yg("value",e.calculatePasswordStrength()*(100/5));}}function ke(t,o){t&1&&(Qi(0,"span",31),nC(1,11),$l());}function Ue(t,o){t&1&&(Qi(0,"span",31),nC(1,12),$l());}function Ke(t,o){if(t&1&&(Qi(0,"span",31),nC(1,13),$l()),t&2){let e=iC(2);CE(),jg(e.exportForm.controls.repeatPassword.errors?.minlength.requiredLength),rC(1);}}function Je(t,o){t&1&&(Lg(0,7,1),vg(1,"sh-icon"),Fg());}function He(t,o){t&1&&(Lg(0,7,2),vg(1,"sh-icon"),Fg());}function ze(t,o){t&1&&(Lg(0,14,1),vg(1,"sh-icon",40),Fg());}function Ve(t,o){t&1&&(Lg(0,14,2),vg(1,"sh-icon"),Fg());}function qe(t,o){if(t&1){let e=vT();Qi(0,"button",39),Vg("click",function(){kd(e);let a=iC(2);return Od(a.copyPassword())}),Lg(1,14),aT(2,ze,2,0)(3,Ve,2,0),Fg(),$l();}if(t&2){let e=iC(2);CE(2),cT(e.copiedPassword()?2:3);}}function je(t,o){t&1&&(Qi(0,"sh-alert",37),nC(1,15),$l());}function We(t,o){if(t&1){let e=vT();Qi(0,"div",26)(1,"sh-form-field")(2,"label",29),Lg(3,6),vg(4,"sup"),Fg(),$l(),vg(5,"input",30),CD(),aT(6,Ge,2,0,"span",31)(7,Be,2,1,"span",31),$l(),aT(8,ve,1,9,"sh-progress-bar",32),Qi(9,"sh-form-field"),vg(10,"input",33),CD(),aT(11,ke,2,0,"span",31)(12,Ue,2,0,"span",31)(13,Ke,2,1,"span",31),$l(),Qi(14,"div",34)(15,"button",35),Vg("click",function(){kd(e);let a=iC();return Od(a.showPassword.set(!a.showPassword()))}),Lg(16,7),aT(17,Je,2,0)(18,He,2,0),Fg(),$l(),Qi(19,"button",35),Vg("click",function(){kd(e);let a=iC();return Od(a.generatePassword())}),Lg(20,8),vg(21,"sh-icon"),Fg(),$l(),aT(22,qe,4,1,"button",36),$l(),aT(23,je,2,0,"sh-alert",37),$l();}if(t&2){let e=iC();CE(5),yg("type",e.showPassword()?"text":"password"),_D(),CE(),cT(e.exportForm.controls.password.errors?.required?6:e.exportForm.controls.password.errors?.minlength?7:-1),CE(2),cT(e.exportForm.value.password?8:-1),CE(2),yg("type",e.showPassword()?"text":"password"),_D(),CE(),cT(e.exportForm.value.repeatPassword&&e.exportForm.value.repeatPassword!==e.exportForm.value.password?11:e.exportForm.controls.repeatPassword.errors?.required?12:e.exportForm.controls.repeatPassword.errors?.minlength?13:-1),CE(6),cT(e.showPassword()?17:18),CE(5),cT(e.showCopyPassword()?22:-1),CE(),cT(e.exportForm.value.password&&e.exportForm.value.password===e.exportForm.value.repeatPassword?23:-1);}}function Qe(t,o){if(t&1&&(Qi(0,"div",27)(1,"code"),jC(2),$l()()),t&2){let e=iC();CE(2),om(e.exportedCmd());}}var I=new jn,K=class t$1{#o=T(m);#n=T(be$1);#t=T(C);#e=T(W);#i=T(ee);#r=T(De);#s=T(g);isExporting=Ge$1(false);exportType=Ge$1("file");exportedCmd=Ge$1(null);exportForm=I.group({exportPasswords:I.control(true),encryption:I.control(false,[me.required,F()]),password:I.control("",[C$1("encryption",true,[me.required,me.minLength(3)])]),repeatPassword:I.control("",[C$1("encryption",true,[me.required,me.minLength(3)])])});exportFormSignal=L(this.exportForm.valueChanges);encryptionFieldSignal=Nt(()=>(this.exportFormSignal()?.encryption??false)&&this.exportType()==="file");activeBackup=Nt(()=>this.#s.backups().find(o=>o.Backup?.ID===this.#e.snapshot.params.id));showPassword=Ge$1(false);copiedPassword=Ge$1(false);showCopyPassword=Ge$1(false);calculatePasswordStrength=Nt(()=>{let e=this.exportFormSignal()?.password??"";return this.#o.calculatePasswordStrength(e)});showPasswordEffect=za(()=>{this.showPassword()&&this.exportForm.updateValueAndValidity();});disablePasswordForCommandLine=za(()=>{this.exportType()==="cmd"&&this.exportForm.controls.encryption.setValue(false);});submit(){if(this.exportType()==="file"&&this.exportFormSignal()?.exportPasswords===true&&!this.exportFormSignal()?.encryption){this.#n.open(h,{data:{title:$localize`Export without encryption?`,message:$localize`Are you sure you want to export your backup without encryption?`,confirmText:$localize`Yes, write plain-text passwords`,cancelText:$localize`Cancel`},closed:o=>{o&&this.submitApproved();}});return}this.submitApproved();}submitApproved(){this.isExporting.set(true),this.exportType()==="file"?this.#t.postApiV1AuthIssuetokenByOperation({operation:"export"}).pipe(Gu(o=>{let e=T=>{let O=Object.entries(T);return O?"?"+O.filter(([h,E])=>E!=null).map(([h,E])=>`${encodeURIComponent(h)}=${encodeURIComponent(E)}`).join("&"):""},n=this.exportFormSignal()?.password?.length?this.exportFormSignal()?.password:void 0,a=t.BASE||"";return this.#r.get(`${a}/api/v1/backup/${this.#e.snapshot.params.id}/export${e({"export-passwords":this.exportFormSignal()?.exportPasswords??void 0,passphrase:n,token:o.Token})}`,{responseType:"blob",headers:new y(l({},t.HEADERS??{}))})}),qu(()=>this.isExporting.set(false))).subscribe({next:o=>{let n=this.activeBackup()?.Backup?.Name??"Backup",a=this.exportFormSignal()?.encryption?"aes":"json";this.downloadFile(o,`${n}-duplicati-config.${a}`),this.#i.navigate(["/"]);},error:o=>{console.error("Failed to export backup",o);}}):this.#t.getApiV1BackupByIdExportCmdline({id:this.#e.snapshot.params.id,exportPasswords:this.exportFormSignal()?.exportPasswords??void 0,passphrase:this.exportFormSignal()?.password??void 0}).pipe(qu(()=>this.isExporting.set(false))).subscribe({next:o=>{this.exportedCmd.set(o.Command??null);},error:o=>{console.error("Failed to export backup as command line",o);}});}downloadFile(o,e){let n=window.URL.createObjectURL(o),a=document.createElement("a");a.href=n,a.download=e,a.click(),window.URL.revokeObjectURL(n);}async copyPassword(){let o=this.exportForm.controls.password.value;await this.#a(o??""),this.copiedPassword.set(true);}async#a(o){try{await navigator.clipboard.writeText(o);}catch{try{let n=document.createElement("textarea");n.value=o,document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n);}catch(n){console.error("Failed to copy text: ",n);}}}generatePassword(){this.copiedPassword.set(false);let o=this.#o.generate(16);this.exportForm.controls.password.setValue(o),this.exportForm.controls.repeatPassword.setValue(o),this.showCopyPassword.set(true);}static \u0275fac=function(e){return new(e||t$1)};static \u0275cmp=hw({type:t$1,selectors:[["app-export"]],decls:26,vars:13,consts:()=>{let o;o=$localize`${"\uFFFD#6\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#6\uFFFD"}:CLOSE_TAG_SH_ICON: Back `;let e;e=$localize`${"\uFFFD#9\uFFFD"}:START_TAG_SH_ICON:export${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SH_ICON: Export `;let n;n=$localize`${"\uFFFD#16\uFFFD"}:START_TAG_SH_ICON:terminal-window${"\uFFFD/#16\uFFFD"}:CLOSE_TAG_SH_ICON: As command line `;let a;a=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SH_ICON:file${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SH_ICON: To file `;let T;T=$localize` Export passwords ${"\uFFFD#22\uFFFD\uFFFD/#22\uFFFD"}:TAG_INPUT:`;let O;O=$localize` Encrypt file ${"\uFFFD#2\uFFFD\uFFFD/#2\uFFFD"}:TAG_INPUT:`;let h;h=$localize`Password`;let E;E=$localize`Repeat password`;let J;J=$localize` Create a password ${"\uFFFD#4\uFFFD"}:START_SUPERSCRIPT:*${"\uFFFD/#4\uFFFD"}:CLOSE_SUPERSCRIPT:`;let w;w=$localize`${"\uFFFD*17:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:eye-slash${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Hide ${"\uFFFD/*17:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*18:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:eye${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Show ${"\uFFFD/*18:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,w=oC(w);let H;H=$localize`${"\uFFFD#21\uFFFD"}:START_TAG_SH_ICON:password${"\uFFFD/#21\uFFFD"}:CLOSE_TAG_SH_ICON: Generate password `;let z;z=$localize`Passwords are required`;let V;V=$localize` Passwords must be at least ${"\uFFFD0\uFFFD"}:INTERPOLATION: characters long `;let q;q=$localize`Passwords do not match`;let j;j=$localize`Passwords are required`;let W;W=$localize` Passwords must be at least ${"\uFFFD0\uFFFD"}:INTERPOLATION: characters long `;let D;D=$localize`${"\uFFFD*2:1\uFFFD"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_SH_ICON:check${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Copied password ${"\uFFFD/*2:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*3:2\uFFFD"}:START_BLOCK_ELSE:${"\uFFFD#1:2\uFFFD"}:START_TAG_SH_ICON_1:copy${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Copy password ${"\uFFFD/*3:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,D=oC(D);let Q;return Q=$localize` Tip: Be sure to save your password. If you lose it, you will not be able to import the configuration. `,[o,e,n,a,T,O,J,w,H,z,V,q,j,W,D,Q,[1,"actions"],["shButton","",1,"outlined",3,"routerLink"],["shButton","",1,"raised","primary",3,"click","shTooltip","disabled"],["autocomplete","off",3,"formGroup"],[1,"type-b",3,"valueChange","value"],["value","cmd"],["value","file"],[1,"raised","primary"],["type","checkbox","formControlName","exportPasswords"],[1,"primary","raised"],[1,"passwords"],[1,"cmd-output"],["type","checkbox","formControlName","encryption"],["for","password"],["id","password","tabindex","4","autocomplete","off","placeholder",h,"formControlName","password",3,"type"],["error",""],[1,"raised",3,"error","warn","primary","success","value"],["id","repeatPassword","tabindex","5","autocomplete","off","placeholder",E,"formControlName","repeatPassword",3,"type"],[1,"password-actions"],["shButton","","type","button",1,"small",3,"click"],["shButton","","type","button",1,"small","copy"],[1,"primary"],[1,"raised",3,"value"],["shButton","","type","button",1,"small","copy",3,"click"],[1,"sh-success"]]},template:function(e,n){e&1&&(Qi(0,"header")(1,"h3"),jC(2," Export backup configuration "),Qi(3,"div",16)(4,"button",17),Lg(5,0),vg(6,"sh-icon"),Fg(),$l(),Qi(7,"button",18),Vg("click",function(){return n.submit()}),Lg(8,1),vg(9,"sh-icon"),Fg(),$l()()(),Qi(10,"p"),jC(11),$l()(),Qi(12,"form",19)(13,"sh-button-group",20),cm("valueChange",function(T){return UC(n.exportType,T)||(n.exportType=T),T}),Qi(14,"button",21),Lg(15,2),vg(16,"sh-icon"),Fg(),$l(),Qi(17,"button",22),Lg(18,3),vg(19,"sh-icon"),Fg(),$l()(),Qi(20,"sh-toggle",23),Lg(21,4),vg(22,"input",24),CD(),Fg(),$l(),aT(23,be,3,0,"sh-toggle",25),aT(24,We,24,8,"div",26),aT(25,Qe,3,1,"div",27),$l()),e&2&&(CE(4),yg("routerLink",KC(12,Xe)),CE(3),Yg("loading",n.isExporting()),yg("shTooltip",n.encryptionFieldSignal()?"Remember to copy the password":"")("disabled",n.exportForm.invalid||n.showCopyPassword()&&!n.copiedPassword()||n.encryptionFieldSignal()&&n.exportForm.value.repeatPassword!==n.exportForm.value.password),CE(4),im("#",n.activeBackup()?.Backup?.ID,": ",n.activeBackup()?.Backup?.Name),CE(),yg("formGroup",n.exportForm),CE(),am("value",n.exportType),CE(9),_D(),CE(),cT(n.exportType()==="file"?23:-1),CE(),cT(n.encryptionFieldSignal()?24:-1),CE(),cT(n.exportedCmd()?25:-1));},dependencies:[Gn,Tn,Ze,yt,Rn,Pn,gn,hn,_t,x,J,N,Fe,v,ue,d,at],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:3rem}h3[_ngcontent-%COMP%]{font:var(--title-30);display:flex;align-items:center;justify-content:space-between}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;max-width:31.25rem}.passwords[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.password-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:center}.copy[_ngcontent-%COMP%] sh-icon.sh-success[_ngcontent-%COMP%]{color:var(--success-8)}.hide[_ngcontent-%COMP%]{display:none}"]})};export{K as default};
@@ -1,2 +1,2 @@
1
- import {T,a7 as l,b as I1,N as Nt,h as hw,a1 as dT,a2 as fT,e as ee,aw as W,a6 as be,ah as fe$1,ab as C,B as v,G as Ge,at as h$1,az as t,v as v$1,u as ue,ak as um,Q as Qi,w as jC,$ as $l,f as aT,V as Vg,n as nC,al as WC,C as CE,g as NC,J as om,i as cT,j as vg,A as yg,k as iC,ao as qC,aa as Ql,L as Lg,F as Fg,ar as Qp,l as vT,r as kd,O as Od,aP as ql,aQ as Gl}from'./main-QLXVXD6E.js';import {d}from'./chunk-PONAC1Ya.js';function ae(i,t){if(i&1&&(Qi(0,"div",11),jC(1),$l()),i&2){iC();let e=qC(0);CE(),Ql(" ",e.Message," ");}}function re(i,t){if(i&1&&(Qi(0,"div"),Lg(1,1),vg(2,"a",15),Fg(),$l()),i&2){let e=iC();CE(2),yg("href",e.downloadLink(),Qp);}}function ce(i,t){if(i&1){let e=vT();Qi(0,"button",14),Vg("click",function(){kd(e);let o=iC(),l=qC(0);return Od(o.doRepair(l.BackupID))}),nC(1,2),$l();}}function le(i,t){if(i&1){let e=vT();Qi(0,"button",14),Vg("click",function(){kd(e);let o=iC(),l=qC(0);return Od(o.doDownloadBugreport(l))}),nC(1,3),$l();}}function _e(i,t){if(i&1&&vg(0,"sh-progress-bar",17),i&2){let e=iC(2);yg("value",e.serverState()?.UpdateDownloadProgress);}}function se(i,t){if(i&1){let e=vT();Qi(0,"div",11),ql(1),nC(2,4),Gl(),Qi(3,"a",16),jC(4),$l(),aT(5,_e,1,1,"sh-progress-bar",17),Qi(6,"button",14),Vg("click",function(){kd(e);let o=iC();return Od(o.doShowUpdate())}),nC(7,5),$l()();}if(i&2){let e=iC(),n=qC(0);CE(3),yg("href",e.serverState()?.UpdateDownloadLink,Qp),CE(),om(n.Message),CE(),cT(e.serverState()?.UpdaterState==="Downloading"?5:-1);}}function de(i,t){if(i&1){let e=vT();Qi(0,"button",14),Vg("click",function(){kd(e);let o=iC(),l=qC(0);return Od(o.doShowLog(l.BackupID))}),nC(1,6),$l();}}function Ne(i,t){if(i&1){let e=vT();Qi(0,"button",14),Vg("click",function(){kd(e);let o=iC();return Od(o.doShowLink("https://docs.duplicati.com/detailed-descriptions/the-server-database"))}),nC(1,7),$l();}}function Te(i,t){if(i&1){let e=vT();Qi(0,"button",14),Vg("click",function(){kd(e);let o=iC();return Od(o.doShowLink("https://docs.duplicati.com/detailed-descriptions/the-server-database"))}),nC(1,8),$l();}}var Ce={Error:"error",Warning:"warn",Information:"primary"},h=class i{#e=T(ee);#a=T(W);#r=T(be);#t=T(fe$1);#i=T(l);#n=T(C);#c=T(v);#o=Ge(null);serverState=this.#i.serverState;index=I1.required();notification=I1.required();downloadLink=Nt(()=>this.#o()||this.notification().DownloadLink||"");deleteNotificationByIndex(){this.#i.deleteNotification(this.index());}deleteAllNotifications(){this.#i.deleteAllNotifications();}getAlertType(t){return t&&Ce[t]||"primary"}doShowLog(t){this.#n.getApiV1BackupByIdIsactive({id:t}).subscribe({next:e=>{this.#e.navigate(["/backup/"+t+"/log"]);},error:e=>{if(e.status===404){let n={title:$localize`Error`,message:$localize`The backup is missing, has it been deleted?`,confirmText:$localize`OK`,cancelText:null};parseInt(t)+""!=t&&(n={title:$localize`Error`,message:$localize`The backup was temporary and does not exist anymore, so the log data is lost`,confirmText:$localize`OK`,cancelText:null}),this.#r.open(h$1,{maxWidth:"550px",width:"100%",data:n});}else this.#t.error($localize`Failed to find backup: `+e.message);}});}doRepair(t){this.#n.postApiV1BackupByIdRepair({id:t}).subscribe({next:()=>{this.#t.success($localize`Backup repaired`),this.#e.navigate(["./"],{onSameUrlNavigation:"reload",relativeTo:this.#a});},error:e=>{this.#t.error($localize`Failed to repair backup: `+e.message);}});}doShowUpdate(){this.#e.navigate(["/about/changelog"]);}doShowLink(t){window.open(t,"_blank");}doDownloadBugreport(t$1){let e=t$1.Action.slice(19);this.#n.postApiV1AuthIssuetokenByOperation({operation:"bugreport"}).subscribe({next:n=>{if(!n.Token){this.#t.error("Failed to get bug report URL: No token generated");return}let o=t.BASE||"",l=this.#c.xsrfQueryParam(),m=`${location.origin}${o}/api/v1/bugreport/${e}?token=${n.Token}${l?`&${l}`:""}`;t$1.DownloadLink=m,this.#o.set(m),this.triggerDownload(m);},error:n=>{this.#t.error(`Failed to get bug report URL: ${n.message}`);}});}triggerDownload(t){let e=document.createElement("a");e.href=t,e.download="",e.style.display="none",document.body.appendChild(e);try{e.click();}catch{}document.body.removeChild(e);}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=hw({type:i,selectors:[["app-notification"]],inputs:{index:[1,"index"],notification:[1,"notification"]},decls:16,vars:12,consts:()=>{let t;t=$localize`Dismiss`;let e;e=$localize` If the backup file was not downloaded automatically, ${"\uFFFD#2\uFFFD"}:START_LINK:right click and choose "Save as …"${"\uFFFD/#2\uFFFD"}:CLOSE_LINK:`;let n;n=$localize`Repair`;let o;o=$localize`Download`;let l;l=$localize`New update found:`;let m;m=$localize`Show Update`;let b;b=$localize`Show Log`;let L;L=$localize` Show Help `;let $;return $=$localize` Show Help `,[t,e,n,o,l,m,b,L,$,["ship-alert-title",""],["ship-alert-content","",1,"content"],[1,"message"],[1,"sub-actions"],["shButton","",1,"small","outlined"],["shButton","",1,"small","outlined",3,"click"],["target","_blank",3,"href"],[3,"href"],[3,"value"]]},template:function(e,n){if(e&1&&(um(0),Qi(1,"sh-alert")(2,"div",9),jC(3),$l(),Qi(4,"div",10),aT(5,ae,2,1,"div",11),aT(6,re,3,1,"div"),Qi(7,"div",12),aT(8,ce,2,0,"button",13),aT(9,le,2,0,"button",13),aT(10,se,8,3,"div",11),aT(11,de,2,0,"button",13),aT(12,Ne,2,0,"button",13),aT(13,Te,2,0,"button",13),Qi(14,"button",14),Vg("click",function(){return n.deleteNotificationByIndex()}),nC(15,0),$l()()()()),e&2){let o=WC(n.notification());CE(),NC(n.getAlertType(o.Type)),CE(2),om(o.Title),CE(2),cT(o.Action!=="update:new"&&o.Action!=="update:manual"?5:-1),CE(),cT(n.downloadLink()?6:-1),CE(2),cT(o.Message?.includes("please run repair")?8:-1),CE(),cT(o.Action?.startsWith("bug-report:created:")&&!n.downloadLink()?9:-1),CE(),cT(o.Action==="update:new"?10:-1),CE(),cT(o.Action==="backup:show-log"?11:-1),CE(),cT(o.Action==="config:issue:unencrypted-database"?12:-1),CE(),cT(o.Action==="config:issue:windows-folder-used"?13:-1);}},dependencies:[d,v$1,ue],styles:["[_nghost-%COMP%]{display:block}.content[_ngcontent-%COMP%]{margin-top:.5rem;display:flex;flex-direction:column;gap:.5rem}.message[_ngcontent-%COMP%]{max-height:12.5rem;overflow:auto}.sub-actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}"]})};var pe=(i,t)=>t.ID;function Ie(i,t){if(i&1&&vg(0,"app-notification",1),i&2){let e=t.$implicit,n=t.$index;yg("index",n)("notification",e);}}function fe(i,t){i&1&&(Qi(0,"div",2)(1,"p"),nC(2,0),$l()());}var ie=class i{#e=T(l);notificationFilterPredicate=I1();notifications=Nt(()=>{let t=this.notificationFilterPredicate()?.predicate,e=this.#e.notifications();return typeof t!="function"?e:e.filter(t)});static \u0275fac=function(e){return new(e||i)};static \u0275cmp=hw({type:i,selectors:[["app-notifications"]],inputs:{notificationFilterPredicate:[1,"notificationFilterPredicate"]},decls:3,vars:1,consts:()=>{let t;return t=$localize`No more notifications`,[t,[3,"index","notification"],[1,"notification-list"]]},template:function(e,n){e&1&&dT(0,Ie,1,2,"app-notification",1,pe,false,fe,3,0,"div",2),e&2&&fT(n.notifications());},dependencies:[h],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.actions[_ngcontent-%COMP%]{display:flex;gap:.25rem;justify-content:flex-end}.notification-list[_ngcontent-%COMP%]{padding:1rem;display:flex;flex-direction:column;gap:1rem;text-align:center}"]})};
1
+ import {T,a7 as l,b as I1,N as Nt,h as hw,a1 as dT,a2 as fT,e as ee,aw as W,a6 as be,ah as fe$1,ab as C,B as v,G as Ge,at as h$1,az as t,v as v$1,u as ue,ak as um,Q as Qi,w as jC,$ as $l,f as aT,V as Vg,n as nC,al as WC,C as CE,g as NC,J as om,i as cT,j as vg,A as yg,k as iC,ao as qC,aa as Ql,L as Lg,F as Fg,ar as Qp,l as vT,r as kd,O as Od,aP as ql,aQ as Gl}from'./main-VVQP2YE7.js';import {d}from'./chunk-B8uF0dom.js';function ae(i,t){if(i&1&&(Qi(0,"div",11),jC(1),$l()),i&2){iC();let e=qC(0);CE(),Ql(" ",e.Message," ");}}function re(i,t){if(i&1&&(Qi(0,"div"),Lg(1,1),vg(2,"a",15),Fg(),$l()),i&2){let e=iC();CE(2),yg("href",e.downloadLink(),Qp);}}function ce(i,t){if(i&1){let e=vT();Qi(0,"button",14),Vg("click",function(){kd(e);let o=iC(),l=qC(0);return Od(o.doRepair(l.BackupID))}),nC(1,2),$l();}}function le(i,t){if(i&1){let e=vT();Qi(0,"button",14),Vg("click",function(){kd(e);let o=iC(),l=qC(0);return Od(o.doDownloadBugreport(l))}),nC(1,3),$l();}}function _e(i,t){if(i&1&&vg(0,"sh-progress-bar",17),i&2){let e=iC(2);yg("value",e.serverState()?.UpdateDownloadProgress);}}function se(i,t){if(i&1){let e=vT();Qi(0,"div",11),ql(1),nC(2,4),Gl(),Qi(3,"a",16),jC(4),$l(),aT(5,_e,1,1,"sh-progress-bar",17),Qi(6,"button",14),Vg("click",function(){kd(e);let o=iC();return Od(o.doShowUpdate())}),nC(7,5),$l()();}if(i&2){let e=iC(),n=qC(0);CE(3),yg("href",e.serverState()?.UpdateDownloadLink,Qp),CE(),om(n.Message),CE(),cT(e.serverState()?.UpdaterState==="Downloading"?5:-1);}}function de(i,t){if(i&1){let e=vT();Qi(0,"button",14),Vg("click",function(){kd(e);let o=iC(),l=qC(0);return Od(o.doShowLog(l.BackupID))}),nC(1,6),$l();}}function Ne(i,t){if(i&1){let e=vT();Qi(0,"button",14),Vg("click",function(){kd(e);let o=iC();return Od(o.doShowLink("https://docs.duplicati.com/detailed-descriptions/the-server-database"))}),nC(1,7),$l();}}function Te(i,t){if(i&1){let e=vT();Qi(0,"button",14),Vg("click",function(){kd(e);let o=iC();return Od(o.doShowLink("https://docs.duplicati.com/detailed-descriptions/the-server-database"))}),nC(1,8),$l();}}var Ce={Error:"error",Warning:"warn",Information:"primary"},h=class i{#e=T(ee);#a=T(W);#r=T(be);#t=T(fe$1);#i=T(l);#n=T(C);#c=T(v);#o=Ge(null);serverState=this.#i.serverState;index=I1.required();notification=I1.required();downloadLink=Nt(()=>this.#o()||this.notification().DownloadLink||"");deleteNotificationByIndex(){this.#i.deleteNotification(this.index());}deleteAllNotifications(){this.#i.deleteAllNotifications();}getAlertType(t){return t&&Ce[t]||"primary"}doShowLog(t){this.#n.getApiV1BackupByIdIsactive({id:t}).subscribe({next:e=>{this.#e.navigate(["/backup/"+t+"/log"]);},error:e=>{if(e.status===404){let n={title:$localize`Error`,message:$localize`The backup is missing, has it been deleted?`,confirmText:$localize`OK`,cancelText:null};parseInt(t)+""!=t&&(n={title:$localize`Error`,message:$localize`The backup was temporary and does not exist anymore, so the log data is lost`,confirmText:$localize`OK`,cancelText:null}),this.#r.open(h$1,{maxWidth:"550px",width:"100%",data:n});}else this.#t.error($localize`Failed to find backup: `+e.message);}});}doRepair(t){this.#n.postApiV1BackupByIdRepair({id:t}).subscribe({next:()=>{this.#t.success($localize`Backup repaired`),this.#e.navigate(["./"],{onSameUrlNavigation:"reload",relativeTo:this.#a});},error:e=>{this.#t.error($localize`Failed to repair backup: `+e.message);}});}doShowUpdate(){this.#e.navigate(["/about/changelog"]);}doShowLink(t){window.open(t,"_blank");}doDownloadBugreport(t$1){let e=t$1.Action.slice(19);this.#n.postApiV1AuthIssuetokenByOperation({operation:"bugreport"}).subscribe({next:n=>{if(!n.Token){this.#t.error("Failed to get bug report URL: No token generated");return}let o=t.BASE||"",l=this.#c.xsrfQueryParam(),m=`${location.origin}${o}/api/v1/bugreport/${e}?token=${n.Token}${l?`&${l}`:""}`;t$1.DownloadLink=m,this.#o.set(m),this.triggerDownload(m);},error:n=>{this.#t.error(`Failed to get bug report URL: ${n.message}`);}});}triggerDownload(t){let e=document.createElement("a");e.href=t,e.download="",e.style.display="none",document.body.appendChild(e);try{e.click();}catch{}document.body.removeChild(e);}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=hw({type:i,selectors:[["app-notification"]],inputs:{index:[1,"index"],notification:[1,"notification"]},decls:16,vars:12,consts:()=>{let t;t=$localize`Dismiss`;let e;e=$localize` If the backup file was not downloaded automatically, ${"\uFFFD#2\uFFFD"}:START_LINK:right click and choose "Save as …"${"\uFFFD/#2\uFFFD"}:CLOSE_LINK:`;let n;n=$localize`Repair`;let o;o=$localize`Download`;let l;l=$localize`New update found:`;let m;m=$localize`Show Update`;let b;b=$localize`Show Log`;let L;L=$localize` Show Help `;let $;return $=$localize` Show Help `,[t,e,n,o,l,m,b,L,$,["ship-alert-title",""],["ship-alert-content","",1,"content"],[1,"message"],[1,"sub-actions"],["shButton","",1,"small","outlined"],["shButton","",1,"small","outlined",3,"click"],["target","_blank",3,"href"],[3,"href"],[3,"value"]]},template:function(e,n){if(e&1&&(um(0),Qi(1,"sh-alert")(2,"div",9),jC(3),$l(),Qi(4,"div",10),aT(5,ae,2,1,"div",11),aT(6,re,3,1,"div"),Qi(7,"div",12),aT(8,ce,2,0,"button",13),aT(9,le,2,0,"button",13),aT(10,se,8,3,"div",11),aT(11,de,2,0,"button",13),aT(12,Ne,2,0,"button",13),aT(13,Te,2,0,"button",13),Qi(14,"button",14),Vg("click",function(){return n.deleteNotificationByIndex()}),nC(15,0),$l()()()()),e&2){let o=WC(n.notification());CE(),NC(n.getAlertType(o.Type)),CE(2),om(o.Title),CE(2),cT(o.Action!=="update:new"&&o.Action!=="update:manual"?5:-1),CE(),cT(n.downloadLink()?6:-1),CE(2),cT(o.Message?.includes("please run repair")?8:-1),CE(),cT(o.Action?.startsWith("bug-report:created:")&&!n.downloadLink()?9:-1),CE(),cT(o.Action==="update:new"?10:-1),CE(),cT(o.Action==="backup:show-log"?11:-1),CE(),cT(o.Action==="config:issue:unencrypted-database"?12:-1),CE(),cT(o.Action==="config:issue:windows-folder-used"?13:-1);}},dependencies:[d,v$1,ue],styles:["[_nghost-%COMP%]{display:block}.content[_ngcontent-%COMP%]{margin-top:.5rem;display:flex;flex-direction:column;gap:.5rem}.message[_ngcontent-%COMP%]{max-height:12.5rem;overflow:auto}.sub-actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}"]})};var pe=(i,t)=>t.ID;function Ie(i,t){if(i&1&&vg(0,"app-notification",1),i&2){let e=t.$implicit,n=t.$index;yg("index",n)("notification",e);}}function fe(i,t){i&1&&(Qi(0,"div",2)(1,"p"),nC(2,0),$l()());}var ie=class i{#e=T(l);notificationFilterPredicate=I1();notifications=Nt(()=>{let t=this.notificationFilterPredicate()?.predicate,e=this.#e.notifications();return typeof t!="function"?e:e.filter(t)});static \u0275fac=function(e){return new(e||i)};static \u0275cmp=hw({type:i,selectors:[["app-notifications"]],inputs:{notificationFilterPredicate:[1,"notificationFilterPredicate"]},decls:3,vars:1,consts:()=>{let t;return t=$localize`No more notifications`,[t,[3,"index","notification"],[1,"notification-list"]]},template:function(e,n){e&1&&dT(0,Ie,1,2,"app-notification",1,pe,false,fe,3,0,"div",2),e&2&&fT(n.notifications());},dependencies:[h],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.actions[_ngcontent-%COMP%]{display:flex;gap:.25rem;justify-content:flex-end}.notification-list[_ngcontent-%COMP%]{padding:1rem;display:flex;flex-direction:column;gap:1rem;text-align:center}"]})};
2
2
  export{h,ie as i};
package/index.html CHANGED
@@ -124,5 +124,5 @@
124
124
  <body>
125
125
  <app-root></app-root>
126
126
  <div class="loading">Connecting ...</div>
127
- <script src="polyfills-7RKI4BGK.js" type="module"></script><script src="main-QLXVXD6E.js" type="module"></script></body>
127
+ <script src="polyfills-7RKI4BGK.js" type="module"></script><script src="main-VVQP2YE7.js" type="module"></script></body>
128
128
  </html>