@duplicati/ngclient 0.0.111 → 0.0.114

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 (83) hide show
  1. package/{chunk-WQLN5T4T.js → chunk-37GXHTIP.js} +1 -1
  2. package/{chunk-MHO7INGX.js → chunk-3IIFLG6J.js} +1 -1
  3. package/{chunk-TJS6O6KD.js → chunk-554T66WI.js} +1 -1
  4. package/chunk-5G5PH7FG.js +1 -0
  5. package/{chunk-RQSBT3TK.js → chunk-66Q4TXVX.js} +1 -1
  6. package/{chunk-YJSWEW6C.js → chunk-6FFPXENZ.js} +1 -1
  7. package/{chunk-2ZVLF3KW.js → chunk-7LU4D3GR.js} +1 -1
  8. package/{chunk-T33TACR6.js → chunk-7WFWZORV.js} +1 -1
  9. package/{chunk-4RGZG24K.js → chunk-CD3DB23J.js} +1 -1
  10. package/chunk-CFVPLY5R.js +1 -0
  11. package/{chunk-QKA2VJWD.js → chunk-CPPV6EJP.js} +1 -1
  12. package/{chunk-65OCE2TY.js → chunk-CTGMG44P.js} +1 -1
  13. package/chunk-DDMQ6BLY.js +1 -0
  14. package/{chunk-KEAH5JAH.js → chunk-E2UB3K6K.js} +1 -1
  15. package/{chunk-PFE36372.js → chunk-EKIPEIC4.js} +1 -1
  16. package/{chunk-6OKAWH4X.js → chunk-EXJKKQZX.js} +1 -1
  17. package/{chunk-CHRKPWRG.js → chunk-F4EEOSGJ.js} +1 -1
  18. package/chunk-F7HHSM2V.js +1 -0
  19. package/chunk-FKJJQJD5.js +1 -0
  20. package/{chunk-URU2SLPX.js → chunk-GJROCOAD.js} +1 -1
  21. package/chunk-HVT5TILQ.js +1 -0
  22. package/{chunk-QP4QZQOW.js → chunk-HXP5ZXIT.js} +1 -1
  23. package/{chunk-NP4VUDPK.js → chunk-IEH3LYA4.js} +1 -1
  24. package/{chunk-JIPJYOH5.js → chunk-JES5INM4.js} +1 -1
  25. package/{chunk-BOBAN442.js → chunk-JLDOA36R.js} +1 -1
  26. package/{chunk-4AECHE4W.js → chunk-JSGFZ2GA.js} +1 -1
  27. package/{chunk-YJNKW5ES.js → chunk-KIGBGT77.js} +1 -1
  28. package/chunk-L76NC2T6.js +1 -0
  29. package/chunk-LVUQRMAC.js +1 -0
  30. package/chunk-N3L3HC4J.js +1 -0
  31. package/{chunk-XJAEXNPS.js → chunk-NDU4DSOM.js} +1 -1
  32. package/{chunk-DDM4R5FN.js → chunk-NE2V7X4C.js} +1 -1
  33. package/{chunk-Z4MV4ZSL.js → chunk-NHQOHNI2.js} +1 -1
  34. package/chunk-NMXJMVL5.js +1 -0
  35. package/{chunk-GDHVQU56.js → chunk-OTLEEXAA.js} +1 -1
  36. package/{chunk-WEQQEKIH.js → chunk-PAS4EMZF.js} +1 -1
  37. package/chunk-PFWSXI4B.js +1 -0
  38. package/{chunk-CR4OKZPA.js → chunk-PPP3I2ZR.js} +1 -1
  39. package/{chunk-2MCIQSK2.js → chunk-PQVEQNEN.js} +1 -1
  40. package/{chunk-45RYC5NZ.js → chunk-Q2HZC6ZI.js} +1 -1
  41. package/{chunk-HLHNKLWF.js → chunk-QBFBFWG2.js} +1 -1
  42. package/chunk-QDH6LNFG.js +1 -0
  43. package/{chunk-3M3M4YXP.js → chunk-R6GGQ2GT.js} +1 -1
  44. package/chunk-R7CDA4HX.js +1 -0
  45. package/chunk-RCU74ULS.js +1 -0
  46. package/{chunk-LQ5ORNDI.js → chunk-RGVPD4PJ.js} +1 -1
  47. package/{chunk-XTWVXTYP.js → chunk-RJ4U6XAH.js} +1 -1
  48. package/chunk-RN7NMYKV.js +8 -0
  49. package/chunk-RZN7GZTZ.js +1 -0
  50. package/chunk-S3S677ZR.js +1 -0
  51. package/{chunk-2KUDLHPP.js → chunk-S47LQILW.js} +1 -1
  52. package/{chunk-VN7JM6M3.js → chunk-SPHWZHBB.js} +1 -1
  53. package/chunk-TZUFH3TN.js +1 -0
  54. package/{chunk-IIB7YCLW.js → chunk-UTVV2FB5.js} +1 -1
  55. package/chunk-V3LXB3BU.js +1 -0
  56. package/{chunk-UMP4YQXB.js → chunk-VSSZRSCG.js} +1 -1
  57. package/{chunk-SKJ6XSV3.js → chunk-W6OH3HBG.js} +1 -1
  58. package/{chunk-6DH6O5YE.js → chunk-Z2NFEFOH.js} +1 -1
  59. package/{chunk-ZMDK6XIQ.js → chunk-ZCC3C2X4.js} +1 -1
  60. package/index.html +2 -2
  61. package/{main-S6Q4T2BU.js → main-EVBG63XG.js} +1 -1
  62. package/package.json +1 -1
  63. package/styles-UL5PH77J.css +1 -0
  64. package/chunk-25ZZFR2F.js +0 -1
  65. package/chunk-3KSBRC3X.js +0 -1
  66. package/chunk-7S5SYCMV.js +0 -1
  67. package/chunk-AADIFDNE.js +0 -1
  68. package/chunk-D3I33UIQ.js +0 -1
  69. package/chunk-HPGYPP74.js +0 -1
  70. package/chunk-JD54W4UA.js +0 -8
  71. package/chunk-JV6DGJII.js +0 -1
  72. package/chunk-LZUCVLMF.js +0 -1
  73. package/chunk-MHHVE6AV.js +0 -1
  74. package/chunk-P5SS3OV3.js +0 -1
  75. package/chunk-PN73DZ2H.js +0 -1
  76. package/chunk-QJILVQSS.js +0 -1
  77. package/chunk-VLIGMNJX.js +0 -1
  78. package/chunk-W577IVOD.js +0 -1
  79. package/chunk-WX7L7V6J.js +0 -1
  80. package/chunk-X4SAPDOB.js +0 -1
  81. package/chunk-X5YRWKCW.js +0 -1
  82. package/chunk-YD7PS7OS.js +0 -1
  83. package/styles-V3SS5M3J.css +0 -1
