@duplicati/ngclient 0.0.230 → 0.0.231

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 (137) hide show
  1. package/assets/dest-icons/googleworkspace.png +0 -0
  2. package/assets/sh.woff2 +0 -0
  3. package/chunk--kVw-BwM.js +1 -0
  4. package/chunk-5Ay2I6OJ.js +2 -0
  5. package/chunk-6bHATzM2.js +1 -0
  6. package/{chunk-DtA6Mvdt.js → chunk-7qu0Yols.js} +1 -1
  7. package/{chunk-DmKJmG9z.js → chunk-B1FMMTzB.js} +1 -1
  8. package/{chunk-BjAIXsAS.js → chunk-B6VmpM-T.js} +1 -1
  9. package/chunk-B7vxwDBG.js +1 -0
  10. package/chunk-BAVJD-p4.js +1 -0
  11. package/chunk-BC2-YuwH.js +14 -0
  12. package/{chunk-C4kBXz3C.js → chunk-BFfFD-XE.js} +1 -1
  13. package/chunk-BHERv_y8.js +1 -0
  14. package/chunk-BIAFFPb6.js +1 -0
  15. package/{chunk-C6QX7znk.js → chunk-BRJ93eei.js} +1 -1
  16. package/{chunk-C-NgIZiF.js → chunk-BYJ0fSUP.js} +1 -1
  17. package/chunk-B_iekvt6.js +1 -0
  18. package/chunk-Baizh2Dx.js +1 -0
  19. package/{chunk-Ca1C9pJ0.js → chunk-Bcxzhjj8.js} +1 -1
  20. package/{chunk-D2g5mSLr.js → chunk-Bfak-Gjv.js} +1 -1
  21. package/{chunk-DD_QfWih.js → chunk-Bgx4dtaL.js} +1 -1
  22. package/chunk-BhGD1_v8.js +2 -0
  23. package/{chunk-Dj3xknEh.js → chunk-BhPCHFyT.js} +1 -1
  24. package/{chunk-B728v9oc.js → chunk-Bj1ToKwz.js} +2 -2
  25. package/{chunk-BIOMsSHI.js → chunk-BjSSXg5V.js} +1 -1
  26. package/chunk-BlfsmSZO.js +4 -0
  27. package/chunk-Bnu5Zyue.js +1 -0
  28. package/{chunk-OFYkgZA1.js → chunk-C1BwGQgo.js} +2 -2
  29. package/{chunk-D2g44FyO.js → chunk-C2H72Zk8.js} +2 -2
  30. package/{chunk-DPNAj9Vc.js → chunk-C3KPTLNN.js} +1 -1
  31. package/{chunk-B2TXzbpy.js → chunk-C5p3bQwH.js} +1 -1
  32. package/{chunk-C1kucB1O.js → chunk-C6beMvkJ.js} +2 -2
  33. package/chunk-CAgfvBGI.js +2 -0
  34. package/{chunk-BD9-OWSe.js → chunk-CDEvMQA2.js} +1 -1
  35. package/{chunk-OLi7f6y7.js → chunk-CI8lsvKT.js} +1 -1
  36. package/chunk-CP3edE1P.js +1 -0
  37. package/{chunk-wyNyzSXi.js → chunk-CQv4eyEK.js} +1 -1
  38. package/chunk-CTwvkMrj.js +2 -0
  39. package/chunk-CmexLvf7.js +2 -0
  40. package/chunk-Cng2PWKw.js +2 -0
  41. package/chunk-CqwyTVd3.js +1 -0
  42. package/{chunk-Fw6nFDZK.js → chunk-Crs56mDy.js} +2 -2
  43. package/{chunk-BYJA6sbi.js → chunk-CwKxis_6.js} +1 -1
  44. package/{chunk-DWkdK0Ib.js → chunk-CxjTj8X0.js} +1 -1
  45. package/chunk-CzJ3-6Pu.js +1 -0
  46. package/chunk-D2MSuPzM.js +2 -0
  47. package/{chunk-PVmXLw9b.js → chunk-D2aWqPl_.js} +1 -1
  48. package/{chunk-DuIUmwWN.js → chunk-D3SUPUQT.js} +3 -3
  49. package/{chunk-C7pjkqKB.js → chunk-D3d-eReU.js} +1 -1
  50. package/chunk-D5031IDL.js +3 -0
  51. package/{chunk-khm9J_G0.js → chunk-D7AP6g7S.js} +1 -1
  52. package/chunk-D9O-afXN.js +1 -0
  53. package/chunk-DA5X-TzJ.js +1 -0
  54. package/chunk-DAM-4k69.js +2 -0
  55. package/{chunk-Cgbi9MZq.js → chunk-DH6L3nQP.js} +1 -1
  56. package/chunk-DH6iiZWc.js +3 -0
  57. package/{chunk-D5lj-fQk.js → chunk-DKacf9Tj.js} +1 -1
  58. package/{chunk-BzIY4AaX.js → chunk-DKwqdnLJ.js} +1 -1
  59. package/{chunk-CJ0GoaW1.js → chunk-DNUCXG8E.js} +1 -1
  60. package/chunk-DPpQ_8VM.js +1 -0
  61. package/chunk-Da2vs6ff.js +1 -0
  62. package/chunk-DfcHtA-G.js +1 -0
  63. package/chunk-DlTsXgG2.js +2 -0
  64. package/{chunk-DaGzYsVs.js → chunk-DlqfMbsZ.js} +1 -1
  65. package/chunk-DoYGADYB.js +1 -0
  66. package/{chunk-RQ_MoiOh.js → chunk-DuHXCtrV.js} +1 -1
  67. package/{chunk-CT9ziigM.js → chunk-DuTbfCdT.js} +2 -2
  68. package/{chunk-dmyIQdVx.js → chunk-EwTTC1EW.js} +1 -1
  69. package/{chunk-I0R6Ty-p.js → chunk-JMkz2RrF.js} +1 -1
  70. package/chunk-PGDvGDW-.js +1 -0
  71. package/{chunk-CRAg6SRo.js → chunk-PONAC1Ya.js} +1 -1
  72. package/chunk-RqvNv7T_.js +2 -0
  73. package/{chunk-DFEb6rgg.js → chunk-SycSMD-r.js} +2 -2
  74. package/chunk-U0VOUPLl.js +1 -0
  75. package/chunk-Z5fN6CGR.js +1 -0
  76. package/chunk-d4cdVCUg.js +2 -0
  77. package/{chunk-DN6f5jXR.js → chunk-dCFVYHva.js} +1 -1
  78. package/{chunk-D6aNT_wo.js → chunk-gaP3Sx_C.js} +1 -1
  79. package/chunk-mnaJWx8D.js +1 -0
  80. package/chunk-oTpkLrqH.js +1 -0
  81. package/chunk-tpJJunhQ.js +1 -0
  82. package/index.html +1 -1
  83. package/locale/messages.de.json +1 -1
  84. package/locale/messages.de_CH.json +1 -1
  85. package/locale/messages.de_DE.json +1 -1
  86. package/locale/messages.en.json +65 -1
  87. package/locale/messages.fr.json +1 -1
  88. package/locale/messages.fr_CA.json +1 -1
  89. package/locale/messages.fr_FR.json +1 -1
  90. package/locale/messages.it.json +95 -2
  91. package/locale/messages.it_IT.json +94 -1
  92. package/locale/messages.json +65 -1
  93. package/locale/messages.nl_BE.json +1 -1
  94. package/locale/messages.nl_NL.json +1 -1
  95. package/locale/messages.zh_HK.json +152 -8
  96. package/main-QLXVXD6E.js +16 -0
  97. package/package.json +1 -1
  98. package/chunk-3RXp81pP.js +0 -1
  99. package/chunk-B0RBkC1E.js +0 -1
  100. package/chunk-BB1pOOUx.js +0 -1
  101. package/chunk-BIL3nR4_.js +0 -2
  102. package/chunk-BOOAIFTC.js +0 -1
  103. package/chunk-BaGYaLxZ.js +0 -2
  104. package/chunk-Bceym75m.js +0 -1
  105. package/chunk-BfZh4DNq.js +0 -2
  106. package/chunk-BlSN71kd.js +0 -1
  107. package/chunk-Bq7wRTmy.js +0 -2
  108. package/chunk-ByhuT4BS.js +0 -14
  109. package/chunk-CBgNjPex.js +0 -1
  110. package/chunk-CEyp0Xmg.js +0 -1
  111. package/chunk-CFne6FXR.js +0 -1
  112. package/chunk-CGn_EA_5.js +0 -2
  113. package/chunk-CJ1mxauG.js +0 -2
  114. package/chunk-CMJCX33P.js +0 -1
  115. package/chunk-CWAvlP_u.js +0 -1
  116. package/chunk-CYQJGwsB.js +0 -1
  117. package/chunk-Ca-HIRNP.js +0 -1
  118. package/chunk-CegwkGVu.js +0 -3
  119. package/chunk-CgcnOoRq.js +0 -2
  120. package/chunk-Ck9c9Juw.js +0 -1
  121. package/chunk-CnRCpl-v.js +0 -2
  122. package/chunk-CrgyDps4.js +0 -1
  123. package/chunk-DDBflo2l.js +0 -4
  124. package/chunk-Df7q8ewK.js +0 -1
  125. package/chunk-Dgns65Zu.js +0 -2
  126. package/chunk-Dh6x3lXP.js +0 -2
  127. package/chunk-DipTNkHN.js +0 -1
  128. package/chunk-DkdGEw1e.js +0 -1
  129. package/chunk-DtdFhFa9.js +0 -1
  130. package/chunk-DwKPz2Gn.js +0 -3
  131. package/chunk-DwMhABnQ.js +0 -2
  132. package/chunk-HWQc1Hoa.js +0 -1
  133. package/chunk-LL0IHZns.js +0 -1
  134. package/chunk-Zo-grJt3.js +0 -1
  135. package/chunk-glhLCQrb.js +0 -1
  136. package/chunk-yF6CJHRg.js +0 -1
  137. package/main-KFKZO6SJ.js +0 -16
