@duplicati/ngclient 0.0.93 → 0.0.94

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 (54) hide show
  1. package/chunk-2ZYPGUOW.js +6 -0
  2. package/chunk-47XDI5B5.js +1 -0
  3. package/{chunk-HEWPPRUR.js → chunk-4MLA2ZG7.js} +1 -1
  4. package/{chunk-C5K65UWU.js → chunk-6XMTMDI4.js} +1 -1
  5. package/{chunk-U4NNGRE4.js → chunk-7B4DII5K.js} +1 -1
  6. package/{chunk-BRABR4TV.js → chunk-7LD5V64E.js} +1 -1
  7. package/{chunk-GHKDRBKY.js → chunk-7NYCYOKS.js} +1 -1
  8. package/{chunk-LHHHM7NL.js → chunk-7XMYLRVX.js} +1 -1
  9. package/{chunk-2F746EVW.js → chunk-CMNODR42.js} +1 -1
  10. package/chunk-ECH6I3YN.js +1 -0
  11. package/chunk-FF6XUK27.js +1 -0
  12. package/{chunk-MEN7LF3Z.js → chunk-FYSTW7IN.js} +1 -1
  13. package/{chunk-JBQGUGVU.js → chunk-G2H5UWAV.js} +1 -1
  14. package/{chunk-6CBLVQF7.js → chunk-HAZC7QF4.js} +1 -1
  15. package/chunk-IY2EGNYQ.js +1 -0
  16. package/{chunk-NKI2QDIB.js → chunk-KJ3CPTGU.js} +1 -1
  17. package/{chunk-H2BQFBR7.js → chunk-L667SCU5.js} +1 -1
  18. package/{chunk-PN4QLDYL.js → chunk-L7FLOT6V.js} +1 -1
  19. package/{chunk-GPGZVGAS.js → chunk-LGGACMIA.js} +1 -1
  20. package/{chunk-L4FEHUC5.js → chunk-NWVBCPMZ.js} +1 -1
  21. package/{chunk-IWVXUCAK.js → chunk-OVA6G4AJ.js} +1 -1
  22. package/{chunk-X7RS746V.js → chunk-P5DXOHSO.js} +1 -1
  23. package/chunk-PQWBOXD7.js +1 -0
  24. package/{chunk-5QXJ72T7.js → chunk-PVBMNMGK.js} +1 -1
  25. package/{chunk-PJ3V44DO.js → chunk-PWQHMEDY.js} +1 -1
  26. package/{chunk-XGR5AA4N.js → chunk-PZSY4DRF.js} +1 -1
  27. package/{chunk-G3EXCHQT.js → chunk-Q67EYU7V.js} +1 -1
  28. package/{chunk-CZYVLZJY.js → chunk-QJWNFRD3.js} +1 -1
  29. package/{chunk-ADUML4PZ.js → chunk-QPRM4V75.js} +1 -1
  30. package/{chunk-LK3VCLPO.js → chunk-RKQDFV7W.js} +1 -1
  31. package/{chunk-EDCLBXPN.js → chunk-SK4EP46J.js} +1 -1
  32. package/{chunk-MLWKZUCJ.js → chunk-T3IB73UA.js} +1 -1
  33. package/{chunk-HE7XNGM2.js → chunk-UENFWA7U.js} +1 -1
  34. package/{chunk-MEJJFYOP.js → chunk-VKM32I64.js} +1 -1
  35. package/{chunk-5AD5B72M.js → chunk-VTG6KYFA.js} +1 -1
  36. package/{chunk-72KOKABP.js → chunk-WAE42BEK.js} +1 -1
  37. package/{chunk-FXMKPZYY.js → chunk-WVLWUQUO.js} +1 -1
  38. package/chunk-WZQNMWLT.js +1 -0
  39. package/chunk-XR74M6VT.js +1 -0
  40. package/{chunk-PU3VZLC6.js → chunk-YKV265HA.js} +1 -1
  41. package/{chunk-IIXLH5ZP.js → chunk-Z5XE4ZV2.js} +1 -1
  42. package/{chunk-L5JFNWJY.js → chunk-ZA4X5BZG.js} +1 -1
  43. package/index.html +2 -2
  44. package/{main-BFHA4U62.js → main-XIRMJMWZ.js} +1 -1
  45. package/package.json +1 -1
  46. package/{styles-XKGGAPZF.css → styles-XDXFMHQT.css} +1 -1
  47. package/chunk-72TEDEJQ.js +0 -1
  48. package/chunk-BMGRMZMS.js +0 -1
  49. package/chunk-CRREGVJC.js +0 -1
  50. package/chunk-G7WA55U2.js +0 -1
  51. package/chunk-LZN3T7CR.js +0 -1
  52. package/chunk-OTABKUUH.js +0 -1
  53. package/chunk-R3DRARWT.js +0 -1
  54. package/chunk-RB3QECD4.js +0 -6