@@ -1 +1 @@
1
- import{a as W}from"./chunk-QP4QZQOW.js";import{a as K}from"./chunk-7L42EO7J.js";import{b as V,d as z}from"./chunk-QVIZK4WW.js";import{b as X,c as B,e as U,p as H}from"./chunk-WX7L7V6J.js";import{h as G}from"./chunk-4AECHE4W.js";import{$b as m,Ab as R,Ac as D,Cb as T,Gb as v,Hb as y,Ib as d,Mb as C,Na as g,Nb as a,Qa as r,Y as f,ab as k,ac as A,bc as L,da as u,ea as N,fb as S,nb as I,ra as $,rb as w,sb as s,ub as P,vb as h,wb as l,xb as _,yb as O,zb as b}from"./chunk-W2F756OF.js";var Y=(i,t)=>t.ID;function q(i,t){if(i&1&&m(0),i&2){let e=a().$implicit;L(" ",e.Message," ")}}function J(i,t){if(i&1&&(l(0,"div"),v(1,1),O(2,"a",16),y(),_()),i&2){let e=a().$implicit;r(2),I("href",e.DownloadLink,g)}}function Q(i,t){if(i&1){let e=T();l(0,"button",15),C("click",function(){u(e);let o=a().$implicit,c=a();return N(c.doRepair(o.BackupID))}),d(1,2),_()}}function Z(i,t){if(i&1){let e=T();l(0,"button",15),C("click",function(){u(e);let o=a().$implicit,c=a();return N(c.doDownloadBugreport(o))}),d(1,3),_()}}function ee(i,t){if(i&1&&O(0,"spk-progress-bar",18),i&2){let e,n=a(3);I("value",(e=n.serverState())==null?null:e.UpdateDownloadProgress)}}function te(i,t){if(i&1){let e=T();l(0,"div",14),b(1),d(2,4),R(),l(3,"a",17),m(4),_(),S(5,ee,1,1,"spk-progress-bar",18),l(6,"button",15),C("click",function(){u(e);let o=a(2);return N(o.doShowUpdate())}),d(7,5),_()()}if(i&2){let e,n,o=a().$implicit,c=a();r(3),I("href",(e=c.serverState())==null?null:e.UpdateDownloadLink,g),r(),A(o.Message),r(),s(((n=c.serverState())==null?null:n.UpdaterState)==="Downloading"?5:-1)}}function ie(i,t){if(i&1){let e=T();l(0,"button",15),C("click",function(){u(e);let o=a().$implicit,c=a();return N(c.doShowLog(o.BackupID))}),d(1,6),_()}}function ne(i,t){if(i&1){let e=T();l(0,"button",15),C("click",function(){u(e);let o=a(2);return N(o.doShowLink("https://docs.duplicati.com/detailed-descriptions/the-server-database"))}),d(1,7),_()}}function oe(i,t){if(i&1){let e=T();l(0,"button",15),C("click",function(){u(e);let o=a(2);return N(o.doShowLink("https://docs.duplicati.com/detailed-descriptions/the-server-database"))}),d(1,8),_()}}function ae(i,t){if(i&1){let e=T();l(0,"spk-alert")(1,"div",10),m(2),_(),l(3,"div",11),S(4,q,1,1)(5,J,3,1,"div"),l(6,"div",12),S(7,Q,2,0,"button",13)(8,Z,2,0,"button",13)(9,te,8,3,"div",14)(10,ie,2,0,"button",13)(11,ne,2,0,"button",13)(12,oe,2,0,"button",13),l(13,"button",15),C("click",function(){let o=u(e).$index,c=a();return N(c.deleteNotificationByIndex(o))}),d(14,0),_()()()()}if(i&2){let e=t.$implicit,n=a();w(n.getAlertType(e.Type)),r(2),A(e.Title),r(2),s(e.Action!=="update:new"&&e.Action!=="update:manual"?4:-1),r(),s(e!=null&&e.DownloadLink?5:-1),r(2),s(e.Message!=null&&e.Message.includes("please run repair")?7:-1),r(),s(e.Action!=null&&e.Action.startsWith("bug-report:created:")&&!e.DownloadLink?8:-1),r(),s(e.Action==="update:new"?9:-1),r(),s(e.Action==="backup:show-log"?10:-1),r(),s(e.Action==="config:issue:unencrypted-database"?11:-1),r(),s(e.Action==="config:issue:windows-folder-used"?12:-1)}}var re={Error:"error",Warning:"warn",Information:"primary"},j=class i{#i=f(z);#o=f(V);#a=f(U);#e=f(B);#n=f(G);#t=f(W);notificationFilterPredicate=$();serverState=this.#t.serverState;notifications=D(()=>{let t=this.notificationFilterPredicate()?.predicate,e=this.#t.notifications();return typeof t!="function"?e:e.filter(t)});deleteNotificationByIndex(t){this.#t.deleteNotification(t)}deleteAllNotifications(){this.#t.deleteAllNotifications()}getAlertType(t){return t&&re[t]||"primary"}doShowLog(t){this.#n.getApiV1BackupByIdIsactive({id:t}).subscribe({next:e=>{this.#i.navigate(["/backup/"+t+"/log"])},error:e=>{if(e.status===404){let n={title:$localize`Error`,message:$localize`The backup is missing, has it been deleted?`,confirmText:$localize`OK`,cancelText:null};parseInt(t)+""!=t&&(n={title:$localize`Error`,message:$localize`The backup was temporary and does not exist anymore, so the log data is lost`,confirmText:$localize`OK`,cancelText:null}),this.#a.open(K,{maxWidth:"550px",width:"100%",data:n})}else this.#e.error($localize`Failed to find backup: `+e.message)}})}doRepair(t){this.#n.postApiV1BackupByIdRepair({id:t}).subscribe({next:()=>{this.#e.success($localize`Backup repaired`),this.#i.navigate(["./"],{onSameUrlNavigation:"reload",relativeTo:this.#o})},error:e=>{this.#e.error($localize`Failed to repair backup: `+e.message)}})}doShowUpdate(){this.#i.navigate(["/about/changelog"])}doShowLink(t){window.open(t,"_blank")}doDownloadBugreport(t){let e=t.Action.slice(19);this.#n.postApiV1AuthIssuetokenByOperation({operation:`bugreport/${e}`}).subscribe({next:n=>{if(!n.Token){this.#e.error("Failed to get bug report URL: No token generated");return}t.DownloadLink=n.Token},error:n=>{this.#e.error(`Failed to get bug report URL: ${n.message}`)}})}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=k({type:i,selectors:[["app-notifications"]],inputs:{notificationFilterPredicate:[1,"notificationFilterPredicate"]},decls:2,vars:0,consts:()=>{let t;t=$localize`Dismiss`;let e;e=$localize` If the backup file was not downloaded automatically, ${"\uFFFD#2\uFFFD"}:START_LINK:right click and choose "Save as …"${"\uFFFD/#2\uFFFD"}:CLOSE_LINK:`;let n;n=$localize`Repair`;let o;o=$localize`Download`;let c;c=$localize`New update found:`;let F;F=$localize`Show Update`;let x;x=$localize`Show Log`;let E;E=$localize` Show Help `;let M;return M=$localize` Show Help `,[t,e,n,o,c,F,x,E,M,[3,"class"],["sparkle-alert-title",""],["sparkle-alert-content","",1,"content"],[1,"actions"],["spk-button","",1,"small","outlined"],[1,"message"],["spk-button","",1,"small","outlined",3,"click"],["target","_blank",3,"href"],[3,"href"],[3,"value"]]},template:function(e,n){e&1&&P(0,ae,15,11,"spk-alert",9,Y),e&2&&h(n.notifications())},dependencies:[X,H],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.actions[_ngcontent-%COMP%]{display:flex;gap:.25rem;justify-content:flex-end}"],changeDetection:0})};export{j as a};
1
+ import{a as W}from"./chunk-HXP5ZXIT.js";import{a as K}from"./chunk-7L42EO7J.js";import{b as V,d as z}from"./chunk-QVIZK4WW.js";import{b as X,c as B,e as U,p as H}from"./chunk-NMXJMVL5.js";import{h as G}from"./chunk-JSGFZ2GA.js";import{$b as m,Ab as R,Ac as D,Cb as T,Gb as v,Hb as y,Ib as d,Mb as C,Na as g,Nb as a,Qa as r,Y as f,ab as k,ac as A,bc as L,da as u,ea as N,fb as S,nb as I,ra as $,rb as w,sb as s,ub as P,vb as h,wb as l,xb as _,yb as O,zb as b}from"./chunk-W2F756OF.js";var Y=(i,t)=>t.ID;function q(i,t){if(i&1&&m(0),i&2){let e=a().$implicit;L(" ",e.Message," ")}}function J(i,t){if(i&1&&(l(0,"div"),v(1,1),O(2,"a",16),y(),_()),i&2){let e=a().$implicit;r(2),I("href",e.DownloadLink,g)}}function Q(i,t){if(i&1){let e=T();l(0,"button",15),C("click",function(){u(e);let o=a().$implicit,c=a();return N(c.doRepair(o.BackupID))}),d(1,2),_()}}function Z(i,t){if(i&1){let e=T();l(0,"button",15),C("click",function(){u(e);let o=a().$implicit,c=a();return N(c.doDownloadBugreport(o))}),d(1,3),_()}}function ee(i,t){if(i&1&&O(0,"spk-progress-bar",18),i&2){let e,n=a(3);I("value",(e=n.serverState())==null?null:e.UpdateDownloadProgress)}}function te(i,t){if(i&1){let e=T();l(0,"div",14),b(1),d(2,4),R(),l(3,"a",17),m(4),_(),S(5,ee,1,1,"spk-progress-bar",18),l(6,"button",15),C("click",function(){u(e);let o=a(2);return N(o.doShowUpdate())}),d(7,5),_()()}if(i&2){let e,n,o=a().$implicit,c=a();r(3),I("href",(e=c.serverState())==null?null:e.UpdateDownloadLink,g),r(),A(o.Message),r(),s(((n=c.serverState())==null?null:n.UpdaterState)==="Downloading"?5:-1)}}function ie(i,t){if(i&1){let e=T();l(0,"button",15),C("click",function(){u(e);let o=a().$implicit,c=a();return N(c.doShowLog(o.BackupID))}),d(1,6),_()}}function ne(i,t){if(i&1){let e=T();l(0,"button",15),C("click",function(){u(e);let o=a(2);return N(o.doShowLink("https://docs.duplicati.com/detailed-descriptions/the-server-database"))}),d(1,7),_()}}function oe(i,t){if(i&1){let e=T();l(0,"button",15),C("click",function(){u(e);let o=a(2);return N(o.doShowLink("https://docs.duplicati.com/detailed-descriptions/the-server-database"))}),d(1,8),_()}}function ae(i,t){if(i&1){let e=T();l(0,"spk-alert")(1,"div",10),m(2),_(),l(3,"div",11),S(4,q,1,1)(5,J,3,1,"div"),l(6,"div",12),S(7,Q,2,0,"button",13)(8,Z,2,0,"button",13)(9,te,8,3,"div",14)(10,ie,2,0,"button",13)(11,ne,2,0,"button",13)(12,oe,2,0,"button",13),l(13,"button",15),C("click",function(){let o=u(e).$index,c=a();return N(c.deleteNotificationByIndex(o))}),d(14,0),_()()()()}if(i&2){let e=t.$implicit,n=a();w(n.getAlertType(e.Type)),r(2),A(e.Title),r(2),s(e.Action!=="update:new"&&e.Action!=="update:manual"?4:-1),r(),s(e!=null&&e.DownloadLink?5:-1),r(2),s(e.Message!=null&&e.Message.includes("please run repair")?7:-1),r(),s(e.Action!=null&&e.Action.startsWith("bug-report:created:")&&!e.DownloadLink?8:-1),r(),s(e.Action==="update:new"?9:-1),r(),s(e.Action==="backup:show-log"?10:-1),r(),s(e.Action==="config:issue:unencrypted-database"?11:-1),r(),s(e.Action==="config:issue:windows-folder-used"?12:-1)}}var re={Error:"error",Warning:"warn",Information:"primary"},j=class i{#i=f(z);#o=f(V);#a=f(U);#e=f(B);#n=f(G);#t=f(W);notificationFilterPredicate=$();serverState=this.#t.serverState;notifications=D(()=>{let t=this.notificationFilterPredicate()?.predicate,e=this.#t.notifications();return typeof t!="function"?e:e.filter(t)});deleteNotificationByIndex(t){this.#t.deleteNotification(t)}deleteAllNotifications(){this.#t.deleteAllNotifications()}getAlertType(t){return t&&re[t]||"primary"}doShowLog(t){this.#n.getApiV1BackupByIdIsactive({id:t}).subscribe({next:e=>{this.#i.navigate(["/backup/"+t+"/log"])},error:e=>{if(e.status===404){let n={title:$localize`Error`,message:$localize`The backup is missing, has it been deleted?`,confirmText:$localize`OK`,cancelText:null};parseInt(t)+""!=t&&(n={title:$localize`Error`,message:$localize`The backup was temporary and does not exist anymore, so the log data is lost`,confirmText:$localize`OK`,cancelText:null}),this.#a.open(K,{maxWidth:"550px",width:"100%",data:n})}else this.#e.error($localize`Failed to find backup: `+e.message)}})}doRepair(t){this.#n.postApiV1BackupByIdRepair({id:t}).subscribe({next:()=>{this.#e.success($localize`Backup repaired`),this.#i.navigate(["./"],{onSameUrlNavigation:"reload",relativeTo:this.#o})},error:e=>{this.#e.error($localize`Failed to repair backup: `+e.message)}})}doShowUpdate(){this.#i.navigate(["/about/changelog"])}doShowLink(t){window.open(t,"_blank")}doDownloadBugreport(t){let e=t.Action.slice(19);this.#n.postApiV1AuthIssuetokenByOperation({operation:`bugreport/${e}`}).subscribe({next:n=>{if(!n.Token){this.#e.error("Failed to get bug report URL: No token generated");return}t.DownloadLink=n.Token},error:n=>{this.#e.error(`Failed to get bug report URL: ${n.message}`)}})}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=k({type:i,selectors:[["app-notifications"]],inputs:{notificationFilterPredicate:[1,"notificationFilterPredicate"]},decls:2,vars:0,consts:()=>{let t;t=$localize`Dismiss`;let e;e=$localize` If the backup file was not downloaded automatically, ${"\uFFFD#2\uFFFD"}:START_LINK:right click and choose "Save as …"${"\uFFFD/#2\uFFFD"}:CLOSE_LINK:`;let n;n=$localize`Repair`;let o;o=$localize`Download`;let c;c=$localize`New update found:`;let F;F=$localize`Show Update`;let x;x=$localize`Show Log`;let E;E=$localize` Show Help `;let M;return M=$localize` Show Help `,[t,e,n,o,c,F,x,E,M,[3,"class"],["sparkle-alert-title",""],["sparkle-alert-content","",1,"content"],[1,"actions"],["spk-button","",1,"small","outlined"],[1,"message"],["spk-button","",1,"small","outlined",3,"click"],["target","_blank",3,"href"],[3,"href"],[3,"value"]]},template:function(e,n){e&1&&P(0,ae,15,11,"spk-alert",9,Y),e&2&&h(n.notifications())},dependencies:[X,H],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.actions[_ngcontent-%COMP%]{display:flex;gap:.25rem;justify-content:flex-end}"],changeDetection:0})};export{j as a};
@@ -1 +1 @@
1
- import{a as O,c as P,e as E,h as v,j as N,s as I}from"./chunk-T2OUHRUV.js";import{l as y,o as X,t as Y}from"./chunk-WX7L7V6J.js";import{$b as G,Ab as x,Ac as c,Bc as h,Cb as W,Ib as F,Jb as A,Kb as D,Mb as j,Nb as M,Ob as T,Pb as d,Qa as s,ab as f,cc as U,da as $,ea as k,ec as g,fb as w,fc as _,gc as C,kc as S,mb as b,nb as p,ob as z,ra as m,tb as R,ua as l,ub as V,vb as B,wb as u,xb as a,zb as L}from"./chunk-W2F756OF.js";var Q=[[["label"]],[["","prefix",""]],[["","suffix",""]]],ee=["label","[prefix]","[suffix]"];function te(i,e){if(i&1&&G(0),i&2){let t=e.$implicit,n=M();U("",t.label,"",n.hasPerSecond()?"/s":"","")}}var ne=[{value:"bytes",label:"Bytes"},{value:"KB",label:"KB"},{value:"MB",label:"MB"},{value:"GB",label:"GB"},{value:"TB",label:"TB"},{value:"PB",label:"PB"}],ie=["throttle-upload","throttle-download"],H=class i{customId=m();inputType=m();timespan=l(0);unit=l("MB");sizeOptions=l(ne);readonly=l(!1);hasPerSecond=c(()=>{let e=this.inputType();return e&&ie.includes(e)});onChange=()=>{};onTouched=()=>{};onChangeEffect=h(()=>{this.onChange(this.getValue())});writeValue(e){if(e){let t=e.match(/^(\d+)(bytes|kb|mb|gb|tb|pb|b)$/i);t?(this.timespan.set(parseInt(t[1],10)),this.unit.set(t[2].toUpperCase())):(this.timespan.set(0),this.unit.set("MB"))}else this.timespan.set(0),this.unit.set("MB")}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.readonly.set(e)}getValue(){return`${this.timespan()}${this.unit()}`}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=f({type:i,selectors:[["app-size"]],inputs:{customId:[1,"customId"],inputType:[1,"inputType"]},features:[S([{provide:O,useExisting:i,multi:!0}])],ngContentSelectors:ee,decls:9,vars:10,consts:[[1,"label"],["type","number",3,"ngModelChange","id","ngModel","disabled"],["value","value","label","label",3,"options","readonly","isClearable"],["type","text",3,"ngModelChange","ngModel"]],template:function(t,n){t&1&&(T(Q),u(0,"div",0),d(1,0,["ngProjectAs","label",5,["label"]]),a(),u(2,"spk-form-field")(3,"input",1),C("ngModelChange",function(o){return _(n.timespan,o)||(n.timespan=o),o}),a(),d(4,1),d(5,2),a(),u(6,"spk-select",2)(7,"input",3),C("ngModelChange",function(o){return _(n.unit,o)||(n.unit=o),o}),a(),w(8,te,1,2,"ng-template"),a()),t&2&&(s(2),b("readonly",n.readonly()||void 0),s(),p("id",n.customId()),g("ngModel",n.timespan),p("disabled",n.readonly()),s(3),z("--miw",0),p("options",n.sizeOptions())("readonly",n.readonly())("isClearable",!1),s(),g("ngModel",n.unit))},dependencies:[Y,y,I,P,N,E,v],styles:['[_nghost-%COMP%]{display:grid;grid-template-areas:"label label" "input unit";grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}[_nghost-%COMP%] .label[_ngcontent-%COMP%]{grid-area:label;grid-column:1/-1}[_nghost-%COMP%] spk-form-field[_ngcontent-%COMP%]{grid-area:input}[_nghost-%COMP%] spk-select[_ngcontent-%COMP%]{grid-area:unit}'],changeDetection:0})};var oe=[[["label"]],[["","prefix",""]],[["","suffix",""]]],se=["label","[prefix]","[suffix]"];function ae(i,e){if(i&1){let t=W();u(0,"button",7),j("click",function(){let r=$(t).$implicit,o=M();return k(o.updateUnit(r.value))}),F(1,1),a()}if(i&2){let t=e.$implicit;s(),A(t.label),D(1)}}var le=[{value:"s",label:$localize`Seconds`},{value:"m",label:$localize`Minutes`},{value:"h",label:$localize`Hours`}],re=[{value:"Y",label:$localize`Years`},{value:"M",label:$localize`Months`},{value:"W",label:$localize`Weeks`},{value:"D",label:$localize`Days`}],pe=["retry-delay","web-timeout","read-write-timeout","run-script-timeout","list-timeout","short-timeout"],K=class i{customId=m();inputType=m();timespan=l(0);#e="D";unit=l(this.#e);unitLabel=c(()=>{let e=this.timeOptions(),t=e.findIndex(n=>n.value===this.unit());return e[t]?.label??this.unit()});isShortTime=c(()=>{let e=this.inputType();return e&&pe.includes(e)});timeOptions=c(()=>this.isShortTime()?le:re);readonly=l(!1);onChange=()=>{};onTouched=()=>{};onChangeEffect=h(()=>{this.onChange(this.getValue())});inputTypeEffect=h(()=>{let e=this.timeOptions(),t=this.isShortTime()?"s":"D";this.#e=t,this.unit.set(t)});updateUnit(e){this.unit.set(e)}writeValue(e){let t=this.isShortTime();if(e){let n=t?/(\d+)([smh])/i:/^(\d+)([YMWD])$/i,r=e.match(n);r?(this.timespan.set(parseInt(r[1],10)),this.unit.set(r[2])):(this.timespan.set(0),this.unit.set(this.#e))}else this.timespan.set(0),this.unit.set(this.#e)}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.readonly.set(e)}getValue(){return`${this.timespan()}${this.unit()}`}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=f({type:i,selectors:[["app-timespan"]],inputs:{customId:[1,"customId"],inputType:[1,"inputType"]},features:[S([{provide:O,useExisting:i,multi:!0}])],ngContentSelectors:se,decls:11,vars:7,consts:()=>{let e;e=$localize`${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let t;return t=$localize`${"\uFFFD0\uFFFD"}:INTERPOLATION:`,[e,t,["type","number",3,"ngModelChange","id","ngModel","disabled"],[3,"openIndicator","searchable"],["spk-button","","type","button",1,"trigger"],["menu",""],["spk-button","","type","button",1,"small"],["spk-button","","type","button",1,"small",3,"click"]]},template:function(t,n){t&1&&(T(oe),d(0,0,["ngProjectAs","label",5,["label"]]),u(1,"spk-form-field")(2,"input",2),C("ngModelChange",function(o){return _(n.timespan,o)||(n.timespan=o),o}),a(),d(3,1),d(4,2),a(),u(5,"spk-menu",3)(6,"button",4),F(7,0),a(),L(8,5),V(9,ae,2,1,"button",6,R),x(),a()),t&2&&(s(),b("readonly",n.readonly()||void 0),s(),p("id",n.customId()),g("ngModel",n.timespan),p("disabled",n.readonly()),s(3),p("openIndicator",!0)("searchable",!0),s(2),A(n.unitLabel()),D(7),s(2),B(n.timeOptions()))},dependencies:[X,y,I,P,N,E,v],styles:['[_nghost-%COMP%]{display:grid;grid-template-areas:"label label" "input unit";grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}[_nghost-%COMP%] .label[_ngcontent-%COMP%]{grid-area:label;grid-column:1/-1}[_nghost-%COMP%] spk-form-field[_ngcontent-%COMP%]{grid-area:input}[_nghost-%COMP%] spk-menu[_ngcontent-%COMP%]{grid-area:unit}[_nghost-%COMP%] spk-menu[_ngcontent-%COMP%] button.trigger[_ngcontent-%COMP%]{width:100%}'],changeDetection:0})};export{H as a,K as b};
1
+ import{a as O,c as P,e as E,h as v,j as N,s as I}from"./chunk-T2OUHRUV.js";import{l as y,o as X,t as Y}from"./chunk-NMXJMVL5.js";import{$b as G,Ab as x,Ac as c,Bc as h,Cb as W,Ib as F,Jb as A,Kb as D,Mb as j,Nb as M,Ob as T,Pb as d,Qa as s,ab as f,cc as U,da as $,ea as k,ec as g,fb as w,fc as _,gc as C,kc as S,mb as b,nb as p,ob as z,ra as m,tb as R,ua as l,ub as V,vb as B,wb as u,xb as a,zb as L}from"./chunk-W2F756OF.js";var Q=[[["label"]],[["","prefix",""]],[["","suffix",""]]],ee=["label","[prefix]","[suffix]"];function te(i,e){if(i&1&&G(0),i&2){let t=e.$implicit,n=M();U("",t.label,"",n.hasPerSecond()?"/s":"","")}}var ne=[{value:"bytes",label:"Bytes"},{value:"KB",label:"KB"},{value:"MB",label:"MB"},{value:"GB",label:"GB"},{value:"TB",label:"TB"},{value:"PB",label:"PB"}],ie=["throttle-upload","throttle-download"],H=class i{customId=m();inputType=m();timespan=l(0);unit=l("MB");sizeOptions=l(ne);readonly=l(!1);hasPerSecond=c(()=>{let e=this.inputType();return e&&ie.includes(e)});onChange=()=>{};onTouched=()=>{};onChangeEffect=h(()=>{this.onChange(this.getValue())});writeValue(e){if(e){let t=e.match(/^(\d+)(bytes|kb|mb|gb|tb|pb|b)$/i);t?(this.timespan.set(parseInt(t[1],10)),this.unit.set(t[2].toUpperCase())):(this.timespan.set(0),this.unit.set("MB"))}else this.timespan.set(0),this.unit.set("MB")}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.readonly.set(e)}getValue(){return`${this.timespan()}${this.unit()}`}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=f({type:i,selectors:[["app-size"]],inputs:{customId:[1,"customId"],inputType:[1,"inputType"]},features:[S([{provide:O,useExisting:i,multi:!0}])],ngContentSelectors:ee,decls:9,vars:10,consts:[[1,"label"],["type","number",3,"ngModelChange","id","ngModel","disabled"],["value","value","label","label",3,"options","readonly","isClearable"],["type","text",3,"ngModelChange","ngModel"]],template:function(t,n){t&1&&(T(Q),u(0,"div",0),d(1,0,["ngProjectAs","label",5,["label"]]),a(),u(2,"spk-form-field")(3,"input",1),C("ngModelChange",function(o){return _(n.timespan,o)||(n.timespan=o),o}),a(),d(4,1),d(5,2),a(),u(6,"spk-select",2)(7,"input",3),C("ngModelChange",function(o){return _(n.unit,o)||(n.unit=o),o}),a(),w(8,te,1,2,"ng-template"),a()),t&2&&(s(2),b("readonly",n.readonly()||void 0),s(),p("id",n.customId()),g("ngModel",n.timespan),p("disabled",n.readonly()),s(3),z("--miw",0),p("options",n.sizeOptions())("readonly",n.readonly())("isClearable",!1),s(),g("ngModel",n.unit))},dependencies:[Y,y,I,P,N,E,v],styles:['[_nghost-%COMP%]{display:grid;grid-template-areas:"label label" "input unit";grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}[_nghost-%COMP%] .label[_ngcontent-%COMP%]{grid-area:label;grid-column:1/-1}[_nghost-%COMP%] spk-form-field[_ngcontent-%COMP%]{grid-area:input}[_nghost-%COMP%] spk-select[_ngcontent-%COMP%]{grid-area:unit}'],changeDetection:0})};var oe=[[["label"]],[["","prefix",""]],[["","suffix",""]]],se=["label","[prefix]","[suffix]"];function ae(i,e){if(i&1){let t=W();u(0,"button",7),j("click",function(){let r=$(t).$implicit,o=M();return k(o.updateUnit(r.value))}),F(1,1),a()}if(i&2){let t=e.$implicit;s(),A(t.label),D(1)}}var le=[{value:"s",label:$localize`Seconds`},{value:"m",label:$localize`Minutes`},{value:"h",label:$localize`Hours`}],re=[{value:"Y",label:$localize`Years`},{value:"M",label:$localize`Months`},{value:"W",label:$localize`Weeks`},{value:"D",label:$localize`Days`}],pe=["retry-delay","web-timeout","read-write-timeout","run-script-timeout","list-timeout","short-timeout"],K=class i{customId=m();inputType=m();timespan=l(0);#e="D";unit=l(this.#e);unitLabel=c(()=>{let e=this.timeOptions(),t=e.findIndex(n=>n.value===this.unit());return e[t]?.label??this.unit()});isShortTime=c(()=>{let e=this.inputType();return e&&pe.includes(e)});timeOptions=c(()=>this.isShortTime()?le:re);readonly=l(!1);onChange=()=>{};onTouched=()=>{};onChangeEffect=h(()=>{this.onChange(this.getValue())});inputTypeEffect=h(()=>{let e=this.timeOptions(),t=this.isShortTime()?"s":"D";this.#e=t,this.unit.set(t)});updateUnit(e){this.unit.set(e)}writeValue(e){let t=this.isShortTime();if(e){let n=t?/(\d+)([smh])/i:/^(\d+)([YMWD])$/i,r=e.match(n);r?(this.timespan.set(parseInt(r[1],10)),this.unit.set(r[2])):(this.timespan.set(0),this.unit.set(this.#e))}else this.timespan.set(0),this.unit.set(this.#e)}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.readonly.set(e)}getValue(){return`${this.timespan()}${this.unit()}`}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=f({type:i,selectors:[["app-timespan"]],inputs:{customId:[1,"customId"],inputType:[1,"inputType"]},features:[S([{provide:O,useExisting:i,multi:!0}])],ngContentSelectors:se,decls:11,vars:7,consts:()=>{let e;e=$localize`${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let t;return t=$localize`${"\uFFFD0\uFFFD"}:INTERPOLATION:`,[e,t,["type","number",3,"ngModelChange","id","ngModel","disabled"],[3,"openIndicator","searchable"],["spk-button","","type","button",1,"trigger"],["menu",""],["spk-button","","type","button",1,"small"],["spk-button","","type","button",1,"small",3,"click"]]},template:function(t,n){t&1&&(T(oe),d(0,0,["ngProjectAs","label",5,["label"]]),u(1,"spk-form-field")(2,"input",2),C("ngModelChange",function(o){return _(n.timespan,o)||(n.timespan=o),o}),a(),d(3,1),d(4,2),a(),u(5,"spk-menu",3)(6,"button",4),F(7,0),a(),L(8,5),V(9,ae,2,1,"button",6,R),x(),a()),t&2&&(s(),b("readonly",n.readonly()||void 0),s(),p("id",n.customId()),g("ngModel",n.timespan),p("disabled",n.readonly()),s(3),p("openIndicator",!0)("searchable",!0),s(2),A(n.unitLabel()),D(7),s(2),B(n.timeOptions()))},dependencies:[X,y,I,P,N,E,v],styles:['[_nghost-%COMP%]{display:grid;grid-template-areas:"label label" "input unit";grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}[_nghost-%COMP%] .label[_ngcontent-%COMP%]{grid-area:label;grid-column:1/-1}[_nghost-%COMP%] spk-form-field[_ngcontent-%COMP%]{grid-area:input}[_nghost-%COMP%] spk-menu[_ngcontent-%COMP%]{grid-area:unit}[_nghost-%COMP%] spk-menu[_ngcontent-%COMP%] button.trigger[_ngcontent-%COMP%]{width:100%}'],changeDetection:0})};export{H as a,K as b};
@@ -1 +1 @@
1
- import{a as Ie}from"./chunk-XJXOUOD5.js";import{a as Ne}from"./chunk-SKJ6XSV3.js";import{a as w}from"./chunk-QP4QZQOW.js";import{a as De}from"./chunk-ULHQZGHN.js";import"./chunk-7L42EO7J.js";import"./chunk-2ZVLF3KW.js";import"./chunk-6OKAWH4X.js";import{a as Te}from"./chunk-GDHVQU56.js";import"./chunk-RHW5QVAY.js";import"./chunk-O2YN63YI.js";import{c as Ce,d as Ee,e as Pe,h as Oe,r as fe,s as he,t as ke}from"./chunk-T2OUHRUV.js";import{a as ce,c as me}from"./chunk-CHRKPWRG.js";import"./chunk-I3C2AEHI.js";import{c as le,e as re,f as _e}from"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{A as Ae,a as I,b as y,c as pe,e as ue,g as H,k as Se,l as de,n as ge,u as Fe}from"./chunk-WX7L7V6J.js";import{h as b}from"./chunk-4AECHE4W.js";import"./chunk-CKPICCFH.js";import{$b as d,Ac as ae,Bc as j,Cb as O,F as B,Gb as p,Hb as u,Ib as f,Lb as $,Mb as S,Nb as c,Qa as l,Xa as Z,Y as g,Yb as oe,Za as X,Zb as ie,ab as N,ac as V,bc as K,da as T,ea as C,ec as z,fb as m,fc as W,gc as q,lc as se,nb as D,pb as G,qa as J,rb as R,sb as F,tb as ee,ua as P,ub as te,vb as ne,wb as s,xb as i,yb as _}from"./chunk-W2F756OF.js";import{a as U,b as Y}from"./chunk-7CGTOI24.js";var $e=["scroller"];function ve(o,n){o&1&&(s(0,"spk-icon"),d(1,"bell-ringing"),i())}function Ge(o,n){o&1&&(s(0,"spk-icon"),d(1,"bell"),i())}function be(o,n){if(o&1&&(s(0,"div",9),d(1),i()),o&2){let e,t=c(2);l(),K(" ",(e=t.shownMessage())==null?null:e.content," ")}}function ye(o,n){if(o&1&&(s(0,"div",6)(1,"spk-alert")(2,"div",8),d(3),i(),m(4,be,2,1,"div",9),i()()),o&2){let e,t,a,r=c();l(),R((e=(e=r.shownMessage())==null?null:e.type)!==null&&e!==void 0?e:"error"),l(2),V((t=r.shownMessage())==null?null:t.title),l(),F((a=r.shownMessage())!=null&&a.content?4:-1)}}function He(o,n){if(o&1){let e=O();s(0,"div",7)(1,"div",10)(2,"h6",11),p(3,2),s(4,"button",5),S("click",function(){T(e);let a=c();return C(a.toggleNotifications())}),_(5,"spk-icon"),i(),u(),i(),s(6,"div",12,0)(8,"div",13),_(9,"app-notifications"),i()()()()}}function we(o,n){if(o&1&&(s(0,"div",17),d(1),i()),o&2){let e=c().$implicit;l(),K(" ",e.content," ")}}function xe(o,n){if(o&1){let e=O();s(0,"spk-alert",15,1),S("click",function(){let a=T(e).$implicit,r=c(2);return C(r.deleteAlertByIndex(a.id))}),s(2,"div",16),d(3),i(),m(4,we,2,1,"div",17),i()}if(o&2){let e=n.$implicit;R(e.type),D("id",e.id),l(3),V(e.title),l(),F(e.content?4:-1)}}function Ue(o,n){o&1&&(s(0,"p"),f(1,4),i())}function Ye(o,n){if(o&1){let e=O();s(0,"div",7)(1,"div",10)(2,"h6",11),p(3,3),s(4,"button",5),S("click",function(){T(e);let a=c();return C(a.toggleAlerts())}),_(5,"spk-icon"),i(),u(),i(),s(6,"div",12,0)(8,"div",13),te(9,xe,5,5,"spk-alert",14,ee,!1,Ue,2,0,"p"),i()()()()}if(o&2){let e=c();l(9),ne(e.alertHistory())}}var Me=new fe,v=class o{#e=g(pe);#t=g(w);isSubmitting=P(!1);messageSent=P(!1);form=Me.group({message:Me.control("",[Ee.required])});notifications=this.#t.notifications;shownMessage=P(null);shownMessageInterval=null;alertHistory=this.#e.alertHistory;alertHistoryIsOpen=this.#e.alertHistoryIsOpen;alertHistoryIsHidden=this.#e.alertHistoryIsHidden;numberOfOpenAlerts=ae(()=>this.alertHistory().filter(n=>n.isOpen).length);scroller=Z("scroller");isAlertsOpen=X(!1);isNotificationsOpen=X(!1);previousHistoryCount=P(null);constructor(){j(()=>{let n=this.alertHistory();n.length&&this.previousHistoryCount()!==n.length&&!this.isAlertsOpen()&&(this.shownMessage.set(Y(U({},n[0]),{countDown:3})),this.previousHistoryCount.set(n.length),this.shownMessageInterval=setInterval(()=>{let e=this.shownMessage();if(e?.countDown===0){this.shownMessage.set(null),this.shownMessageInterval=null;return}e!==null&&this.shownMessage.update(t=>Y(U({},t),{countDown:t.countDown-1}))},1e3))}),j(()=>{this.alertHistoryIsOpen(),this.scrollToBottom()})}resetPreviewMessage(){this.shownMessage.set(null),this.shownMessageInterval=null}toggleAlerts(){this.isAlertsOpen()?this.isAlertsOpen.set(!1):(this.isAlertsOpen.set(!0),this.isNotificationsOpen.set(!1),this.resetPreviewMessage())}toggleNotifications(){this.isNotificationsOpen.set(!this.isNotificationsOpen()),this.isAlertsOpen()&&this.isAlertsOpen.set(!1)}deleteAlertByIndex(n){this.#e.removeAlert(n)}scrollToBottom(){this.scroller()&&this.scroller()?.nativeElement&&this.scroller().nativeElement.scrollTo(0,this.scroller().nativeElement.scrollHeight)}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=N({type:o,selectors:[["app-service-hub"]],viewQuery:function(e,t){e&1&&oe(t.scroller,$e,5),e&2&&ie()},inputs:{isAlertsOpen:[1,"isAlertsOpen"],isNotificationsOpen:[1,"isNotificationsOpen"]},outputs:{isAlertsOpen:"isAlertsOpenChange",isNotificationsOpen:"isNotificationsOpenChange"},decls:9,vars:8,consts:()=>{let n;n=$localize` Notifications ${"\uFFFD#4\uFFFD"}:START_TAG_BUTTON:${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON:x-circle${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_BUTTON:`;let e;e=$localize` Alerts ${"\uFFFD#4\uFFFD"}:START_TAG_BUTTON:${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON:x-circle${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_BUTTON:`;let t;return t=$localize`No alerts yet`,[["scroller",""],["alerts",""],n,e,t,["spk-button","",3,"click"],[1,"preview-alert-wrap"],[1,"alert-stream-modal"],["sparkle-alert-title",""],["sparkle-alert-content",""],[1,"alert-stream-modal-content"],[1,"paragraph-20"],[1,"alert-stream-modal-list-scroller"],[1,"alert-stream-modal-list"],[3,"class","id"],[3,"click","id"],["title",""],["content",""]]},template:function(e,t){e&1&&(s(0,"button",5),S("click",function(){return t.toggleAlerts()}),s(1,"spk-icon"),d(2,"info"),i()(),s(3,"button",5),S("click",function(){return t.toggleNotifications()}),m(4,ve,2,0,"spk-icon")(5,Ge,2,0,"spk-icon"),i(),m(6,ye,5,4,"div",6)(7,He,10,0,"div",7)(8,Ye,12,1,"div",7)),e&2&&(R(t.alertHistory().length?"error":""),l(3),R(t.notifications().length?"error":""),l(),F(t.notifications().length?4:5),l(2),F(t.shownMessage()?6:-1),l(),F(t.isNotificationsOpen()?7:-1),l(),F(t.isAlertsOpen()?8:-1))},dependencies:[ke,y,I,H,Ne],styles:["[_nghost-%COMP%]{display:flex;position:fixed;gap:.5rem;bottom:1.5rem;right:1.5rem;z-index:5000}@media only screen and (max-width: 768px){[_nghost-%COMP%]{bottom:1rem;right:1rem}}[_nghost-%COMP%] h6[_ngcontent-%COMP%]{margin:0}.preview-alert-wrap[_ngcontent-%COMP%]{position:absolute;bottom:2.6875rem;right:0;display:flex;flex-direction:column;min-width:250px}.helpdesk-modal[_ngcontent-%COMP%]{position:absolute;bottom:2.6875rem;right:0;display:flex;flex-direction:column}@media only screen and (max-width: 768px){.helpdesk-modal[_ngcontent-%COMP%]{bottom:2.6875rem}}.helpdesk-modal-content[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;gap:1rem;min-width:20rem;border:1px solid var(--base-level-40);background-color:var(--base-level-10);border-radius:var(--shape-2)}.helpdesk-modal-content[_ngcontent-%COMP%] .message-sent[_ngcontent-%COMP%]{padding:0 1rem 1rem;text-wrap:pretty}.helpdesk-modal-content[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]{padding:1rem;border-bottom:1px solid var(--base-level-40);display:flex;align-items:center;justify-content:space-between}.helpdesk-modal-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%]{padding:0 1rem 1rem;display:flex;flex-direction:column;align-items:flex-end;gap:1rem}.helpdesk-modal-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{width:100%;text-wrap:pretty}.helpdesk-modal-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:100%}.alert-stream-modal[_ngcontent-%COMP%]{position:absolute;bottom:2.6875rem;right:0;display:flex;flex-direction:column}@media only screen and (max-width: 768px){.alert-stream-modal[_ngcontent-%COMP%]{bottom:2.6875rem}}.alert-stream-modal-list-scroller[_ngcontent-%COMP%]{overflow-y:auto;max-height:18.75rem}.alert-stream-modal-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;padding:1rem;border-radius:var(--shape-2)}.alert-stream-modal-content[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;min-width:20rem;border:1px solid var(--base-level-40);background-color:var(--base-level-10);border-radius:var(--shape-2)}.alert-stream-modal-content[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]{padding:1rem;border-bottom:1px solid var(--base-level-40);display:flex;align-items:center;justify-content:space-between}"],changeDetection:0})};function Be(o,n){o&1&&(s(0,"spk-icon",14),d(1,"check"),i())}function Xe(o,n){o&1&&(s(0,"spk-icon",15),d(1,"prohibit"),i())}function Ve(o,n){if(o&1){let e=O();s(0,"button",20),S("click",function(){T(e);let a=c();return C(a.updatePassphrase())}),f(1,5),i()}if(o&2){let e=c();G("loader",e.isUpdating())}}function Ke(o,n){if(o&1){let e=O();s(0,"spk-tooltip",19)(1,"button",21),S("click",function(){T(e);let a=c();return C(a.updatePassphrase())}),f(2,6),i()()}if(o&2){let e=c();l(),G("loader",e.isUpdating()),D("disabled",!0)}}var x=class o{#e=g(b);closed=J();isUpdating=P(!1);passphrase=P("");repeatPassphrase=P("");updatePassphrase(){this.passphrase()===this.repeatPassphrase()&&(this.isUpdating.set(!0),this.#e.patchApiV1Serversettings({requestBody:{"server-passphrase":this.passphrase()}}).pipe(B(()=>this.isUpdating.set(!1))).subscribe({next:()=>this.closed.emit()}))}cancel(){this.isUpdating.set(!0),this.#e.patchApiV1Serversettings({requestBody:{"has-asked-for-password-change":"True"}}).pipe(B(()=>this.isUpdating.set(!1))).subscribe({next:()=>this.closed.emit()})}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=N({type:o,selectors:[["app-change-passphrase-alert-dialog"]],outputs:{closed:"closed"},decls:23,vars:7,consts:()=>{let n;n=$localize`Enter new password`;let e;e=$localize`Repeat password`;let t;t=$localize`Password have to be filled and have to match`;let a;a=$localize`Change passphrase`;let r;r=$localize` Duplicati needs to be secured with a passphrase and a random passphrase has been generated for you. ${"[\uFFFD#6\uFFFD\uFFFD/#6\uFFFD|\uFFFD#7\uFFFD\uFFFD/#7\uFFFD]"}:LINE_BREAK:${"[\uFFFD#6\uFFFD\uFFFD/#6\uFFFD|\uFFFD#7\uFFFD\uFFFD/#7\uFFFD]"}:LINE_BREAK: If you open Duplicati from the tray icon, you do not need a passphrase, but if you plan to open it from another location you need to set a passphrase you know. Do you want to set a passphrase now? `,r=$(r);let h;h=$localize`Passphrase`;let k;k=$localize`Repeat passphrase`;let M;M=$localize`Not now thanks`;let L;L=$localize` Yes, update passphrase now `;let A;return A=$localize` Yes, update passphrase now `,[a,r,h,k,M,L,A,["header",""],["content",""],["type","warning"],["for","password"],["type","password","name","password","autocomplete","disabled","placeholder",n,"tabindex","1",3,"ngModelChange","ngModel"],["for","repeatPassword"],["type","password","name","repeatPassword","autocomplete","disabled","placeholder",e,"tabindex","2",3,"ngModelChange","disabled","ngModel"],["suffix","",1,"spk-success"],["suffix",""],["footer",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"loader"],["message",t,1,"primary"],["spk-button","",1,"raised","primary",3,"click"],["spk-button","",1,"raised","primary",3,"click","disabled"]]},template:function(e,t){e&1&&(s(0,"header",7)(1,"h3"),f(2,0),i()(),s(3,"div",8)(4,"spk-alert",9),p(5,1),_(6,"br")(7,"br"),u(),i(),s(8,"spk-form-field")(9,"label",10),f(10,2),i(),s(11,"input",11),q("ngModelChange",function(r){return W(t.passphrase,r)||(t.passphrase=r),r}),i()(),s(12,"spk-form-field")(13,"label",12),f(14,3),i(),s(15,"input",13),q("ngModelChange",function(r){return W(t.repeatPassphrase,r)||(t.repeatPassphrase=r),r}),i(),m(16,Be,2,0,"spk-icon",14)(17,Xe,2,0,"spk-icon",15),i()(),s(18,"footer",16)(19,"button",17),S("click",function(){return t.cancel()}),f(20,4),i(),m(21,Ve,2,2,"button",18)(22,Ke,3,3,"spk-tooltip",19),i()),e&2&&(l(11),z("ngModel",t.passphrase),l(4),D("disabled",t.passphrase().length===0),z("ngModel",t.repeatPassphrase),l(),F(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?16:17),l(3),G("loader",t.isUpdating()),l(2),F(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?21:22))},dependencies:[he,Ce,Pe,Oe,y,de,I,Ae],styles:["[_nghost-%COMP%]{display:block;--dialog-p: 1.5rem}[content][_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}"],changeDetection:0})};var ze=()=>({exact:!0});function We(o,n){o&1&&(s(0,"spk-icon"),d(1,"sun"),i())}function qe(o,n){o&1&&(s(0,"spk-icon"),d(1,"moon"),i())}function je(o,n){if(o&1){let e=O();s(0,"button",21),S("click",function(){T(e);let a=c();return C(a.changeDefaultClientTo("ngax"))}),p(1,7),_(2,"spk-icon"),u(),i(),s(3,"button",21),S("click",function(){T(e);let a=c();return C(a.logout())}),p(4,8),_(5,"spk-icon"),u(),i()}}var Q=class o{#e=g(Ie);#t=g(b);#n=g(Te);#o=g(ce);#i=g(ue);#s=g(w);#a=g(me);relayIsEnabled=this.#o.relayIsEnabled;isDarkMode=this.#e.isDarkMode;ngOnInit(){return this.#s.init(),this.#n.getBackups(!0),this.#t.getApiV1Serversettings().subscribe({next:n=>{let e=n["autogenerated-passphrase"]==="True",t=n["has-asked-for-password-change"]==="True";e&&!t&&this.#i.open(x,{maxWidth:"500px"})}})}toggleBodyClass(){this.#e.toggleBodyClass()}changeDefaultClientTo(n){this.#l(n),window.location.replace(`/${n}`)}logout(){this.#a.logout()}#l(n){var e=new Date;e.setTime(e.getTime()+90*24*60*60*1e3),document.cookie="default-client="+n+"; expires="+e.toUTCString()+"; path=/"}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=N({type:o,selectors:[["app-layout"]],decls:37,vars:4,consts:()=>{let n;n=$localize`${"\uFFFD#10\uFFFD"}:START_TAG_SPK_ICON:house${"\uFFFD/#10\uFFFD"}:CLOSE_TAG_SPK_ICON: Home `;let e;e=$localize`${"\uFFFD#13\uFFFD"}:START_TAG_SPK_ICON:database${"\uFFFD/#13\uFFFD"}:CLOSE_TAG_SPK_ICON: Add backup `;let t;t=$localize`${"\uFFFD#16\uFFFD"}:START_TAG_SPK_ICON:clock-counter-clockwise${"\uFFFD/#16\uFFFD"}:CLOSE_TAG_SPK_ICON: Restore `;let a;a=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SPK_ICON:gear${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SPK_ICON: Settings `;let r;r=$localize`${"\uFFFD#26\uFFFD"}:START_TAG_SPK_ICON:info${"\uFFFD/#26\uFFFD"}:CLOSE_TAG_SPK_ICON: About Duplicati `;let h;h=$localize`${"\uFFFD#29\uFFFD"}:START_TAG_SPK_ICON:files${"[\uFFFD/#29\uFFFD|\uFFFD/#30\uFFFD]"}:CLOSE_TAG_SPK_ICON: Documentation ${"\uFFFD#30\uFFFD"}:START_TAG_SPK_ICON_1:arrow-square-out${"[\uFFFD/#29\uFFFD|\uFFFD/#30\uFFFD]"}:CLOSE_TAG_SPK_ICON:`,h=$(h);let k;k=$localize`${"\uFFFD#33\uFFFD"}:START_TAG_SPK_ICON:chats-circle${"[\uFFFD/#33\uFFFD|\uFFFD/#34\uFFFD]"}:CLOSE_TAG_SPK_ICON: Visit forum ${"\uFFFD#34\uFFFD"}:START_TAG_SPK_ICON_1:arrow-square-out${"[\uFFFD/#33\uFFFD|\uFFFD/#34\uFFFD]"}:CLOSE_TAG_SPK_ICON:`,k=$(k);let M;M=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:skip-back${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON: Revert to NGAX client `;let L;return L=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON:sign-out${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_ICON: Log out `,[n,e,t,a,r,h,k,M,L,["sidenav",""],["spk-button","",1,"icon","small",3,"click"],[1,"base-level-20","primary"],["action","","routerLink","/","routerLinkActive","active",3,"routerLinkActiveOptions"],["action","","routerLink","/add-backup","routerLinkActive","active"],["action","","routerLink","/restore","routerLinkActive","active"],["action","","routerLink","/settings","routerLinkActive","active"],[1,"spacer"],["action","","routerLink","/about","routerLinkActive","active"],["href","https://docs.duplicati.com","target","_blank","action",""],["suffix",""],["href","https://forum.duplicati.com","target","_blank","action",""],["action","",3,"click"]]},template:function(e,t){e&1&&(s(0,"spk-sidenav")(1,"div",9)(2,"header"),_(3,"app-logo"),s(4,"button",10),S("click",function(){return t.toggleBodyClass()}),m(5,We,2,0,"spk-icon")(6,qe,2,0,"spk-icon"),i()(),s(7,"spk-list",11)(8,"button",12),p(9,0),_(10,"spk-icon"),u(),i(),s(11,"button",13),p(12,1),_(13,"spk-icon"),u(),i(),s(14,"button",14),p(15,2),_(16,"spk-icon"),u(),i(),s(17,"button",15),p(18,3),_(19,"spk-icon"),u(),i()(),_(20,"div",16),s(21,"spk-list",11),m(22,je,6,0),_(23,"spk-divider"),s(24,"button",17),p(25,4),_(26,"spk-icon"),u(),i(),s(27,"a",18),p(28,5),_(29,"spk-icon")(30,"spk-icon",19),u(),i(),s(31,"a",20),p(32,6),_(33,"spk-icon")(34,"spk-icon",19),u(),i()()(),_(35,"router-outlet")(36,"app-service-hub"),i()),e&2&&(l(5),F(t.isDarkMode()?5:6),l(3),D("routerLinkActiveOptions",se(3,ze)),l(14),F(t.relayIsEnabled()?-1:22))},dependencies:[le,re,_e,Fe,I,ge,H,Se,v,De],styles:["[_nghost-%COMP%]{height:100vh;width:100%;overflow:hidden}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:20px;gap:12px}h3[title][_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}div[sidenav][_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100vh}"],changeDetection:0})};export{Q as default};
1
+ import{a as Ie}from"./chunk-XJXOUOD5.js";import{a as Ne}from"./chunk-W6OH3HBG.js";import{a as w}from"./chunk-HXP5ZXIT.js";import{a as De}from"./chunk-ULHQZGHN.js";import"./chunk-7L42EO7J.js";import"./chunk-7LU4D3GR.js";import"./chunk-EXJKKQZX.js";import{a as Te}from"./chunk-OTLEEXAA.js";import"./chunk-RHW5QVAY.js";import"./chunk-O2YN63YI.js";import{c as Ce,d as Ee,e as Pe,h as Oe,r as fe,s as he,t as ke}from"./chunk-T2OUHRUV.js";import{a as ce,c as me}from"./chunk-F4EEOSGJ.js";import"./chunk-I3C2AEHI.js";import{c as le,e as re,f as _e}from"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{A as Ae,a as I,b as y,c as pe,e as ue,g as H,k as Se,l as de,n as ge,u as Fe}from"./chunk-NMXJMVL5.js";import{h as b}from"./chunk-JSGFZ2GA.js";import"./chunk-CKPICCFH.js";import{$b as d,Ac as ae,Bc as j,Cb as O,F as B,Gb as p,Hb as u,Ib as f,Lb as $,Mb as S,Nb as c,Qa as l,Xa as Z,Y as g,Yb as oe,Za as X,Zb as ie,ab as N,ac as V,bc as K,da as T,ea as C,ec as z,fb as m,fc as W,gc as q,lc as se,nb as D,pb as G,qa as J,rb as R,sb as F,tb as ee,ua as P,ub as te,vb as ne,wb as s,xb as i,yb as _}from"./chunk-W2F756OF.js";import{a as U,b as Y}from"./chunk-7CGTOI24.js";var $e=["scroller"];function ve(o,n){o&1&&(s(0,"spk-icon"),d(1,"bell-ringing"),i())}function Ge(o,n){o&1&&(s(0,"spk-icon"),d(1,"bell"),i())}function be(o,n){if(o&1&&(s(0,"div",9),d(1),i()),o&2){let e,t=c(2);l(),K(" ",(e=t.shownMessage())==null?null:e.content," ")}}function ye(o,n){if(o&1&&(s(0,"div",6)(1,"spk-alert")(2,"div",8),d(3),i(),m(4,be,2,1,"div",9),i()()),o&2){let e,t,a,r=c();l(),R((e=(e=r.shownMessage())==null?null:e.type)!==null&&e!==void 0?e:"error"),l(2),V((t=r.shownMessage())==null?null:t.title),l(),F((a=r.shownMessage())!=null&&a.content?4:-1)}}function He(o,n){if(o&1){let e=O();s(0,"div",7)(1,"div",10)(2,"h6",11),p(3,2),s(4,"button",5),S("click",function(){T(e);let a=c();return C(a.toggleNotifications())}),_(5,"spk-icon"),i(),u(),i(),s(6,"div",12,0)(8,"div",13),_(9,"app-notifications"),i()()()()}}function we(o,n){if(o&1&&(s(0,"div",17),d(1),i()),o&2){let e=c().$implicit;l(),K(" ",e.content," ")}}function xe(o,n){if(o&1){let e=O();s(0,"spk-alert",15,1),S("click",function(){let a=T(e).$implicit,r=c(2);return C(r.deleteAlertByIndex(a.id))}),s(2,"div",16),d(3),i(),m(4,we,2,1,"div",17),i()}if(o&2){let e=n.$implicit;R(e.type),D("id",e.id),l(3),V(e.title),l(),F(e.content?4:-1)}}function Ue(o,n){o&1&&(s(0,"p"),f(1,4),i())}function Ye(o,n){if(o&1){let e=O();s(0,"div",7)(1,"div",10)(2,"h6",11),p(3,3),s(4,"button",5),S("click",function(){T(e);let a=c();return C(a.toggleAlerts())}),_(5,"spk-icon"),i(),u(),i(),s(6,"div",12,0)(8,"div",13),te(9,xe,5,5,"spk-alert",14,ee,!1,Ue,2,0,"p"),i()()()()}if(o&2){let e=c();l(9),ne(e.alertHistory())}}var Me=new fe,v=class o{#e=g(pe);#t=g(w);isSubmitting=P(!1);messageSent=P(!1);form=Me.group({message:Me.control("",[Ee.required])});notifications=this.#t.notifications;shownMessage=P(null);shownMessageInterval=null;alertHistory=this.#e.alertHistory;alertHistoryIsOpen=this.#e.alertHistoryIsOpen;alertHistoryIsHidden=this.#e.alertHistoryIsHidden;numberOfOpenAlerts=ae(()=>this.alertHistory().filter(n=>n.isOpen).length);scroller=Z("scroller");isAlertsOpen=X(!1);isNotificationsOpen=X(!1);previousHistoryCount=P(null);constructor(){j(()=>{let n=this.alertHistory();n.length&&this.previousHistoryCount()!==n.length&&!this.isAlertsOpen()&&(this.shownMessage.set(Y(U({},n[0]),{countDown:3})),this.previousHistoryCount.set(n.length),this.shownMessageInterval=setInterval(()=>{let e=this.shownMessage();if(e?.countDown===0){this.shownMessage.set(null),this.shownMessageInterval=null;return}e!==null&&this.shownMessage.update(t=>Y(U({},t),{countDown:t.countDown-1}))},1e3))}),j(()=>{this.alertHistoryIsOpen(),this.scrollToBottom()})}resetPreviewMessage(){this.shownMessage.set(null),this.shownMessageInterval=null}toggleAlerts(){this.isAlertsOpen()?this.isAlertsOpen.set(!1):(this.isAlertsOpen.set(!0),this.isNotificationsOpen.set(!1),this.resetPreviewMessage())}toggleNotifications(){this.isNotificationsOpen.set(!this.isNotificationsOpen()),this.isAlertsOpen()&&this.isAlertsOpen.set(!1)}deleteAlertByIndex(n){this.#e.removeAlert(n)}scrollToBottom(){this.scroller()&&this.scroller()?.nativeElement&&this.scroller().nativeElement.scrollTo(0,this.scroller().nativeElement.scrollHeight)}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=N({type:o,selectors:[["app-service-hub"]],viewQuery:function(e,t){e&1&&oe(t.scroller,$e,5),e&2&&ie()},inputs:{isAlertsOpen:[1,"isAlertsOpen"],isNotificationsOpen:[1,"isNotificationsOpen"]},outputs:{isAlertsOpen:"isAlertsOpenChange",isNotificationsOpen:"isNotificationsOpenChange"},decls:9,vars:8,consts:()=>{let n;n=$localize` Notifications ${"\uFFFD#4\uFFFD"}:START_TAG_BUTTON:${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON:x-circle${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_BUTTON:`;let e;e=$localize` Alerts ${"\uFFFD#4\uFFFD"}:START_TAG_BUTTON:${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON:x-circle${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_BUTTON:`;let t;return t=$localize`No alerts yet`,[["scroller",""],["alerts",""],n,e,t,["spk-button","",3,"click"],[1,"preview-alert-wrap"],[1,"alert-stream-modal"],["sparkle-alert-title",""],["sparkle-alert-content",""],[1,"alert-stream-modal-content"],[1,"paragraph-20"],[1,"alert-stream-modal-list-scroller"],[1,"alert-stream-modal-list"],[3,"class","id"],[3,"click","id"],["title",""],["content",""]]},template:function(e,t){e&1&&(s(0,"button",5),S("click",function(){return t.toggleAlerts()}),s(1,"spk-icon"),d(2,"info"),i()(),s(3,"button",5),S("click",function(){return t.toggleNotifications()}),m(4,ve,2,0,"spk-icon")(5,Ge,2,0,"spk-icon"),i(),m(6,ye,5,4,"div",6)(7,He,10,0,"div",7)(8,Ye,12,1,"div",7)),e&2&&(R(t.alertHistory().length?"error":""),l(3),R(t.notifications().length?"error":""),l(),F(t.notifications().length?4:5),l(2),F(t.shownMessage()?6:-1),l(),F(t.isNotificationsOpen()?7:-1),l(),F(t.isAlertsOpen()?8:-1))},dependencies:[ke,y,I,H,Ne],styles:["[_nghost-%COMP%]{display:flex;position:fixed;gap:.5rem;bottom:1.5rem;right:1.5rem;z-index:5000}@media only screen and (max-width: 768px){[_nghost-%COMP%]{bottom:1rem;right:1rem}}[_nghost-%COMP%] h6[_ngcontent-%COMP%]{margin:0}.preview-alert-wrap[_ngcontent-%COMP%]{position:absolute;bottom:2.6875rem;right:0;display:flex;flex-direction:column;min-width:250px}.helpdesk-modal[_ngcontent-%COMP%]{position:absolute;bottom:2.6875rem;right:0;display:flex;flex-direction:column}@media only screen and (max-width: 768px){.helpdesk-modal[_ngcontent-%COMP%]{bottom:2.6875rem}}.helpdesk-modal-content[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;gap:1rem;min-width:20rem;border:1px solid var(--base-level-40);background-color:var(--base-level-10);border-radius:var(--shape-2)}.helpdesk-modal-content[_ngcontent-%COMP%] .message-sent[_ngcontent-%COMP%]{padding:0 1rem 1rem;text-wrap:pretty}.helpdesk-modal-content[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]{padding:1rem;border-bottom:1px solid var(--base-level-40);display:flex;align-items:center;justify-content:space-between}.helpdesk-modal-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%]{padding:0 1rem 1rem;display:flex;flex-direction:column;align-items:flex-end;gap:1rem}.helpdesk-modal-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{width:100%;text-wrap:pretty}.helpdesk-modal-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:100%}.alert-stream-modal[_ngcontent-%COMP%]{position:absolute;bottom:2.6875rem;right:0;display:flex;flex-direction:column}@media only screen and (max-width: 768px){.alert-stream-modal[_ngcontent-%COMP%]{bottom:2.6875rem}}.alert-stream-modal-list-scroller[_ngcontent-%COMP%]{overflow-y:auto;max-height:18.75rem}.alert-stream-modal-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;padding:1rem;border-radius:var(--shape-2)}.alert-stream-modal-content[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;min-width:20rem;border:1px solid var(--base-level-40);background-color:var(--base-level-10);border-radius:var(--shape-2)}.alert-stream-modal-content[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]{padding:1rem;border-bottom:1px solid var(--base-level-40);display:flex;align-items:center;justify-content:space-between}"],changeDetection:0})};function Be(o,n){o&1&&(s(0,"spk-icon",14),d(1,"check"),i())}function Xe(o,n){o&1&&(s(0,"spk-icon",15),d(1,"prohibit"),i())}function Ve(o,n){if(o&1){let e=O();s(0,"button",20),S("click",function(){T(e);let a=c();return C(a.updatePassphrase())}),f(1,5),i()}if(o&2){let e=c();G("loader",e.isUpdating())}}function Ke(o,n){if(o&1){let e=O();s(0,"spk-tooltip",19)(1,"button",21),S("click",function(){T(e);let a=c();return C(a.updatePassphrase())}),f(2,6),i()()}if(o&2){let e=c();l(),G("loader",e.isUpdating()),D("disabled",!0)}}var x=class o{#e=g(b);closed=J();isUpdating=P(!1);passphrase=P("");repeatPassphrase=P("");updatePassphrase(){this.passphrase()===this.repeatPassphrase()&&(this.isUpdating.set(!0),this.#e.patchApiV1Serversettings({requestBody:{"server-passphrase":this.passphrase()}}).pipe(B(()=>this.isUpdating.set(!1))).subscribe({next:()=>this.closed.emit()}))}cancel(){this.isUpdating.set(!0),this.#e.patchApiV1Serversettings({requestBody:{"has-asked-for-password-change":"True"}}).pipe(B(()=>this.isUpdating.set(!1))).subscribe({next:()=>this.closed.emit()})}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=N({type:o,selectors:[["app-change-passphrase-alert-dialog"]],outputs:{closed:"closed"},decls:23,vars:7,consts:()=>{let n;n=$localize`Enter new password`;let e;e=$localize`Repeat password`;let t;t=$localize`Password have to be filled and have to match`;let a;a=$localize`Change passphrase`;let r;r=$localize` Duplicati needs to be secured with a passphrase and a random passphrase has been generated for you. ${"[\uFFFD#6\uFFFD\uFFFD/#6\uFFFD|\uFFFD#7\uFFFD\uFFFD/#7\uFFFD]"}:LINE_BREAK:${"[\uFFFD#6\uFFFD\uFFFD/#6\uFFFD|\uFFFD#7\uFFFD\uFFFD/#7\uFFFD]"}:LINE_BREAK: If you open Duplicati from the tray icon, you do not need a passphrase, but if you plan to open it from another location you need to set a passphrase you know. Do you want to set a passphrase now? `,r=$(r);let h;h=$localize`Passphrase`;let k;k=$localize`Repeat passphrase`;let M;M=$localize`Not now thanks`;let L;L=$localize` Yes, update passphrase now `;let A;return A=$localize` Yes, update passphrase now `,[a,r,h,k,M,L,A,["header",""],["content",""],["type","warning"],["for","password"],["type","password","name","password","autocomplete","disabled","placeholder",n,"tabindex","1",3,"ngModelChange","ngModel"],["for","repeatPassword"],["type","password","name","repeatPassword","autocomplete","disabled","placeholder",e,"tabindex","2",3,"ngModelChange","disabled","ngModel"],["suffix","",1,"spk-success"],["suffix",""],["footer",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"loader"],["message",t,1,"primary"],["spk-button","",1,"raised","primary",3,"click"],["spk-button","",1,"raised","primary",3,"click","disabled"]]},template:function(e,t){e&1&&(s(0,"header",7)(1,"h3"),f(2,0),i()(),s(3,"div",8)(4,"spk-alert",9),p(5,1),_(6,"br")(7,"br"),u(),i(),s(8,"spk-form-field")(9,"label",10),f(10,2),i(),s(11,"input",11),q("ngModelChange",function(r){return W(t.passphrase,r)||(t.passphrase=r),r}),i()(),s(12,"spk-form-field")(13,"label",12),f(14,3),i(),s(15,"input",13),q("ngModelChange",function(r){return W(t.repeatPassphrase,r)||(t.repeatPassphrase=r),r}),i(),m(16,Be,2,0,"spk-icon",14)(17,Xe,2,0,"spk-icon",15),i()(),s(18,"footer",16)(19,"button",17),S("click",function(){return t.cancel()}),f(20,4),i(),m(21,Ve,2,2,"button",18)(22,Ke,3,3,"spk-tooltip",19),i()),e&2&&(l(11),z("ngModel",t.passphrase),l(4),D("disabled",t.passphrase().length===0),z("ngModel",t.repeatPassphrase),l(),F(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?16:17),l(3),G("loader",t.isUpdating()),l(2),F(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?21:22))},dependencies:[he,Ce,Pe,Oe,y,de,I,Ae],styles:["[_nghost-%COMP%]{display:block;--dialog-p: 1.5rem}[content][_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}"],changeDetection:0})};var ze=()=>({exact:!0});function We(o,n){o&1&&(s(0,"spk-icon"),d(1,"sun"),i())}function qe(o,n){o&1&&(s(0,"spk-icon"),d(1,"moon"),i())}function je(o,n){if(o&1){let e=O();s(0,"button",21),S("click",function(){T(e);let a=c();return C(a.changeDefaultClientTo("ngax"))}),p(1,7),_(2,"spk-icon"),u(),i(),s(3,"button",21),S("click",function(){T(e);let a=c();return C(a.logout())}),p(4,8),_(5,"spk-icon"),u(),i()}}var Q=class o{#e=g(Ie);#t=g(b);#n=g(Te);#o=g(ce);#i=g(ue);#s=g(w);#a=g(me);relayIsEnabled=this.#o.relayIsEnabled;isDarkMode=this.#e.isDarkMode;ngOnInit(){return this.#s.init(),this.#n.getBackups(!0),this.#t.getApiV1Serversettings().subscribe({next:n=>{let e=n["autogenerated-passphrase"]==="True",t=n["has-asked-for-password-change"]==="True";e&&!t&&this.#i.open(x,{maxWidth:"500px"})}})}toggleBodyClass(){this.#e.toggleBodyClass()}changeDefaultClientTo(n){this.#l(n),window.location.replace(`/${n}`)}logout(){this.#a.logout()}#l(n){var e=new Date;e.setTime(e.getTime()+90*24*60*60*1e3),document.cookie="default-client="+n+"; expires="+e.toUTCString()+"; path=/"}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=N({type:o,selectors:[["app-layout"]],decls:37,vars:4,consts:()=>{let n;n=$localize`${"\uFFFD#10\uFFFD"}:START_TAG_SPK_ICON:house${"\uFFFD/#10\uFFFD"}:CLOSE_TAG_SPK_ICON: Home `;let e;e=$localize`${"\uFFFD#13\uFFFD"}:START_TAG_SPK_ICON:database${"\uFFFD/#13\uFFFD"}:CLOSE_TAG_SPK_ICON: Add backup `;let t;t=$localize`${"\uFFFD#16\uFFFD"}:START_TAG_SPK_ICON:clock-counter-clockwise${"\uFFFD/#16\uFFFD"}:CLOSE_TAG_SPK_ICON: Restore `;let a;a=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SPK_ICON:gear${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SPK_ICON: Settings `;let r;r=$localize`${"\uFFFD#26\uFFFD"}:START_TAG_SPK_ICON:info${"\uFFFD/#26\uFFFD"}:CLOSE_TAG_SPK_ICON: About Duplicati `;let h;h=$localize`${"\uFFFD#29\uFFFD"}:START_TAG_SPK_ICON:files${"[\uFFFD/#29\uFFFD|\uFFFD/#30\uFFFD]"}:CLOSE_TAG_SPK_ICON: Documentation ${"\uFFFD#30\uFFFD"}:START_TAG_SPK_ICON_1:arrow-square-out${"[\uFFFD/#29\uFFFD|\uFFFD/#30\uFFFD]"}:CLOSE_TAG_SPK_ICON:`,h=$(h);let k;k=$localize`${"\uFFFD#33\uFFFD"}:START_TAG_SPK_ICON:chats-circle${"[\uFFFD/#33\uFFFD|\uFFFD/#34\uFFFD]"}:CLOSE_TAG_SPK_ICON: Visit forum ${"\uFFFD#34\uFFFD"}:START_TAG_SPK_ICON_1:arrow-square-out${"[\uFFFD/#33\uFFFD|\uFFFD/#34\uFFFD]"}:CLOSE_TAG_SPK_ICON:`,k=$(k);let M;M=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:skip-back${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON: Revert to NGAX client `;let L;return L=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON:sign-out${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_ICON: Log out `,[n,e,t,a,r,h,k,M,L,["sidenav",""],["spk-button","",1,"icon","small",3,"click"],[1,"base-level-20","primary"],["action","","routerLink","/","routerLinkActive","active",3,"routerLinkActiveOptions"],["action","","routerLink","/add-backup","routerLinkActive","active"],["action","","routerLink","/restore","routerLinkActive","active"],["action","","routerLink","/settings","routerLinkActive","active"],[1,"spacer"],["action","","routerLink","/about","routerLinkActive","active"],["href","https://docs.duplicati.com","target","_blank","action",""],["suffix",""],["href","https://forum.duplicati.com","target","_blank","action",""],["action","",3,"click"]]},template:function(e,t){e&1&&(s(0,"spk-sidenav")(1,"div",9)(2,"header"),_(3,"app-logo"),s(4,"button",10),S("click",function(){return t.toggleBodyClass()}),m(5,We,2,0,"spk-icon")(6,qe,2,0,"spk-icon"),i()(),s(7,"spk-list",11)(8,"button",12),p(9,0),_(10,"spk-icon"),u(),i(),s(11,"button",13),p(12,1),_(13,"spk-icon"),u(),i(),s(14,"button",14),p(15,2),_(16,"spk-icon"),u(),i(),s(17,"button",15),p(18,3),_(19,"spk-icon"),u(),i()(),_(20,"div",16),s(21,"spk-list",11),m(22,je,6,0),_(23,"spk-divider"),s(24,"button",17),p(25,4),_(26,"spk-icon"),u(),i(),s(27,"a",18),p(28,5),_(29,"spk-icon")(30,"spk-icon",19),u(),i(),s(31,"a",20),p(32,6),_(33,"spk-icon")(34,"spk-icon",19),u(),i()()(),_(35,"router-outlet")(36,"app-service-hub"),i()),e&2&&(l(5),F(t.isDarkMode()?5:6),l(3),D("routerLinkActiveOptions",se(3,ze)),l(14),F(t.relayIsEnabled()?-1:22))},dependencies:[le,re,_e,Fe,I,ge,H,Se,v,De],styles:["[_nghost-%COMP%]{height:100vh;width:100%;overflow:hidden}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:20px;gap:12px}h3[title][_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}div[sidenav][_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100vh}"],changeDetection:0})};export{Q as default};
package/index.html CHANGED
@@ -59,9 +59,9 @@
59
59
  }
60
60
  }