@@ -0,0 +1,2 @@
1
+ import {OptionsListComponent as Oe$1}from'./chunk-DAM-4k69.js';import {O}from'./chunk-dCFVYHva.js';import {T as Tt$1,Z as Ze$1}from'./chunk-BC2-YuwH.js';import'./chunk-BFfFD-XE.js';import {N as Ne$1}from'./chunk-CmexLvf7.js';import {I}from'./chunk-Bgx4dtaL.js';import {J}from'./chunk-D7AP6g7S.js';import'./chunk-CQv4eyEK.js';import'./chunk-DH6iiZWc.js';import {N as Nt$2}from'./chunk-DuTbfCdT.js';import'./chunk-DKacf9Tj.js';import'./chunk-gaP3Sx_C.js';import'./chunk-CI8lsvKT.js';import'./chunk-C5p3bQwH.js';import {T,ab as C,e as ee,aw as W,G as Ge,N as Nt$1,H as qu,h as hw,d as N,v,Q as Qi,V as Vg,f as aT,aP as ql,n as nC,aQ as Gl,p as cm,$ as $l,L as Lg,j as vg,F as Fg,A as yg,C as CE,i as cT,x as am,bh as Q,m,aJ as ci,z as za,cl as zu,aE as jo,bJ as fe,aH as m$1,au as jg,av as rC,aD as YC,a6 as be,at as h,Y as Yg,b0 as Hs,cm as cy,c5 as $s,ay as Gu,bK as Dy,cn as Sy,aZ as ee$1,U as UC,s as CD,y as _D,l as vT,r as kd,k as iC,O as Od,bg as ag,a3 as KC,w as jC,aM as ob,aB as im,aN as ab,aa as Ql,aR as sb}from'./main-QLXVXD6E.js';import'./chunk-C3KPTLNN.js';import {d}from'./chunk-PONAC1Ya.js';import {F as Fe}from'./chunk-D3SUPUQT.js';import {j as jn,G as Gn,T as Tn,Z as Ze,R as Rn,P as Pn,g as gn,h as hn,B as Bn,J as Jt,y as yt$1,r as rn}from'./chunk-DoYGADYB.js';import'./chunk-Crs56mDy.js';import'./chunk-Bcxzhjj8.js';import {O as O$1}from'./chunk-BYJ0fSUP.js';import'./chunk-D2aWqPl_.js';import {L}from'./chunk-D3d-eReU.js';var _e={handleExisting:"saveTimestamp",permissions:false,includeMetadata:true},Tt=new Set(["true","1","yes","on"]),Ce=i=>(i??"").trim().replace(/^--/,"").toLowerCase(),at=i=>Tt.has((i??"").trim().toLowerCase()),lt=(i,t,e,o)=>{let n=Ce(i),r=t.find(u=>Ce(u.Name)===n);if(r)return at(r.Value);let l=Object.keys(e).find(u=>Ce(u)===n);return l?at(e[l]):o},_t=(i,t)=>{let e=i??[],o=lt("restore-permissions",e,t,_e.permissions),n=lt("skip-metadata",e,t,false);return {permissions:o,includeMetadata:!n}};function gt(i,t){i&1&&(Qi(0,"p"),nC(1,3),$l());}function Ft(i,t){i&1&&(Qi(0,"sh-form-field")(1,"label",11),nC(2,4),$l(),vg(3,"input",12),CD(),$l()),i&2&&(CE(3),_D());}var ct=new jn,pt=()=>ct.group({passphrase:ct.control("")}),Oe=class i{#e=T(C);#t=T(k);#i=T(ee);#n=T(W);encryptionForm=this.#t.encryptionForm;creatingTemporaryBackup=Ge(false);settings=Ge([]);hasEncryptedBackup=Nt$1(()=>{let t=this.#t.destinationTestSignal();return t==="testing"||typeof t=="string"?true:t?.containsEncryptedBackupFiles??true});showEncryptionField=Ge(false);next(){let t=this.#t.destinationTargetUrl();if(!t)throw new Error("No target URL");this.creatingTemporaryBackup.set(true);let e=this.encryptionForm.value?.passphrase??null,o=[];e?o.push({Name:"--passphrase",Value:e}):o.push({Name:"--no-encryption",Value:"true"}),this.settings().forEach(n=>{let r=n.Name?.trim();r&&r!=="--"&&(r.startsWith("--")||(r=`--${r}`),o.push({Name:r,Value:n.Value??""}));}),this.#e.postApiV1Backups({requestBody:{Backup:{TargetURL:t,Settings:o}},temporary:true}).pipe(qu(()=>this.creatingTemporaryBackup.set(false))).subscribe({next:n=>{let r=n.ID;this.#i.navigate([`/restore-draft/${r}`]);},error:n=>{console.error(n);}});}back(){this.#t.isFileRestore()?this.#i.navigate(["destination"],{relativeTo:this.#n.parent}):this.#t.exit();}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=hw({type:i,selectors:[["app-restore-encryption"]],decls:14,vars:5,consts:()=>{let t;t=$localize`Advanced options`;let e;e=$localize`${"\uFFFD#10\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#10\uFFFD"}:CLOSE_TAG_SH_ICON: Back `;let o;o=$localize`${"\uFFFD#13\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#13\uFFFD"}:CLOSE_TAG_SH_ICON: Continue `;let n;n=$localize`The backup does not contain encrypted files.`;let r;r=$localize`Enter backup passphrase if defined.`;let l;return l=$localize`Password`,[t,e,o,n,l,[3,"submit","formGroup"],["title",""],[3,"optionsChange","options","hasFreeTextSettings"],[1,"form-actions"],["shButton","","type","button",3,"click"],["shButton","","type","submit",1,"raised","primary"],["for","password"],["type","password","id","password","autocomplete","disabled","placeholder",r,"formControlName","passphrase"]]},template:function(e,o){e&1&&(Qi(0,"form",5),Vg("submit",function(){return o.next()}),aT(1,gt,2,0,"p"),aT(2,Ft,4,0,"sh-form-field"),Qi(3,"sh-toggle-card"),ql(4,6),nC(5,0),Gl(),Qi(6,"app-options-list",7),cm("optionsChange",function(r){return UC(o.settings,r)||(o.settings=r),r}),$l()(),Qi(7,"div",8)(8,"button",9),Vg("click",function(){return o.back()}),Lg(9,1),vg(10,"sh-icon"),Fg(),$l(),Qi(11,"button",10),Lg(12,2),vg(13,"sh-icon"),Fg(),$l()()()),e&2&&(yg("formGroup",o.encryptionForm),CE(),cT(o.hasEncryptedBackup()?-1:1),CE(),cT(o.hasEncryptedBackup()||o.showEncryptionField()?2:-1),CE(4),am("options",o.settings),yg("hasFreeTextSettings",true));},dependencies:[Gn,Tn,Ze,Rn,Pn,gn,hn,Fe,N,v,I,Oe$1],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}"]})};var mt=()=>({standalone:true});function Ct(i,t){i&1&&vg(0,"sh-progress-bar",13);}function Ot(i,t){if(i&1&&(jC(0),ob(1,"bytes")),i&2){let e=iC().$implicit;Ql(" (",sb(1,1,e.FileSizes),") ");}}function ft(i,t){i&1&&(Qi(0,"span",20),nC(1,4),$l());}function Nt(i,t){if(i&1&&(Qi(0,"div",19),jC(1),ob(2,"date"),aT(3,Ot,2,3),aT(4,ft,2,0,"span",20),$l()),i&2){let e=t.$implicit;CE(),im(" ",e.Version,": ",ab(2,4,e.Time,"medium")," "),CE(2),cT(e.FileSizes?3:-1),CE(),cT(e.IsFullBackup===false?4:-1);}}function ht(i,t){i&1&&vg(0,"sh-progress-bar",13);}function Rt(i,t){i&1&&(Qi(0,"sh-icon",28),jC(1,"spinner"),$l());}function Pt(i,t){i&1&&(Qi(0,"sh-icon"),jC(1,"magnifying-glass"),$l());}function It(i,t){if(i&1){let e=vT();Qi(0,"button",31),Vg("click",function(){kd(e);let n=iC(4);return Od(n.clearSearch())}),Qi(1,"sh-icon"),jC(2,"x-circle"),$l(),Qi(3,"span"),nC(4,8),$l()();}}function Mt(i,t){i&1&&(Qi(0,"span"),nC(1,9),$l());}function Lt(i,t){if(i&1&&(Qi(0,"span"),nC(1,10),$l()),i&2){let e=iC(5);CE(),jg(e.searchResults().length),rC(1);}}function yt(i,t){if(i&1&&(Qi(0,"div",30),aT(1,Mt,2,0,"span")(2,Lt,2,1,"span"),$l()),i&2){let e=iC(4);CE(),cT(e.searchResults().length===0?1:2);}}function Dt(i,t){if(i&1){let e=vT();Qi(0,"div",24)(1,"sh-form-field")(2,"label",25),nC(3,6),$l(),Qi(4,"input",26),cm("ngModelChange",function(n){kd(e);let r=iC(3);return UC(r.searchQuery,n)||(r.searchQuery=n),Od(n)}),Vg("keydown.enter",function(n){kd(e);let r=iC(3);return n.preventDefault(),Od(r.performSearch())}),$l(),CD(),$l(),Qi(5,"button",27),Vg("click",function(){kd(e);let n=iC(3);return Od(n.performSearch())}),aT(6,Rt,2,0,"sh-icon",28)(7,Pt,2,0,"sh-icon"),Qi(8,"span"),nC(9,7),$l()(),aT(10,It,5,0,"button",29),$l(),aT(11,yt,3,1,"div",30);}if(i&2){let e=iC(3);CE(4),am("ngModel",e.searchQuery),yg("ngModelOptions",KC(6,mt)),_D(),CE(),yg("disabled",e.isSearching()||!e.searchQuery().trim()),CE(),cT(e.isSearching()?6:7),CE(4),cT(e.isSearchMode()?10:-1),CE(),cT(e.isSearchMode()&&!e.isSearching()?11:-1);}}function bt(i,t){if(i&1){let e=vT();aT(0,Dt,12,7),Qi(1,"app-file-tree",21),Vg("hasExtendedData",function(n){kd(e);let r=iC(2);return Od(r.extendedDataType.set(n))}),Qi(2,"label",22),nC(3,5),$l(),vg(4,"input",23),CD(),$l();}if(i&2){let e=iC(2);cT(e.canSearch()?0:-1),CE(),yg("rootPaths",e.rootPaths())("initialNodes",e.initialNodes())("backupSettings",e.backupSettings())("multiSelect",true)("showFiles",true)("loadExtendedData",true)("searchMode",e.isSearchMode())("searchResults",e.searchResults()),CE(3),_D();}}function $t(i,t){if(i&1){let e=vT();Qi(0,"sh-select",17),Vg("cleared",function(){kd(e);let n=iC();return Od(n.abortLoading())}),Qi(1,"input",18),cm("ngModelChange",function(n){kd(e);let r=iC();return UC(r.selectOption,n)||(r.selectOption=n),Od(n)}),$l(),CD(),ag(2,Nt,5,7,"ng-template"),$l(),aT(3,ht,1,0,"sh-progress-bar",13),aT(4,bt,5,9);}if(i&2){let e=iC();yg("options",e.versionOptions())("isClearable",false),CE(),am("ngModel",e.selectOption),yg("ngModelOptions",KC(6,mt)),_D(),CE(2),cT(e.isRepairing()||e.versionOptionsLoading()||e.loadingRootPath()?3:-1),CE(),cT(e.showFileTree()?4:-1);}}var Ne=new jn,St=()=>Ne.group({filesToRestore:Ne.control(""),passphrase:Ne.control(null)}),he=class i{#e=T(C);#t=T(k);#i=T(Q);#n=T(m);#o=T(ee);#a=T(W);#l=T(ci);#_=null;#r=null;#s=Ge([]);selectFilesForm=this.#t.selectFilesForm;selectFilesFormSignal=this.#t.selectFilesFormSignal;selectOption=this.#t.selectOption;backupId=this.#t.backupId;versionOptionsLoading=this.#t.versionOptionsLoading;versionOptions=this.#t.versionOptions;isFileRestore=this.#t.isFileRestore;extendedDataType=this.#t.extendedDataType;needsDatabaseRepair=Nt$1(()=>this.#t.backup()?.Backup?.IsTemporary??true);showFileTree=Ge(false);backupSettings=Ge(null);rootPaths=Ge([]);initialNodes=Ge([]);loadingRootPath=Ge(false);isRepairing=Nt$1(()=>this.#s().length>0);loadedVersions=Ge({});canSearch=Nt$1(()=>this.#n.hasV2ListOperations());searchQuery=Ge("");isSearching=Ge(false);searchResults=Ge([]);hasSearched=Ge(false);isSearchMode=Nt$1(()=>this.searchQuery().length>0&&this.hasSearched());loadingEffect=za(()=>{if(this.versionOptionsLoading())return;let e=this.versionOptions();if(e&&e?.length>0){let o=e[0].Version;this.selectOption.set(o.toString());}});backupSettingsEffect=za(()=>{let t=this.backupId(),e=this.selectOption(),o=this.isRepairing(),n=this.loadedVersions();if(!e||!t)return;let l=this.versionOptions()?.find(w=>w.Version===parseInt(e))?.Time??null;if(!l)return;let u=`${t}+${l}`,I=n[u];if(this.needsDatabaseRepair()&&(!I||o))return;let D={id:t+"",time:l};this.backupSettings.set(D),this.getRootPath(D);});repairEffect=za(()=>{if(!this.needsDatabaseRepair())return;let t=this.selectOption(),e=this.versionOptions();if(t){let o=e.find(l=>l.Version===parseInt(t));if(o===void 0)return;let n=this.backupId(),r=`${n}+${o.Time}`;if(this.#r===r||(this.#r=r,this.#s().includes(r)))return;this.#s.update(l=>[...l,r]),this.#e.postApiV1BackupByIdRepairupdate({id:n,requestBody:{only_paths:true,time:o.Time}}).pipe(zu(this.abortLoading$),qu(()=>{this.#r=null;})).subscribe(l=>{let u=l.ID;this.#i.waitForTaskToComplete(u).pipe(jo(1)).subscribe(()=>{this.#s.update(I=>I.filter(D=>D!==r)),this.loadedVersions.update(I=>(I[r]=true,I));});});}});getRootPath(t){let e={id:t.id+"",time:t.time,prefixOnly:true,folderContents:false},o=t.id+"";this.isRepairing()||this.#_===o||(this.#_=o,this.loadingRootPath.set(true),this.showFileTree.set(false),this.#n.hasV2ListOperations()?this.#e.postApiV2BackupListFolder({requestBody:{BackupId:t.id,Time:t.time,Paths:null,PageSize:0,Page:0,ReturnExtended:true}}).pipe(zu(this.abortLoading$),qu(()=>{this.showFileTree.set(true),this.loadingRootPath.set(false),this.#_=null;})).subscribe({next:n=>{let r=(n.Data??[]).find(u=>u.Metadata&&u.Metadata.ExtType&&u.Metadata.ExtType.length>0);r&&this.extendedDataType.set(r.Metadata.ExtType);let l=(n.Data??[]).map(u=>u.Path??"");l.length>0?(this.initialNodes.set([]),this.rootPaths.set(l)):(this.initialNodes.set([]),this.rootPaths.set(["/"]));}}):this.#e.getApiV1BackupByIdFiles(e).pipe(zu(this.abortLoading$),qu(()=>{this.showFileTree.set(true),this.loadingRootPath.set(false);})).subscribe({next:n=>{let r=n.Files.map(l=>l.Path??"");r.length>0?(this.initialNodes.set([]),this.rootPaths.set(r)):(this.initialNodes.set([]),this.rootPaths.set(["/"]));}}));}abortLoading$=new fe;abortLoading(){this.showFileTree.set(false),this.loadingRootPath.set(false),this.abortLoading$.next(true);}displayFn(){let t=this.versionOptions();return e=>{if(!e)return "";let o=t?.find(n=>typeof n.Version=="number"&&n.Version.toString()===e);return o?`${o.Version}: ${this.#l.transform(o.Time,"medium")}`:""}}next(){this.#o.navigate(["options"],{relativeTo:this.#a.parent});}back(){this.#t.isFileRestore()?this.#o.navigate(["encryption"],{relativeTo:this.#a.parent}):this.#t.exit();}performSearch(){let t=this.searchQuery().trim(),e=this.backupSettings(),o=(this.#t.extendedDataType()??"").length>0;if(!t||!e)return;let r=this.versionOptions()?.find(l=>l.Version===parseInt(this.selectOption()??""))?.Version;r!=null&&(this.isSearching.set(true),this.searchResults.set([]),this.hasSearched.set(true),this.#e.postApiV2BackupSearch({requestBody:{BackupId:e.id,Time:null,Version:[r],Filters:[t],Paths:null,PageSize:1e3,Page:0,ReturnExtended:o,SearchMetadata:o}}).pipe(zu(this.abortLoading$),qu(()=>this.isSearching.set(false))).subscribe({next:l=>{this.searchResults.set(l.Data??[]);},error:()=>{this.searchResults.set([]);}}));}clearSearch(){this.searchQuery.set(""),this.searchResults.set([]),this.hasSearched.set(false);}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=hw({type:i,selectors:[["app-select-files"]],features:[YC([ci])],decls:13,vars:3,consts:()=>{let t;t=$localize`Select files`;let e;e=$localize`${"\uFFFD#9\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SH_ICON: ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let o;o=$localize`${"\uFFFD#12\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SH_ICON: Continue `;let n;n=$localize`Select an option...`;let r;r=$localize`(partial)`;let l;l=$localize`Path`;let u;u=$localize`Enter search term...`;let I;I=$localize`Search files`;let D;D=$localize`Search`;let w;w=$localize`Clear`;let oe;oe=$localize`0 results found`;let ne;return ne=$localize`Found ${"\uFFFD0\uFFFD"}:INTERPOLATION: result(s)`,[["formRef",""],t,e,o,r,l,I,D,w,oe,ne,[3,"submit","formGroup"],[1,"title-30"],[1,"indeterminate","primary"],[1,"form-actions"],["shButton","","type","button",3,"click"],["shButton","","type","submit",1,"raised","primary"],["value","Version",3,"cleared","options","isClearable"],["type","text","placeholder",n,3,"ngModelChange","ngModel","ngModelOptions"],[1,"custom-option"],[1,"partial"],[3,"hasExtendedData","rootPaths","initialNodes","backupSettings","multiSelect","showFiles","loadExtendedData","searchMode","searchResults"],["for","path"],["type","text","id","path","formControlName","filesToRestore"],[1,"search-container"],["for","search"],["type","text","id","search","placeholder",u,3,"ngModelChange","keydown.enter","ngModel","ngModelOptions"],["shButton","","type","button",1,"small",3,"click","disabled"],[1,"spinner"],["shButton","","type","button",1,"small","secondary"],[1,"search-results-info"],["shButton","","type","button",1,"small","secondary",3,"click"]]},template:function(e,o){e&1&&(Qi(0,"form",11,0),Vg("submit",function(){return o.next()}),Qi(2,"h3",12),nC(3,1),$l(),aT(4,Ct,1,0,"sh-progress-bar",13)(5,$t,5,7),Qi(6,"div",14)(7,"button",15),Vg("click",function(){return o.back()}),Lg(8,2),vg(9,"sh-icon"),Fg(),$l(),Qi(10,"button",16),Lg(11,3),vg(12,"sh-icon"),Fg(),$l()()()),e&2&&(yg("formGroup",o.selectFilesForm),CE(4),cT(o.versionOptionsLoading()?4:5),CE(5),jg(o.isFileRestore()?"Back":"Exit"),rC(8));},dependencies:[Bn,Tn,Ze,Rn,Pn,Jt,Gn,gn,hn,Ne$1,v,Fe,N,Nt$2,d,ci,m$1],styles:["[_nghost-%COMP%]{display:block;margin-top:2.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.partial[_ngcontent-%COMP%]{color:var(--base-9);font-style:italic}.search-container[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.search-container[_ngcontent-%COMP%] sh-form-field[_ngcontent-%COMP%]{flex:1}.search-results-info[_ngcontent-%COMP%]{color:var(--base-8);font-size:var(--small)}"]})};var k=class i{#e=T(ee);#t=T(W);#i=T(m);#n=T(be);#o=T(C);#a=T(O$1);#l=null;backupId=Ge(null);backup=Ge(null);destinationTargetUrl=Ge(null);destinationTestSignal=Ge(null);selectFilesForm=St();optionsForm=Et();encryptionForm=pt();optionsFormSignal=L(this.optionsForm.valueChanges);selectFilesFormSignal=L(this.selectFilesForm.valueChanges);selectOption=Ge(null);versionOptionsLoading=Ge(false);versionOptions=Ge([]);isSubmitting=Ge(false);isFileRestore=Ge(false);isFullWidthPage=Ge(false);extendedDataType=Ge(null);alternateRestorePath=Ge(null);alternateRestorePathSourcePrefix=Ge(null);#_=za(()=>{let t=this.backupId(),e=this.backup()?.Backup,o=this.#a.serverSettings();!t||!e||o===void 0||e.ID!==null&&e.ID!==t||this.#l!==t&&(this.#l=t,this.optionsForm.patchValue(_t(e.Settings,o)));});init(t,e=false){this.backupId.set(t),this.isFileRestore.set(e),this.alternateRestorePath.set(null),this.extendedDataType.set(null),e&&this.#e.navigate(["/restore-from-files/destination"]),e||this.getBackup();}updateTargetUrl(t){this.destinationTargetUrl.set(t);}setAlternateRestorePath(t,e){this.alternateRestorePath.set(t),this.alternateRestorePathSourcePrefix.set(e);}submit(){this.isSubmitting.set(true);let t=this.backupId();this.backup()?.Backup?.IsTemporary??false?this.#o.postApiV1BackupByIdCopytotemp({id:this.backupId()??""}).subscribe({next:o=>{this.#r(o.ID??"");},error:o=>this.showErrorDialog($localize`An error occurred while copying the backup to a temporary location: ${o.message}`)}):this.#r(t??"");}showErrorDialog(t){this.#n.open(h,{data:{title:$localize`Error occured`,message:t,confirmText:$localize`OK`,cancelText:void 0},closed:e=>{}});}#r(t){let e=this.optionsForm.value,o=this.selectFilesForm.value,n=this.selectOption(),r=this.versionOptions()?.find(l=>l.Version===(n&&parseInt(n)));this.#o.postApiV1BackupByIdRestore({id:t??"",requestBody:{paths:o.filesToRestore?.split("\0").map(l=>l.endsWith("/")||l.endsWith("\\")?`${l}*`:l)??[],passphrase:o.passphrase??null,time:r?.Time,restore_path:this.alternateRestorePath()??e.restoreFromPath,overwrite:e.handleExisting==="overwrite",permissions:e.permissions,skip_metadata:!e.includeMetadata,source_prefix:this.alternateRestorePathSourcePrefix(),connection_string_id:null}}).pipe(qu(()=>this.isSubmitting.set(false))).subscribe({next:l=>{this.#e.navigate([`./${l.ID}`,"progress"],{relativeTo:this.#t});},error:l=>{console.error("restore error",l);}});}exit(){this.#n.open(h,{data:{title:$localize`Confirm exit?`,message:$localize`Are you sure you want to exit?`,confirmText:$localize`Yes`,cancelText:$localize`Cancel`},closed:t=>{t&&(this.#s(),this.#e.navigate(["/"]));}});}getVersionOptions(){this.versionOptions();}loadFilesetsWithRetryv2(t,e=2){return this.#o.postApiV2BackupListFilesets({requestBody:{BackupId:t}}).pipe(Hs(o=>{let n=o?.error?.body?.StatusCode??o?.error?.requestBody?.StatusCode;return n==="EncryptedStorageNoPassphrase"||n==="FolderMissing"||n==="EmptyRemoteFolder"||e===0?cy(()=>o):$s(1e3).pipe(Gu(()=>this.loadFilesetsWithRetryv2(t,e-1)))}))}getBackup(){let t=this.backupId();this.versionOptionsLoading.set(true),this.#i.hasV2ListOperations()?Dy([this.#o.getApiV1BackupById({id:t}),this.loadFilesetsWithRetryv2(t)]).pipe(jo(1),qu(()=>this.versionOptionsLoading.set(false))).subscribe({next:([e,o])=>{if(o.Error)throw new Error(o.Error);if(!(e.Backup?.IsTemporary??true)&&e?.Backup?.DBPathExists===false){this.#n.open(h,{data:{title:$localize`Missing Local Database`,message:$localize`The local database for this backup is missing. Please repair or recreate the local database before restoring.`,confirmText:$localize`OK`,cancelText:void 0},closed:r=>{this.#e.navigate(["/backup",t,"database"]);}});return}this.versionOptions.set((o.Data??[]).map(r=>({Version:r.Version??-1,IsFullBackup:r.IsFullBackup??void 0,Time:r.Time??"<missing>",FileCount:r.FileCount??void 0,FileSizes:r.FileSizes??void 0}))),this.backup.set(e);},error:e=>{let o=e?.error?.body?.StatusCode??e?.error?.requestBody?.StatusCode,n=o==="EncryptedStorageNoPassphrase",r=o==="FolderMissing",l=o==="EmptyRemoteFolder",u=$localize`An error occurred while loading the backup filesets: ${e.message}`;n&&(u=$localize`The remote storage is encrypted. Please enter the passphrase to access the backup.`),r&&(u=$localize`The backup storage folder was not found.`),l&&(u=$localize`The backup storage folder does not contain any filesets.`),this.#n.open(h,{data:{title:$localize`Failed to load backup filesets`,message:u,confirmText:$localize`OK`,cancelText:void 0},closed:I=>{this.#e.navigate([n?"/restore-from-files/encryption":"/restore-from-files/destination"]);}});}}):Dy([this.#o.getApiV1BackupById({id:t}),this.#o.getApiV1BackupByIdFilesets({id:t}).pipe(Sy(3))]).pipe(jo(1),qu(()=>this.versionOptionsLoading.set(false))).subscribe({next:([e,o])=>{this.versionOptions.set(o.map(n=>({Version:n.Version??-1,IsFullBackup:(n.IsFullBackup??1)==1,Time:n.Time??"<missing>",FileCount:n.FileCount??void 0,FileSizes:n.FileSizes??void 0}))),this.backup.set(e);}});}#s(){this.selectFilesForm.reset(),this.optionsForm.reset();}static \u0275fac=function(e){return new(e||i)};static \u0275prov=ee$1({token:i,factory:i.\u0275fac,providedIn:"root"})};function vt(i,t){if(i&1){let e=vT();Qi(0,"sh-radio",27),Lg(1,6),vg(2,"input",31),CD(),Fg(),$l(),Qi(3,"sh-radio",27),Lg(4,7),Qi(5,"input",32),Vg("click",function(){kd(e);let n=iC(2);return Od(n.chooseCustomRemoteDestination())}),$l(),CD(),Fg(),$l();}i&2&&(CE(2),_D(),CE(3),_D());}function At(i,t){if(i&1){let e=vT();Qi(0,"sh-radio",27),Lg(1,8),vg(2,"input",31),CD(),Fg(),$l(),Qi(3,"sh-radio",27),Lg(4,9),Qi(5,"input",32),Vg("click",function(){kd(e);let n=iC(2);return Od(n.chooseCustomRemoteDestination())}),$l(),CD(),Fg(),$l();}i&2&&(CE(2),_D(),CE(3),_D());}function xt(i,t){if(i&1&&(Qi(0,"app-file-tree",29)(1,"label",33),jC(2,"Path"),$l(),vg(3,"input",34),CD(),$l()),i&2){let e=iC(2);yg("disabled",e.optionsFormSignal()?.restoreFrom!=="pickLocation")("enableCreateFolder",true)("resolvePaths",true),CE(3),_D();}}function Gt(i,t){if(i&1&&(Qi(0,"app-file-tree",30)(1,"label",33),jC(2,"Path"),$l(),vg(3,"input",34),CD(),$l()),i&2){let e=iC(2);yg("customRemoteMode",e.extendedDataType())("backupId",e.backupId())("sourcePrefix",e.remoteCustomSourcePrefix())("destinationUrl",e.customDestinationUrl()),CE(3),_D();}}function kt(i,t){if(i&1&&(aT(0,vt,6,0)(1,At,6,0),Qi(2,"sh-radio",27),Lg(3,5),vg(4,"input",28),CD(),Fg(),$l(),aT(5,xt,4,3,"app-file-tree",29),aT(6,Gt,4,4,"app-file-tree",30)),i&2){let e=iC();cT(e.extendedDataType()==="o365"?0:e.extendedDataType()==="gsuite"?1:-1),CE(4),_D(),CE(),cT(e.optionsFormSignal()?.restoreFrom==="pickLocation"?5:-1),CE(),cT(e.showCustomRemoteRestoreTree()?6:-1);}}function wt(i,t){if(i&1&&(Qi(0,"sh-radio",27),Lg(1,10),vg(2,"input",35),CD(),Fg(),$l(),Qi(3,"sh-radio",27),Lg(4,11),vg(5,"input",28),CD(),Fg(),$l(),Qi(6,"app-file-tree",29)(7,"label",33),jC(8,"Path"),$l(),vg(9,"input",34),CD(),$l()),i&2){let e=iC();CE(2),_D(),CE(3),_D(),CE(),yg("disabled",e.optionsFormSignal()?.restoreFrom!=="pickLocation")("enableCreateFolder",true)("resolvePaths",true),CE(3),_D();}}function Wt(i,t){i&1&&(Qi(0,"app-toggle-card",22),ql(1,23),nC(2,12),Gl(),Qi(3,"sh-toggle",27),Lg(4,13),vg(5,"input",36),CD(),Fg(),$l()()),i&2&&(yg("disableToggle",true),CE(5),_D());}function Bt(i,t){i&1&&(Qi(0,"app-toggle-card",22),ql(1,23),nC(2,14),Gl(),Qi(3,"sh-radio",27),Lg(4,15),vg(5,"input",37),CD(),Fg(),$l(),Qi(6,"sh-radio",27),Lg(7,16),vg(8,"input",38),CD(),Fg(),$l()(),Qi(9,"app-toggle-card"),ql(10,23),nC(11,17),Gl(),Qi(12,"sh-toggle",39),Lg(13,18),vg(14,"input",40),CD(),Fg(),$l(),Qi(15,"sh-toggle",39),Lg(16,19),vg(17,"input",41),CD(),Fg(),$l()()),i&2&&(yg("disableToggle",true),CE(5),_D(),CE(3),_D(),CE(6),_D(),CE(3),_D());}var V=new jn,Et=()=>V.group({restoreFrom:V.control("original"),restoreFromPath:V.control(""),handleExisting:V.control(_e.handleExisting),permissions:V.control(_e.permissions),includeMetadata:V.control(_e.includeMetadata),customRemoteIgnoreExisting:V.control(false)}),Re=class i{#e=T(k);#t=T(ee);#i=T(W);#n=T(m);#o=T(be);optionsForm=this.#e.optionsForm;optionsFormSignal=this.#e.optionsFormSignal;isSubmitting=this.#e.isSubmitting;extendedData=this.#e.extendedDataType;remoteCustomTargetUrl=Ge(null);backupId=Nt$1(()=>this.#e.backup()?.Backup?.ID??null);extendedDataType=Nt$1(()=>{let t=this.#e.extendedDataType();return t==="o365"?"o365":t==="gsuite"?"gsuite":null});remoteCustomSourceEntry=Nt$1(()=>this.#e.backup()?.Backup?.Sources?.filter(t=>t.startsWith("@")&&(t.includes("|office365://")||t.includes("|googleworkspace://")))[0]??null);remoteCustomSourceUrl=Nt$1(()=>this.remoteCustomSourceEntry()?.split("|")[1]??null);remoteCustomSourcePrefix=Nt$1(()=>this.remoteCustomSourceEntry()?.split("|")[0]??null);customDestinationUrl=Nt$1(()=>{let t=this.optionsFormSignal()?.restoreFrom,e=this.extendedDataType()!==null;return t==="same-custom"&&e?this.remoteCustomSourceUrl():t==="other-custom"&&e?this.remoteCustomTargetUrl():null});showCustomRemoteRestoreTree=Nt$1(()=>!!(this.optionsFormSignal()?.restoreFrom==="same-custom"&&this.customDestinationUrl()&&this.backupId()||this.optionsFormSignal()?.restoreFrom==="other-custom"&&this.customDestinationUrl()));isCustomRemoteRestore=Nt$1(()=>{let t=this.optionsFormSignal()?.restoreFrom;return t==="same-custom"||t==="other-custom"});chooseCustomRemoteDestination(){let t=this.extendedDataType()==="o365"?"office365://":"googleworkspace://";return this.#o.open(Tt$1,{maxWidth:"700px",maxHeight:"80vh",width:"100%",closeOnOutsideClick:false,data:{targetUrlModel:this.remoteCustomTargetUrl()||this.remoteCustomSourceUrl()||t,moduleType:"RestoreDestinationProvider",askToCreate:true,expectedResult:"any",suppressErrorDialogs:true,backupId:this.backupId(),sourcePrefix:this.remoteCustomSourcePrefix()}}).closed.subscribe(o=>{o&&(this.remoteCustomTargetUrl.set(o),this.optionsForm.controls.restoreFrom.setValue("other-custom"));}),false}#a=za(()=>{let t=this.optionsFormSignal()?.restoreFrom;this.extendedDataType()!=null&&(t==="original"||t===void 0)&&(this.optionsForm.controls.restoreFrom.setValue("pickLocation"),this.optionsForm.controls.handleExisting.setValue("overwrite")),this.extendedDataType()==null&&(t==="same-custom"||t==="other-custom")&&(this.optionsForm.controls.restoreFrom.setValue("original"),this.optionsForm.controls.handleExisting.setValue("saveTimestamp"));});goBack(){this.#t.navigate(["select-files"],{relativeTo:this.#i.parent});}submit(){let t=this.#e.selectFilesFormSignal()?.filesToRestore??[];if(t.length>0&&this.optionsFormSignal()?.restoreFrom=="original"&&(t[0].includes("/")?"/":"\\")!==this.#n.systemInfo()?.DirectorySeparator){this.#o.open(h,{data:{title:$localize`Confirm target folder`,message:$localize`This backup was created on another operating system. Restoring files without specifying a destination folder can cause files to be restored in unexpected places. Are you sure you want to continue without choosing a destination folder?`,confirmText:$localize`Yes`,cancelText:$localize`Cancel`},closed:n=>{n&&this.#e.submit();}});return}if(this.optionsFormSignal()?.restoreFrom==="same-custom"||this.optionsFormSignal()?.restoreFrom==="other-custom"){let o=this.optionsFormSignal()?.restoreFromPath;if(o&&o.startsWith("/")&&(o=o.substring(1)),!o||o.trim()===""){this.#o.open(h,{data:{title:$localize`No path specified`,message:this.extendedDataType()==="gsuite"?$localize`Please choose a path to restore to in the Google Workspace account.`:$localize`Please choose a path to restore to in the Microsoft 365 tenant.`,confirmText:$localize`OK`,cancelText:void 0}});return}let n=this.optionsFormSignal()?.customRemoteIgnoreExisting,r=this.customDestinationUrl()?.substring(this.customDestinationUrl().indexOf("?")),l=this.extendedDataType()==="gsuite"?`@googleworkspace://${encodeURIComponent(o)}${r}&google-ignore-existing=${n?"true":"false"}`:`@office365://${encodeURIComponent(o)}${r}&office365-ignore-existing=${n?"true":"false"}`;this.#e.setAlternateRestorePath(l,this.remoteCustomSourcePrefix()),this.optionsForm.controls.includeMetadata.setValue(true),this.optionsForm.controls.permissions.setValue(true);}else this.#e.setAlternateRestorePath(null,null);this.#e.submit();}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=hw({type:i,selectors:[["app-advanced-options-settings"]],decls:18,vars:6,consts:()=>{let t;t=$localize`Restore options`;let e;e=$localize`Where do you want to restore files to?`;let o;o=$localize`${"\uFFFD#14\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#14\uFFFD"}:CLOSE_TAG_SH_ICON: Go back `;let n;n=$localize`${"\uFFFD#17\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#17\uFFFD"}:CLOSE_TAG_SH_ICON: Submit `;let r;r=$localize` Local file system ${"\uFFFD#4\uFFFD\uFFFD/#4\uFFFD"}:TAG_INPUT:`;let l;l=$localize` Same Microsoft 365 Tenant ${"\uFFFD#2\uFFFD\uFFFD/#2\uFFFD"}:TAG_INPUT:`;let u;u=$localize` Different Microsoft 365 Tenant ${"\uFFFD#5\uFFFD\uFFFD/#5\uFFFD"}:TAG_INPUT:`;let I;I=$localize` Same Google Workspace Account ${"\uFFFD#2\uFFFD\uFFFD/#2\uFFFD"}:TAG_INPUT:`;let D;D=$localize` Different Google Workspace Account ${"\uFFFD#5\uFFFD\uFFFD/#5\uFFFD"}:TAG_INPUT:`;let w;w=$localize` Original location ${"\uFFFD#2\uFFFD\uFFFD/#2\uFFFD"}:TAG_INPUT:`;let oe;oe=$localize` Pick location ${"\uFFFD#5\uFFFD\uFFFD/#5\uFFFD"}:TAG_INPUT:`;let ne;ne=$localize`Restore settings`;let P;P=$localize` Ignore existing resources in the destination ${"\uFFFD#5\uFFFD\uFFFD/#5\uFFFD"}:TAG_INPUT:`;let Pe;Pe=$localize`How do you want to handle existing files?`;let Ie;Ie=$localize` Overwrite ${"\uFFFD#5\uFFFD\uFFFD/#5\uFFFD"}:TAG_INPUT:`;let Me;Me=$localize` Save different versions with timestamp in file name ${"\uFFFD#8\uFFFD\uFFFD/#8\uFFFD"}:TAG_INPUT:`;let Le;Le=$localize`Metadata settings`;let ye;ye=$localize` Restore file metadata ${"\uFFFD#14\uFFFD\uFFFD/#14\uFFFD"}:TAG_INPUT:`;let De;return De=$localize` Restore read/write permissions ${"\uFFFD#17\uFFFD\uFFFD/#17\uFFFD"}:TAG_INPUT:`,[["formRef",""],t,e,o,n,r,l,u,I,D,w,oe,ne,P,Pe,Ie,Me,Le,ye,De,[3,"submit","formGroup"],[1,"title-30"],[3,"disableToggle"],["title",""],[1,"form-actions"],["shButton","","type","button",3,"click"],["shButton","","type","submit",1,"raised","primary"],[1,"raised","primary"],["type","radio","name","restoreFrom","value","pickLocation","formControlName","restoreFrom"],[3,"disabled","enableCreateFolder","resolvePaths"],[3,"customRemoteMode","backupId","sourcePrefix","destinationUrl"],["type","radio","name","restoreFrom","value","same-custom","formControlName","restoreFrom"],["type","radio","name","restoreFrom","value","other-custom","formControlName","restoreFrom",3,"click"],["for","path"],["type","text","id","path","formControlName","restoreFromPath"],["type","radio","name","restoreFrom","value","original","formControlName","restoreFrom"],["type","checkbox","formControlName","customRemoteIgnoreExisting"],["type","radio","name","handleExisting","value","overwrite","formControlName","handleExisting"],["type","radio","name","handleExisting","value","saveTimestamp","formControlName","handleExisting"],[1,"primary","raised"],["type","checkbox","formControlName","includeMetadata"],["type","checkbox","formControlName","permissions"]]},template:function(e,o){e&1&&(Qi(0,"form",20,0),Vg("submit",function(){return o.submit()}),Qi(2,"h3",21),nC(3,1),$l(),Qi(4,"app-toggle-card",22),ql(5,23),nC(6,2),Gl(),aT(7,kt,7,3)(8,wt,10,3),$l(),aT(9,Wt,6,1,"app-toggle-card",22)(10,Bt,18,1),Qi(11,"div",24)(12,"button",25),Vg("click",function(){return o.goBack()}),Lg(13,3),vg(14,"sh-icon"),Fg(),$l(),Qi(15,"button",26),Lg(16,4),vg(17,"sh-icon"),Fg(),$l()()()),e&2&&(yg("formGroup",o.optionsForm),CE(4),yg("disableToggle",true),CE(3),cT(o.extendedDataType()!==null?7:8),CE(2),cT(o.isCustomRemoteRestore()?9:10),CE(6),Yg("loading",o.isSubmitting()));},dependencies:[Gn,Tn,Ze,yt$1,rn,Rn,Pn,gn,hn,Ze$1,Ne$1,J,O,v,N],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}"]})};
2
+ var chunkSAHR4V56=/*#__PURE__*/Object.freeze({__proto__:null,createEncryptionForm:pt,default:Oe});var chunkL7FVTW5T=/*#__PURE__*/Object.freeze({__proto__:null,createRestoreSelectFilesForm:St,default:he});var chunkWWUZD2FM=/*#__PURE__*/Object.freeze({__proto__:null,createRestoreOptionsForm:Et,default:Re});export{chunkL7FVTW5T as a,chunkWWUZD2FM as b,chunkSAHR4V56 as c,k};
@@ -1 +1 @@
1
- import {F as Fe}from'./chunk-DuIUmwWN.js';import {j as jn,G as Gn,T as Tn,Z as Ze,R as Rn,P as Pn,g as gn,h as hn}from'./chunk-DipTNkHN.js';import {T,ah as fe,ab as C,e as ee,U as Ue,ay as $u,C as Bu,d as dw,_ as _t,f as N,v,Q as Qi,O as Og,j as mg,H as Hl,F as Fg,P as Pg,X as XT,q as PC,o as oT,D as DE,z as gg,a3 as QC,I as Qg,i as iT,t as tC,ac as h1,b5 as mw,p as DD,y as TD}from'./main-KFKZO6SJ.js';var q=(()=>{class r{constructor(){this.filesOver=Ue(false),this.filesDropped=h1();}onDragOver(t){t.preventDefault(),t.stopPropagation(),this.filesOver.set(true);}onDragLeave(t){t.preventDefault(),t.stopPropagation(),this.filesOver.set(false);}ondrop(t){t.preventDefault(),t.stopPropagation(),this.filesOver.set(false);let e=t.dataTransfer?.files;e&&e.length>0&&this.filesDropped.emit(e);}static{this.\u0275fac=function(e){return new(e||r)};}static{this.\u0275dir=mw({type:r,selectors:[["","shDragDrop",""]],hostVars:2,hostBindings:function(e,i){e&1&&Fg("dragover",function(c){return i.onDragOver(c)})("dragleave",function(c){return i.onDragLeave(c)})("drop",function(c){return i.ondrop(c)}),e&2&&Qg("filesover",i.filesOver());},outputs:{filesDropped:"filesDropped"}});}}return r})();var Q=()=>["/"];function W(r,o){r&1&&(Qi(0,"sh-form-field")(1,"label",11),XT(2,2),Hl(),mg(3,"input",12),DD(),Hl()),r&2&&(DE(3),TD());}var p=new jn,D=class r{#t=T(fe);#e=T(C);#o=T(ee);isRestoring=Ue(false);isSecureFile=Ue(false);importForm=p.group({config:p.control(""),cmdline:p.control(false),importMetadata:p.control(false),direct:p.control(false),passphrase:p.control("")});selectedFile=Ue(null);onFileDropped(o){let e=o.target?.files?.item(0);if(e){let i=new FileReader;this.isSecureFile.set(e.type!=="application/json"),i.onload=this.#i.bind(this),i.readAsArrayBuffer(e);}}#i(o){let t=o.target?.result;this.importForm.patchValue({config:this.#r(t)});}#r(o){let t=new Uint8Array(o),e=t.byteLength,i="";for(let n=0;n<e;n++)i+=String.fromCharCode(t[n]);return btoa(i)}submit(){this.isRestoring.set(true),this.#e.postApiV1BackupsImport({requestBody:this.importForm.value}).pipe($u(o=>{let e={Backup:o.data.Backup};return this.#e.postApiV1Backups({requestBody:e,temporary:true})}),Bu(()=>this.isRestoring.set(false))).subscribe({next:o=>{this.#o.navigate(["/restore-draft",o.ID]);},error:o=>{this.#t.error(o.message);}});}static \u0275fac=function(t){return new(t||r)};static \u0275cmp=dw({type:r,selectors:[["app-restore-from-config"]],decls:16,vars:7,consts:()=>{let o;o=$localize` Restore from config ${"\uFFFD#3\uFFFD"}:START_TAG_DIV:${"\uFFFD#4\uFFFD"}:START_TAG_BUTTON:${"[\uFFFD#5\uFFFD|\uFFFD#7\uFFFD]"}:START_TAG_SH_ICON:arrow-left${"[\uFFFD/#5\uFFFD|\uFFFD/#7\uFFFD]"}:CLOSE_TAG_SH_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_SH_ICON:download-simple${"[\uFFFD/#5\uFFFD|\uFFFD/#7\uFFFD]"}:CLOSE_TAG_SH_ICON: Restore ${"[\uFFFD/#4\uFFFD|\uFFFD/#6\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_DIV:`,o=tC(o);let t;t=$localize`Select a configuration file`;let e;return e=$localize`Passphrase`,[o,t,e,[1,"actions"],["shButton","","type","button",1,"outlined",3,"routerLink"],["shButton","","type","submit",1,"raised","primary",3,"click","disabled"],["autocomplete","off",3,"formGroup"],["shDragDrop","",3,"fileDropped"],["for","file"],["type","file","accept",".json,.aes",3,"change"],["suffix",""],["for","passphrase"],["type","password","autocomplete","disabled","formControlName","passphrase"]]},template:function(t,e){t&1&&(Qi(0,"header")(1,"h3"),Og(2,0),Qi(3,"div",3)(4,"button",4),mg(5,"sh-icon"),Hl(),Qi(6,"button",5),Fg("click",function(){return e.submit()}),mg(7,"sh-icon"),Hl()(),Pg(),Hl()(),Qi(8,"form",6)(9,"sh-form-field",7),Fg("fileDropped",function(n){return e.onFileDropped(n)}),Qi(10,"label",8),XT(11,1),Hl(),Qi(12,"input",9),Fg("change",function(n){return e.onFileDropped(n)}),Hl(),Qi(13,"sh-icon",10),PC(14,"upload"),Hl()(),oT(15,W,4,0,"sh-form-field"),Hl()),t&2&&(DE(4),gg("routerLink",QC(6,Q)),DE(2),Qg("loading",e.isRestoring()),gg("disabled",e.isRestoring()),DE(2),gg("formGroup",e.importForm),DE(7),iT(e.isSecureFile()?15:-1));},dependencies:[Gn,Tn,Ze,Rn,Pn,gn,hn,_t,q,Fe,N,v],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}"]})};export{D as default};
1
+ import {F as Fe}from'./chunk-D3SUPUQT.js';import {j as jn,G as Gn,T as Tn,Z as Ze,R as Rn,P as Pn,g as gn,h as hn}from'./chunk-DoYGADYB.js';import {T,ah as fe,ab as C,e as ee,G as Ge,ay as Gu,H as qu,h as hw,_ as _t,d as N,v,Q as Qi,L as Lg,j as vg,$ as $l,V as Vg,F as Fg,n as nC,w as jC,f as aT,C as CE,A as yg,a3 as KC,Y as Yg,i as cT,o as oC,ac as v1,b6 as Iw,s as CD,y as _D}from'./main-QLXVXD6E.js';var q=(()=>{class r{constructor(){this.filesOver=Ge(false),this.filesDropped=v1();}onDragOver(t){t.preventDefault(),t.stopPropagation(),this.filesOver.set(true);}onDragLeave(t){t.preventDefault(),t.stopPropagation(),this.filesOver.set(false);}ondrop(t){t.preventDefault(),t.stopPropagation(),this.filesOver.set(false);let e=t.dataTransfer?.files;e&&e.length>0&&this.filesDropped.emit(e);}static{this.\u0275fac=function(e){return new(e||r)};}static{this.\u0275dir=Iw({type:r,selectors:[["","shDragDrop",""]],hostVars:2,hostBindings:function(e,i){e&1&&Vg("dragover",function(c){return i.onDragOver(c)})("dragleave",function(c){return i.onDragLeave(c)})("drop",function(c){return i.ondrop(c)}),e&2&&Yg("filesover",i.filesOver());},outputs:{filesDropped:"filesDropped"}});}}return r})();var Q=()=>["/"];function W(r,o){r&1&&(Qi(0,"sh-form-field")(1,"label",11),nC(2,2),$l(),vg(3,"input",12),CD(),$l()),r&2&&(CE(3),_D());}var p=new jn,D=class r{#t=T(fe);#e=T(C);#o=T(ee);isRestoring=Ge(false);isSecureFile=Ge(false);importForm=p.group({config:p.control(""),cmdline:p.control(false),importMetadata:p.control(false),direct:p.control(false),passphrase:p.control("")});selectedFile=Ge(null);onFileDropped(o){let e=o.target?.files?.item(0);if(e){let i=new FileReader;this.isSecureFile.set(e.type!=="application/json"),i.onload=this.#i.bind(this),i.readAsArrayBuffer(e);}}#i(o){let t=o.target?.result;this.importForm.patchValue({config:this.#r(t)});}#r(o){let t=new Uint8Array(o),e=t.byteLength,i="";for(let n=0;n<e;n++)i+=String.fromCharCode(t[n]);return btoa(i)}submit(){this.isRestoring.set(true),this.#e.postApiV1BackupsImport({requestBody:this.importForm.value}).pipe(Gu(o=>{let e={Backup:o.data.Backup};return this.#e.postApiV1Backups({requestBody:e,temporary:true})}),qu(()=>this.isRestoring.set(false))).subscribe({next:o=>{this.#o.navigate(["/restore-draft",o.ID]);},error:o=>{this.#t.error(o.message);}});}static \u0275fac=function(t){return new(t||r)};static \u0275cmp=hw({type:r,selectors:[["app-restore-from-config"]],decls:16,vars:7,consts:()=>{let o;o=$localize` Restore from config ${"\uFFFD#3\uFFFD"}:START_TAG_DIV:${"\uFFFD#4\uFFFD"}:START_TAG_BUTTON:${"[\uFFFD#5\uFFFD|\uFFFD#7\uFFFD]"}:START_TAG_SH_ICON:arrow-left${"[\uFFFD/#5\uFFFD|\uFFFD/#7\uFFFD]"}:CLOSE_TAG_SH_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_SH_ICON:download-simple${"[\uFFFD/#5\uFFFD|\uFFFD/#7\uFFFD]"}:CLOSE_TAG_SH_ICON: Restore ${"[\uFFFD/#4\uFFFD|\uFFFD/#6\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_DIV:`,o=oC(o);let t;t=$localize`Select a configuration file`;let e;return e=$localize`Passphrase`,[o,t,e,[1,"actions"],["shButton","","type","button",1,"outlined",3,"routerLink"],["shButton","","type","submit",1,"raised","primary",3,"click","disabled"],["autocomplete","off",3,"formGroup"],["shDragDrop","",3,"fileDropped"],["for","file"],["type","file","accept",".json,.aes",3,"change"],["suffix",""],["for","passphrase"],["type","password","autocomplete","disabled","formControlName","passphrase"]]},template:function(t,e){t&1&&(Qi(0,"header")(1,"h3"),Lg(2,0),Qi(3,"div",3)(4,"button",4),vg(5,"sh-icon"),$l(),Qi(6,"button",5),Vg("click",function(){return e.submit()}),vg(7,"sh-icon"),$l()(),Fg(),$l()(),Qi(8,"form",6)(9,"sh-form-field",7),Vg("fileDropped",function(n){return e.onFileDropped(n)}),Qi(10,"label",8),nC(11,1),$l(),Qi(12,"input",9),Vg("change",function(n){return e.onFileDropped(n)}),$l(),Qi(13,"sh-icon",10),jC(14,"upload"),$l()(),aT(15,W,4,0,"sh-form-field"),$l()),t&2&&(CE(4),yg("routerLink",KC(6,Q)),CE(2),Yg("loading",e.isRestoring()),yg("disabled",e.isRestoring()),CE(2),yg("formGroup",e.importForm),CE(7),cT(e.isSecureFile()?15:-1));},dependencies:[Gn,Tn,Ze,Rn,Pn,gn,hn,_t,q,Fe,N,v],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}"]})};export{D as default};
@@ -0,0 +1 @@
1
+ import {ai as m$1,aj as l,by as Xr,bs as x$1,bz as mw,bA as dd,b6 as Iw,bB as so,bC as ED,ae as eo,ba as ig,aD as YC,V as Vg,bD as Gv,Y as Yg,bE as et$1,bF as ve$1,bG as Mv,bH as ww,bI as b1,c as me$1,N as Nt$1,G as Ge$1,T,bJ as fe,bK as Dy,aG as pt$1,bL as s,q as qe$1,bM as Z,z as za,bN as M1,bO as Jo,bP as D$1,bQ as Fl,bR as Re,aC as mg}from'./main-QLXVXD6E.js';var ze=(()=>{class n{_renderer;_elementRef;onChange=e=>{};onTouched=()=>{};constructor(e,i){this._renderer=e,this._elementRef=i;}setProperty(e,i){this._renderer.setProperty(this._elementRef.nativeElement,e,i);}registerOnTouched(e){this.onTouched=e;}registerOnChange(e){this.onChange=e;}setDisabledState(e){this.setProperty("disabled",e);}static \u0275fac=function(i){return new(i||n)(so(ED),so(eo))};static \u0275dir=Iw({type:n})}return n})(),W=(()=>{class n extends ze{static \u0275fac=(()=>{let e;return function(r){return (e||(e=Gv(n)))(r||n)}})();static \u0275dir=Iw({type:n,features:[ig]})}return n})(),D=new x$1(""),_t={provide:D,useExisting:Jo(()=>yt),multi:true},yt=(()=>{class n extends W{writeValue(e){this.setProperty("checked",e);}static \u0275fac=(()=>{let e;return function(r){return (e||(e=Gv(n)))(r||n)}})();static \u0275dir=Iw({type:n,selectors:[["input","type","checkbox","formControlName","",3,"ngNoCva",""],["input","type","checkbox","formControl","",3,"ngNoCva",""],["input","type","checkbox","ngModel","",3,"ngNoCva",""]],hostBindings:function(i,r){i&1&&Vg("change",function(a){return r.onChange(a.target.checked)})("blur",function(){return r.onTouched()});},standalone:false,features:[YC([_t]),ig]})}return n})(),Ct={provide:D,useExisting:Jo(()=>Ze),multi:true};function Vt(){let n=s()?s().getUserAgent():"";return /android (\d+)/.test(n.toLowerCase())}var Dt=new x$1(""),Ze=(()=>{class n extends ze{_compositionMode;_composing=false;constructor(e,i,r){super(e,i),this._compositionMode=r,this._compositionMode==null&&(this._compositionMode=!Vt());}writeValue(e){let i=e??"";this.setProperty("value",i);}_handleInput(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e);}_compositionStart(){this._composing=true;}_compositionEnd(e){this._composing=false,this._compositionMode&&this.onChange(e);}static \u0275fac=function(i){return new(i||n)(so(ED),so(eo),so(Dt,8))};static \u0275dir=Iw({type:n,selectors:[["input","formControlName","",3,"type","checkbox",3,"ngNoCva",""],["textarea","formControlName","",3,"ngNoCva",""],["input","formControl","",3,"type","checkbox",3,"ngNoCva",""],["textarea","formControl","",3,"ngNoCva",""],["input","ngModel","",3,"type","checkbox",3,"ngNoCva",""],["textarea","ngModel","",3,"ngNoCva",""],["","ngDefaultControl",""]],hostBindings:function(i,r){i&1&&Vg("input",function(a){return r._handleInput(a.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(a){return r._compositionEnd(a.target.value)});},standalone:false,features:[YC([Ct]),ig]})}return n})();function Ve(n){return n==null||De(n)===0}function De(n){return n==null?null:Array.isArray(n)||typeof n=="string"?n.length:n instanceof Set?n.size:null}var b=new x$1(""),w=new x$1(""),bt=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,me=class{static min(t){return At(t)}static max(t){return Mt(t)}static required(t){return Xe(t)}static requiredTrue(t){return Et(t)}static email(t){return Ft(t)}static minLength(t){return wt(t)}static maxLength(t){return Nt(t)}static pattern(t){return St(t)}static nullValidator(t){return J()}static compose(t){return tt(t)}static composeAsync(t){return nt(t)}};function At(n){return t=>{if(t.value==null||n==null)return null;let e=parseFloat(t.value);return !isNaN(e)&&e<n?{min:{min:n,actual:t.value}}:null}}function Mt(n){return t=>{if(t.value==null||n==null)return null;let e=parseFloat(t.value);return !isNaN(e)&&e>n?{max:{max:n,actual:t.value}}:null}}function Xe(n){return Ve(n.value)?{required:true}:null}function Et(n){return n.value===true?null:{required:true}}function Ft(n){return Ve(n.value)||bt.test(n.value)?null:{email:true}}function wt(n){return t=>{let e=t.value?.length??De(t.value);return e===null||e===0?null:e<n?{minlength:{requiredLength:n,actualLength:e}}:null}}function Nt(n){return t=>{let e=t.value?.length??De(t.value);return e!==null&&e>n?{maxlength:{requiredLength:n,actualLength:e}}:null}}function St(n){if(!n)return J;let t,e;return typeof n=="string"?(e="",n.charAt(0)!=="^"&&(e+="^"),e+=n,n.charAt(n.length-1)!=="$"&&(e+="$"),t=new RegExp(e)):(e=n.toString(),t=n),i=>{if(Ve(i.value))return null;let r=i.value;return t.test(r)?null:{pattern:{requiredPattern:e,actualValue:r}}}}function J(n){return null}function Ye(n){return n!=null}function Ke(n){return Fl(n)?Re(n):n}function Je(n){let t={};return n.forEach(e=>{t=e!=null?l(l({},t),e):t;}),Object.keys(t).length===0?null:t}function Qe(n,t){return t.map(e=>e(n))}function It(n){return !n.validate}function et(n){return n.map(t=>It(t)?t:e=>t.validate(e))}function tt(n){if(!n)return null;let t=n.filter(Ye);return t.length==0?null:function(e){return Je(Qe(e,t))}}function be(n){return n!=null?tt(et(n)):null}function nt(n){if(!n)return null;let t=n.filter(Ye);return t.length==0?null:function(e){let i=Qe(e,t).map(Ke);return Dy(i).pipe(pt$1(Je))}}function Ae(n){return n!=null?nt(et(n)):null}function Ge(n,t){return n===null?[t]:Array.isArray(n)?[...n,t]:[n,t]}function it(n){return n._rawValidators}function rt(n){return n._rawAsyncValidators}function ve(n){return n?Array.isArray(n)?n:[n]:[]}function Q(n,t){return Array.isArray(n)?n.includes(t):n===t}function Ue(n,t){let e=ve(t);return ve(n).forEach(r=>{Q(e,r)||e.push(r);}),e}function He(n,t){return ve(t).filter(e=>!Q(n,e))}var ee=class{get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators=[];_rawAsyncValidators=[];_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=be(this._rawValidators);}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=Ae(this._rawAsyncValidators);}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_onDestroyCallbacks=[];_registerOnDestroy(t){this._onDestroyCallbacks.push(t);}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[];}reset(t=void 0){this.control?.reset(t);}hasError(t,e){return this.control?this.control.hasError(t,e):false}getError(t,e){return this.control?this.control.getError(t,e):null}},d=class extends ee{name;get formDirective(){return null}get path(){return null}};var j="VALID",K="INVALID",I="PENDING",B="DISABLED",V=class{},te=class extends V{value;source;constructor(t,e){super(),this.value=t,this.source=e;}},U=class extends V{pristine;source;constructor(t,e){super(),this.pristine=t,this.source=e;}},H=class extends V{touched;source;constructor(t,e){super(),this.touched=t,this.source=e;}},O=class extends V{status;source;constructor(t,e){super(),this.status=t,this.source=e;}},ne=class extends V{source;constructor(t){super(),this.source=t;}},F=class extends V{source;constructor(t){super(),this.source=t;}};function Me(n){return (le(n)?n.validators:n)||null}function Ot(n){return Array.isArray(n)?be(n):n||null}function Ee(n,t){return (le(t)?t.asyncValidators:n)||null}function xt(n){return Array.isArray(n)?Ae(n):n||null}function le(n){return n!=null&&!Array.isArray(n)&&typeof n=="object"}function st(n,t,e){let i=n.controls;if(!(t?Object.keys(i):i).length)throw new D$1(1e3,"");if(!at(i,e))throw new D$1(1001,"")}function ot(n,t,e){n._forEachChild((i,r)=>{if(e[r]===void 0)throw new D$1(-1002,"")});}var x=class{_pendingDirty=false;_hasOwnPendingAsyncValidator=null;_pendingTouched=false;_onCollectionChange=()=>{};_updateOn;_hasRequired=Ge$1(false);_parent=null;_asyncValidationSubscription;_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators;_rawAsyncValidators;value;constructor(t,e){this._assignValidators(t),this._assignAsyncValidators(e);}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t,this._updateHasRequiredValidator();}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t;}get parent(){return this._parent}get status(){return me$1(this.statusReactive)}set status(t){me$1(()=>this.statusReactive.set(t));}_status=Nt$1(()=>this.statusReactive());statusReactive=Ge$1(void 0);get valid(){return this.status===j}get invalid(){return this.status===K}get pending(){return this.status===I}get disabled(){return this.status===B}get enabled(){return this.status!==B}errors;get pristine(){return me$1(this.pristineReactive)}set pristine(t){me$1(()=>this.pristineReactive.set(t));}_pristine=Nt$1(()=>this.pristineReactive());pristineReactive=Ge$1(true);get dirty(){return !this.pristine}get touched(){return me$1(this.touchedReactive)}set touched(t){me$1(()=>this.touchedReactive.set(t));}_touched=Nt$1(()=>this.touchedReactive());touchedReactive=Ge$1(false);get untouched(){return !this.touched}_events=new fe;events=this._events.asObservable();valueChanges;statusChanges;get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t);}setAsyncValidators(t){this._assignAsyncValidators(t);}addValidators(t){this.setValidators(Ue(t,this._rawValidators));}addAsyncValidators(t){this.setAsyncValidators(Ue(t,this._rawAsyncValidators));}removeValidators(t){this.setValidators(He(t,this._rawValidators));}removeAsyncValidators(t){this.setAsyncValidators(He(t,this._rawAsyncValidators));}hasValidator(t){return Q(this._rawValidators,t)}hasAsyncValidator(t){return Q(this._rawAsyncValidators,t)}clearValidators(){this.validator=null;}clearAsyncValidators(){this.asyncValidator=null;}markAsTouched(t={}){let e=this.touched===false;this.touched=true;let i=t.sourceControl??this;t.onlySelf||this._parent?.markAsTouched(m$1(l({},t),{sourceControl:i})),e&&t.emitEvent!==false&&this._events.next(new H(true,i));}markAllAsDirty(t={}){this.markAsDirty({onlySelf:true,emitEvent:t.emitEvent,sourceControl:this}),this._forEachChild(e=>e.markAllAsDirty(t));}markAllAsTouched(t={}){this.markAsTouched({onlySelf:true,emitEvent:t.emitEvent,sourceControl:this}),this._forEachChild(e=>e.markAllAsTouched(t));}markAsUntouched(t={}){let e=this.touched===true;this.touched=false,this._pendingTouched=false;let i=t.sourceControl??this;this._forEachChild(r=>{r.markAsUntouched({onlySelf:true,emitEvent:t.emitEvent,sourceControl:i});}),t.onlySelf||this._parent?._updateTouched(t,i),e&&t.emitEvent!==false&&this._events.next(new H(false,i));}markAsDirty(t={}){let e=this.pristine===true;this.pristine=false;let i=t.sourceControl??this;t.onlySelf||this._parent?.markAsDirty(m$1(l({},t),{sourceControl:i})),e&&t.emitEvent!==false&&this._events.next(new U(false,i));}markAsPristine(t={}){let e=this.pristine===false;this.pristine=true,this._pendingDirty=false;let i=t.sourceControl??this;this._forEachChild(r=>{r.markAsPristine({onlySelf:true,emitEvent:t.emitEvent});}),t.onlySelf||this._parent?._updatePristine(t,i),e&&t.emitEvent!==false&&this._events.next(new U(true,i));}markAsPending(t={}){this.status=I;let e=t.sourceControl??this;t.emitEvent!==false&&(this._events.next(new O(this.status,e)),this.statusChanges.emit(this.status)),t.onlySelf||this._parent?.markAsPending(m$1(l({},t),{sourceControl:e}));}disable(t={}){let e=this._parentMarkedDirty(t.onlySelf);this.status=B,this.errors=null,this._forEachChild(r=>{r.disable(m$1(l({},t),{onlySelf:true}));}),this._updateValue();let i=t.sourceControl??this;t.emitEvent!==false&&(this._events.next(new te(this.value,i)),this._events.next(new O(this.status,i)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(m$1(l({},t),{skipPristineCheck:e}),this),this._onDisabledChange.forEach(r=>r(true));}enable(t={}){let e=this._parentMarkedDirty(t.onlySelf);this.status=j,this._forEachChild(i=>{i.enable(m$1(l({},t),{onlySelf:true}));}),this.updateValueAndValidity({onlySelf:true,emitEvent:t.emitEvent}),this._updateAncestors(m$1(l({},t),{skipPristineCheck:e}),this),this._onDisabledChange.forEach(i=>i(false));}_updateAncestors(t,e){t.onlySelf||(this._parent?.updateValueAndValidity(t),t.skipPristineCheck||this._parent?._updatePristine({},e),this._parent?._updateTouched({},e));}setParent(t){this._parent=t;}getRawValue(){return this.value}updateValueAndValidity(t={}){if(this._setInitialStatus(),this._updateValue(),this.enabled){let i=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===j||this.status===I)&&this._runAsyncValidator(i,t.emitEvent);}let e=t.sourceControl??this;t.emitEvent!==false&&(this._events.next(new te(this.value,e)),this._events.next(new O(this.status,e)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),t.onlySelf||this._parent?.updateValueAndValidity(m$1(l({},t),{sourceControl:e}));}_updateTreeValidity(t={emitEvent:true}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:true,emitEvent:t.emitEvent});}_setInitialStatus(){this.status=this._allControlsDisabled()?B:j;}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t,e){if(this.asyncValidator){this.status=I,this._hasOwnPendingAsyncValidator={emitEvent:e!==false,shouldHaveEmitted:t!==false};let i=Ke(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(r=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(r,{emitEvent:e,shouldHaveEmitted:t});});}}_cancelExistingSubscription(){if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();let t=(this._hasOwnPendingAsyncValidator?.emitEvent||this._hasOwnPendingAsyncValidator?.shouldHaveEmitted)??false;return this._hasOwnPendingAsyncValidator=null,t}return false}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(e.emitEvent!==false,this,e.shouldHaveEmitted);}get(t){let e=t;return e==null||(Array.isArray(e)||(e=e.split(".")),e.length===0)?null:e.reduce((i,r)=>i&&i._find(r),this)}getError(t,e){let i=e?this.get(e):this;return i?.errors?i.errors[t]:null}hasError(t,e){return !!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t,e,i){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),(t||i)&&this._events.next(new O(this.status,e)),this._parent&&this._parent._updateControlsErrors(t,e,i);}_initObservables(){this.valueChanges=new et$1,this.statusChanges=new et$1;}_calculateStatus(){return this._allControlsDisabled()?B:this.errors?K:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(I)?I:this._anyControlsHaveStatus(K)?K:j}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t,e){let i=!this._anyControlsDirty(),r=this.pristine!==i;this.pristine=i,t.onlySelf||this._parent?._updatePristine(t,e),r&&this._events.next(new U(this.pristine,e));}_updateTouched(t={},e){this.touched=this._anyControlsTouched(),this._events.next(new H(this.touched,e)),t.onlySelf||this._parent?._updateTouched(t,e);}_onDisabledChange=[];_registerOnCollectionChange(t){this._onCollectionChange=t;}_setUpdateStrategy(t){le(t)&&t.updateOn!=null&&(this._updateOn=t.updateOn);}_parentMarkedDirty(t){return !t&&!!this._parent?.dirty&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=Ot(this._rawValidators),this._updateHasRequiredValidator();}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=xt(this._rawAsyncValidators);}_updateHasRequiredValidator(){me$1(()=>this._hasRequired.set(this.hasValidator(me.required)));}};function at(n,t){return Object.hasOwn(n,t)}function Rt(n){return n.tagName==="INPUT"||n.tagName==="SELECT"||n.tagName==="TEXTAREA"}function Pt(n,t,e,i){switch(e){case "name":n.setAttribute(t,e,i);break;case "disabled":case "readonly":case "required":i?n.setAttribute(t,e,""):n.removeAttribute(t,e);break;case "max":case "min":case "minLength":case "maxLength":i!==void 0?n.setAttribute(t,e,i.toString()):n.removeAttribute(t,e);break}}var _e=class{kind;context;control;message;constructor({kind:t,context:e,control:i}){this.kind=t,this.context=e,this.control=i;}};var kt=(()=>{class n{_validator=J;_onChange;_enabled;ngOnChanges(e){if(this.inputName in e){let i=this.normalizeInput(e[this.inputName].currentValue);this._enabled=this.enabled(i),this._validator=this._enabled?this.createValidator(i):J,this._onChange?.();}}validate(e){return this._validator(e)}registerOnValidatorChange(e){this._onChange=e;}enabled(e){return e!=null}static \u0275fac=function(i){return new(i||n)};static \u0275dir=Iw({type:n,features:[Mv]})}return n})();var Tt={provide:b,useExisting:Jo(()=>lt),multi:true};var lt=(()=>{class n extends kt{required;inputName="required";normalizeInput=M1;createValidator=e=>Xe;enabled(e){return e}static \u0275fac=(()=>{let e;return function(r){return (e||(e=Gv(n)))(r||n)}})();static \u0275dir=Iw({type:n,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(i,r){i&2&&mg("required",r._enabled?"":null);},inputs:{required:"required"},standalone:false,features:[YC([Tt]),ig]})}return n})();var jt=new x$1(""),N=new x$1("",{factory:()=>q}),q="always";function ue(n,t){return [...t.path,n]}function ie(n,t,e=q){Fe(n,t),t.valueAccessor.writeValue(n.value),(n.disabled||e==="always")&&t.valueAccessor.setDisabledState?.(n.disabled),Gt(n,t),Ht(n,t),Ut(n,t),Bt(n,t);}function re(n,t,e=true){let i=()=>{};t?.valueAccessor?.registerOnChange(i),t?.valueAccessor?.registerOnTouched(i),oe(n,t),n&&(t._invokeOnDestroyCallbacks(),n._registerOnCollectionChange(()=>{}));}function se(n,t){n.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(t);});}function Bt(n,t){if(t.valueAccessor.setDisabledState){let e=i=>{t.valueAccessor.setDisabledState(i);};n.registerOnDisabledChange(e),t._registerOnDestroy(()=>{n._unregisterOnDisabledChange(e);});}}function Fe(n,t){let e=it(n);t.validator!==null?n.setValidators(Ge(e,t.validator)):typeof e=="function"&&n.setValidators([e]);let i=rt(n);t.asyncValidator!==null?n.setAsyncValidators(Ge(i,t.asyncValidator)):typeof i=="function"&&n.setAsyncValidators([i]);let r=()=>n.updateValueAndValidity();se(t._rawValidators,r),se(t._rawAsyncValidators,r);}function oe(n,t){let e=false;if(n!==null){if(t.validator!==null){let r=it(n);if(Array.isArray(r)&&r.length>0){let s=r.filter(a=>a!==t.validator);s.length!==r.length&&(e=true,n.setValidators(s));}}if(t.asyncValidator!==null){let r=rt(n);if(Array.isArray(r)&&r.length>0){let s=r.filter(a=>a!==t.asyncValidator);s.length!==r.length&&(e=true,n.setAsyncValidators(s));}}}let i=()=>{};return se(t._rawValidators,i),se(t._rawAsyncValidators,i),e}function Gt(n,t){t.valueAccessor.registerOnChange(e=>{n._pendingValue=e,n._pendingChange=true,n._pendingDirty=true,n.updateOn==="change"&&ut(n,t);});}function Ut(n,t){t.valueAccessor.registerOnTouched(()=>{n._pendingTouched=true,n.updateOn==="blur"&&n._pendingChange&&ut(n,t),n.updateOn!=="submit"&&n.markAsTouched();});}function ut(n,t){n._pendingDirty&&n.markAsDirty(),n.setValue(n._pendingValue,{emitModelToViewChange:false}),t.viewToModelUpdate(n._pendingValue),n._pendingChange=false;}function Ht(n,t){let e=(i,r)=>{t.valueAccessor.writeValue(i),r&&t.viewToModelUpdate(i);};n.registerOnChange(e),t._registerOnDestroy(()=>{n._unregisterOnChange(e);});}function dt(n,t){Fe(n,t);}function Lt(n,t){return oe(n,t)}function we(n,t){if(!n.hasOwnProperty("model"))return false;let e=n.model;return e.isFirstChange()?true:!Object.is(t,e.currentValue)}function Wt(n){return Object.getPrototypeOf(n.constructor)===W}function ct(n,t){n._syncPendingControls(),t.forEach(e=>{let i=e.control;i.updateOn==="submit"&&i._pendingChange&&(e.viewToModelUpdate(i._pendingValue),i._pendingChange=false);});}function qt(n,t){if(!t)return null;let e,i,r;return t.forEach(s=>{s.constructor===Ze?e=s:Wt(s)?i=s:r=s;}),r||i||e||null}function $t(n,t){let e=n.indexOf(t);e>-1&&n.splice(e,1);}var Ne={provide:jt,useFactory:()=>{let n=T(m,{self:true});return {setParseErrors:t=>{n.setParseErrorSource(t);},set onReset(t){n.onReset=t;}}}},m=class extends ee{_parent=null;name=null;valueAccessor=null;isCustomControlBased=false;userOnReset;resetSubscription;set onReset(t){this.userOnReset=t,this.resetSubscription?.unsubscribe(),this.resetSubscription=void 0,this.control&&(this.resetSubscription=this.control.events.subscribe(e=>{e instanceof F&&this.control&&this.userOnReset?.(this.control.value);}),this.subscription?.add(this.resetSubscription));}isNativeFormElement=false;rawValueAccessors;_selectedValueAccessor=null;get selectedValueAccessor(){return this._selectedValueAccessor??=qt(this,this.rawValueAccessors)}parseErrorsValidator=null;renderer;injector;requiredValidatorViaDi;subscription;customControlBindings=null;constructor(t,e,i){super(),this.injector=t,this.renderer=e,this.rawValueAccessors=i,this.injector?.get(qe$1)?.onDestroy(()=>{this.removeParseErrorsValidator(this.control),this.subscription?.unsubscribe();});}setupCustomControl(){this.subscription?.unsubscribe();let t=this.injector?.get(b1);if(!this.control||!t)return;let e=t.markForCheck.bind(t);this.subscription=new Z,this.subscription.add(this.control.valueChanges.subscribe(e)),this.subscription.add(this.control.statusChanges.subscribe(e)),this.resetSubscription?.unsubscribe(),this.resetSubscription=void 0,this.userOnReset&&(this.resetSubscription=this.control.events.subscribe(i=>{i instanceof F&&this.control&&this.userOnReset?.(this.control.value);}),this.subscription.add(this.resetSubscription)),this.parseErrorsValidator&&this.control.addValidators(this.parseErrorsValidator);}ngControlCreate(t){!t.nativeElement.hasAttribute?.("ngNoCva")&&(this.rawValueAccessors&&this.rawValueAccessors.length>0||this.valueAccessor!==null)||!t.customControl||(this.isCustomControlBased=true,t.listenToCustomControlModel(r=>{this.control?.setValue(r,{emitModelToViewChange:false}),this.control?.markAsDirty(),this.viewToModelUpdate(r);}),t.listenToCustomControlOutput("touch",()=>{this.control?.markAsTouched();}),this.customControlBindings={},this.isNativeFormElement=Rt(t.nativeElement),this.requiredValidatorViaDi=this._rawValidators.find(r=>r instanceof lt));}ngControlUpdate(t,e){if(!this.isCustomControlBased)return;let i=this.control,r=this.customControlBindings;Object.is(r.value,i.value)||(r.value=i.value,t.setCustomControlModelInput(i.value)),this.bindControlProperty(t,r,"touched",i.touched),this.bindControlProperty(t,r,"dirty",i.dirty),this.bindControlProperty(t,r,"valid",i.valid),this.bindControlProperty(t,r,"invalid",i.invalid),this.bindControlProperty(t,r,"pending",i.pending),this.bindControlProperty(t,r,"disabled",i.disabled),this.shouldBindRequired&&this.bindControlProperty(t,r,"required",this.isRequired);let s=i.errors;if(r.errors!==s){r.errors=s;let a=this._convertErrors(s);t.setInputOnDirectives("errors",a);}}get isRequired(){return (this.requiredValidatorViaDi?._enabled||this.control?._hasRequired())??false}get shouldBindRequired(){return true}bindControlProperty(t,e,i,r){if(e[i]===r)return;e[i]=r;let s=t.setInputOnDirectives(i,r);this.isNativeFormElement&&!s&&(i==="disabled"||i==="required")&&this.renderer&&Pt(this.renderer,t.nativeElement,i,r);}_convertErrors(t){if(t===null)return [];let e=this.control;return Object.entries(t).map(([i,r])=>new _e({context:r,kind:i,control:e}))}setParseErrorSource(t){if(t===void 0)return;let e=null,i=Nt$1(()=>{let r=t();return r.length===0?null:r.reduce((s,a)=>(s[a.kind]=a,s),{})});this.parseErrorsValidator=(()=>e).bind(this),za(()=>{e=i(),this.control?.updateValueAndValidity({emitEvent:false});},{injector:this.injector});}removeParseErrorsValidator(t){this.parseErrorsValidator&&(t?.removeValidators(this.parseErrorsValidator),t?.updateValueAndValidity({emitEvent:false}));}},ae=class{_cd;constructor(t){this._cd=t;}get isTouched(){return this._cd?.control?._touched?.(),!!this._cd?.control?.touched}get isUntouched(){return !!this._cd?.control?.untouched}get isPristine(){return this._cd?.control?._pristine?.(),!!this._cd?.control?.pristine}get isDirty(){return !!this._cd?.control?.dirty}get isValid(){return this._cd?.control?._status?.(),!!this._cd?.control?.valid}get isInvalid(){return !!this._cd?.control?.invalid}get isPending(){return !!this._cd?.control?.pending}get isSubmitted(){return this._cd?._submitted?.(),!!this._cd?.submitted}};var Rn=(()=>{class n extends ae{constructor(e){super(e);}static \u0275fac=function(i){return new(i||n)(so(m,2))};static \u0275dir=Iw({type:n,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(i,r){i&2&&Yg("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending);},standalone:false,features:[ig]})}return n})(),Pn=(()=>{class n extends ae{constructor(e){super(e);}static \u0275fac=function(i){return new(i||n)(so(d,10))};static \u0275dir=Iw({type:n,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["","formArray",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(i,r){i&2&&Yg("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)("ng-submitted",r.isSubmitted);},standalone:false,features:[ig]})}return n})(),R=class extends x{constructor(t,e,i){super(Me(e),Ee(i,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:true,emitEvent:!!this.asyncValidator});}controls;registerControl(t,e){let i=this._find(t);return i||(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e,i={}){this.registerControl(t,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange();}removeControl(t,e={}){let i=this._find(t);i&&i._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange();}setControl(t,e,i={}){let r=this._find(t);r&&r._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange();}contains(t){return this._find(t)?.enabled===true}setValue(t,e={}){me$1(()=>{ot(this,true,t),Object.keys(t).forEach(i=>{st(this,true,i),this.controls[i].setValue(t[i],{onlySelf:true,emitEvent:e.emitEvent});}),this.updateValueAndValidity(e);});}patchValue(t,e={}){t!=null&&(Object.keys(t).forEach(i=>{let r=this._find(i);r&&r.patchValue(t[i],{onlySelf:true,emitEvent:e.emitEvent});}),this.updateValueAndValidity(e));}reset(t={},e={}){this._forEachChild((i,r)=>{i.reset(t?t[r]:null,m$1(l({},e),{onlySelf:true}));}),this._updatePristine(e,this),this._updateTouched(e,this),this.updateValueAndValidity(e),e?.emitEvent!==false&&this._events.next(new F(this));}getRawValue(){return this._reduceChildren({},(t,e,i)=>(t[i]=e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(false,(e,i)=>i._syncPendingControls()?true:e);return t&&this.updateValueAndValidity({onlySelf:true}),t}_forEachChild(t){Object.keys(this.controls).forEach(e=>{let i=this.controls[e];i&&t(i,e);});}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange);});}_updateValue(){this.value=this._reduceValue();}_anyControls(t){for(let[e,i]of Object.entries(this.controls))if(this.contains(e)&&t(i))return true;return false}_reduceValue(){let t={};return this._reduceChildren(t,(e,i,r)=>((i.enabled||this.disabled)&&(e[r]=i.value),e))}_reduceChildren(t,e){let i=t;return this._forEachChild((r,s)=>{i=e(i,r,s);}),i}_allControlsDisabled(){for(let t of Object.keys(this.controls))if(this.controls[t].enabled)return false;return Object.keys(this.controls).length>0||this.disabled}_find(t){return at(this.controls,t)?this.controls[t]:null}};var ye=class extends R{};var zt={provide:d,useExisting:Jo(()=>Zt)},G=Promise.resolve(),Zt=(()=>{class n extends d{callSetDisabledState;get submitted(){return me$1(this.submittedReactive)}_submitted=Nt$1(()=>this.submittedReactive());submittedReactive=Ge$1(false);_directives=new Set;form;ngSubmit=new et$1;options;constructor(e,i,r){super(),this.callSetDisabledState=r,this.form=new R({},be(e),Ae(i));}ngAfterViewInit(){this._setUpdateStrategy();}get formDirective(){return this}get control(){return this.form}get path(){return []}get controls(){return this.form.controls}addControl(e){G.then(()=>{let i=this._findContainer(e.path);e.control=i.registerControl(e.name,e.control),e._setupWithForm(this.callSetDisabledState),e.control.updateValueAndValidity({emitEvent:false}),this._directives.add(e);});}getControl(e){return this.form.get(e.path)}removeControl(e){G.then(()=>{this._findContainer(e.path)?.removeControl(e.name),this._directives.delete(e);});}addFormGroup(e){G.then(()=>{let i=this._findContainer(e.path),r=new R({});dt(r,e),i.registerControl(e.name,r),r.updateValueAndValidity({emitEvent:false});});}removeFormGroup(e){G.then(()=>{this._findContainer(e.path)?.removeControl?.(e.name);});}getFormGroup(e){return this.form.get(e.path)}updateModel(e,i){G.then(()=>{this.form.get(e.path).setValue(i);});}setValue(e){this.control.setValue(e);}onSubmit(e){return this.submittedReactive.set(true),ct(this.form,this._directives),this.ngSubmit.emit(e),this.form._events.next(new ne(this.control)),e?.target?.method==="dialog"}onReset(){this.resetForm();}resetForm(e=void 0){this.form.reset(e),this.submittedReactive.set(false);}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.form._updateOn=this.options.updateOn);}_findContainer(e){return e.pop(),e.length?this.form.get(e):this.form}static \u0275fac=function(i){return new(i||n)(so(b,10),so(w,10),so(N,8))};static \u0275dir=Iw({type:n,selectors:[["form",3,"ngNoForm","",3,"formGroup","",3,"formArray",""],["ng-form"],["","ngForm",""]],hostBindings:function(i,r){i&1&&Vg("submit",function(a){return r.onSubmit(a)})("reset",function(){return r.onReset()});},inputs:{options:[0,"ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],standalone:false,features:[YC([zt]),ig]})}return n})();function Le(n,t){let e=n.indexOf(t);e>-1&&n.splice(e,1);}function We(n){return typeof n=="object"&&n!==null&&Object.keys(n).length===2&&"value"in n&&"disabled"in n}var L=class extends x{defaultValue=null;_onChange=[];_pendingValue;_pendingChange=false;constructor(t=null,e,i){super(Me(e),Ee(i,e)),this._applyFormState(t),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:true,emitEvent:!!this.asyncValidator}),le(e)&&(e.nonNullable||e.initialValueIsDefault)&&(We(t)?this.defaultValue=t.value:this.defaultValue=t);}setValue(t,e={}){me$1(()=>{this.value=this._pendingValue=t,this._onChange.length&&e.emitModelToViewChange!==false&&this._onChange.forEach(i=>i(this.value,e.emitViewToModelChange!==false)),this.updateValueAndValidity(e);});}patchValue(t,e={}){this.setValue(t,e);}reset(t=this.defaultValue,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),e.overwriteDefaultValue&&(this.defaultValue=this.value),this._pendingChange=false,e?.emitEvent!==false&&this._events.next(new F(this));}_updateValue(){}_anyControls(t){return false}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t);}_unregisterOnChange(t){Le(this._onChange,t);}registerOnDisabledChange(t){this._onDisabledChange.push(t);}_unregisterOnDisabledChange(t){Le(this._onDisabledChange,t);}_forEachChild(t){}_syncPendingControls(){return this.updateOn==="submit"&&(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),this._pendingChange)?(this.setValue(this._pendingValue,{onlySelf:true,emitModelToViewChange:false}),true):false}_applyFormState(t){We(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:true,emitEvent:false}):this.enable({onlySelf:true,emitEvent:false})):this.value=this._pendingValue=t;}};var Xt=n=>n instanceof L,Yt=(()=>{class n extends d{_parent;ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this);}ngOnDestroy(){this.formDirective?.removeFormGroup(this);}get control(){return this.formDirective.getFormGroup(this)}get path(){return ue(this.name==null?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}static \u0275fac=(()=>{let e;return function(r){return (e||(e=Gv(n)))(r||n)}})();static \u0275dir=Iw({type:n,standalone:false,features:[ig]})}return n})();var Kt={provide:m,useExisting:Jo(()=>Jt)},qe=Promise.resolve(),Jt=(()=>{class n extends m{_changeDetectorRef;callSetDisabledState;control=new L;static ngAcceptInputType_isDisabled;_registered=false;viewModel;name="";isDisabled;model;options;update=new et$1;constructor(e,i,r,s,a,P,k,vt){super(k,vt,s),this._changeDetectorRef=a,this.callSetDisabledState=P,this._parent=e,this._setValidators(i),this._setAsyncValidators(r);}ngOnChanges(e){if(this._checkForErrors(),!this._registered||"name"in e){if(this._registered&&(this._checkName(),this.formDirective)){let i=e.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)});}this._setUpControl();}"isDisabled"in e&&this._updateDisabled(e),we(e,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model);}ngOnDestroy(){this.formDirective?.removeControl(this);}\u0275ngControlCreate(e){super.ngControlCreate(e);}\u0275ngControlUpdate(e){super.ngControlUpdate(e,false);}get shouldBindRequired(){return false}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e);}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=true;}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.control._updateOn=this.options.updateOn);}_isStandalone(){return !this._parent||!!(this.options&&this.options.standalone)}_setUpStandalone(){this.isCustomControlBased?this.setupCustomControl():(this.valueAccessor??=this.selectedValueAccessor,ie(this.control,this,this.callSetDisabledState)),this.control.updateValueAndValidity({emitEvent:false});}_setupWithForm(e){this.isCustomControlBased?this.setupCustomControl():(this.valueAccessor??=this.selectedValueAccessor,ie(this.control,this,e));}_checkForErrors(){this._checkName();}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),!this._isStandalone()&&this.name;}_updateValue(e){qe.then(()=>{this.control.setValue(e,{emitViewToModelChange:false}),this._changeDetectorRef?.markForCheck();});}_updateDisabled(e){let i=e.isDisabled.currentValue,r=i!==0&&M1(i);qe.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck();});}_getPath(e){return this._parent?ue(e,this._parent):[e]}static \u0275fac=function(i){return new(i||n)(so(d,9),so(b,10),so(w,10),so(D,10),so(b1,8),so(N,8),so(ve$1,8),so(ED,8))};static \u0275dir=Iw({type:n,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"],options:[0,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],standalone:false,features:[YC([Kt,Ne]),ig,Mv,ww(null)]})}return n})();var Tn=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275dir=Iw({type:n,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""],standalone:false})}return n})(),Qt={provide:D,useExisting:Jo(()=>en),multi:true},en=(()=>{class n extends W{writeValue(e){let i=e??"";this.setProperty("value",i);}registerOnChange(e){this.onChange=i=>{e(i==""?null:parseFloat(i));};}static \u0275fac=(()=>{let e;return function(r){return (e||(e=Gv(n)))(r||n)}})();static \u0275dir=Iw({type:n,selectors:[["input","type","number","formControlName","",3,"ngNoCva",""],["input","type","number","formControl","",3,"ngNoCva",""],["input","type","number","ngModel","",3,"ngNoCva",""]],hostBindings:function(i,r){i&1&&Vg("input",function(a){return r.onChange(a.target.value)})("blur",function(){return r.onTouched()});},standalone:false,features:[YC([Qt]),ig]})}return n})(),tn={provide:D,useExisting:Jo(()=>rn),multi:true};var nn=(()=>{class n{_accessors=[];add(e,i){this._accessors.push([e,i]);}remove(e){for(let i=this._accessors.length-1;i>=0;--i)if(this._accessors[i][1]===e){this._accessors.splice(i,1);return}}select(e){this._accessors.forEach(i=>{this._isSameGroup(i,e)&&i[1]!==e&&i[1].fireUncheck(e.value);});}_isSameGroup(e,i){return e[0].control?e[0]._parent===i._control._parent&&e[1].name===i.name:false}static \u0275fac=function(i){return new(i||n)};static \u0275prov=Xr({token:n,factory:n.\u0275fac})}return n})(),rn=(()=>{class n extends W{_registry;_injector;_state;_control;_fn;setDisabledStateFired=false;onChange=()=>{};name;formControlName;value;callSetDisabledState=T(N,{optional:true})??q;constructor(e,i,r,s){super(e,i),this._registry=r,this._injector=s;}ngOnInit(){this._control=this._injector.get(m),this._checkName(),this._registry.add(this._control,this);}ngOnDestroy(){this._registry.remove(this);}writeValue(e){this._state=e===this.value,this.setProperty("checked",this._state);}registerOnChange(e){this._fn=e,this.onChange=()=>{e(this.value),this._registry.select(this);};}setDisabledState(e){(this.setDisabledStateFired||e||this.callSetDisabledState==="whenDisabledForLegacyCode")&&this.setProperty("disabled",e),this.setDisabledStateFired=true;}fireUncheck(e){this.writeValue(e);}_checkName(){this.name&&this.formControlName&&(this.name,this.formControlName),!this.name&&this.formControlName&&(this.name=this.formControlName);}static \u0275fac=function(i){return new(i||n)(so(ED),so(eo),so(nn),so(ve$1))};static \u0275dir=Iw({type:n,selectors:[["input","type","radio","formControlName","",3,"ngNoCva",""],["input","type","radio","formControl","",3,"ngNoCva",""],["input","type","radio","ngModel","",3,"ngNoCva",""]],hostBindings:function(i,r){i&1&&Vg("change",function(){return r.onChange()})("blur",function(){return r.onTouched()});},inputs:{name:"name",formControlName:"formControlName",value:"value"},standalone:false,features:[YC([tn]),ig]})}return n})(),sn={provide:D,useExisting:Jo(()=>on),multi:true},on=(()=>{class n extends W{writeValue(e){this.setProperty("value",parseFloat(e));}registerOnChange(e){this.onChange=i=>{e(i==""?null:parseFloat(i));};}static \u0275fac=(()=>{let e;return function(r){return (e||(e=Gv(n)))(r||n)}})();static \u0275dir=Iw({type:n,selectors:[["input","type","range","formControlName","",3,"ngNoCva",""],["input","type","range","formControl","",3,"ngNoCva",""],["input","type","range","ngModel","",3,"ngNoCva",""]],hostBindings:function(i,r){i&1&&Vg("change",function(a){return r.onChange(a.target.value)})("input",function(a){return r.onChange(a.target.value)})("blur",function(){return r.onTouched()});},standalone:false,features:[YC([sn]),ig]})}return n})(),Ce=class extends x{constructor(t,e,i){super(Me(e),Ee(i,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:true,emitEvent:!!this.asyncValidator});}controls;at(t){return this.controls[this._adjustIndex(t)]}push(t,e={}){Array.isArray(t)?t.forEach(i=>{this.controls.push(i),this._registerControl(i);}):(this.controls.push(t),this._registerControl(t)),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange();}insert(t,e,i={}){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:i.emitEvent});}removeAt(t,e={}){let i=this._adjustIndex(t);i<0&&(i=0),this.controls[i]&&this.controls[i]._registerOnCollectionChange(()=>{}),this.controls.splice(i,1),this.updateValueAndValidity({emitEvent:e.emitEvent});}setControl(t,e,i={}){let r=this._adjustIndex(t);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),e&&(this.controls.splice(r,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange();}get length(){return this.controls.length}setValue(t,e={}){me$1(()=>{ot(this,false,t),t.forEach((i,r)=>{st(this,false,r),this.at(r).setValue(i,{onlySelf:true,emitEvent:e.emitEvent});}),this.updateValueAndValidity(e);});}patchValue(t,e={}){t!=null&&(t.forEach((i,r)=>{this.at(r)&&this.at(r).patchValue(i,{onlySelf:true,emitEvent:e.emitEvent});}),this.updateValueAndValidity(e));}reset(t=[],e={}){this._forEachChild((i,r)=>{i.reset(t[r],m$1(l({},e),{onlySelf:true}));}),this._updatePristine(e,this),this._updateTouched(e,this),this.updateValueAndValidity(e),e?.emitEvent!==false&&this._events.next(new F(this));}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(e=>e._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}));}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((e,i)=>i._syncPendingControls()?true:e,false);return t&&this.updateValueAndValidity({onlySelf:true}),t}_forEachChild(t){this.controls.forEach((e,i)=>{t(e,i);});}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value);}_anyControls(t){return this.controls.some(e=>e.enabled&&t(e))}_setUpControls(){this._forEachChild(t=>this._registerControl(t));}_allControlsDisabled(){for(let t of this.controls)if(t.enabled)return false;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange);}_find(t){return this.at(t)??null}};var ht=(()=>{class n extends d{callSetDisabledState;get submitted(){return me$1(this._submittedReactive)}set submitted(e){this._submittedReactive.set(e);}_submitted=Nt$1(()=>this._submittedReactive());_submittedReactive=Ge$1(false);_oldForm;_onCollectionChange=()=>this._updateDomValue();directives=[];constructor(e,i,r){super(),this.callSetDisabledState=r,this._setValidators(e),this._setAsyncValidators(i);}ngOnChanges(e){this.onChanges(e);}ngOnDestroy(){this.onDestroy();}onChanges(e){this._checkFormPresent(),e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form);}onDestroy(){this.form&&(oe(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}));}get formDirective(){return this}get path(){return []}addControl(e){let i=this.form.get(e.path);return e._setupWithForm(i,this.callSetDisabledState),i.updateValueAndValidity({emitEvent:false}),this.directives.push(e),i}getControl(e){return this.form.get(e.path)}removeControl(e){re(e.control||null,e,false),$t(this.directives,e);}addFormGroup(e){this._setUpFormContainer(e);}removeFormGroup(e){this._cleanUpFormContainer(e);}getFormGroup(e){return this.form.get(e.path)}getFormArray(e){return this.form.get(e.path)}addFormArray(e){this._setUpFormContainer(e);}removeFormArray(e){this._cleanUpFormContainer(e);}updateModel(e,i){this.form.get(e.path).setValue(i);}onReset(){this.resetForm();}resetForm(e=void 0,i={}){this.form.reset(e,i),this._submittedReactive.set(false);}onSubmit(e){return this.submitted=true,ct(this.form,this.directives),this.ngSubmit.emit(e),this.form._events.next(new ne(this.control)),e?.target?.method==="dialog"}_updateDomValue(){this.directives.forEach(e=>{let i=e.control,r=this.form.get(e.path);i!==r&&(re(i||null,e),Xt(r)&&e._setupWithForm(r,this.callSetDisabledState));}),this.form._updateTreeValidity({emitEvent:false});}_setUpFormContainer(e){let i=this.form.get(e.path);dt(i,e),i.updateValueAndValidity({emitEvent:false});}_cleanUpFormContainer(e){let i=this.form?.get(e.path);i&&Lt(i,e)&&i.updateValueAndValidity({emitEvent:false});}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm?._registerOnCollectionChange(()=>{});}_updateValidators(){Fe(this.form,this),this._oldForm&&oe(this._oldForm,this);}_checkFormPresent(){this.form;}static \u0275fac=function(i){return new(i||n)(so(b,10),so(w,10),so(N,8))};static \u0275dir=Iw({type:n,features:[ig,Mv]})}return n})();var Se=new x$1(""),an={provide:m,useExisting:Jo(()=>ln)},ln=(()=>{class n extends m{_ngModelWarningConfig;callSetDisabledState;viewModel;form;set isDisabled(e){}model;update=new et$1;static _ngModelWarningSentOnce=false;_ngModelWarningSent=false;constructor(e,i,r,s,a,P,k){super(k,P,r),this._ngModelWarningConfig=s,this.callSetDisabledState=a,this._setValidators(e),this._setAsyncValidators(i);}ngOnChanges(e){if(this._isControlChanged(e)){let i=e.form.previousValue;i&&(re(i,this,false),this.removeParseErrorsValidator(i)),this.isCustomControlBased?this.setupCustomControl():(this.valueAccessor??=this.selectedValueAccessor,ie(this.form,this,this.callSetDisabledState)),this.form.updateValueAndValidity({emitEvent:false});}we(e,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model);}ngOnDestroy(){this.form&&re(this.form,this,false);}get path(){return []}get control(){return this.form}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e);}_isControlChanged(e){return e.hasOwnProperty("form")}\u0275ngControlCreate(e){super.ngControlCreate(e);}\u0275ngControlUpdate(e){super.ngControlUpdate(e,true);}static \u0275fac=function(i){return new(i||n)(so(b,10),so(w,10),so(D,10),so(Se,8),so(N,8),so(ED,8),so(ve$1,8))};static \u0275dir=Iw({type:n,selectors:[["","formControl",""]],inputs:{form:[0,"formControl","form"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],standalone:false,features:[YC([an,Ne]),ig,Mv,ww(null)]})}return n})(),un={provide:d,useExisting:Jo(()=>ft)},ft=(()=>{class n extends Yt{name=null;constructor(e,i,r){super(),this._parent=e,this._setValidators(i),this._setAsyncValidators(r);}_checkParentType(){pt(this._parent);}static \u0275fac=function(i){return new(i||n)(so(d,13),so(b,10),so(w,10))};static \u0275dir=Iw({type:n,selectors:[["","formGroupName",""]],inputs:{name:[0,"formGroupName","name"]},standalone:false,features:[YC([un]),ig]})}return n})(),dn={provide:d,useExisting:Jo(()=>gt)},gt=(()=>{class n extends d{_parent;name=null;constructor(e,i,r){super(),this._parent=e,this._setValidators(i),this._setAsyncValidators(r);}ngOnInit(){pt(this._parent),this.formDirective.addFormArray(this);}ngOnDestroy(){this.formDirective?.removeFormArray(this);}get control(){return this.formDirective.getFormArray(this)}get formDirective(){return this._parent?this._parent.formDirective:null}get path(){return ue(this.name==null?this.name:this.name.toString(),this._parent)}static \u0275fac=function(i){return new(i||n)(so(d,13),so(b,10),so(w,10))};static \u0275dir=Iw({type:n,selectors:[["","formArrayName",""]],inputs:{name:[0,"formArrayName","name"]},standalone:false,features:[YC([dn]),ig]})}return n})();function pt(n){return !(n instanceof ft)&&!(n instanceof ht)&&!(n instanceof gt)}var cn={provide:m,useExisting:Jo(()=>hn)},hn=(()=>{class n extends m{_ngModelWarningConfig;_added=false;viewModel;control;name=null;set isDisabled(e){}model;update=new et$1;static _ngModelWarningSentOnce=false;_ngModelWarningSent=false;constructor(e,i,r,s,a,P,k){super(k,P,s),this._ngModelWarningConfig=a,this._parent=e,this._setValidators(i),this._setAsyncValidators(r);}_setupWithForm(e,i){this.control=e,this.isCustomControlBased?this.setupCustomControl():(this.valueAccessor??=this.selectedValueAccessor,ie(e,this,i));}ngOnChanges(e){this._added||this._setUpControl(),we(e,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model));}ngOnDestroy(){this.formDirective?.removeControl(this);}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e);}get path(){return ue(this.name==null?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_setUpControl(){this.control=this.formDirective.addControl(this),this._added=true;}\u0275ngControlCreate(e){super.ngControlCreate(e);}\u0275ngControlUpdate(e){this.isCustomControlBased&&(this._added||this._setUpControl(),super.ngControlUpdate(e,true));}static \u0275fac=function(i){return new(i||n)(so(d,13),so(b,10),so(w,10),so(D,10),so(Se,8),so(ED,8),so(ve$1,8))};static \u0275dir=Iw({type:n,selectors:[["","formControlName",""]],inputs:{name:[0,"formControlName","name"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},standalone:false,features:[YC([cn,Ne]),ig,Mv,ww(null)]})}return n})();var fn={provide:d,useExisting:Jo(()=>gn)},gn=(()=>{class n extends ht{form=null;ngSubmit=new et$1;get control(){return this.form}static \u0275fac=(()=>{let e;return function(r){return (e||(e=Gv(n)))(r||n)}})();static \u0275dir=Iw({type:n,selectors:[["","formGroup",""]],hostBindings:function(i,r){i&1&&Vg("submit",function(a){return r.onSubmit(a)})("reset",function(){return r.onReset()});},inputs:{form:[0,"formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],standalone:false,features:[YC([fn]),ig]})}return n})();var mt=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275mod=mw({type:n});static \u0275inj=dd({})}return n})();function $e(n){return !!n&&(n.asyncValidators!==void 0||n.validators!==void 0||n.updateOn!==void 0)}var jn=(()=>{class n{useNonNullable=false;get nonNullable(){let e=new n;return e.useNonNullable=true,e}group(e,i=null){let r=this._reduceControls(e),s={};return $e(i)?s=i:i!==null&&(s.validators=i.validator,s.asyncValidators=i.asyncValidator),new R(r,s)}record(e,i=null){let r=this._reduceControls(e);return new ye(r,i)}control(e,i,r){let s={};return this.useNonNullable?($e(i)?s=i:(s.validators=i,s.asyncValidators=r),new L(e,m$1(l({},s),{nonNullable:true}))):new L(e,i,r)}array(e,i,r){let s=e.map(a=>this._createControl(a));return new Ce(s,i,r)}_reduceControls(e){let i={};return Object.keys(e).forEach(r=>{i[r]=this._createControl(e[r]);}),i}_createControl(e){if(e instanceof L)return e;if(e instanceof x)return e;if(Array.isArray(e)){let i=e[0],r=e.length>1?e[1]:null,s=e.length>2?e[2]:null;return this.control(i,r,s)}else return this.control(e)}static \u0275fac=function(i){return new(i||n)};static \u0275prov=Xr({token:n,factory:n.\u0275fac})}return n})();var Bn=(()=>{class n{static withConfig(e){return {ngModule:n,providers:[{provide:N,useValue:e.callSetDisabledState??q}]}}static \u0275fac=function(i){return new(i||n)};static \u0275mod=mw({type:n});static \u0275inj=dd({imports:[mt]})}return n})(),Gn=(()=>{class n{static withConfig(e){return {ngModule:n,providers:[{provide:Se,useValue:e.warnOnNgModelWithFormControl??"always"},{provide:N,useValue:e.callSetDisabledState??q}]}}static \u0275fac=function(i){return new(i||n)};static \u0275mod=mw({type:n});static \u0275inj=dd({imports:[mt]})}return n})();export{Bn as B,D,Gn as G,Jt as J,L,Pn as P,Rn as R,Tn as T,Ze as Z,Zt as a,m as b,en as e,ft as f,gn as g,hn as h,jn as j,ln as l,me as m,on as o,rn as r,yt as y};
@@ -1 +1 @@
1
- import {w}from'./chunk-BYJA6sbi.js';import {e as ee}from'./chunk-B0RBkC1E.js';import'./chunk-BB1pOOUx.js';import'./chunk-DN6f5jXR.js';import'./chunk-3RXp81pP.js';import'./chunk-CT9ziigM.js';import'./chunk-D5lj-fQk.js';import'./chunk-OLi7f6y7.js';import'./chunk-B2TXzbpy.js';import {d as dw,Z as lr,_ as _t,a8 as To,j as mg,Q as Qi,X as XT,H as Hl}from'./main-KFKZO6SJ.js';import'./chunk-CRAg6SRo.js';import'./chunk-DuIUmwWN.js';import'./chunk-DipTNkHN.js';import'./chunk-Fw6nFDZK.js';import'./chunk-Ca1C9pJ0.js';import'./chunk-C-NgIZiF.js';import'./chunk-PVmXLw9b.js';import'./chunk-C7pjkqKB.js';var l=class s{static \u0275fac=function(o){return new(o||s)};static \u0275cmp=dw({type:s,selectors:[["app-about"]],decls:19,vars:0,consts:()=>{let i;i=$localize`General`;let o;o=$localize`Changelog`;let r;r=$localize`Libraries`;let C;C=$localize`System info`;let a;a=$localize`Server settings`;let E;E=$localize`Logs`;let O;return O=$localize`Crash log`,[i,o,r,C,a,E,O,[1,"content"],[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/server-settings","routerLinkActive","active"],["tab","","routerLink","/about/logs","routerLinkActive","active"],["tab","","routerLink","/about/crashlogs","routerLinkActive","active"]]},template:function(o,r){o&1&&(mg(0,"app-status-bar"),Qi(1,"div",7)(2,"sh-tabs",8)(3,"button",9),XT(4,0),Hl(),Qi(5,"button",10),XT(6,1),Hl(),Qi(7,"button",11),XT(8,2),Hl(),Qi(9,"button",12),XT(10,3),Hl(),Qi(11,"button",13),XT(12,4),Hl(),Qi(13,"button",14),XT(14,5),Hl(),Qi(15,"button",15),XT(16,6),Hl()(),Qi(17,"section"),mg(18,"router-outlet"),Hl()());},dependencies:[ee,w,lr,_t,To],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:0}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:1rem 0}.content[_ngcontent-%COMP%] sh-tabs[_ngcontent-%COMP%]{margin:0 2rem 2rem}.content[_ngcontent-%COMP%] section[_ngcontent-%COMP%]{padding:0}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:2rem}"]})};export{l as default};
1
+ import {w}from'./chunk-CwKxis_6.js';import {e as ee}from'./chunk-CzJ3-6Pu.js';import'./chunk-oTpkLrqH.js';import'./chunk-dCFVYHva.js';import'./chunk--kVw-BwM.js';import'./chunk-DuTbfCdT.js';import'./chunk-DKacf9Tj.js';import'./chunk-CI8lsvKT.js';import'./chunk-C5p3bQwH.js';import {h as hw,Z as lr,_ as _t,a8 as To,j as vg,Q as Qi,n as nC,$ as $l}from'./main-QLXVXD6E.js';import'./chunk-PONAC1Ya.js';import'./chunk-D3SUPUQT.js';import'./chunk-DoYGADYB.js';import'./chunk-Crs56mDy.js';import'./chunk-Bcxzhjj8.js';import'./chunk-BYJ0fSUP.js';import'./chunk-D2aWqPl_.js';import'./chunk-D3d-eReU.js';var l=class s{static \u0275fac=function(o){return new(o||s)};static \u0275cmp=hw({type:s,selectors:[["app-about"]],decls:19,vars:0,consts:()=>{let i;i=$localize`General`;let o;o=$localize`Changelog`;let r;r=$localize`Libraries`;let C;C=$localize`System info`;let a;a=$localize`Server settings`;let E;E=$localize`Logs`;let O;return O=$localize`Crash log`,[i,o,r,C,a,E,O,[1,"content"],[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/server-settings","routerLinkActive","active"],["tab","","routerLink","/about/logs","routerLinkActive","active"],["tab","","routerLink","/about/crashlogs","routerLinkActive","active"]]},template:function(o,r){o&1&&(vg(0,"app-status-bar"),Qi(1,"div",7)(2,"sh-tabs",8)(3,"button",9),nC(4,0),$l(),Qi(5,"button",10),nC(6,1),$l(),Qi(7,"button",11),nC(8,2),$l(),Qi(9,"button",12),nC(10,3),$l(),Qi(11,"button",13),nC(12,4),$l(),Qi(13,"button",14),nC(14,5),$l(),Qi(15,"button",15),nC(16,6),$l()(),Qi(17,"section"),vg(18,"router-outlet"),$l()());},dependencies:[ee,w,lr,_t,To],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:0}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:1rem 0}.content[_ngcontent-%COMP%] sh-tabs[_ngcontent-%COMP%]{margin:0 2rem 2rem}.content[_ngcontent-%COMP%] section[_ngcontent-%COMP%]{padding:0}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:2rem}"]})};export{l as default};
@@ -1,3 +1,3 @@
1
- import {c}from'./chunk-OLi7f6y7.js';import {b as g1,b8 as ce,d as dw,h as bC,T,ae as Jr,bu as N,af as m1,ac as h1,N as Nt$1,U as Ue$1,c6 as I1,bY as $r,B as y1,bv as le,c as me,G as Ga,bZ as ei,f as N$1,k as gT,L as oC,ak as cm,Q as Qi,s as sm,S as Sd,l as HC,x as xd,F as Fg,Y as iC,o as oT,H as Hl,a1 as cT,al as BC,D as DE,w as im,z as gg,a3 as QC,I as Qg,i as iT,a2 as lT,$ as $g,K as lC,c7 as Bg,ap as sT,q as PC,n as nC,aa as Gl,ao as $C,j as mg,E as nm,aC as hg,bf as ig,a_ as ZC,b_ as Ig,aF as YC}from'./main-KFKZO6SJ.js';import {D}from'./chunk-B2TXzbpy.js';import {o as oe,F as Fe$1}from'./chunk-DuIUmwWN.js';import {U}from'./chunk-PVmXLw9b.js';var m=(()=>{class n{constructor(){this.color=g1(null),this.hostClasses=ce("spinner",{color:this.color});}static{this.\u0275fac=function(e){return new(e||n)};}static{this.\u0275cmp=dw({type:n,selectors:[["sh-spinner"]],hostAttrs:["role","status","aria-busy","true"],hostVars:2,hostBindings:function(e,s){e&2&&bC(s.hostClasses());},inputs:{color:[1,"color"]},decls:0,vars:0,template:function(e,s){},styles:[`sh-spinner{--spinner-c: var(--base-8);--spinner-size: 2.5rem;--spinner-thickness: .3125rem;width:var(--spinner-size);height:var(--spinner-size);display:grid;place-content:center;color:var(--spinner-c);position:relative}sh-spinner:before{content:"";width:var(--spinner-size);height:var(--spinner-size);border:var(--spinner-thickness) solid currentColor;border-bottom-color:transparent;border-radius:50%;display:flex;box-sizing:border-box;animation:rotation 1s linear infinite;margin:auto;inset:0;position:absolute}sh-spinner.primary{--spinner-c: var(--primary-8)}sh-spinner.accent{--spinner-c: var(--accent-8)}sh-spinner.warn{--spinner-c: var(--warn-8)}sh-spinner.error{--spinner-c: var(--error-8)}sh-spinner.success{--spinner-c: var(--success-8)}
2
- `],encapsulation:2});}}return n})();var Ve=["optionsWrap"],Ie=[[["label"]],[["","prefix",""]],[["","boxPrefix",""]],[["input"]],[["textarea"]]],we=["label","[prefix]","[boxPrefix]","input","textarea"],Me=["ngProjectAs","label",5,["label"]],Fe=["ngProjectAs","[prefix]",5,["","prefix",""]],Ee=["ngProjectAs","[boxPrefix]",5,["","boxPrefix",""]],Le=()=>({closeOnButton:false,closeOnEsc:false}),Te=(i,l)=>({$implicit:i,last:l}),ie=i=>({$implicit:i});function De(i,l){if(i&1&&PC(0),i&2){let e=nC();Gl(" ",e.spacedSelectedOptions()," ");}}function Ne(i,l){i&1&&Ig(0);}function Ae(i,l){if(i&1&&ig(0,Ne,1,0,"ng-container",13),i&2){let e=nC(3),t=e.$implicit,n=e.$index,o=e.$count;nC(2);let s=$C(3);gg("ngTemplateOutlet",s)("ngTemplateOutletContext",YC(2,Te,t,n===o-1));}}function ke(i,l){if(i&1&&PC(0),i&2){let e=nC(3).$implicit,t=nC(2);Gl(" ",t.getLabel(e)," ");}}function $e(i,l){if(i&1){let e=gT();Qi(0,"sh-chip",12),Fg("click",function(n){Sd(e);let o=nC(2).$index,s=nC(2);return xd(s.removeSelectedOptionByIndex(n,o))}),oT(1,Ae,1,5,"ng-container")(2,ke,1,1),Qi(3,"sh-icon"),PC(4,"x-bold"),Hl()();}if(i&2){let e=nC(4),t=$C(3);bC(e.selectClasses()),DE(),iT(t?1:2);}}function Re(i,l){i&1&&Ig(0);}function Pe(i,l){if(i&1&&ig(0,Re,1,0,"ng-container",13),i&2){let e=nC(4),t=e.$implicit,n=e.$index,o=e.$count;nC(2);let s=$C(3);gg("ngTemplateOutlet",s)("ngTemplateOutletContext",YC(2,Te,t,n===o-1));}}function je(i,l){if(i&1&&PC(0),i&2){let e=nC(4),t=e.$implicit,n=e.$index,o=e.$count,s=nC(2);Gl(" ",n===o-1?s.getLabel(t):s.getLabel(t)+","," ");}}function ze(i,l){if(i&1&&oT(0,Pe,1,5,"ng-container")(1,je,1,1),i&2){nC(5);let e=$C(3);iT(e?0:1);}}function Be(i,l){if(i&1&&oT(0,ze,2,1),i&2){nC(4);let e=$C(6);iT(e?-1:0);}}function Ke(i,l){if(i&1&&oT(0,$e,5,3,"sh-chip",11)(1,Be,1,1),i&2){nC(3);let e=$C(5);iT(e?0:1);}}function We(i,l){if(i&1&&oT(0,Ke,2,1),i&2){let e=l.$implicit;iT(e?0:-1);}}function qe(i,l){if(i&1&&cT(0,We,1,1,null,null,sT),i&2){nC();let e=$C(2);lT(e);}}function Qe(i,l){i&1&&Ig(0);}function Ue(i,l){if(i&1&&ig(0,Qe,1,0,"ng-container",14),i&2){nC(2);let e=$C(0);gg("ngTemplateOutlet",e);}}function He(i,l){if(i&1&&PC(0),i&2){let e=nC(2);Gl(" ",e.placeholderText()??""," ");}}function Xe(i,l){if(i&1&&oT(0,Ue,1,1,"ng-container")(1,He,1,1),i&2){nC();let e=$C(0);iT(e?0:1);}}function Ge(i,l){i&1&&(Qi(0,"sh-icon",6),PC(1,"caret-down"),Hl());}function Je(i,l){i&1&&mg(0,"sh-spinner",7);}function Ye(i,l){i&1&&(Qi(0,"sh-icon",6),PC(1,"list-magnifying-glass"),Hl());}function Ze(i,l){i&1&&(Qi(0,"sh-icon",6),PC(1,"magnifying-glass"),Hl());}function et(i,l){if(i&1){let e=gT();Qi(0,"sh-icon",15),Fg("click",function(n){Sd(e);let o=nC();return xd(o.clear(n))}),PC(1,"x-bold"),Hl();}}function tt(i,l){i&1&&(Qi(0,"sh-icon",6),PC(1,"caret-down"),Hl());}function it(i,l){i&1&&(Qi(0,"sh-icon",6),PC(1,"caret-up"),Hl());}function nt(i,l){if(i&1&&(Qi(0,"p",9),PC(1),Hl()),i&2){let e=nC(3);DE(),nm(e.freeTextTitle());}}function ot(i,l){i&1&&Ig(0);}function st(i,l){if(i&1&&ig(0,ot,1,0,"ng-container",13),i&2){nC(2);let e=$C(0);nC();let t=$C(1);gg("ngTemplateOutlet",t)("ngTemplateOutletContext",ZC(2,ie,e));}}function lt(i,l){i&1&&Ig(0);}function at(i,l){if(i&1&&ig(0,lt,1,0,"ng-container",13),i&2){nC(2);let e=$C(0);nC();let t=$C(4);gg("ngTemplateOutlet",t)("ngTemplateOutletContext",ZC(2,ie,e));}}function rt(i,l){if(i&1&&PC(0),i&2){nC(2);let e=$C(1);Gl(" ",e," ");}}function ct(i,l){i&1&&mg(0,"sh-divider");}function pt(i,l){if(i&1){let e=gT();oT(0,nt,2,1,"p",9),Qi(1,"li",16),Fg("click",function(){Sd(e);let n=nC(2);return xd(n.toggleOptionByIndex(-1))}),oT(2,st,1,4,"ng-container")(3,at,1,4,"ng-container")(4,rt,1,1),Hl(),oT(5,ct,1,0,"sh-divider");}if(i&2){let e=nC(2),t=$C(1),n=$C(4);iT(e.freeTextTitle()?0:-1),DE(),Qg("selected",e.isSelected(-1))("focused",e.focusedOptionIndex()===-1),gg("id",e.getOptionId(-1)),hg("aria-selected",e.isSelected(-1)),DE(),iT(t?2:n?3:4),DE(3),iT(e.freeTextTitle()&&e.filteredOptions().length>0?5:-1);}}function dt(i,l){if(i&1&&(cm(0)(1),oT(2,pt,6,9)),i&2){let e=nC(),t=BC(e.computedFreeTextOption());DE();let n=BC(e.getValue(t));DE(),iT(n.length>0?2:-1);}}function ut(i,l){if(i&1&&(Qi(0,"p",9),PC(1),Hl()),i&2){let e=nC();DE(),nm(e.optionTitle());}}function ht(i,l){if(i&1&&mg(0,"sh-checkbox",18),i&2){let e=nC().$index,t=nC();bC(t.selectClasses()),gg("checked",t.isSelected(e));}}function _t(i,l){i&1&&Ig(0);}function ft(i,l){if(i&1&&ig(0,_t,1,0,"ng-container",13),i&2){let e=nC().$implicit;nC();let t=$C(4);gg("ngTemplateOutlet",t)("ngTemplateOutletContext",ZC(2,ie,e));}}function mt(i,l){if(i&1&&PC(0),i&2){let e=nC().$implicit,t=nC();Gl(" ",t.getLabel(e)," ");}}function xt(i,l){if(i&1){let e=gT();Qi(0,"li",16),Fg("click",function(){let n=Sd(e).$index,o=nC();return xd(o.toggleOptionByIndex(n))}),oT(1,ht,1,3,"sh-checkbox",17),oT(2,ft,1,4,"ng-container")(3,mt,1,1),Hl();}if(i&2){let e=l.$index,t=nC(),n=$C(4);Qg("selected",t.isSelected(e))("focused",e===t.focusedOptionIndex()),gg("id",t.getOptionId(e)),hg("aria-selected",t.isSelected(e)),DE(),iT(t.selectMultiple()?1:-1),DE(),iT(n?2:3);}}var Nt=(()=>{class i{constructor(){this.#i=T(Jr),this.#n=T(N),this.value=g1(),this.label=g1(),this.asFreeText=g1(false),this.color=g1(null),this.variant=g1(null),this.size=g1(null),this.optionTitle=g1(null),this.freeTextTitle=g1(null),this.freeTextPlaceholder=g1("Type to create a new option"),this.validateFreeText=g1(),this.placeholder=g1(),this.readonly=m1(false),this.disabled=m1(false),this.hostClasses=ce("select",{color:this.color,variant:this.variant,size:this.size,readonly:this.readonly}),this.lazySearch=g1(false),this.inlineSearch=g1(false),this.asText=g1(false),this.isClearable=g1(true),this.selectMultiple=g1(false),this.optionTemplate=g1(null),this.selectedOptionTemplate=g1(null),this.placeholderTemplate=g1(null),this.freeTextOptionTemplate=g1(null),this.isOpen=m1(false),this.isLoading=m1(false),this.options=m1([]),this.selectedOptions=m1([]),this.cleared=h1(),this.onAddNewFreeTextOption=h1(),this.spacedSelectedOptions=Nt$1(()=>{let e=this.selectedOptions(),t=this.value();return e.map(n=>t?this.#e(n,t):n).join(", ")}),this.computedFreeTextOption=Nt$1(()=>{let e=this.inputValue(),t=this.value(),n=t?{}:e;return t&&typeof n=="object"&&(n[t]=e),n}),this.#o=Ue$1(null),this.#t=false,this.inlineTemplate=I1($r),this.optionsWrapRef=y1.required("optionsWrap"),this.inputRefInput=Ue$1(null),this.#s=typeof MutationObserver<"u"?new MutationObserver(e=>{for(var t of e)t&&(t.target.nodeName==="INPUT"||t.target.nodeName==="TEXTAREA")&&(this.inputRefInput.set(new Jr(t.target)),this.#s.disconnect());}):void 0,this.inputValue=Ue$1(""),this.prevInputValue=Ue$1(null),this.focusedOptionIndex=Ue$1(-1),this._isClearable=Nt$1(()=>this.selectMultiple()||this.isClearable()),this.selectClasses=Nt$1(()=>this.#i.nativeElement.classList.toString()),this.stretch=Nt$1(()=>this.selectClasses().includes("stretch")),this.small=Nt$1(()=>this.selectClasses().includes("small")),this.placeholderText=Nt$1(()=>{let e=this.placeholder(),t=this.inputRefEl();return e||t?.placeholder||null}),this.selectedOptionValues=Nt$1(()=>{let e=this.selectedOptions(),t=this.value();return t?e.map(n=>this.#e(n,t)):e}),this.filteredOptions=Nt$1(()=>{let e=this.options()||[],t=this.label(),n=this.value(),o=this.inlineSearch(),s=this.inputValue().toLowerCase(),c=this.#d(s);if(e.length<=0)return [];if(!o||s==="")return e;let _=e.filter(p=>{let h=t?(this.#e(p,t)??"").toString().toLowerCase():(p??"").toString().toLowerCase(),b=((n?this.#e(p,n):p)??"").toString().toLowerCase(),y=c.test(h),j=c.test(b);return y||j}).map(p=>{let h=t?(this.#e(p,t)??"").toString().toLowerCase():(p??"").toString().toLowerCase(),b=((n?this.#e(p,n):p)??"").toString().toLowerCase(),y=this.#l(h,s),j=this.#l(b,s);return {item:p,score:Math.max(y,j)}});return _.sort((p,h)=>h.score-p.score),_.map(p=>p.item)}),this.componentId=le(),this.inputRefEl=Nt$1(()=>{let e=this.inputRefInput();if(e===null)return;let t=e?e.nativeElement:null;return t?(t.autocomplete="off",t.setAttribute("role","combobox"),t.setAttribute("id",`combobox-${this.componentId}`),t.setAttribute("aria-haspopup","listbox"),t.setAttribute("aria-owns",`optionsWrapId-${this.componentId}`),t.setAttribute("aria-controls",`optionsWrapId-${this.componentId}`),this.#p(t),t.addEventListener("focus",()=>{this.readonly()||this.open();}),t.addEventListener("input",n=>{let o=n.target.value,s=this.inputValue();o!==s&&(this.focusedOptionIndex.set(this.asFreeText()?-1:0),this.inputValue.set(o),this.updateInputElValue());}),t.addEventListener("inputValueChanged",n=>{let o=n.detail.value,s=this.inputValue(),c=me(()=>this.selectedOptions().length);o===s&&(o!==""||c>0)||(this.setSelectedOptionsFromValue(o),this.setInputValueFromOptions(this.selectedOptions()),this.#a());}),t):(console.warn("<sh-select> input element not found are you missing to pass an <input> or <textarea> element to select component?"),null)}),this.focusEffect=Ga(()=>{let e=this.inputRefEl();if(!e)return;let t=this.focusedOptionIndex();t>=0||t===-1&&this.asFreeText()?e.setAttribute("aria-activedescendant",this.getOptionId(t)):e.removeAttribute("aria-activedescendant");}),this.openAbortController=null,this.isOpenEffect=Ga(()=>{if(this.isOpen()){this.openAbortController||(this.openAbortController=new AbortController);let t=this.inputRefEl(),o=this.asFreeText()?-1:0;if(!t)return;t.setAttribute("aria-expanded",this.isOpen().toString()),t.addEventListener("keydown",s=>{if((this.#n.matches(s,"select.close")||s.key==="Tab")&&(s.preventDefault(),this.close()),this.#n.matches(s,"select.select")&&(!(s.key===" "||s.key==="Spacebar")||!this.hasSearch())&&(s.preventDefault(),this.isLoading()?this.#t=true:this.toggleOptionByIndex(this.focusedOptionIndex(),void 0,true)),this.#n.matches(s,"select.next")){s.preventDefault();let c=this.focusedOptionIndex()+1;this.focusedOptionIndex.set(c>this.filteredOptions().length-1?o:c);}else if(this.#n.matches(s,"select.prev")){s.preventDefault();let c=this.focusedOptionIndex()-1;this.focusedOptionIndex.set(c<o?this.filteredOptions().length-1:c);}},{signal:this.openAbortController?.signal});}else {let t=this.inputRefEl();if(!t)return;t.setAttribute("aria-expanded",this.isOpen().toString()),this.openAbortController&&(this.openAbortController.abort(),this.openAbortController=null);}}),this.#r=Ga(()=>{let e=this.isLoading(),t=this.filteredOptions();me(()=>{!e&&this.#t&&(this.#t=false,t.length>0&&this.toggleOptionByIndex(0,void 0,true));});}),this._inputValue="",this.inputValueEffect=Ga(()=>{let e=this.inputValue();this._inputValue=e;}),this.inputRefElEffect=Ga(()=>{let e=this.inputRefEl();if(!e)return;let t=me(()=>this.selectedOptions().length);e.value===this._inputValue&&(e.value!==""||t>0)||(this.disabled.set(e.disabled),me(()=>{this.setSelectedOptionsFromValue(e.value),this.setInputValueFromOptions(this.selectedOptions());}));}),this.inputReadonlyEffect=Ga(()=>{let e=this.inputRefEl();if(!e)return;this.readonly()||!this.hasSearch()?e.setAttribute("readonly","true"):e.removeAttribute("readonly");}),this.selectedLabels=Nt$1(()=>{let e=this.selectedOptions();return this.label()?e.map(n=>this.getLabel(n)).join(", "):e.join(", ")}),this.inputState=Nt$1(()=>(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=Nt$1(()=>this.inlineSearch()||this.lazySearch()),this.#c=Ga(()=>{if(this.selectMultiple()&&this.hasSearch())return;let e=this.selectedOptions(),t=this.value(),n=e.map(o=>t?this.#e(o,t):o).join(",");this.inputValue.set(n);});}#i;#n;#o;#t;#s;#l(e,t){if(!t)return 0;let n=0,o=-1,s=0,c=true;for(let C=0;C<t.length;C++){let _=t[C];if(e.length>o+1&&e[o+1]===_)n+=C===0?100:150,o++,s++;else {let p=e.indexOf(_,o+1);if(C>0&&(c=false),p===-1)return 0;n+=100,o=p,s++;}}return c&&t.length===s&&(n+=1e3),n+=s*20,n}#r;#c;ngOnInit(){this.setInitInput();}setInitInput(){let e=this.#i.nativeElement.querySelector("input");if(e){this.inputRefInput.set(new Jr(e));return}let t=this.#i.nativeElement.querySelector("textarea");if(t){this.inputRefInput.set(new Jr(t));return}typeof MutationObserver<"u"&&this.#s.observe(this.#i.nativeElement,{attributes:true,childList:true,subtree:true,characterData:true});}setSelectedOptionsFromValue(e){let t=this.options()||[],n=this.value(),o=this.selectMultiple(),s=e.toString().split(",");if(s.length===0){this.selectedOptions.set([]);return}let c=o?s:[s[0]],C=t.filter(p=>{let h=n?this.#e(p,n)?.toString():p?.toString();return h!=null&&c.includes(h)}),_=C.length>0;this.selectedOptions.set(o?C:_?[C[0]]:[]);}setInputValueFromOptions(e){let t=this.value();if(e.length===0){this.inputValue.set(""),this.updateInputElValue();return}let n=e.map(o=>t?this.#e(o,t):o).join(",");n!==this.inputValue()&&(this.inputValue.set(n),this.updateInputElValue());}getValue(e){let t=this.value();return t?this.#e(e,t):e}getLabel(e){let t=this.label();return t?this.#e(e,t):e}getOptionId(e){return `opt-${this.componentId}-${e}`}toggleOptionByIndex(e,t,n=false){let o=this.filteredOptions()[e];if(this.asFreeText()&&e===-1){let h=this.computedFreeTextOption(),b=this.getValue(h);if(!(this.validateFreeText()??(z=>true))(b))return;this.options.update(z=>z.findIndex(ye=>this.getValue(ye)===b)>-1?z:(this.onAddNewFreeTextOption.emit(b),[h,...z])),e=0,o=h;}else if(!o){this.close();return}t&&t.stopPropagation();let s=this.selectMultiple(),c=this._isClearable(),C=this.value(),_=this.selectedOptionValues(),p=C?this.#e(o,C):o;this.prevInputValue.set(null),this.#o.set(null),this.selectedOptions.update(h=>{let b=_.indexOf(p);if(b>-1){let y=[...h.slice(0,b),...h.slice(b+1)];return c||y.length>0?y:h}else return this.focusedOptionIndex.set(e),s?[...h,o]:[o]}),s?this.inputRefEl()?.focus():this.isOpen.set(false),this.setInputValueFromOptions(this.selectedOptions()),s&&this.hasSearch()&&(this.inputValue.set(""),this.updateInputElValue());}removeSelectedOptionByIndex(e,t){e.stopPropagation(),this.selectedOptions.update(n=>[...n.slice(0,t),...n.slice(t+1)]),this.setInputValueFromOptions(this.selectedOptions());}isSelected(e){let t=this.value(),n=this.filteredOptions()[e],o=t?this.#e(n,t):n;return this.selectedOptionValues().indexOf(o)>-1}open(){this.isOpen()||(this.#t=false,this.isOpen.set(true),this.hasSearch()?(this.prevInputValue.set(this.inputValue()??""),this.inputValue.set(""),this.updateInputElValue()):this.#o.set(this.selectedOptions()),this.selectMultiple()||this.#a());}#a(){let e=this.selectedOptionValues()[0],t=this.value();if(e){let n=this.filteredOptions().findIndex(o=>t?this.#e(o,t)===e:o===e);this.focusedOptionIndex.set(n);}else this.focusedOptionIndex.set(-1);}close(){this.#t=false,this.isOpen.set(false);let e=this.prevInputValue(),t=this.#o();if(this.asFreeText()&&!this.selectMultiple()){this.updateInputElValue();return}this.hasSearch()&&e&&(this.inputValue.set(e),this.setInputValueFromOptions(this.selectedOptions())),!this.hasSearch()&&t!==null&&this.setInputValueFromOptions(t),this.selectMultiple()&&this.setInputValueFromOptions(this.selectedOptions());}clear(e){e?.stopPropagation(),this.#t=false,this.inputValue.set(""),this.selectedOptions.set([]),this.isOpen.set(false),this.prevInputValue.set(null),this.cleared.emit(),this.updateInputElValue();}updateInputElValue(){let e=this.inputRefEl(),t=this.inputValue();!e||e.value===t||(e.value=t,e.dispatchEvent(new Event("input")));}#e(e,t){return t.split(".").reduce((n,o)=>n?.[o],e)}#p(e){Object.defineProperty(e,"value",{configurable:true,get(){return Object.getOwnPropertyDescriptor(Object.getPrototypeOf(e),"value").get.call(this)},set(t){Object.getOwnPropertyDescriptor(Object.getPrototypeOf(e),"value").set.call(this,t);let o=new CustomEvent("inputValueChanged",{bubbles:true,cancelable:true,detail:{value:t}});return this.dispatchEvent(o),t}});}#d(e){let t=(e??"").toLowerCase(),n="^";for(let o of t)n+=".*"+this.#u(o);return n+=".*$",new RegExp(n,"i")}#u(e){return e.replace(/[-\/\\^$+?.()|[\]{}]/g,"\\$&")}ngOnDestroy(){this.openAbortController&&(this.openAbortController.abort(),this.openAbortController=null),typeof MutationObserver<"u"&&this.#s.disconnect();}static{this.\u0275fac=function(t){return new(t||i)};}static{this.\u0275cmp=dw({type:i,selectors:[["sh-select"]],contentQueries:function(t,n,o){t&1&&Bg(o,n.inlineTemplate,$r,5),t&2&&lC();},viewQuery:function(t,n){t&1&&$g(n.optionsWrapRef,Ve,5),t&2&&lC();},hostVars:4,hostBindings:function(t,n){t&2&&(bC(n.hostClasses()),Qg("multiple",n.selectMultiple()));},inputs:{value:[1,"value"],label:[1,"label"],asFreeText:[1,"asFreeText"],color:[1,"color"],variant:[1,"variant"],size:[1,"size"],optionTitle:[1,"optionTitle"],freeTextTitle:[1,"freeTextTitle"],freeTextPlaceholder:[1,"freeTextPlaceholder"],validateFreeText:[1,"validateFreeText"],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"],freeTextOptionTemplate:[1,"freeTextOptionTemplate"],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",onAddNewFreeTextOption:"onAddNewFreeTextOption"},ngContentSelectors:we,decls:33,vars:29,consts:[["formFieldWrapper",""],["optionsWrap",""],[3,"isOpenChange","closed","isOpen","disableOpenByClick","options"],["trigger","",3,"click","color","variant","size"],["ngProjectAs","input",5,["input"],1,"input"],[1,"selected-value"],["suffix",""],["suffix","",1,"primary"],["role","listbox",1,"ship-options",3,"id"],["title",""],["role","option",1,"option",3,"id","selected","focused"],[1,"small",3,"class"],[1,"small",3,"click"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[4,"ngTemplateOutlet"],["suffix","",3,"click"],["role","option",1,"option",3,"click","id"],[3,"class","checked"],[3,"checked"]],template:function(t,n){if(t&1){let o=gT();oC(Ie),cm(0)(1)(2)(3)(4)(5)(6),Qi(7,"sh-popover",2,0),sm("isOpenChange",function(c){return Sd(o),HC(n.isOpen,c)||(n.isOpen=c),xd(c)}),Fg("closed",function(){return n.close()}),Qi(9,"sh-form-field",3),Fg("click",function(){return n.open()}),iC(10,0,Me),iC(11,1,Fe),iC(12,2,Ee),Qi(13,"div",4)(14,"div",5),oT(15,De,1,1)(16,qe,2,0)(17,Xe,2,1),iC(18,3),iC(19,4),Hl()(),oT(20,Ge,2,0,"sh-icon",6)(21,Je,1,0,"sh-spinner",7)(22,Ye,2,0,"sh-icon",6)(23,Ze,2,0,"sh-icon",6)(24,et,2,0,"sh-icon",6)(25,tt,2,0,"sh-icon",6)(26,it,2,0,"sh-icon",6),Hl(),Qi(27,"div",8,1),oT(29,dt,3,3),oT(30,ut,2,1,"p",9),cT(31,xt,4,8,"li",10,sT),Hl()();}if(t&2){BC(n.placeholderTemplate());let o=n.optionTemplate();DE(),BC(n.freeTextOptionTemplate());let s=n.selectedOptionTemplate(),c=n.inlineTemplate();DE();let C=BC(n.selectedOptions()),_=n.inputState();DE(),BC(s||o||c),DE(),BC(o||c),DE(),BC(!n.asText()&&n.selectMultiple()),DE();let p=BC(n.isOpen()&&n.hasSearch());DE(),im("isOpen",n.isOpen),gg("disableOpenByClick",true)("options",QC(28,Le)),DE(2),Qg("stretch",n.stretch())("small",n.small())("readonly",n.readonly()||n.disabled()),gg("color",n.color())("variant",n.variant())("size",n.size()),DE(4),Qg("show-search-text",p),DE(),Qg("is-selected",_==="selected"),DE(),iT(n.asFreeText()&&n.inputValue().length>0&&!n.isOpen()?15:C.length>0?16:p?-1:17),DE(5),iT(_==="closed"?20:_==="loading"?21:_==="open-searching"?22:_==="searching"?23:_==="selected"&&n._isClearable()?24:_==="selected"&&!n._isClearable()?25:26),DE(7),gg("id","optionsWrapId-"+n.componentId),DE(2),iT(n.asFreeText()?29:-1),DE(),iT(n.optionTitle()&&n.filteredOptions().length>0?30:-1),DE(),lT(n.filteredOptions());}},dependencies:[ei,oe,Fe$1,N$1,U,m,D,c],styles:[`sh-select{--miw: 13.125rem;--select-option-mih: min-content;--select-options-mh: 11.25rem;display:flex}sh-select sh-form-field{display:flex;--ff-mw: var(--miw)}sh-select sh-popover{flex:1 0}sh-select sh-popover:has(.ship-options:empty) .popover{opacity:0}sh-select .selected-value{width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;color:var(--base-8)}sh-select .selected-value input{margin:0}sh-select .selected-value.is-selected{color:var(--base-12)}sh-select sh-form-field .input-wrap .input{position:relative;display:flex;flex-wrap:wrap;--ff-space: .4375rem .625rem}sh-select sh-form-field .input-wrap .input textarea,sh-select sh-form-field .input-wrap .input input{opacity:0;width:0;height:0;position:absolute}sh-select sh-form-field .input-wrap .input.show-search-text input{opacity:1;height:initial;min-width:min-content;field-sizing:content;font:var(--paragraph-30);position:relative}sh-select sh-form-field .input-wrap .input.show-search-text textarea{opacity:1;height:initial;margin:.25rem 0 0}sh-select sh-form-field.small .input-wrap .input{--ff-space: .3125rem .5rem}sh-select sh-form-field.small .input-wrap .input sh-chip{--chip-h: 1.25rem;font-size:80%}.ship-options{padding:.5rem 0;display:flex;flex-direction:column;max-height:var(--select-options-mh);overflow-y:auto;overflow-x:hidden}.ship-options p[title]{padding:.25rem 1rem}.ship-options sh-divider{margin:.5rem 0}.ship-options .option{display:flex;justify-content:flex-start;align-items:center;min-height:var(--select-option-mih);margin:0 .5rem;padding:.5rem;gap:.5rem;width:calc(100% - 1rem);border-radius:var(--shape-2);appearance:none;background-color:transparent;border:0;cursor:pointer;color:var(--base-12);-webkit-user-select:none;user-select:none}.ship-options .option[disabled]{opacity:.3;cursor:initial}.ship-options .option[disabled]:hover{background-color:transparent}.ship-options .option sh-icon{font-size:1rem}.ship-options .option span.placeholder{color:var(--base-7)}.ship-options .option.active,.ship-options .option:checked,.ship-options .option:hover{background-color:var(--base-2);color:var(--base-12)}.ship-options .option.focused{background-color:var(--primary-1);color:var(--base-12)}.ship-options .option.focused:hover{background-color:var(--primary-2)}
1
+ import {c}from'./chunk-CI8lsvKT.js';import {b as I1,b9 as ce,h as hw,g as NC,T,ae as eo,bv as N,af as E1,ac as v1,N as Nt$1,G as Ge$1,c8 as T1,bZ as Wr,E as D1,bw as le,c as me,z as za,b_ as ei,d as N$1,l as vT,M as aC,ak as um,Q as Qi,p as cm,r as kd,U as UC,O as Od,V as Vg,X as cC,f as aT,$ as $l,a1 as dT,al as WC,C as CE,x as am,A as yg,a3 as KC,Y as Yg,i as cT,a2 as fT,W as Wg,K as fC,c9 as Ug,ap as lT,w as jC,k as iC,aa as Ql,ao as qC,j as vg,J as om,aC as mg,bg as ag,a$ as JC,b$ as Dg,aF as XC}from'./main-QLXVXD6E.js';import {D}from'./chunk-C5p3bQwH.js';import {o as oe,F as Fe$1}from'./chunk-D3SUPUQT.js';import {U}from'./chunk-D2aWqPl_.js';var m=(()=>{class n{constructor(){this.color=I1(null),this.hostClasses=ce("spinner",{color:this.color});}static{this.\u0275fac=function(e){return new(e||n)};}static{this.\u0275cmp=hw({type:n,selectors:[["sh-spinner"]],hostAttrs:["role","status","aria-busy","true"],hostVars:2,hostBindings:function(e,s){e&2&&NC(s.hostClasses());},inputs:{color:[1,"color"]},decls:0,vars:0,template:function(e,s){},styles:[`sh-spinner{--spinner-c: var(--base-8);--spinner-size: 2.5rem;--spinner-thickness: .3125rem;width:var(--spinner-size);height:var(--spinner-size);display:grid;place-content:center;color:var(--spinner-c);position:relative}sh-spinner:before{content:"";width:var(--spinner-size);height:var(--spinner-size);border:var(--spinner-thickness) solid currentColor;border-bottom-color:transparent;border-radius:50%;display:flex;box-sizing:border-box;animation:rotation 1s linear infinite;margin:auto;inset:0;position:absolute}sh-spinner.primary{--spinner-c: var(--primary-8)}sh-spinner.accent{--spinner-c: var(--accent-8)}sh-spinner.warn{--spinner-c: var(--warn-8)}sh-spinner.error{--spinner-c: var(--error-8)}sh-spinner.success{--spinner-c: var(--success-8)}
2
+ `],encapsulation:2});}}return n})();var Ve=["optionsWrap"],Ie=[[["label"]],[["","prefix",""]],[["","boxPrefix",""]],[["input"]],[["textarea"]]],we=["label","[prefix]","[boxPrefix]","input","textarea"],Me=["ngProjectAs","label",5,["label"]],Fe=["ngProjectAs","[prefix]",5,["","prefix",""]],Ee=["ngProjectAs","[boxPrefix]",5,["","boxPrefix",""]],Le=()=>({closeOnButton:false,closeOnEsc:false}),Te=(i,l)=>({$implicit:i,last:l}),ie=i=>({$implicit:i});function De(i,l){if(i&1&&jC(0),i&2){let e=iC();Ql(" ",e.spacedSelectedOptions()," ");}}function Ne(i,l){i&1&&Dg(0);}function Ae(i,l){if(i&1&&ag(0,Ne,1,0,"ng-container",13),i&2){let e=iC(3),t=e.$implicit,n=e.$index,o=e.$count;iC(2);let s=qC(3);yg("ngTemplateOutlet",s)("ngTemplateOutletContext",XC(2,Te,t,n===o-1));}}function ke(i,l){if(i&1&&jC(0),i&2){let e=iC(3).$implicit,t=iC(2);Ql(" ",t.getLabel(e)," ");}}function $e(i,l){if(i&1){let e=vT();Qi(0,"sh-chip",12),Vg("click",function(n){kd(e);let o=iC(2).$index,s=iC(2);return Od(s.removeSelectedOptionByIndex(n,o))}),aT(1,Ae,1,5,"ng-container")(2,ke,1,1),Qi(3,"sh-icon"),jC(4,"x-bold"),$l()();}if(i&2){let e=iC(4),t=qC(3);NC(e.selectClasses()),CE(),cT(t?1:2);}}function Re(i,l){i&1&&Dg(0);}function Pe(i,l){if(i&1&&ag(0,Re,1,0,"ng-container",13),i&2){let e=iC(4),t=e.$implicit,n=e.$index,o=e.$count;iC(2);let s=qC(3);yg("ngTemplateOutlet",s)("ngTemplateOutletContext",XC(2,Te,t,n===o-1));}}function je(i,l){if(i&1&&jC(0),i&2){let e=iC(4),t=e.$implicit,n=e.$index,o=e.$count,s=iC(2);Ql(" ",n===o-1?s.getLabel(t):s.getLabel(t)+","," ");}}function ze(i,l){if(i&1&&aT(0,Pe,1,5,"ng-container")(1,je,1,1),i&2){iC(5);let e=qC(3);cT(e?0:1);}}function Be(i,l){if(i&1&&aT(0,ze,2,1),i&2){iC(4);let e=qC(6);cT(e?-1:0);}}function Ke(i,l){if(i&1&&aT(0,$e,5,3,"sh-chip",11)(1,Be,1,1),i&2){iC(3);let e=qC(5);cT(e?0:1);}}function We(i,l){if(i&1&&aT(0,Ke,2,1),i&2){let e=l.$implicit;cT(e?0:-1);}}function qe(i,l){if(i&1&&dT(0,We,1,1,null,null,lT),i&2){iC();let e=qC(2);fT(e);}}function Qe(i,l){i&1&&Dg(0);}function Ue(i,l){if(i&1&&ag(0,Qe,1,0,"ng-container",14),i&2){iC(2);let e=qC(0);yg("ngTemplateOutlet",e);}}function He(i,l){if(i&1&&jC(0),i&2){let e=iC(2);Ql(" ",e.placeholderText()??""," ");}}function Xe(i,l){if(i&1&&aT(0,Ue,1,1,"ng-container")(1,He,1,1),i&2){iC();let e=qC(0);cT(e?0:1);}}function Ge(i,l){i&1&&(Qi(0,"sh-icon",6),jC(1,"caret-down"),$l());}function Je(i,l){i&1&&vg(0,"sh-spinner",7);}function Ye(i,l){i&1&&(Qi(0,"sh-icon",6),jC(1,"list-magnifying-glass"),$l());}function Ze(i,l){i&1&&(Qi(0,"sh-icon",6),jC(1,"magnifying-glass"),$l());}function et(i,l){if(i&1){let e=vT();Qi(0,"sh-icon",15),Vg("click",function(n){kd(e);let o=iC();return Od(o.clear(n))}),jC(1,"x-bold"),$l();}}function tt(i,l){i&1&&(Qi(0,"sh-icon",6),jC(1,"caret-down"),$l());}function it(i,l){i&1&&(Qi(0,"sh-icon",6),jC(1,"caret-up"),$l());}function nt(i,l){if(i&1&&(Qi(0,"p",9),jC(1),$l()),i&2){let e=iC(3);CE(),om(e.freeTextTitle());}}function ot(i,l){i&1&&Dg(0);}function st(i,l){if(i&1&&ag(0,ot,1,0,"ng-container",13),i&2){iC(2);let e=qC(0);iC();let t=qC(1);yg("ngTemplateOutlet",t)("ngTemplateOutletContext",JC(2,ie,e));}}function lt(i,l){i&1&&Dg(0);}function at(i,l){if(i&1&&ag(0,lt,1,0,"ng-container",13),i&2){iC(2);let e=qC(0);iC();let t=qC(4);yg("ngTemplateOutlet",t)("ngTemplateOutletContext",JC(2,ie,e));}}function rt(i,l){if(i&1&&jC(0),i&2){iC(2);let e=qC(1);Ql(" ",e," ");}}function ct(i,l){i&1&&vg(0,"sh-divider");}function pt(i,l){if(i&1){let e=vT();aT(0,nt,2,1,"p",9),Qi(1,"li",16),Vg("click",function(){kd(e);let n=iC(2);return Od(n.toggleOptionByIndex(-1))}),aT(2,st,1,4,"ng-container")(3,at,1,4,"ng-container")(4,rt,1,1),$l(),aT(5,ct,1,0,"sh-divider");}if(i&2){let e=iC(2),t=qC(1),n=qC(4);cT(e.freeTextTitle()?0:-1),CE(),Yg("selected",e.isSelected(-1))("focused",e.focusedOptionIndex()===-1),yg("id",e.getOptionId(-1)),mg("aria-selected",e.isSelected(-1)),CE(),cT(t?2:n?3:4),CE(3),cT(e.freeTextTitle()&&e.filteredOptions().length>0?5:-1);}}function dt(i,l){if(i&1&&(um(0)(1),aT(2,pt,6,9)),i&2){let e=iC(),t=WC(e.computedFreeTextOption());CE();let n=WC(e.getValue(t));CE(),cT(n.length>0?2:-1);}}function ut(i,l){if(i&1&&(Qi(0,"p",9),jC(1),$l()),i&2){let e=iC();CE(),om(e.optionTitle());}}function ht(i,l){if(i&1&&vg(0,"sh-checkbox",18),i&2){let e=iC().$index,t=iC();NC(t.selectClasses()),yg("checked",t.isSelected(e));}}function _t(i,l){i&1&&Dg(0);}function ft(i,l){if(i&1&&ag(0,_t,1,0,"ng-container",13),i&2){let e=iC().$implicit;iC();let t=qC(4);yg("ngTemplateOutlet",t)("ngTemplateOutletContext",JC(2,ie,e));}}function mt(i,l){if(i&1&&jC(0),i&2){let e=iC().$implicit,t=iC();Ql(" ",t.getLabel(e)," ");}}function xt(i,l){if(i&1){let e=vT();Qi(0,"li",16),Vg("click",function(){let n=kd(e).$index,o=iC();return Od(o.toggleOptionByIndex(n))}),aT(1,ht,1,3,"sh-checkbox",17),aT(2,ft,1,4,"ng-container")(3,mt,1,1),$l();}if(i&2){let e=l.$index,t=iC(),n=qC(4);Yg("selected",t.isSelected(e))("focused",e===t.focusedOptionIndex()),yg("id",t.getOptionId(e)),mg("aria-selected",t.isSelected(e)),CE(),cT(t.selectMultiple()?1:-1),CE(),cT(n?2:3);}}var Nt=(()=>{class i{constructor(){this.#i=T(eo),this.#n=T(N),this.value=I1(),this.label=I1(),this.asFreeText=I1(false),this.color=I1(null),this.variant=I1(null),this.size=I1(null),this.optionTitle=I1(null),this.freeTextTitle=I1(null),this.freeTextPlaceholder=I1("Type to create a new option"),this.validateFreeText=I1(),this.placeholder=I1(),this.readonly=E1(false),this.disabled=E1(false),this.hostClasses=ce("select",{color:this.color,variant:this.variant,size:this.size,readonly:this.readonly}),this.lazySearch=I1(false),this.inlineSearch=I1(false),this.asText=I1(false),this.isClearable=I1(true),this.selectMultiple=I1(false),this.optionTemplate=I1(null),this.selectedOptionTemplate=I1(null),this.placeholderTemplate=I1(null),this.freeTextOptionTemplate=I1(null),this.isOpen=E1(false),this.isLoading=E1(false),this.options=E1([]),this.selectedOptions=E1([]),this.cleared=v1(),this.onAddNewFreeTextOption=v1(),this.spacedSelectedOptions=Nt$1(()=>{let e=this.selectedOptions(),t=this.value();return e.map(n=>t?this.#e(n,t):n).join(", ")}),this.computedFreeTextOption=Nt$1(()=>{let e=this.inputValue(),t=this.value(),n=t?{}:e;return t&&typeof n=="object"&&(n[t]=e),n}),this.#o=Ge$1(null),this.#t=false,this.inlineTemplate=T1(Wr),this.optionsWrapRef=D1.required("optionsWrap"),this.inputRefInput=Ge$1(null),this.#s=typeof MutationObserver<"u"?new MutationObserver(e=>{for(var t of e)t&&(t.target.nodeName==="INPUT"||t.target.nodeName==="TEXTAREA")&&(this.inputRefInput.set(new eo(t.target)),this.#s.disconnect());}):void 0,this.inputValue=Ge$1(""),this.prevInputValue=Ge$1(null),this.focusedOptionIndex=Ge$1(-1),this._isClearable=Nt$1(()=>this.selectMultiple()||this.isClearable()),this.selectClasses=Nt$1(()=>this.#i.nativeElement.classList.toString()),this.stretch=Nt$1(()=>this.selectClasses().includes("stretch")),this.small=Nt$1(()=>this.selectClasses().includes("small")),this.placeholderText=Nt$1(()=>{let e=this.placeholder(),t=this.inputRefEl();return e||t?.placeholder||null}),this.selectedOptionValues=Nt$1(()=>{let e=this.selectedOptions(),t=this.value();return t?e.map(n=>this.#e(n,t)):e}),this.filteredOptions=Nt$1(()=>{let e=this.options()||[],t=this.label(),n=this.value(),o=this.inlineSearch(),s=this.inputValue().toLowerCase(),c=this.#d(s);if(e.length<=0)return [];if(!o||s==="")return e;let _=e.filter(p=>{let h=t?(this.#e(p,t)??"").toString().toLowerCase():(p??"").toString().toLowerCase(),b=((n?this.#e(p,n):p)??"").toString().toLowerCase(),y=c.test(h),j=c.test(b);return y||j}).map(p=>{let h=t?(this.#e(p,t)??"").toString().toLowerCase():(p??"").toString().toLowerCase(),b=((n?this.#e(p,n):p)??"").toString().toLowerCase(),y=this.#l(h,s),j=this.#l(b,s);return {item:p,score:Math.max(y,j)}});return _.sort((p,h)=>h.score-p.score),_.map(p=>p.item)}),this.componentId=le(),this.inputRefEl=Nt$1(()=>{let e=this.inputRefInput();if(e===null)return;let t=e?e.nativeElement:null;return t?(t.autocomplete="off",t.setAttribute("role","combobox"),t.setAttribute("id",`combobox-${this.componentId}`),t.setAttribute("aria-haspopup","listbox"),t.setAttribute("aria-owns",`optionsWrapId-${this.componentId}`),t.setAttribute("aria-controls",`optionsWrapId-${this.componentId}`),this.#p(t),t.addEventListener("focus",()=>{this.readonly()||this.open();}),t.addEventListener("input",n=>{let o=n.target.value,s=this.inputValue();o!==s&&(this.focusedOptionIndex.set(this.asFreeText()?-1:0),this.inputValue.set(o),this.updateInputElValue());}),t.addEventListener("inputValueChanged",n=>{let o=n.detail.value,s=this.inputValue(),c=me(()=>this.selectedOptions().length);o===s&&(o!==""||c>0)||(this.setSelectedOptionsFromValue(o),this.setInputValueFromOptions(this.selectedOptions()),this.#a());}),t):(console.warn("<sh-select> input element not found are you missing to pass an <input> or <textarea> element to select component?"),null)}),this.focusEffect=za(()=>{let e=this.inputRefEl();if(!e)return;let t=this.focusedOptionIndex();t>=0||t===-1&&this.asFreeText()?e.setAttribute("aria-activedescendant",this.getOptionId(t)):e.removeAttribute("aria-activedescendant");}),this.openAbortController=null,this.isOpenEffect=za(()=>{if(this.isOpen()){this.openAbortController||(this.openAbortController=new AbortController);let t=this.inputRefEl(),o=this.asFreeText()?-1:0;if(!t)return;t.setAttribute("aria-expanded",this.isOpen().toString()),t.addEventListener("keydown",s=>{if((this.#n.matches(s,"select.close")||s.key==="Tab")&&(s.preventDefault(),this.close()),this.#n.matches(s,"select.select")&&(!(s.key===" "||s.key==="Spacebar")||!this.hasSearch())&&(s.preventDefault(),this.isLoading()?this.#t=true:this.toggleOptionByIndex(this.focusedOptionIndex(),void 0,true)),this.#n.matches(s,"select.next")){s.preventDefault();let c=this.focusedOptionIndex()+1;this.focusedOptionIndex.set(c>this.filteredOptions().length-1?o:c);}else if(this.#n.matches(s,"select.prev")){s.preventDefault();let c=this.focusedOptionIndex()-1;this.focusedOptionIndex.set(c<o?this.filteredOptions().length-1:c);}},{signal:this.openAbortController?.signal});}else {let t=this.inputRefEl();if(!t)return;t.setAttribute("aria-expanded",this.isOpen().toString()),this.openAbortController&&(this.openAbortController.abort(),this.openAbortController=null);}}),this.#r=za(()=>{let e=this.isLoading(),t=this.filteredOptions();me(()=>{!e&&this.#t&&(this.#t=false,t.length>0&&this.toggleOptionByIndex(0,void 0,true));});}),this._inputValue="",this.inputValueEffect=za(()=>{let e=this.inputValue();this._inputValue=e;}),this.inputRefElEffect=za(()=>{let e=this.inputRefEl();if(!e)return;let t=me(()=>this.selectedOptions().length);e.value===this._inputValue&&(e.value!==""||t>0)||(this.disabled.set(e.disabled),me(()=>{this.setSelectedOptionsFromValue(e.value),this.setInputValueFromOptions(this.selectedOptions());}));}),this.inputReadonlyEffect=za(()=>{let e=this.inputRefEl();if(!e)return;this.readonly()||!this.hasSearch()?e.setAttribute("readonly","true"):e.removeAttribute("readonly");}),this.selectedLabels=Nt$1(()=>{let e=this.selectedOptions();return this.label()?e.map(n=>this.getLabel(n)).join(", "):e.join(", ")}),this.inputState=Nt$1(()=>(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=Nt$1(()=>this.inlineSearch()||this.lazySearch()),this.#c=za(()=>{if(this.selectMultiple()&&this.hasSearch())return;let e=this.selectedOptions(),t=this.value(),n=e.map(o=>t?this.#e(o,t):o).join(",");this.inputValue.set(n);});}#i;#n;#o;#t;#s;#l(e,t){if(!t)return 0;let n=0,o=-1,s=0,c=true;for(let C=0;C<t.length;C++){let _=t[C];if(e.length>o+1&&e[o+1]===_)n+=C===0?100:150,o++,s++;else {let p=e.indexOf(_,o+1);if(C>0&&(c=false),p===-1)return 0;n+=100,o=p,s++;}}return c&&t.length===s&&(n+=1e3),n+=s*20,n}#r;#c;ngOnInit(){this.setInitInput();}setInitInput(){let e=this.#i.nativeElement.querySelector("input");if(e){this.inputRefInput.set(new eo(e));return}let t=this.#i.nativeElement.querySelector("textarea");if(t){this.inputRefInput.set(new eo(t));return}typeof MutationObserver<"u"&&this.#s.observe(this.#i.nativeElement,{attributes:true,childList:true,subtree:true,characterData:true});}setSelectedOptionsFromValue(e){let t=this.options()||[],n=this.value(),o=this.selectMultiple(),s=e.toString().split(",");if(s.length===0){this.selectedOptions.set([]);return}let c=o?s:[s[0]],C=t.filter(p=>{let h=n?this.#e(p,n)?.toString():p?.toString();return h!=null&&c.includes(h)}),_=C.length>0;this.selectedOptions.set(o?C:_?[C[0]]:[]);}setInputValueFromOptions(e){let t=this.value();if(e.length===0){this.inputValue.set(""),this.updateInputElValue();return}let n=e.map(o=>t?this.#e(o,t):o).join(",");n!==this.inputValue()&&(this.inputValue.set(n),this.updateInputElValue());}getValue(e){let t=this.value();return t?this.#e(e,t):e}getLabel(e){let t=this.label();return t?this.#e(e,t):e}getOptionId(e){return `opt-${this.componentId}-${e}`}toggleOptionByIndex(e,t,n=false){let o=this.filteredOptions()[e];if(this.asFreeText()&&e===-1){let h=this.computedFreeTextOption(),b=this.getValue(h);if(!(this.validateFreeText()??(z=>true))(b))return;this.options.update(z=>z.findIndex(ye=>this.getValue(ye)===b)>-1?z:(this.onAddNewFreeTextOption.emit(b),[h,...z])),e=0,o=h;}else if(!o){this.close();return}t&&t.stopPropagation();let s=this.selectMultiple(),c=this._isClearable(),C=this.value(),_=this.selectedOptionValues(),p=C?this.#e(o,C):o;this.prevInputValue.set(null),this.#o.set(null),this.selectedOptions.update(h=>{let b=_.indexOf(p);if(b>-1){let y=[...h.slice(0,b),...h.slice(b+1)];return c||y.length>0?y:h}else return this.focusedOptionIndex.set(e),s?[...h,o]:[o]}),s?this.inputRefEl()?.focus():this.isOpen.set(false),this.setInputValueFromOptions(this.selectedOptions()),s&&this.hasSearch()&&(this.inputValue.set(""),this.updateInputElValue());}removeSelectedOptionByIndex(e,t){e.stopPropagation(),this.selectedOptions.update(n=>[...n.slice(0,t),...n.slice(t+1)]),this.setInputValueFromOptions(this.selectedOptions());}isSelected(e){let t=this.value(),n=this.filteredOptions()[e],o=t?this.#e(n,t):n;return this.selectedOptionValues().indexOf(o)>-1}open(){this.isOpen()||(this.#t=false,this.isOpen.set(true),this.hasSearch()?(this.prevInputValue.set(this.inputValue()??""),this.inputValue.set(""),this.updateInputElValue()):this.#o.set(this.selectedOptions()),this.selectMultiple()||this.#a());}#a(){let e=this.selectedOptionValues()[0],t=this.value();if(e){let n=this.filteredOptions().findIndex(o=>t?this.#e(o,t)===e:o===e);this.focusedOptionIndex.set(n);}else this.focusedOptionIndex.set(-1);}close(){this.#t=false,this.isOpen.set(false);let e=this.prevInputValue(),t=this.#o();if(this.asFreeText()&&!this.selectMultiple()){this.updateInputElValue();return}this.hasSearch()&&e&&(this.inputValue.set(e),this.setInputValueFromOptions(this.selectedOptions())),!this.hasSearch()&&t!==null&&this.setInputValueFromOptions(t),this.selectMultiple()&&this.setInputValueFromOptions(this.selectedOptions());}clear(e){e?.stopPropagation(),this.#t=false,this.inputValue.set(""),this.selectedOptions.set([]),this.isOpen.set(false),this.prevInputValue.set(null),this.cleared.emit(),this.updateInputElValue();}updateInputElValue(){let e=this.inputRefEl(),t=this.inputValue();!e||e.value===t||(e.value=t,e.dispatchEvent(new Event("input")));}#e(e,t){return t.split(".").reduce((n,o)=>n?.[o],e)}#p(e){Object.defineProperty(e,"value",{configurable:true,get(){return Object.getOwnPropertyDescriptor(Object.getPrototypeOf(e),"value").get.call(this)},set(t){Object.getOwnPropertyDescriptor(Object.getPrototypeOf(e),"value").set.call(this,t);let o=new CustomEvent("inputValueChanged",{bubbles:true,cancelable:true,detail:{value:t}});return this.dispatchEvent(o),t}});}#d(e){let t=(e??"").toLowerCase(),n="^";for(let o of t)n+=".*"+this.#u(o);return n+=".*$",new RegExp(n,"i")}#u(e){return e.replace(/[-\/\\^$+?.()|[\]{}]/g,"\\$&")}ngOnDestroy(){this.openAbortController&&(this.openAbortController.abort(),this.openAbortController=null),typeof MutationObserver<"u"&&this.#s.disconnect();}static{this.\u0275fac=function(t){return new(t||i)};}static{this.\u0275cmp=hw({type:i,selectors:[["sh-select"]],contentQueries:function(t,n,o){t&1&&Ug(o,n.inlineTemplate,Wr,5),t&2&&fC();},viewQuery:function(t,n){t&1&&Wg(n.optionsWrapRef,Ve,5),t&2&&fC();},hostVars:4,hostBindings:function(t,n){t&2&&(NC(n.hostClasses()),Yg("multiple",n.selectMultiple()));},inputs:{value:[1,"value"],label:[1,"label"],asFreeText:[1,"asFreeText"],color:[1,"color"],variant:[1,"variant"],size:[1,"size"],optionTitle:[1,"optionTitle"],freeTextTitle:[1,"freeTextTitle"],freeTextPlaceholder:[1,"freeTextPlaceholder"],validateFreeText:[1,"validateFreeText"],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"],freeTextOptionTemplate:[1,"freeTextOptionTemplate"],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",onAddNewFreeTextOption:"onAddNewFreeTextOption"},ngContentSelectors:we,decls:33,vars:29,consts:[["formFieldWrapper",""],["optionsWrap",""],[3,"isOpenChange","closed","isOpen","disableOpenByClick","options"],["trigger","",3,"click","color","variant","size"],["ngProjectAs","input",5,["input"],1,"input"],[1,"selected-value"],["suffix",""],["suffix","",1,"primary"],["role","listbox",1,"ship-options",3,"id"],["title",""],["role","option",1,"option",3,"id","selected","focused"],[1,"small",3,"class"],[1,"small",3,"click"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[4,"ngTemplateOutlet"],["suffix","",3,"click"],["role","option",1,"option",3,"click","id"],[3,"class","checked"],[3,"checked"]],template:function(t,n){if(t&1){let o=vT();aC(Ie),um(0)(1)(2)(3)(4)(5)(6),Qi(7,"sh-popover",2,0),cm("isOpenChange",function(c){return kd(o),UC(n.isOpen,c)||(n.isOpen=c),Od(c)}),Vg("closed",function(){return n.close()}),Qi(9,"sh-form-field",3),Vg("click",function(){return n.open()}),cC(10,0,Me),cC(11,1,Fe),cC(12,2,Ee),Qi(13,"div",4)(14,"div",5),aT(15,De,1,1)(16,qe,2,0)(17,Xe,2,1),cC(18,3),cC(19,4),$l()(),aT(20,Ge,2,0,"sh-icon",6)(21,Je,1,0,"sh-spinner",7)(22,Ye,2,0,"sh-icon",6)(23,Ze,2,0,"sh-icon",6)(24,et,2,0,"sh-icon",6)(25,tt,2,0,"sh-icon",6)(26,it,2,0,"sh-icon",6),$l(),Qi(27,"div",8,1),aT(29,dt,3,3),aT(30,ut,2,1,"p",9),dT(31,xt,4,8,"li",10,lT),$l()();}if(t&2){WC(n.placeholderTemplate());let o=n.optionTemplate();CE(),WC(n.freeTextOptionTemplate());let s=n.selectedOptionTemplate(),c=n.inlineTemplate();CE();let C=WC(n.selectedOptions()),_=n.inputState();CE(),WC(s||o||c),CE(),WC(o||c),CE(),WC(!n.asText()&&n.selectMultiple()),CE();let p=WC(n.isOpen()&&n.hasSearch());CE(),am("isOpen",n.isOpen),yg("disableOpenByClick",true)("options",KC(28,Le)),CE(2),Yg("stretch",n.stretch())("small",n.small())("readonly",n.readonly()||n.disabled()),yg("color",n.color())("variant",n.variant())("size",n.size()),CE(4),Yg("show-search-text",p),CE(),Yg("is-selected",_==="selected"),CE(),cT(n.asFreeText()&&n.inputValue().length>0&&!n.isOpen()?15:C.length>0?16:p?-1:17),CE(5),cT(_==="closed"?20:_==="loading"?21:_==="open-searching"?22:_==="searching"?23:_==="selected"&&n._isClearable()?24:_==="selected"&&!n._isClearable()?25:26),CE(7),yg("id","optionsWrapId-"+n.componentId),CE(2),cT(n.asFreeText()?29:-1),CE(),cT(n.optionTitle()&&n.filteredOptions().length>0?30:-1),CE(),fT(n.filteredOptions());}},dependencies:[ei,oe,Fe$1,N$1,U,m,D,c],styles:[`sh-select{--miw: 13.125rem;--select-option-mih: min-content;--select-options-mh: 11.25rem;display:flex}sh-select sh-form-field{display:flex;--ff-mw: var(--miw)}sh-select sh-popover{flex:1 0}sh-select sh-popover:has(.ship-options:empty) .popover{opacity:0}sh-select .selected-value{width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;color:var(--base-8)}sh-select .selected-value input{margin:0}sh-select .selected-value.is-selected{color:var(--base-12)}sh-select sh-form-field .input-wrap .input{position:relative;display:flex;flex-wrap:wrap;--ff-space: .4375rem .625rem}sh-select sh-form-field .input-wrap .input textarea,sh-select sh-form-field .input-wrap .input input{opacity:0;width:0;height:0;position:absolute}sh-select sh-form-field .input-wrap .input.show-search-text input{opacity:1;height:initial;min-width:min-content;field-sizing:content;font:var(--paragraph-30);position:relative}sh-select sh-form-field .input-wrap .input.show-search-text textarea{opacity:1;height:initial;margin:.25rem 0 0}sh-select sh-form-field.small .input-wrap .input{--ff-space: .3125rem .5rem}sh-select sh-form-field.small .input-wrap .input sh-chip{--chip-h: 1.25rem;font-size:80%}.ship-options{padding:.5rem 0;display:flex;flex-direction:column;max-height:var(--select-options-mh);overflow-y:auto;overflow-x:hidden}.ship-options p[title]{padding:.25rem 1rem}.ship-options sh-divider{margin:.5rem 0}.ship-options .option{display:flex;justify-content:flex-start;align-items:center;min-height:var(--select-option-mih);margin:0 .5rem;padding:.5rem;gap:.5rem;width:calc(100% - 1rem);border-radius:var(--shape-2);appearance:none;background-color:transparent;border:0;cursor:pointer;color:var(--base-12);-webkit-user-select:none;user-select:none}.ship-options .option[disabled]{opacity:.3;cursor:initial}.ship-options .option[disabled]:hover{background-color:transparent}.ship-options .option sh-icon{font-size:1rem}.ship-options .option span.placeholder{color:var(--base-7)}.ship-options .option.active,.ship-options .option:checked,.ship-options .option:hover{background-color:var(--base-2);color:var(--base-12)}.ship-options .option.focused{background-color:var(--primary-1);color:var(--base-12)}.ship-options .option.focused:hover{background-color:var(--primary-2)}
3
3
  `],encapsulation:2});}}return i})();export{Nt as N,m};
@@ -1 +1 @@
1
- import {T,ab as C,a6 as be,a5 as g,e as ee$1,b as g1,N as Nt,U as Ue,G as Ga,at as h,C as Bu,d as dw,v,_ as _t,aH as m,b1 as m$1,Q as Qi,X as XT,H as Hl,o as oT,F as Fg,D as DE,au as Lg,av as eC,i as iT,z as gg,a3 as QC,I as Qg,j as mg,a1 as cT,n as nC,a2 as lT,O as Og,aM as tb,P as Pg,aN as ob,q as PC,E as nm,aR as rb}from'./main-KFKZO6SJ.js';import {f}from'./chunk-DPNAj9Vc.js';import {d}from'./chunk-CRAg6SRo.js';import {$}from'./chunk-C7pjkqKB.js';var W=()=>["/"],Y=(n,e)=>e.FilesetID,Z=(n,e)=>e.Path;function ee(n,e){n&1&&(Qi(0,"div",6),mg(1,"sh-progress-bar",12),Qi(2,"p"),XT(3,3),Hl()());}function ie(n,e){n&1&&(Qi(0,"div",7)(1,"p"),XT(2,4),Hl()());}function ne(n,e){if(n&1&&(Qi(0,"span",18),PC(1),tb(2,"bytes"),Hl()),n&2){let i=nC().$implicit;DE(),nm(rb(2,1,i.Size));}}function te(n,e){if(n&1&&(Qi(0,"div",16)(1,"span",17),PC(2),Hl(),oT(3,ne,3,3,"span",18),Hl()),n&2){let i=e.$implicit;DE(2),nm(i.Path),DE(),iT(i.Size?3:-1);}}function oe(n,e){if(n&1&&(Qi(0,"sh-card",13)(1,"h3")(2,"span"),Og(3,5),mg(4,"span",14),tb(5,"relativeTime"),Pg(),Hl()(),Qi(6,"div",15),cT(7,te,4,2,"div",16,Z),Hl()()),n&2){let i=nC().$implicit;DE(5),Lg(i.FilesetID)(ob(5,2,i.FilesetTime,true)),eC(3),DE(2),lT(i.Files);}}function le(n,e){if(n&1&&oT(0,oe,9,5,"sh-card",13),n&2){let i=e.$implicit;iT(i.Files?.length?0:-1);}}function ae(n,e){if(n&1&&(Qi(0,"div",8),cT(1,le,1,1,null,null,Y),Hl()),n&2){let i=nC();DE(),lT(i.filesets());}}var B=class n{#e=T(C);#i=T(be);#n=T(g);#t=T(ee$1);id=g1.required();backup=Nt(()=>this.#n.getBackupById(this.id()));brokenFilesResource=$({params:()=>({id:this.id()}),stream:({params:e})=>this.#e.postApiV2BackupListBrokenFiles({requestBody:{BackupId:e.id}})});isLoading=Nt(()=>this.brokenFilesResource.isLoading());isPurging=Ue(false);filesets=Ue([]);constructor(){Ga(()=>{let e=this.brokenFilesResource.value();if(e){let i=(e.Data??[]).slice().sort((t,r)=>t.FilesetTime<r.FilesetTime?1:t.FilesetTime>r.FilesetTime?-1:0);this.filesets.set(i);}});}totalFiles=Nt(()=>this.filesets().reduce((e,i)=>e+(i.Files?.length??0),0));hasBrokenFiles=Nt(()=>this.totalFiles()>0);purgeBrokenFiles(){let e=this.totalFiles();e!==0&&this.#i.open(h,{data:{title:$localize`Confirm purge`,message:$localize`Are you sure you want to fully remove ${e} broken file(s)?`,confirmText:$localize`Purge broken files`,cancelText:$localize`Cancel`},closed:i=>{i&&(this.isPurging.set(true),this.#e.postApiV2BackupPurgeBrokenFiles({requestBody:{BackupId:this.id()}}).pipe(Bu(()=>this.isPurging.set(false))).subscribe({next:()=>{this.#t.navigate(["/"]);}}));}});}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=dw({type:n,selectors:[["app-broken-files"]],inputs:{id:[1,"id"]},decls:10,vars:8,consts:()=>{let e;e=$localize`Purge broken files for ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let i;i=$localize`Cancel`;let t;t=$localize` Purge broken files `;let r;r=$localize`Checking for broken files...`;let R;R=$localize`No broken files found for this backup.`;let k;return k=$localize` Version ${"\uFFFD0\uFFFD"}:INTERPOLATION: at ${"\uFFFD#4\uFFFD"}:START_TAG_SPAN:${"\uFFFD1\uFFFD"}:INTERPOLATION_1:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SPAN:`,[e,i,t,r,R,k,[1,"loading-state"],[1,"empty-state"],[1,"fileset-list"],[1,"actions"],["shButton","",3,"routerLink","disabled"],["shButton","",1,"raised","error",3,"click","disabled"],[1,"primary","indeterminate"],[1,"type-a","full-width"],[1,"time"],[1,"file-list"],[1,"file"],[1,"path"],[1,"size"]]},template:function(i,t){i&1&&(Qi(0,"h3"),XT(1,0),Hl(),oT(2,ee,4,0,"div",6)(3,ie,3,0,"div",7)(4,ae,3,0,"div",8),Qi(5,"div",9)(6,"button",10),XT(7,1),Hl(),Qi(8,"button",11),Fg("click",function(){return t.purgeBrokenFiles()}),XT(9,2),Hl()()),i&2&&(DE(),Lg(t.backup()?.Backup?.Name),eC(1),DE(),iT(t.isLoading()?2:t.hasBrokenFiles()?4:3),DE(4),gg("routerLink",QC(7,W))("disabled",t.isPurging()),DE(2),Qg("loading",t.isPurging()),gg("disabled",t.isPurging()||!t.hasBrokenFiles()||t.isLoading()));},dependencies:[v,f,d,_t,m,m$1],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;padding:2.5rem;max-width:43.75rem}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0}h3[_ngcontent-%COMP%] .time[_ngcontent-%COMP%]{font:var(--text-20);opacity:.7;margin-left:.5rem}.loading-state[_ngcontent-%COMP%], .empty-state[_ngcontent-%COMP%]{padding:2rem 0;display:flex;flex-direction:column;gap:1rem}.fileset-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0}.file-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;padding-top:.5rem}.file[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}.file[_ngcontent-%COMP%] .path[_ngcontent-%COMP%]{word-break:break-all}.file[_ngcontent-%COMP%] .size[_ngcontent-%COMP%]{white-space:nowrap;opacity:.7}.actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:.5rem;padding:2rem 0}"]})};export{B as default};
1
+ import {T,ab as C,a6 as be,a5 as g,e as ee$1,b as I1,N as Nt,G as Ge,z as za,at as h,H as qu,h as hw,v,_ as _t,aH as m,b2 as m$1,Q as Qi,n as nC,$ as $l,f as aT,V as Vg,C as CE,au as jg,av as rC,i as cT,A as yg,a3 as KC,Y as Yg,j as vg,a1 as dT,k as iC,a2 as fT,L as Lg,aM as ob,F as Fg,aN as ab,w as jC,J as om,aR as sb}from'./main-QLXVXD6E.js';import {f}from'./chunk-C3KPTLNN.js';import {d}from'./chunk-PONAC1Ya.js';import {$}from'./chunk-D3d-eReU.js';var W=()=>["/"],Y=(n,e)=>e.FilesetID,Z=(n,e)=>e.Path;function ee(n,e){n&1&&(Qi(0,"div",6),vg(1,"sh-progress-bar",12),Qi(2,"p"),nC(3,3),$l()());}function ie(n,e){n&1&&(Qi(0,"div",7)(1,"p"),nC(2,4),$l()());}function ne(n,e){if(n&1&&(Qi(0,"span",18),jC(1),ob(2,"bytes"),$l()),n&2){let i=iC().$implicit;CE(),om(sb(2,1,i.Size));}}function te(n,e){if(n&1&&(Qi(0,"div",16)(1,"span",17),jC(2),$l(),aT(3,ne,3,3,"span",18),$l()),n&2){let i=e.$implicit;CE(2),om(i.Path),CE(),cT(i.Size?3:-1);}}function oe(n,e){if(n&1&&(Qi(0,"sh-card",13)(1,"h3")(2,"span"),Lg(3,5),vg(4,"span",14),ob(5,"relativeTime"),Fg(),$l()(),Qi(6,"div",15),dT(7,te,4,2,"div",16,Z),$l()()),n&2){let i=iC().$implicit;CE(5),jg(i.FilesetID)(ab(5,2,i.FilesetTime,true)),rC(3),CE(2),fT(i.Files);}}function le(n,e){if(n&1&&aT(0,oe,9,5,"sh-card",13),n&2){let i=e.$implicit;cT(i.Files?.length?0:-1);}}function ae(n,e){if(n&1&&(Qi(0,"div",8),dT(1,le,1,1,null,null,Y),$l()),n&2){let i=iC();CE(),fT(i.filesets());}}var B=class n{#e=T(C);#i=T(be);#n=T(g);#t=T(ee$1);id=I1.required();backup=Nt(()=>this.#n.getBackupById(this.id()));brokenFilesResource=$({params:()=>({id:this.id()}),stream:({params:e})=>this.#e.postApiV2BackupListBrokenFiles({requestBody:{BackupId:e.id}})});isLoading=Nt(()=>this.brokenFilesResource.isLoading());isPurging=Ge(false);filesets=Ge([]);constructor(){za(()=>{let e=this.brokenFilesResource.value();if(e){let i=(e.Data??[]).slice().sort((t,r)=>t.FilesetTime<r.FilesetTime?1:t.FilesetTime>r.FilesetTime?-1:0);this.filesets.set(i);}});}totalFiles=Nt(()=>this.filesets().reduce((e,i)=>e+(i.Files?.length??0),0));hasBrokenFiles=Nt(()=>this.totalFiles()>0);purgeBrokenFiles(){let e=this.totalFiles();e!==0&&this.#i.open(h,{data:{title:$localize`Confirm purge`,message:$localize`Are you sure you want to fully remove ${e} broken file(s)?`,confirmText:$localize`Purge broken files`,cancelText:$localize`Cancel`},closed:i=>{i&&(this.isPurging.set(true),this.#e.postApiV2BackupPurgeBrokenFiles({requestBody:{BackupId:this.id()}}).pipe(qu(()=>this.isPurging.set(false))).subscribe({next:()=>{this.#t.navigate(["/"]);}}));}});}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=hw({type:n,selectors:[["app-broken-files"]],inputs:{id:[1,"id"]},decls:10,vars:8,consts:()=>{let e;e=$localize`Purge broken files for ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let i;i=$localize`Cancel`;let t;t=$localize` Purge broken files `;let r;r=$localize`Checking for broken files...`;let R;R=$localize`No broken files found for this backup.`;let k;return k=$localize` Version ${"\uFFFD0\uFFFD"}:INTERPOLATION: at ${"\uFFFD#4\uFFFD"}:START_TAG_SPAN:${"\uFFFD1\uFFFD"}:INTERPOLATION_1:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SPAN:`,[e,i,t,r,R,k,[1,"loading-state"],[1,"empty-state"],[1,"fileset-list"],[1,"actions"],["shButton","",3,"routerLink","disabled"],["shButton","",1,"raised","error",3,"click","disabled"],[1,"primary","indeterminate"],[1,"type-a","full-width"],[1,"time"],[1,"file-list"],[1,"file"],[1,"path"],[1,"size"]]},template:function(i,t){i&1&&(Qi(0,"h3"),nC(1,0),$l(),aT(2,ee,4,0,"div",6)(3,ie,3,0,"div",7)(4,ae,3,0,"div",8),Qi(5,"div",9)(6,"button",10),nC(7,1),$l(),Qi(8,"button",11),Vg("click",function(){return t.purgeBrokenFiles()}),nC(9,2),$l()()),i&2&&(CE(),jg(t.backup()?.Backup?.Name),rC(1),CE(),cT(t.isLoading()?2:t.hasBrokenFiles()?4:3),CE(4),yg("routerLink",KC(7,W))("disabled",t.isPurging()),CE(2),Yg("loading",t.isPurging()),yg("disabled",t.isPurging()||!t.hasBrokenFiles()||t.isLoading()));},dependencies:[v,f,d,_t,m,m$1],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;padding:2.5rem;max-width:43.75rem}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0}h3[_ngcontent-%COMP%] .time[_ngcontent-%COMP%]{font:var(--text-20);opacity:.7;margin-left:.5rem}.loading-state[_ngcontent-%COMP%], .empty-state[_ngcontent-%COMP%]{padding:2rem 0;display:flex;flex-direction:column;gap:1rem}.fileset-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0}.file-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;padding-top:.5rem}.file[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}.file[_ngcontent-%COMP%] .path[_ngcontent-%COMP%]{word-break:break-all}.file[_ngcontent-%COMP%] .size[_ngcontent-%COMP%]{white-space:nowrap;opacity:.7}.actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:.5rem;padding:2rem 0}"]})};export{B as default};