@@ -1 +1 @@
1
- import{o as g}from"./chunk-RB3QECD4.js";import"./chunk-PN4QLDYL.js";import"./chunk-G3EXCHQT.js";import"./chunk-DNHLTHLR.js";import{a as k}from"./chunk-N5K6ODRA.js";import"./chunk-CRREGVJC.js";import"./chunk-CK5N2PPF.js";import{a as I}from"./chunk-2F746EVW.js";import"./chunk-LK3VCLPO.js";import"./chunk-GEEPH37P.js";import"./chunk-BRABR4TV.js";import{a as N}from"./chunk-WZG34QS3.js";import"./chunk-4IJQ7AAQ.js";import"./chunk-OQEGPSC6.js";import{b as O}from"./chunk-KLIPTMVG.js";import{a as P,b as h,d as E,e as B}from"./chunk-AIOUSVMR.js";import"./chunk-THUAAYGA.js";import{o as $,p as M,t as b}from"./chunk-R3DRARWT.js";import"./chunk-V5GVLIPJ.js";import"./chunk-2HS3CYRN.js";import"./chunk-UQH5ZQG7.js";import{Ab as s,Bb as p,C as m,Cb as n,Mb as d,Mc as A,Nb as c,Qa as r,X as l,db as f,ib as C,qc as R,rb as u,tc as _,wb as D}from"./chunk-DTPZU6NP.js";import"./chunk-C6Q5SG76.js";var K=(i,e)=>[i,e,"general"],L=(i,e)=>[i,e,"destination"],v=(i,e)=>[i,e,"source-data"],G=(i,e)=>[i,e,"schedule"],y=(i,e)=>[i,e,"options"];function U(i,e){i&1&&n(0,"spk-progress-bar",6)}function X(i,e){i&1&&(s(0,"section"),n(1,"router-outlet"),p())}var T=class i{#t=l(P);#e=l(g);#a=l(N);#i=l(O);isDraft=this.#e.isDraft;backupId=this.#e.backupId;finishedLoading=this.#e.finishedLoading;#o=k(this.#t.params);#n=k(this.#t.url);paramsChanged=A(()=>{let e=this.#o()?.id,a=!!this.#n()?.find(t=>t.path==="backup-draft");this.#e.backupId.set(e),e!=="new"?this.getBackup(e,a):this.getDefaults()});getDefaults(){this.#i.getApiV1Backupdefaults().pipe(m(1)).subscribe({next:e=>{this.#e.mapScheduleToForm(e.Schedule),this.#e.mapOptionsToForms(e.Backup),this.#e.backupDefaults.set(e),this.#e.finishedLoading.set(!0)}})}getBackup(e,a=!1){let t=o=>{this.#e.mapScheduleToForm(o.Schedule??null),o.Backup&&(this.#e.mapGeneralToForm(o.Backup),this.#e.mapDestinationToForm(o.Backup),this.#e.mapSourceDataToForm(o.Backup),this.#e.mapOptionsToForms(o.Backup)),this.#e.finishedLoading.set(!0)};if(a){this.isDraft.set(a);let o=this.#a.draftBackups().find(F=>F.id===e);if(!o){alert("Backup not found");return}t(o.data)}else this.#i.getApiV1BackupById({id:e}).subscribe({next:t})}static \u0275fac=function(a){return new(a||i)};static \u0275cmp=f({type:i,selectors:[["app-backup"]],features:[R([g])],decls:20,vars:21,consts:()=>{let e;e=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_RADIO: General `;let a;a=$localize`${"\uFFFD#8\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#8\uFFFD"}:CLOSE_TAG_SPK_RADIO: Destination `;let t;t=$localize`${"\uFFFD#11\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#11\uFFFD"}:CLOSE_TAG_SPK_RADIO: Source Data `;let o;o=$localize`${"\uFFFD#14\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#14\uFFFD"}:CLOSE_TAG_SPK_RADIO: Schedule `;let F;return F=$localize`${"\uFFFD#17\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#17\uFFFD"}:CLOSE_TAG_SPK_RADIO: Options `,[e,a,t,o,F,["step","","routerLinkActive","active",3,"routerLink"],[1,"indeterminate","primary"]]},template:function(a,t){a&1&&(n(0,"app-status-bar"),s(1,"header")(2,"spk-stepper")(3,"div",5),d(4,0),n(5,"spk-radio"),c(),p(),s(6,"div",5),d(7,1),n(8,"spk-radio"),c(),p(),s(9,"div",5),d(10,2),n(11,"spk-radio"),c(),p(),s(12,"div",5),d(13,3),n(14,"spk-radio"),c(),p(),s(15,"div",5),d(16,4),n(17,"spk-radio"),c(),p()()(),C(18,U,1,0,"spk-progress-bar",6)(19,X,2,0,"section")),a&2&&(r(3),u("routerLink",_(6,K,t.isDraft()?"/backup-draft":"/backup",t.backupId())),r(3),u("routerLink",_(9,L,t.isDraft()?"/backup-draft":"/backup",t.backupId())),r(3),u("routerLink",_(12,v,t.isDraft()?"/backup-draft":"/backup",t.backupId())),r(3),u("routerLink",_(15,G,t.isDraft()?"/backup-draft":"/backup",t.backupId())),r(3),u("routerLink",_(18,y,t.isDraft()?"/backup-draft":"/backup",t.backupId())),r(3),D(t.finishedLoading()?19:18))},dependencies:[h,E,B,I,M,b,$],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%}header[_ngcontent-%COMP%]{padding:1rem 1.5rem;border-bottom:1px solid var(--base-level-40)}header[_ngcontent-%COMP%] spk-stepper[_ngcontent-%COMP%]{width:100%}section[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:center;flex:1 0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:auto}"],changeDetection:0})};export{T as default};
1
+ import{o as g}from"./chunk-2ZYPGUOW.js";import"./chunk-L7FLOT6V.js";import"./chunk-Q67EYU7V.js";import"./chunk-DNHLTHLR.js";import{a as k}from"./chunk-N5K6ODRA.js";import"./chunk-47XDI5B5.js";import"./chunk-CK5N2PPF.js";import{a as I}from"./chunk-CMNODR42.js";import"./chunk-RKQDFV7W.js";import"./chunk-GEEPH37P.js";import"./chunk-7LD5V64E.js";import{a as N}from"./chunk-WZG34QS3.js";import"./chunk-4IJQ7AAQ.js";import"./chunk-OQEGPSC6.js";import{b as O}from"./chunk-KLIPTMVG.js";import{a as P,b as h,d as E,e as B}from"./chunk-AIOUSVMR.js";import"./chunk-THUAAYGA.js";import{o as $,p as M,t as b}from"./chunk-ECH6I3YN.js";import"./chunk-V5GVLIPJ.js";import"./chunk-2HS3CYRN.js";import"./chunk-UQH5ZQG7.js";import{Ab as s,Bb as p,C as m,Cb as n,Mb as d,Mc as A,Nb as c,Qa as r,X as l,db as f,ib as C,qc as R,rb as u,tc as _,wb as D}from"./chunk-DTPZU6NP.js";import"./chunk-C6Q5SG76.js";var K=(i,e)=>[i,e,"general"],L=(i,e)=>[i,e,"destination"],v=(i,e)=>[i,e,"source-data"],G=(i,e)=>[i,e,"schedule"],y=(i,e)=>[i,e,"options"];function U(i,e){i&1&&n(0,"spk-progress-bar",6)}function X(i,e){i&1&&(s(0,"section"),n(1,"router-outlet"),p())}var T=class i{#t=l(P);#e=l(g);#a=l(N);#i=l(O);isDraft=this.#e.isDraft;backupId=this.#e.backupId;finishedLoading=this.#e.finishedLoading;#o=k(this.#t.params);#n=k(this.#t.url);paramsChanged=A(()=>{let e=this.#o()?.id,a=!!this.#n()?.find(t=>t.path==="backup-draft");this.#e.backupId.set(e),e!=="new"?this.getBackup(e,a):this.getDefaults()});getDefaults(){this.#i.getApiV1Backupdefaults().pipe(m(1)).subscribe({next:e=>{this.#e.mapScheduleToForm(e.Schedule),this.#e.mapOptionsToForms(e.Backup),this.#e.backupDefaults.set(e),this.#e.finishedLoading.set(!0)}})}getBackup(e,a=!1){let t=o=>{this.#e.mapScheduleToForm(o.Schedule??null),o.Backup&&(this.#e.mapGeneralToForm(o.Backup),this.#e.mapDestinationToForm(o.Backup),this.#e.mapSourceDataToForm(o.Backup),this.#e.mapOptionsToForms(o.Backup)),this.#e.finishedLoading.set(!0)};if(a){this.isDraft.set(a);let o=this.#a.draftBackups().find(F=>F.id===e);if(!o){alert("Backup not found");return}t(o.data)}else this.#i.getApiV1BackupById({id:e}).subscribe({next:t})}static \u0275fac=function(a){return new(a||i)};static \u0275cmp=f({type:i,selectors:[["app-backup"]],features:[R([g])],decls:20,vars:21,consts:()=>{let e;e=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_RADIO: General `;let a;a=$localize`${"\uFFFD#8\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#8\uFFFD"}:CLOSE_TAG_SPK_RADIO: Destination `;let t;t=$localize`${"\uFFFD#11\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#11\uFFFD"}:CLOSE_TAG_SPK_RADIO: Source Data `;let o;o=$localize`${"\uFFFD#14\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#14\uFFFD"}:CLOSE_TAG_SPK_RADIO: Schedule `;let F;return F=$localize`${"\uFFFD#17\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#17\uFFFD"}:CLOSE_TAG_SPK_RADIO: Options `,[e,a,t,o,F,["step","","routerLinkActive","active",3,"routerLink"],[1,"indeterminate","primary"]]},template:function(a,t){a&1&&(n(0,"app-status-bar"),s(1,"header")(2,"spk-stepper")(3,"div",5),d(4,0),n(5,"spk-radio"),c(),p(),s(6,"div",5),d(7,1),n(8,"spk-radio"),c(),p(),s(9,"div",5),d(10,2),n(11,"spk-radio"),c(),p(),s(12,"div",5),d(13,3),n(14,"spk-radio"),c(),p(),s(15,"div",5),d(16,4),n(17,"spk-radio"),c(),p()()(),C(18,U,1,0,"spk-progress-bar",6)(19,X,2,0,"section")),a&2&&(r(3),u("routerLink",_(6,K,t.isDraft()?"/backup-draft":"/backup",t.backupId())),r(3),u("routerLink",_(9,L,t.isDraft()?"/backup-draft":"/backup",t.backupId())),r(3),u("routerLink",_(12,v,t.isDraft()?"/backup-draft":"/backup",t.backupId())),r(3),u("routerLink",_(15,G,t.isDraft()?"/backup-draft":"/backup",t.backupId())),r(3),u("routerLink",_(18,y,t.isDraft()?"/backup-draft":"/backup",t.backupId())),r(3),D(t.finishedLoading()?19:18))},dependencies:[h,E,B,I,M,b,$],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%}header[_ngcontent-%COMP%]{padding:1rem 1.5rem;border-bottom:1px solid var(--base-level-40)}header[_ngcontent-%COMP%] spk-stepper[_ngcontent-%COMP%]{width:100%}section[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:center;flex:1 0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:auto}"],changeDetection:0})};export{T as default};
@@ -1 +1 @@
1
- import{a as pe}from"./chunk-LK3VCLPO.js";import{b as ue,d as ce,g as Se,i as de,r as F}from"./chunk-4IJQ7AAQ.js";import{a as te}from"./chunk-OQEGPSC6.js";import{b as A}from"./chunk-KLIPTMVG.js";import{a as ne,b as ie,e as oe,g as ae,i as h,l as se,o as le,p as _e,r as re}from"./chunk-R3DRARWT.js";import{pa as ee}from"./chunk-2HS3CYRN.js";import{a as Te}from"./chunk-UQH5ZQG7.js";import{Ab as s,Bb as l,Cb as R,D as g,Gb as V,Lc as G,Mb as I,Nb as k,Ob as p,Qa as _,Rb as j,Sb as u,Tb as C,X as c,ca as x,da as z,db as E,fc as O,gb as X,hc as q,ib as L,ic as Z,jc as J,kc as f,lc as P,mc as N,oa as D,rb as m,sa as r,tb as S,vc as B,wb as v,wc as Y,xb as H,xc as Q,yb as K,zb as W}from"./chunk-DTPZU6NP.js";var y=class a{#e=c(Te);transform(n,...t){return this.#e.locale(),this.#e(n).fromNow()}static \u0275fac=function(t){return new(t||a)};static \u0275pipe=X({name:"appRelativeTime",type:a,pure:!0})};function Ae(a,n){if(a&1){let t=V();s(0,"spk-radio",10),u("click",function(){let i=x(t).$implicit,o=C();return z(o.pauseOption.set(i.value))}),O(1),l()}if(a&2){let t=n.$implicit,e=C();S("active",e.pauseOption()===t.value),_(),q(" ",t.label," ")}}var fe=[{label:$localize`5 minuts`,value:"5m"},{label:$localize`10 minuts`,value:"10m"},{label:$localize`15 minuts`,value:"15m"},{label:$localize`30 minuts`,value:"30m"},{label:$localize`1 hour`,value:"1h"},{label:$localize`4 hours`,value:"4h"},{label:$localize`8 hours`,value:"8h"},{label:$localize`24 hours`,value:"24h"},{label:$localize`Until resumed`,value:void 0}],b=class a{#e=c(A);pauseOptions=r(fe);closed=D();isSubmitting=r(!1);pauseTransfers=r(!1);pauseOption=r(void 0);submit(){this.isSubmitting.set(!0);let n=this.pauseTransfers()||null,t=this.pauseOption();this.#e.postApiV1ServerstatePause({duration:t,pauseTransfers:n}).pipe(g(()=>this.isSubmitting.set(!1))).subscribe({next:e=>{this.closed.emit()}})}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=E({type:a,selectors:[["app-pause-dialog"]],outputs:{closed:"closed"},decls:17,vars:4,consts:()=>{let n;n=$localize`Pause settings`;let t;t=$localize` Also pause transfers `;let e;e=$localize`If you pause transfers they could time out and cause retries or failures.`;let i;i=$localize`Cancel`;let o;return o=$localize` Update settings `,[n,t,e,i,o,["header",""],["content",""],[1,"radios"],[1,"primary","raised",3,"active"],[1,"check-wrap"],[1,"primary","raised",3,"click"],["type","warning"],["footer",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"click"]]},template:function(t,e){t&1&&(s(0,"header",5)(1,"h3"),p(2,0),l()(),s(3,"div",6)(4,"div",7),K(5,Ae,2,3,"spk-radio",8,H),l(),s(7,"div",9)(8,"spk-checkbox",10),u("click",function(){return e.pauseTransfers.set(!e.pauseTransfers())}),p(9,1),l(),s(10,"spk-alert",11),p(11,2),l()()(),s(12,"footer",12)(13,"button",13),u("click",function(){return e.closed.emit()}),p(14,3),l(),s(15,"button",14),u("click",function(){return e.submit()}),p(16,4),l()()),t&2&&(_(5),W(e.pauseOptions()),_(3),S("active",e.pauseTransfers()),_(7),S("loader",e.isSubmitting()))},dependencies:[F,_e,h,ie],styles:["[_nghost-%COMP%]{--dialog-p: 1.5rem;display:block}h3[_ngcontent-%COMP%]{font:var(--title-30)}.radios[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.check-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:2rem 0 0}"],changeDetection:0})};var Pe=["Byte/s","KByte/s","MByte/s","GByte/s","TByte/s","PByte/s"],$={Byte:"B",KByte:"KB",MByte:"MB",GByte:"GB",TByte:"TB",PByte:"PB"},ge=Object.entries($).reduce((a,[n,t])=>(a[t]=n,a),{}),M=class a{#e=c(A);closed=D();isSubmitting=r(!1);sizeOptions=r(Pe);maxUploadActive=r(!1);maxDownloadActive=r(!1);maxUpload=r(0);maxDownload=r(0);maxUploadUnit=r("MByte/s");maxDownloadUnit=r("MByte/s");ngOnInit(){this.init()}init(){this.#e.getApiV1Serversettings().subscribe({next:n=>{let t=n?.["max-upload-speed"]?.split(/(\d+)/),e=n?.["max-download-speed"]?.split(/(\d+)/),i=t[1]??"",o=e[1]??"",d=t[2]??"MB",T=e[2]??"MB",Ce=i===""?10:parseInt(i),Oe=o===""?10:parseInt(o);this.maxUploadUnit.set(ge[d]+"/s"),this.maxDownloadUnit.set(ge[T]+"/s"),this.maxUploadActive.set(i!==""),this.maxDownloadActive.set(o!==""),this.maxUpload.set(Ce),this.maxDownload.set(Oe)}})}blockDecimalKeys(n){if([".",","].includes(n.key))return n.preventDefault()}cleanupInputAfterPasting(n){n.preventDefault();let t=n.clipboardData?.getData("text/plain");if(!t)return;let e=t.replaceAll(/[\.,]/g,"");n.target.value=e}submit(){this.isSubmitting.set(!0);let n=this.maxUploadActive()?`${this.maxUpload()}${$[this.maxUploadUnit().replace("/s","")]}`:"",t=this.maxDownloadActive()?`${this.maxDownload()}${$[this.maxDownloadUnit().replace("/s","")]}`:"";this.#e.patchApiV1Serversettings({requestBody:{"max-upload-speed":n,"max-download-speed":t}}).pipe(g(()=>this.isSubmitting.set(!1))).subscribe({next:e=>{this.closed.emit(!0)}})}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=E({type:a,selectors:[["app-throttle-settings-dialog"]],outputs:{closed:"closed"},decls:26,vars:16,consts:()=>{let n;n=$localize`Throttle network speed`;let t;t=$localize` Max upload speed `;let e;e=$localize` Max download speed `;let i;i=$localize` Note that speeds are entered in bytes, and line speeds are typically reported in bits. Use a factor of 8 to convert, such that an 8 mbit/s line is equivalent to 1 MByte/s. `;let o;o=$localize`Cancel`;let d;return d=$localize` Update settings `,[n,t,e,i,o,d,["header",""],["content",""],[1,"column"],[1,"field-row"],[1,"primary","raised",3,"click"],["type","number",3,"paste","keydown","ngModelChange","ngModel","disabled"],[3,"isClearable","options"],["type","text",3,"ngModelChange","ngModel"],["footer",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"click"]]},template:function(t,e){t&1&&(s(0,"header",6)(1,"h3"),p(2,0),l()(),s(3,"div",7)(4,"div",8)(5,"div",9)(6,"spk-checkbox",10),u("click",function(){return e.maxUploadActive.set(!e.maxUploadActive())}),p(7,1),l(),s(8,"spk-form-field")(9,"input",11),u("paste",function(o){return e.cleanupInputAfterPasting(o)})("keydown",function(o){return e.blockDecimalKeys(o)}),N("ngModelChange",function(o){return P(e.maxUpload,o)||(e.maxUpload=o),o}),l()(),s(10,"spk-select",12)(11,"input",13),N("ngModelChange",function(o){return P(e.maxUploadUnit,o)||(e.maxUploadUnit=o),o}),l()()(),s(12,"div",9)(13,"spk-checkbox",10),u("click",function(){return e.maxDownloadActive.set(!e.maxDownloadActive())}),p(14,2),l(),s(15,"spk-form-field")(16,"input",11),u("paste",function(o){return e.cleanupInputAfterPasting(o)})("keydown",function(o){return e.blockDecimalKeys(o)}),N("ngModelChange",function(o){return P(e.maxDownload,o)||(e.maxDownload=o),o}),l()(),s(17,"spk-select",12)(18,"input",13),N("ngModelChange",function(o){return P(e.maxDownloadUnit,o)||(e.maxDownloadUnit=o),o}),l()()(),s(19,"p"),p(20,3),l()()(),s(21,"footer",14)(22,"button",15),u("click",function(){return e.closed.emit(!1)}),p(23,4),l(),s(24,"button",16),u("click",function(){return e.submit()}),p(25,5),l()()),t&2&&(_(6),S("active",e.maxUploadActive()),_(3),f("ngModel",e.maxUpload),m("disabled",!e.maxUploadActive()),_(),m("isClearable",!1)("options",e.sizeOptions()),_(),f("ngModel",e.maxUploadUnit),_(2),S("active",e.maxDownloadActive()),_(3),f("ngModel",e.maxDownload),m("disabled",!e.maxDownloadActive()),_(),m("isClearable",!1)("options",e.sizeOptions()),_(),f("ngModel",e.maxDownloadUnit),_(6),S("loader",e.isSubmitting()))},dependencies:[F,ue,de,ce,Se,se,h,re],styles:["[_nghost-%COMP%]{display:block}h3[_ngcontent-%COMP%]{font:var(--title-30)}.column[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.field-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;width:100%}"],changeDetection:0})};function Ne(a,n){if(a&1&&(s(0,"div"),O(1),l(),R(2,"spk-progress-bar",8)),a&2){let t=C();_(),Z("",t.statusData().actionText," - ",t.statusData().statusText,""),_(),m("value",t.statusData().progress*100)}}function Me(a,n){if(a&1&&(s(0,"div",5),O(1),B(2,"appRelativeTime"),B(3,"date"),l()),a&2){let t,e=C();_(),J(" ",(t=e.nextBackup().backup)==null||t.Backup==null?null:t.Backup.Name," - ",Y(2,3,e.nextBackup().time)," at ",Q(3,5,e.nextBackup().time,"shortTime")," ")}}function De(a,n){a&1&&(s(0,"div",5),p(1,1),l())}function Re(a,n){a&1&&(s(0,"div",5),p(1,2),l())}function Ie(a,n){a&1&&(I(0,0,1),R(1,"spk-icon"),k())}function ke(a,n){a&1&&(I(0,0,2),R(1,"spk-icon"),k())}var Ee=new Date,w=class a{#e=c(A);#t=c(pe);#n=c(oe);#i=c(te);minsAgo=Ee.setMinutes(Ee.getMinutes()-1);statusData=this.#t.statusData;serverState=this.#t.serverState;isRunning=G(()=>this.serverState()?.ProgramState==="Running");isResuming=r(!1);nextBackup=G(()=>({backup:this.serverState()?.ProposedSchedule?.[0]?.backup,time:this.serverState()?.ProposedSchedule?.[0]?.Item2}));openThrottleSettingsDialog(){this.#n.open(M,{maxWidth:"550px",width:"100%"})}openPauseDialog(){this.#n.open(b,{maxWidth:"550px",width:"100%"})}pauseResume(){if(this.isRunning()){this.openPauseDialog();return}this.isResuming.set(!0),this.#e.postApiV1ServerstateResume().pipe(g(()=>this.isResuming.set(!1))).subscribe()}ngAfterViewInit(){let n=this.#i.relayIsEnabled()?"longpoll":"websocket";this.#t.setConnectionMethod(n)}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=E({type:a,selectors:[["app-status-bar"]],decls:14,vars:4,consts:()=>{let n;n=$localize`${"\uFFFD*9:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:pause${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Pause ${"\uFFFD/*9:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*10:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:play${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Start ${"\uFFFD/*10:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,n=j(n);let t;t=$localize`No scheduled tasks`;let e;return e=$localize`Loading...`,[n,t,e,[1,"current-backup"],[1,"current-backup-progress"],[1,"label"],[1,"current-backup-actions"],["spk-button","",3,"click"],[1,"raised","primary",3,"value"]]},template:function(t,e){if(t&1&&(s(0,"div",3)(1,"div",4),L(2,Ne,3,3)(3,Me,4,8,"div",5)(4,De,2,0,"div",5)(5,Re,2,0,"div",5),l(),s(6,"div",6)(7,"button",7),u("click",function(){return e.pauseResume()}),I(8,0),L(9,Ie,2,0)(10,ke,2,0),k(),l(),s(11,"button",7),u("click",function(){return e.openThrottleSettingsDialog()}),s(12,"spk-icon"),O(13,"speedometer"),l()()()()),t&2){let i;_(2),v((i=e.serverState())!=null&&i.ActiveTask&&(!((i=e.statusData())==null||i.task==null)&&i.task.Status)&&((i=e.statusData())==null||i.task==null?null:i.task.Status)!=="Completed"?2:e.nextBackup().backup||e.nextBackup().time?3:(i=e.serverState())!=null&&i.ActiveTask?5:4),_(5),S("loader",e.isResuming()),_(2),v(e.isRunning()?9:10)}},dependencies:[le,y,ee,ne,ae],styles:["[_nghost-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:1rem;min-height:3.875rem;border-bottom:1px solid var(--base-level-40)}.current-backup[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%;gap:.5rem}.current-backup-progress[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;min-width:18.75rem}.current-backup-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}"],changeDetection:0})};export{w as a};
1
+ import{a as pe}from"./chunk-RKQDFV7W.js";import{b as ue,d as ce,g as Se,i as de,r as F}from"./chunk-4IJQ7AAQ.js";import{a as te}from"./chunk-OQEGPSC6.js";import{b as A}from"./chunk-KLIPTMVG.js";import{a as ne,b as ie,e as oe,g as ae,i as h,l as se,o as le,p as _e,r as re}from"./chunk-ECH6I3YN.js";import{pa as ee}from"./chunk-2HS3CYRN.js";import{a as Te}from"./chunk-UQH5ZQG7.js";import{Ab as s,Bb as l,Cb as R,D as g,Gb as V,Lc as G,Mb as I,Nb as k,Ob as p,Qa as _,Rb as j,Sb as u,Tb as C,X as c,ca as x,da as z,db as E,fc as O,gb as X,hc as q,ib as L,ic as Z,jc as J,kc as f,lc as P,mc as N,oa as D,rb as m,sa as r,tb as S,vc as B,wb as v,wc as Y,xb as H,xc as Q,yb as K,zb as W}from"./chunk-DTPZU6NP.js";var y=class a{#e=c(Te);transform(n,...t){return this.#e.locale(),this.#e(n).fromNow()}static \u0275fac=function(t){return new(t||a)};static \u0275pipe=X({name:"appRelativeTime",type:a,pure:!0})};function Ae(a,n){if(a&1){let t=V();s(0,"spk-radio",10),u("click",function(){let i=x(t).$implicit,o=C();return z(o.pauseOption.set(i.value))}),O(1),l()}if(a&2){let t=n.$implicit,e=C();S("active",e.pauseOption()===t.value),_(),q(" ",t.label," ")}}var fe=[{label:$localize`5 minuts`,value:"5m"},{label:$localize`10 minuts`,value:"10m"},{label:$localize`15 minuts`,value:"15m"},{label:$localize`30 minuts`,value:"30m"},{label:$localize`1 hour`,value:"1h"},{label:$localize`4 hours`,value:"4h"},{label:$localize`8 hours`,value:"8h"},{label:$localize`24 hours`,value:"24h"},{label:$localize`Until resumed`,value:void 0}],b=class a{#e=c(A);pauseOptions=r(fe);closed=D();isSubmitting=r(!1);pauseTransfers=r(!1);pauseOption=r(void 0);submit(){this.isSubmitting.set(!0);let n=this.pauseTransfers()||null,t=this.pauseOption();this.#e.postApiV1ServerstatePause({duration:t,pauseTransfers:n}).pipe(g(()=>this.isSubmitting.set(!1))).subscribe({next:e=>{this.closed.emit()}})}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=E({type:a,selectors:[["app-pause-dialog"]],outputs:{closed:"closed"},decls:17,vars:4,consts:()=>{let n;n=$localize`Pause settings`;let t;t=$localize` Also pause transfers `;let e;e=$localize`If you pause transfers they could time out and cause retries or failures.`;let i;i=$localize`Cancel`;let o;return o=$localize` Update settings `,[n,t,e,i,o,["header",""],["content",""],[1,"radios"],[1,"primary","raised",3,"active"],[1,"check-wrap"],[1,"primary","raised",3,"click"],["type","warning"],["footer",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"click"]]},template:function(t,e){t&1&&(s(0,"header",5)(1,"h3"),p(2,0),l()(),s(3,"div",6)(4,"div",7),K(5,Ae,2,3,"spk-radio",8,H),l(),s(7,"div",9)(8,"spk-checkbox",10),u("click",function(){return e.pauseTransfers.set(!e.pauseTransfers())}),p(9,1),l(),s(10,"spk-alert",11),p(11,2),l()()(),s(12,"footer",12)(13,"button",13),u("click",function(){return e.closed.emit()}),p(14,3),l(),s(15,"button",14),u("click",function(){return e.submit()}),p(16,4),l()()),t&2&&(_(5),W(e.pauseOptions()),_(3),S("active",e.pauseTransfers()),_(7),S("loader",e.isSubmitting()))},dependencies:[F,_e,h,ie],styles:["[_nghost-%COMP%]{--dialog-p: 1.5rem;display:block}h3[_ngcontent-%COMP%]{font:var(--title-30)}.radios[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.check-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:2rem 0 0}"],changeDetection:0})};var Pe=["Byte/s","KByte/s","MByte/s","GByte/s","TByte/s","PByte/s"],$={Byte:"B",KByte:"KB",MByte:"MB",GByte:"GB",TByte:"TB",PByte:"PB"},ge=Object.entries($).reduce((a,[n,t])=>(a[t]=n,a),{}),M=class a{#e=c(A);closed=D();isSubmitting=r(!1);sizeOptions=r(Pe);maxUploadActive=r(!1);maxDownloadActive=r(!1);maxUpload=r(0);maxDownload=r(0);maxUploadUnit=r("MByte/s");maxDownloadUnit=r("MByte/s");ngOnInit(){this.init()}init(){this.#e.getApiV1Serversettings().subscribe({next:n=>{let t=n?.["max-upload-speed"]?.split(/(\d+)/),e=n?.["max-download-speed"]?.split(/(\d+)/),i=t[1]??"",o=e[1]??"",d=t[2]??"MB",T=e[2]??"MB",Ce=i===""?10:parseInt(i),Oe=o===""?10:parseInt(o);this.maxUploadUnit.set(ge[d]+"/s"),this.maxDownloadUnit.set(ge[T]+"/s"),this.maxUploadActive.set(i!==""),this.maxDownloadActive.set(o!==""),this.maxUpload.set(Ce),this.maxDownload.set(Oe)}})}blockDecimalKeys(n){if([".",","].includes(n.key))return n.preventDefault()}cleanupInputAfterPasting(n){n.preventDefault();let t=n.clipboardData?.getData("text/plain");if(!t)return;let e=t.replaceAll(/[\.,]/g,"");n.target.value=e}submit(){this.isSubmitting.set(!0);let n=this.maxUploadActive()?`${this.maxUpload()}${$[this.maxUploadUnit().replace("/s","")]}`:"",t=this.maxDownloadActive()?`${this.maxDownload()}${$[this.maxDownloadUnit().replace("/s","")]}`:"";this.#e.patchApiV1Serversettings({requestBody:{"max-upload-speed":n,"max-download-speed":t}}).pipe(g(()=>this.isSubmitting.set(!1))).subscribe({next:e=>{this.closed.emit(!0)}})}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=E({type:a,selectors:[["app-throttle-settings-dialog"]],outputs:{closed:"closed"},decls:26,vars:16,consts:()=>{let n;n=$localize`Throttle network speed`;let t;t=$localize` Max upload speed `;let e;e=$localize` Max download speed `;let i;i=$localize` Note that speeds are entered in bytes, and line speeds are typically reported in bits. Use a factor of 8 to convert, such that an 8 mbit/s line is equivalent to 1 MByte/s. `;let o;o=$localize`Cancel`;let d;return d=$localize` Update settings `,[n,t,e,i,o,d,["header",""],["content",""],[1,"column"],[1,"field-row"],[1,"primary","raised",3,"click"],["type","number",3,"paste","keydown","ngModelChange","ngModel","disabled"],[3,"isClearable","options"],["type","text",3,"ngModelChange","ngModel"],["footer",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"click"]]},template:function(t,e){t&1&&(s(0,"header",6)(1,"h3"),p(2,0),l()(),s(3,"div",7)(4,"div",8)(5,"div",9)(6,"spk-checkbox",10),u("click",function(){return e.maxUploadActive.set(!e.maxUploadActive())}),p(7,1),l(),s(8,"spk-form-field")(9,"input",11),u("paste",function(o){return e.cleanupInputAfterPasting(o)})("keydown",function(o){return e.blockDecimalKeys(o)}),N("ngModelChange",function(o){return P(e.maxUpload,o)||(e.maxUpload=o),o}),l()(),s(10,"spk-select",12)(11,"input",13),N("ngModelChange",function(o){return P(e.maxUploadUnit,o)||(e.maxUploadUnit=o),o}),l()()(),s(12,"div",9)(13,"spk-checkbox",10),u("click",function(){return e.maxDownloadActive.set(!e.maxDownloadActive())}),p(14,2),l(),s(15,"spk-form-field")(16,"input",11),u("paste",function(o){return e.cleanupInputAfterPasting(o)})("keydown",function(o){return e.blockDecimalKeys(o)}),N("ngModelChange",function(o){return P(e.maxDownload,o)||(e.maxDownload=o),o}),l()(),s(17,"spk-select",12)(18,"input",13),N("ngModelChange",function(o){return P(e.maxDownloadUnit,o)||(e.maxDownloadUnit=o),o}),l()()(),s(19,"p"),p(20,3),l()()(),s(21,"footer",14)(22,"button",15),u("click",function(){return e.closed.emit(!1)}),p(23,4),l(),s(24,"button",16),u("click",function(){return e.submit()}),p(25,5),l()()),t&2&&(_(6),S("active",e.maxUploadActive()),_(3),f("ngModel",e.maxUpload),m("disabled",!e.maxUploadActive()),_(),m("isClearable",!1)("options",e.sizeOptions()),_(),f("ngModel",e.maxUploadUnit),_(2),S("active",e.maxDownloadActive()),_(3),f("ngModel",e.maxDownload),m("disabled",!e.maxDownloadActive()),_(),m("isClearable",!1)("options",e.sizeOptions()),_(),f("ngModel",e.maxDownloadUnit),_(6),S("loader",e.isSubmitting()))},dependencies:[F,ue,de,ce,Se,se,h,re],styles:["[_nghost-%COMP%]{display:block}h3[_ngcontent-%COMP%]{font:var(--title-30)}.column[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.field-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;width:100%}"],changeDetection:0})};function Ne(a,n){if(a&1&&(s(0,"div"),O(1),l(),R(2,"spk-progress-bar",8)),a&2){let t=C();_(),Z("",t.statusData().actionText," - ",t.statusData().statusText,""),_(),m("value",t.statusData().progress*100)}}function Me(a,n){if(a&1&&(s(0,"div",5),O(1),B(2,"appRelativeTime"),B(3,"date"),l()),a&2){let t,e=C();_(),J(" ",(t=e.nextBackup().backup)==null||t.Backup==null?null:t.Backup.Name," - ",Y(2,3,e.nextBackup().time)," at ",Q(3,5,e.nextBackup().time,"shortTime")," ")}}function De(a,n){a&1&&(s(0,"div",5),p(1,1),l())}function Re(a,n){a&1&&(s(0,"div",5),p(1,2),l())}function Ie(a,n){a&1&&(I(0,0,1),R(1,"spk-icon"),k())}function ke(a,n){a&1&&(I(0,0,2),R(1,"spk-icon"),k())}var Ee=new Date,w=class a{#e=c(A);#t=c(pe);#n=c(oe);#i=c(te);minsAgo=Ee.setMinutes(Ee.getMinutes()-1);statusData=this.#t.statusData;serverState=this.#t.serverState;isRunning=G(()=>this.serverState()?.ProgramState==="Running");isResuming=r(!1);nextBackup=G(()=>({backup:this.serverState()?.ProposedSchedule?.[0]?.backup,time:this.serverState()?.ProposedSchedule?.[0]?.Item2}));openThrottleSettingsDialog(){this.#n.open(M,{maxWidth:"550px",width:"100%"})}openPauseDialog(){this.#n.open(b,{maxWidth:"550px",width:"100%"})}pauseResume(){if(this.isRunning()){this.openPauseDialog();return}this.isResuming.set(!0),this.#e.postApiV1ServerstateResume().pipe(g(()=>this.isResuming.set(!1))).subscribe()}ngAfterViewInit(){let n=this.#i.relayIsEnabled()?"longpoll":"websocket";this.#t.setConnectionMethod(n)}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=E({type:a,selectors:[["app-status-bar"]],decls:14,vars:4,consts:()=>{let n;n=$localize`${"\uFFFD*9:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:pause${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Pause ${"\uFFFD/*9:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*10:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:play${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Start ${"\uFFFD/*10:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,n=j(n);let t;t=$localize`No scheduled tasks`;let e;return e=$localize`Loading...`,[n,t,e,[1,"current-backup"],[1,"current-backup-progress"],[1,"label"],[1,"current-backup-actions"],["spk-button","",3,"click"],[1,"raised","primary",3,"value"]]},template:function(t,e){if(t&1&&(s(0,"div",3)(1,"div",4),L(2,Ne,3,3)(3,Me,4,8,"div",5)(4,De,2,0,"div",5)(5,Re,2,0,"div",5),l(),s(6,"div",6)(7,"button",7),u("click",function(){return e.pauseResume()}),I(8,0),L(9,Ie,2,0)(10,ke,2,0),k(),l(),s(11,"button",7),u("click",function(){return e.openThrottleSettingsDialog()}),s(12,"spk-icon"),O(13,"speedometer"),l()()()()),t&2){let i;_(2),v((i=e.serverState())!=null&&i.ActiveTask&&(!((i=e.statusData())==null||i.task==null)&&i.task.Status)&&((i=e.statusData())==null||i.task==null?null:i.task.Status)!=="Completed"?2:e.nextBackup().backup||e.nextBackup().time?3:(i=e.serverState())!=null&&i.ActiveTask?5:4),_(5),S("loader",e.isResuming()),_(2),v(e.isRunning()?9:10)}},dependencies:[le,y,ee,ne,ae],styles:["[_nghost-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:1rem;min-height:3.875rem;border-bottom:1px solid var(--base-level-40)}.current-backup[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%;gap:.5rem}.current-backup-progress[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;min-width:18.75rem}.current-backup-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}"],changeDetection:0})};export{w as a};
@@ -0,0 +1 @@
1
+ import{ia as Fe}from"./chunk-2HS3CYRN.js";import{Ab as a,Bb as c,Cb as j,Ec as Ve,Fb as ee,Gb as B,Lc as I,Mc as R,Oc as Se,Qa as g,R as se,Sa as pe,Sb as b,Tb as f,Ub as w,Vb as h,X as H,Xa as q,Ya as Ee,Za as Te,_a as F,a as Oe,aa as be,bc as fe,ca as k,cc as $,da as y,db as x,dc as Q,ec as Re,fb as Me,fc as S,ha as re,hc as G,ia as ae,ib as O,ic as ie,kc as me,lc as ge,mc as ve,na as le,nb as Ie,nc as _e,oa as Y,oc as K,pa as m,pc as W,qa as A,ra as ce,rb as X,rc as Ce,sa as C,sb as U,sc as ne,tb as V,ub as J,vb as te,wb as T,xb as de,yb as ue,zb as he}from"./chunk-DTPZU6NP.js";import{a as N,b as Z,c as we}from"./chunk-C6Q5SG76.js";var L=["*"],ze=[[["","icon",""]],[["","title",""]],"*",[["","content",""]]],qe=["[icon]","[title]","*","[content]"];function Ue(n,u){n&1&&(a(0,"spk-icon",3),S(1,"info"),c())}function $e(n,u){n&1&&(a(0,"spk-icon",3),S(1,"info"),c())}function Qe(n,u){n&1&&(a(0,"spk-icon",3),S(1,"warning"),c())}function Ne(n,u){n&1&&(a(0,"spk-icon",3),S(1,"warning-octagon"),c())}function Ye(n,u){n&1&&(a(0,"spk-icon",3),S(1,"check-circle"),c())}function Xe(n,u){n&1&&(a(0,"spk-icon",3),S(1,"question"),c())}function Ge(n,u){if(n&1){let t=B();a(0,"spk-icon",7),b("click",function(){k(t);let i=f();return y(i.removeAlert())}),S(1,"plus"),c()}}var Ke=["dialogRef"];function Je(n,u){if(n&1){let t=B();a(0,"div",4),b("click",function(){k(t);let i=f();return y(i.isOpen.set(!1))}),c()}}var Ze=["spk-button",""];var Pe=["triggerRef"],et=["popoverRef"],tt=[[["","trigger",""]],"*"],it=["[trigger]","*"];var nt=()=>({closeOnButton:!1,closeOnEsc:!0});var ot=[[["label"]],[["","prefix",""]],[["","textPrefix",""]],[["input"]],[["textarea"]],[["","textSuffix",""]],[["","suffix",""]],[["","error",""]],[["","hint",""]]],st=["label","[prefix]","[textPrefix]","input","textarea","[textSuffix]","[suffix]","[error]","[hint]"];var rt=["option"],at=["input"],lt=["*",[["","menu",""]]],ct=["*","[menu]"],pt=[[["label"]],"*"],dt=["label","*"],ut=["optionsWrap"],ht=[[["label"]],[["input"]],[["textarea"]]],ft=["label","input","textarea"],mt=()=>({closeOnButton:!1,closeOnEsc:!1}),ye=n=>({$implicit:n});function gt(n,u){if(n&1&&S(0),n&2){let t=f();G(" ",t.inputValue()," ")}}function vt(n,u){n&1&&ee(0)}function _t(n,u){if(n&1&&O(0,vt,1,0,"ng-container",13),n&2){let t=f(3).$implicit;f(2);let e=W(6);X("ngTemplateOutlet",e)("ngTemplateOutletContext",ne(2,ye,t))}}function Ct(n,u){if(n&1&&S(0),n&2){let t=f(3).$implicit,e=f(2);G(" ",e.getLabel(t)," ")}}function St(n,u){if(n&1){let t=B();a(0,"spk-chip",11),O(1,_t,1,4,"ng-container")(2,Ct,1,1),a(3,"spk-icon",12),b("click",function(i){k(t);let o=f(2).$index,s=f(2);return y(s.removeSelectedOptionByIndex(i,o))}),S(4,"x-bold"),c()()}if(n&2){let t=f(4),e=W(6);te(t.selectClasses()),g(),T(e?1:2)}}function kt(n,u){n&1&&ee(0)}function yt(n,u){if(n&1&&O(0,kt,1,0,"ng-container",13),n&2){let t=f(4).$implicit;f(2);let e=W(6);X("ngTemplateOutlet",e)("ngTemplateOutletContext",ne(2,ye,t))}}function Dt(n,u){if(n&1&&S(0),n&2){let t=f(4).$implicit,e=f(2);G(" ",e.getLabel(t)," ")}}function xt(n,u){if(n&1&&O(0,yt,1,4,"ng-container")(1,Dt,1,1),n&2){f(5);let t=W(6);T(t?0:1)}}function wt(n,u){if(n&1&&O(0,xt,2,1),n&2){f(4);let t=W(9);T(t?-1:0)}}function Ot(n,u){if(n&1&&O(0,St,5,3,"spk-chip",10)(1,wt,1,1),n&2){f(3);let t=W(8);T(t?0:1)}}function bt(n,u){if(n&1&&O(0,Ot,2,1),n&2){let t=u.$implicit;T(t?0:-1)}}function Et(n,u){if(n&1&&ue(0,bt,1,1,null,null,de),n&2){f();let t=W(4);he(t)}}function Tt(n,u){n&1&&ee(0)}function Mt(n,u){if(n&1&&O(0,Tt,1,0,"ng-container",14),n&2){f(2);let t=W(0);X("ngTemplateOutlet",t)}}function It(n,u){if(n&1&&S(0),n&2){let t,e=f(2);G(" ",(t=e.placeholderText())!==null&&t!==void 0?t:""," ")}}function Rt(n,u){if(n&1&&O(0,Mt,1,1,"ng-container")(1,It,1,1),n&2){f();let t=W(0);T(t?0:1)}}function Vt(n,u){n&1&&(a(0,"spk-icon",6),S(1,"caret-down"),c())}function Ft(n,u){n&1&&j(0,"spk-spinner",7)}function Pt(n,u){n&1&&(a(0,"spk-icon",6),S(1,"list-magnifying-glass"),c())}function At(n,u){n&1&&(a(0,"spk-icon",6),S(1,"magnifying-glass"),c())}function Lt(n,u){if(n&1){let t=B();a(0,"spk-icon",15),b("click",function(i){k(t);let o=f();return y(o.clear(i))}),S(1,"x-bold"),c()}}function Ht(n,u){n&1&&(a(0,"spk-icon",6),S(1,"caret-down"),c())}function jt(n,u){n&1&&(a(0,"spk-icon",6),S(1,"caret-up"),c())}function Bt(n,u){if(n&1&&j(0,"spk-checkbox"),n&2){let t=f().$index,e=f();te(e.selectClasses()),V("active",e.isSelected(t))}}function Wt(n,u){n&1&&ee(0)}function zt(n,u){if(n&1&&O(0,Wt,1,0,"ng-container",13),n&2){let t=f().$implicit;f();let e=W(7);X("ngTemplateOutlet",e)("ngTemplateOutletContext",ne(2,ye,t))}}function qt(n,u){if(n&1&&S(0),n&2){let t=f().$implicit,e=f();G(" ",e.getLabel(t)," ")}}function Ut(n,u){if(n&1){let t=B();a(0,"li",16),b("click",function(){let i=k(t).$index,o=f();return y(o.toggleOptionByIndex(i))}),O(1,Bt,1,4,"spk-checkbox",17)(2,zt,1,4,"ng-container")(3,qt,1,1),c()}if(n&2){let t=u.$index,e=f(),i=W(7);V("selected",e.isSelected(t))("focused",t===e.focusedOptionIndex()),g(),T(e.selectMultiple()?1:-1),g(),T(i?2:3)}}var $t=["dragImageElement"],Qt=[[["","sidenav",""]],[["","sidenav-closed-topbar",""]],"*"],Nt=["[sidenav]","[sidenav-closed-topbar]","*"];function Yt(n,u){n&1&&j(0,"div",1,0)}function Xt(n,u){if(n&1){let t=B();a(0,"div",7),b("drop",function(i){k(t);let o=f();return y(o.drop(i))})("dragover",function(i){k(t);let o=f();return y(o.dragOver(i))})("dragenter",function(){k(t);let i=f();return y(i.dragEnter())})("dragleave",function(){k(t);let i=f();return y(i.dragLeave())}),c()}}function Gt(n,u){if(n&1){let t=B();a(0,"div",8),b("dragstart",function(i){k(t);let o=f();return y(o.dragStart(i))})("dragend",function(i){k(t);let o=f();return y(o.dragEnd(i))})("drag",function(i){k(t);let o=f();return y(o.drag(i))})("touchstart",function(i){k(t);let o=f();return y(o.touchStart(i))})("touchmove",function(i){k(t);let o=f();return y(o.touchMove(i))})("touchend",function(i){k(t);let o=f();return y(o.touchEnd(i))})("touchcancel",function(i){k(t);let o=f();return y(o.touchCancel(i))}),c()}}var Kt=["thead"],Jt=[[["","table-header",""]],"*",[["","table-no-rows",""]]],Zt=["[table-header]","*","[table-no-rows]"];function ei(n,u){n&1&&j(0,"spk-progress-bar",1)}function ti(n,u){n&1&&(a(0,"div",2),h(1,2),c())}var ii=[[["","title",""]],"*"],ni=["[title]","*"];function oi(n,u){n&1&&S(0,"Title")}function si(n,u){n&1&&(a(0,"spk-icon",1),S(1,"caret-down"),c())}var ri=["tooltipRef"];var ke=["bold","thin","light","fill"],oe=(()=>{class n{#e=H(A);get currentClass(){let t=this.#e.nativeElement.innerText;for(let e=0;e<ke.length;e++)if(t.endsWith(ke[e]))return ke[e];return""}static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275cmp=x({type:n,selectors:[["spk-icon"]],hostVars:2,hostBindings:function(e,i){e&2&&te(i.currentClass)},ngContentSelectors:L,decls:1,vars:0,template:function(e,i){e&1&&(w(),h(0))},encapsulation:2,changeDetection:0})}}return n})(),ji=(()=>{class n{constructor(){this._el=H(A),this.alertService=m(null),this.id=m(null),this.alertClasses=I(()=>this._el.nativeElement.classList.toString())}removeAlert(){this.id()&&this.alertService()&&this.alertService()?.removeAlert(this.id())}static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275cmp=x({type:n,selectors:[["spk-alert"]],inputs:{alertService:[1,"alertService"],id:[1,"id"]},ngContentSelectors:qe,decls:18,vars:4,consts:[["ref",""],[1,"alert"],[1,"icon"],[1,"state-icon"],[1,"title"],[1,"close-icon"],[1,"content"],[1,"close-icon",3,"click"]],template:function(e,i){if(e&1&&(w(ze),a(0,"div",1)(1,"div",2,0),h(3),c(),a(4,"div",2),_e(5),O(6,Ue,2,0,"spk-icon",3)(7,$e,2,0,"spk-icon",3)(8,Qe,2,0,"spk-icon",3)(9,Ne,2,0,"spk-icon",3)(10,Ye,2,0,"spk-icon",3)(11,Xe,2,0,"spk-icon",3),c(),a(12,"div",4),h(13,1),h(14,2),c(),O(15,Ge,2,0,"spk-icon",5),a(16,"div",6),h(17,3),c()()),e&2){let o=Re(2);g(),U("display",o.children.length?"block":"none");let s=i.alertClasses();g(5),T(s.includes("primary")?6:s.includes("accent")?7:s.includes("warn")?8:s.includes("error")?9:s.includes("success")?10:11),g(9),T(i.id()?15:-1)}},dependencies:[oe],encapsulation:2,changeDetection:0})}}return n})();function De(){return Date.now().toString(36)+Math.random().toString(36).substring(2)}var Bi=(()=>{class n{constructor(){this.alertHistory=C([]),this.alertHistoryIsOpen=C(!1),this.alertHistoryIsHidden=C(!0)}error(t){this.addAlert({type:"error",title:t??"An error occured"})}success(t){this.addAlert({type:"success",title:t})}question(t){this.addAlert({type:"question",title:t})}warning(t){this.addAlert({type:"warn",title:t})}info(t){this.addAlert({type:"primary",title:t})}addAlert(t){let e=De();this.alertHistory.update(i=>[Z(N({},t),{isOpen:!0,animateIn:!0,animateOut:!1,id:e}),...i]),setTimeout(()=>{this.alertHistory.update(i=>i.map(o=>Z(N({},o),{animateIn:o.id===e?!1:o.animateIn})))},40),setTimeout(()=>{this.hideAlert(e)},2500)}removeAlert(t){this.alertHistory.update(e=>e.map(i=>Z(N({},i),{animateOut:i.id===t?!1:i.animateOut}))),setTimeout(()=>{this.alertHistory.update(e=>e.filter(i=>i.id!==t))},300)}hideAlert(t){this.alertHistory.update(e=>e.map(i=>Z(N({},i),{isOpen:i.id===t?!1:i.isOpen})))}setHidden(t){this.alertHistoryIsHidden.set(t)}static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275prov=se({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})(),ai={width:void 0,maxWidth:void 0,height:void 0,maxHeight:void 0,closeOnButton:!0,closeOnEsc:!0,closeOnOutsideClick:!0},li=(()=>{class n{constructor(){this.dialogRef=q("dialogRef"),this.isOpen=F(!1),this.options=m(),this.closed=Y(),this.defaultOptionMerge=I(()=>N(N({},ai),this.options())),this.abortController=null,this.isOpenEffect=R(()=>{let t=this.dialogRef()?.nativeElement;this.abortController&&this.abortController.abort(),this.abortController=new AbortController,this.isOpen()?(t?.showModal(),t?.addEventListener("close",()=>{this.isOpen.set(!1),this.closed.emit()},{signal:this.abortController?.signal}),document.addEventListener("keydown",e=>{e.key==="Escape"&&!this.defaultOptionMerge().closeOnEsc&&e.preventDefault(),e.key==="Escape"&&this.defaultOptionMerge().closeOnEsc&&this.isOpen.set(!1)},{signal:this.abortController?.signal})):(this.closed.emit(),t?.close())})}ngOnDestroy(){this.abortController?.abort()}static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275cmp=x({type:n,selectors:[["spk-dialog"]],viewQuery:function(e,i){e&1&&$(i.dialogRef,Ke,5),e&2&&Q()},inputs:{isOpen:[1,"isOpen"],options:[1,"options"]},outputs:{isOpen:"isOpenChange",closed:"closed"},ngContentSelectors:L,decls:5,vars:9,consts:[["dialogRef",""],["spkDialog",""],[1,"content"],[1,"closeable-overlay"],[1,"closeable-overlay",3,"click"]],template:function(e,i){if(e&1&&(w(),a(0,"dialog",1,0)(2,"div",2),h(3),c(),O(4,Je,1,0,"div",3),c()),e&2){let o,s,r,p;U("width",(o=i.defaultOptionMerge().width)!==null&&o!==void 0?o:"")("max-width",(s=i.defaultOptionMerge().maxWidth)!==null&&s!==void 0?s:"")("max-height",(r=i.defaultOptionMerge().maxHeight)!==null&&r!==void 0?r:"")("height",(p=i.defaultOptionMerge().height)!==null&&p!==void 0?p:""),g(4),T(i.defaultOptionMerge().closeOnOutsideClick?4:-1)}},encapsulation:2,changeDetection:0})}}return n})(),Wi=(()=>{class n{constructor(){this.#e=document.querySelector("body"),this.#t=H(Ie),this.compRef=null,this.insertedCompRef=null,this.closedFieldSub=null,this.compClosedSub=null}#e;#t;open(t,e){let i=this.#t.injector,o=this.#o(),M=e||{},{data:s,closed:r}=M,p=we(M,["data","closed"]);this.compRef&&this.#n(),this.insertedCompRef=Se(t,{environmentInjector:i}),this.compRef=Se(li,{hostElement:o,environmentInjector:i,projectableNodes:[[this.insertedCompRef.location.nativeElement]]});let d=this.insertedCompRef.instance?.data,l=this.insertedCompRef.instance?.closed;if(s){if(ce(d))this.insertedCompRef.setInput("data",s);else if(!ce(d))throw new Error("data is not an input signal on the passed component")}l instanceof le&&(this.closedFieldSub=l.subscribe((...P)=>{r?.(...P),this.#n()})),this.#t.attachView(this.insertedCompRef.hostView),this.#t.attachView(this.compRef.hostView),this.insertedCompRef.changeDetectorRef.detectChanges(),this.compRef.changeDetectorRef.detectChanges(),this.compRef.instance.isOpen.set(!0),this.compRef.setInput("options",p),this.compRef.instance.closed.subscribe(()=>D());let _=this;function D(){l&&l instanceof le?l.emit(!1):r?.(void 0),_.#n()}return{component:this.insertedCompRef.instance,close:D}}#o(){let t=document.createElement("spk-dialog-ref");return t.id="spk-dialog-ref",document.getElementById("spk-dialog-ref")||this.#e.append(t),document.getElementById("spk-dialog-ref")}#n(){this.insertedCompRef&&(this.#t.detachView(this.insertedCompRef.hostView),this.closedFieldSub?.unsubscribe(),this.insertedCompRef.destroy()),this.compRef&&(this.#t.detachView(this.compRef.hostView),this.compClosedSub?.unsubscribe(),this.compRef.destroy())}ngOnDestroy(){this.#n()}static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275prov=se({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})(),zi=(()=>{class n{static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275cmp=x({type:n,selectors:[["spk-button-group"]],ngContentSelectors:L,decls:1,vars:0,template:function(e,i){e&1&&(w(),h(0))},encapsulation:2,changeDetection:0})}}return n})(),ci=(()=>{class n{static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275cmp=x({type:n,selectors:[["","spk-button",""]],attrs:Ze,ngContentSelectors:L,decls:1,vars:0,template:function(e,i){e&1&&(w(),h(0))},encapsulation:2,changeDetection:0})}}return n})(),qi=(()=>{class n{static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275cmp=x({type:n,selectors:[["spk-card"]],ngContentSelectors:L,decls:1,vars:0,template:function(e,i){e&1&&(w(),h(0))},encapsulation:2,changeDetection:0})}}return n})(),pi=(()=>{class n{#e=H(A);onClick(){this.#e.nativeElement.querySelector("input")&&this.#e.nativeElement.querySelector("input").focus()}static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275cmp=x({type:n,selectors:[["spk-checkbox"]],hostBindings:function(e,i){e&1&&b("click",function(){return i.onClick()})},ngContentSelectors:L,decls:6,vars:0,consts:[[1,"box"],[1,"inherit","default-indicator"],[1,"inherit","indeterminate-indicator"]],template:function(e,i){e&1&&(w(),a(0,"div",0)(1,"spk-icon",1),S(2,"check"),c(),a(3,"spk-icon",2),S(4,"minus"),c()(),h(5))},dependencies:[oe],encapsulation:2,changeDetection:0})}}return n})(),di=(()=>{class n{static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275cmp=x({type:n,selectors:[["spk-chip"]],ngContentSelectors:L,decls:1,vars:0,template:function(e,i){e&1&&(w(),h(0))},encapsulation:2,changeDetection:0})}}return n})();var ui=["scroll","auto"],hi={width:void 0,height:void 0,closeOnButton:!0,closeOnEsc:!0},Ae=(()=>{class n{constructor(){this.#e=H(Ve),this.#t=4,this.SUPPORTS_ANCHOR=typeof CSS<"u"&&CSS.supports("position-anchor","--abc")&&CSS.supports("anchor-name","--abc"),this.above=m(!1),this.right=m(!1),this.markForCheck=m(null),this._above=C(this.above()),this._right=C(this.right()),this.disableOpenByClick=m(!1),this.isOpen=F(!1),this.options=m(),this.closed=Y(),this.defaultOptionMerge=I(()=>N(N({},hi),this.options())),this.triggerRef=q.required("triggerRef"),this.popoverRef=q.required("popoverRef"),this.id=C("--"+De()),this.menuStyle=C(null),this.openAbort=null,this.openEffect=R(()=>{let t=this.popoverRef()?.nativeElement;if(this.isOpen()){this.openAbort&&this.openAbort.abort(),this.openAbort=new AbortController;let i={signal:this.openAbort?.signal};t?.showPopover(),document.addEventListener("keydown",o=>{o.key==="Escape"&&!this.defaultOptionMerge().closeOnEsc&&o.preventDefault(),o.key==="Escape"&&this.defaultOptionMerge().closeOnEsc&&this.isOpen.set(!1)},i),setTimeout(()=>{this.#o(this.popoverRef()?.nativeElement).addEventListener("scroll",()=>this.#n(),i),window.addEventListener("resize",()=>this.#n(),i),this.#n()})}else t.hidePopover(),this.openAbort?.abort(),this.closed.emit()}),this.markForCheckEffect=R(()=>{this.markForCheck()&&this.#e.markForCheck()})}#e;#t;toggleIsOpen(t){t.preventDefault(),t.stopPropagation(),this.disableOpenByClick()||this.isOpen.set(!this.isOpen())}eventClose(t){t.stopPropagation(),t.preventDefault(),this.isOpen.set(!1)}#o(t){let e=t.parentElement;for(;e;){if(ui.indexOf(window.getComputedStyle(e).overflowY)>-1&&e.scrollHeight>e.clientHeight)return e;e=e.parentElement}return document.documentElement}#n(){let t=this.triggerRef()?.nativeElement.getBoundingClientRect(),e=this.popoverRef()?.nativeElement.getBoundingClientRect(),i=t.left,o=t.bottom,s=i,r=o+this.#t,p=s+e.width>window.innerWidth,d=r+e.height>window.innerHeight;if(this.SUPPORTS_ANCHOR)this._above.set(d),this._right.set(p);else{if(s=i,r=o+this.#t,d){let _=t.top-e.height-this.#t;_<0||(r=_)}p&&(s=t.right-e.width,s<0&&(s=0));let l={left:s+"px",top:r+"px"};this.menuStyle.set(l)}}static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275cmp=x({type:n,selectors:[["spk-popover"]],viewQuery:function(e,i){e&1&&($(i.triggerRef,Pe,5),$(i.popoverRef,et,5)),e&2&&Q(2)},hostVars:4,hostBindings:function(e,i){e&2&&V("above",i._above())("right",i._right())},inputs:{above:[1,"above"],right:[1,"right"],markForCheck:[1,"markForCheck"],disableOpenByClick:[1,"disableOpenByClick"],isOpen:[1,"isOpen"],options:[1,"options"]},outputs:{isOpen:"isOpenChange",closed:"closed"},ngContentSelectors:it,decls:10,vars:6,consts:[["triggerRef",""],["popoverRef",""],[1,"trigger",3,"click"],[1,"trigger-wrapper"],["spk-button","",1,"outlined"],["popover","",1,"popover"],[1,"overlay",3,"click"]],template:function(e,i){if(e&1){let o=B();w(tt),a(0,"div",2,0),b("click",function(r){return k(o),y(i.toggleIsOpen(r))}),a(2,"div",3),h(3),c(),a(4,"button",4),S(5,"Open popover"),c()(),a(6,"div",5,1)(8,"div",6),b("click",function(r){return k(o),y(i.isOpen()&&i.eventClose(r))}),c(),h(9,1),c()}e&2&&(U("anchor-name",i.id()),g(6),J(i.menuStyle()),U("position-anchor",i.id()))},dependencies:[ci],encapsulation:2,changeDetection:0})}}return n})();var Ui=(()=>{class n{static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275cmp=x({type:n,selectors:[["spk-divider"]],ngContentSelectors:L,decls:1,vars:0,template:function(e,i){e&1&&(w(),h(0))},encapsulation:2,changeDetection:0})}}return n})(),Le=(()=>{class n{#e=H(A);onClick(){this.#e.nativeElement.querySelector("input")&&this.#e.nativeElement.querySelector("input").focus(),this.#e.nativeElement.querySelector("textarea")&&this.#e.nativeElement.querySelector("textarea").focus()}ngOnInit(){let t=typeof CSS<"u"&&CSS.supports("field-sizing","content"),e=this.#e.nativeElement.querySelector("textarea");if(!t&&e!==null){let s=function(){e.style.height="auto",e.style.height=e.scrollHeight+"px"},r=function(){window.setTimeout(s,0)};var i=s,o=r;e.addEventListener("change",s),e.addEventListener("cut",r),e.addEventListener("paste",r),e.addEventListener("drop",r),e.addEventListener("keydown",r),e.focus(),e.select(),s()}}static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275cmp=x({type:n,selectors:[["spk-form-field"]],hostBindings:function(e,i){e&1&&b("click",function(){return i.onClick()})},ngContentSelectors:st,decls:16,vars:0,consts:[[1,"input-wrap"],[1,"prefix"],[1,"prefix-space"],[1,"suffix-space"],[1,"helpers"],[1,"error"],[1,"hint"]],template:function(e,i){e&1&&(w(ot),h(0),a(1,"div",0)(2,"div",1),h(3,1),h(4,2),c(),j(5,"div",2),h(6,3),h(7,4),h(8,5),j(9,"div",3),h(10,6),c(),a(11,"div",4)(12,"div",5),h(13,7),c(),a(14,"div",6),h(15,8),c()())},encapsulation:2,changeDetection:0})}}return n})();var $i=(()=>{class n{static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275cmp=x({type:n,selectors:[["spk-list"]],ngContentSelectors:L,decls:1,vars:0,template:function(e,i){e&1&&(w(),h(0))},encapsulation:2,changeDetection:0})}}return n})();function He(n,u){let t=u?.injector||(be(He),H(re)),{debounce:e=0,initialValue:i=void 0,transform:o=v=>v,compare:s=(v,E)=>v===E,forceType:r=void 0,returnPreviousValue:p=!0}=u||{},d=C(i),l=t.get(ae),_=I(()=>{let v=n()?.nativeElement;if(v instanceof HTMLInputElement||v instanceof HTMLTextAreaElement)return je(v)}),D=!1,M,P=null;return R(()=>{let v=_();if(!v)return d.set(p&&M?o(M):void 0);i!==void 0&&v.value===""?d.set(i):v.value!==""&&xe();let E=z=>{P!==null&&clearTimeout(P),P=setTimeout(()=>{P=null,xe()},e)};v.addEventListener("input",E),v.addEventListener("inputValueChanged",E),l.onDestroy(()=>{v.removeEventListener("input",E),v.removeEventListener("inputValueChanged",E),P!==null&&clearTimeout(P)})},{injector:t}),R(()=>{let v=_();if(!v)return;let E=d()??"",z=E==null?"":String(E);v.value!==z&&(M=z,v.value=z,v.dispatchEvent(new Event("input")))},{injector:t}),d;function xe(){if(!D){D=!0;try{let v=_();if(!v)return;let E=v.value,z=r?Be(E,r):o(E);M=E,s(d(),z)||d.set(z)}finally{D=!1}}}function je(v){return Object.defineProperty(v,"value",{configurable:!0,get(){return Object.getOwnPropertyDescriptor(Object.getPrototypeOf(v),"value").get.call(this)},set(E){Object.getOwnPropertyDescriptor(Object.getPrototypeOf(v),"value").set.call(this,E);let We=new CustomEvent("inputValueChanged",{bubbles:!0,cancelable:!0,detail:{value:E}});return this.dispatchEvent(We),E}}),v}function Be(v,E){switch(E){case"string":return v.toString();case"number":let z=Number(v);return isNaN(z)?void 0:z;case"boolean":return v.toLowerCase()==="true"?!0:v.toLowerCase()==="false"?!1:void 0;default:return v}}}var Qi=(()=>{class n{constructor(){this.above=m(!1),this.right=m(!1),this.keepClickedOptionActive=m(!1),this.closeOnClick=m(!0),this.isOpen=F(!1),this.closed=Y(),this.searchable=m(!1),this.activeOptionIndex=C(-1),this.inputRef=q("input"),this.options=Te("option",{descendants:!0}),this.optionsEl=I(()=>Array.from(this.options()).map(t=>t.nativeElement).filter(t=>!t.disabled)),this.inputValue=He(this.inputRef),this.abortController=null,this.optionsEffect=R(()=>{if(!this.isOpen())return;this.abortController&&(this.abortController.abort(),this.abortController=null),this.abortController=new AbortController;let t=this.inputRef()?.nativeElement,e=this.optionsEl();this.activeElements.set(e),t&&(queueMicrotask(()=>t.focus()),t.addEventListener("keydown",i=>{let o=this.activeOptionIndex();i.key==="ArrowDown"?(i.preventDefault(),this.activeOptionIndex.set(this.nextActiveIndex(o))):i.key==="ArrowUp"?(i.preventDefault(),this.activeOptionIndex.set(this.prevActiveIndex(o))):i.key==="Enter"?(i.preventDefault(),o>-1&&(this.activeElements()[o].click(),queueMicrotask(()=>this.close("active")))):i.key==="Tab"&&(i.preventDefault(),this.close("closed"))},{signal:this.abortController.signal}))}),this.activeElements=C([]),this.inputValueEffect=R(()=>{if(!this.searchable())return;let e=this.optionsEl(),i=(this.inputValue()??"").toLowerCase();if(this.#t(),!i||i===""){for(let r=0;r<e.length;r++){let p=e[r];p.classList.remove("hide-option"),p.dataset.score=void 0,p.style.order=""}return}let o=[],s=[];for(let r=0;r<e.length;r++){let p=e[r],d=p.textContent?.toLowerCase()||"",l=this.#e(d,i);if(l===0||p.disabled){p.classList.add("hide-option"),p.style.order="";continue}p.classList.remove("hide-option");let _=!1;for(let D=0;D<s.length;D++)if(l>s[D]){o.splice(D,0,p),s.splice(D,0,l),_=!0;break}_||(o.push(p),s.push(l))}for(let r=0;r<o.length;r++)o[r].style.order=r.toString();this.activeElements.set(o)}),this.activeOptionIndexEffect=R(()=>{let t=this.activeElements(),e=this.activeOptionIndex();for(let i=0;i<t.length;i++)t[i].classList.remove("active");e>-1&&(t[e].scrollIntoView({block:"center"}),t[e].classList.add("active"))})}#e(t,e){if(!e)return 0;let i=0,o=-1,s=0;t.includes(e)&&(i+=1e3);for(let r=0;r<e.length;r++){let p=e[r],d=t.indexOf(p,o+1);if(d===-1)return 0;i+=100,o+1===d&&o!==-1&&(i+=50),o=d,s++}return i+=s*20,i}nextActiveIndex(t){let e=this.activeElements();if(t===-1||t===e.length-1)return 0;let i=t+1;return e[i].disabled?this.nextActiveIndex(i):i}prevActiveIndex(t){let e=this.activeElements();if(t===0||t===-1)return e.length-1;let i=t-1;return e[i].disabled?this.prevActiveIndex(i):i}close(t="closed",e){this.inputValue.set(""),this.closeOnClick()&&((!this.keepClickedOptionActive()||t==="closed")&&this.#t(),this.isOpen.set(!1),this.closed.emit(t==="active"))}#t(){this.activeOptionIndex.set(-1);let t=this.optionsEl();for(let e=0;e<t.length;e++)t[e].classList.remove("active")}ngOnDestroy(){this.abortController&&(this.abortController.abort(),this.abortController=null)}createWildcardRegex(t){let e=(t??"").toLowerCase(),i="^";for(let o of e)i+=".*"+this.escapeRegexChar(o);return i+=".*$",new RegExp(i,"i")}escapeRegexChar(t){return t.replace(/[-\/\\^$+?.()|[\]{}]/g,"\\$&")}static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275cmp=x({type:n,selectors:[["spk-menu"]],contentQueries:function(e,i,o){e&1&&fe(o,i.options,rt,5),e&2&&Q()},viewQuery:function(e,i){e&1&&$(i.inputRef,at,5),e&2&&Q()},inputs:{above:[1,"above"],right:[1,"right"],keepClickedOptionActive:[1,"keepClickedOptionActive"],closeOnClick:[1,"closeOnClick"],isOpen:[1,"isOpen"],searchable:[1,"searchable"]},outputs:{isOpen:"isOpenChange",closed:"closed"},ngContentSelectors:ct,decls:9,vars:10,consts:[["formFieldWrapper",""],["input",""],[3,"isOpenChange","closed","isOpen","disableOpenByClick","above","right","options"],["trigger","",3,"click"],[1,"small"],["type","text","placeholder","Search"],[1,"options",3,"click"]],template:function(e,i){if(e&1){let o=B();w(lt),a(0,"spk-popover",2,0),ve("isOpenChange",function(r){return k(o),ge(i.isOpen,r)||(i.isOpen=r),y(r)}),b("closed",function(){return k(o),y(i.close("fromPopover"))}),a(2,"div",3),b("click",function(){return k(o),y(i.isOpen.set(!0))}),h(3),c(),a(4,"spk-form-field",4),j(5,"input",5,1),c(),a(7,"div",6),b("click",function(){return k(o),y(i.close("active"))}),h(8,1),c()()}e&2&&(me("isOpen",i.isOpen),X("disableOpenByClick",!0)("above",i.above())("right",i.right())("options",Ce(9,nt)),g(4),V("hidden",i.searchable()===!1),g(3),V("searching",i.searchable()&&i.inputValue()!==""))},dependencies:[Ae,Le],encapsulation:2,changeDetection:0})}}return n})(),fi=(()=>{class n{constructor(){this.value=m(void 0)}static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275cmp=x({type:n,selectors:[["spk-progress-bar"]],inputs:{value:[1,"value"]},decls:1,vars:2,consts:[[1,"progress-bar"]],template:function(e,i){e&1&&j(0,"div",0),e&2&&U("width",i.value(),"%")},encapsulation:2,changeDetection:0})}}return n})(),Ni=(()=>{class n{#e=H(A);onClick(){this.#e.nativeElement.querySelector("input")&&this.#e.nativeElement.querySelector("input").focus()}static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275cmp=x({type:n,selectors:[["spk-radio"]],hostBindings:function(e,i){e&1&&b("click",function(){return i.onClick()})},ngContentSelectors:L,decls:2,vars:0,consts:[[1,"radio"]],template:function(e,i){e&1&&(w(),j(0,"div",0),h(1))},encapsulation:2,changeDetection:0})}}return n})(),Yi=(()=>{class n{constructor(){this.#e=H(A),this.#t=null,this.unit=m(""),this.value=F(0),this.inputState=C({min:0,max:100}),this.inputEffect=R(()=>{let t=this.value();this.inputField&&t!==parseInt(this.inputField.value)&&(this.inputField.value=t+"")})}#e;#t;get inputField(){return this.#e.nativeElement.querySelector('input[type="range"]')??null}trackEvent(t){this.inputField?.readOnly&&(t.preventDefault(),t.stopPropagation())}ngOnInit(){if(this.inputField){this.inputState.set({max:parseInt(this.inputField.max??"")??100,min:parseInt(this.inputField.min??"")??0}),this.value.set(parseInt(this.inputField.value??"")??0),this.inputField.oninput=e=>{this.value.set(parseInt(this.inputField.value??"")??0)};let t=["min","max","value"];typeof MutationObserver<"u"&&(this.#t=new MutationObserver((e,i)=>{for(let o of e)o.type==="attributes"&&t.includes(o.attributeName??"")&&(this.inputState.set({max:parseInt(this.inputField.max??"")??100,min:parseInt(this.inputField.min??"")??0}),this.value.set(parseInt(this.inputField.value??"")??0))}),this.#t.observe(this.inputField,{attributes:!0,childList:!1,subtree:!1}))}else console.error("No input field found")}thumbWrapStyle(){return{left:`${this.value()/this.inputState().max*100}%`}}thumbStyle(){return{transform:`translateX(-${this.value()/this.inputState().max*100}%)`}}trackFilledStyle(){return{width:`${this.value()/this.inputState().max*100}%`}}ngOnDestroy(){this.#t&&this.#t.disconnect()}static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275cmp=x({type:n,selectors:[["spk-range-slider"]],hostVars:2,hostBindings:function(e,i){e&2&&V("has-input",i.inputField)},inputs:{unit:[1,"unit"],value:[1,"value"]},outputs:{value:"valueChange"},ngContentSelectors:dt,decls:15,vars:12,consts:[[1,"label"],[1,"input-wrap"],[1,"min-indicator"],[1,"track-wrap",3,"click"],[1,"track"],[1,"track-filled"],[1,"thumb-wrap"],[1,"thumb"],[1,"value-indicator"],[1,"max-indicator"]],template:function(e,i){e&1&&(w(pt),a(0,"div",0),h(1),c(),a(2,"div",1)(3,"div",2),S(4),c(),a(5,"div",3),b("click",function(s){return i.trackEvent(s)}),h(6,1),a(7,"div",4),j(8,"div",5),c(),a(9,"div",6)(10,"div",7)(11,"div",8),S(12),c()()()(),a(13,"div",9),S(14),c()()),e&2&&(g(4),ie("",i.inputState().min,"",i.unit(),""),g(4),J(i.trackFilledStyle()),g(),J(i.thumbWrapStyle()),g(),J(i.thumbStyle()),g(2),ie("",i.value(),"",i.unit(),""),g(2),ie("",i.inputState().max,"",i.unit(),""))},encapsulation:2,changeDetection:0})}}return n})(),mi=(()=>{class n{static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275cmp=x({type:n,selectors:[["spk-spinner"]],decls:0,vars:0,template:function(e,i){},encapsulation:2,changeDetection:0})}}return n})(),Xi=(()=>{class n{constructor(){this.#e=H(A),this.value=m(),this.label=m(),this.asFreeText=m(!1),this.placeholder=m(),this.readonly=F(!1),this.disabled=F(!1),this.lazySearch=m(!1),this.inlineSearch=m(!1),this.asText=m(!1),this.isClearable=m(!0),this.selectMultiple=m(!1),this.optionTemplate=m(null),this.selectedOptionTemplate=m(null),this.placeholderTemplate=m(null),this.isOpen=F(!1),this.isLoading=F(!1),this.options=F([]),this.selectedOptions=F([]),this.cleared=Y(),this.inlineTemplate=Ee(pe),this.optionsWrapRef=q.required("optionsWrap"),this.inputRefInput=C(null),this.#t=typeof MutationObserver<"u"&&new MutationObserver(t=>{for(var e of t)e&&(e.target.nodeName==="INPUT"||e.target.nodeName==="TEXTAREA")&&(this.inputRefInput.set(new A(e.target)),this.#t.disconnect())}),this.inputValue=C(""),this.prevInputValue=C(null),this.focusedOptionIndex=C(-1),this._isClearable=I(()=>this.selectMultiple()||this.isClearable()),this.selectClasses=I(()=>this.#e.nativeElement.classList.toString()),this.placeholderText=I(()=>{let t=this.placeholder(),e=this.inputRefEl();return t||e?.placeholder||null}),this.selectedOptionValues=I(()=>{let t=this.selectedOptions(),e=this.value();return e?t.map(i=>this.#i(i,e)):t}),this.filteredOptions=I(()=>{let t=this.options()||[],e=this.label(),i=this.value(),o=this.inlineSearch(),s=this.inputValue().toLowerCase(),r=this.#a(s);if(t.length<=0)return[];if(!o||s==="")return t;let d=t.filter(l=>{let _=e?(this.#i(l,e)??"").toString().toLowerCase():(l??"").toString().toLowerCase(),D=((i?this.#i(l,i):l)??"").toString().toLowerCase(),M=r.test(_),P=r.test(D);return M||P}).map(l=>{let _=e?(this.#i(l,e)??"").toString().toLowerCase():(l??"").toString().toLowerCase(),D=((i?this.#i(l,i):l)??"").toString().toLowerCase(),M=this.#o(_,s),P=this.#o(D,s);return{item:l,score:Math.max(M,P)}});return d.sort((l,_)=>_.score-l.score),d.map(l=>l.item)}),this.inputRefEl=I(()=>{let t=this.inputRefInput();if(t===null)return;let e=t?t.nativeElement:null;return e?(e.autocomplete="off",this.#r(e),e.addEventListener("focus",()=>{this.readonly()||this.open()}),this.hasSearch()&&e.addEventListener("input",i=>{let o=i.target.value,s=this.inputValue();o!==s&&(this.focusedOptionIndex.set(this.asFreeText()?-1:0),this.inputValue.set(o),this.updateInputElValue())}),e.addEventListener("inputValueChanged",i=>{let o=i.detail.value,s=this.inputValue();if(o!==s){if(o===""){this.clear();return}this.setSelectedOptionsFromValue(o),this.setInputValueFromSelectedOptions(),this.#s()}}),e):(console.warn("<spk-select> input element not found are you missing to pass an <input> or <textarea> element to select component?"),null)}),this.openAbortController=null,this.isOpenEffect=R(()=>{if(this.isOpen()){this.openAbortController||(this.openAbortController=new AbortController);let e=this.inputRefEl();if(!e)return;e.addEventListener("keydown",i=>{if((i.key==="Escape"||i.key==="Tab")&&(i.preventDefault(),this.close()),(i.key==="Enter"||i.key===" ")&&(i.preventDefault(),this.toggleOptionByIndex(this.focusedOptionIndex())),i.key==="ArrowDown"){i.preventDefault();let o=this.focusedOptionIndex()+1;this.focusedOptionIndex.set(o>this.filteredOptions().length-1?0:o)}if(i.key==="ArrowUp"){i.preventDefault();let o=this.focusedOptionIndex()-1;this.focusedOptionIndex.set(o<0?this.filteredOptions().length-1:o)}},{signal:this.openAbortController?.signal})}else{if(!this.inputRefEl())return;this.openAbortController&&(this.openAbortController.abort(),this.openAbortController=null)}}),this._inputValue="",this.inputValueEffect=R(()=>{let t=this.inputValue();this._inputValue=t}),this.inputRefElEffect=R(()=>{let t=this.inputRefEl();t&&t.value!==this._inputValue&&(this.disabled.set(t.disabled),this.setSelectedOptionsFromValue(t.value),this.setInputValueFromSelectedOptions())}),this.selectedLabels=I(()=>{let t=this.selectedOptions();return this.label()?t.map(i=>this.getLabel(i)).join(", "):t.join(", ")}),this.inputState=I(()=>(this.selectedOptions().length>0||this.asFreeText()&&this.inputValue().length>0)&&!this.isOpen()?"selected":this.isLoading()?"loading":this.isOpen()&&(this.lazySearch()||this.inlineSearch())?"open-searching":this.isOpen()?"open":this.inlineSearch()||this.lazySearch()?"searching":"closed"),this.hasSearch=I(()=>this.inlineSearch()||this.lazySearch()),this.#n=R(()=>{if(this.selectMultiple()&&this.hasSearch())return;let t=this.selectedOptions(),e=this.value(),i=t.map(o=>e?this.#i(o,e):o).join(",");this.inputValue.set(i)})}#e;#t;#o(t,e){if(!e)return 0;let i=0,o=-1,s=0;t.includes(e)&&(i+=1e3);for(let r=0;r<e.length;r++){let p=e[r],d=t.indexOf(p,o+1);if(d===-1)return 0;i+=100,o+1===d&&o!==-1&&(i+=50),o=d,s++}return i+=s*20,i}#n;ngOnInit(){this.setInitInput()}setInitInput(){let t=this.#e.nativeElement.querySelector("input");if(t){this.inputRefInput.set(new A(t));return}let e=this.#e.nativeElement.querySelector("textarea");if(e){this.inputRefInput.set(new A(e));return}typeof MutationObserver<"u"&&this.#t.observe(this.#e.nativeElement,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}setSelectedOptionsFromValue(t){let e=this.options()||[],i=this.value(),o=this.selectMultiple(),s=t.toString().split(",");if(s.length===0){this.selectedOptions.set([]);return}let r=o?s:[s[0]],p=e.filter(d=>{let l=i?this.#i(d,i)?.toString():d?.toString();return l&&r.includes(l)});this.selectedOptions.set(o?p:[p[0]])}setInputValueFromSelectedOptions(){let t=this.selectedOptions(),e=this.value();if(t.length===0){this.inputValue.set(""),this.updateInputElValue();return}let i=t.map(o=>e?this.#i(o,e):o).join(",");this.inputValue.set(i),this.updateInputElValue()}getLabel(t){let e=this.label();return e?this.#i(t,e):t}toggleOptionByIndex(t,e){let i=this.filteredOptions()[t];if(this.asFreeText()&&t===-1||!i){this.close();return}e&&e.stopPropagation();let o=this.selectMultiple(),s=this._isClearable(),r=this.value(),p=this.selectedOptionValues(),d=r?this.#i(i,r):i;this.prevInputValue.set(null),this.selectedOptions.update(l=>{let _=p.indexOf(d);if(_>-1){let D=[...l.slice(0,_),...l.slice(_+1)];return s||D.length>0?D:l}else return this.focusedOptionIndex.set(t),o?[...l,i]:[i]}),o?this.inputRefEl()?.focus():this.isOpen.set(!1),this.setInputValueFromSelectedOptions(),o&&this.hasSearch()&&(this.inputValue.set(""),this.updateInputElValue())}removeSelectedOptionByIndex(t,e){t.stopPropagation(),this.selectedOptions.update(i=>[...i.slice(0,e),...i.slice(e+1)]),this.setInputValueFromSelectedOptions()}isSelected(t){let e=this.value(),i=this.filteredOptions()[t],o=e?this.#i(i,e):i;return this.selectedOptionValues().indexOf(o)>-1}open(){this.isOpen()||(this.isOpen.set(!0),this.hasSearch()&&(this.prevInputValue.set(this.inputValue()??""),this.inputValue.set(""),this.updateInputElValue()),this.selectMultiple()||this.#s())}#s(){let t=this.selectedOptionValues()[0],e=this.value();if(t){let i=this.filteredOptions().findIndex(o=>e?this.#i(o,e)===t:o===t);this.focusedOptionIndex.set(i)}else this.focusedOptionIndex.set(-1)}close(){this.isOpen.set(!1);let t=this.prevInputValue();if(this.asFreeText()){this.updateInputElValue();return}this.hasSearch()&&t&&(this.inputValue.set(t),this.setInputValueFromSelectedOptions()),this.selectMultiple()&&this.setInputValueFromSelectedOptions()}clear(t){t?.stopPropagation(),this.inputValue.set(""),this.selectedOptions.set([]),this.isOpen.set(!1),this.prevInputValue.set(null),this.cleared.emit(),this.updateInputElValue()}updateInputElValue(){let t=this.inputRefEl(),e=this.inputValue();t&&(t.value=e,t.dispatchEvent(new Event("input")))}#i(t,e){return e.split(".").reduce((i,o)=>i?.[o],t)}#r(t){Object.defineProperty(t,"value",{configurable:!0,get(){return Object.getOwnPropertyDescriptor(Object.getPrototypeOf(t),"value").get.call(this)},set(e){Object.getOwnPropertyDescriptor(Object.getPrototypeOf(t),"value").set.call(this,e);let o=new CustomEvent("inputValueChanged",{bubbles:!0,cancelable:!0,detail:{value:e}});return this.dispatchEvent(o),e}})}#a(t){let e=(t??"").toLowerCase(),i="^";for(let o of e)i+=".*"+this.#l(o);return i+=".*$",new RegExp(i,"i")}#l(t){return t.replace(/[-\/\\^$+?.()|[\]{}]/g,"\\$&")}ngOnDestroy(){this.openAbortController&&(this.openAbortController.abort(),this.openAbortController=null),typeof MutationObserver<"u"&&this.#t.disconnect()}static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275cmp=x({type:n,selectors:[["spk-select"]],contentQueries:function(e,i,o){e&1&&fe(o,i.inlineTemplate,pe,5),e&2&&Q()},viewQuery:function(e,i){e&1&&$(i.optionsWrapRef,ut,5),e&2&&Q()},hostVars:2,hostBindings:function(e,i){e&2&&V("multiple",i.selectMultiple())},inputs:{value:[1,"value"],label:[1,"label"],asFreeText:[1,"asFreeText"],placeholder:[1,"placeholder"],readonly:[1,"readonly"],disabled:[1,"disabled"],lazySearch:[1,"lazySearch"],inlineSearch:[1,"inlineSearch"],asText:[1,"asText"],isClearable:[1,"isClearable"],selectMultiple:[1,"selectMultiple"],optionTemplate:[1,"optionTemplate"],selectedOptionTemplate:[1,"selectedOptionTemplate"],placeholderTemplate:[1,"placeholderTemplate"],isOpen:[1,"isOpen"],isLoading:[1,"isLoading"],options:[1,"options"],selectedOptions:[1,"selectedOptions"]},outputs:{readonly:"readonlyChange",disabled:"disabledChange",isOpen:"isOpenChange",isLoading:"isLoadingChange",options:"optionsChange",selectedOptions:"selectedOptionsChange",cleared:"cleared"},ngContentSelectors:ft,decls:32,vars:20,consts:[["formFieldWrapper",""],["optionsWrap",""],[3,"isOpenChange","closed","isOpen","disableOpenByClick","options"],["trigger","",3,"click"],["ngProjectAs","input",5,["input"],1,"input"],[1,"selected-value"],["suffix",""],["suffix","",1,"primary"],[1,"sparkle-options"],[1,"option",3,"selected","focused"],[1,"small",3,"class"],[1,"small"],[3,"click"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[4,"ngTemplateOutlet"],["suffix","",3,"click"],[1,"option",3,"click"],[3,"class","active"]],template:function(e,i){if(e&1){let o=B();w(ht),_e(0)(1)(2)(3)(4)(5)(6)(7)(8)(9),a(10,"spk-popover",2,0),ve("isOpenChange",function(r){return k(o),ge(i.isOpen,r)||(i.isOpen=r),y(r)}),b("closed",function(){return k(o),y(i.close())}),a(12,"spk-form-field",3),b("click",function(){return k(o),y(i.open())}),h(13,0,["ngProjectAs","label",5,["label"]]),a(14,"div",4)(15,"div",5),O(16,gt,1,1)(17,Et,2,0)(18,Rt,2,1),h(19,1),h(20,2),c()(),O(21,Vt,2,0,"spk-icon",6)(22,Ft,1,0,"spk-spinner",7)(23,Pt,2,0,"spk-icon",6)(24,At,2,0,"spk-icon",6)(25,Lt,2,0,"spk-icon",6)(26,Ht,2,0,"spk-icon",6)(27,jt,2,0,"spk-icon",6),c(),a(28,"div",8,1),ue(30,Ut,4,6,"li",9,de),c()()}if(e&2){K(i.placeholderTemplate());let o=i.optionTemplate(),s=i.selectedOptionTemplate(),r=i.inlineTemplate();g(4);let p=K(i.selectedOptions()),d=i.inputState();g(2),K(s||o||r),g(),K(o||r),g();let l=K(!i.asText()&&i.selectMultiple());g();let _=K(i.isOpen()&&i.hasSearch()&&(l||i.inputValue().length>0));g(),me("isOpen",i.isOpen),X("disableOpenByClick",!0)("options",Ce(19,mt)),g(2),V("autosize",i.selectMultiple())("readonly",i.readonly()||i.disabled()),g(2),V("show-search-text",_),g(),V("is-selected",d==="selected"),g(),T(i.asFreeText()&&i.inputValue().length>0&&!i.isOpen()?16:p.length>0?17:_?-1:18),g(5),T(d==="closed"?21:d==="loading"?22:d==="open-searching"?23:d==="searching"?24:d==="selected"&&i._isClearable()?25:d==="selected"&&!i._isClearable()?26:27),g(9),he(i.filteredOptions())}},dependencies:[Fe,Ae,Le,oe,pi,mi,di],encapsulation:2,changeDetection:0})}}return n})(),Gi=(()=>{class n{constructor(){this.openWidth=280,this.openWidthTreshold=this.openWidth*.9,this.disableDrag=m(!1),this.isOpen=F(!1),this.type=m(""),this.dragImageElement=q.required("dragImageElement"),this.dragIsEnding=C(!1),this.dragIsOnScreen=C(!0),this.isDragging=C(!1),this.dragPositionX=C(0),this.dragActualPositionX=I(()=>{let t=this.dragPositionX(),e=.32;return t>this.openWidthTreshold?this.openWidthTreshold+(t-this.openWidthTreshold)*e:t}),this.draggingStyle=I(()=>this.type()!=="overlay"?null:this.isDragging()?`translateX(${this.dragActualPositionX()}px)`:this.isOpen()?`translateX(${this.openWidth}px)`:"translateX(0px)"),this.draggingEffect=R(()=>{this.isDragging()&&document.body.classList.add("dragging")})}drop(t){t.stopPropagation(),this.#e(t.clientX)}#e(t){this.isDragging.set(!1),t<=0?this.isOpen.set(!1):t>this.openWidthTreshold?this.isOpen.set(!0):t<this.openWidthTreshold&&(!this.isOpen()&&t<this.openWidthTreshold*.6?this.isOpen.set(!0):this.isOpen.set(!1))}dragEnd(t){(t.clientX<0||!this.dragIsOnScreen())&&this.#e(0)}dragEnter(){this.dragIsOnScreen.set(!0)}dragLeave(){this.dragIsOnScreen.set(!1)}dragOver(t){t.preventDefault(),this.#t(t)}dragStart(t){t.stopPropagation(),this.isDragging.set(!0),this.#t(t)}#t(t){t.dataTransfer?.setDragImage(this.dragImageElement().nativeElement,0,0)}drag(t){t.stopPropagation(),setTimeout(()=>{this.isDragging()&&this.dragIsOnScreen()&&this.dragPositionX.set(t.clientX)}),this.#t(t)}touchStart(t){t.stopPropagation(),this.isDragging.set(!0)}touchMove(t){t.stopPropagation(),setTimeout(()=>{this.isDragging()&&this.dragIsOnScreen()&&this.dragPositionX.set(t.touches[0].clientX)})}touchEnd(t){t.stopPropagation(),this.#e(t.changedTouches[0].clientX)}touchCancel(t){t.stopPropagation(),this.isDragging.set(!1)}static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275cmp=x({type:n,selectors:[["spk-sidenav"]],viewQuery:function(e,i){e&1&&$(i.dragImageElement,$t,5),e&2&&Q()},hostVars:10,hostBindings:function(e,i){e&2&&V("open",i.isOpen())("closed",!i.isOpen())("overlay",i.type()==="overlay")("simple",i.type()==="simple")("is-dragging",i.isDragging())},inputs:{disableDrag:[1,"disableDrag"],isOpen:[1,"isOpen"],type:[1,"type"]},outputs:{isOpen:"isOpenChange"},ngContentSelectors:Nt,decls:10,vars:5,consts:[["dragImageElement",""],[1,"drag-image"],[1,"dropping-surface"],[1,"sidenav"],[1,"main-wrap"],["draggable","true",1,"dragable"],[1,"closed-topbar"],[1,"dropping-surface",3,"drop","dragover","dragenter","dragleave"],["draggable","true",1,"dragable",3,"dragstart","dragend","drag","touchstart","touchmove","touchend","touchcancel"]],template:function(e,i){e&1&&(w(Qt),O(0,Yt,2,0,"div",1)(1,Xt,1,0,"div",2),a(2,"div",3),h(3),c(),a(4,"div",4),O(5,Gt,1,0,"div",5),a(6,"div",6),h(7,1),c(),a(8,"main"),h(9,2),c()()),e&2&&(T(i.type()==="overlay"?0:-1),g(),T(i.type()==="overlay"&&i.isDragging()?1:-1),g(3),U("transform",i.draggingStyle()),g(),T(i.type()==="overlay"&&!i.disableDrag()?5:-1))},encapsulation:2,changeDetection:0})}}return n})();var Ki=(()=>{class n{static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275cmp=x({type:n,selectors:[["spk-stepper"]],ngContentSelectors:L,decls:1,vars:0,template:function(e,i){e&1&&(w(),h(0))},encapsulation:2,changeDetection:0})}}return n})();function gi(n,u){let t=H(re),e=t.get(ae),i=C([]),o=u.map(p=>p.toUpperCase()),s=null,r=p=>{s&&s.disconnect();let d=Array.from(p.nativeElement.querySelectorAll("*")).filter(l=>l.nodeType===Node.ELEMENT_NODE&&o.includes(l.nodeName)).map(l=>new A(l));i.set(d),s=new MutationObserver(l=>{let _=i();for(let D of l)D.addedNodes&&D.addedNodes.forEach(M=>{M.nodeType===Node.ELEMENT_NODE&&o.includes(M.nodeName)&&(_=[..._,new A(M)])}),D.removedNodes&&D.removedNodes.forEach(M=>{M.nodeType===Node.ELEMENT_NODE&&o.includes(M.nodeName)&&(_=_.filter(P=>P.nativeElement!==M))});i.set(_)}),s.observe(p.nativeElement,{childList:!0,subtree:!0}),e.onDestroy(()=>{s&&s.disconnect()})};return typeof n=="function"&&n[Oe]?R(()=>{let p=n();p?r(p):(i.set([]),s&&(s.disconnect(),s=null))},{injector:t}):n instanceof A&&r(n),i.asReadonly()}var Ji=(()=>{class n{constructor(){this.loading=m(!1),this.data=m([]),this.dataChange=Y(),this.sortByColumn=F(null),this.thead=q("thead"),this.columns=gi(this.thead,["TH"]),this.resizing=C(!1),this.sizeTrigger=C(!0),this.#e=null,this.#t=C(!1),this.columnSizes=I(()=>(this.sizeTrigger(),this.columns().reduce((t,e,i)=>{let o=e.nativeElement,s=i===this.columns().length-1;return o.dataset.size?`${t} ${o.dataset.size}`:s?`${t} max-content`:`${t} 1fr`},""))),this.e=R(()=>{let t=this.sortByColumn();if(t===null)return this.#t()||(this.#e=this.data(),this.#t.set(!0)),this.dataChange.emit(JSON.parse(JSON.stringify(this.#e)));let e=t.startsWith("-")?t.slice(1):t,i=t.startsWith("-"),o=this.data().sort((s,r)=>{let p=s[e],d=r[e],l=0;return typeof p=="number"&&typeof d=="number"&&(l=p-d),p instanceof Date&&d instanceof Date&&(l=p.getTime()-d.getTime()),typeof p=="string"&&typeof d=="string"&&(l=p.localeCompare(d,void 0,{sensitivity:"base"})),i?-l:l});this.dataChange.emit(o)})}#e;#t;updateColumnSizes(){this.sizeTrigger.set(!this.sizeTrigger())}toggleSort(t){let e=this.sortByColumn(),i=e===t?`-${t}`:e===`-${t}`?null:t;this.sortByColumn.set(i)}static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275cmp=x({type:n,selectors:[["spk-table"]],viewQuery:function(e,i){e&1&&$(i.thead,Kt,5),e&2&&Q()},hostVars:4,hostBindings:function(e,i){e&2&&(U("grid-template-columns",i.columnSizes()),V("resizing",i.resizing()))},inputs:{loading:[1,"loading"],data:[1,"data"],sortByColumn:[1,"sortByColumn"]},outputs:{dataChange:"dataChange",sortByColumn:"sortByColumnChange"},ngContentSelectors:Zt,decls:7,vars:2,consts:[["thead",""],[1,"indeterminate","primary"],[1,"no-rows"]],template:function(e,i){e&1&&(w(Jt),a(0,"thead",null,0),h(2),O(3,ei,1,0,"spk-progress-bar",1),c(),a(4,"tbody"),h(5,1),c(),O(6,ti,2,0,"div",2)),e&2&&(g(3),T(i.loading()?3:-1),g(3),T(i.loading()?-1:6))},dependencies:[fi],encapsulation:2,changeDetection:0})}}return n})(),Zi=(()=>{class n{static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275cmp=x({type:n,selectors:[["spk-tabs"]],ngContentSelectors:L,decls:1,vars:0,template:function(e,i){e&1&&(w(),h(0))},encapsulation:2,changeDetection:0})}}return n})(),en=(()=>{class n{constructor(){this.isActive=F(!1),this.disallowToggle=m(!1)}ngOnInit(){this.disallowToggle()&&this.isActive.set(!0)}toggle(){this.isActive.set(!this.isActive())}static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275cmp=x({type:n,selectors:[["spk-toggle-card"]],hostVars:2,hostBindings:function(e,i){e&2&&V("active",i.isActive())},inputs:{isActive:[1,"isActive"],disallowToggle:[1,"disallowToggle"]},outputs:{isActive:"isActiveChange"},ngContentSelectors:ni,decls:6,vars:1,consts:[[3,"click"],[1,"toggle-icon"],[1,"content"]],template:function(e,i){e&1&&(w(ii),a(0,"h3",0),b("click",function(){return i.disallowToggle()||i.toggle()}),h(1,0,null,oi,1,0),O(3,si,2,0,"spk-icon",1),c(),a(4,"div",2),h(5,1),c()),e&2&&(g(3),T(i.disallowToggle()?-1:3))},dependencies:[oe],encapsulation:2,changeDetection:0})}}return n})(),tn=(()=>{class n{static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275cmp=x({type:n,selectors:[["spk-toggle"]],ngContentSelectors:L,decls:3,vars:0,consts:[[1,"box"],[1,"knob"]],template:function(e,i){e&1&&(w(),a(0,"div",0),j(1,"div",1),c(),h(2))},encapsulation:2,changeDetection:0})}}return n})(),nn=(()=>{class n{constructor(){this.#e=4,this.SUPPORTS_ANCHOR=CSS.supports("position-anchor","--abc")&&CSS.supports("anchor-name","--abc"),this.disabled=m(!1),this.above=m(!1),this.right=m(!1),this._above=C(this.above()),this._right=C(this.right()),this.message=m.required(),this.isOpen=F(!1),this.closed=Y(),this.triggerRef=q.required("triggerRef"),this.tooltipRef=q.required("tooltipRef"),this.id=C("--"+De()),this.menuStyle=C(null),this.isCalculatingPosition=I(()=>{let t=this.tooltipRef()?.nativeElement;return this.isOpen()?(t?.showPopover(),!0):(t.hidePopover(),this.abortController?.abort(),this.closed.emit(),!1)}),this.abortController=null,this.calcPositionEffect=R(()=>{if(!this.isCalculatingPosition())return;this.abortController&&this.abortController.abort(),this.abortController=new AbortController;let e=this.abortController.signal;this.calculateMenuPosition(),this.#t(this.tooltipRef()?.nativeElement).addEventListener("scroll",()=>this.calculateMenuPosition(),{signal:e}),document.addEventListener("resize",()=>this.calculateMenuPosition(),{signal:e})}),this.scrollableStyles=["scroll","auto"]}#e;#t(t){let e=t.parentElement;for(;e;){if(this.scrollableStyles.indexOf(window.getComputedStyle(e).overflowY)>-1&&e.scrollHeight>e.clientHeight)return e;e=e.parentElement}return document.documentElement}eventClose(t){t.stopPropagation(),t.preventDefault(),this.isOpen.set(!1)}ngOnDestroy(){this.abortController&&this.abortController.abort()}calculateMenuPosition(){let t=this.triggerRef()?.nativeElement.getBoundingClientRect(),e=this.tooltipRef()?.nativeElement.getBoundingClientRect(),i=t.left,o=t.bottom,s=i,r=o+this.#e,p=s+e.width>window.innerWidth,d=r+e.height>window.innerHeight;if(this.SUPPORTS_ANCHOR)this._above.set(d),this._right.set(p);else{if(this.above()){let l=t.top-e.height-this.#e;l>=0&&(r=l)}else d&&(r=t.top-e.height-this.#e);if(this.right()){let l=t.right-e.width;l>=0&&(s=l)}else p&&(r=d?t.top+t.height-e.height:t.top,s=t.left-e.width-this.#e);this.menuStyle.set({left:s+"px",top:r+"px"})}}static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275cmp=x({type:n,selectors:[["spk-tooltip"]],viewQuery:function(e,i){e&1&&($(i.triggerRef,Pe,5),$(i.tooltipRef,ri,5)),e&2&&Q(2)},hostVars:6,hostBindings:function(e,i){e&2&&V("above",i._above())("right",i._right())("disabled",i.disabled())},inputs:{disabled:[1,"disabled"],above:[1,"above"],right:[1,"right"],message:[1,"message"],isOpen:[1,"isOpen"]},outputs:{isOpen:"isOpenChange",closed:"closed"},ngContentSelectors:L,decls:6,vars:7,consts:[["triggerRef",""],["tooltipRef",""],[1,"trigger",3,"mouseover","mouseout"],["popover","",1,"tooltip"]],template:function(e,i){if(e&1){let o=B();w(),a(0,"div",2,0),b("mouseover",function(){return k(o),y(i.isOpen.set(!0))})("mouseout",function(){return k(o),y(i.isOpen.set(!1))}),h(2),c(),a(3,"div",3,1),S(5),c()}e&2&&(U("anchor-name",i.id()),g(3),J(i.menuStyle()),U("position-anchor",i.id()),g(2),G(" ",i.message()," "))},encapsulation:2,changeDetection:0})}}return n})();var on=(()=>{class n{constructor(){this.filesOver=C(!1),this.filesDropped=Y()}onDragOver(t){t.preventDefault(),t.stopPropagation(),this.filesOver.set(!0)}onDragLeave(t){t.preventDefault(),t.stopPropagation(),this.filesOver.set(!1)}ondrop(t){t.preventDefault(),t.stopPropagation(),this.filesOver.set(!1);let e=t.dataTransfer?.files;e&&e.length>0&&this.filesDropped.emit(e)}static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275dir=Me({type:n,selectors:[["","spkDragDrop",""]],hostVars:2,hostBindings:function(e,i){e&1&&b("dragover",function(s){return i.onDragOver(s)})("dragleave",function(s){return i.onDragLeave(s)})("drop",function(s){return i.ondrop(s)}),e&2&&V("filesover",i.filesOver())},outputs:{filesDropped:"filesDropped"}})}}return n})();export{oe as a,ji as b,Bi as c,li as d,Wi as e,zi as f,ci as g,qi as h,pi as i,di as j,Ui as k,Le as l,$i as m,Qi as n,fi as o,Ni as p,Yi as q,Xi as r,Gi as s,Ki as t,Ji as u,Zi as v,en as w,tn as x,nn as y,on as z};
@@ -0,0 +1 @@
1
+ import{a,b}from"./chunk-NWVBCPMZ.js";import"./chunk-L7FLOT6V.js";import"./chunk-Q67EYU7V.js";import"./chunk-N5K6ODRA.js";import"./chunk-47XDI5B5.js";import"./chunk-RKQDFV7W.js";import"./chunk-GEEPH37P.js";import"./chunk-7LD5V64E.js";import"./chunk-WZG34QS3.js";import"./chunk-4IJQ7AAQ.js";import"./chunk-OQEGPSC6.js";import"./chunk-KLIPTMVG.js";import"./chunk-AIOUSVMR.js";import"./chunk-THUAAYGA.js";import"./chunk-ECH6I3YN.js";import"./chunk-V5GVLIPJ.js";import"./chunk-2HS3CYRN.js";import"./chunk-DTPZU6NP.js";import"./chunk-C6Q5SG76.js";export{a as createRestoreOptionsForm,b as default};
@@ -1 +1 @@
1
- import{b as P,d as v,e as L,h as w,m as V,p as x,q as X,s as U}from"./chunk-4IJQ7AAQ.js";import{b as y}from"./chunk-KLIPTMVG.js";import{c as A,d as I}from"./chunk-AIOUSVMR.js";import"./chunk-THUAAYGA.js";import{a as b,c as h,g as $,l as B,y as G}from"./chunk-R3DRARWT.js";import"./chunk-V5GVLIPJ.js";import"./chunk-2HS3CYRN.js";import{Ab as i,Bb as r,Cb as _,D as g,L as T,Mb as C,Nb as O,Ob as f,Qa as F,Rb as k,Sb as m,X as u,db as R,fc as N,ib as S,rb as c,rc as M,sa as p,tb as D,wb as E}from"./chunk-DTPZU6NP.js";import"./chunk-C6Q5SG76.js";var j=()=>["/"];function z(l,e){l&1&&(i(0,"spk-form-field")(1,"label",11),f(2,2),r(),_(3,"input",12),r())}var a=new X,d=class l{#t=u(h);#e=u(y);#o=u(A);isRestoring=p(!1);isSecureFile=p(!1);importForm=a.group({config:a.control(""),cmdline:a.control(!1),importMetadata:a.control(!1),direct:a.control(!1),passphrase:a.control("")});selectedFile=p(null);onFileDropped(e){let t=e.target?.files?.item(0);if(t){let n=new FileReader;this.isSecureFile.set(t.type!=="application/json"),n.onload=this.#n.bind(this),n.readAsArrayBuffer(t)}}#n(e){let o=e.target?.result;this.importForm.patchValue({config:this.#r(o)})}#r(e){let o=new Uint8Array(e),t=o.byteLength,n="";for(let s=0;s<t;s++)n+=String.fromCharCode(o[s]);return btoa(n)}submit(){this.isRestoring.set(!0),this.#e.postApiV1BackupsImport({requestBody:this.importForm.value}).pipe(T(e=>{let t={Backup:e.data.Backup};return this.#e.postApiV1Backups({requestBody:t,temporary:!0})}),g(()=>this.isRestoring.set(!1))).subscribe({next:e=>{this.#o.navigate(["/restore-draft",e.ID])},error:e=>{this.#t.error(e.message)}})}static \u0275fac=function(o){return new(o||l)};static \u0275cmp=R({type:l,selectors:[["app-restore-from-config"]],decls:16,vars:7,consts:()=>{let e;e=$localize` Restore from config ${"\uFFFD#3\uFFFD"}:START_TAG_DIV:${"\uFFFD#4\uFFFD"}:START_TAG_BUTTON:${"[\uFFFD#5\uFFFD|\uFFFD#7\uFFFD]"}:START_TAG_SPK_ICON:arrow-left${"[\uFFFD/#5\uFFFD|\uFFFD/#7\uFFFD]"}:CLOSE_TAG_SPK_ICON: Back ${"[\uFFFD/#4\uFFFD|\uFFFD/#6\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD#6\uFFFD"}:START_TAG_BUTTON_1:${"[\uFFFD#5\uFFFD|\uFFFD#7\uFFFD]"}:START_TAG_SPK_ICON:download-simple${"[\uFFFD/#5\uFFFD|\uFFFD/#7\uFFFD]"}:CLOSE_TAG_SPK_ICON: Restore ${"[\uFFFD/#4\uFFFD|\uFFFD/#6\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_DIV:`,e=k(e);let o;o=$localize`Select a configuration file`;let t;return t=$localize`Passphrase`,[e,o,t,[1,"actions"],["spk-button","","type","button",1,"outlined",3,"routerLink"],["spk-button","","type","submit",1,"raised","primary",3,"click","disabled"],["autocomplete","off",3,"formGroup"],["spkDragDrop","",3,"fileDropped"],["for","file"],["type","file","accept",".json,.aes",3,"change"],["suffix",""],["for","passphrase"],["type","password","formControlName","passphrase"]]},template:function(o,t){o&1&&(i(0,"header")(1,"h3"),C(2,0),i(3,"div",3)(4,"button",4),_(5,"spk-icon"),r(),i(6,"button",5),m("click",function(){return t.submit()}),_(7,"spk-icon"),r()(),O(),r()(),i(8,"form",6)(9,"spk-form-field",7),m("fileDropped",function(s){return t.onFileDropped(s)}),i(10,"label",8),f(11,1),r(),i(12,"input",9),m("change",function(s){return t.onFileDropped(s)}),r(),i(13,"spk-icon",10),N(14,"upload"),r()(),S(15,z,4,0,"spk-form-field"),r()),o&2&&(F(4),c("routerLink",M(6,j)),F(2),D("loader",t.isRestoring()),c("disabled",t.isRestoring()),F(2),c("formGroup",t.importForm),F(7),E(t.isSecureFile()?15:-1))},dependencies:[U,w,P,v,L,V,x,I,G,B,b,$],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:3rem}h3[_ngcontent-%COMP%]{font:var(--title-30);display:flex;align-items:center;justify-content:space-between}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;max-width:31.25rem}"],changeDetection:0})};export{d as default};
1
+ import{b as P,d as v,e as L,h as w,m as V,p as x,q as X,s as U}from"./chunk-4IJQ7AAQ.js";import{b as y}from"./chunk-KLIPTMVG.js";import{c as A,d as I}from"./chunk-AIOUSVMR.js";import"./chunk-THUAAYGA.js";import{a as b,c as h,g as $,l as B,z as G}from"./chunk-ECH6I3YN.js";import"./chunk-V5GVLIPJ.js";import"./chunk-2HS3CYRN.js";import{Ab as i,Bb as r,Cb as _,D as g,L as T,Mb as C,Nb as O,Ob as f,Qa as F,Rb as k,Sb as m,X as u,db as R,fc as N,ib as S,rb as c,rc as M,sa as p,tb as D,wb as E}from"./chunk-DTPZU6NP.js";import"./chunk-C6Q5SG76.js";var j=()=>["/"];function z(l,e){l&1&&(i(0,"spk-form-field")(1,"label",11),f(2,2),r(),_(3,"input",12),r())}var a=new X,d=class l{#t=u(h);#e=u(y);#o=u(A);isRestoring=p(!1);isSecureFile=p(!1);importForm=a.group({config:a.control(""),cmdline:a.control(!1),importMetadata:a.control(!1),direct:a.control(!1),passphrase:a.control("")});selectedFile=p(null);onFileDropped(e){let t=e.target?.files?.item(0);if(t){let n=new FileReader;this.isSecureFile.set(t.type!=="application/json"),n.onload=this.#n.bind(this),n.readAsArrayBuffer(t)}}#n(e){let o=e.target?.result;this.importForm.patchValue({config:this.#r(o)})}#r(e){let o=new Uint8Array(e),t=o.byteLength,n="";for(let s=0;s<t;s++)n+=String.fromCharCode(o[s]);return btoa(n)}submit(){this.isRestoring.set(!0),this.#e.postApiV1BackupsImport({requestBody:this.importForm.value}).pipe(T(e=>{let t={Backup:e.data.Backup};return this.#e.postApiV1Backups({requestBody:t,temporary:!0})}),g(()=>this.isRestoring.set(!1))).subscribe({next:e=>{this.#o.navigate(["/restore-draft",e.ID])},error:e=>{this.#t.error(e.message)}})}static \u0275fac=function(o){return new(o||l)};static \u0275cmp=R({type:l,selectors:[["app-restore-from-config"]],decls:16,vars:7,consts:()=>{let e;e=$localize` Restore from config ${"\uFFFD#3\uFFFD"}:START_TAG_DIV:${"\uFFFD#4\uFFFD"}:START_TAG_BUTTON:${"[\uFFFD#5\uFFFD|\uFFFD#7\uFFFD]"}:START_TAG_SPK_ICON:arrow-left${"[\uFFFD/#5\uFFFD|\uFFFD/#7\uFFFD]"}:CLOSE_TAG_SPK_ICON: Back ${"[\uFFFD/#4\uFFFD|\uFFFD/#6\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD#6\uFFFD"}:START_TAG_BUTTON_1:${"[\uFFFD#5\uFFFD|\uFFFD#7\uFFFD]"}:START_TAG_SPK_ICON:download-simple${"[\uFFFD/#5\uFFFD|\uFFFD/#7\uFFFD]"}:CLOSE_TAG_SPK_ICON: Restore ${"[\uFFFD/#4\uFFFD|\uFFFD/#6\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_DIV:`,e=k(e);let o;o=$localize`Select a configuration file`;let t;return t=$localize`Passphrase`,[e,o,t,[1,"actions"],["spk-button","","type","button",1,"outlined",3,"routerLink"],["spk-button","","type","submit",1,"raised","primary",3,"click","disabled"],["autocomplete","off",3,"formGroup"],["spkDragDrop","",3,"fileDropped"],["for","file"],["type","file","accept",".json,.aes",3,"change"],["suffix",""],["for","passphrase"],["type","password","formControlName","passphrase"]]},template:function(o,t){o&1&&(i(0,"header")(1,"h3"),C(2,0),i(3,"div",3)(4,"button",4),_(5,"spk-icon"),r(),i(6,"button",5),m("click",function(){return t.submit()}),_(7,"spk-icon"),r()(),O(),r()(),i(8,"form",6)(9,"spk-form-field",7),m("fileDropped",function(s){return t.onFileDropped(s)}),i(10,"label",8),f(11,1),r(),i(12,"input",9),m("change",function(s){return t.onFileDropped(s)}),r(),i(13,"spk-icon",10),N(14,"upload"),r()(),S(15,z,4,0,"spk-form-field"),r()),o&2&&(F(4),c("routerLink",M(6,j)),F(2),D("loader",t.isRestoring()),c("disabled",t.isRestoring()),F(2),c("formGroup",t.importForm),F(7),E(t.isSecureFile()?15:-1))},dependencies:[U,w,P,v,L,V,x,I,G,B,b,$],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:3rem}h3[_ngcontent-%COMP%]{font:var(--title-30);display:flex;align-items:center;justify-content:space-between}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;max-width:31.25rem}"],changeDetection:0})};export{d as default};
@@ -1 +1 @@
1
- import{g as W}from"./chunk-L4FEHUC5.js";import"./chunk-PN4QLDYL.js";import"./chunk-G3EXCHQT.js";import{a as E}from"./chunk-N5K6ODRA.js";import"./chunk-CRREGVJC.js";import{a as G}from"./chunk-2F746EVW.js";import"./chunk-LK3VCLPO.js";import"./chunk-GEEPH37P.js";import"./chunk-BRABR4TV.js";import"./chunk-WZG34QS3.js";import"./chunk-4IJQ7AAQ.js";import"./chunk-OQEGPSC6.js";import"./chunk-KLIPTMVG.js";import{a as $,b as P,d as L,e as M}from"./chunk-AIOUSVMR.js";import"./chunk-THUAAYGA.js";import{p as N,t as I}from"./chunk-R3DRARWT.js";import"./chunk-V5GVLIPJ.js";import"./chunk-2HS3CYRN.js";import"./chunk-UQH5ZQG7.js";import{Ab as o,Bb as i,Cb as n,Mb as F,Mc as A,Nb as r,Qa as R,Tb as u,X as T,db as m,ib as f,rb as _,rc as p,sc as l,wb as C}from"./chunk-DTPZU6NP.js";import"./chunk-C6Q5SG76.js";var y=()=>["/restore-from-files/destination"],v=()=>["/restore-from-files/encryption"],h=()=>["/restore-from-files/select-files"],K=()=>["/restore-from-files/options"],X=e=>["/restore-draft",e],w=e=>["/restore-draft",e,"options"],b=e=>["/restore",e],x=e=>["/restore",e,"options"];function z(e,a){e&1&&(o(0,"div",8),F(1,0),n(2,"spk-radio"),r(),i(),o(3,"div",8),F(4,1),n(5,"spk-radio"),r(),i(),o(6,"div",8),F(7,2),n(8,"spk-radio"),r(),i(),o(9,"div",8),F(10,3),n(11,"spk-radio"),r(),i()),e&2&&(_("routerLink",p(4,y)),R(3),_("routerLink",p(5,v)),R(3),_("routerLink",p(6,h)),R(3),_("routerLink",p(7,K)))}function j(e,a){if(e&1&&(o(0,"div",8),F(1,4),n(2,"spk-radio"),r(),i(),o(3,"div",8),F(4,5),n(5,"spk-radio"),r(),i()),e&2){let t=u();_("routerLink",l(2,X,t.backupId())),R(3),_("routerLink",l(4,w,t.backupId()))}}function B(e,a){if(e&1&&(o(0,"div",8),F(1,6),n(2,"spk-radio"),r(),i(),o(3,"div",8),F(4,7),n(5,"spk-radio"),r(),i()),e&2){let t=u();_("routerLink",l(2,b,t.backupId())),R(3),_("routerLink",l(4,x,t.backupId()))}}var c=class e{#t=T($);#e=T(W);#i=E(this.#t.params);#o=E(this.#t.url);backupId=this.#e.backupId;isDraft=this.#e.isDraft;isFileRestore=this.#e.isFileRestore;paramsChanged=A(()=>{let a=this.#i()?.id,t=!!this.#o()?.find(d=>d.path==="restore-draft"),s=!!this.#o()?.find(d=>d.path==="restore-from-files");this.#e.init(a,s,s||t)});static \u0275fac=function(t){return new(t||e)};static \u0275cmp=m({type:e,selectors:[["app-restore-flow"]],decls:7,vars:1,consts:()=>{let a;a=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_RADIO: Destination `;let t;t=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_RADIO: Encryption `;let s;s=$localize`${"\uFFFD#8\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#8\uFFFD"}:CLOSE_TAG_SPK_RADIO: Select files `;let d;d=$localize`${"\uFFFD#11\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#11\uFFFD"}:CLOSE_TAG_SPK_RADIO: Options `;let O;O=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_RADIO: Select files `;let g;g=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_RADIO: Options `;let k;k=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_RADIO: Select files `;let D;return D=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_RADIO: Options `,[a,t,s,d,O,g,k,D,["step","","routerLinkActive","active",3,"routerLink"]]},template:function(t,s){t&1&&(n(0,"app-status-bar"),o(1,"spk-stepper"),f(2,z,12,8)(3,j,6,6)(4,B,6,6),i(),o(5,"section"),n(6,"router-outlet"),i()),t&2&&(R(2),C(s.isFileRestore()?2:s.isDraft()?3:4))},dependencies:[I,N,G,P,L,M],styles:["[_nghost-%COMP%]{display:block}spk-stepper[_ngcontent-%COMP%]{max-width:31.25rem;margin:2.5rem auto}section[_ngcontent-%COMP%]{max-width:31.25rem;margin:0 auto 2.5rem}"],changeDetection:0})};export{c as default};
1
+ import{g as W}from"./chunk-NWVBCPMZ.js";import"./chunk-L7FLOT6V.js";import"./chunk-Q67EYU7V.js";import{a as E}from"./chunk-N5K6ODRA.js";import"./chunk-47XDI5B5.js";import{a as G}from"./chunk-CMNODR42.js";import"./chunk-RKQDFV7W.js";import"./chunk-GEEPH37P.js";import"./chunk-7LD5V64E.js";import"./chunk-WZG34QS3.js";import"./chunk-4IJQ7AAQ.js";import"./chunk-OQEGPSC6.js";import"./chunk-KLIPTMVG.js";import{a as $,b as P,d as L,e as M}from"./chunk-AIOUSVMR.js";import"./chunk-THUAAYGA.js";import{p as N,t as I}from"./chunk-ECH6I3YN.js";import"./chunk-V5GVLIPJ.js";import"./chunk-2HS3CYRN.js";import"./chunk-UQH5ZQG7.js";import{Ab as o,Bb as i,Cb as n,Mb as F,Mc as A,Nb as r,Qa as R,Tb as u,X as T,db as m,ib as f,rb as _,rc as p,sc as l,wb as C}from"./chunk-DTPZU6NP.js";import"./chunk-C6Q5SG76.js";var y=()=>["/restore-from-files/destination"],v=()=>["/restore-from-files/encryption"],h=()=>["/restore-from-files/select-files"],K=()=>["/restore-from-files/options"],X=e=>["/restore-draft",e],w=e=>["/restore-draft",e,"options"],b=e=>["/restore",e],x=e=>["/restore",e,"options"];function z(e,a){e&1&&(o(0,"div",8),F(1,0),n(2,"spk-radio"),r(),i(),o(3,"div",8),F(4,1),n(5,"spk-radio"),r(),i(),o(6,"div",8),F(7,2),n(8,"spk-radio"),r(),i(),o(9,"div",8),F(10,3),n(11,"spk-radio"),r(),i()),e&2&&(_("routerLink",p(4,y)),R(3),_("routerLink",p(5,v)),R(3),_("routerLink",p(6,h)),R(3),_("routerLink",p(7,K)))}function j(e,a){if(e&1&&(o(0,"div",8),F(1,4),n(2,"spk-radio"),r(),i(),o(3,"div",8),F(4,5),n(5,"spk-radio"),r(),i()),e&2){let t=u();_("routerLink",l(2,X,t.backupId())),R(3),_("routerLink",l(4,w,t.backupId()))}}function B(e,a){if(e&1&&(o(0,"div",8),F(1,6),n(2,"spk-radio"),r(),i(),o(3,"div",8),F(4,7),n(5,"spk-radio"),r(),i()),e&2){let t=u();_("routerLink",l(2,b,t.backupId())),R(3),_("routerLink",l(4,x,t.backupId()))}}var c=class e{#t=T($);#e=T(W);#i=E(this.#t.params);#o=E(this.#t.url);backupId=this.#e.backupId;isDraft=this.#e.isDraft;isFileRestore=this.#e.isFileRestore;paramsChanged=A(()=>{let a=this.#i()?.id,t=!!this.#o()?.find(d=>d.path==="restore-draft"),s=!!this.#o()?.find(d=>d.path==="restore-from-files");this.#e.init(a,s,s||t)});static \u0275fac=function(t){return new(t||e)};static \u0275cmp=m({type:e,selectors:[["app-restore-flow"]],decls:7,vars:1,consts:()=>{let a;a=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_RADIO: Destination `;let t;t=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_RADIO: Encryption `;let s;s=$localize`${"\uFFFD#8\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#8\uFFFD"}:CLOSE_TAG_SPK_RADIO: Select files `;let d;d=$localize`${"\uFFFD#11\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#11\uFFFD"}:CLOSE_TAG_SPK_RADIO: Options `;let O;O=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_RADIO: Select files `;let g;g=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_RADIO: Options `;let k;k=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_RADIO: Select files `;let D;return D=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_RADIO: Options `,[a,t,s,d,O,g,k,D,["step","","routerLinkActive","active",3,"routerLink"]]},template:function(t,s){t&1&&(n(0,"app-status-bar"),o(1,"spk-stepper"),f(2,z,12,8)(3,j,6,6)(4,B,6,6),i(),o(5,"section"),n(6,"router-outlet"),i()),t&2&&(R(2),C(s.isFileRestore()?2:s.isDraft()?3:4))},dependencies:[I,N,G,P,L,M],styles:["[_nghost-%COMP%]{display:block}spk-stepper[_ngcontent-%COMP%]{max-width:31.25rem;margin:2.5rem auto}section[_ngcontent-%COMP%]{max-width:31.25rem;margin:0 auto 2.5rem}"],changeDetection:0})};export{c as default};
@@ -1 +1 @@
1
- import{i as a,j as b}from"./chunk-RB3QECD4.js";import"./chunk-PN4QLDYL.js";import"./chunk-G3EXCHQT.js";import"./chunk-DNHLTHLR.js";import"./chunk-N5K6ODRA.js";import"./chunk-CRREGVJC.js";import"./chunk-CK5N2PPF.js";import"./chunk-4IJQ7AAQ.js";import"./chunk-KLIPTMVG.js";import"./chunk-AIOUSVMR.js";import"./chunk-THUAAYGA.js";import"./chunk-R3DRARWT.js";import"./chunk-V5GVLIPJ.js";import"./chunk-2HS3CYRN.js";import"./chunk-DTPZU6NP.js";import"./chunk-C6Q5SG76.js";export{a as createOptionsForm,b as default};
1
+ import{i as a,j as b}from"./chunk-2ZYPGUOW.js";import"./chunk-L7FLOT6V.js";import"./chunk-Q67EYU7V.js";import"./chunk-DNHLTHLR.js";import"./chunk-N5K6ODRA.js";import"./chunk-47XDI5B5.js";import"./chunk-CK5N2PPF.js";import"./chunk-4IJQ7AAQ.js";import"./chunk-KLIPTMVG.js";import"./chunk-AIOUSVMR.js";import"./chunk-THUAAYGA.js";import"./chunk-ECH6I3YN.js";import"./chunk-V5GVLIPJ.js";import"./chunk-2HS3CYRN.js";import"./chunk-DTPZU6NP.js";import"./chunk-C6Q5SG76.js";export{a as createOptionsForm,b as default};
@@ -0,0 +1 @@
1
+ import"./chunk-C6Q5SG76.js";var o=[{path:"",redirectTo:"general",pathMatch:"full"},{path:"general",loadComponent:()=>import("./chunk-LGGACMIA.js")},{path:"destination",loadComponent:()=>import("./chunk-YKV265HA.js")},{path:"source-data",loadComponent:()=>import("./chunk-QPRM4V75.js")},{path:"schedule",loadComponent:()=>import("./chunk-PZSY4DRF.js")},{path:"options",loadComponent:()=>import("./chunk-HAZC7QF4.js")}];export{o as default};
@@ -1 +1 @@
1
- import{b as c,d as A,e as d}from"./chunk-AIOUSVMR.js";import"./chunk-THUAAYGA.js";import{v as O}from"./chunk-R3DRARWT.js";import"./chunk-V5GVLIPJ.js";import"./chunk-2HS3CYRN.js";import{Ab as e,Bb as t,Cb as T,Ob as o,db as g}from"./chunk-DTPZU6NP.js";import"./chunk-C6Q5SG76.js";var l=class a{static \u0275fac=function(n){return new(n||a)};static \u0275cmp=g({type:a,selectors:[["app-about"]],decls:13,vars:0,consts:()=>{let i;i=$localize`General`;let n;n=$localize`Changelog`;let r;r=$localize`Libraries`;let s;s=$localize`System info`;let u;return u=$localize`Logs`,[i,n,r,s,u,[1,"primary"],["tab","","routerLink","/about/general","routerLinkActive","active"],["tab","","routerLink","/about/changelog","routerLinkActive","active"],["tab","","routerLink","/about/libraries","routerLinkActive","active"],["tab","","routerLink","/about/system-info","routerLinkActive","active"],["tab","","routerLink","/about/logs","routerLinkActive","active"]]},template:function(n,r){n&1&&(e(0,"spk-tabs",5)(1,"button",6),o(2,0),t(),e(3,"button",7),o(4,1),t(),e(5,"button",8),o(6,2),t(),e(7,"button",9),o(8,3),t(),e(9,"button",10),o(10,4),t()(),e(11,"section"),T(12,"router-outlet"),t())},dependencies:[O,c,A,d],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:0;padding:2.5rem}.nav[_ngcontent-%COMP%]{display:flex;gap:.5rem}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:2rem 0}"],changeDetection:0})};export{l as default};
1
+ import{b as c,d as A,e as d}from"./chunk-AIOUSVMR.js";import"./chunk-THUAAYGA.js";import{v as O}from"./chunk-ECH6I3YN.js";import"./chunk-V5GVLIPJ.js";import"./chunk-2HS3CYRN.js";import{Ab as e,Bb as t,Cb as T,Ob as o,db as g}from"./chunk-DTPZU6NP.js";import"./chunk-C6Q5SG76.js";var l=class a{static \u0275fac=function(n){return new(n||a)};static \u0275cmp=g({type:a,selectors:[["app-about"]],decls:13,vars:0,consts:()=>{let i;i=$localize`General`;let n;n=$localize`Changelog`;let r;r=$localize`Libraries`;let s;s=$localize`System info`;let u;return u=$localize`Logs`,[i,n,r,s,u,[1,"primary"],["tab","","routerLink","/about/general","routerLinkActive","active"],["tab","","routerLink","/about/changelog","routerLinkActive","active"],["tab","","routerLink","/about/libraries","routerLinkActive","active"],["tab","","routerLink","/about/system-info","routerLinkActive","active"],["tab","","routerLink","/about/logs","routerLinkActive","active"]]},template:function(n,r){n&1&&(e(0,"spk-tabs",5)(1,"button",6),o(2,0),t(),e(3,"button",7),o(4,1),t(),e(5,"button",8),o(6,2),t(),e(7,"button",9),o(8,3),t(),e(9,"button",10),o(10,4),t()(),e(11,"section"),T(12,"router-outlet"),t())},dependencies:[O,c,A,d],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:0;padding:2.5rem}.nav[_ngcontent-%COMP%]{display:flex;gap:.5rem}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:2rem 0}"],changeDetection:0})};export{l as default};
@@ -1 +1 @@
1
- import{a as D}from"./chunk-CRREGVJC.js";import"./chunk-KLIPTMVG.js";import{a as b,m as w}from"./chunk-R3DRARWT.js";import"./chunk-V5GVLIPJ.js";import{ia as A}from"./chunk-2HS3CYRN.js";import{Ab as c,Bb as r,Fb as u,Gb as v,Lc as $,Ob as P,Qa as l,Sb as k,Tb as s,X as y,ca as O,da as x,db as T,ec as C,fc as p,gc as E,ib as a,rb as d,sa as m,sb as h,sc as _,tb as f,tc as N,wb as g,yb as I,yc as F,zb as M}from"./chunk-DTPZU6NP.js";import"./chunk-C6Q5SG76.js";var L=e=>({children:e,level:0}),R=e=>({$implicit:e}),V=(e,t)=>({children:e,level:t}),j=(e,t)=>t.id;function z(e,t){if(e&1&&(c(0,"spk-icon"),p(1,"caret-down"),r()),e&2){let n=s().$implicit;f("open",n.isOpen())}}function B(e,t){e&1&&(c(0,"spk-icon"),p(1,"dot"),r())}function G(e,t){e&1&&u(0)}function U(e,t){if(e&1&&a(0,G,1,0,"ng-container",3),e&2){let n=s().$implicit,o=s().$implicit;s();let i=C(3);d("ngTemplateOutlet",i)("ngTemplateOutletContext",_(5,R,N(2,V,n.children,o.level+1)))}}function X(e,t){if(e&1){let n=v();c(0,"div",4,1),k("click",function(){let i=O(n).$implicit,Y=s(2);return x(i.children.length>0&&Y.toggleNode(i))}),a(2,z,2,2,"spk-icon",5)(3,B,2,0,"spk-icon"),c(4,"div",6),p(5),r()(),a(6,U,1,7,"ng-container")}if(e&2){let n=t.$implicit;f("cannot-toggle",n.children.length===0)("open",n.isOpen()),l(2),g(n.children.length>0?2:3),l(3),E(n.text),l(),g(n.isOpen()?6:-1)}}function q(e,t){if(e&1&&(c(0,"spk-list"),I(1,X,7,7,null,null,j),r()),e&2){let n=t.$implicit;h("padding-left",n.level*.25,"rem"),l(),M(n.children)}}function H(e,t){e&1&&u(0)}var S=class e{#e=y(D);treeStructure=$(()=>{let t=this.#e.systemInfo();return this.processObject(t,0)});toggleNode(t){t.isOpen.update(n=>!n)}processObject(t,n){let o=[];for(let i in t)typeof t[i]=="object"?o.push({id:i,text:i,children:this.processObject(t[i],n+1),level:n,isOpen:m(!1)}):o.push({id:i,text:`${i}: ${t[i]}`,children:[],level:n,isOpen:m(!1)});return o}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=T({type:e,selectors:[["app-system-info"]],decls:5,vars:6,consts:()=>{let t;return t=$localize`System info`,[["recursiveTree",""],["treeNode",""],t,[4,"ngTemplateOutlet","ngTemplateOutletContext"],["action","",3,"click"],[3,"open"],[1,"text"]]},template:function(n,o){if(n&1&&(c(0,"h3"),P(1,2),r(),a(2,q,3,2,"ng-template",null,0,F)(4,H,1,0,"ng-container",3)),n&2){let i=C(3);l(4),d("ngTemplateOutlet",i)("ngTemplateOutletContext",_(4,R,_(2,L,o.treeStructure())))}},dependencies:[w,b,A],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0 0 1.25rem}spk-icon[_ngcontent-%COMP%]{font-size:1rem}spk-list[_ngcontent-%COMP%]{padding:0}spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]{padding:0}spk-list[_ngcontent-%COMP%] [action].cannot-toggle[_ngcontent-%COMP%]{cursor:initial}"],changeDetection:0})};export{S as default};
1
+ import{a as D}from"./chunk-47XDI5B5.js";import"./chunk-KLIPTMVG.js";import{a as b,m as w}from"./chunk-ECH6I3YN.js";import"./chunk-V5GVLIPJ.js";import{ia as A}from"./chunk-2HS3CYRN.js";import{Ab as c,Bb as r,Fb as u,Gb as v,Lc as $,Ob as P,Qa as l,Sb as k,Tb as s,X as y,ca as O,da as x,db as T,ec as C,fc as p,gc as E,ib as a,rb as d,sa as m,sb as h,sc as _,tb as f,tc as N,wb as g,yb as I,yc as F,zb as M}from"./chunk-DTPZU6NP.js";import"./chunk-C6Q5SG76.js";var L=e=>({children:e,level:0}),R=e=>({$implicit:e}),V=(e,t)=>({children:e,level:t}),j=(e,t)=>t.id;function z(e,t){if(e&1&&(c(0,"spk-icon"),p(1,"caret-down"),r()),e&2){let n=s().$implicit;f("open",n.isOpen())}}function B(e,t){e&1&&(c(0,"spk-icon"),p(1,"dot"),r())}function G(e,t){e&1&&u(0)}function U(e,t){if(e&1&&a(0,G,1,0,"ng-container",3),e&2){let n=s().$implicit,o=s().$implicit;s();let i=C(3);d("ngTemplateOutlet",i)("ngTemplateOutletContext",_(5,R,N(2,V,n.children,o.level+1)))}}function X(e,t){if(e&1){let n=v();c(0,"div",4,1),k("click",function(){let i=O(n).$implicit,Y=s(2);return x(i.children.length>0&&Y.toggleNode(i))}),a(2,z,2,2,"spk-icon",5)(3,B,2,0,"spk-icon"),c(4,"div",6),p(5),r()(),a(6,U,1,7,"ng-container")}if(e&2){let n=t.$implicit;f("cannot-toggle",n.children.length===0)("open",n.isOpen()),l(2),g(n.children.length>0?2:3),l(3),E(n.text),l(),g(n.isOpen()?6:-1)}}function q(e,t){if(e&1&&(c(0,"spk-list"),I(1,X,7,7,null,null,j),r()),e&2){let n=t.$implicit;h("padding-left",n.level*.25,"rem"),l(),M(n.children)}}function H(e,t){e&1&&u(0)}var S=class e{#e=y(D);treeStructure=$(()=>{let t=this.#e.systemInfo();return this.processObject(t,0)});toggleNode(t){t.isOpen.update(n=>!n)}processObject(t,n){let o=[];for(let i in t)typeof t[i]=="object"?o.push({id:i,text:i,children:this.processObject(t[i],n+1),level:n,isOpen:m(!1)}):o.push({id:i,text:`${i}: ${t[i]}`,children:[],level:n,isOpen:m(!1)});return o}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=T({type:e,selectors:[["app-system-info"]],decls:5,vars:6,consts:()=>{let t;return t=$localize`System info`,[["recursiveTree",""],["treeNode",""],t,[4,"ngTemplateOutlet","ngTemplateOutletContext"],["action","",3,"click"],[3,"open"],[1,"text"]]},template:function(n,o){if(n&1&&(c(0,"h3"),P(1,2),r(),a(2,q,3,2,"ng-template",null,0,F)(4,H,1,0,"ng-container",3)),n&2){let i=C(3);l(4),d("ngTemplateOutlet",i)("ngTemplateOutletContext",_(4,R,_(2,L,o.treeStructure())))}},dependencies:[w,b,A],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0 0 1.25rem}spk-icon[_ngcontent-%COMP%]{font-size:1rem}spk-list[_ngcontent-%COMP%]{padding:0}spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]{padding:0}spk-list[_ngcontent-%COMP%] [action].cannot-toggle[_ngcontent-%COMP%]{cursor:initial}"],changeDetection:0})};export{S as default};
@@ -1 +1 @@
1
- import{a as me}from"./chunk-CRREGVJC.js";import{r as Ce}from"./chunk-4IJQ7AAQ.js";import{b as de}from"./chunk-KLIPTMVG.js";import{a as pe,f as ue,l as he,m as _e,o as fe,w as ge}from"./chunk-R3DRARWT.js";import{ia as ce}from"./chunk-2HS3CYRN.js";import{Ab as u,Bb as h,Cb as te,D as V,Fb as X,Gb as I,Lc as A,Mc as R,Ob as W,Pb as ne,Qa as g,Qb as ie,Sb as k,Tb as p,Ub as oe,Vb as L,X as H,Xa as G,ca as N,cc as Q,da as y,db as J,dc as re,ec as K,fc as S,hc as se,ib as x,oa as j,pa as E,rb as q,sa as M,sb as Y,sc as $,tb as T,tc as le,v as U,wb as O,yb as Z,yc as ae,zb as ee}from"./chunk-DTPZU6NP.js";import{a as D,b as B}from"./chunk-C6Q5SG76.js";var ve=["treeContainer"],Te=["formRef"],xe=[[["label"]],[["label"]],[["input"]]],be=["label","label","input"],Me=s=>({children:s,level:0}),Ee=s=>({$implicit:s}),Oe=(s,t)=>({children:s,level:t}),Se=(s,t)=>t.id;function we(s,t){if(s&1){let e=I();u(0,"spk-button-group")(1,"button",13),k("click",function(){N(e);let o=p();return y(o.pathDiscoveryMethod.set("browse"))}),W(2,4),h(),u(3,"button",13),k("click",function(){N(e);let o=p();return y(o.pathDiscoveryMethod.set("path"))}),W(4,5),h()()}if(s&2){let e=p();g(),T("active",e.pathDiscoveryMethod()==="browse"),g(2),T("active",e.pathDiscoveryMethod()==="path")}}function Fe(s,t){s&1&&te(0,"spk-progress-bar",9)}function Ne(s,t){s&1&&(u(0,"spk-icon",18),S(1,"caret-down"),h(),u(2,"spk-icon",16),S(3,"folder-open"),h())}function ye(s,t){s&1&&(u(0,"spk-icon"),S(1,"file"),h())}function ke(s,t){s&1&&(u(0,"spk-icon",18),S(1,"caret-right"),h(),u(2,"spk-icon",16),S(3,"folder"),h())}function Re(s,t){if(s&1&&x(0,Ne,4,0)(1,ye,2,0,"spk-icon")(2,ke,4,0),s&2){let e=p(2).$implicit;O(e.children.length?0:e.cls==="file"?1:2)}}function Ie(s,t){s&1&&(u(0,"spk-icon",16),S(1,"desktop-tower"),h())}function We(s,t){s&1&&X(0)}function Le(s,t){if(s&1&&x(0,We,1,0,"ng-container",10),s&2){let e=p(2).$implicit,n=p().$implicit;p();let o=K(7);q("ngTemplateOutlet",o)("ngTemplateOutletContext",$(5,Ee,le(2,Oe,e.children,n.level+1)))}}function $e(s,t){if(s&1){let e=I();u(0,"div",14,3),k("click",function(){N(e);let o=p().$implicit,i=p(2);return y(i.toggleNode(o.id,o))}),u(2,"div",15),x(3,Re,3,1)(4,Ie,2,0,"spk-icon",16),h(),u(5,"div",17),k("click",function(o){N(e);let i=p().$implicit,r=p(2);return y(r.toggleSelectedNode(o,i))}),S(6),h()(),x(7,Le,1,7,"ng-container")}if(s&2){let e=p().$implicit,n=p().$implicit,o=p();T("accepted",e.accepted===!0)("active",e.evalState===o.TreeEvalEnum.Included)("indeterminate",e.isIndeterminate)("open",e.children.length)("usually-hidden",e.hidden)("root",n.level===0),g(2),T("file",e.cls==="file"),g(),O(e.id!=="/"?3:4),g(3),se(" ",e.text," "),g(),O(e.children.length>0?7:-1)}}function Ae(s,t){if(s&1&&x(0,$e,8,17),s&2){let e=t.$implicit,n=p(2);O(e.hidden&&n._showHiddenNodes()||!e.hidden?0:-1)}}function De(s,t){if(s&1&&(u(0,"spk-list"),Z(1,Ae,1,1,null,null,Se),h()),s&2){let e=t.$implicit;Y("padding-left",e.level*.25,"rem"),g(),ee(e.children)}}function Be(s,t){s&1&&X(0)}function Ve(s,t){if(s&1){let e=I();u(0,"spk-toggle",19),k("click",function(){N(e);let o=p();return y(o._showHiddenNodes.set(!o._showHiddenNodes()))}),W(1,6),h()}if(s&2){let e=p();T("active",e._showHiddenNodes()),g(),ne(e.showFiles()?"files":"folders"),ie(1)}}var Pe=(i=>(i[i.ExcludedByParent=-2]="ExcludedByParent",i[i.Excluded=-1]="Excluded",i[i.None=0]="None",i[i.Included=1]="Included",i[i.IncludedByParent=2]="IncludedByParent",i))(Pe||{}),z=class s{#t=H(de);#r=H(me);multiSelect=E(!1);disabled=E(!1);showFiles=E(!1);selectFiles=E(!1);accepts=E(null);startingPath=E(null);rootPath=E(void 0);backupSettings=E(null);pathRefreshTrigger=E(!1);showHiddenNodes=E(!1);hideShortcuts=E(!1);includes=j();excludes=j();_showHiddenNodes=M(!1);treeContainerRef=G("treeContainer");formRef=G("formRef");pathDiscoveryMethod=M("browse");isLoading=M(!1);currentPath=M("/");#e=M(null);treeSearchQuery=M("");treeNodes=M([]);filterGroups=this.#r.filterGroups();isByBackupSettings=A(()=>{let t=this.backupSettings();return!(t===void 0||t?.id===void 0||t?.time===void 0)});searchableTreeNodes=A(()=>{let t=this.treeSearchQuery();return t?this.treeNodes().filter(e=>e.text?.toLowerCase().includes(t.toLowerCase())):this.treeNodes()});TreeEvalEnum=Pe;treeStructure=A(()=>{let t=this.showHiddenNodes(),e=this.currentPath().split("\0").filter(c=>c!==""&&c!=="/"),n=structuredClone(e);for(let c=0;c<n.length;c++){let d=n[c].slice(1);if(d.startsWith("{")&&d.endsWith("}")){let m=d.slice(1,-1),f=this.filterGroups?.FilterGroups[m];if(f&&f.length){let P=f.map(v=>`-${v}`);n.splice(c,1,...P)}}}let o=this.searchableTreeNodes(),i=new Map,r=this.rootPath(),_=this.accepts(),l=r?{id:r,resolvedpath:r,text:r,parentPath:"",children:[],evalState:0,isIndeterminate:!1,cls:"folder"}:{id:"/",resolvedpath:"/",text:"Computer",parentPath:"",children:[],evalState:0,isIndeterminate:!1};_&&(l.accepted=!0),i.set("/",l);for(let c of o){let a=c.id.replace(r??"",""),m=a.includes("\\")?"\\":"/",f=a.split(m).filter(Boolean),P="",v=l;for(let C of f){if(P+="/"+C,!i.has(P)){let w=c.hidden===!0&&t?0:this.#s(n,c.id,c.cls,v),b={id:c.id,isIndeterminate:this.isIndeterminate(n,c.id),evalState:w,parentPath:P,resolvedpath:c.id?.startsWith("%")?c.resolvedpath+"/":P,hidden:c.hidden,text:c.text,cls:c.cls,children:[]};_&&(b.accepted=this.matchAccepts(_,b)),i.set(P,b),v.children.push(b)}v=i.get(P)}}return[l]});#s(t,e,n,o){if(o.evalState===-1)return-2;let i=0,r=t.filter(l=>!l.startsWith("-")&&!l.startsWith("+")),_=t.filter(l=>l.startsWith("-")||l.startsWith("+"));if(r.length===0)return i;for(let l=0;l<r.length;l++){let c=r[l];if(e?.startsWith(c)){i=1;break}}if(_.length===0)return i;for(let l=0;l<_.length;l++){let c=_[l],a=c.slice(1),d=c.startsWith("-")?"exclude":"include",m=e.includes("\\"),f=m?"\\":"/";if((m?a.slice(2):a).startsWith(f)&&a.endsWith(f)){if(n!=="folder")continue;if(e===a){i=d==="include"?1:-1;break}}if(a.startsWith("*")&&a.endsWith(`*${f}`)){if(n!=="folder")continue;let C=a.slice(1,-2);if(C==="")break;if(e?.includes(C+f)){i=d==="include"?1:-1;break}}if(a.startsWith("[.*")&&a.endsWith(`[^\\${f}]*]`)){if(n!=="file")continue;let C=a.slice(3,-7);if(new RegExp(C).test(e)){i=d==="include"?1:-1;break}}if(a.startsWith("[")&&a.endsWith("]")){let C=a.slice(1,-1),w=this.translateCSharpRegex(C);if(new RegExp(`${w}`).test(e)){i=d==="include"?1:-1;break}}if(a.startsWith("*.")){if(n!=="file"||a.replace("*.","").length===0)continue;if(this.#n(e,a,!0)){i=d==="include"?1:-1;break}}if(a==="")continue;if(a===e){i=d==="include"?1:-1;break}if(this.#n(e,a,!0)){i=d==="include"?1:-1;break}}return i}translateCSharpRegex(t){let e=t;e=e.replace(/^@/,"");let n=/\(\?<(?<name>\w+)>(?<pattern>[^)]+)\)/g;return e=e.replace(n,(o,i,r)=>`(${r})`),e=e.replace(/\\/g,"\\\\"),e}isIndeterminate(t,e){return t.some(n=>n.startsWith(e))}#n(t,e,n=!1){let o=e.replace(/\*/g,".*").replace(/\?/g,".").replace(/\[!([^\]]+)\]/g,"[^$1]");return new RegExp(`${o}${n?"$":""}`).test(t)}showHiddenNodesEffect=R(()=>this._showHiddenNodes.set(this.showHiddenNodes()));pathDiscoveryMethodEffect=R(()=>{let t=this.pathDiscoveryMethod(),e=this.#e();t==="browse"&&e&&this.currentPath.set(e.value)});matchAccepts(t,e){if(!t||e.cls==="folder"||e.id==="/")return!0;let n=t.split(",");if(n.length===0)return!0;let o="."+e.id.slice(e.id.indexOf("."));return o?n.some(i=>o.endsWith(i)):!1}currentPathEffect=R(()=>{let t=this.#e();t&&(t.value=this.currentPath(),t.dispatchEvent(new Event("input")))});inputValueChangeAbortController=null;inputRefEffect=R(()=>{let t=this.formRef()?.nativeElement?.querySelector("input");t&&(this.#a(t),this.inputValueChangeAbortController&&this.inputValueChangeAbortController.abort(),this.inputValueChangeAbortController=new AbortController,t.addEventListener("inputValueChanged",e=>{this.currentPath.set(e.detail.value)},{signal:this.inputValueChangeAbortController.signal}),this.#e.set(t),t.autocomplete="off")});ngOnInit(){let t=this.startingPath();t?(this.currentPath.set(t),this.#p(t)):this.#o(null,this.rootPath())}toggleSelectedNode(t,e){if(e.id==="/"||(t.stopPropagation(),e.evalState===-2))return;if(this.selectFiles()&&e.cls==="folder"){this.toggleNode(e.id,e);return}if(this.accepts()&&!e.accepted)return;let o=this.currentPath().split("\0").filter(r=>r!==""&&r!=="/"),i=this.isChildOfSelected(e)?`-${e.id}`:e.id;this.multiSelect()?o.includes(e.id)?this.currentPath.set(o.filter(r=>r!==e.id).join("\0")):o.some(r=>r.startsWith(i))?this.currentPath.set(o.filter(r=>r!==i).join("\0")):this.currentPath.set([...o,i].join("\0")):o.includes(e.id)?this.currentPath.set(o.filter(r=>r!==e.id).join("\0")):this.currentPath.set(e.id)}isChildOfSelected(t){return this.currentPath().split("\0").filter(n=>n!==""&&n!=="/").some(n=>t.id?.startsWith(n)||`-${t.id}`.startsWith(n))}toggleNode(t,e=null){e?.cls==="folder"&&(e?.children.length?this.treeNodes.update(n=>n.filter(o=>!o.id?.startsWith(e.id)||o.id===e.id)):this.#o(e,t))}#l(){setTimeout(()=>{let e=this.treeContainerRef()?.nativeElement?.querySelector(".active");e&&e.scrollIntoView({behavior:"smooth",block:"center"})},100)}#a(t){return Object.defineProperty(t,"value",{configurable:!0,get(){return Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value").get.call(this)},set(e){return Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value").set.call(this,e),this.dispatchEvent(new CustomEvent("inputValueChanged",{bubbles:!0,cancelable:!0,detail:{value:e}})),e}}),t}#c(t){return this.#t.postApiV1Filesystem({showHidden:!0,requestBody:{path:t},onlyFolders:!this.showFiles()})}#d(t){let e=this.backupSettings(),n={id:e.id+"",prefixOnly:!1,folderContents:!0,time:e.time,filter:t?"@"+t:void 0};return this.#t.getApiV1BackupByIdFiles(n)}#i(t){return this.isByBackupSettings()?this.#d(t):this.#c(t)}#p(t){let e=t.split("\0").filter(r=>r.startsWith("-")).map(r=>r.slice(1,-1)),n=t.split("\0").filter(r=>!r.startsWith("-")).filter(Boolean),o=n.map(r=>{let _=r.indexOf(":")===1;return r.split(_?"\\":"/").filter(l=>l.includes(".")?!1:l)}),i=[this.rootPath()??"/"];o.forEach(r=>{r.forEach((_,l)=>{let c=r[0].endsWith(":"),a=r.slice(0,l+1).join(c?"\\":"/"),d=a;d.indexOf(":")===-1&&!d.startsWith("%")&&(d="/"+a),i.includes(d)||i.push(d)})}),this.isLoading.set(!0),U([...i.map(r=>this.#i(r))]).pipe(V(()=>this.isLoading.set(!1))).subscribe({next:r=>{this.treeNodes.update(_=>{let l=r.flatMap(a=>a.map(d=>{let m=d.id,f=m&&m.split("/").filter(Boolean).slice(0,-1).join("/"),v="/"+(m&&m.split("/").filter(Boolean).join("/")),C=n.findIndex(F=>this.multiSelect()?v.startsWith(F):v===F)>-1,w=n.findIndex(F=>F===m)>-1,b=e.findIndex(F=>F===v)>-1;return B(D({},d),{parentPath:f.startsWith("%")?f:"/"+f,isSelected:C&&!b||w})})),c=[...new Map([..._,...l].map(a=>[a.resolvedpath??a.id,a])).values()];return this.#l(),c})}})}#o(t=null,e="/"){this.isLoading.set(!0),this.#i(e).pipe(V(()=>this.isLoading.set(!1))).subscribe({next:n=>{let o=this.isByBackupSettings()?n.Files.map(i=>({text:i.Path.split("/").filter(r=>r!=="").pop(),id:i.Path,cls:i.Path.endsWith("/")||i.Path.endsWith("\\")?"folder":"file",leaf:t!==null,resolvedpath:i.Path,hidden:!1})):n;this.treeNodes.update(i=>{let r=o.map(l=>{let c=l.id.startsWith("%")&&l.id.endsWith("%")||l.id.endsWith("/")||l.id.endsWith("\\")?"folder":"file";return B(D({},l),{cls:c,parentPath:e})}),_=[...new Map([...i,...r].map(l=>[l.resolvedpath??l.id,l])).values()];return this.hideShortcuts()?_.filter(l=>!l.id.startsWith("%")):_})}})}static \u0275fac=function(e){return new(e||s)};static \u0275cmp=J({type:s,selectors:[["app-file-tree"]],viewQuery:function(e,n){e&1&&(Q(n.treeContainerRef,ve,5),Q(n.formRef,Te,5)),e&2&&re(2)},hostVars:2,hostBindings:function(e,n){e&2&&T("disabled",n.disabled())},inputs:{multiSelect:[1,"multiSelect"],disabled:[1,"disabled"],showFiles:[1,"showFiles"],selectFiles:[1,"selectFiles"],accepts:[1,"accepts"],startingPath:[1,"startingPath"],rootPath:[1,"rootPath"],backupSettings:[1,"backupSettings"],pathRefreshTrigger:[1,"pathRefreshTrigger"],showHiddenNodes:[1,"showHiddenNodes"],hideShortcuts:[1,"hideShortcuts"]},outputs:{includes:"includes",excludes:"excludes"},ngContentSelectors:be,decls:15,vars:15,consts:()=>{let t;t=$localize` Browser path `;let e;e=$localize` Manually type path `;let n;return n=$localize` Show hidden ${"\uFFFD0\uFFFD"}:INTERPOLATION: `,[["treeContainer",""],["recursiveTree",""],["formRef",""],["treeNode",""],t,e,n,[1,"section"],[1,"browse-files"],[1,"indeterminate","primary"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"primary","raised","browse-files-toggle",3,"active"],[1,"form-field"],["type","button",3,"click"],["action","",3,"click"],[1,"icon"],[1,"spk-primary"],[1,"text",3,"click"],[1,"small"],[1,"primary","raised","browse-files-toggle",3,"click"]]},template:function(e,n){if(e&1&&(oe(xe),x(0,we,5,4,"spk-button-group"),u(1,"div",7),L(2,0,["ngProjectAs","label",5,["label"]]),u(3,"div",8,0),x(5,Fe,1,0,"spk-progress-bar",9)(6,De,3,2,"ng-template",null,1,ae)(8,Be,1,0,"ng-container",10),h(),x(9,Ve,2,3,"spk-toggle",11),h(),u(10,"div",12,2)(12,"spk-form-field"),L(13,1,["ngProjectAs","label",5,["label"]]),L(14,2,["ngProjectAs","input",5,["input"]]),h()()),e&2){let o=K(7);O(n.multiSelect()?-1:0),g(),T("hidden",n.pathDiscoveryMethod()!=="browse"),g(2),T("visualize-accepted",n.accepts()),g(2),O(n.isLoading()?5:-1),g(3),q("ngTemplateOutlet",o)("ngTemplateOutletContext",$(13,Ee,$(11,Me,n.treeStructure()))),g(),O(n.accepts()?-1:9),g(),T("hidden",n.pathDiscoveryMethod()!=="path")}},dependencies:[ue,ge,pe,he,_e,fe,ce,Ce],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;gap:1rem}.disabled[_nghost-%COMP%]{opacity:.5;-webkit-user-select:none;user-select:none;pointer-events:none;position:relative}.disabled[_nghost-%COMP%]:before{content:"";position:absolute;inset:0;background:transparent}.fill[_nghost-%COMP%]{height:auto;overflow:hidden;flex:1 0}.fill[_nghost-%COMP%] .section[_ngcontent-%COMP%]{height:auto;overflow:hidden;flex:1 0;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;grid-template-areas:"label toggle" "tree tree"}.fill[_nghost-%COMP%] .browse-files[_ngcontent-%COMP%]{resize:none;height:initial;grid-area:tree}.fill[_nghost-%COMP%] label[_ngcontent-%COMP%]{grid-area:label}.fill[_nghost-%COMP%] spk-toggle[_ngcontent-%COMP%]{grid-area:toggle;flex-direction:row-reverse}.section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.form-field.hidden[_ngcontent-%COMP%]{display:none}.browse-files[_ngcontent-%COMP%]{display:flex;gap:.5rem;padding:.5rem 1rem;height:12.5rem;border:1px solid var(--base-level-40);border-radius:var(--shape-3);overflow:auto;resize:vertical;background:var(--base-level-10);position:relative}.browse-files[_ngcontent-%COMP%] spk-progress-bar[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0}.browse-files.visualize-accepted[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]:not(.accepted){opacity:.5}.browse-files.visualize-accepted[_ngcontent-%COMP%] [action].accepted[_ngcontent-%COMP%]{opacity:1}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%]{--list-active-bg: var(--base-level-30);gap:.125rem;padding:0;height:min-content;min-width:min-content}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]{padding:0;gap:0;border:1px solid transparent}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].active[_ngcontent-%COMP%]{border-color:transparent;--list-active-bg: var(--primary-level-20)}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].indeterminate[_ngcontent-%COMP%]{border-color:var(--primary-level-40)}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].usually-hidden[_ngcontent-%COMP%]{opacity:.6}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].root[_ngcontent-%COMP%]{gap:.25rem}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].root[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]:has(spk-icon:nth-child(2)){width:3rem}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].root[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{width:1.5rem}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{flex:1 0;height:100%;width:max-content;display:flex;align-items:center}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{width:3rem;gap:.25rem;height:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%] .icon.file[_ngcontent-%COMP%]{width:2rem;padding:0 .25rem}.browse-files-toggle[_ngcontent-%COMP%]{color:var(--base-level-60R)}.hidden[_ngcontent-%COMP%]{display:none}'],changeDetection:0})};export{z as a};
1
+ import{a as me}from"./chunk-47XDI5B5.js";import{r as Ce}from"./chunk-4IJQ7AAQ.js";import{b as de}from"./chunk-KLIPTMVG.js";import{a as pe,f as ue,l as he,m as _e,o as fe,x as ge}from"./chunk-ECH6I3YN.js";import{ia as ce}from"./chunk-2HS3CYRN.js";import{Ab as u,Bb as h,Cb as te,D as V,Fb as X,Gb as I,Lc as A,Mc as R,Ob as W,Pb as ne,Qa as g,Qb as ie,Sb as k,Tb as p,Ub as oe,Vb as L,X as H,Xa as G,ca as N,cc as Q,da as y,db as J,dc as re,ec as K,fc as S,hc as se,ib as x,oa as j,pa as E,rb as q,sa as M,sb as Y,sc as $,tb as T,tc as le,v as U,wb as O,yb as Z,yc as ae,zb as ee}from"./chunk-DTPZU6NP.js";import{a as D,b as B}from"./chunk-C6Q5SG76.js";var ve=["treeContainer"],Te=["formRef"],xe=[[["label"]],[["label"]],[["input"]]],be=["label","label","input"],Me=s=>({children:s,level:0}),Ee=s=>({$implicit:s}),Oe=(s,t)=>({children:s,level:t}),Se=(s,t)=>t.id;function we(s,t){if(s&1){let e=I();u(0,"spk-button-group")(1,"button",13),k("click",function(){N(e);let o=p();return y(o.pathDiscoveryMethod.set("browse"))}),W(2,4),h(),u(3,"button",13),k("click",function(){N(e);let o=p();return y(o.pathDiscoveryMethod.set("path"))}),W(4,5),h()()}if(s&2){let e=p();g(),T("active",e.pathDiscoveryMethod()==="browse"),g(2),T("active",e.pathDiscoveryMethod()==="path")}}function Fe(s,t){s&1&&te(0,"spk-progress-bar",9)}function Ne(s,t){s&1&&(u(0,"spk-icon",18),S(1,"caret-down"),h(),u(2,"spk-icon",16),S(3,"folder-open"),h())}function ye(s,t){s&1&&(u(0,"spk-icon"),S(1,"file"),h())}function ke(s,t){s&1&&(u(0,"spk-icon",18),S(1,"caret-right"),h(),u(2,"spk-icon",16),S(3,"folder"),h())}function Re(s,t){if(s&1&&x(0,Ne,4,0)(1,ye,2,0,"spk-icon")(2,ke,4,0),s&2){let e=p(2).$implicit;O(e.children.length?0:e.cls==="file"?1:2)}}function Ie(s,t){s&1&&(u(0,"spk-icon",16),S(1,"desktop-tower"),h())}function We(s,t){s&1&&X(0)}function Le(s,t){if(s&1&&x(0,We,1,0,"ng-container",10),s&2){let e=p(2).$implicit,n=p().$implicit;p();let o=K(7);q("ngTemplateOutlet",o)("ngTemplateOutletContext",$(5,Ee,le(2,Oe,e.children,n.level+1)))}}function $e(s,t){if(s&1){let e=I();u(0,"div",14,3),k("click",function(){N(e);let o=p().$implicit,i=p(2);return y(i.toggleNode(o.id,o))}),u(2,"div",15),x(3,Re,3,1)(4,Ie,2,0,"spk-icon",16),h(),u(5,"div",17),k("click",function(o){N(e);let i=p().$implicit,r=p(2);return y(r.toggleSelectedNode(o,i))}),S(6),h()(),x(7,Le,1,7,"ng-container")}if(s&2){let e=p().$implicit,n=p().$implicit,o=p();T("accepted",e.accepted===!0)("active",e.evalState===o.TreeEvalEnum.Included)("indeterminate",e.isIndeterminate)("open",e.children.length)("usually-hidden",e.hidden)("root",n.level===0),g(2),T("file",e.cls==="file"),g(),O(e.id!=="/"?3:4),g(3),se(" ",e.text," "),g(),O(e.children.length>0?7:-1)}}function Ae(s,t){if(s&1&&x(0,$e,8,17),s&2){let e=t.$implicit,n=p(2);O(e.hidden&&n._showHiddenNodes()||!e.hidden?0:-1)}}function De(s,t){if(s&1&&(u(0,"spk-list"),Z(1,Ae,1,1,null,null,Se),h()),s&2){let e=t.$implicit;Y("padding-left",e.level*.25,"rem"),g(),ee(e.children)}}function Be(s,t){s&1&&X(0)}function Ve(s,t){if(s&1){let e=I();u(0,"spk-toggle",19),k("click",function(){N(e);let o=p();return y(o._showHiddenNodes.set(!o._showHiddenNodes()))}),W(1,6),h()}if(s&2){let e=p();T("active",e._showHiddenNodes()),g(),ne(e.showFiles()?"files":"folders"),ie(1)}}var Pe=(i=>(i[i.ExcludedByParent=-2]="ExcludedByParent",i[i.Excluded=-1]="Excluded",i[i.None=0]="None",i[i.Included=1]="Included",i[i.IncludedByParent=2]="IncludedByParent",i))(Pe||{}),z=class s{#t=H(de);#r=H(me);multiSelect=E(!1);disabled=E(!1);showFiles=E(!1);selectFiles=E(!1);accepts=E(null);startingPath=E(null);rootPath=E(void 0);backupSettings=E(null);pathRefreshTrigger=E(!1);showHiddenNodes=E(!1);hideShortcuts=E(!1);includes=j();excludes=j();_showHiddenNodes=M(!1);treeContainerRef=G("treeContainer");formRef=G("formRef");pathDiscoveryMethod=M("browse");isLoading=M(!1);currentPath=M("/");#e=M(null);treeSearchQuery=M("");treeNodes=M([]);filterGroups=this.#r.filterGroups();isByBackupSettings=A(()=>{let t=this.backupSettings();return!(t===void 0||t?.id===void 0||t?.time===void 0)});searchableTreeNodes=A(()=>{let t=this.treeSearchQuery();return t?this.treeNodes().filter(e=>e.text?.toLowerCase().includes(t.toLowerCase())):this.treeNodes()});TreeEvalEnum=Pe;treeStructure=A(()=>{let t=this.showHiddenNodes(),e=this.currentPath().split("\0").filter(c=>c!==""&&c!=="/"),n=structuredClone(e);for(let c=0;c<n.length;c++){let d=n[c].slice(1);if(d.startsWith("{")&&d.endsWith("}")){let m=d.slice(1,-1),f=this.filterGroups?.FilterGroups[m];if(f&&f.length){let P=f.map(v=>`-${v}`);n.splice(c,1,...P)}}}let o=this.searchableTreeNodes(),i=new Map,r=this.rootPath(),_=this.accepts(),l=r?{id:r,resolvedpath:r,text:r,parentPath:"",children:[],evalState:0,isIndeterminate:!1,cls:"folder"}:{id:"/",resolvedpath:"/",text:"Computer",parentPath:"",children:[],evalState:0,isIndeterminate:!1};_&&(l.accepted=!0),i.set("/",l);for(let c of o){let a=c.id.replace(r??"",""),m=a.includes("\\")?"\\":"/",f=a.split(m).filter(Boolean),P="",v=l;for(let C of f){if(P+="/"+C,!i.has(P)){let w=c.hidden===!0&&t?0:this.#s(n,c.id,c.cls,v),b={id:c.id,isIndeterminate:this.isIndeterminate(n,c.id),evalState:w,parentPath:P,resolvedpath:c.id?.startsWith("%")?c.resolvedpath+"/":P,hidden:c.hidden,text:c.text,cls:c.cls,children:[]};_&&(b.accepted=this.matchAccepts(_,b)),i.set(P,b),v.children.push(b)}v=i.get(P)}}return[l]});#s(t,e,n,o){if(o.evalState===-1)return-2;let i=0,r=t.filter(l=>!l.startsWith("-")&&!l.startsWith("+")),_=t.filter(l=>l.startsWith("-")||l.startsWith("+"));if(r.length===0)return i;for(let l=0;l<r.length;l++){let c=r[l];if(e?.startsWith(c)){i=1;break}}if(_.length===0)return i;for(let l=0;l<_.length;l++){let c=_[l],a=c.slice(1),d=c.startsWith("-")?"exclude":"include",m=e.includes("\\"),f=m?"\\":"/";if((m?a.slice(2):a).startsWith(f)&&a.endsWith(f)){if(n!=="folder")continue;if(e===a){i=d==="include"?1:-1;break}}if(a.startsWith("*")&&a.endsWith(`*${f}`)){if(n!=="folder")continue;let C=a.slice(1,-2);if(C==="")break;if(e?.includes(C+f)){i=d==="include"?1:-1;break}}if(a.startsWith("[.*")&&a.endsWith(`[^\\${f}]*]`)){if(n!=="file")continue;let C=a.slice(3,-7);if(new RegExp(C).test(e)){i=d==="include"?1:-1;break}}if(a.startsWith("[")&&a.endsWith("]")){let C=a.slice(1,-1),w=this.translateCSharpRegex(C);if(new RegExp(`${w}`).test(e)){i=d==="include"?1:-1;break}}if(a.startsWith("*.")){if(n!=="file"||a.replace("*.","").length===0)continue;if(this.#n(e,a,!0)){i=d==="include"?1:-1;break}}if(a==="")continue;if(a===e){i=d==="include"?1:-1;break}if(this.#n(e,a,!0)){i=d==="include"?1:-1;break}}return i}translateCSharpRegex(t){let e=t;e=e.replace(/^@/,"");let n=/\(\?<(?<name>\w+)>(?<pattern>[^)]+)\)/g;return e=e.replace(n,(o,i,r)=>`(${r})`),e=e.replace(/\\/g,"\\\\"),e}isIndeterminate(t,e){return t.some(n=>n.startsWith(e))}#n(t,e,n=!1){let o=e.replace(/\*/g,".*").replace(/\?/g,".").replace(/\[!([^\]]+)\]/g,"[^$1]");return new RegExp(`${o}${n?"$":""}`).test(t)}showHiddenNodesEffect=R(()=>this._showHiddenNodes.set(this.showHiddenNodes()));pathDiscoveryMethodEffect=R(()=>{let t=this.pathDiscoveryMethod(),e=this.#e();t==="browse"&&e&&this.currentPath.set(e.value)});matchAccepts(t,e){if(!t||e.cls==="folder"||e.id==="/")return!0;let n=t.split(",");if(n.length===0)return!0;let o="."+e.id.slice(e.id.indexOf("."));return o?n.some(i=>o.endsWith(i)):!1}currentPathEffect=R(()=>{let t=this.#e();t&&(t.value=this.currentPath(),t.dispatchEvent(new Event("input")))});inputValueChangeAbortController=null;inputRefEffect=R(()=>{let t=this.formRef()?.nativeElement?.querySelector("input");t&&(this.#a(t),this.inputValueChangeAbortController&&this.inputValueChangeAbortController.abort(),this.inputValueChangeAbortController=new AbortController,t.addEventListener("inputValueChanged",e=>{this.currentPath.set(e.detail.value)},{signal:this.inputValueChangeAbortController.signal}),this.#e.set(t),t.autocomplete="off")});ngOnInit(){let t=this.startingPath();t?(this.currentPath.set(t),this.#p(t)):this.#o(null,this.rootPath())}toggleSelectedNode(t,e){if(e.id==="/"||(t.stopPropagation(),e.evalState===-2))return;if(this.selectFiles()&&e.cls==="folder"){this.toggleNode(e.id,e);return}if(this.accepts()&&!e.accepted)return;let o=this.currentPath().split("\0").filter(r=>r!==""&&r!=="/"),i=this.isChildOfSelected(e)?`-${e.id}`:e.id;this.multiSelect()?o.includes(e.id)?this.currentPath.set(o.filter(r=>r!==e.id).join("\0")):o.some(r=>r.startsWith(i))?this.currentPath.set(o.filter(r=>r!==i).join("\0")):this.currentPath.set([...o,i].join("\0")):o.includes(e.id)?this.currentPath.set(o.filter(r=>r!==e.id).join("\0")):this.currentPath.set(e.id)}isChildOfSelected(t){return this.currentPath().split("\0").filter(n=>n!==""&&n!=="/").some(n=>t.id?.startsWith(n)||`-${t.id}`.startsWith(n))}toggleNode(t,e=null){e?.cls==="folder"&&(e?.children.length?this.treeNodes.update(n=>n.filter(o=>!o.id?.startsWith(e.id)||o.id===e.id)):this.#o(e,t))}#l(){setTimeout(()=>{let e=this.treeContainerRef()?.nativeElement?.querySelector(".active");e&&e.scrollIntoView({behavior:"smooth",block:"center"})},100)}#a(t){return Object.defineProperty(t,"value",{configurable:!0,get(){return Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value").get.call(this)},set(e){return Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value").set.call(this,e),this.dispatchEvent(new CustomEvent("inputValueChanged",{bubbles:!0,cancelable:!0,detail:{value:e}})),e}}),t}#c(t){return this.#t.postApiV1Filesystem({showHidden:!0,requestBody:{path:t},onlyFolders:!this.showFiles()})}#d(t){let e=this.backupSettings(),n={id:e.id+"",prefixOnly:!1,folderContents:!0,time:e.time,filter:t?"@"+t:void 0};return this.#t.getApiV1BackupByIdFiles(n)}#i(t){return this.isByBackupSettings()?this.#d(t):this.#c(t)}#p(t){let e=t.split("\0").filter(r=>r.startsWith("-")).map(r=>r.slice(1,-1)),n=t.split("\0").filter(r=>!r.startsWith("-")).filter(Boolean),o=n.map(r=>{let _=r.indexOf(":")===1;return r.split(_?"\\":"/").filter(l=>l.includes(".")?!1:l)}),i=[this.rootPath()??"/"];o.forEach(r=>{r.forEach((_,l)=>{let c=r[0].endsWith(":"),a=r.slice(0,l+1).join(c?"\\":"/"),d=a;d.indexOf(":")===-1&&!d.startsWith("%")&&(d="/"+a),i.includes(d)||i.push(d)})}),this.isLoading.set(!0),U([...i.map(r=>this.#i(r))]).pipe(V(()=>this.isLoading.set(!1))).subscribe({next:r=>{this.treeNodes.update(_=>{let l=r.flatMap(a=>a.map(d=>{let m=d.id,f=m&&m.split("/").filter(Boolean).slice(0,-1).join("/"),v="/"+(m&&m.split("/").filter(Boolean).join("/")),C=n.findIndex(F=>this.multiSelect()?v.startsWith(F):v===F)>-1,w=n.findIndex(F=>F===m)>-1,b=e.findIndex(F=>F===v)>-1;return B(D({},d),{parentPath:f.startsWith("%")?f:"/"+f,isSelected:C&&!b||w})})),c=[...new Map([..._,...l].map(a=>[a.resolvedpath??a.id,a])).values()];return this.#l(),c})}})}#o(t=null,e="/"){this.isLoading.set(!0),this.#i(e).pipe(V(()=>this.isLoading.set(!1))).subscribe({next:n=>{let o=this.isByBackupSettings()?n.Files.map(i=>({text:i.Path.split("/").filter(r=>r!=="").pop(),id:i.Path,cls:i.Path.endsWith("/")||i.Path.endsWith("\\")?"folder":"file",leaf:t!==null,resolvedpath:i.Path,hidden:!1})):n;this.treeNodes.update(i=>{let r=o.map(l=>{let c=l.id.startsWith("%")&&l.id.endsWith("%")||l.id.endsWith("/")||l.id.endsWith("\\")?"folder":"file";return B(D({},l),{cls:c,parentPath:e})}),_=[...new Map([...i,...r].map(l=>[l.resolvedpath??l.id,l])).values()];return this.hideShortcuts()?_.filter(l=>!l.id.startsWith("%")):_})}})}static \u0275fac=function(e){return new(e||s)};static \u0275cmp=J({type:s,selectors:[["app-file-tree"]],viewQuery:function(e,n){e&1&&(Q(n.treeContainerRef,ve,5),Q(n.formRef,Te,5)),e&2&&re(2)},hostVars:2,hostBindings:function(e,n){e&2&&T("disabled",n.disabled())},inputs:{multiSelect:[1,"multiSelect"],disabled:[1,"disabled"],showFiles:[1,"showFiles"],selectFiles:[1,"selectFiles"],accepts:[1,"accepts"],startingPath:[1,"startingPath"],rootPath:[1,"rootPath"],backupSettings:[1,"backupSettings"],pathRefreshTrigger:[1,"pathRefreshTrigger"],showHiddenNodes:[1,"showHiddenNodes"],hideShortcuts:[1,"hideShortcuts"]},outputs:{includes:"includes",excludes:"excludes"},ngContentSelectors:be,decls:15,vars:15,consts:()=>{let t;t=$localize` Browser path `;let e;e=$localize` Manually type path `;let n;return n=$localize` Show hidden ${"\uFFFD0\uFFFD"}:INTERPOLATION: `,[["treeContainer",""],["recursiveTree",""],["formRef",""],["treeNode",""],t,e,n,[1,"section"],[1,"browse-files"],[1,"indeterminate","primary"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"primary","raised","browse-files-toggle",3,"active"],[1,"form-field"],["type","button",3,"click"],["action","",3,"click"],[1,"icon"],[1,"spk-primary"],[1,"text",3,"click"],[1,"small"],[1,"primary","raised","browse-files-toggle",3,"click"]]},template:function(e,n){if(e&1&&(oe(xe),x(0,we,5,4,"spk-button-group"),u(1,"div",7),L(2,0,["ngProjectAs","label",5,["label"]]),u(3,"div",8,0),x(5,Fe,1,0,"spk-progress-bar",9)(6,De,3,2,"ng-template",null,1,ae)(8,Be,1,0,"ng-container",10),h(),x(9,Ve,2,3,"spk-toggle",11),h(),u(10,"div",12,2)(12,"spk-form-field"),L(13,1,["ngProjectAs","label",5,["label"]]),L(14,2,["ngProjectAs","input",5,["input"]]),h()()),e&2){let o=K(7);O(n.multiSelect()?-1:0),g(),T("hidden",n.pathDiscoveryMethod()!=="browse"),g(2),T("visualize-accepted",n.accepts()),g(2),O(n.isLoading()?5:-1),g(3),q("ngTemplateOutlet",o)("ngTemplateOutletContext",$(13,Ee,$(11,Me,n.treeStructure()))),g(),O(n.accepts()?-1:9),g(),T("hidden",n.pathDiscoveryMethod()!=="path")}},dependencies:[ue,ge,pe,he,_e,fe,ce,Ce],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;gap:1rem}.disabled[_nghost-%COMP%]{opacity:.5;-webkit-user-select:none;user-select:none;pointer-events:none;position:relative}.disabled[_nghost-%COMP%]:before{content:"";position:absolute;inset:0;background:transparent}.fill[_nghost-%COMP%]{height:auto;overflow:hidden;flex:1 0}.fill[_nghost-%COMP%] .section[_ngcontent-%COMP%]{height:auto;overflow:hidden;flex:1 0;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;grid-template-areas:"label toggle" "tree tree"}.fill[_nghost-%COMP%] .browse-files[_ngcontent-%COMP%]{resize:none;height:initial;grid-area:tree}.fill[_nghost-%COMP%] label[_ngcontent-%COMP%]{grid-area:label}.fill[_nghost-%COMP%] spk-toggle[_ngcontent-%COMP%]{grid-area:toggle;flex-direction:row-reverse}.section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.form-field.hidden[_ngcontent-%COMP%]{display:none}.browse-files[_ngcontent-%COMP%]{display:flex;gap:.5rem;padding:.5rem 1rem;height:12.5rem;border:1px solid var(--base-level-40);border-radius:var(--shape-3);overflow:auto;resize:vertical;background:var(--base-level-10);position:relative}.browse-files[_ngcontent-%COMP%] spk-progress-bar[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0}.browse-files.visualize-accepted[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]:not(.accepted){opacity:.5}.browse-files.visualize-accepted[_ngcontent-%COMP%] [action].accepted[_ngcontent-%COMP%]{opacity:1}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%]{--list-active-bg: var(--base-level-30);gap:.125rem;padding:0;height:min-content;min-width:min-content}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]{padding:0;gap:0;border:1px solid transparent}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].active[_ngcontent-%COMP%]{border-color:transparent;--list-active-bg: var(--primary-level-20)}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].indeterminate[_ngcontent-%COMP%]{border-color:var(--primary-level-40)}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].usually-hidden[_ngcontent-%COMP%]{opacity:.6}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].root[_ngcontent-%COMP%]{gap:.25rem}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].root[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]:has(spk-icon:nth-child(2)){width:3rem}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action].root[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{width:1.5rem}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{flex:1 0;height:100%;width:max-content;display:flex;align-items:center}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{width:3rem;gap:.25rem;height:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer}.browse-files[_ngcontent-%COMP%] spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%] .icon.file[_ngcontent-%COMP%]{width:2rem;padding:0 .25rem}.browse-files-toggle[_ngcontent-%COMP%]{color:var(--base-level-60R)}.hidden[_ngcontent-%COMP%]{display:none}'],changeDetection:0})};export{z as a};
@@ -1 +1 @@
1
- import{f as a,g as b,h as c}from"./chunk-RB3QECD4.js";import"./chunk-PN4QLDYL.js";import"./chunk-G3EXCHQT.js";import"./chunk-DNHLTHLR.js";import"./chunk-N5K6ODRA.js";import"./chunk-CRREGVJC.js";import"./chunk-CK5N2PPF.js";import"./chunk-4IJQ7AAQ.js";import"./chunk-KLIPTMVG.js";import"./chunk-AIOUSVMR.js";import"./chunk-THUAAYGA.js";import"./chunk-R3DRARWT.js";import"./chunk-V5GVLIPJ.js";import"./chunk-2HS3CYRN.js";import"./chunk-DTPZU6NP.js";import"./chunk-C6Q5SG76.js";export{b as NONE_OPTION,a as createGeneralForm,c as default};
1
+ import{f as a,g as b,h as c}from"./chunk-2ZYPGUOW.js";import"./chunk-L7FLOT6V.js";import"./chunk-Q67EYU7V.js";import"./chunk-DNHLTHLR.js";import"./chunk-N5K6ODRA.js";import"./chunk-47XDI5B5.js";import"./chunk-CK5N2PPF.js";import"./chunk-4IJQ7AAQ.js";import"./chunk-KLIPTMVG.js";import"./chunk-AIOUSVMR.js";import"./chunk-THUAAYGA.js";import"./chunk-ECH6I3YN.js";import"./chunk-V5GVLIPJ.js";import"./chunk-2HS3CYRN.js";import"./chunk-DTPZU6NP.js";import"./chunk-C6Q5SG76.js";export{b as NONE_OPTION,a as createGeneralForm,c as default};
@@ -1 +1 @@
1
- import{a as J}from"./chunk-PN4QLDYL.js";import{a as he}from"./chunk-G3EXCHQT.js";import{a as H}from"./chunk-N5K6ODRA.js";import{a as Re}from"./chunk-LK3VCLPO.js";import{a as Ne,b as M,d as L,e as $,h as D,j as Pe,m as y,p as A,q as b,r as Ie,s as v}from"./chunk-4IJQ7AAQ.js";import{b as I}from"./chunk-KLIPTMVG.js";import{a as P,c as d}from"./chunk-AIOUSVMR.js";import{a as h,g as k,l as Ee,o as de,p as Oe,r as fe,w as Ce}from"./chunk-R3DRARWT.js";import{pa as q}from"./chunk-2HS3CYRN.js";import{Ab as s,Bb as a,C as ae,Cb as l,D as f,Db as Y,Eb as U,Gb as x,H as le,M as pe,Mb as u,Mc as j,Nb as F,Ob as T,Pb as ue,Qa as S,Qb as Fe,R as _e,Sb as E,Tb as B,X as p,ca as C,da as R,db as N,fc as K,g as re,ib as w,ic as Se,qc as me,rb as m,sa as _,tb as ce,v as se,vc as ge,wb as G,xc as Te}from"./chunk-DTPZU6NP.js";var ke=new b,$e=()=>ke.group({passphrase:ke.control("")}),Z=class n{#t=p(I);#e=p(O);#o=p(d);#i=p(P);encryptionForm=this.#e.encryptionForm;creatingTemporaryBackup=_(!1);next(){let o=this.#e.destinationTargetUrl();if(!o)throw new Error("No target URL");this.creatingTemporaryBackup.set(!0);let e=this.encryptionForm.value?.passphrase??null,t=[{Name:"--no-encryption",Value:"true"}];e&&(t=[{Name:"--passphrase",Value:e}]),this.#t.postApiV1Backups({requestBody:{Backup:{TargetURL:o,Settings:t}},temporary:!0}).pipe(f(()=>this.creatingTemporaryBackup.set(!1))).subscribe({next:i=>{let r=i.ID;this.#e.getBackup(r),this.#o.navigate([`/restore-draft/${r}`])},error:i=>{console.error(i)}})}back(){this.#e.isFileRestore()?this.#o.navigate(["encryption"],{relativeTo:this.#i.parent}):this.#e.exit()}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=N({type:n,selectors:[["app-restore-encryption"]],decls:12,vars:1,consts:()=>{let o;o=$localize`Enter backup passphrase if defined.`;let e;e=$localize`Password`;let t;t=$localize`${"\uFFFD#8\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#8\uFFFD"}:CLOSE_TAG_SPK_ICON: Back `;let i;return i=$localize`${"\uFFFD#11\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#11\uFFFD"}:CLOSE_TAG_SPK_ICON: Continue `,[e,t,i,[3,"submit","formGroup"],["for","password"],["type","password","id","password","placeholder",o,"formControlName","passphrase"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"]]},template:function(e,t){e&1&&(s(0,"form",3),E("submit",function(){return t.next()}),s(1,"spk-form-field")(2,"label",4),T(3,0),a(),l(4,"input",5),a(),s(5,"div",6)(6,"button",7),E("click",function(){return t.back()}),u(7,1),l(8,"spk-icon"),F(),a(),s(9,"button",8),u(10,2),l(11,"spk-icon"),F(),a()()()),e&2&&m("formGroup",t.encryptionForm)},dependencies:[v,D,M,L,$,y,A,Ee,h,k],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};function Ae(n,o){n&1&&l(0,"spk-progress-bar",7)}function be(n,o){if(n&1&&(s(0,"div",13),K(1),ge(2,"date"),a()),n&2){let e=o.$implicit;S(),Se("",e.Version,": ",Te(2,2,e.Time,"medium"),"")}}function ve(n,o){n&1&&l(0,"spk-progress-bar",7)}function we(n,o){if(n&1&&(s(0,"app-file-tree",14)(1,"label",15),T(2,4),a(),l(3,"input",16),a()),n&2){let e=B(3);m("rootPath",e.rootPath())("backupSettings",e.backupSettings())("multiSelect",!0)("showFiles",!0)}}function Ge(n,o){if(n&1&&w(0,we,4,4,"app-file-tree",14),n&2){let e=B(2);G((e.isDraft()&&!e.isRepairing()||!e.isDraft())&&e.backupSettings()?0:-1)}}function xe(n,o){if(n&1){let e=x();s(0,"spk-select",11),E("cleared",function(){C(e);let i=B();return R(i.abortLoading())}),l(1,"input",12),w(2,be,3,5,"ng-template"),a(),w(3,ve,1,0,"spk-progress-bar",7)(4,Ge,1,1)}if(n&2){let e=B();m("options",e.versionOptions())("isClearable",!0),S(3),G(e.isDraft()&&e.isRepairing()||e.versionOptionsLoading()||e.loadingRootPath()?3:-1),S(),G(e.showFileTree()?4:-1)}}var Q=new b,De=()=>Q.group({filesToRestore:Q.control(""),selectedOption:Q.control(null),passphrase:Q.control(null)}),te=class n{#t=p(I);#e=p(O);#o=p(d);#i=p(P);#n=p(q);#r=p(Re);selectFilesForm=this.#e.selectFilesForm;selectFilesFormSignal=this.#e.selectFilesFormSignal;selectOptionSignal=this.#e.selectOptionSignal;backupId=this.#e.backupId;versionOptionsLoading=this.#e.versionOptionsLoading;versionOptions=this.#e.versionOptions;isDraft=this.#e.isDraft;isFileRestore=this.#e.isFileRestore;showFileTree=_(!1);backupSettings=_(null);rootPath=_(void 0);loadingRootPath=_(!1);isRepairing=_(!1);loadingEffect=j(()=>{if(this.versionOptionsLoading())return;let e=this.versionOptions();if(e&&e?.length>0){let t=e[0].Version;Number.isInteger(t)&&this.selectFilesForm.controls.selectedOption.setValue(t)}});backupSettingsEffect=j(()=>{let o=this.backupId(),e=this.isRepairing(),t=typeof this.selectOptionSignal()=="string"?parseInt(this.selectOptionSignal()):this.selectOptionSignal();if(typeof t!="number"||!o)return;let r=this.versionOptions()?.find(c=>c.Version===t)?.Time??null;!r||e||(this.showFileTree.set(!1),queueMicrotask(()=>{let c={id:o+"",time:r};this.backupSettings.set(c),this.getRootPath(c)}))});repairEffect=j(()=>{let o=this.#e.isDraft(),e=this.selectOptionSignal(),t=this.versionOptions();if(o&&e){let i=t.find(c=>c.Version===parseInt(e));if(i===void 0)return;let r=this.backupId();this.isRepairing.set(!0),this.#t.postApiV1BackupByIdRepairupdate({id:r,requestBody:{only_paths:!0,time:i.Time}}).subscribe(c=>{let W=c.ID;var X=window.setInterval(()=>{this.#t.getApiV1TaskByTaskid({taskid:W}).subscribe(z=>{z.Status==="Completed"&&(clearInterval(X),this.isRepairing.set(!1))})},1e3)})}});getRootPath(o){let e={id:o.id+"",time:o.time,prefixOnly:!0,folderContents:!1};this.isRepairing()||(this.loadingRootPath.set(!0),this.#t.getApiV1BackupByIdFiles(e).pipe(pe(this.abortLoading$),f(()=>{this.showFileTree.set(!0),this.loadingRootPath.set(!1)})).subscribe({next:t=>{let i=t.Files[0].Path;this.rootPath.set(i)}}))}abortLoading$=new re;abortLoading(){this.showFileTree.set(!1),this.loadingRootPath.set(!1),this.abortLoading$.next(!0)}displayFn(){let o=this.versionOptions();return e=>{if(!e)return"";let t=o?.find(i=>typeof i.Version=="number"&&i.Version.toString()===e);return t?`${t.Version}: ${this.#n.transform(t.Time,"medium")}`:""}}next(){this.#o.navigate(["options"],{relativeTo:this.#i.parent})}back(){this.#e.isFileRestore()?this.#o.navigate(["encryption"],{relativeTo:this.#i.parent}):this.#e.exit()}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=N({type:n,selectors:[["app-select-files"]],features:[me([q])],decls:13,vars:3,consts:()=>{let o;o=$localize`Select files`;let e;e=$localize`${"\uFFFD#9\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SPK_ICON: ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let t;t=$localize`${"\uFFFD#12\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_ICON: Continue `;let i;i=$localize`Select an option...`;let r;return r=$localize`Path`,[["formRef",""],o,e,t,r,[3,"submit","formGroup"],[1,"title-30"],[1,"indeterminate","primary"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"],["value","Version",3,"cleared","options","isClearable"],["type","text","placeholder",i,"formControlName","selectedOption"],[1,"custom-option"],[3,"rootPath","backupSettings","multiSelect","showFiles"],["for","path"],["type","text","id","path","formControlName","filesToRestore"]]},template:function(e,t){if(e&1){let i=x();s(0,"form",5,0),E("submit",function(){return C(i),R(t.next())}),s(2,"h3",6),T(3,1),a(),w(4,Ae,1,0,"spk-progress-bar",7)(5,xe,5,4),s(6,"div",8)(7,"button",9),E("click",function(){return C(i),R(t.back())}),u(8,2),l(9,"spk-icon"),F(),a(),s(10,"button",10),u(11,3),l(12,"spk-icon"),F(),a()()()}e&2&&(m("formGroup",t.selectFilesForm),S(4),G(t.versionOptionsLoading()?4:5),S(5),ue(t.isFileRestore()?"Back":"Exit"),Fe(8))},dependencies:[Ie,D,M,L,$,v,y,A,q,J,k,h,fe,de],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};var O=class n{#t=p(d);#e=p(I);backupId=_(null);backup=_(null);destinationTargetUrl=_(null);selectFilesForm=De();optionsForm=ye();encryptionForm=$e();optionsFormSignal=H(this.optionsForm.valueChanges);selectFilesFormSignal=H(this.selectFilesForm.valueChanges);selectOptionSignal=H(this.selectFilesForm.controls.selectedOption.valueChanges);versionOptionsLoading=_(!1);versionOptions=_([]);isSubmitting=_(!1);isDraft=_(!1);isFileRestore=_(!1);init(o,e=!1,t=!1){this.backupId.set(o),this.isFileRestore.set(e),this.isDraft.set(t),e&&this.#t.navigate(["/restore-from-files/destination"]),e||this.getBackup(o,!0)}updateTargetUrl(o){this.destinationTargetUrl.set(o)}submit(){this.isSubmitting.set(!0);let o=this.backupId(),e=this.optionsForm.value,t=this.selectFilesForm.value,i=this.versionOptions()?.find(r=>r.Version===t.selectedOption);this.#e.postApiV1BackupByIdRestore({id:o??"",requestBody:{paths:t.filesToRestore?.split("\0").map(r=>`${r}*`)??[],passphrase:t.passphrase??null,time:i?.Time,restore_path:e.restoreFromPath,overwrite:e.handleExisting==="overwrite",permissions:e.permissions,skip_metadata:!0}}).pipe(f(()=>this.isSubmitting.set(!1))).subscribe({next:()=>this.exit(),error:r=>{console.error("restore error",r)}})}exit(){this.#o(),this.#t.navigate(["/"])}getVersionOptions(){this.versionOptions()}getBackup(o,e=!1){this.versionOptionsLoading.set(!0),se([this.#e.getApiV1BackupById({id:o}),this.#e.getApiV1BackupByIdFilesets({id:o}).pipe(le(3))]).pipe(ae(1),f(()=>this.versionOptionsLoading.set(!1))).subscribe({next:([t,i])=>{this.versionOptions.set(i),this.backup.set(t)}})}#o(){this.selectFilesForm.reset(),this.optionsForm.reset()}static \u0275fac=function(e){return new(e||n)};static \u0275prov=_e({token:n,factory:n.\u0275fac,providedIn:"root"})};var V=new b,ye=()=>V.group({restoreFrom:V.control("orignal"),restoreFromPath:V.control(""),handleExisting:V.control("overwrite"),permissions:V.control(!1)}),oe=class n{#t=p(O);#e=p(d);#o=p(P);optionsForm=this.#t.optionsForm;optionsFormSignal=this.#t.optionsFormSignal;isSubmitting=this.#t.isSubmitting;goBack(){this.#e.navigate(["select-files"],{relativeTo:this.#o.parent})}submit(){this.#t.submit()}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=N({type:n,selectors:[["app-advanced-options-settings"]],decls:39,vars:6,consts:()=>{let o;o=$localize`Restore options`;let e;e=$localize`Where do you want to restore files from?`;let t;t=$localize` Original location ${"\uFFFD#9\uFFFD\uFFFD/#9\uFFFD"}:TAG_INPUT:`;let i;i=$localize` Pick location ${"\uFFFD#12\uFFFD\uFFFD/#12\uFFFD"}:TAG_INPUT:`;let r;r=$localize`How do you want to handle existing files?`;let c;c=$localize` Overwrite ${"\uFFFD#22\uFFFD\uFFFD/#22\uFFFD"}:TAG_INPUT:`;let W;W=$localize` Save different versions with timestamp in file name ${"\uFFFD#25\uFFFD\uFFFD/#25\uFFFD"}:TAG_INPUT:`;let X;X=$localize`Permissions`;let z;z=$localize` Restore read/write permissions ${"\uFFFD#31\uFFFD\uFFFD/#31\uFFFD"}:TAG_INPUT:`;let ie;ie=$localize`${"\uFFFD#35\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#35\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let ne;return ne=$localize`${"\uFFFD#38\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#38\uFFFD"}:CLOSE_TAG_SPK_ICON: Submit `,[["formRef",""],o,e,t,i,r,c,W,X,z,ie,ne,[3,"submit","formGroup"],[1,"title-30"],[3,"disallowToggle"],["title",""],[1,"raised","primary"],["type","radio","name","restoreFrom","value","orignal","formControlName","restoreFrom"],["type","radio","name","restoreFrom","value","pickLocation","formControlName","restoreFrom"],[3,"disabled"],["for","path"],["type","text","id","path","formControlName","restoreFromPath"],["type","radio","name","handleExisting","value","overwrite","formControlName","handleExisting"],["type","radio","name","handleExisting","value","saveTimestamp","formControlName","handleExisting"],[1,"primary","raised"],["type","checkbox","formControlName","permissions"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"]]},template:function(e,t){if(e&1){let i=x();s(0,"form",12,0),E("submit",function(){return C(i),R(t.submit())}),s(2,"h3",13),T(3,1),a(),s(4,"app-toggle-card",14),Y(5,15),T(6,2),U(),s(7,"spk-radio",16),u(8,3),l(9,"input",17),F(),a(),s(10,"spk-radio",16),u(11,4),l(12,"input",18),F(),a(),s(13,"app-file-tree",19)(14,"label",20),K(15,"Path"),a(),l(16,"input",21),a()(),s(17,"app-toggle-card",14),Y(18,15),T(19,5),U(),s(20,"spk-radio",16),u(21,6),l(22,"input",22),F(),a(),s(23,"spk-radio",16),u(24,7),l(25,"input",23),F(),a()(),s(26,"app-toggle-card"),Y(27,15),T(28,8),U(),s(29,"spk-toggle",24),u(30,9),l(31,"input",25),F(),a()(),s(32,"div",26)(33,"button",27),E("click",function(){return C(i),R(t.goBack())}),u(34,10),l(35,"spk-icon"),F(),a(),s(36,"button",28),u(37,11),l(38,"spk-icon"),F(),a()()()}if(e&2){let i;m("formGroup",t.optionsForm),S(4),m("disallowToggle",!0),S(9),m("disabled",((i=t.optionsFormSignal())==null?null:i.restoreFrom)!=="pickLocation"),S(4),m("disallowToggle",!0),S(19),ce("loader",t.isSubmitting())}},dependencies:[v,D,M,Ne,Pe,L,$,y,A,he,J,Ce,Oe,k,h],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};export{ye as a,oe as b,$e as c,Z as d,De as e,te as f,O as g};
1
+ import{a as J}from"./chunk-L7FLOT6V.js";import{a as he}from"./chunk-Q67EYU7V.js";import{a as H}from"./chunk-N5K6ODRA.js";import{a as Re}from"./chunk-RKQDFV7W.js";import{a as Ne,b as M,d as L,e as $,h as D,j as Pe,m as y,p as A,q as b,r as Ie,s as v}from"./chunk-4IJQ7AAQ.js";import{b as I}from"./chunk-KLIPTMVG.js";import{a as P,c as d}from"./chunk-AIOUSVMR.js";import{a as h,g as k,l as Ee,o as de,p as Oe,r as fe,x as Ce}from"./chunk-ECH6I3YN.js";import{pa as q}from"./chunk-2HS3CYRN.js";import{Ab as s,Bb as a,C as ae,Cb as l,D as f,Db as Y,Eb as U,Gb as x,H as le,M as pe,Mb as u,Mc as j,Nb as F,Ob as T,Pb as ue,Qa as S,Qb as Fe,R as _e,Sb as E,Tb as B,X as p,ca as C,da as R,db as N,fc as K,g as re,ib as w,ic as Se,qc as me,rb as m,sa as _,tb as ce,v as se,vc as ge,wb as G,xc as Te}from"./chunk-DTPZU6NP.js";var ke=new b,$e=()=>ke.group({passphrase:ke.control("")}),Z=class n{#t=p(I);#e=p(O);#o=p(d);#i=p(P);encryptionForm=this.#e.encryptionForm;creatingTemporaryBackup=_(!1);next(){let o=this.#e.destinationTargetUrl();if(!o)throw new Error("No target URL");this.creatingTemporaryBackup.set(!0);let e=this.encryptionForm.value?.passphrase??null,t=[{Name:"--no-encryption",Value:"true"}];e&&(t=[{Name:"--passphrase",Value:e}]),this.#t.postApiV1Backups({requestBody:{Backup:{TargetURL:o,Settings:t}},temporary:!0}).pipe(f(()=>this.creatingTemporaryBackup.set(!1))).subscribe({next:i=>{let r=i.ID;this.#e.getBackup(r),this.#o.navigate([`/restore-draft/${r}`])},error:i=>{console.error(i)}})}back(){this.#e.isFileRestore()?this.#o.navigate(["encryption"],{relativeTo:this.#i.parent}):this.#e.exit()}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=N({type:n,selectors:[["app-restore-encryption"]],decls:12,vars:1,consts:()=>{let o;o=$localize`Enter backup passphrase if defined.`;let e;e=$localize`Password`;let t;t=$localize`${"\uFFFD#8\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#8\uFFFD"}:CLOSE_TAG_SPK_ICON: Back `;let i;return i=$localize`${"\uFFFD#11\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#11\uFFFD"}:CLOSE_TAG_SPK_ICON: Continue `,[e,t,i,[3,"submit","formGroup"],["for","password"],["type","password","id","password","placeholder",o,"formControlName","passphrase"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"]]},template:function(e,t){e&1&&(s(0,"form",3),E("submit",function(){return t.next()}),s(1,"spk-form-field")(2,"label",4),T(3,0),a(),l(4,"input",5),a(),s(5,"div",6)(6,"button",7),E("click",function(){return t.back()}),u(7,1),l(8,"spk-icon"),F(),a(),s(9,"button",8),u(10,2),l(11,"spk-icon"),F(),a()()()),e&2&&m("formGroup",t.encryptionForm)},dependencies:[v,D,M,L,$,y,A,Ee,h,k],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};function Ae(n,o){n&1&&l(0,"spk-progress-bar",7)}function be(n,o){if(n&1&&(s(0,"div",13),K(1),ge(2,"date"),a()),n&2){let e=o.$implicit;S(),Se("",e.Version,": ",Te(2,2,e.Time,"medium"),"")}}function ve(n,o){n&1&&l(0,"spk-progress-bar",7)}function we(n,o){if(n&1&&(s(0,"app-file-tree",14)(1,"label",15),T(2,4),a(),l(3,"input",16),a()),n&2){let e=B(3);m("rootPath",e.rootPath())("backupSettings",e.backupSettings())("multiSelect",!0)("showFiles",!0)}}function Ge(n,o){if(n&1&&w(0,we,4,4,"app-file-tree",14),n&2){let e=B(2);G((e.isDraft()&&!e.isRepairing()||!e.isDraft())&&e.backupSettings()?0:-1)}}function xe(n,o){if(n&1){let e=x();s(0,"spk-select",11),E("cleared",function(){C(e);let i=B();return R(i.abortLoading())}),l(1,"input",12),w(2,be,3,5,"ng-template"),a(),w(3,ve,1,0,"spk-progress-bar",7)(4,Ge,1,1)}if(n&2){let e=B();m("options",e.versionOptions())("isClearable",!0),S(3),G(e.isDraft()&&e.isRepairing()||e.versionOptionsLoading()||e.loadingRootPath()?3:-1),S(),G(e.showFileTree()?4:-1)}}var Q=new b,De=()=>Q.group({filesToRestore:Q.control(""),selectedOption:Q.control(null),passphrase:Q.control(null)}),te=class n{#t=p(I);#e=p(O);#o=p(d);#i=p(P);#n=p(q);#r=p(Re);selectFilesForm=this.#e.selectFilesForm;selectFilesFormSignal=this.#e.selectFilesFormSignal;selectOptionSignal=this.#e.selectOptionSignal;backupId=this.#e.backupId;versionOptionsLoading=this.#e.versionOptionsLoading;versionOptions=this.#e.versionOptions;isDraft=this.#e.isDraft;isFileRestore=this.#e.isFileRestore;showFileTree=_(!1);backupSettings=_(null);rootPath=_(void 0);loadingRootPath=_(!1);isRepairing=_(!1);loadingEffect=j(()=>{if(this.versionOptionsLoading())return;let e=this.versionOptions();if(e&&e?.length>0){let t=e[0].Version;Number.isInteger(t)&&this.selectFilesForm.controls.selectedOption.setValue(t)}});backupSettingsEffect=j(()=>{let o=this.backupId(),e=this.isRepairing(),t=typeof this.selectOptionSignal()=="string"?parseInt(this.selectOptionSignal()):this.selectOptionSignal();if(typeof t!="number"||!o)return;let r=this.versionOptions()?.find(c=>c.Version===t)?.Time??null;!r||e||(this.showFileTree.set(!1),queueMicrotask(()=>{let c={id:o+"",time:r};this.backupSettings.set(c),this.getRootPath(c)}))});repairEffect=j(()=>{let o=this.#e.isDraft(),e=this.selectOptionSignal(),t=this.versionOptions();if(o&&e){let i=t.find(c=>c.Version===parseInt(e));if(i===void 0)return;let r=this.backupId();this.isRepairing.set(!0),this.#t.postApiV1BackupByIdRepairupdate({id:r,requestBody:{only_paths:!0,time:i.Time}}).subscribe(c=>{let W=c.ID;var X=window.setInterval(()=>{this.#t.getApiV1TaskByTaskid({taskid:W}).subscribe(z=>{z.Status==="Completed"&&(clearInterval(X),this.isRepairing.set(!1))})},1e3)})}});getRootPath(o){let e={id:o.id+"",time:o.time,prefixOnly:!0,folderContents:!1};this.isRepairing()||(this.loadingRootPath.set(!0),this.#t.getApiV1BackupByIdFiles(e).pipe(pe(this.abortLoading$),f(()=>{this.showFileTree.set(!0),this.loadingRootPath.set(!1)})).subscribe({next:t=>{let i=t.Files[0].Path;this.rootPath.set(i)}}))}abortLoading$=new re;abortLoading(){this.showFileTree.set(!1),this.loadingRootPath.set(!1),this.abortLoading$.next(!0)}displayFn(){let o=this.versionOptions();return e=>{if(!e)return"";let t=o?.find(i=>typeof i.Version=="number"&&i.Version.toString()===e);return t?`${t.Version}: ${this.#n.transform(t.Time,"medium")}`:""}}next(){this.#o.navigate(["options"],{relativeTo:this.#i.parent})}back(){this.#e.isFileRestore()?this.#o.navigate(["encryption"],{relativeTo:this.#i.parent}):this.#e.exit()}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=N({type:n,selectors:[["app-select-files"]],features:[me([q])],decls:13,vars:3,consts:()=>{let o;o=$localize`Select files`;let e;e=$localize`${"\uFFFD#9\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SPK_ICON: ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let t;t=$localize`${"\uFFFD#12\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_ICON: Continue `;let i;i=$localize`Select an option...`;let r;return r=$localize`Path`,[["formRef",""],o,e,t,r,[3,"submit","formGroup"],[1,"title-30"],[1,"indeterminate","primary"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"],["value","Version",3,"cleared","options","isClearable"],["type","text","placeholder",i,"formControlName","selectedOption"],[1,"custom-option"],[3,"rootPath","backupSettings","multiSelect","showFiles"],["for","path"],["type","text","id","path","formControlName","filesToRestore"]]},template:function(e,t){if(e&1){let i=x();s(0,"form",5,0),E("submit",function(){return C(i),R(t.next())}),s(2,"h3",6),T(3,1),a(),w(4,Ae,1,0,"spk-progress-bar",7)(5,xe,5,4),s(6,"div",8)(7,"button",9),E("click",function(){return C(i),R(t.back())}),u(8,2),l(9,"spk-icon"),F(),a(),s(10,"button",10),u(11,3),l(12,"spk-icon"),F(),a()()()}e&2&&(m("formGroup",t.selectFilesForm),S(4),G(t.versionOptionsLoading()?4:5),S(5),ue(t.isFileRestore()?"Back":"Exit"),Fe(8))},dependencies:[Ie,D,M,L,$,v,y,A,q,J,k,h,fe,de],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};var O=class n{#t=p(d);#e=p(I);backupId=_(null);backup=_(null);destinationTargetUrl=_(null);selectFilesForm=De();optionsForm=ye();encryptionForm=$e();optionsFormSignal=H(this.optionsForm.valueChanges);selectFilesFormSignal=H(this.selectFilesForm.valueChanges);selectOptionSignal=H(this.selectFilesForm.controls.selectedOption.valueChanges);versionOptionsLoading=_(!1);versionOptions=_([]);isSubmitting=_(!1);isDraft=_(!1);isFileRestore=_(!1);init(o,e=!1,t=!1){this.backupId.set(o),this.isFileRestore.set(e),this.isDraft.set(t),e&&this.#t.navigate(["/restore-from-files/destination"]),e||this.getBackup(o,!0)}updateTargetUrl(o){this.destinationTargetUrl.set(o)}submit(){this.isSubmitting.set(!0);let o=this.backupId(),e=this.optionsForm.value,t=this.selectFilesForm.value,i=this.versionOptions()?.find(r=>r.Version===t.selectedOption);this.#e.postApiV1BackupByIdRestore({id:o??"",requestBody:{paths:t.filesToRestore?.split("\0").map(r=>`${r}*`)??[],passphrase:t.passphrase??null,time:i?.Time,restore_path:e.restoreFromPath,overwrite:e.handleExisting==="overwrite",permissions:e.permissions,skip_metadata:!0}}).pipe(f(()=>this.isSubmitting.set(!1))).subscribe({next:()=>this.exit(),error:r=>{console.error("restore error",r)}})}exit(){this.#o(),this.#t.navigate(["/"])}getVersionOptions(){this.versionOptions()}getBackup(o,e=!1){this.versionOptionsLoading.set(!0),se([this.#e.getApiV1BackupById({id:o}),this.#e.getApiV1BackupByIdFilesets({id:o}).pipe(le(3))]).pipe(ae(1),f(()=>this.versionOptionsLoading.set(!1))).subscribe({next:([t,i])=>{this.versionOptions.set(i),this.backup.set(t)}})}#o(){this.selectFilesForm.reset(),this.optionsForm.reset()}static \u0275fac=function(e){return new(e||n)};static \u0275prov=_e({token:n,factory:n.\u0275fac,providedIn:"root"})};var V=new b,ye=()=>V.group({restoreFrom:V.control("orignal"),restoreFromPath:V.control(""),handleExisting:V.control("overwrite"),permissions:V.control(!1)}),oe=class n{#t=p(O);#e=p(d);#o=p(P);optionsForm=this.#t.optionsForm;optionsFormSignal=this.#t.optionsFormSignal;isSubmitting=this.#t.isSubmitting;goBack(){this.#e.navigate(["select-files"],{relativeTo:this.#o.parent})}submit(){this.#t.submit()}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=N({type:n,selectors:[["app-advanced-options-settings"]],decls:39,vars:6,consts:()=>{let o;o=$localize`Restore options`;let e;e=$localize`Where do you want to restore files from?`;let t;t=$localize` Original location ${"\uFFFD#9\uFFFD\uFFFD/#9\uFFFD"}:TAG_INPUT:`;let i;i=$localize` Pick location ${"\uFFFD#12\uFFFD\uFFFD/#12\uFFFD"}:TAG_INPUT:`;let r;r=$localize`How do you want to handle existing files?`;let c;c=$localize` Overwrite ${"\uFFFD#22\uFFFD\uFFFD/#22\uFFFD"}:TAG_INPUT:`;let W;W=$localize` Save different versions with timestamp in file name ${"\uFFFD#25\uFFFD\uFFFD/#25\uFFFD"}:TAG_INPUT:`;let X;X=$localize`Permissions`;let z;z=$localize` Restore read/write permissions ${"\uFFFD#31\uFFFD\uFFFD/#31\uFFFD"}:TAG_INPUT:`;let ie;ie=$localize`${"\uFFFD#35\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#35\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let ne;return ne=$localize`${"\uFFFD#38\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#38\uFFFD"}:CLOSE_TAG_SPK_ICON: Submit `,[["formRef",""],o,e,t,i,r,c,W,X,z,ie,ne,[3,"submit","formGroup"],[1,"title-30"],[3,"disallowToggle"],["title",""],[1,"raised","primary"],["type","radio","name","restoreFrom","value","orignal","formControlName","restoreFrom"],["type","radio","name","restoreFrom","value","pickLocation","formControlName","restoreFrom"],[3,"disabled"],["for","path"],["type","text","id","path","formControlName","restoreFromPath"],["type","radio","name","handleExisting","value","overwrite","formControlName","handleExisting"],["type","radio","name","handleExisting","value","saveTimestamp","formControlName","handleExisting"],[1,"primary","raised"],["type","checkbox","formControlName","permissions"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","","type","submit",1,"raised","primary"]]},template:function(e,t){if(e&1){let i=x();s(0,"form",12,0),E("submit",function(){return C(i),R(t.submit())}),s(2,"h3",13),T(3,1),a(),s(4,"app-toggle-card",14),Y(5,15),T(6,2),U(),s(7,"spk-radio",16),u(8,3),l(9,"input",17),F(),a(),s(10,"spk-radio",16),u(11,4),l(12,"input",18),F(),a(),s(13,"app-file-tree",19)(14,"label",20),K(15,"Path"),a(),l(16,"input",21),a()(),s(17,"app-toggle-card",14),Y(18,15),T(19,5),U(),s(20,"spk-radio",16),u(21,6),l(22,"input",22),F(),a(),s(23,"spk-radio",16),u(24,7),l(25,"input",23),F(),a()(),s(26,"app-toggle-card"),Y(27,15),T(28,8),U(),s(29,"spk-toggle",24),u(30,9),l(31,"input",25),F(),a()(),s(32,"div",26)(33,"button",27),E("click",function(){return C(i),R(t.goBack())}),u(34,10),l(35,"spk-icon"),F(),a(),s(36,"button",28),u(37,11),l(38,"spk-icon"),F(),a()()()}if(e&2){let i;m("formGroup",t.optionsForm),S(4),m("disallowToggle",!0),S(9),m("disabled",((i=t.optionsFormSignal())==null?null:i.restoreFrom)!=="pickLocation"),S(4),m("disallowToggle",!0),S(19),ce("loader",t.isSubmitting())}},dependencies:[v,D,M,Ne,Pe,L,$,y,A,he,J,Ce,Oe,k,h],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};export{ye as a,oe as b,$e as c,Z as d,De as e,te as f,O as g};