61
61
  </style>
62
- <style>:root{--font-size:16px;font-size:var(--font-size)}html body{--sparkle-light:initial;--sparkle-dark: ;color-scheme:light dark;--primary-50:#eff6ff;--primary-contrast-50:var(--dark-primary-text);--primary-100:#dbeafe;--primary-contrast-100:var(--dark-primary-text);--primary-200:#bfdbfe;--primary-contrast-200:var(--dark-primary-text);--primary-300:#93c5fd;--primary-contrast-300:var(--dark-primary-text);--primary-400:#60a5fa;--primary-contrast-400:var(--dark-primary-text);--primary-500:#3b82f6;--primary-contrast-500:var(--light-primary-text);--primary-600:#2563eb;--primary-contrast-600:var(--light-primary-text);--primary-700:#1d4ed8;--primary-contrast-700:var(--light-primary-text);--primary-800:#1e40af;--primary-contrast-800:var(--light-primary-text);--primary-900:#1e3a8a;--primary-contrast-900:var(--light-primary-text);--primary-950:#172554;--primary-contrast-950:var(--light-primary-text);--accent-50:#f5f3ff;--accent-contrast-50:var(--dark-primary-text);--accent-100:#ede9fe;--accent-contrast-100:var(--dark-primary-text);--accent-200:#ddd6fe;--accent-contrast-200:var(--dark-primary-text);--accent-300:#c4b5fd;--accent-contrast-300:var(--dark-primary-text);--accent-400:#a78bfa;--accent-contrast-400:var(--dark-primary-text);--accent-500:#8b5cf6;--accent-contrast-500:var(--light-primary-text);--accent-600:#7c3aed;--accent-contrast-600:var(--light-primary-text);--accent-700:#6d28d9;--accent-contrast-700:var(--light-primary-text);--accent-800:#5b21b6;--accent-contrast-800:var(--light-primary-text);--accent-900:#4c1d95;--accent-contrast-900:var(--light-primary-text);--accent-950:#2e1065;--accent-contrast-950:var(--light-primary-text);--warn-50:#fffbeb;--warn-contrast-50:var(--dark-primary-text);--warn-100:#fef3c7;--warn-contrast-100:var(--dark-primary-text);--warn-200:#fde68a;--warn-contrast-200:var(--dark-primary-text);--warn-300:#fcd34d;--warn-contrast-300:var(--dark-primary-text);--warn-400:#fbbf24;--warn-contrast-400:var(--light-primary-text);--warn-500:#f59e0b;--warn-contrast-500:var(--light-primary-text);--warn-600:#d97706;--warn-contrast-600:var(--light-primary-text);--warn-700:#b45309;--warn-contrast-700:var(--light-primary-text);--warn-800:#92400e;--warn-contrast-800:var(--light-primary-text);--warn-900:#78350f;--warn-contrast-900:var(--light-primary-text);--warn-950:#451a03;--warn-contrast-950:var(--light-primary-text);--error-50:#fef2f2;--error-contrast-50:var(--dark-primary-text);--error-100:#fee2e2;--error-contrast-100:var(--dark-primary-text);--error-200:#fecaca;--error-contrast-200:var(--dark-primary-text);--error-300:#fca5a5;--error-contrast-300:var(--dark-primary-text);--error-400:#f87171;--error-contrast-400:var(--light-primary-text);--error-500:#ef4444;--error-contrast-500:var(--light-primary-text);--error-600:#dc2626;--error-contrast-600:var(--light-primary-text);--error-700:#b91c1c;--error-contrast-700:var(--light-primary-text);--error-800:#991b1b;--error-contrast-800:var(--light-primary-text);--error-900:#7f1d1d;--error-contrast-900:var(--light-primary-text);--error-950:#450a0a;--error-contrast-950:var(--light-primary-text);--success-50:#ecfdf5;--success-contrast-50:var(--dark-primary-text);--success-100:#d1fae5;--success-contrast-100:var(--dark-primary-text);--success-200:#a7f3d0;--success-contrast-200:var(--dark-primary-text);--success-300:#6ee7b7;--success-contrast-300:var(--dark-primary-text);--success-400:#34d399;--success-contrast-400:var(--light-primary-text);--success-500:#10b981;--success-contrast-500:var(--light-primary-text);--success-600:#059669;--success-contrast-600:var(--light-primary-text);--success-700:#047857;--success-contrast-700:var(--light-primary-text);--success-800:#065f46;--success-contrast-800:var(--light-primary-text);--success-900:#064e3b;--success-contrast-900:var(--light-primary-text);--success-950:#022c22;--success-contrast-950:var(--light-primary-text);--grey-50:#fafafa;--grey-contrast-50:var(--dark-primary-text);--grey-100:#f4f4f5;--grey-contrast-100:var(--dark-primary-text);--grey-200:#e4e4e7;--grey-contrast-200:var(--dark-primary-text);--grey-300:#d4d4d8;--grey-contrast-300:var(--dark-primary-text);--grey-400:#a1a1aa;--grey-contrast-400:var(--dark-primary-text);--grey-500:#71717a;--grey-contrast-500:var(--light-primary-text);--grey-600:#52525b;--grey-contrast-600:var(--light-primary-text);--grey-700:#3f3f46;--grey-contrast-700:var(--light-primary-text);--grey-750:#2f2f31;--grey-contrast-750:var(--light-primary-text);--grey-800:#27272a;--grey-contrast-800:var(--light-primary-text);--grey-900:#18181b;--grey-contrast-900:var(--light-primary-text);--grey-950:#09090b;--grey-contrast-950:var(--light-primary-text);--display-10:600 5rem / normal Inter Tight, sans-serif;--display-20:600 4.5rem / normal Inter Tight, sans-serif;--display-30:600 4rem / normal Inter Tight, sans-serif;--display-40:600 3.5rem / normal Inter Tight, sans-serif;--display-50:600 3rem / normal Inter Tight, sans-serif;--title-10:500 2.5rem / normal Inter Tight, sans-serif;--title-20:500 2rem / normal Inter Tight, sans-serif;--title-30:500 1.5rem / normal Inter Tight, sans-serif;--title-10B:600 2.5rem / normal Inter Tight, sans-serif;--title-20B:600 2rem / normal Inter Tight, sans-serif;--title-30B:600 1.5rem / normal Inter Tight, sans-serif;--paragraph-10:500 1.125rem / normal Inter Tight, sans-serif;--paragraph-20:500 1rem / normal Inter Tight, sans-serif;--paragraph-30:500 .875rem / normal Inter Tight, sans-serif;--paragraph-40:500 .75rem / normal Inter Tight, sans-serif;--paragraph-10B:600 1.125rem / normal Inter Tight, sans-serif;--paragraph-20B:600 1rem / normal Inter Tight, sans-serif;--paragraph-30B:600 .875rem / 1.125rem Inter Tight, sans-serif;--paragraph-40B:600 .75rem / normal Inter Tight, sans-serif;--shape-1:.25rem;--shape-2:.5rem;--shape-3:.75rem;--shape-4:1rem;--shape-5:1.25rem;--box-shadow-10:0 1px 2px 0 rgba(18, 18, 23, .07);--box-shadow-20:0 1px 3px 0 rgba(18, 18, 23, .1);--box-shadow-30:0 1px 4px -1px rgba(18, 18, 23, .08);--box-shadow-35:0 4px 6px -1px rgba(18, 18, 23, .08);--box-shadow-40:0 10px 15px -3px rgba(18, 18, 23, .08);--box-shadow-50:0 20px 25px -5px rgba(18, 18, 23, .1);--box-shadow-60:0 25px 50px -12px rgba(18, 18, 23, .25);--base-level-10:var(--sparkle-light, #fff) var(--sparkle-dark, var(--grey-950));--base-level-20:var(--sparkle-light, var(--grey-50)) var(--sparkle-dark, var(--grey-900));--base-level-30:var(--sparkle-light, var(--grey-100)) var(--sparkle-dark, var(--grey-900));--base-level-30R:var(--sparkle-light, var(--grey-900)) var(--sparkle-dark, var(--grey-100));--base-level-40:var(--sparkle-light, var(--grey-200)) var(--sparkle-dark, var(--grey-700));--base-level-50:var(--sparkle-light, var(--grey-300)) var(--sparkle-dark, var(--grey-800));--base-level-60:var(--sparkle-light, var(--grey-500)) var(--sparkle-dark, var(--grey-400));--base-level-60R:var(--sparkle-light, var(--grey-400)) var(--sparkle-dark, var(--grey-500));--base-level-70:var(--sparkle-light, var(--grey-900)) var(--sparkle-dark, #fff);--base-level-70R:var(--sparkle-light, #fff) var(--sparkle-dark, var(--grey-900));--base-gradient-20:linear-gradient(180deg, var(--grey-400) 0%, var(--grey-500) 50%);--base-gradient-30:linear-gradient(180deg, var(--grey-300) 0%, var(--grey-500) 50%);--base-gradient-60:linear-gradient(180deg, var(--grey-700) 0%, var(--grey-900) 50%);--base-gradient-70:linear-gradient(180deg, var(--grey-600) 0%, var(--grey-900) 50%);--primary-level-20:var(--sparkle-light, var(--primary-50)) var(--sparkle-dark, var(--primary-950));--primary-level-30:var(--sparkle-light, var(--primary-100)) var(--sparkle-dark, var(--primary-900));--primary-level-40:var(--sparkle-light, var(--primary-200)) var(--sparkle-dark, var(--primary-800));--primary-level-50:var(--sparkle-light, var(--primary-300)) var(--sparkle-dark, var(--primary-800));--primary-level-50R:var(--sparkle-light, var(--primary-800)) var(--sparkle-dark, var(--primary-300));--primary-level-80:var(--sparkle-light, var(--primary-900)) var(--sparkle-dark, var(--primary-300));--primary-gradient-20:linear-gradient(180deg, var(--primary-400) 0%, var(--primary-500) 50%);--primary-gradient-30:linear-gradient(180deg, var(--primary-300) 0%, var(--primary-500) 50%);--accent-level-20:var(--sparkle-light, var(--accent-50)) var(--sparkle-dark, var(--accent-950));--accent-level-30:var(--sparkle-light, var(--accent-100)) var(--sparkle-dark, var(--accent-900));--accent-level-40:var(--sparkle-light, var(--accent-200)) var(--sparkle-dark, var(--accent-800));--accent-level-50:var(--sparkle-light, var(--accent-300)) var(--sparkle-dark, var(--accent-800));--accent-level-50R:var(--sparkle-light, var(--accent-800)) var(--sparkle-dark, var(--accent-300));--accent-level-80:var(--sparkle-light, var(--accent-900)) var(--sparkle-dark, var(--accent-300));--accent-gradient-20:linear-gradient(180deg, var(--accent-400) 0%, var(--accent-500) 50%);--accent-gradient-30:linear-gradient(180deg, var(--accent-300) 0%, var(--accent-500) 50%);--warn-level-20:var(--sparkle-light, var(--warn-50)) var(--sparkle-dark, var(--warn-950));--warn-level-30:var(--sparkle-light, var(--warn-100)) var(--sparkle-dark, var(--warn-900));--warn-level-40:var(--sparkle-light, var(--warn-200)) var(--sparkle-dark, var(--warn-800));--warn-level-50:var(--sparkle-light, var(--warn-300)) var(--sparkle-dark, var(--warn-800));--warn-level-50R:var(--sparkle-light, var(--warn-800)) var(--sparkle-dark, var(--warn-300));--warn-level-80:var(--sparkle-light, var(--warn-900)) var(--sparkle-dark, var(--warn-300));--warn-gradient-20:linear-gradient(180deg, var(--warn-400) 0%, var(--warn-500) 50%);--warn-gradient-30:linear-gradient(180deg, var(--warn-300) 0%, var(--warn-500) 50%);--error-level-20:var(--sparkle-light, var(--error-50)) var(--sparkle-dark, var(--error-950));--error-level-30:var(--sparkle-light, var(--error-100)) var(--sparkle-dark, var(--error-900));--error-level-40:var(--sparkle-light, var(--error-200)) var(--sparkle-dark, var(--error-800));--error-level-50:var(--sparkle-light, var(--error-300)) var(--sparkle-dark, var(--error-800));--error-level-50R:var(--sparkle-light, var(--error-800)) var(--sparkle-dark, var(--error-300));--error-level-80:var(--sparkle-light, var(--error-900)) var(--sparkle-dark, var(--error-300));--error-gradient-20:linear-gradient(180deg, var(--error-400) 0%, var(--error-500) 50%);--error-gradient-30:linear-gradient(180deg, var(--error-300) 0%, var(--error-500) 50%);--success-level-20:var(--sparkle-light, var(--success-50)) var(--sparkle-dark, var(--success-950));--success-level-30:var(--sparkle-light, var(--success-100)) var(--sparkle-dark, var(--success-900));--success-level-40:var(--sparkle-light, var(--success-200)) var(--sparkle-dark, var(--success-800));--success-level-50:var(--sparkle-light, var(--success-300)) var(--sparkle-dark, var(--success-800));--success-level-50R:var(--sparkle-light, var(--success-800)) var(--sparkle-dark, var(--success-300));--success-level-80:var(--sparkle-light, var(--success-900)) var(--sparkle-dark, var(--success-300));--success-gradient-20:linear-gradient(180deg, var(--success-400) 0%, var(--success-500) 50%);--success-gradient-30:linear-gradient(180deg, var(--success-300) 0%, var(--success-500) 50%);--dark-primary-text:var(--grey-900);--light-primary-text:#fff}*{box-sizing:border-box}html,body,app-root{width:100vw;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--base-level-20)}body{margin:0;font:var(--paragraph-30);color:var(--base-level-70)}*::-webkit-scrollbar{width:12px;height:12px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#acacac;background:var(--sparkle-light, #acacac) var(--sparkle-dark, #4f4f4f);border-radius:20px;border:4px solid transparent;border-left-width:2px;border-right-width:3px;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background-color:#888}.loading{position:relative}.loading:before{content:"";width:1rem;height:1rem;border:2px solid var(--loader-c);border-bottom-color:transparent;border-radius:50%;display:flex;box-sizing:border-box;animation:rotation 1s linear infinite;margin:auto;inset:0;position:absolute}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}</style><link rel="stylesheet" href="styles-V3SS5M3J.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles-V3SS5M3J.css"></noscript></head>
62
+ <style>:root{--font-size:16px;font-size:var(--font-size)}html body{--sparkle-light:initial;--sparkle-dark: ;color-scheme:light dark;--primary-50:#eff6ff;--primary-contrast-50:var(--dark-primary-text);--primary-100:#dbeafe;--primary-contrast-100:var(--dark-primary-text);--primary-200:#bfdbfe;--primary-contrast-200:var(--dark-primary-text);--primary-300:#93c5fd;--primary-contrast-300:var(--dark-primary-text);--primary-400:#60a5fa;--primary-contrast-400:var(--dark-primary-text);--primary-500:#3b82f6;--primary-contrast-500:var(--light-primary-text);--primary-600:#2563eb;--primary-contrast-600:var(--light-primary-text);--primary-700:#1d4ed8;--primary-contrast-700:var(--light-primary-text);--primary-800:#1e40af;--primary-contrast-800:var(--light-primary-text);--primary-900:#1e3a8a;--primary-contrast-900:var(--light-primary-text);--primary-950:#172554;--primary-contrast-950:var(--light-primary-text);--accent-50:#f5f3ff;--accent-contrast-50:var(--dark-primary-text);--accent-100:#ede9fe;--accent-contrast-100:var(--dark-primary-text);--accent-200:#ddd6fe;--accent-contrast-200:var(--dark-primary-text);--accent-300:#c4b5fd;--accent-contrast-300:var(--dark-primary-text);--accent-400:#a78bfa;--accent-contrast-400:var(--dark-primary-text);--accent-500:#8b5cf6;--accent-contrast-500:var(--light-primary-text);--accent-600:#7c3aed;--accent-contrast-600:var(--light-primary-text);--accent-700:#6d28d9;--accent-contrast-700:var(--light-primary-text);--accent-800:#5b21b6;--accent-contrast-800:var(--light-primary-text);--accent-900:#4c1d95;--accent-contrast-900:var(--light-primary-text);--accent-950:#2e1065;--accent-contrast-950:var(--light-primary-text);--warn-50:#fffbeb;--warn-contrast-50:var(--dark-primary-text);--warn-100:#fef3c7;--warn-contrast-100:var(--dark-primary-text);--warn-200:#fde68a;--warn-contrast-200:var(--dark-primary-text);--warn-300:#fcd34d;--warn-contrast-300:var(--dark-primary-text);--warn-400:#fbbf24;--warn-contrast-400:var(--light-primary-text);--warn-500:#f59e0b;--warn-contrast-500:var(--light-primary-text);--warn-600:#d97706;--warn-contrast-600:var(--light-primary-text);--warn-700:#b45309;--warn-contrast-700:var(--light-primary-text);--warn-800:#92400e;--warn-contrast-800:var(--light-primary-text);--warn-900:#78350f;--warn-contrast-900:var(--light-primary-text);--warn-950:#451a03;--warn-contrast-950:var(--light-primary-text);--error-50:#fef2f2;--error-contrast-50:var(--dark-primary-text);--error-100:#fee2e2;--error-contrast-100:var(--dark-primary-text);--error-200:#fecaca;--error-contrast-200:var(--dark-primary-text);--error-300:#fca5a5;--error-contrast-300:var(--dark-primary-text);--error-400:#f87171;--error-contrast-400:var(--light-primary-text);--error-500:#ef4444;--error-contrast-500:var(--light-primary-text);--error-600:#dc2626;--error-contrast-600:var(--light-primary-text);--error-700:#b91c1c;--error-contrast-700:var(--light-primary-text);--error-800:#991b1b;--error-contrast-800:var(--light-primary-text);--error-900:#7f1d1d;--error-contrast-900:var(--light-primary-text);--error-950:#450a0a;--error-contrast-950:var(--light-primary-text);--success-50:#ecfdf5;--success-contrast-50:var(--dark-primary-text);--success-100:#d1fae5;--success-contrast-100:var(--dark-primary-text);--success-200:#a7f3d0;--success-contrast-200:var(--dark-primary-text);--success-300:#6ee7b7;--success-contrast-300:var(--dark-primary-text);--success-400:#34d399;--success-contrast-400:var(--light-primary-text);--success-500:#10b981;--success-contrast-500:var(--light-primary-text);--success-600:#059669;--success-contrast-600:var(--light-primary-text);--success-700:#047857;--success-contrast-700:var(--light-primary-text);--success-800:#065f46;--success-contrast-800:var(--light-primary-text);--success-900:#064e3b;--success-contrast-900:var(--light-primary-text);--success-950:#022c22;--success-contrast-950:var(--light-primary-text);--grey-50:#fafafa;--grey-contrast-50:var(--dark-primary-text);--grey-100:#f4f4f5;--grey-contrast-100:var(--dark-primary-text);--grey-200:#e4e4e7;--grey-contrast-200:var(--dark-primary-text);--grey-300:#d4d4d8;--grey-contrast-300:var(--dark-primary-text);--grey-400:#a1a1aa;--grey-contrast-400:var(--dark-primary-text);--grey-500:#71717a;--grey-contrast-500:var(--light-primary-text);--grey-600:#52525b;--grey-contrast-600:var(--light-primary-text);--grey-700:#3f3f46;--grey-contrast-700:var(--light-primary-text);--grey-750:#2f2f31;--grey-contrast-750:var(--light-primary-text);--grey-800:#27272a;--grey-contrast-800:var(--light-primary-text);--grey-900:#18181b;--grey-contrast-900:var(--light-primary-text);--grey-950:#09090b;--grey-contrast-950:var(--light-primary-text);--display-10:600 5rem / normal Inter Tight, sans-serif;--display-20:600 4.5rem / normal Inter Tight, sans-serif;--display-30:600 4rem / normal Inter Tight, sans-serif;--display-40:600 3.5rem / normal Inter Tight, sans-serif;--display-50:600 3rem / normal Inter Tight, sans-serif;--title-10:500 2.5rem / normal Inter Tight, sans-serif;--title-20:500 2rem / normal Inter Tight, sans-serif;--title-30:500 1.5rem / normal Inter Tight, sans-serif;--title-10B:600 2.5rem / normal Inter Tight, sans-serif;--title-20B:600 2rem / normal Inter Tight, sans-serif;--title-30B:600 1.5rem / normal Inter Tight, sans-serif;--paragraph-10:500 1.125rem / normal Inter Tight, sans-serif;--paragraph-20:500 1rem / normal Inter Tight, sans-serif;--paragraph-30:500 .875rem / normal Inter Tight, sans-serif;--paragraph-40:500 .75rem / normal Inter Tight, sans-serif;--paragraph-10B:600 1.125rem / normal Inter Tight, sans-serif;--paragraph-20B:600 1rem / normal Inter Tight, sans-serif;--paragraph-30B:600 .875rem / 1.125rem Inter Tight, sans-serif;--paragraph-40B:600 .75rem / normal Inter Tight, sans-serif;--shape-1:.25rem;--shape-2:.5rem;--shape-3:.75rem;--shape-4:1rem;--shape-5:1.25rem;--box-shadow-10:0 1px 2px 0 rgba(18, 18, 23, .07);--box-shadow-20:0 1px 3px 0 rgba(18, 18, 23, .1);--box-shadow-30:0 1px 4px -1px rgba(18, 18, 23, .08);--box-shadow-35:0 4px 6px -1px rgba(18, 18, 23, .08);--box-shadow-40:0 10px 15px -3px rgba(18, 18, 23, .08);--box-shadow-50:0 20px 25px -5px rgba(18, 18, 23, .1);--box-shadow-60:0 25px 50px -12px rgba(18, 18, 23, .25);--base-level-10:var(--sparkle-light, #fff) var(--sparkle-dark, var(--grey-950));--base-level-20:var(--sparkle-light, var(--grey-50)) var(--sparkle-dark, var(--grey-900));--base-level-30:var(--sparkle-light, var(--grey-100)) var(--sparkle-dark, var(--grey-900));--base-level-30R:var(--sparkle-light, var(--grey-900)) var(--sparkle-dark, var(--grey-100));--base-level-40:var(--sparkle-light, var(--grey-200)) var(--sparkle-dark, var(--grey-700));--base-level-50:var(--sparkle-light, var(--grey-300)) var(--sparkle-dark, var(--grey-800));--base-level-60:var(--sparkle-light, var(--grey-500)) var(--sparkle-dark, var(--grey-400));--base-level-60R:var(--sparkle-light, var(--grey-400)) var(--sparkle-dark, var(--grey-500));--base-level-70:var(--sparkle-light, var(--grey-900)) var(--sparkle-dark, #fff);--base-level-70R:var(--sparkle-light, #fff) var(--sparkle-dark, var(--grey-900));--base-gradient-20:linear-gradient(180deg, var(--grey-400) 0%, var(--grey-500) 50%);--base-gradient-30:linear-gradient(180deg, var(--grey-300) 0%, var(--grey-500) 50%);--base-gradient-60:linear-gradient(180deg, var(--grey-700) 0%, var(--grey-900) 50%);--base-gradient-70:linear-gradient(180deg, var(--grey-600) 0%, var(--grey-900) 50%);--primary-level-20:var(--sparkle-light, var(--primary-50)) var(--sparkle-dark, var(--primary-950));--primary-level-30:var(--sparkle-light, var(--primary-100)) var(--sparkle-dark, var(--primary-900));--primary-level-40:var(--sparkle-light, var(--primary-200)) var(--sparkle-dark, var(--primary-800));--primary-level-50:var(--sparkle-light, var(--primary-300)) var(--sparkle-dark, var(--primary-800));--primary-level-50R:var(--sparkle-light, var(--primary-800)) var(--sparkle-dark, var(--primary-300));--primary-level-80:var(--sparkle-light, var(--primary-900)) var(--sparkle-dark, var(--primary-300));--primary-gradient-20:linear-gradient(180deg, var(--primary-400) 0%, var(--primary-500) 50%);--primary-gradient-30:linear-gradient(180deg, var(--primary-300) 0%, var(--primary-500) 50%);--accent-level-20:var(--sparkle-light, var(--accent-50)) var(--sparkle-dark, var(--accent-950));--accent-level-30:var(--sparkle-light, var(--accent-100)) var(--sparkle-dark, var(--accent-900));--accent-level-40:var(--sparkle-light, var(--accent-200)) var(--sparkle-dark, var(--accent-800));--accent-level-50:var(--sparkle-light, var(--accent-300)) var(--sparkle-dark, var(--accent-800));--accent-level-50R:var(--sparkle-light, var(--accent-800)) var(--sparkle-dark, var(--accent-300));--accent-level-80:var(--sparkle-light, var(--accent-900)) var(--sparkle-dark, var(--accent-300));--accent-gradient-20:linear-gradient(180deg, var(--accent-400) 0%, var(--accent-500) 50%);--accent-gradient-30:linear-gradient(180deg, var(--accent-300) 0%, var(--accent-500) 50%);--warn-level-20:var(--sparkle-light, var(--warn-50)) var(--sparkle-dark, var(--warn-950));--warn-level-30:var(--sparkle-light, var(--warn-100)) var(--sparkle-dark, var(--warn-900));--warn-level-40:var(--sparkle-light, var(--warn-200)) var(--sparkle-dark, var(--warn-800));--warn-level-50:var(--sparkle-light, var(--warn-300)) var(--sparkle-dark, var(--warn-800));--warn-level-50R:var(--sparkle-light, var(--warn-800)) var(--sparkle-dark, var(--warn-300));--warn-level-80:var(--sparkle-light, var(--warn-900)) var(--sparkle-dark, var(--warn-300));--warn-gradient-20:linear-gradient(180deg, var(--warn-400) 0%, var(--warn-500) 50%);--warn-gradient-30:linear-gradient(180deg, var(--warn-300) 0%, var(--warn-500) 50%);--error-level-20:var(--sparkle-light, var(--error-50)) var(--sparkle-dark, var(--error-950));--error-level-30:var(--sparkle-light, var(--error-100)) var(--sparkle-dark, var(--error-900));--error-level-40:var(--sparkle-light, var(--error-200)) var(--sparkle-dark, var(--error-800));--error-level-50:var(--sparkle-light, var(--error-300)) var(--sparkle-dark, var(--error-800));--error-level-50R:var(--sparkle-light, var(--error-800)) var(--sparkle-dark, var(--error-300));--error-level-80:var(--sparkle-light, var(--error-900)) var(--sparkle-dark, var(--error-300));--error-gradient-20:linear-gradient(180deg, var(--error-400) 0%, var(--error-500) 50%);--error-gradient-30:linear-gradient(180deg, var(--error-300) 0%, var(--error-500) 50%);--success-level-20:var(--sparkle-light, var(--success-50)) var(--sparkle-dark, var(--success-950));--success-level-30:var(--sparkle-light, var(--success-100)) var(--sparkle-dark, var(--success-900));--success-level-40:var(--sparkle-light, var(--success-200)) var(--sparkle-dark, var(--success-800));--success-level-50:var(--sparkle-light, var(--success-300)) var(--sparkle-dark, var(--success-800));--success-level-50R:var(--sparkle-light, var(--success-800)) var(--sparkle-dark, var(--success-300));--success-level-80:var(--sparkle-light, var(--success-900)) var(--sparkle-dark, var(--success-300));--success-gradient-20:linear-gradient(180deg, var(--success-400) 0%, var(--success-500) 50%);--success-gradient-30:linear-gradient(180deg, var(--success-300) 0%, var(--success-500) 50%);--dark-primary-text:var(--grey-900);--light-primary-text:#fff}*{box-sizing:border-box}html,body,app-root{width:100vw;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--base-level-20)}body{margin:0;font:var(--paragraph-30);color:var(--base-level-70)}*::-webkit-scrollbar{width:8px;height:12px;background:transparent}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#acacac;background:var(--sparkle-light, #acacac) var(--sparkle-dark, #4f4f4f);border-radius:50px;border:3px solid transparent;border-left-width:1px;border-right-width:2px;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background-color:#888}.loading{position:relative}.loading:before{content:"";width:1rem;height:1rem;border:2px solid var(--loader-c);border-bottom-color:transparent;border-radius:50%;display:flex;box-sizing:border-box;animation:rotation 1s linear infinite;margin:auto;inset:0;position:absolute}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}</style><link rel="stylesheet" href="styles-UL5PH77J.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles-UL5PH77J.css"></noscript></head>
63
63
  <body>
64
64
  <app-root></app-root>
65
65
  <div class="loading">Loading ...</div>
66
- <link rel="modulepreload" href="chunk-6HTVIY6O.js"><link rel="modulepreload" href="chunk-URU2SLPX.js"><link rel="modulepreload" href="chunk-QP4QZQOW.js"><link rel="modulepreload" href="chunk-3W6M5IZL.js"><link rel="modulepreload" href="chunk-2ZVLF3KW.js"><link rel="modulepreload" href="chunk-6OKAWH4X.js"><link rel="modulepreload" href="chunk-GDHVQU56.js"><link rel="modulepreload" href="chunk-RHW5QVAY.js"><link rel="modulepreload" href="chunk-O2YN63YI.js"><link rel="modulepreload" href="chunk-CHRKPWRG.js"><script src="polyfills-6QHLTIIN.js" type="module"></script><script src="main-S6Q4T2BU.js" type="module"></script></body>
66
+ <link rel="modulepreload" href="chunk-6HTVIY6O.js"><link rel="modulepreload" href="chunk-GJROCOAD.js"><link rel="modulepreload" href="chunk-HXP5ZXIT.js"><link rel="modulepreload" href="chunk-3W6M5IZL.js"><link rel="modulepreload" href="chunk-7LU4D3GR.js"><link rel="modulepreload" href="chunk-EXJKKQZX.js"><link rel="modulepreload" href="chunk-OTLEEXAA.js"><link rel="modulepreload" href="chunk-RHW5QVAY.js"><link rel="modulepreload" href="chunk-O2YN63YI.js"><link rel="modulepreload" href="chunk-F4EEOSGJ.js"><script src="polyfills-6QHLTIIN.js" type="module"></script><script src="main-EVBG63XG.js" type="module"></script></body>
67
67
  </html>
@@ -1 +1 @@
1
- import{b as ye,c as be}from"./chunk-6HTVIY6O.js";import{a as L}from"./chunk-URU2SLPX.js";import{a as ue}from"./chunk-QP4QZQOW.js";import{a as ge}from"./chunk-3W6M5IZL.js";import{a as I}from"./chunk-2ZVLF3KW.js";import"./chunk-6OKAWH4X.js";import"./chunk-GDHVQU56.js";import{a as x}from"./chunk-RHW5QVAY.js";import{a as le}from"./chunk-O2YN63YI.js";import{a as v,b as de,c as E}from"./chunk-CHRKPWRG.js";import{a as C}from"./chunk-I3C2AEHI.js";import{c as se,d as ie,g as ae,h as pe}from"./chunk-QVIZK4WW.js";import{a as re}from"./chunk-WMTA6PZM.js";import{c as me}from"./chunk-WX7L7V6J.js";import{a as Z,b as ee,d as te,e as oe,f as ne,i as ce}from"./chunk-4AECHE4W.js";import{a as fe}from"./chunk-JV6DGJII.js";import{j as Q,l as Y}from"./chunk-CKPICCFH.js";import{b as he}from"./chunk-EF7JWRDC.js";import{A as N,B as F,Bc as X,F as w,L as G,N as T,P as J,S as k,V as B,Y as s,ab as K,f as W,i as j,ja as $,n as D,o as U,r as R,ua as d,uc as z,vc as q,yb as _}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";var M=class t{#o=s(C);#s=s(v);ngOnInit(){this.#s.fetchConfig(),this.#o.clearAllNotCurrentVersion()}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=K({type:t,selectors:[["app-root"]],decls:1,vars:0,template:function(o,n){o&1&&_(0,"router-outlet")},dependencies:[se],encapsulation:2})};var ve={production:!0,baseUrl:"/api",machineServerUrl:"${WS_URL}",defaultTimeout:3e4};var h=new B("ENVIRONMENT");var A=class t{#o=s(ce);isLoaded=d(!1);webmodules=d(null);preload(e=!1){let o=this.#o.getApiV1Webmodules().pipe(J(n=>this.webmodules.set(n)),w(()=>this.isLoaded.set(!0)));if(e)return o;o.subscribe()}static \u0275fac=function(o){return new(o||t)};static \u0275prov=k({token:t,factory:t.\u0275fac,providedIn:"root"})};var Ie=()=>{let t=s(E);return t.token()?!0:t.checkProxyAuthed().pipe(T(e=>e?D(!0):t.refreshToken().pipe(R(()=>!0))))},Me=()=>{let t=s(v),e=s(I),o=s($),n=t.relayIsEnabled()?"longpoll":"websocket",i=[o.get(L).preload(!0),o.get(L).preloadFilterGroups(!0),o.get(A).preload(!0)];return t.configLoaded===null?N(i).pipe(R(()=>n)):t.configLoaded?.pipe(T(()=>N(i)))},Se=[{path:"",children:[{path:"login",canActivate:[],loadComponent:()=>import("./chunk-YJNKW5ES.js")},{path:"logout",loadComponent:()=>import("./chunk-KEAH5JAH.js")},{path:"",canActivate:[Ie],children:[{path:"",canActivate:[Me],loadComponent:()=>import("./chunk-ZMDK6XIQ.js"),children:[{path:"",loadComponent:()=>import("./chunk-JIPJYOH5.js")},{path:"add-backup",loadComponent:()=>import("./chunk-2KUDLHPP.js")},{path:"backup/:id/export",loadComponent:()=>import("./chunk-3M3M4YXP.js")},{path:"backup/import",loadComponent:()=>import("./chunk-CR4OKZPA.js")},{path:"backup-draft/:id",loadComponent:()=>import("./chunk-LZUCVLMF.js"),loadChildren:()=>import("./chunk-YD7PS7OS.js")},{path:"backup/:id",loadComponent:()=>import("./chunk-LZUCVLMF.js"),loadChildren:()=>import("./chunk-YD7PS7OS.js")},{path:"backup/:id/log",loadComponent:()=>import("./chunk-RQSBT3TK.js")},{path:"backup/:id/database",loadComponent:()=>import("./chunk-XJAEXNPS.js")},{path:"backup/:id/commandline",loadComponent:()=>import("./chunk-NP4VUDPK.js")},{path:"backup/:id/commandline/:runId",loadComponent:()=>import("./chunk-QKA2VJWD.js")},{path:"restore",children:[{path:"",loadComponent:()=>import("./chunk-WQLN5T4T.js")},{path:"from-config",loadComponent:()=>import("./chunk-T33TACR6.js")}]},{path:"restore-from-files",loadComponent:()=>import("./chunk-WEQQEKIH.js"),loadChildren:()=>import("./chunk-W577IVOD.js")},{path:"restore-draft/:id",loadComponent:()=>import("./chunk-WEQQEKIH.js"),loadChildren:()=>import("./chunk-W577IVOD.js")},{path:"restore/:id",loadComponent:()=>import("./chunk-WEQQEKIH.js"),loadChildren:()=>import("./chunk-W577IVOD.js")},{path:"settings",loadComponent:()=>import("./chunk-25ZZFR2F.js")},{path:"about",loadComponent:()=>import("./chunk-HLHNKLWF.js"),children:[{path:"",redirectTo:"general",pathMatch:"full"},{path:"general",loadComponent:()=>import("./chunk-45RYC5NZ.js")},{path:"changelog",loadComponent:()=>import("./chunk-Z4MV4ZSL.js")},{path:"libraries",loadComponent:()=>import("./chunk-PFE36372.js")},{path:"system-info",loadComponent:()=>import("./chunk-XTWVXTYP.js")},{path:"logs",loadChildren:()=>import("./chunk-X4SAPDOB.js")},{path:"crashlogs",loadComponent:()=>import("./chunk-2MCIQSK2.js")}]}]}]}]}];var P=null,Re=(t,e)=>{let o=s(E),n=s(ie),i=s(C),l=s(h),r=i.getItem("locale"),u=s(me),a=ye(r),p=t.url==="/api/v1/auth/login",m=t.url==="/api/v1/auth/refresh",S=t.url==="/api/v1/progressstate",g=t.url==="/api/v1/remoteoperation/test",y=t.url.startsWith("/api/v2/"),b=o.token(),H=t,V=t.headers.has("custom-proxy-check")||b===de;if(b&&t.url.startsWith(l.baseUrl)&&!V){let c=t.headers.set("Authorization",`Bearer ${b}`);r&&r!=="en-US"&&(c=c.set("X-Ui-Language",a)),H=t.clone({headers:c})}return e(H).pipe(R(c=>{if(c.type===4&&c.status===200&&y){let f=c.body;if(f?.Success===!1)throw{status:200,message:f?.Error??"Unknown error",error:{Error:f?.Error??"Unknown error"},body:f}}return c}),F(c=>{let f=c.error?.Error||`Error Code: ${c.status}, Message: ${c.message}`;return!V&&(S&&c.status===404||g||u.error(f),m&&c.status===401&&(o.logout(),n.navigate(["/logout"])),!p&&!m&&c.status===401)?(P??=o.refreshToken().pipe(G()),P.pipe(T(()=>e(t.clone({headers:t.headers.set("Authorization",`Bearer ${o.token()}`)}))),w(()=>P=null))):U(()=>({error:c,message:f}))}))};var Ae="1.0.0",Te=`portal-proxy-client-${x()}`,Oe=1,O=class t{#o=1e3;#s=s(h);#t=d("disconnected");#l=d(this.#o);#i=d(!1);#n=d(!1);#a=d(null);isConnectedToMachineServer=this.#n.asReadonly();wsState=this.#t.asReadonly();#p=[];#r={};#e=null;#m=new TextDecoder("utf-8");#c=null;#d=X(()=>{let e=this.#i(),o=this.#l(),n=this.#a();if(!n||!e||!o||o<this.#o){this.#c&&window.clearInterval(this.#c);return}this.#c=window.setInterval(()=>{this.connectToMachineServer(n)},o)});utf8Atob(e){let o=Uint8Array.from(atob(e),i=>i.charCodeAt(0)),n=this.#m.decode(o);return n?JSON.parse(n):null}connectToMachineServer(e,o){let n=o?.reconnect??!1,i=this.wsState();(i==="disconnected"||i==="error"||n)&&(this.#e?.close(),this.#e=null),!this.#e&&(this.#e=new WebSocket(this.#s.machineServerUrl),this.#t.set("connecting"),this.#e.onopen=()=>{this.#t.set("connect"),this.#n.set(!0),this.#i.set(!1),this.#a.set(null)},this.#e.onclose=()=>{this.#t.set("disconnected"),this.#n.set(!1),this.#a.set(e),this.#i.set(!0)},this.#e.onerror=()=>{this.#t.set("error")},this.#e.onmessage=l=>{let r=JSON.parse(l.data);if(this.wsState()==="connect"){if(r.type!=="welcome"){this.disconnectFromMachineServer(`Unexpected message type, expected 'welcome' but got '${r.type}'`);return}let a={token:e,publicKey:"",clientVersion:Ae,protocolVersion:Oe},p=this.createResponse(r,"authportal",a);this.#t.set("welcome"),this.#e?.send(p)}else if(this.wsState()==="welcome"){if(r.type!=="authportal"){this.disconnectFromMachineServer(`Unexpected message type, expected 'authportal' but got '${r.type}'`);return}var u=JSON.parse(r.payload??"");if(u.accepted===!1){this.disconnectFromMachineServer("Authentication failed");return}for(this.#t.set("authenticated"),this.#n.set(!0);this.#p.length>0;){let a=this.#p.pop();a&&this.#r[a.messageId]&&this.activateCommand(a)}}else if(this.wsState()==="authenticated"){if(r.type!=="command"){console.warn(`Unexpected message type, expected 'command' but got '${r.type}'`);return}let a=this.#r[r.messageId];if(a){if(r.errorMessage){a.reject(r.errorMessage);return}else{let p=JSON.parse(r.payload??"");p.body=p?.body==null?null:this.utf8Atob(p.body),a.resolve(p)}delete this.#r[r.messageId],window.clearTimeout(a.timer)}}})}disconnectFromMachineServer(e=null){e&&console.error(e),this.#e?.close(),this.#e=null,this.#t.set("disconnected"),this.#n.set(!1)}createResponse(e,o,n){let i={from:Te,to:e.from,type:o,messageId:e.messageId,payload:JSON.stringify(n)};return JSON.stringify(i)}sendCommand(e,o,n,i,l,r,u=5e3){return(this.wsState()==="disconnected"||this.wsState()==="error")&&this.connectToMachineServer(e),new Promise((a,p)=>{let m=x(),g={from:Te,to:o,type:"command",messageId:m,payload:JSON.stringify({method:n,path:i,body:l,headers:r})},y={resolve:a,reject:p,timer:window.setTimeout(()=>{let b=this.#r[m];b&&(delete this.#r[m],b.reject("Timeout"))},u)};this.#r[m]=y,this.#n()?this.activateCommand(g):this.#p.push(g)})}activateCommand(e){this.#e?.send(JSON.stringify(e))}static \u0275fac=function(o){return new(o||t)};static \u0275prov=k({token:t,factory:t.\u0275fac,providedIn:"root"})};function Ne(t){if(typeof t!="string")return null;let o=new TextEncoder().encode(t);return window.btoa(String.fromCharCode(...o))}function we(t,e,o){let n=t.relayconfigState.config();if(n===null)return o(e);let i=Ne(e.body),l={};e.headers.keys().forEach(p=>{l[p]=e.headers.get(p)??""});let r=e.headers.get("timeout"),u=r!==null?parseInt(r):t.defaultTimeout;e.url.startsWith("/api/v1/serverstate")&&e.url.includes("longpoll=true")&&(u=1e3*99);let a=t.relayWebsocket.sendCommand(n.accessToken,n.clientId,e.method,e.url,i,l,u);return new W(p=>{a.then(m=>{let S=new Z;l!=null&&Object.keys(l).forEach(y=>{S.set(y,l[y])});let g=new ee({body:m.body,status:m.code,statusText:"OK",headers:S});p.next(g),p.complete()})})}var ke=(t,e)=>{let o={relayconfigState:s(v),defaultTimeout:s(h).defaultTimeout,relayWebsocket:s(O)},n=o.relayconfigState.config();if(o.relayconfigState.configLoaded!==null&&n===null){let i=new j;return o.relayconfigState.configLoaded.subscribe(l=>{l&&we(o,t,e).subscribe(i)}),i}return we(o,t,e)};var Ee={providers:[z(),ae(Se,pe()),te(ne(),oe([ke,Re])),C,{provide:h,useValue:ve},{provide:q,useValue:be()},ue,I,he,Y,le,Q,fe,ge]};re(M,Ee);
1
+ import{b as ye,c as be}from"./chunk-6HTVIY6O.js";import{a as L}from"./chunk-GJROCOAD.js";import{a as ue}from"./chunk-HXP5ZXIT.js";import{a as ge}from"./chunk-3W6M5IZL.js";import{a as I}from"./chunk-7LU4D3GR.js";import"./chunk-EXJKKQZX.js";import"./chunk-OTLEEXAA.js";import{a as x}from"./chunk-RHW5QVAY.js";import{a as le}from"./chunk-O2YN63YI.js";import{a as v,b as de,c as E}from"./chunk-F4EEOSGJ.js";import{a as C}from"./chunk-I3C2AEHI.js";import{c as se,d as ie,g as ae,h as pe}from"./chunk-QVIZK4WW.js";import{a as re}from"./chunk-WMTA6PZM.js";import{c as me}from"./chunk-NMXJMVL5.js";import{a as Z,b as ee,d as te,e as oe,f as ne,i as ce}from"./chunk-JSGFZ2GA.js";import{a as fe}from"./chunk-L76NC2T6.js";import{j as Q,l as Y}from"./chunk-CKPICCFH.js";import{b as he}from"./chunk-EF7JWRDC.js";import{A as N,B as F,Bc as X,F as w,L as G,N as T,P as J,S as k,V as B,Y as s,ab as K,f as W,i as j,ja as $,n as D,o as U,r as R,ua as d,uc as z,vc as q,yb as _}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";var M=class t{#o=s(C);#s=s(v);ngOnInit(){this.#s.fetchConfig(),this.#o.clearAllNotCurrentVersion()}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=K({type:t,selectors:[["app-root"]],decls:1,vars:0,template:function(o,n){o&1&&_(0,"router-outlet")},dependencies:[se],encapsulation:2})};var ve={production:!0,baseUrl:"/api",machineServerUrl:"${WS_URL}",defaultTimeout:3e4};var h=new B("ENVIRONMENT");var A=class t{#o=s(ce);isLoaded=d(!1);webmodules=d(null);preload(e=!1){let o=this.#o.getApiV1Webmodules().pipe(J(n=>this.webmodules.set(n)),w(()=>this.isLoaded.set(!0)));if(e)return o;o.subscribe()}static \u0275fac=function(o){return new(o||t)};static \u0275prov=k({token:t,factory:t.\u0275fac,providedIn:"root"})};var Ie=()=>{let t=s(E);return t.token()?!0:t.checkProxyAuthed().pipe(T(e=>e?D(!0):t.refreshToken().pipe(R(()=>!0))))},Me=()=>{let t=s(v),e=s(I),o=s($),n=t.relayIsEnabled()?"longpoll":"websocket",i=[o.get(L).preload(!0),o.get(L).preloadFilterGroups(!0),o.get(A).preload(!0)];return t.configLoaded===null?N(i).pipe(R(()=>n)):t.configLoaded?.pipe(T(()=>N(i)))},Se=[{path:"",children:[{path:"login",canActivate:[],loadComponent:()=>import("./chunk-KIGBGT77.js")},{path:"logout",loadComponent:()=>import("./chunk-E2UB3K6K.js")},{path:"",canActivate:[Ie],children:[{path:"",canActivate:[Me],loadComponent:()=>import("./chunk-ZCC3C2X4.js"),children:[{path:"",loadComponent:()=>import("./chunk-JES5INM4.js")},{path:"add-backup",loadComponent:()=>import("./chunk-S47LQILW.js")},{path:"backup/:id/export",loadComponent:()=>import("./chunk-R6GGQ2GT.js")},{path:"backup/import",loadComponent:()=>import("./chunk-PPP3I2ZR.js")},{path:"backup-draft/:id",loadComponent:()=>import("./chunk-N3L3HC4J.js"),loadChildren:()=>import("./chunk-RZN7GZTZ.js")},{path:"backup/:id",loadComponent:()=>import("./chunk-N3L3HC4J.js"),loadChildren:()=>import("./chunk-RZN7GZTZ.js")},{path:"backup/:id/log",loadComponent:()=>import("./chunk-66Q4TXVX.js")},{path:"backup/:id/database",loadComponent:()=>import("./chunk-NDU4DSOM.js")},{path:"backup/:id/commandline",loadComponent:()=>import("./chunk-IEH3LYA4.js")},{path:"backup/:id/commandline/:runId",loadComponent:()=>import("./chunk-CPPV6EJP.js")},{path:"restore",children:[{path:"",loadComponent:()=>import("./chunk-37GXHTIP.js")},{path:"from-config",loadComponent:()=>import("./chunk-7WFWZORV.js")}]},{path:"restore-from-files",loadComponent:()=>import("./chunk-PAS4EMZF.js"),loadChildren:()=>import("./chunk-LVUQRMAC.js")},{path:"restore-draft/:id",loadComponent:()=>import("./chunk-PAS4EMZF.js"),loadChildren:()=>import("./chunk-LVUQRMAC.js")},{path:"restore/:id",loadComponent:()=>import("./chunk-PAS4EMZF.js"),loadChildren:()=>import("./chunk-LVUQRMAC.js")},{path:"settings",loadComponent:()=>import("./chunk-RCU74ULS.js")},{path:"about",loadComponent:()=>import("./chunk-QBFBFWG2.js"),children:[{path:"",redirectTo:"general",pathMatch:"full"},{path:"general",loadComponent:()=>import("./chunk-Q2HZC6ZI.js")},{path:"changelog",loadComponent:()=>import("./chunk-NHQOHNI2.js")},{path:"libraries",loadComponent:()=>import("./chunk-EKIPEIC4.js")},{path:"system-info",loadComponent:()=>import("./chunk-RJ4U6XAH.js")},{path:"logs",loadChildren:()=>import("./chunk-F7HHSM2V.js")},{path:"crashlogs",loadComponent:()=>import("./chunk-PQVEQNEN.js")}]}]}]}]}];var P=null,Re=(t,e)=>{let o=s(E),n=s(ie),i=s(C),l=s(h),r=i.getItem("locale"),u=s(me),a=ye(r),p=t.url==="/api/v1/auth/login",m=t.url==="/api/v1/auth/refresh",S=t.url==="/api/v1/progressstate",g=t.url==="/api/v1/remoteoperation/test",y=t.url.startsWith("/api/v2/"),b=o.token(),H=t,V=t.headers.has("custom-proxy-check")||b===de;if(b&&t.url.startsWith(l.baseUrl)&&!V){let c=t.headers.set("Authorization",`Bearer ${b}`);r&&r!=="en-US"&&(c=c.set("X-Ui-Language",a)),H=t.clone({headers:c})}return e(H).pipe(R(c=>{if(c.type===4&&c.status===200&&y){let f=c.body;if(f?.Success===!1)throw{status:200,message:f?.Error??"Unknown error",error:{Error:f?.Error??"Unknown error"},body:f}}return c}),F(c=>{let f=c.error?.Error||`Error Code: ${c.status}, Message: ${c.message}`;return!V&&(S&&c.status===404||g||u.error(f),m&&c.status===401&&(o.logout(),n.navigate(["/logout"])),!p&&!m&&c.status===401)?(P??=o.refreshToken().pipe(G()),P.pipe(T(()=>e(t.clone({headers:t.headers.set("Authorization",`Bearer ${o.token()}`)}))),w(()=>P=null))):U(()=>({error:c,message:f}))}))};var Ae="1.0.0",Te=`portal-proxy-client-${x()}`,Oe=1,O=class t{#o=1e3;#s=s(h);#t=d("disconnected");#l=d(this.#o);#i=d(!1);#n=d(!1);#a=d(null);isConnectedToMachineServer=this.#n.asReadonly();wsState=this.#t.asReadonly();#p=[];#r={};#e=null;#m=new TextDecoder("utf-8");#c=null;#d=X(()=>{let e=this.#i(),o=this.#l(),n=this.#a();if(!n||!e||!o||o<this.#o){this.#c&&window.clearInterval(this.#c);return}this.#c=window.setInterval(()=>{this.connectToMachineServer(n)},o)});utf8Atob(e){let o=Uint8Array.from(atob(e),i=>i.charCodeAt(0)),n=this.#m.decode(o);return n?JSON.parse(n):null}connectToMachineServer(e,o){let n=o?.reconnect??!1,i=this.wsState();(i==="disconnected"||i==="error"||n)&&(this.#e?.close(),this.#e=null),!this.#e&&(this.#e=new WebSocket(this.#s.machineServerUrl),this.#t.set("connecting"),this.#e.onopen=()=>{this.#t.set("connect"),this.#n.set(!0),this.#i.set(!1),this.#a.set(null)},this.#e.onclose=()=>{this.#t.set("disconnected"),this.#n.set(!1),this.#a.set(e),this.#i.set(!0)},this.#e.onerror=()=>{this.#t.set("error")},this.#e.onmessage=l=>{let r=JSON.parse(l.data);if(this.wsState()==="connect"){if(r.type!=="welcome"){this.disconnectFromMachineServer(`Unexpected message type, expected 'welcome' but got '${r.type}'`);return}let a={token:e,publicKey:"",clientVersion:Ae,protocolVersion:Oe},p=this.createResponse(r,"authportal",a);this.#t.set("welcome"),this.#e?.send(p)}else if(this.wsState()==="welcome"){if(r.type!=="authportal"){this.disconnectFromMachineServer(`Unexpected message type, expected 'authportal' but got '${r.type}'`);return}var u=JSON.parse(r.payload??"");if(u.accepted===!1){this.disconnectFromMachineServer("Authentication failed");return}for(this.#t.set("authenticated"),this.#n.set(!0);this.#p.length>0;){let a=this.#p.pop();a&&this.#r[a.messageId]&&this.activateCommand(a)}}else if(this.wsState()==="authenticated"){if(r.type!=="command"){console.warn(`Unexpected message type, expected 'command' but got '${r.type}'`);return}let a=this.#r[r.messageId];if(a){if(r.errorMessage){a.reject(r.errorMessage);return}else{let p=JSON.parse(r.payload??"");p.body=p?.body==null?null:this.utf8Atob(p.body),a.resolve(p)}delete this.#r[r.messageId],window.clearTimeout(a.timer)}}})}disconnectFromMachineServer(e=null){e&&console.error(e),this.#e?.close(),this.#e=null,this.#t.set("disconnected"),this.#n.set(!1)}createResponse(e,o,n){let i={from:Te,to:e.from,type:o,messageId:e.messageId,payload:JSON.stringify(n)};return JSON.stringify(i)}sendCommand(e,o,n,i,l,r,u=5e3){return(this.wsState()==="disconnected"||this.wsState()==="error")&&this.connectToMachineServer(e),new Promise((a,p)=>{let m=x(),g={from:Te,to:o,type:"command",messageId:m,payload:JSON.stringify({method:n,path:i,body:l,headers:r})},y={resolve:a,reject:p,timer:window.setTimeout(()=>{let b=this.#r[m];b&&(delete this.#r[m],b.reject("Timeout"))},u)};this.#r[m]=y,this.#n()?this.activateCommand(g):this.#p.push(g)})}activateCommand(e){this.#e?.send(JSON.stringify(e))}static \u0275fac=function(o){return new(o||t)};static \u0275prov=k({token:t,factory:t.\u0275fac,providedIn:"root"})};function Ne(t){if(typeof t!="string")return null;let o=new TextEncoder().encode(t);return window.btoa(String.fromCharCode(...o))}function we(t,e,o){let n=t.relayconfigState.config();if(n===null)return o(e);let i=Ne(e.body),l={};e.headers.keys().forEach(p=>{l[p]=e.headers.get(p)??""});let r=e.headers.get("timeout"),u=r!==null?parseInt(r):t.defaultTimeout;e.url.startsWith("/api/v1/serverstate")&&e.url.includes("longpoll=true")&&(u=1e3*99);let a=t.relayWebsocket.sendCommand(n.accessToken,n.clientId,e.method,e.url,i,l,u);return new W(p=>{a.then(m=>{let S=new Z;l!=null&&Object.keys(l).forEach(y=>{S.set(y,l[y])});let g=new ee({body:m.body,status:m.code,statusText:"OK",headers:S});p.next(g),p.complete()})})}var ke=(t,e)=>{let o={relayconfigState:s(v),defaultTimeout:s(h).defaultTimeout,relayWebsocket:s(O)},n=o.relayconfigState.config();if(o.relayconfigState.configLoaded!==null&&n===null){let i=new j;return o.relayconfigState.configLoaded.subscribe(l=>{l&&we(o,t,e).subscribe(i)}),i}return we(o,t,e)};var Ee={providers:[z(),ae(Se,pe()),te(ne(),oe([ke,Re])),C,{provide:h,useValue:ve},{provide:q,useValue:be()},ue,I,he,Y,le,Q,fe,ge]};re(M,Ee);
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.0.111",
2
+ "version": "0.0.114",
3
3
  "name": "@duplicati/ngclient",
4
4
  "license": "MIT",
5
5
  "contributors": [
@@ -0,0 +1 @@
1
+ :root{--font-size: 16px;font-size:var(--font-size)}html body{--sparkle-light: initial;--sparkle-dark: ;color-scheme:light dark;--primary-50: #eff6ff;--primary-contrast-50: var(--dark-primary-text);--primary-100: #dbeafe;--primary-contrast-100: var(--dark-primary-text);--primary-200: #bfdbfe;--primary-contrast-200: var(--dark-primary-text);--primary-300: #93c5fd;--primary-contrast-300: var(--dark-primary-text);--primary-400: #60a5fa;--primary-contrast-400: var(--dark-primary-text);--primary-500: #3b82f6;--primary-contrast-500: var(--light-primary-text);--primary-600: #2563eb;--primary-contrast-600: var(--light-primary-text);--primary-700: #1d4ed8;--primary-contrast-700: var(--light-primary-text);--primary-800: #1e40af;--primary-contrast-800: var(--light-primary-text);--primary-900: #1e3a8a;--primary-contrast-900: var(--light-primary-text);--primary-950: #172554;--primary-contrast-950: var(--light-primary-text);--accent-50: #f5f3ff;--accent-contrast-50: var(--dark-primary-text);--accent-100: #ede9fe;--accent-contrast-100: var(--dark-primary-text);--accent-200: #ddd6fe;--accent-contrast-200: var(--dark-primary-text);--accent-300: #c4b5fd;--accent-contrast-300: var(--dark-primary-text);--accent-400: #a78bfa;--accent-contrast-400: var(--dark-primary-text);--accent-500: #8b5cf6;--accent-contrast-500: var(--light-primary-text);--accent-600: #7c3aed;--accent-contrast-600: var(--light-primary-text);--accent-700: #6d28d9;--accent-contrast-700: var(--light-primary-text);--accent-800: #5b21b6;--accent-contrast-800: var(--light-primary-text);--accent-900: #4c1d95;--accent-contrast-900: var(--light-primary-text);--accent-950: #2e1065;--accent-contrast-950: var(--light-primary-text);--warn-50: #fffbeb;--warn-contrast-50: var(--dark-primary-text);--warn-100: #fef3c7;--warn-contrast-100: var(--dark-primary-text);--warn-200: #fde68a;--warn-contrast-200: var(--dark-primary-text);--warn-300: #fcd34d;--warn-contrast-300: var(--dark-primary-text);--warn-400: #fbbf24;--warn-contrast-400: var(--light-primary-text);--warn-500: #f59e0b;--warn-contrast-500: var(--light-primary-text);--warn-600: #d97706;--warn-contrast-600: var(--light-primary-text);--warn-700: #b45309;--warn-contrast-700: var(--light-primary-text);--warn-800: #92400e;--warn-contrast-800: var(--light-primary-text);--warn-900: #78350f;--warn-contrast-900: var(--light-primary-text);--warn-950: #451a03;--warn-contrast-950: var(--light-primary-text);--error-50: #fef2f2;--error-contrast-50: var(--dark-primary-text);--error-100: #fee2e2;--error-contrast-100: var(--dark-primary-text);--error-200: #fecaca;--error-contrast-200: var(--dark-primary-text);--error-300: #fca5a5;--error-contrast-300: var(--dark-primary-text);--error-400: #f87171;--error-contrast-400: var(--light-primary-text);--error-500: #ef4444;--error-contrast-500: var(--light-primary-text);--error-600: #dc2626;--error-contrast-600: var(--light-primary-text);--error-700: #b91c1c;--error-contrast-700: var(--light-primary-text);--error-800: #991b1b;--error-contrast-800: var(--light-primary-text);--error-900: #7f1d1d;--error-contrast-900: var(--light-primary-text);--error-950: #450a0a;--error-contrast-950: var(--light-primary-text);--success-50: #ecfdf5;--success-contrast-50: var(--dark-primary-text);--success-100: #d1fae5;--success-contrast-100: var(--dark-primary-text);--success-200: #a7f3d0;--success-contrast-200: var(--dark-primary-text);--success-300: #6ee7b7;--success-contrast-300: var(--dark-primary-text);--success-400: #34d399;--success-contrast-400: var(--light-primary-text);--success-500: #10b981;--success-contrast-500: var(--light-primary-text);--success-600: #059669;--success-contrast-600: var(--light-primary-text);--success-700: #047857;--success-contrast-700: var(--light-primary-text);--success-800: #065f46;--success-contrast-800: var(--light-primary-text);--success-900: #064e3b;--success-contrast-900: var(--light-primary-text);--success-950: #022c22;--success-contrast-950: var(--light-primary-text);--grey-50: #fafafa;--grey-contrast-50: var(--dark-primary-text);--grey-100: #f4f4f5;--grey-contrast-100: var(--dark-primary-text);--grey-200: #e4e4e7;--grey-contrast-200: var(--dark-primary-text);--grey-300: #d4d4d8;--grey-contrast-300: var(--dark-primary-text);--grey-400: #a1a1aa;--grey-contrast-400: var(--dark-primary-text);--grey-500: #71717a;--grey-contrast-500: var(--light-primary-text);--grey-600: #52525b;--grey-contrast-600: var(--light-primary-text);--grey-700: #3f3f46;--grey-contrast-700: var(--light-primary-text);--grey-750: #2f2f31;--grey-contrast-750: var(--light-primary-text);--grey-800: #27272a;--grey-contrast-800: var(--light-primary-text);--grey-900: #18181b;--grey-contrast-900: var(--light-primary-text);--grey-950: #09090b;--grey-contrast-950: var(--light-primary-text);--display-10: 600 5rem / normal Inter Tight, sans-serif;--display-20: 600 4.5rem / normal Inter Tight, sans-serif;--display-30: 600 4rem / normal Inter Tight, sans-serif;--display-40: 600 3.5rem / normal Inter Tight, sans-serif;--display-50: 600 3rem / normal Inter Tight, sans-serif;--title-10: 500 2.5rem / normal Inter Tight, sans-serif;--title-20: 500 2rem / normal Inter Tight, sans-serif;--title-30: 500 1.5rem / normal Inter Tight, sans-serif;--title-10B: 600 2.5rem / normal Inter Tight, sans-serif;--title-20B: 600 2rem / normal Inter Tight, sans-serif;--title-30B: 600 1.5rem / normal Inter Tight, sans-serif;--paragraph-10: 500 1.125rem / normal Inter Tight, sans-serif;--paragraph-20: 500 1rem / normal Inter Tight, sans-serif;--paragraph-30: 500 .875rem / normal Inter Tight, sans-serif;--paragraph-40: 500 .75rem / normal Inter Tight, sans-serif;--paragraph-10B: 600 1.125rem / normal Inter Tight, sans-serif;--paragraph-20B: 600 1rem / normal Inter Tight, sans-serif;--paragraph-30B: 600 .875rem / 1.125rem Inter Tight, sans-serif;--paragraph-40B: 600 .75rem / normal Inter Tight, sans-serif;--shape-1: .25rem;--shape-2: .5rem;--shape-3: .75rem;--shape-4: 1rem;--shape-5: 1.25rem;--box-shadow-10: 0 1px 2px 0 rgba(18, 18, 23, .07);--box-shadow-20: 0 1px 3px 0 rgba(18, 18, 23, .1);--box-shadow-30: 0 1px 4px -1px rgba(18, 18, 23, .08);--box-shadow-35: 0 4px 6px -1px rgba(18, 18, 23, .08);--box-shadow-40: 0 10px 15px -3px rgba(18, 18, 23, .08);--box-shadow-50: 0 20px 25px -5px rgba(18, 18, 23, .1);--box-shadow-60: 0 25px 50px -12px rgba(18, 18, 23, .25);--base-level-10: var(--sparkle-light, #fff) var(--sparkle-dark, var(--grey-950));--base-level-20: var(--sparkle-light, var(--grey-50)) var(--sparkle-dark, var(--grey-900));--base-level-30: var(--sparkle-light, var(--grey-100)) var(--sparkle-dark, var(--grey-900));--base-level-30R: var(--sparkle-light, var(--grey-900)) var(--sparkle-dark, var(--grey-100));--base-level-40: var(--sparkle-light, var(--grey-200)) var(--sparkle-dark, var(--grey-700));--base-level-50: var(--sparkle-light, var(--grey-300)) var(--sparkle-dark, var(--grey-800));--base-level-60: var(--sparkle-light, var(--grey-500)) var(--sparkle-dark, var(--grey-400));--base-level-60R: var(--sparkle-light, var(--grey-400)) var(--sparkle-dark, var(--grey-500));--base-level-70: var(--sparkle-light, var(--grey-900)) var(--sparkle-dark, #fff);--base-level-70R: var(--sparkle-light, #fff) var(--sparkle-dark, var(--grey-900));--base-gradient-20: linear-gradient(180deg, var(--grey-400) 0%, var(--grey-500) 50%);--base-gradient-30: linear-gradient(180deg, var(--grey-300) 0%, var(--grey-500) 50%);--base-gradient-60: linear-gradient(180deg, var(--grey-700) 0%, var(--grey-900) 50%);--base-gradient-70: linear-gradient(180deg, var(--grey-600) 0%, var(--grey-900) 50%);--primary-level-20: var(--sparkle-light, var(--primary-50)) var(--sparkle-dark, var(--primary-950));--primary-level-30: var(--sparkle-light, var(--primary-100)) var(--sparkle-dark, var(--primary-900));--primary-level-40: var(--sparkle-light, var(--primary-200)) var(--sparkle-dark, var(--primary-800));--primary-level-50: var(--sparkle-light, var(--primary-300)) var(--sparkle-dark, var(--primary-800));--primary-level-50R: var(--sparkle-light, var(--primary-800)) var(--sparkle-dark, var(--primary-300));--primary-level-80: var(--sparkle-light, var(--primary-900)) var(--sparkle-dark, var(--primary-300));--primary-gradient-20: linear-gradient(180deg, var(--primary-400) 0%, var(--primary-500) 50%);--primary-gradient-30: linear-gradient(180deg, var(--primary-300) 0%, var(--primary-500) 50%);--accent-level-20: var(--sparkle-light, var(--accent-50)) var(--sparkle-dark, var(--accent-950));--accent-level-30: var(--sparkle-light, var(--accent-100)) var(--sparkle-dark, var(--accent-900));--accent-level-40: var(--sparkle-light, var(--accent-200)) var(--sparkle-dark, var(--accent-800));--accent-level-50: var(--sparkle-light, var(--accent-300)) var(--sparkle-dark, var(--accent-800));--accent-level-50R: var(--sparkle-light, var(--accent-800)) var(--sparkle-dark, var(--accent-300));--accent-level-80: var(--sparkle-light, var(--accent-900)) var(--sparkle-dark, var(--accent-300));--accent-gradient-20: linear-gradient(180deg, var(--accent-400) 0%, var(--accent-500) 50%);--accent-gradient-30: linear-gradient(180deg, var(--accent-300) 0%, var(--accent-500) 50%);--warn-level-20: var(--sparkle-light, var(--warn-50)) var(--sparkle-dark, var(--warn-950));--warn-level-30: var(--sparkle-light, var(--warn-100)) var(--sparkle-dark, var(--warn-900));--warn-level-40: var(--sparkle-light, var(--warn-200)) var(--sparkle-dark, var(--warn-800));--warn-level-50: var(--sparkle-light, var(--warn-300)) var(--sparkle-dark, var(--warn-800));--warn-level-50R: var(--sparkle-light, var(--warn-800)) var(--sparkle-dark, var(--warn-300));--warn-level-80: var(--sparkle-light, var(--warn-900)) var(--sparkle-dark, var(--warn-300));--warn-gradient-20: linear-gradient(180deg, var(--warn-400) 0%, var(--warn-500) 50%);--warn-gradient-30: linear-gradient(180deg, var(--warn-300) 0%, var(--warn-500) 50%);--error-level-20: var(--sparkle-light, var(--error-50)) var(--sparkle-dark, var(--error-950));--error-level-30: var(--sparkle-light, var(--error-100)) var(--sparkle-dark, var(--error-900));--error-level-40: var(--sparkle-light, var(--error-200)) var(--sparkle-dark, var(--error-800));--error-level-50: var(--sparkle-light, var(--error-300)) var(--sparkle-dark, var(--error-800));--error-level-50R: var(--sparkle-light, var(--error-800)) var(--sparkle-dark, var(--error-300));--error-level-80: var(--sparkle-light, var(--error-900)) var(--sparkle-dark, var(--error-300));--error-gradient-20: linear-gradient(180deg, var(--error-400) 0%, var(--error-500) 50%);--error-gradient-30: linear-gradient(180deg, var(--error-300) 0%, var(--error-500) 50%);--success-level-20: var(--sparkle-light, var(--success-50)) var(--sparkle-dark, var(--success-950));--success-level-30: var(--sparkle-light, var(--success-100)) var(--sparkle-dark, var(--success-900));--success-level-40: var(--sparkle-light, var(--success-200)) var(--sparkle-dark, var(--success-800));--success-level-50: var(--sparkle-light, var(--success-300)) var(--sparkle-dark, var(--success-800));--success-level-50R: var(--sparkle-light, var(--success-800)) var(--sparkle-dark, var(--success-300));--success-level-80: var(--sparkle-light, var(--success-900)) var(--sparkle-dark, var(--success-300));--success-gradient-20: linear-gradient(180deg, var(--success-400) 0%, var(--success-500) 50%);--success-gradient-30: linear-gradient(180deg, var(--success-300) 0%, var(--success-500) 50%);--dark-primary-text: var(--grey-900);--light-primary-text: #fff}html body.dark{--sparkle-light: ;--sparkle-dark: initial;color-scheme:dark}*{box-sizing:border-box}html,body,app-root{width:100vw;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--base-level-20)}body{margin:0;font:var(--paragraph-30);color:var(--base-level-70)}body.dragging{overflow:hidden}*::-webkit-scrollbar{width:8px;height:12px;background:transparent}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#acacac;background:var(--sparkle-light, #acacac) var(--sparkle-dark, #4f4f4f);border-radius:50px;border:3px solid transparent;border-left-width:1px;border-right-width:2px;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background-color:#888}.spacer{flex:1 0}.spk-primary{color:var(--primary-500)}.spk-accent{color:var(--accent-500)}.spk-warn{color:var(--warn-500)}.spk-error{color:var(--error-500)}.spk-success{color:var(--success-500)}.loader{width:3rem;height:3rem;display:grid;place-content:center;color:var(--base-level-60)}.loader,.loading{position:relative}.loader:before,.loading:before{content:"";width:1rem;height:1rem;border:2px solid var(--loader-c);border-bottom-color:transparent;border-radius:50%;display:flex;box-sizing:border-box;animation:rotation 1s linear infinite;margin:auto;inset:0;position:absolute}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}body h1,body h2,body h3,body h4,body h5,body h6,body p,body .title-10,body .title-20B,body .title-20,body .title-30B,body .paragraph-10,body .paragraph-20{margin:0}body h1,body h2,body h3,body h4,body h5,body h6,body .title-10,body .title-20B,body .title-20,body .title-30B{color:var(--base-level-70)}p,.paragraph-10,.paragraph-20,.paragraph-30,.paragraph-40,.paragraph-10B,.paragraph-20B,.paragraph-30B,.paragraph-40B{color:var(--base-level-60)}p{margin:0}strong{font-weight:600}a{color:var(--primary-500)}sup{color:var(--error-500);margin-left:-.33em;vertical-align:.1875rem}body h3{font:var(--title-30)}body .display-10{font:var(--display-10)}body .display-20{font:var(--display-20)}body .display-30{font:var(--display-30)}body .display-40{font:var(--display-40)}body .display-50{font:var(--display-50)}body .title-10{font:var(--title-10)}body .title-20{font:var(--title-20)}body .title-30{font:var(--title-30)}body .title-10b{font:var(--title-10b)}body .title-20b{font:var(--title-20b)}body .title-30b{font:var(--title-30b)}body .paragraph-10{font:var(--paragraph-10)}body .paragraph-20{font:var(--paragraph-20)}body .paragraph-30{font:var(--paragraph-30)}body .paragraph-40{font:var(--paragraph-40)}body .paragraph-10b{font:var(--paragraph-10b)}body .paragraph-20b{font:var(--paragraph-20b)}body .paragraph-30b{font:var(--paragraph-30b)}body .paragraph-40b{font:var(--paragraph-40b)}spk-alert-container{width:100%;position:relative}spk-alert-container spk-alert{margin-bottom:.5rem}spk-alert-container spk-alert:first-of-type{margin-bottom:0}spk-alert-container spk-alert.alert-is-hidden{margin-bottom:0}spk-alert-container .scroller{width:100%;max-height:50vh;overflow-y:auto;overflow-x:hidden;padding:.5rem 1rem 1rem .5rem}spk-alert-container .container{flex-direction:column-reverse;display:flex}spk-alert-container .tray{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background-color:var(--grey-500);color:var(--grey-contrast-500);position:absolute;bottom:0;right:0;border-radius:50%;z-index:1000}spk-alert{--alert-ad: .4s;--alert-bg: var(--base-level-10);--alert-bc: var(--base-level-40);--alert-state-ic: var(--base-level-70);--alert-close-ic: var(--base-level-60);--alert-title-c: var(--base-level-70);--alert-content-c: var(--base-level-60);--alert-bs: var(--box-shadow-10);max-height:18.75rem;padding-top:0;padding-bottom:0;margin-bottom:0;opacity:1;overflow:hidden;transition:max-height var(--alert-ad) ease-in-out,transform var(--alert-ad) ease-in-out,opacity var(--alert-ad) ease-in-out,margin-bottom var(--alert-ad) ease-in-out,padding-top var(--alert-ad) ease-in-out,padding-bottom var(--alert-ad) ease-in-out;transform:translateY(0);box-shadow:var(--alert-bs)}spk-alert .alert{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;grid-template-areas:"stateIcon title closeIcon" ". content .";padding:.5rem .75rem;align-items:flex-start;gap:.5rem .75rem;border:1px solid var(--alert-bc);border-radius:var(--shape-2);background-color:var(--alert-bg)}spk-alert.is-hidden{max-height:0;padding-top:0;padding-bottom:0;opacity:0;margin-bottom:0;overflow:hidden;transform:translateY(-40px)}spk-alert.is-hidden:before{opacity:0}spk-alert.animate-in{transition:none;max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0;opacity:0;overflow:hidden;transform:translateY(0)}spk-alert.animate-in:before{opacity:0}spk-alert.animate-out{max-height:0;padding:0;opacity:0;overflow:hidden;transform:translateY(-40px)}spk-alert.animate-out:before{opacity:0}spk-alert.primary{--alert-state-ic: var(--primary-500);--alert-close-ic: var(--primary-500);--alert-title-c: var(--primary-level-80);--alert-content-c: var(--primary-level-80);--alert-bg: var(--primary-level-20);--alert-bc: var(--primary-level-40)}spk-alert.accent{--alert-state-ic: var(--accent-500);--alert-close-ic: var(--accent-500);--alert-title-c: var(--accent-level-80);--alert-content-c: var(--accent-level-80);--alert-bg: var(--accent-level-20);--alert-bc: var(--accent-level-40)}spk-alert.warn{--alert-state-ic: var(--warn-500);--alert-close-ic: var(--warn-500);--alert-title-c: var(--warn-level-80);--alert-content-c: var(--warn-level-80);--alert-bg: var(--warn-level-20);--alert-bc: var(--warn-level-40)}spk-alert.error{--alert-state-ic: var(--error-500);--alert-close-ic: var(--error-500);--alert-title-c: var(--error-level-80);--alert-content-c: var(--error-level-80);--alert-bg: var(--error-level-20);--alert-bc: var(--error-level-40)}spk-alert.success{--alert-state-ic: var(--success-500);--alert-close-ic: var(--success-500);--alert-title-c: var(--success-level-80);--alert-content-c: var(--success-level-80);--alert-bg: var(--success-level-20);--alert-bc: var(--success-level-40)}spk-alert:not(:has([content])) .alert{grid-template-rows:auto;grid-template-areas:"stateIcon title closeIcon"}spk-alert:has([content]) .alert{background-color:var(--base-level-10);border:1px solid var(--base-level-40);box-shadow:var(--box-shadow-50)}spk-alert:has([content]) .alert .title{color:var(--base-level-70)}spk-alert:has([content]) .alert .close-icon{color:var(--grey-400)}spk-alert:has([content]) .alert .content{color:var(--base-level-60)}body.dark spk-alert:has([content]) .alert{background-color:var(--grey-800);box-shadow:var(--box-shadow-50)}spk-alert .icon{grid-area:stateIcon;height:1.25rem;width:1.25rem;display:flex;align-items:center;justify-content:center}spk-alert .icon:first-of-type:not(:empty)+.icon{display:none}spk-alert [icon],spk-alert .state-icon{color:var(--alert-state-ic)}spk-alert .close-icon{grid-area:closeIcon;color:var(--alert-close-ic);transform:rotate(45deg);transform-origin:center}spk-alert .title{grid-area:title;color:var(--alert-title-c);padding-top:.125rem}spk-alert .content{grid-area:content;color:var(--alert-content-c)}spk-alert .content:empty{display:none}spk-toggle{--toggle-bg: var(--base-level-40);--toggle-b: 0;--togglek-bg: var(--base-level-30);--togglek-bs: var(--box-shadow-20);display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}spk-toggle label{display:flex;align-items:center;gap:.5rem;position:relative;z-index:1}spk-toggle .box{display:block;width:2.125rem;height:1.25rem;cursor:pointer;position:relative;border-radius:999px;background:var(--toggle-bg);border:var(--toggle-b);transition:background .15s linear}spk-toggle>input[type=checkbox]{appearance:none;position:absolute;inset:0;cursor:pointer;z-index:0}spk-toggle .knob{position:absolute;top:.125rem;left:.125rem;width:1rem;height:1rem;border-radius:50%;background:var(--togglek-bg);box-shadow:var(--togglek-bs);box-sizing:border-box;transition:left 125ms ease-in-out}spk-toggle:has(input[type=checkbox]:checked),spk-toggle.active{--togglek-bg: var(--base-level-60)}spk-toggle:has(input[type=checkbox]:checked) .knob,spk-toggle.active .knob{left:1rem}spk-toggle:has(input[type=checkbox]:checked).primary,spk-toggle.active.primary{--toggle-bg: var(--primary-level-30);--togglek-bg: var(--primary-500)}spk-toggle:has(input[type=checkbox]:checked).accent,spk-toggle.active.accent{--toggle-bg: var(--accent-level-30);--togglek-bg: var(--accent-500)}spk-toggle:has(input[type=checkbox]:checked).warn,spk-toggle.active.warn{--toggle-bg: var(--warn-level-30);--togglek-bg: var(--warn-500)}spk-toggle:has(input[type=checkbox]:checked).error,spk-toggle.active.error{--toggle-bg: var(--error-level-30);--togglek-bg: var(--error-500)}spk-toggle:has(input[type=checkbox]:checked).success,spk-toggle.active.success{--toggle-bg: var(--success-level-30);--togglek-bg: var(--success-500)}spk-toggle.outlined{--toggle-bg: var(--base-level-10);--togglek-bg: var(--base-level-40);--togglek-bs: none;--toggle-b: 1px solid var(--base-level-40)}spk-toggle.outlined .knob{width:.875rem;height:.875rem}spk-toggle.flat{--togglek-bg: #fff}spk-toggle.flat:has(input[type=checkbox]:checked),spk-toggle.flat.active{--togglek-bg: #fff;--toggle-bg: var(--base-level-60)}spk-toggle.flat:has(input[type=checkbox]:checked).primary,spk-toggle.flat.active.primary{--toggle-bg: var(--primary-500)}spk-toggle.flat:has(input[type=checkbox]:checked).accent,spk-toggle.flat.active.accent{--toggle-bg: var(--accent-500)}spk-toggle.flat:has(input[type=checkbox]:checked).warn,spk-toggle.flat.active.warn{--toggle-bg: var(--warn-500)}spk-toggle.flat:has(input[type=checkbox]:checked).error,spk-toggle.flat.active.error{--toggle-bg: var(--error-500)}spk-toggle.flat:has(input[type=checkbox]:checked).success,spk-toggle.flat.active.success{--toggle-bg: var(--success-500)}spk-toggle.raised{--togglek-bg: #fff}spk-toggle.raised:has(input[type=checkbox]:checked),spk-toggle.raised.active{--toggle-bg: var(--base-gradient-20);--togglek-bg: #fff}spk-toggle.raised:has(input[type=checkbox]:checked).primary,spk-toggle.raised.active.primary{--toggle-bg: var(--primary-gradient-20)}spk-toggle.raised:has(input[type=checkbox]:checked).accent,spk-toggle.raised.active.accent{--toggle-bg: var(--accent-gradient-20)}spk-toggle.raised:has(input[type=checkbox]:checked).warn,spk-toggle.raised.active.warn{--toggle-bg: var(--warn-gradient-20)}spk-toggle.raised:has(input[type=checkbox]:checked).error,spk-toggle.raised.active.error{--toggle-bg: var(--error-gradient-20)}spk-toggle.raised:has(input[type=checkbox]:checked).success,spk-toggle.raised.active.success{--toggle-bg: var(--success-gradient-20)}[spk-button]{--btn-h: 2.5rem;--btn-s: var(--shape-2);--btn-f: var(--paragraph-20);--loader-c: var(--base-level-60);--btn-c: var(--base-level-70);--btn-ic: var(--base-level-70);--btn-ir: var(0deg);--btn-bg: var(--base-level-10);--btn-bg-h: var(--base-level-20);--btn-bc: var(--base-level-40);--btn-bs: none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;position:relative;padding:0 .75rem;transition:color 80ms linear;min-width:auto;cursor:pointer;outline:none;line-height:inherit;-webkit-user-select:none;user-select:none;appearance:none;overflow:visible;vertical-align:middle;border-radius:var(--btn-s);height:var(--btn-h);border:1px solid var(--btn-bc);box-shadow:var(--btn-bs);font:var(--btn-f);background:var(--btn-bg);color:var(--btn-c);transition:background 75ms linear}[spk-button] spk-icon{color:var(--btn-ic);rotate:var(--btn-ir);transition:rotate 125ms ease-in-out}[spk-button]:has(spk-icon:only-child){padding:0 .5625rem}[spk-button]:hover{--btn-c: var(--base-level-70);background:var(--btn-bg-h)}[spk-button].loader.outlined,[spk-button].loader.flat,[spk-button].loader.raised,[spk-button].loader{color:transparent;width:auto}[spk-button].loader.outlined:hover,[spk-button].loader.outlined.primary,[spk-button].loader.outlined.accent,[spk-button].loader.outlined.warn,[spk-button].loader.outlined.error,[spk-button].loader.outlined.success,[spk-button].loader.flat:hover,[spk-button].loader.flat.primary,[spk-button].loader.flat.accent,[spk-button].loader.flat.warn,[spk-button].loader.flat.error,[spk-button].loader.flat.success,[spk-button].loader.raised:hover,[spk-button].loader.raised.primary,[spk-button].loader.raised.accent,[spk-button].loader.raised.warn,[spk-button].loader.raised.error,[spk-button].loader.raised.success,[spk-button].loader:hover,[spk-button].loader.primary,[spk-button].loader.accent,[spk-button].loader.warn,[spk-button].loader.error,[spk-button].loader.success{color:transparent}[spk-button].loader.outlined>*,[spk-button].loader.flat>*,[spk-button].loader.raised>*,[spk-button].loader>*{opacity:0}[spk-button].rotated-icon spk-icon{--btn-ir: 180deg}[spk-button].small{--btn-h: 2rem;--btn-f: var(--paragraph-30);padding:0 .5rem;gap:.25rem}[spk-button].small:has(spk-icon:only-child){padding:0 .375rem}[spk-button][disabled]{opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none}[spk-button][read-only],[spk-button][read-only=true],[spk-button][readonly=true],[spk-button][readonly],[spk-button].readonly{pointer-events:none;-webkit-user-select:none;user-select:none}[spk-button].primary{--btn-ic: var(--primary-500)}[spk-button].accent{--btn-ic: var(--accent-500)}[spk-button].warn{--btn-ic: var(--warn-500)}[spk-button].error{--btn-ic: var(--error-500)}[spk-button].success{--btn-ic: var(--success-500)}[spk-button].icon{padding:0 .5625rem}[spk-button].icon.small{padding:0 .3125rem}[spk-button].icon,[spk-button].outlined{--btn-c: var(--base-level-70);--btn-bg: var(--base-level-20);--btn-bg-h: var(--base-level-30);transition:color 80ms linear}[spk-button].icon.primary,[spk-button].outlined.primary{--loader-c: var(--primary-500);--btn-bg: var(--primary-level-20);--btn-bg-h: var(--primary-level-30);--btn-bc: var(--primary-level-40)}[spk-button].icon.accent,[spk-button].outlined.accent{--loader-c: var(--accent-500);--btn-bg: var(--accent-level-20);--btn-bg-h: var(--accent-level-30);--btn-bc: var(--accent-level-40)}[spk-button].icon.warn,[spk-button].outlined.warn{--loader-c: var(--warn-500);--btn-bg: var(--warn-level-20);--btn-bg-h: var(--warn-level-30);--btn-bc: var(--warn-level-40)}[spk-button].icon.error,[spk-button].outlined.error{--loader-c: var(--error-500);--btn-bg: var(--error-level-20);--btn-bg-h: var(--error-level-30);--btn-bc: var(--error-level-40)}[spk-button].icon.success,[spk-button].outlined.success{--loader-c: var(--success-500);--btn-bg: var(--success-level-20);--btn-bg-h: var(--success-level-30);--btn-bc: var(--success-level-40)}[spk-button].flat{--loader-c: var(--base-level-10);--btn-c: #fff;--btn-ic: #fff;--btn-bg: var(--sparkle-light, var(--grey-600)) var(--sparkle-dark, var(--grey-600));--btn-bg-h: var(--sparkle-light, var(--grey-700)) var(--sparkle-dark, var(--grey-700));border:0}[spk-button].flat:has(spk-icon:only-child){padding:0 .625rem}[spk-button].flat.small:has(spk-icon:only-child){padding:0 .4375rem}[spk-button].flat.primary{--btn-c: var(--primary-contrast-500);--btn-bg: var(--primary-500);--btn-bg-h: var(--primary-400)}[spk-button].flat.accent{--btn-c: var(--accent-contrast-500);--btn-bg: var(--accent-500);--btn-bg-h: var(--accent-400)}[spk-button].flat.warn{--btn-c: var(--warn-contrast-500);--btn-bg: var(--warn-500);--btn-bg-h: var(--warn-400)}[spk-button].flat.error{--btn-c: var(--error-contrast-500);--btn-bg: var(--error-500);--btn-bg-h: var(--error-400)}[spk-button].flat.success{--btn-c: var(--success-contrast-500);--btn-bg: var(--success-500);--btn-bg-h: var(--success-400)}[spk-button].raised{--loader-c: var(--base-level-10);--btn-c: #fff;--btn-ic: #fff;--btn-bg: var(--base-gradient-60);--btn-bg-h: var(--base-gradient-70);border:0}[spk-button].raised:has(spk-icon:only-child){padding:0 .625rem}[spk-button].raised.small:has(spk-icon:only-child){padding:0 .4375rem}[spk-button].raised.primary{--btn-c: var(--primary-contrast-500);--btn-bg: var(--primary-gradient-20);--btn-bg-h: var(--primary-gradient-30)}[spk-button].raised.accent{--btn-c: var(--accent-contrast-500);--btn-bg: var(--accent-gradient-20);--btn-bg-h: var(--accent-gradient-30)}[spk-button].raised.warn{--btn-c: var(--warn-contrast-500);--btn-bg: var(--warn-gradient-20);--btn-bg-h: var(--warn-gradient-30)}[spk-button].raised.error{--btn-c: var(--error-contrast-500);--btn-bg: var(--error-gradient-20);--btn-bg-h: var(--error-gradient-30)}[spk-button].raised.success{--btn-c: var(--success-contrast-500);--btn-bg: var(--success-gradient-20);--btn-bg-h: var(--success-gradient-30)}spk-progress-bar{--pb-h: .5rem;--pb-b: var(--base-level-40);--pb-bg: var(--base-level-30);--pb-br: var(--shape-2);--pbt-bg: var(--base-level-20);--pbt-br: inherit;display:block;width:100%;height:var(--pb-h);position:relative;overflow:hidden;border-radius:var(--pb-br);background:var(--pb-bg)}spk-progress-bar .progress-bar{position:absolute;top:0;left:0;bottom:0;height:100%;transform-origin:top left;border-radius:var(--pbt-br);background:var(--pbt-bg)}spk-progress-bar.indeterminate .progress-bar{right:0;animation:indeterminate-progress-bar-stripes 2s linear infinite}spk-progress-bar.indeterminate:after{content:"";position:absolute;inset:0;background-color:var(--base-level-30);animation:indeterminate-progress-bar-stripes-background 2s linear infinite;transform-origin:top left}spk-progress-bar.primary{--pbt-bg: var(--primary-500)}spk-progress-bar.accent{--pbt-bg: var(--accent-500)}spk-progress-bar.warn{--pbt-bg: var(--warn-500)}spk-progress-bar.error{--pbt-bg: var(--error-500)}spk-progress-bar.success{--pbt-bg: var(--success-500)}spk-progress-bar.outlined{--pb-b: 1px solid var(--base-level-40);--pb-bg: var(--base-level-10)}spk-progress-bar.outlined:after{background-color:inherit}spk-progress-bar.flat{--pbt-bg: var(--base-level-30)}spk-progress-bar.flat:after{background-color:inherit}spk-progress-bar.flat.primary{--pbt-bg: var(--primary-level-30)}spk-progress-bar.flat.accent{--pbt-bg: var(--accent-level-30)}spk-progress-bar.flat.warn{--pbt-bg: var(--warn-level-30)}spk-progress-bar.flat.error{--pbt-bg: var(--error-level-30)}spk-progress-bar.flat.success{--pbt-bg: var(--success-level-30)}spk-progress-bar.raised{--pbt-bg: var(--base-gradient-30)}spk-progress-bar.raised.primary{--pbt-bg: var(--primary-gradient-30)}spk-progress-bar.raised.accent{--pbt-bg: var(--accent-gradient-30)}spk-progress-bar.raised.warn{--pbt-bg: var(--warn-gradient-30)}spk-progress-bar.raised.error{--pbt-bg: var(--error-gradient-30)}spk-progress-bar.raised.success{--pbt-bg: var(--success-gradient-30)}@keyframes indeterminate-progress-bar-stripes-background{0%{animation-timing-function:cubic-bezier(.15,0,.515058,.409685);transform:translate(0)}25%{animation-timing-function:cubic-bezier(.31033,.284058,.8,.733712);transform:translate(37.651913%)}48.35%{animation-timing-function:cubic-bezier(.4,.627035,.6,.902026);transform:translate(84.386165%)}to{transform:translate(160.277782%)}}@keyframes indeterminate-progress-bar-stripes{0%{transform:translate(0)}20%{animation-timing-function:cubic-bezier(.5,0,.701732,.495819);transform:translate(0)}59.15%{animation-timing-function:cubic-bezier(.302435,.381352,.55,.956352);transform:translate(83.67142%)}to{transform:translate(200.611057%)}}spk-checkbox{--box-bw: .0625rem;--box-bc: var(--base-level-40);--box-c: var(--base-level-60);--box-bg: var(--base-level-30);display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}spk-checkbox>input[type=checkbox]{appearance:none;position:absolute;inset:0;cursor:pointer}spk-checkbox>input[type=checkbox]:focus{outline:none}spk-checkbox .box{display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;cursor:pointer;position:relative;border-radius:var(--shape-1);border:var(--box-bw) solid var(--box-bc);background:var(--box-bg);font-size:.75rem;color:var(--box-c)}spk-checkbox spk-icon{opacity:0;font-weight:700}spk-checkbox spk-icon.indeterminate-indicator{display:none}spk-checkbox.indeterminate .box spk-icon.indeterminate-indicator{display:block}spk-checkbox.indeterminate .box spk-icon.default-indicator{display:none}spk-checkbox:has(input[type=checkbox]:checked) spk-icon,spk-checkbox.active spk-icon{opacity:1}spk-checkbox.primary{--box-bg: var(--primary-level-30);--box-bc: var(--primary-level-40);--box-c: var(--primary-500)}spk-checkbox.accent{--box-bg: var(--accent-level-30);--box-bc: var(--accent-level-40);--box-c: var(--accent-500)}spk-checkbox.warn{--box-bg: var(--warn-level-30);--box-bc: var(--warn-level-40);--box-c: var(--warn-500)}spk-checkbox.error{--box-bg: var(--error-level-30);--box-bc: var(--error-level-40);--box-c: var(--error-500)}spk-checkbox.success{--box-bg: var(--success-level-30);--box-bc: var(--success-level-40);--box-c: var(--success-500)}spk-checkbox.outlined{--box-bg: var(--base-level-10)}spk-checkbox.outlined.primary,spk-checkbox.outlined.accent,spk-checkbox.outlined.warn,spk-checkbox.outlined.error,spk-checkbox.outlined.success{--box-bg: var(--base-level-10);--box-bc: var(--base-level-40)}spk-checkbox.flat.primary,spk-checkbox.flat.accent,spk-checkbox.flat.warn,spk-checkbox.flat.error,spk-checkbox.flat.success,spk-checkbox.raised.primary,spk-checkbox.raised.accent,spk-checkbox.raised.warn,spk-checkbox.raised.error,spk-checkbox.raised.success{--box-bc: var(--base-level-40);--box-c: var(--base-level-60);--box-bg: var(--base-level-30)}.sparkle-popup-menu spk-option[selected] spk-checkbox spk-icon{opacity:1}spk-checkbox.flat:has(input[type=checkbox]:checked),spk-checkbox.flat.active,.sparkle-popup-menu spk-option[selected] spk-checkbox.flat{--box-bw: 0;--box-bg: var(--grey-500);--box-c: #fff}spk-checkbox.primary.flat:has(input[type=checkbox]:checked),spk-checkbox.primary.flat.active,.sparkle-popup-menu spk-option[selected] spk-checkbox.primary.flat{--box-bg: var(--primary-500)}spk-checkbox.accent.flat:has(input[type=checkbox]:checked),spk-checkbox.accent.flat.active,.sparkle-popup-menu spk-option[selected] spk-checkbox.accent.flat{--box-bg: var(--accent-500)}spk-checkbox.warn.flat:has(input[type=checkbox]:checked),spk-checkbox.warn.flat.active,.sparkle-popup-menu spk-option[selected] spk-checkbox.warn.flat{--box-bg: var(--warn-500)}spk-checkbox.error.flat:has(input[type=checkbox]:checked),spk-checkbox.error.flat.active,.sparkle-popup-menu spk-option[selected] spk-checkbox.error.flat{--box-bg: var(--error-500)}spk-checkbox.success.flat:has(input[type=checkbox]:checked),spk-checkbox.success.flat.active,.sparkle-popup-menu spk-option[selected] spk-checkbox.success.flat{--box-bg: var(--success-500)}spk-checkbox.raised:has(input[type=checkbox]:checked),spk-checkbox.raised.active,.sparkle-popup-menu spk-option[selected] spk-checkbox.raised{--box-bw: 0;--box-bg: var(--base-gradient-20);--box-c: #fff}spk-checkbox.primary.raised:has(input[type=checkbox]:checked),spk-checkbox.primary.raised.active,.sparkle-popup-menu spk-option[selected] spk-checkbox.primary.raised{--box-bg: var(--primary-gradient-20)}spk-checkbox.accent.raised:has(input[type=checkbox]:checked),spk-checkbox.accent.raised.active,.sparkle-popup-menu spk-option[selected] spk-checkbox.accent.raised{--box-bg: var(--accent-gradient-20)}spk-checkbox.warn.raised:has(input[type=checkbox]:checked),spk-checkbox.warn.raised.active,.sparkle-popup-menu spk-option[selected] spk-checkbox.warn.raised{--box-bg: var(--warn-gradient-20)}spk-checkbox.error.raised:has(input[type=checkbox]:checked),spk-checkbox.error.raised.active,.sparkle-popup-menu spk-option[selected] spk-checkbox.error.raised{--box-bg: var(--error-gradient-20)}spk-checkbox.success.raised:has(input[type=checkbox]:checked),spk-checkbox.success.raised.active,.sparkle-popup-menu spk-option[selected] spk-checkbox.success.raised{--box-bg: var(--success-gradient-20)}spk-daterange-input spk-form-field-popover .input-wrap .input,spk-datepicker-input spk-form-field-popover .input-wrap .input{display:grid;grid-template-columns:1fr auto;align-items:center}spk-daterange-input spk-form-field-popover .masked-value,spk-datepicker-input spk-form-field-popover .masked-value{font:var(--paragraph-30B);color:var(--base-level-60)}spk-daterange-input spk-form-field-popover .masked-value+input+input,spk-daterange-input spk-form-field-popover .masked-value+input,spk-datepicker-input spk-form-field-popover .masked-value+input+input,spk-datepicker-input spk-form-field-popover .masked-value+input{opacity:0;height:0;width:0}spk-daterange-input spk-form-field-popover [suffix]+[suffix].default-indicator,spk-datepicker-input spk-form-field-popover [suffix]+[suffix].default-indicator{display:none}spk-daterange-input spk-datepicker,spk-datepicker-input spk-datepicker{z-index:10000;position:relative;--dp-width: 15rem}spk-daterange-input spk-popover .popover{--dp-width: 18.75rem;min-width:var(--dp-width)}spk-daterange-input spk-form-field-popover.columns-1 spk-popover .popover{--dp-width: 18.75rem }spk-daterange-input spk-form-field-popover.columns-2 spk-popover .popover{--dp-width: 38.5rem }spk-daterange-input spk-form-field-popover.columns-3 spk-popover .popover{--dp-width: 58.25rem }spk-datepicker{--dp-sel-bg: var(--base-level-60);--dp-sel-bw: 0;--dp-sel-bc: transparent;--dp-sel-c: #fff;--dp-day-c: var(--base-level-60);--dp-day-g: .25rem 0;--dp-day-f: var(--paragraph-20);--dp-width: 18.75rem;width:100%;max-width:var(--dp-width);display:flex;flex-direction:column}spk-datepicker.columns-1{--dp-width: 18.75rem }spk-datepicker.columns-2{--dp-width: 38.5rem }spk-datepicker.columns-3{--dp-width: 58.25rem }spk-datepicker.as-range section .days>div.sel{background:var(--dp-sel-bg);opacity:.5}spk-datepicker.as-range section .days>div.month-start,spk-datepicker.as-range section .days>div.week-start,spk-datepicker.as-range section .days>div.first{border-top-left-radius:50%;border-bottom-left-radius:50%}spk-datepicker.as-range section .days>div.month-end,spk-datepicker.as-range section .days>div.week-end,spk-datepicker.as-range section .days>div.last{border-top-right-radius:50%;border-bottom-right-radius:50%}spk-datepicker.as-range section .days>div.first,spk-datepicker.as-range section .days>div.last{opacity:1}spk-datepicker.as-range .month .days>div.out-of-scope{opacity:0;pointer-events:none}spk-datepicker header{display:flex;align-items:center;justify-content:space-between;padding:.25rem 0;gap:0}spk-datepicker header .title{font:var(--paragraph-20)}spk-datepicker header button{appearance:none;background-color:transparent;border:0;cursor:pointer;height:2rem;color:var(--base-level-60)}spk-datepicker header button:focus{outline:none}spk-datepicker .months-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}spk-datepicker .month{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:1fr 7fr;gap:var(--dp-day-g);align-items:flex-start}spk-datepicker .month .days,spk-datepicker .month .weekdays{display:grid;grid-column:1/-1;gap:var(--dp-day-g);grid-template-columns:subgrid;position:relative}spk-datepicker .month .days>.days,spk-datepicker .month .weekdays>.days{position:absolute;top:0;left:0;width:100%;height:100%;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(7,1fr);gap:var(--dp-day-g);z-index:0}spk-datepicker .month .days>div,spk-datepicker .month .weekdays>div{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;cursor:pointer;position:relative;z-index:1;color:var(--dp-day-c);font:var(--dp-day-f);-webkit-user-select:none;user-select:none}spk-datepicker .month .days>div.sel,spk-datepicker .month .weekdays>div.sel{color:var(--dp-sel-c);transition:color 75ms linear}spk-datepicker .month .days>div.out-of-scope,spk-datepicker .month .weekdays>div.out-of-scope{opacity:.4}spk-datepicker .month .days>div.sel-el,spk-datepicker .month .weekdays>div.sel-el{position:relative;top:0;left:0;transition:transform 75ms linear,opacity 75ms linear;background:var(--dp-sel-bg);border-radius:50%;border:var(--dp-sel-bw) solid var(--dp-sel-bc);opacity:0;box-sizing:border-box}spk-datepicker .month .weekdays>div{color:var(--base-level-70)}spk-datepicker.primary{--dp-sel-bg: var(--primary-500)}spk-datepicker.accent{--dp-sel-bg: var(--accent-500)}spk-datepicker.warn{--dp-sel-bg: var(--warn-500)}spk-datepicker.error{--dp-sel-bg: var(--error-500)}spk-datepicker.success{--dp-sel-bg: var(--success-500)}spk-datepicker.outlined{--dp-sel-bg: var(--base-level-10);--dp-sel-c: var(--base-level-70);--dp-sel-bw: 2px;--dp-sel-bc: var(--base-level-40)}spk-datepicker.outlined.primary{--dp-sel-bc: var(--primary-500)}spk-datepicker.outlined.accent{--dp-sel-bc: var(--accent-500)}spk-datepicker.outlined.warn{--dp-sel-bc: var(--warn-500)}spk-datepicker.outlined.error{--dp-sel-bc: var(--error-500)}spk-datepicker.outlined.success{--dp-sel-bc: var(--success-500)}spk-datepicker.raised{--dp-sel-bg: var(--base-gradient-20)}spk-datepicker.raised.primary{--dp-sel-bg: var(--primary-gradient-20)}spk-datepicker.raised.accent{--dp-sel-bg: var(--accent-gradient-20)}spk-datepicker.raised.warn{--dp-sel-bg: var(--warn-gradient-20)}spk-datepicker.raised.error{--dp-sel-bg: var(--error-gradient-20)}spk-datepicker.raised.success{--dp-sel-bg: var(--success-gradient-20)}spk-icon{font-size:1.25rem;line-height:1em;width:1em;height:1em;min-width:1em;min-height:1em;max-width:1em;max-height:1em;text-align:left;overflow:hidden;display:inline-block}spk-icon.large{font-size:2rem}spk-icon.small{font-size:1rem}spk-icon.inherit{font-size:inherit}spk-menu{--menu-mh: 20rem;display:inline-flex;position:relative}spk-menu.disabled{opacity:.5;pointer-events:none}spk-menu.stretch{width:100%}spk-menu.stretch [trigger]>*{width:100%}spk-menu.has-search spk-popover .options [title]{position:sticky;border-bottom:1px solid var(--base-level-40)}spk-menu.has-search .form-field-wrap{margin:.5rem .5rem 0}spk-menu.has-search .options{margin:.25rem 0 0}spk-menu [trigger]:has(spk-icon.open-indicator){position:relative}spk-menu [trigger]:has(spk-icon.open-indicator)>:first-child{padding-right:2rem}spk-menu [trigger]:has(spk-icon.open-indicator) .open-indicator{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);color:var(--base-level-60);font-size:1rem;font-weight:inherit;pointer-events:none;transition:transform 75ms ease-in-out}spk-menu [trigger]:has(spk-icon.open-indicator).is-open .open-indicator{transform:translateY(-50%) rotate(-180deg)}spk-menu spk-popover{flex:1 0}spk-menu spk-popover .popover{padding:0}spk-menu spk-popover .overlay~.form-field-wrap spk-form-field{z-index:10;background-color:var(--base-level-10)}spk-menu spk-popover .overlay~.form-field-wrap spk-form-field.hidden{opacity:0;height:0;width:0;min-width:0;min-height:0;margin:0}spk-menu spk-popover:has(:not(.options.searching)) button{order:initial!important}spk-menu spk-popover .options{z-index:2;position:relative;display:flex;flex-direction:column;gap:.25rem;padding:0;margin:0;max-height:var(--menu-mh);overflow:auto}spk-menu spk-popover .options button:first-child{margin-top:.5rem}spk-menu spk-popover .options.searching button[disabled]{display:none}spk-menu spk-popover .options.searching button[value="0"]{display:none}spk-menu spk-popover .options.searching *:not(button){display:none}spk-menu spk-popover .options:after{content:"";display:block;width:100%;min-height:.25rem}spk-menu spk-popover .options [title]{font:var(--paragraph-30);color:var(--base-level-60);padding:.5rem .75rem;margin:0;-webkit-user-select:none;user-select:none;position:relative;top:0;z-index:10;background-color:var(--base-level-10)}spk-menu spk-popover .options button{display:flex;justify-content:flex-start;align-items:center;text-align:left;min-height:2rem;margin:0 .5rem;padding:0 .5rem;gap:.5rem;width:calc(100% - 1rem);border-radius:var(--shape-2);appearance:none;background-color:transparent;border:0;cursor:pointer;color:var(--base-level-70)}spk-menu spk-popover .options button[disabled]{opacity:.3;cursor:initial}spk-menu spk-popover .options button[disabled]:hover{background-color:transparent}spk-menu spk-popover .options button [suffix]{order:999;color:var(--base-level-60);font:var(--paragraph-30);justify-self:flex-end;display:inline-flex;flex:1 0;justify-content:flex-end}spk-menu spk-popover .options button spk-icon{font-size:1rem}spk-menu spk-popover .options button.active,spk-menu spk-popover .options button:hover{background-color:var(--base-level-30);color:var(--base-level-70)}spk-menu spk-popover .options button.focused{background-color:var(--primary-level-20);color:var(--base-level-70)}spk-menu spk-popover .options button.focused:hover{background-color:var(--primary-level-30)}spk-divider{--divider-c: var(--base-level-40);--divider-h: .0625rem;display:flex;gap:.5rem;align-items:center;text-align:center}spk-divider:empty{gap:0}spk-divider:before,spk-divider:after{content:"";background:var(--divider-c);height:var(--divider-h);flex:1 0}dialog[spkDialog]{--dialog-p: 1rem;--dialog-g: .5rem;--dialog-bg: var(--base-level-10);border:1px solid var(--base-level-40);background:transparent;border-radius:var(--shape-2);box-shadow:var(--box-shadow-40);color:var(--base-level-60);font:var(--paragraph-30);padding:0;margin:auto;z-index:0}dialog[spkDialog].type-b{background:var(--base-level-30);padding:.5rem;outline:1px solid var(--base-level-40);outline-offset:-1px;overflow:hidden}dialog[spkDialog].type-b::backdrop{background:rgb(from var(--base-level-10) r g b/30%);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}dialog[spkDialog].type-b .content{border:1px solid rgb(from var(--base-level-40) r g b/70%)}dialog[spkDialog] .content{border-radius:var(--shape-2);background-color:var(--dialog-bg);z-index:2;max-width:initial;max-height:calc(96vh - 1rem);position:relative;overflow:auto}dialog[spkDialog] .closeable-overlay{position:fixed;inset:0;opacity:0;z-index:1}dialog[spkDialog]:focus{outline:none}dialog[spkDialog] .dialog-content{position:relative;z-index:2}dialog[spkDialog] .dialog-backdrop{position:fixed;inset:0;opacity:0;z-index:1}dialog[spkDialog] [header],dialog[spkDialog] [content],dialog[spkDialog] [footer]{width:100%}dialog[spkDialog] [header]{display:flex;align-items:center;justify-content:space-between;padding:var(--dialog-p);gap:var(--dialog-g)}dialog[spkDialog] [header].sticky{background-color:var(--dialog-bg);border-bottom:1px solid var(--base-level-40);box-shadow:var(--box-shadow-35);position:sticky;top:0}dialog[spkDialog] [content]{padding:0 var(--dialog-p)}dialog[spkDialog] [content]:not(:has(~[footer])){padding-bottom:var(--dialog-p)}dialog[spkDialog] [footer]{display:flex;align-items:center;justify-content:flex-end;padding:var(--dialog-p);gap:var(--dialog-g)}dialog[spkDialog] [footer].sticky{background-color:var(--dialog-bg);border-top:1px solid var(--base-level-40);box-shadow:var(--box-shadow-35);position:sticky;bottom:0}spk-popover{--po-d: inherit;display:var(--po-d)}spk-popover .trigger{cursor:pointer;display:var(--po-d);position:relative}spk-popover .trigger .trigger-wrapper{display:var(--po-d)}spk-popover .trigger .trigger-wrapper:empty+*{display:inherit}spk-popover .trigger .trigger-wrapper+[spk-button]{display:none}spk-popover .overlay{position:fixed;inset:0;opacity:0;z-index:-1}spk-popover .popover{position:absolute;margin:0;min-width:11.25rem;z-index:0;background-color:var(--base-level-10);border:1px solid var(--base-level-40);border-radius:var(--shape-2);font:var(--paragraph-30);color:var(--base-level-60)}@supports (anchor-name: --anchor){spk-popover .popover{inset:unset;left:anchor(left);top:calc(anchor(bottom) + .25rem);position:fixed;position-try-order:flip-block,flip-inline,flip-block flip-inline;position-try-fallbacks:flip-block,flip-inline,flip-block flip-inline}}spk-chip{--chip-h: 2rem;--chip-s: 1rem;--chip-c: var(--base-level-70);--chip-ic: var(--base-level-70);--chip-bg: var(--base-level-10);--chip-bc: var(--base-level-40);--chip-bs: none;display:inline-flex;align-items:center;gap:.5rem;padding:0 .75rem;font:var(--paragraph-30B);color:var(--chip-c);height:var(--chip-h);border-radius:var(--chip-s);border:1px solid var(--chip-bc);box-shadow:var(--chip-bs);background:var(--chip-bg);white-space:nowrap}spk-chip spk-icon{color:var(--chip-ic);font-size:1rem;font-weight:inherit}spk-chip [avatar]{height:calc(var(--chip-h) - .75rem);width:calc(var(--chip-h) - .75rem);border-radius:50%}spk-chip.small{--chip-h: 1.5rem;--chip-s: .75rem;font:var(--paragraph-40B);padding:0 .5rem;gap:.25rem}spk-chip.small spk-icon{font-size:.75rem}spk-chip[disabled]{opacity:.5}spk-chip[read-only],spk-chip[read-only=true],spk-chip[readonly=true],spk-chip[readonly],spk-chip.readonly{pointer-events:none;-webkit-user-select:none;user-select:none}spk-chip.primary{--chip-ic: var(--primary-500)}spk-chip.accent{--chip-ic: var(--accent-500)}spk-chip.warn{--chip-ic: var(--warn-500)}spk-chip.error{--chip-ic: var(--error-500)}spk-chip.success{--chip-ic: var(--success-500)}spk-chip.simple{border:0;--chip-c: var(--base-level-70)}spk-chip.simple.primary{--chip-c: var(--primary-500)}spk-chip.simple.accent{--chip-c: var(--accent-500)}spk-chip.simple.warn{--chip-c: var(--warn-500)}spk-chip.simple.error{--chip-c: var(--error-500)}spk-chip.simple.success{--chip-c: var(--success-500)}spk-chip.simple,spk-chip.outlined{--chip-c: var(--base-level-70);--chip-bg: var(--base-level-20);transition:color 80ms linear}spk-chip.simple.primary,spk-chip.outlined.primary{--loader-c: var(--primary-500);--chip-bg: var(--primary-level-20);--chip-bc: var(--primary-level-40)}spk-chip.simple.accent,spk-chip.outlined.accent{--loader-c: var(--accent-500);--chip-bg: var(--accent-level-20);--chip-bc: var(--accent-level-40)}spk-chip.simple.warn,spk-chip.outlined.warn{--loader-c: var(--warn-500);--chip-bg: var(--warn-level-20);--chip-bc: var(--warn-level-40)}spk-chip.simple.error,spk-chip.outlined.error{--loader-c: var(--error-500);--chip-bg: var(--error-level-20);--chip-bc: var(--error-level-40)}spk-chip.simple.success,spk-chip.outlined.success{--loader-c: var(--success-500);--chip-bg: var(--success-level-20);--chip-bc: var(--success-level-40)}spk-chip.flat{--loader-c: var(--base-level-10);--chip-c: #fff;--chip-ic: #fff;--chip-bg: var(--sparkle-light, var(--grey-600)) var(--sparkle-dark, var(--grey-600));border:0}spk-chip.flat.primary{--chip-c: var(--primary-contrast-500);--chip-bg: var(--primary-500)}spk-chip.flat.accent{--chip-c: var(--accent-contrast-500);--chip-bg: var(--accent-500)}spk-chip.flat.warn{--chip-c: var(--warn-contrast-500);--chip-bg: var(--warn-500)}spk-chip.flat.error{--chip-c: var(--error-contrast-500);--chip-bg: var(--error-500)}spk-chip.flat.success{--chip-c: var(--success-contrast-500);--chip-bg: var(--success-500)}spk-chip.raised{--loader-c: var(--base-level-10);--chip-c: #fff;--chip-ic: #fff;--chip-bg: var(--base-gradient-60);border:0;box-shadow:none}spk-chip.raised.primary{--chip-c: var(--primary-contrast-500);--chip-bg: var(--primary-gradient-20)}spk-chip.raised.accent{--chip-c: var(--accent-contrast-500);--chip-bg: var(--accent-gradient-20)}spk-chip.raised.warn{--chip-c: var(--warn-contrast-500);--chip-bg: var(--warn-gradient-20)}spk-chip.raised.error{--chip-c: var(--error-contrast-500);--chip-bg: var(--error-gradient-20)}spk-chip.raised.success{--chip-c: var(--success-contrast-500);--chip-bg: var(--success-gradient-20)}spk-form-field-popover,spk-form-field{--ff-s: var(--shape-2);--ff-bc: var(--base-level-40);--ff-prefix-bg: var(--base-level-20);--ff-suffix-bg: transparent;--ff-ic: var(--base-level-60);--ff-bg: var(--base-level-10);--ff-f: var(--paragraph-30B);--ff-spinner-size: 1.25rem;--ff-spinner-thickness: .125rem;--ff-space: .5625rem .75rem;--ff-input-space: .625rem .75rem;--ff-mw: auto;--ff-bs: none;display:flex;flex-direction:column;align-items:flex-start;position:relative;width:100%}spk-form-field-popover[read-only],spk-form-field-popover[read-only=true],spk-form-field-popover[readonly=true],spk-form-field-popover[readonly],spk-form-field-popover.readonly,spk-form-field-popover[disabled],spk-form-field-popover[disabled=true],spk-form-field-popover.disabled,spk-form-field-popover:has(input[disabled]),spk-form-field-popover:has(textarea[disabled]),spk-form-field-popover:has(textarea[disabled=true]),spk-form-field-popover:has(input[disabled=true]),spk-form-field[read-only],spk-form-field[read-only=true],spk-form-field[readonly=true],spk-form-field[readonly],spk-form-field.readonly,spk-form-field[disabled],spk-form-field[disabled=true],spk-form-field.disabled,spk-form-field:has(input[disabled]),spk-form-field:has(textarea[disabled]),spk-form-field:has(textarea[disabled=true]),spk-form-field:has(input[disabled=true]){pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.5}spk-form-field-popover.small,spk-form-field.small{--ff-space: .4375rem .625rem;--ff-input-space: .375rem .625rem;--ff-f: var(--paragraph-40B);line-height:1rem}spk-form-field-popover.small .prefix,spk-form-field-popover.small .suffix,spk-form-field.small .prefix,spk-form-field.small .suffix{line-height:1rem}spk-form-field-popover.small .prefix>spk-icon,spk-form-field-popover.small .suffix>spk-icon,spk-form-field.small .prefix>spk-icon,spk-form-field.small .suffix>spk-icon{font-size:1rem}spk-form-field-popover.auto-width,spk-form-field.auto-width{width:initial}spk-form-field-popover.auto-width .input-wrap,spk-form-field-popover.auto-width input,spk-form-field.auto-width .input-wrap,spk-form-field.auto-width input{width:initial}spk-form-field-popover.center .input-wrap input[type=number],spk-form-field-popover.center .input-wrap input,spk-form-field.center .input-wrap input[type=number],spk-form-field.center .input-wrap input{text-align:center}spk-form-field-popover label,spk-form-field label{display:flex;align-items:center;padding-bottom:.25rem;gap:.25rem}spk-form-field-popover label spk-icon,spk-form-field label spk-icon{font-size:1rem}spk-form-field-popover .suffix,spk-form-field-popover .prefix,spk-form-field .suffix,spk-form-field .prefix{display:none;align-items:center;gap:.25rem;padding:var(--ff-space);transition:background-color 125ms linear;background-color:var(--ff-prefix-bg);line-height:1.25rem}spk-form-field-popover .suffix:not(:empty),spk-form-field-popover .prefix:not(:empty),spk-form-field .suffix:not(:empty),spk-form-field .prefix:not(:empty){display:flex}spk-form-field-popover .suffix,spk-form-field .suffix{background-color:var(--ff-suffix-bg)}spk-form-field-popover .suffix:has([textsuffix]),spk-form-field .suffix:has([textsuffix]){padding-left:0}spk-form-field-popover:has(input.ng-touched.ng-invalid),spk-form-field:has(input.ng-touched.ng-invalid){--ff-ic: var(--error-500);--ff-bc: var(--error-500);--ff-prefix-bg: var(--error-level-20)}spk-form-field-popover.autosize,spk-form-field.autosize{width:min-content}spk-form-field-popover.autosize .input-wrap,spk-form-field.autosize .input-wrap{height:auto}spk-form-field-popover.autosize .input-wrap textarea,spk-form-field-popover.autosize .input-wrap input,spk-form-field.autosize .input-wrap textarea,spk-form-field.autosize .input-wrap input{field-sizing:content}spk-form-field-popover .input-wrap,spk-form-field .input-wrap{display:flex;align-items:center;border:1px solid var(--ff-bc);border-radius:var(--ff-s);background:var(--ff-bg);box-shadow:var(--ff-bs);overflow:hidden;transition:border-color 125ms linear;min-width:var(--ff-mw);width:100%}spk-form-field-popover .input-wrap spk-popover,spk-form-field-popover .input-wrap .input,spk-form-field .input-wrap spk-popover,spk-form-field .input-wrap .input{flex:1 0;margin:var(--ff-space)}spk-form-field-popover .input-wrap textarea,spk-form-field .input-wrap textarea{resize:none;margin:.5rem 0;color:var(--base-level-60);field-sizing:content}spk-form-field-popover .input-wrap:has(textarea),spk-form-field .input-wrap:has(textarea){height:auto;min-width:100%;max-width:100%}spk-form-field-popover .input-wrap spk-icon,spk-form-field .input-wrap spk-icon{color:var(--ff-ic);transition:color 125ms linear}spk-form-field-popover .input-wrap spk-chip spk-icon,spk-form-field .input-wrap spk-chip spk-icon{color:var(--chip-ic)}spk-form-field-popover .input-wrap spk-spinner,spk-form-field .input-wrap spk-spinner{--spinner-size: var(--ff-spinner-size);--spinner-thickness: var(--ff-spinner-thickness)}spk-form-field-popover .input-wrap textarea,spk-form-field-popover .input-wrap input,spk-form-field .input-wrap textarea,spk-form-field .input-wrap input{appearance:none;border:0;padding:0;background:transparent;font:var(--paragraph-30B);flex:1 0;color:var(--base-level-60);margin:var(--ff-input-space);width:100%}spk-form-field-popover .input-wrap textarea::placeholder,spk-form-field-popover .input-wrap input::placeholder,spk-form-field .input-wrap textarea::placeholder,spk-form-field .input-wrap input::placeholder{color:var(--base-level-60R)}spk-form-field-popover .input-wrap textarea:focus,spk-form-field-popover .input-wrap input:focus,spk-form-field .input-wrap textarea:focus,spk-form-field .input-wrap input:focus{outline:none}spk-form-field-popover .input-wrap textarea[type=number],spk-form-field-popover .input-wrap input[type=number],spk-form-field .input-wrap textarea[type=number],spk-form-field .input-wrap input[type=number]{appearance:textfield;text-align:right}spk-form-field-popover .input-wrap textarea[type=number]::-webkit-outer-spin-button,spk-form-field-popover .input-wrap textarea[type=number]::-webkit-inner-spin-button,spk-form-field-popover .input-wrap input[type=number]::-webkit-outer-spin-button,spk-form-field-popover .input-wrap input[type=number]::-webkit-inner-spin-button,spk-form-field .input-wrap textarea[type=number]::-webkit-outer-spin-button,spk-form-field .input-wrap textarea[type=number]::-webkit-inner-spin-button,spk-form-field .input-wrap input[type=number]::-webkit-outer-spin-button,spk-form-field .input-wrap input[type=number]::-webkit-inner-spin-button{display:none}spk-form-field-popover .input-wrap textarea[type=number]:has(+.suffix:not(:empty)),spk-form-field-popover .input-wrap input[type=number]:has(+.suffix:not(:empty)),spk-form-field .input-wrap textarea[type=number]:has(+.suffix:not(:empty)),spk-form-field .input-wrap input[type=number]:has(+.suffix:not(:empty)){margin-right:0}spk-form-field-popover .helpers,spk-form-field .helpers{height:1.25rem;display:flex;align-items:center;gap:.25rem;padding-top:.25rem}spk-form-field-popover .helpers [hint],spk-form-field .helpers [hint]{color:var(--base-level-60R)}spk-form-field-popover .helpers [hint][suffix],spk-form-field .helpers [hint][suffix]{justify-self:flex-end}spk-form-field-popover:not(:has(input.ng-touched.ng-invalid)):has(.hint:empty) .helpers,spk-form-field:not(:has(input.ng-touched.ng-invalid)):has(.hint:empty) .helpers{height:0;padding-top:0}spk-form-field-popover:not(:has(input.ng-touched.ng-invalid)) .error,spk-form-field:not(:has(input.ng-touched.ng-invalid)) .error{display:none}spk-form-field-popover:has(input.ng-touched.ng-invalid) .helpers .hint,spk-form-field:has(input.ng-touched.ng-invalid) .helpers .hint{opacity:0;visibility:hidden}spk-form-field-popover .error,spk-form-field .error{color:var(--error-500);opacity:1;transition:opacity 125ms linear;position:absolute;bottom:0;left:0;right:0;width:100%}spk-form-field-popover .hint,spk-form-field .hint{display:flex;align-items:center;justify-content:space-between;width:100%;color:var(--base-level-60R);opacity:1;transition:visibility 125ms linear,opacity 125ms linear;visibility:visible}spk-form-field-popover .hint:empty,spk-form-field .hint:empty{opacity:0}spk-form-field-popover.error,spk-form-field.error{--ff-ic: var(--error-500)}spk-form-field-popover.warning,spk-form-field.warning{--ff-ic: var(--warn-500)}spk-form-field-popover.success,spk-form-field.success{--ff-ic: var(--success-500)}spk-color-picker{position:relative;display:block;width:18.75rem;height:18.75rem}spk-color-picker canvas{background-image:linear-gradient(45deg,#808080 25%,transparent 25%),linear-gradient(-45deg,#808080 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#808080 75%),linear-gradient(-45deg,transparent 75%,#808080 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px}spk-color-picker.hsl canvas{border-radius:100%;overflow:hidden}spk-color-picker.saturation:not(.vertical),spk-color-picker.hue:not(.vertical){height:1.25rem;border-radius:var(--shape-2)}spk-color-picker.saturation:not(.vertical) canvas,spk-color-picker.hue:not(.vertical) canvas{border-radius:var(--shape-2)}spk-color-picker.saturation:not(.vertical) .marker,spk-color-picker.hue:not(.vertical) .marker{top:50%!important}spk-color-picker.saturation.vertical,spk-color-picker.hue.vertical{width:1.25rem;border-radius:var(--shape-2)}spk-color-picker.saturation.vertical canvas,spk-color-picker.hue.vertical canvas{border-radius:var(--shape-2)}spk-color-picker.saturation.vertical .marker,spk-color-picker.hue.vertical .marker{left:50%!important}spk-color-picker canvas{width:calc(100% + 1px);height:calc(100% + 1px);transform:translate(-1px,-1px);border:2px solid var(--base-level-10);outline:1px solid var(--base-level-40)}spk-color-picker .marker{position:absolute;inset:0;width:1.25rem;height:1.25rem;border-radius:50%;border:1px solid #fff;pointer-events:none;transform:translate(-50%,-50%);box-shadow:0 1px 4px #0000004d}spk-sidenav{--sidenav-width: 17.5rem;display:flex;width:100vw;height:100vh}spk-sidenav .sidenav{width:var(--sidenav-width);transition:width .2s linear;height:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:auto}spk-sidenav .main-wrap{position:relative;z-index:1;flex:1 0;display:block;height:100%;overflow:auto;padding:1rem 1rem 1rem 0}spk-sidenav main{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:auto;background-color:var(--base-level-10);border:1px solid var(--base-level-40);border-radius:var(--shape-3);height:calc(100vh - 2rem);box-shadow:var(--box-shadow-35)}spk-sidenav .closed-topbar{display:none;min-height:3.75rem;background-color:var(--base-level-10);align-items:center;justify-content:space-between;padding:0 1rem;border-bottom:1px solid var(--base-level-40);z-index:10000;position:relative}spk-sidenav .dragable{display:none}spk-sidenav .drag-image{display:none}spk-sidenav.simple{border-radius:0}spk-sidenav.simple .main-wrap{padding:0}spk-sidenav.simple .main-wrap main{height:100vh;border-radius:0;border-width:0 0 0 1px}spk-sidenav.simple.closed{--sidenav-width: 6.25rem}spk-sidenav.overlay{overflow:hidden}spk-sidenav.overlay .drag-image{display:block;width:.25rem;height:40%;background-color:var(--base-level-30);border-radius:.125rem;box-shadow:none}spk-sidenav.overlay .sidenav{position:fixed;z-index:0}spk-sidenav.overlay .dragable{position:absolute;top:0;left:0;bottom:0;z-index:9999;width:50px;padding-right:30px;display:flex;align-items:center;justify-content:center;cursor:grab}spk-sidenav.overlay .dragable:active{cursor:grabbing}spk-sidenav.overlay .dragable:after{content:"";display:block;width:.25rem;height:40%;background-color:var(--base-level-30);border-radius:.125rem}spk-sidenav.overlay .dragable:hover:after{background-color:var(--base-level-40)}spk-sidenav.overlay .dropping-surface{position:fixed;inset:0;z-index:100000}spk-sidenav.overlay .main-wrap{z-index:1;padding:0;display:flex;height:100vh;position:relative;flex-direction:column;transform:translate(0);transition:transform .2s linear}spk-sidenav.overlay.is-dragging{-webkit-user-select:none;user-select:none;cursor:grabbing}spk-sidenav.overlay.is-dragging .main-wrap{transition:none}spk-sidenav.overlay.is-dragging>*{cursor:grabbing}spk-sidenav.overlay.is-dragging .dragable{cursor:grabbing}spk-sidenav.overlay.open .main-wrap{transform:translate(var(--sidenav-width))}spk-sidenav.overlay .closed-topbar{display:flex}spk-sidenav.overlay .closed-topbar:empty{display:none}spk-sidenav.overlay main{border:0;box-shadow:none;flex:1 0}spk-list{--list-s: var(--shape-2);--list-active-bg: var(--base-level-20);--list-color: var(--base-level-60);--list-active-bs: none;width:100%;padding:1.25rem 1rem;gap:.5rem;display:flex;flex-direction:column}spk-list.base-level-20{--list-active-bg: var(--base-level-10);--list-active-bs: var(--box-shadow-20)}spk-list [title]{color:var(--base-level-60R);margin:0 .75rem;font:var(--paragraph-30);line-height:1.25rem}spk-list [action],spk-list [item]{border-radius:var(--list-s);padding:.5rem .75rem;font:var(--paragraph-30B);color:var(--list-color);display:flex;align-items:center;gap:.5rem;width:100%;-webkit-user-select:none;user-select:none;appearance:none;border:0;text-align:left;text-wrap:balance;background-color:transparent;text-decoration:none}spk-list [action]:focus,spk-list [item]:focus{outline:none}spk-list [action] [suffix],spk-list [item] [suffix]{margin-left:auto;color:var(--base-level-60R)}spk-list :has(input[type=checkbox]),spk-list :has(input[type=radio]),spk-list [action]{cursor:pointer}spk-list [item]:has(input[type=checkbox]:checked),spk-list [action]:has(input[type=checkbox]:checked),spk-list [item]:has(input[type=radio]:checked),spk-list [action]:has(input[type=radio]:checked),spk-list [action].active,spk-list [action].selected{--list-color: var(--base-level-70);background-color:var(--list-active-bg);box-shadow:var(--list-active-bs)}spk-list.primary [item]:has(input[type=checkbox]:checked) spk-icon:first-child,spk-list.primary [action]:has(input[type=checkbox]:checked) spk-icon:first-child,spk-list.primary [item]:has(input[type=radio]:checked) spk-icon:first-child,spk-list.primary [action]:has(input[type=radio]:checked) spk-icon:first-child,spk-list.primary [action].active spk-icon:first-child,spk-list.primary [action].selected spk-icon:first-child{color:var(--primary-500)}spk-list.accent [item]:has(input[type=checkbox]:checked) spk-icon:first-child,spk-list.accent [action]:has(input[type=checkbox]:checked) spk-icon:first-child,spk-list.accent [item]:has(input[type=radio]:checked) spk-icon:first-child,spk-list.accent [action]:has(input[type=radio]:checked) spk-icon:first-child,spk-list.accent [action].active spk-icon:first-child,spk-list.accent [action].selected spk-icon:first-child{color:var(--accent-500)}spk-list.warn [item]:has(input[type=checkbox]:checked) spk-icon:first-child,spk-list.warn [action]:has(input[type=checkbox]:checked) spk-icon:first-child,spk-list.warn [item]:has(input[type=radio]:checked) spk-icon:first-child,spk-list.warn [action]:has(input[type=radio]:checked) spk-icon:first-child,spk-list.warn [action].active spk-icon:first-child,spk-list.warn [action].selected spk-icon:first-child{color:var(--warn-500)}spk-list.error [item]:has(input[type=checkbox]:checked) spk-icon:first-child,spk-list.error [action]:has(input[type=checkbox]:checked) spk-icon:first-child,spk-list.error [item]:has(input[type=radio]:checked) spk-icon:first-child,spk-list.error [action]:has(input[type=radio]:checked) spk-icon:first-child,spk-list.error [action].active spk-icon:first-child,spk-list.error [action].selected spk-icon:first-child{color:var(--error-500)}spk-list.success [item]:has(input[type=checkbox]:checked) spk-icon:first-child,spk-list.success [action]:has(input[type=checkbox]:checked) spk-icon:first-child,spk-list.success [item]:has(input[type=radio]:checked) spk-icon:first-child,spk-list.success [action]:has(input[type=radio]:checked) spk-icon:first-child,spk-list.success [action].active spk-icon:first-child,spk-list.success [action].selected spk-icon:first-child{color:var(--success-500)}spk-radio{--radio-bw: .0625rem;--radio-bg: var(--base-level-30);--radio-bc: var(--base-level-40);--radio-c: var(--base-level-60);--radiod-o: 0;--radiod-c: var(--base-level-60);display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}spk-radio>input[type=radio]{appearance:none;position:absolute;inset:0;cursor:pointer}spk-radio>input[type=radio]:focus{outline:none}spk-radio:has(input[type=radio]:checked),spk-radio.active{--radiod-o: 1}spk-radio .radio{display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;cursor:pointer;position:relative;border-radius:50%;border:var(--radio-bw) solid var(--radio-bc);background:var(--radio-bg);font-size:.75rem;color:var(--radio-c)}spk-radio .radio:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;width:.375rem;height:.375rem;background-color:var(--radiod-c);opacity:var(--radiod-o);transition:opacity 125ms linear}spk-radio.primary{--radio-c: var(--primary-500);--radiod-c: var(--primary-500);--radio-bg: var(--primary-level-30);--radio-bc: var(--primary-level-40)}spk-radio.accent{--radio-c: var(--accent-500);--radiod-c: var(--accent-500);--radio-bg: var(--accent-level-30);--radio-bc: var(--accent-level-40)}spk-radio.warn{--radio-c: var(--warn-500);--radiod-c: var(--warn-500);--radio-bg: var(--warn-level-30);--radio-bc: var(--warn-level-40)}spk-radio.error{--radio-c: var(--error-500);--radiod-c: var(--error-500);--radio-bg: var(--error-level-30);--radio-bc: var(--error-level-40)}spk-radio.success{--radio-c: var(--success-500);--radiod-c: var(--success-500);--radio-bg: var(--success-level-30);--radio-bc: var(--success-level-40)}spk-radio.outlined{--radio-bg: var(--base-level-10)}spk-radio.outlined.primary,spk-radio.outlined.accent,spk-radio.outlined.warn,spk-radio.outlined.error,spk-radio.outlined.success{--radio-bc: var(--base-level-40)}spk-radio.flat,spk-radio.raised{--radio-c: #fff;--radio-bc: var(--base-level-40);--radio-bg: var(--base-level-30);--radiod-c: #fff}spk-radio.flat:has(input[type=radio]:checked),spk-radio.flat.active{--radio-bw: 0;--radio-bg: var(--grey-500);--radiod-c: #fff}spk-radio.flat:has(input[type=radio]:checked).primary,spk-radio.flat.active.primary{--radio-bg: var(--primary-500)}spk-radio.flat:has(input[type=radio]:checked).accent,spk-radio.flat.active.accent{--radio-bg: var(--accent-500)}spk-radio.flat:has(input[type=radio]:checked).warn,spk-radio.flat.active.warn{--radio-bg: var(--warn-500)}spk-radio.flat:has(input[type=radio]:checked).error,spk-radio.flat.active.error{--radio-bg: var(--error-500)}spk-radio.flat:has(input[type=radio]:checked).success,spk-radio.flat.active.success{--radio-bg: var(--success-500)}spk-radio.raised:has(input[type=radio]:checked),spk-radio.raised.active{--radio-bw: 0;--radio-bg: var(--base-gradient-20)}spk-radio.raised:has(input[type=radio]:checked).primary,spk-radio.raised.active.primary{--radio-bg: var(--primary-gradient-20)}spk-radio.raised:has(input[type=radio]:checked).accent,spk-radio.raised.active.accent{--radio-bg: var(--accent-gradient-20)}spk-radio.raised:has(input[type=radio]:checked).warn,spk-radio.raised.active.warn{--radio-bg: var(--warn-gradient-20)}spk-radio.raised:has(input[type=radio]:checked).error,spk-radio.raised.active.error{--radio-bg: var(--error-gradient-20)}spk-radio.raised:has(input[type=radio]:checked).success,spk-radio.raised.active.success{--radio-bg: var(--success-gradient-20)}spk-button-group{--btng-bg: var(--base-level-10);--btng-c: var(--base-level-70);--btng-ic: var(--base-level-70);--btng-bc: var(--base-level-40);--btng-h: 2.5rem;--btng-s: var(--shape-2);--btng-f: var(--paragraph-30);display:inline-flex;border:1px solid var(--btng-bc);border-radius:var(--btng-s);height:var(--btng-h);overflow:hidden}spk-button-group button{border:0;flex:1 0;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;position:relative;padding:0 .75rem;transition:color 80ms linear;min-width:auto;cursor:pointer;outline:none;line-height:inherit;-webkit-user-select:none;user-select:none;appearance:none;overflow:visible;vertical-align:middle;white-space:nowrap;background:var(--btng-bg);color:var(--btng-c);font:var(--btng-f);border-left:1px solid var(--btng-bc)}spk-button-group button:first-child{border-left:0}spk-button-group button:hover,spk-button-group button.active{--btng-c: var(--base-level-70);--btng-ic: var(--base-level-70);--btng-bg: var(--base-level-30)}spk-range-slider{--rs-h: 2.5rem;--rs-f: var(--paragraph-30);--rs-unit-g: .75rem;--rs-unit-c: var(--base-level-60);--rst: var(--base-level-30);--rst-bc: var(--base-level-10);--rst-bg: var(--base-level-60R);--rst-h: .5rem;--rst-s: var(--shape-1);--rs-thumb-c: var(--base-level-40);--rs-thumb-bc: var(--base-level-10);--rs-thumb-value-bg: var(--base-level-30);--rs-thumb-value-c: var(--base-level-30R);--rs-thumb-si: 1rem;display:flex;flex-direction:column;width:100%;font:var(--rs-f)}spk-range-slider .label{display:flex;align-items:center;gap:.5rem;padding-bottom:.25rem}spk-range-slider .label>label{display:flex;align-items:center;gap:.25rem}spk-range-slider .label spk-icon{color:var(--grey-500);font-size:1rem}spk-range-slider .label:empty{display:none}spk-range-slider:has(input[type=range][disabled]){--rst-bg: var(--base-ld-6R);opacity:.6}spk-range-slider:has(input[type=range][disabled]) *{pointer-events:none}spk-range-slider input[type=range]{appearance:none;width:100%;height:100%;position:absolute;inset:0;opacity:0;margin:0;z-index:1000}spk-range-slider .input-wrap{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:relative;gap:var(--rs-unit-g)}spk-range-slider .thumb-wrap{position:absolute;top:0}spk-range-slider .thumb{position:relative;margin-top:calc(-1 * var(--rs-thumb-si) / 4);width:var(--rs-thumb-si);height:var(--rs-thumb-si);border-radius:50%;background-color:var(--rs-thumb-c);border:1px solid var(--rs-thumb-bc);box-shadow:var(--box-shadow-10);transform:translate(-50%)}spk-range-slider .thumb.always-show .value-indicator{opacity:1}spk-range-slider .track-wrap{position:relative;width:100%;height:var(--rst-h)}spk-range-slider .track{position:relative;width:100%;height:var(--rst-h);border-radius:var(--rst-s);background-color:var(--rst);border:1px solid var(--rst-bc);overflow:hidden}spk-range-slider .track-filled{position:absolute;top:0;left:0;bottom:0;background:var(--rst-bg);width:0}spk-range-slider .min-indicator,spk-range-slider .max-indicator{white-space:nowrap;color:var(--rs-unit-c)}spk-range-slider input[type=range]:hover~.thumb-wrap .value-indicator,spk-range-slider input[type=range]:focus~.thumb-wrap .value-indicator{opacity:1}spk-range-slider .value-indicator{position:absolute;top:-1.875rem;height:1.5rem;border-radius:var(--shape-2);left:50%;margin:auto;transform:translate(-50%);padding:.25rem .5rem;background-color:var(--rs-thumb-value-bg);color:var(--rs-thumb-value-c);white-space:nowrap;opacity:0;transition:opacity 125ms linear;-webkit-user-select:none;user-select:none;pointer-events:none}spk-range-slider .value-indicator:after{content:"";border-top:.375rem solid var(--rs-thumb-value-bg);border-left:.375rem solid transparent;border-right:.375rem solid transparent;position:absolute;top:100%;left:50%;margin-left:-.375rem}spk-range-slider input[type=range][readonly]{-webkit-user-select:none;user-select:none;pointer-events:none}spk-range-slider input[type=range][readonly]~.track .track-filled{transition:width 125ms linear;border-radius:var(--rst-s)}spk-range-slider input[type=range][readonly]~.thumb-wrap{display:none}spk-range-slider.primary{--rst-bg: var(--primary-500);--rst: var(--primary-level-40);--rs-thumb-c: var(--primary-level-50);--rs-thumb-bc: var(--base-level-10);--rs-thumb-value-bg: var(--primary-level-50);--rs-thumb-value-c: var(--primary-level-50R)}spk-range-slider.accent{--rst-bg: var(--accent-500);--rst: var(--accent-level-40);--rs-thumb-c: var(--accent-level-50);--rs-thumb-bc: var(--base-level-10);--rs-thumb-value-bg: var(--accent-level-50);--rs-thumb-value-c: var(--accent-level-50R)}spk-range-slider.warn{--rst-bg: var(--warn-500);--rst: var(--warn-level-40);--rs-thumb-c: var(--warn-level-50);--rs-thumb-bc: var(--base-level-10);--rs-thumb-value-bg: var(--warn-level-50);--rs-thumb-value-c: var(--warn-level-50R)}spk-range-slider.error{--rst-bg: var(--error-500);--rst: var(--error-level-40);--rs-thumb-c: var(--error-level-50);--rs-thumb-bc: var(--base-level-10);--rs-thumb-value-bg: var(--error-level-50);--rs-thumb-value-c: var(--error-level-50R)}spk-range-slider.success{--rst-bg: var(--success-500);--rst: var(--success-level-40);--rs-thumb-c: var(--success-level-50);--rs-thumb-bc: var(--base-level-10);--rs-thumb-value-bg: var(--success-level-50);--rs-thumb-value-c: var(--success-level-50R)}spk-range-slider.outlined{--rst: var(--base-level-10);--rst-bc: var(--base-level-40);--rs-thumb-c: var(--base-level-50);--rs-thumb-bc: var(--base-level-10)}spk-range-slider.outlined.primary,spk-range-slider.outlined.accent,spk-range-slider.outlined.warn,spk-range-slider.outlined.error,spk-range-slider.outlined.success{--rst: var(--base-level-10)}spk-range-slider.outlined.primary{--rs-thumb-c: var(--primary-level-40);--rs-thumb-bc: var(--base-level-10)}spk-range-slider.outlined.accent{--rs-thumb-c: var(--accent-level-40);--rs-thumb-bc: var(--base-level-10)}spk-range-slider.outlined.warn{--rs-thumb-c: var(--warn-level-40);--rs-thumb-bc: var(--base-level-10)}spk-range-slider.outlined.error{--rs-thumb-c: var(--error-level-40);--rs-thumb-bc: var(--base-level-10)}spk-range-slider.outlined.success{--rs-thumb-c: var(--success-level-40);--rs-thumb-bc: var(--base-level-10)}spk-range-slider.flat{--rs-thumb-c: #fff;--rs-thumb-bc: var(--base-level-40)}spk-range-slider.flat.primary,spk-range-slider.flat.accent,spk-range-slider.flat.warn,spk-range-slider.flat.error,spk-range-slider.flat.success{--rst: var(--base-level-30);--rs-thumb-c: #fff;--rs-thumb-bc: var(--base-level-40)}spk-range-slider.raised{--rst-bg: var(--base-gradient-20);--rs-thumb-c: #fff;--rs-thumb-bc: var(--base-level-40)}spk-range-slider.raised.primary,spk-range-slider.raised.accent,spk-range-slider.raised.warn,spk-range-slider.raised.error,spk-range-slider.raised.success{--rst: var(--base-level-30);--rs-thumb-c: #fff;--rs-thumb-bc: var(--base-level-40)}spk-range-slider.raised.primary{--rst-bg: var(--primary-gradient-20)}spk-range-slider.raised.accent{--rst-bg: var(--accent-gradient-20)}spk-range-slider.raised.warn{--rst-bg: var(--warn-gradient-20)}spk-range-slider.raised.error{--rst-bg: var(--error-gradient-20)}spk-range-slider.raised.success{--rst-bg: var(--success-gradient-20)}spk-tooltip{--tt-bg: var(--base-level-30);--tt-c: var(--base-level-30R);--tt-d: inline-flex;display:var(--tt-d)}spk-tooltip .trigger{display:inherit}spk-tooltip.primary{--tt-bg: var(--primary-level-50);--tt-c: var(--primary-level-50R)}spk-tooltip.accent{--tt-bg: var(--accent-level-50);--tt-c: var(--accent-level-50R)}spk-tooltip.warn{--tt-bg: var(--warn-level-50);--tt-c: var(--warn-level-50R)}spk-tooltip.error{--tt-bg: var(--error-level-50);--tt-c: var(--error-level-50R)}spk-tooltip.success{--tt-bg: var(--success-level-50);--tt-c: var(--success-level-50R)}spk-tooltip.disabled .tooltip,spk-tooltip.disabled .tooltip:before{opacity:0;visibility:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}spk-tooltip .tooltip{position:relative;margin:0;z-index:0;transform:translate(-50%) scale(.2);color:transparent;padding:.5rem .75rem;background-color:var(--tt-bg);max-width:15rem;text-wrap:balance;width:max-content;height:max-content;font:var(--paragraph-30);border-radius:var(--shape-2);border:0;opacity:0;overflow:visible;hyphens:auto;text-wrap:pretty;transition:opacity 125ms linear,transform 125ms linear,color 75ms linear 50ms}spk-tooltip .tooltip:popover-open{opacity:1;transform:translate(-50%) scale(1);color:var(--tt-c)}spk-tooltip .tooltip:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:.375rem;border-style:solid;border-color:transparent;border-top-color:var(--tt-bg);width:0;height:0;opacity:1}@supports (left: anchor(center)) and (top: anchor(bottom)){spk-tooltip .tooltip{left:anchor(center);bottom:anchor(top);margin-bottom:.625rem;top:auto}}[spk-tooltip],[tt-primary],[tt-accent],[tt-warn],[tt-error],[tt-success]{--tt-bg: var(--base-level-30);--tt-c: var(--base-level-30R);position:relative}[spk-tooltip]:after,[tt-primary]:after,[tt-accent]:after,[tt-warn]:after,[tt-error]:after,[tt-success]:after{content:attr(spk-tooltip);position:absolute;bottom:calc(100% + .75rem);left:50%;transform:translate(-50%);padding:.5rem .75rem;background-color:var(--tt-bg);color:var(--tt-c);max-width:12.5rem;text-wrap:balance;width:max-content;height:max-content;font:var(--paragraph-30);border-radius:var(--shape-2);opacity:0;visibility:hidden;transition:opacity 125ms linear,visibility 125ms linear;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1000}[spk-tooltip]:before,[tt-primary]:before,[tt-accent]:before,[tt-warn]:before,[tt-error]:before,[tt-success]:before{content:"";position:absolute;bottom:calc(100% - .25rem);left:50%;transform:translate(-50%);border-width:.5rem;border-style:solid;border-color:transparent;border-top-color:var(--tt-bg);width:0;height:0;pointer-events:none;opacity:0;visibility:hidden;transition:opacity 125ms linear,visibility 125ms linear;z-index:1000}[spk-tooltip]:hover:after,[spk-tooltip]:hover:before,[tt-primary]:hover:after,[tt-primary]:hover:before,[tt-accent]:hover:after,[tt-accent]:hover:before,[tt-warn]:hover:after,[tt-warn]:hover:before,[tt-error]:hover:after,[tt-error]:hover:before,[tt-success]:hover:after,[tt-success]:hover:before{opacity:1;visibility:visible}[tt-primary]{--tt-bg: var(--primary-level-50);--tt-c: var(--primary-level-50R)}[tt-primary]:after{content:attr(tt-primary)}[tt-accent]{--tt-bg: var(--accent-level-50);--tt-c: var(--accent-level-50R)}[tt-accent]:after{content:attr(tt-accent)}[tt-warn]{--tt-bg: var(--warn-level-50);--tt-c: var(--warn-level-50R)}[tt-warn]:after{content:attr(tt-warn)}[tt-error]{--tt-bg: var(--error-level-50);--tt-c: var(--error-level-50R)}[tt-error]:after{content:attr(tt-error)}[tt-success]{--tt-bg: var(--success-level-50);--tt-c: var(--success-level-50R)}[tt-success]:after{content:attr(tt-success)}[spk-tooltip][tt-left]:after,[tt-primary][tt-left]:after,[tt-accent][tt-left]:after,[tt-warn][tt-left]:after,[tt-error][tt-left]:after,[tt-success][tt-left]:after{top:50%;left:auto;right:calc(100% + .75rem);transform:translateY(-50%)}[spk-tooltip][tt-left]:before,[tt-primary][tt-left]:before,[tt-accent][tt-left]:before,[tt-warn][tt-left]:before,[tt-error][tt-left]:before,[tt-success][tt-left]:before{top:50%;left:auto;right:calc(100% - .25rem);transform:translateY(-50%);border-top-color:transparent;border-left-color:var(--tt-bg)}[spk-tooltip][tt-right]:after,[tt-primary][tt-right]:after,[tt-accent][tt-right]:after,[tt-warn][tt-right]:after,[tt-error][tt-right]:after,[tt-success][tt-right]:after{top:50%;left:calc(100% + .75rem);transform:translateY(-50%)}[spk-tooltip][tt-right]:before,[tt-primary][tt-right]:before,[tt-accent][tt-right]:before,[tt-warn][tt-right]:before,[tt-error][tt-right]:before,[tt-success][tt-right]:before{top:50%;left:calc(100% - .25rem);transform:translateY(-50%);border-top-color:transparent;border-right-color:var(--tt-bg)}[spk-tooltip][tt-bottom]:after,[tt-primary][tt-bottom]:after,[tt-accent][tt-bottom]:after,[tt-warn][tt-bottom]:after,[tt-error][tt-bottom]:after,[tt-success][tt-bottom]:after{top:calc(100% + .75rem)}[spk-tooltip][tt-bottom]:before,[tt-primary][tt-bottom]:before,[tt-accent][tt-bottom]:before,[tt-warn][tt-bottom]:before,[tt-error][tt-bottom]:before,[tt-success][tt-bottom]:before{top:calc(100% - .25rem);transform:translate(-50%);border-top-color:transparent;border-bottom-color:var(--tt-bg)}spk-select{--miw: 13.125rem;display:flex}spk-select spk-form-field{display:flex;--ff-mw: var(--miw)}spk-select spk-popover{flex:1 0}spk-select spk-popover:has(.sparkle-options:empty) .popover{opacity:0}spk-select .input{display:flex;flex-wrap:wrap}spk-select .input textarea,spk-select .input input{opacity:0;width:0;height:0;position:absolute}spk-select .selected-value{width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;color:var(--base-level-60)}spk-select .selected-value input{margin:0}spk-select .selected-value.is-selected{color:var(--base-level-70)}spk-select .input{position:relative}spk-select .input.show-search-text input{opacity:1;height:initial;min-width:min-content;field-sizing:content;font:var(--paragraph-30);position:relative}spk-select .input.show-search-text textarea{opacity:1;height:initial;margin:.25rem 0 0}.sparkle-options{padding:.5rem 0;display:flex;flex-direction:column;max-height:11.25rem;overflow-y:auto;overflow-x:hidden}.sparkle-options .option{display:flex;justify-content:flex-start;align-items:center;min-height:2rem;margin:0 .5rem;padding:0 .5rem;gap:.5rem;width:calc(100% - 1rem);border-radius:var(--shape-2);appearance:none;background-color:transparent;border:0;cursor:pointer;color:var(--base-level-70);-webkit-user-select:none;user-select:none}.sparkle-options .option[disabled]{opacity:.3;cursor:initial}.sparkle-options .option[disabled]:hover{background-color:transparent}.sparkle-options .option spk-icon{font-size:1rem}.sparkle-options .option.active,.sparkle-options .option:checked,.sparkle-options .option:hover{background-color:var(--base-level-30);color:var(--base-level-70)}.sparkle-options .option.focused{background-color:var(--primary-level-20);color:var(--base-level-70)}.sparkle-options .option.focused:hover{background-color:var(--primary-level-30)}spk-card{--card-bg: var(--base-level-10);--card-ibg: var(--base-level-20);--card-bc: var(--base-level-40);--card-sh: var(--box-shadow-10);--card-p: 1.5rem;--card-shp: .5rem;display:block;padding:var(--card-p);position:relative;z-index:0}spk-card:before,spk-card:after{content:"";position:absolute}spk-card:before{background-color:var(--card-bg);border:1px solid var(--card-bc);box-shadow:var(--card-sh);border-radius:var(--shape-3);inset:0;z-index:-2}spk-card:after{background-color:var(--card-ibg);border-radius:var(--shape-2);inset:var(--card-shp);z-index:-1}spk-card.type-b{--card-bg: var(--base-level-20);--card-ibg: var(--base-level-10);--card-sh: none;--card-shp: .25rem}spk-stepper{display:flex;flex-wrap:nowrap;width:100%;position:relative;overflow:hidden}spk-stepper [step]{flex:2 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;position:relative;color:var(--base-level-60R);cursor:pointer;-webkit-user-select:none;user-select:none}spk-stepper [step]:first-child{align-items:flex-start;flex:1 0}spk-stepper [step]:last-child{align-items:flex-end;flex:1 0}spk-stepper [step]:not(.active) spk-radio{z-index:10}spk-stepper [step]:has(~[step].active) spk-radio{--radiod-o: 1}spk-stepper [step]:has(~[step].active) spk-radio .radio{border-width:0;background:var(--primary-gradient-20)}spk-stepper [step] spk-radio .radio{--radiod-c: var(--base-level-10);width:1rem;height:1rem}spk-stepper [step].active{color:var(--primary-500);outline:none}spk-stepper [step].active spk-radio{z-index:0;--radiod-o: 1}spk-stepper [step].active spk-radio .radio{border-width:0;background:var(--primary-gradient-20)}spk-stepper [step].active spk-radio:before{content:"";position:absolute;top:.375rem;left:-9999px;z-index:-1;right:0;height:.25rem;background-color:var(--primary-500)}spk-stepper:before{content:"";position:absolute;top:.375rem;left:0;z-index:0;right:0;height:.25rem;background-color:var(--base-level-30)}spk-spinner{--spinner-c: var(--base-level-60);--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}spk-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}spk-spinner.primary{--spinner-c: var(--primary-500)}spk-spinner.accent{--spinner-c: var(--accent-500)}spk-spinner.warn{--spinner-c: var(--warn-500)}spk-spinner.error{--spinner-c: var(--error-500)}spk-spinner.success{--spinner-c: var(--success-500)}[spkSortable]{position:relative}[spkSortable].dragging [draggable]{transition:transform 40ms linear}[spkSortable] [draggable]{height:auto;transform:translate(0);transition:none;z-index:2}[spkSortable] .sortable-placeholder{position:absolute;top:0;z-index:1}[spkSortable] [sort-handle]{cursor:move}spk-toggle-card{display:flex;flex-direction:column;border-radius:var(--shape-3);background-color:var(--base-level-20)}spk-toggle-card.active .content{max-height:1000px;transition:max-height 1s linear;padding:0 1rem 1rem}spk-toggle-card.active .content:empty{padding:0 1rem}spk-toggle-card.active spk-icon.toggle-icon{transform:rotate(180deg)}spk-toggle-card h3{display:flex;align-items:center;justify-content:space-between;font:var(--paragraph-10);padding:1rem;cursor:pointer;-webkit-user-select:none;user-select:none}spk-toggle-card spk-icon.toggle-icon{transform:rotate(0);transform-origin:center;transition:transform .2s ease}spk-toggle-card .content{display:flex;flex-direction:column;gap:1rem;padding:0 1rem;overflow:hidden;max-height:0;transition:max-height .25s linear,padding .25s linear}spk-table{--table-bc: var(--base-level-40);--table-th-bg: var(--base-level-10);--table-tr-bg: var(--base-level-10);--table-td-bg: var(--base-level-10);--table-th-c: var(--base-level-60R);--table-th-f: var(--paragraph-30);--table-td-c: var(--base-level-60);--table-td-f: var(--paragraph-30);--table-th-p: 0 1.25rem;--table-td-p: 0 1.25rem;--table-th-mh: 3rem;--table-td-mh: 4.875rem;--table-td-g: .5rem;--table-ws: nowrap;--table-th-bw: 0;--table-td-bw: .0625rem 0 0;--table-columns: 1fr 1fr 1fr max-content;--table-sticky-bw: .0625rem;width:100%;display:grid;overflow:auto;grid-template-columns:var(--table-columns);position:relative}spk-table.type-a tbody>th,spk-table.type-a tbody>td,spk-table.type-a thead>th,spk-table.type-a thead>td{padding-right:0}spk-table.type-a tbody>th:first-child,spk-table.type-a tbody>td:first-child,spk-table.type-a thead>th:first-child,spk-table.type-a thead>td:first-child{padding:0}spk-table.type-a.scrolled-x.can-scroll-x [spkStickyColumns=""],spk-table.type-a.scrolled-x.can-scroll-x th.sticky,spk-table.type-a.scrolled-x.can-scroll-x td.sticky{border-right-width:.0625rem}spk-table.type-a:not(.scrolled-x-end).can-scroll-x [spkStickyColumns=end],spk-table.type-a:not(.scrolled-x-end).can-scroll-x th.sticky-end,spk-table.type-a:not(.scrolled-x-end).can-scroll-x td.sticky-end{border-left-width:.0625rem}spk-table.type-b{--table-th-p: 0 .75rem;--table-td-p: 0 .75rem;--table-th-mh: 2.25rem;--table-td-mh: 3.5rem;--table-th-bw: .0625rem 0 .0625rem .0625rem;--table-td-bw: 0 0 .0625rem .0625rem;--table-th-bg: var(--base-level-20);--table-sticky-bw: .125rem}spk-table.type-b th:first-child{border-left-width:0;padding:var(--table-th-p)}spk-table.type-b td:first-child{border-left-width:0;padding:var(--table-td-p)}spk-table.type-b [spkStickyColumns=end]{border-left-width:.125rem}spk-table.type-b.scrolled-x [spkStickyColumns=""]{border-right-width:.125rem}spk-table.type-b.scrolled-x-end [spkStickyColumns=end]{border-left-width:.0625rem}spk-table.type-b td.sticky,spk-table.type-b th.sticky{border-left-width:0;border-right-width:.0625rem}spk-table.type-b td.sticky+*,spk-table.type-b th.sticky+*{border-left-width:0}spk-table.resizing{-webkit-user-select:none;user-select:none}spk-table:has([spkTableResize]) td{overflow:auto}spk-table.no-resize .spk-resizer{display:none}spk-table.no-resize td{overflow:initial}spk-table thead{position:relative}spk-table thead:has(tr.sticky){position:sticky;top:0;z-index:2}spk-table spk-progress-bar{grid-column:1/-1;position:absolute;top:100%;transform:translateY(-50%);z-index:200}spk-table tbody,spk-table thead,spk-table tr{display:grid;grid-column:1/-1;grid-template-columns:subgrid}spk-table tr{background:var(--table-tr-bg)}spk-table tr.sticky{position:sticky;top:0;z-index:1}spk-table tr.sticky-end{position:sticky;bottom:0;z-index:3}spk-table tr:has(th.sticky-end) th:nth-last-child(2){padding:var(--table-th-p)}spk-table tr:has(td.sticky-end) td:nth-last-child(2){padding:var(--table-td-p)}spk-table th{display:flex;align-items:center;padding:var(--table-th-p);min-height:var(--table-th-mh);font:var(--table-th-f);line-height:1em;white-space:var(--table-ws);color:var(--table-th-c);border:0;border-color:var(--table-bc);border-style:solid;border-width:var(--table-th-bw);background:var(--table-th-bg);z-index:100}spk-table th:has(.spk-resizer){position:relative}spk-table th .spk-resizer{width:10px;height:100%;position:absolute;top:0;right:0;cursor:col-resize}spk-table th .spk-resizer:before,spk-table th .spk-resizer:after{content:"";position:absolute;top:50%;transform:translateY(-50%);height:.75rem;right:.1875rem;width:.0625rem;background-color:var(--base-level-40)}spk-table th .spk-resizer:hover:before,spk-table th .spk-resizer:hover:after{background-color:var(--primary-500)}spk-table th .spk-resizer:before{left:.1875rem}spk-table td{display:flex;align-items:center;padding:var(--table-td-p);min-height:var(--table-td-mh);gap:var(--table-td-g);color:var(--table-td-c);font:var(--table-td-f);white-space:var(--table-ws);border-color:var(--table-bc);border-style:solid;border-width:var(--table-td-bw);background:var(--table-td-bg)}spk-table td+td.sticky-end:last-child{padding:var(--table-td-p)}spk-table th.sticky,spk-table th.sticky-end,spk-table td.sticky,spk-table td.sticky-end{position:sticky;overflow:hidden;right:auto;left:0;z-index:1;padding:var(--table-td-p)}spk-table th.sticky:first-child,spk-table th.sticky-end:first-child,spk-table td.sticky:first-child,spk-table td.sticky-end:first-child{padding:var(--table-th-p)}spk-table th.sticky-end,spk-table td.sticky-end{right:0;left:auto}spk-table th.sticky,spk-table th.sticky-end{background:var(--table-th-bg);padding:var(--table-th-p);z-index:101}spk-table th.sticky:first-child,spk-table th.sticky-end:first-child{padding:var(--table-th-p)}spk-table [spkStickyColumns]{display:grid;grid-template-columns:subgrid;position:sticky;left:0;z-index:1000;border:0;border-color:var(--table-bc);border-style:solid}spk-table [spkStickyColumns=end]{left:auto;right:0}spk-table thead>[spkStickyColumns]{border-width:var(--table-th-bw)}spk-table tbody>[spkStickyColumns]{border-width:var(--table-td-bw)}spk-table .span-all{grid-column:1/-1;white-space:initial;align-items:flex-start;padding:0;border-left-width:0}spk-table .no-rows{display:none;grid-column:1/-1}spk-table tbody:empty+.no-rows{display:block}spk-tabs{--tabs-bc: var(--base-level-40);--tabs-bg: var(--base-level-10);--tabs-c: var(--base-level-70);--tabs-c-hover: var(--base-level-60);--tabs-c-active: var(--base-level-70);--tabs-f: var(--paragraph-30);--tabs-sel-bg: var(--base-level-70);display:flex;gap:1rem;border-bottom:1px solid var(--base-level-40)}spk-tabs [tab]{display:flex;align-items:center;gap:.5rem;height:3rem;font:var(--tabs-f);background:var(--tabs-bg);border-radius:0;appearance:none;border:0;color:var(--tabs-c);cursor:pointer;position:relative}spk-tabs [tab]:focus{outline:none}spk-tabs [tab]:hover{color:var(--tabs-c-hover)}spk-tabs [tab].active{color:var(--tabs-c-active)}spk-tabs [tab].active:after{display:block}spk-tabs [tab]:after{content:"";display:none;width:100%;height:2px;background:var(--tabs-sel-bg);position:absolute;left:0;bottom:0}spk-tabs.primary{--tabs-sel-bg: var(--primary-500);--tabs-c-active: var(--primary-500)}spk-tabs.accent{--tabs-sel-bg: var(--accent-500);--tabs-c-active: var(--accent-500)}spk-tabs.warn{--tabs-sel-bg: var(--warn-500);--tabs-c-active: var(--warn-500)}spk-tabs.error{--tabs-sel-bg: var(--error-500);--tabs-c-active: var(--error-500)}spk-tabs.success{--tabs-sel-bg: var(--success-500);--tabs-c-active: var(--success-500)}spk-file-upload{--fu-bg-active: rgba(0, 0, 0, .1);display:flex;flex-direction:column;gap:.75rem;position:relative}spk-file-upload spk-list{border-radius:var(--shape-3);background-color:var(--base-level-20)}spk-file-upload .files-text,spk-file-upload .placeholder{color:var(--base-level-60);font:var(--paragraph-30B)}spk-file-upload input{position:absolute;opacity:0;inset:0;cursor:pointer;z-index:100}spk-file-upload .bg-overlay{opacity:0;position:absolute;inset:.0625rem;background-color:var(--fu-bg-active);transition:opacity 125ms linear;z-index:0;border-radius:var(--ff-s)}spk-file-upload .bg-overlay.files-over{opacity:1}body .spacer{flex:1 0}body h2{font:var(--title-30);margin:0}body h3{font:var(--paragraph-20);margin:0}.sparkle-popup-menu{min-width:initial}.sparkle-popup-menu.right button{justify-content:flex-end}.cmd-output h1,.markdown-output h1{margin:2.5rem 0 1.5rem}.cmd-output h2,.markdown-output h2{margin:0 0 1.25rem}.cmd-output h3,.markdown-output h3{margin:0 0 1rem}.cmd-output h4,.cmd-output h5,.cmd-output h6,.cmd-output p,.markdown-output h4,.markdown-output h5,.markdown-output h6,.markdown-output p{margin:0 0 .75rem}.cmd-output code,.markdown-output code{padding:.25rem .5rem;border-radius:var(--shape-2);background-color:var(--base-level-60);color:var(--base-level-10);display:inline-block;font-size:85%}.cmd-output h1 code,.markdown-output h1 code{padding:0;text-decoration:underline;background-color:transparent;color:var(--base-level-70);font-size:100%}ol.line-numbers-ol{list-style:none;counter-reset:my-counter}ol.line-numbers-ol li{counter-increment:my-counter;padding-left:.25rem}ol.line-numbers-ol li::marker{content:counter(my-counter) " "}