From 24d447f1d3a2c78a10e1c8cfc0aeac0d4d9d0072 Mon Sep 17 00:00:00 2001 From: Daniel Palme Date: Fri, 1 Nov 2024 12:39:50 +0100 Subject: [PATCH] Docs --- docs/404.html | 2 +- docs/contact.html | 2 +- docs/enterprise.html | 2 +- docs/features.html | 2 +- docs/getstarted.html | 2 +- docs/index.html | 2 +- docs/{main-Z7PNLK5L.js => main-EDTULVQB.js} | 2 +- docs/pro.html | 2 +- docs/usage.html | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) rename docs/{main-Z7PNLK5L.js => main-EDTULVQB.js} (99%) diff --git a/docs/404.html b/docs/404.html index 1b0bd6bc..4c0a91b2 100644 --- a/docs/404.html +++ b/docs/404.html @@ -11,5 +11,5 @@ - + \ No newline at end of file diff --git a/docs/contact.html b/docs/contact.html index f0922f65..beb97325 100644 --- a/docs/contact.html +++ b/docs/contact.html @@ -11,5 +11,5 @@ - + \ No newline at end of file diff --git a/docs/enterprise.html b/docs/enterprise.html index 93b0e26c..52982ba1 100644 --- a/docs/enterprise.html +++ b/docs/enterprise.html @@ -11,5 +11,5 @@ - + \ No newline at end of file diff --git a/docs/features.html b/docs/features.html index 0306a685..ed6c93be 100644 --- a/docs/features.html +++ b/docs/features.html @@ -11,5 +11,5 @@ - + \ No newline at end of file diff --git a/docs/getstarted.html b/docs/getstarted.html index 7857e612..6f2f2d5d 100644 --- a/docs/getstarted.html +++ b/docs/getstarted.html @@ -11,5 +11,5 @@ - + \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 4d380d03..1ecf828d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -11,5 +11,5 @@ - + \ No newline at end of file diff --git a/docs/main-Z7PNLK5L.js b/docs/main-EDTULVQB.js similarity index 99% rename from docs/main-Z7PNLK5L.js rename to docs/main-EDTULVQB.js index 184b6c1b..957ebdd6 100644 --- a/docs/main-Z7PNLK5L.js +++ b/docs/main-EDTULVQB.js @@ -71,7 +71,7 @@ nyc --reporter=cobertura mocha dotnet tool update dotnet-reportgenerator-globaltool --tool-path tools --version `,o.versions.version,` tools\\reportgenerator -reports:coverage/cobertura-coverage.xml -targetdir:coveragereport `))},dependencies:[Ne]});let t=e;return t})();var Za=(()=>{let e=class e{};e.\u0275fac=function(i){return new(i||e)},e.\u0275cmp=le({type:e,selectors:[["app-testimonials"]],standalone:!0,features:[ce],decls:30,vars:0,consts:[[1,"container-fluid","mt-5","pt-5","pb-5","bg-light"],[1,"container"],[1,"text-center"],[1,"row","mt-5"],[1,"col","text-center"],[1,"fa-brands","fa-microsoft","h1","text-secondary"],["href","https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/code-coverage.md","target","_blank",1,"text-dark","d-none","d-lg-block"],[1,"fa-brands","fa-google","h1","text-secondary"],["href","https://github.com/GoogleCloudPlatform/iam-windows-authenticator","target","_blank","title","https://github.com/GoogleCloudPlatform/iam-federation-tools/blob/master/wwauth/Google.Solutions.WWAuth/Google.Solutions.WWAuth.csproj#L25",1,"text-dark","d-none","d-lg-block"],[1,"fa-brands","fa-aws","h1","text-secondary"],["href","https://github.com/aws/aws-encryption-sdk-dafny","target","_blank","title","https://github.com/aws/aws-encryption-sdk-dafny/blob/mainline/codebuild/dotnet/tests.yml#L31",1,"text-dark","d-none","d-lg-block"],[1,"col","text-center","d-none","d-lg-block"],[1,"fa-solid","fa-heart","h1","text-secondary"],["href","https://github.com/danielpalme/ReportGenerator/network/dependents","target","_blank",1,"text-dark"],["href","https://www.nuget.org/packages?q=ReportGenerator+danielpalme","target","_blank",1,"btn","btn-outline-secondary"],[1,"fa-solid","fa-download"]],template:function(i,o){i&1&&(u(0,"section",0)(1,"div",1)(2,"h2",2),l(3,"Code coverage reports trusted by"),d(),u(4,"div",3)(5,"div",4),p(6,"i",5)(7,"br"),u(8,"a",6),l(9,".NET Runtime"),d()(),u(10,"div",4),p(11,"i",7)(12,"br"),u(13,"a",8),l(14,"Google Cloud"),d()(),u(15,"div",4),p(16,"i",9)(17,"br"),u(18,"a",10),l(19,"AWS Encryption SDK"),d()(),u(20,"div",11),p(21,"i",12)(22,"br"),u(23,"a",13),l(24,"Many more"),d()()(),u(25,"div",3)(26,"div",4)(27,"a",14),p(28,"i",15),l(29," Over 95 million downloads on Nuget"),d()()()()())},encapsulation:2});let t=e;return t})();var sS=()=>["/pro"],aS=()=>["/usage"],lS=()=>["/getstarted"],cS=()=>["/features"],q0=(()=>{let e=class e{};e.\u0275fac=function(i){return new(i||e)},e.\u0275cmp=le({type:e,selectors:[["app-home"]],standalone:!0,features:[ce],decls:121,vars:8,consts:[[1,"container"],[1,"row"],[1,"col-4","col-md-3"],["src","resources/logo.svg","alt","Logo ReportGenerator",1,"img-fluid"],[1,"col-xs-12","col-md-9","ps-4"],[1,"mt-5"],[1,"line","btn-primary"],[1,"mt-4","h5"],[1,"pro-text"],["href","resources/reports/Html/index.html","target","_blank",1,"btn","btn-primary","me-2","mb-2"],[1,"fa-solid","fa-eye"],[1,"row","mt-5"],[1,"col-sm-12","col-md-4"],[1,"icon"],[1,"fa-solid","fa-scale-balanced"],[1,"h5","ms-3","mt-3"],[1,"mt-3"],[3,"routerLink"],[1,"col-sm-12","col-md-4","mt-4","mt-md-0"],[1,"fa-solid","fa-lightbulb"],["href","https://github.com/danielpalme/ReportGenerator/wiki/Settings","target","_blank"],["href","https://github.com/danielpalme/ReportGenerator/wiki/Integration","target","_blank"],[1,"fa-solid","fa-plug"],["href","https://github.com/marketplace/actions/reportgenerator","target","_blank"],["href","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator","target","_blank"],[1,"col"],[1,"btn","btn-primary","me-2","mb-2",3,"routerLink"],[1,"fa-solid","fa-wrench"],["href","https://github.com/danielpalme/ReportGenerator","target","_blank",1,"btn","btn-outline-dark","mb-2"],[1,"fa-brands","fa-github"],[1,"container-fluid","mt-5","pt-5","pb-5"],["href","resources/reports/Html/index.html","target","_blank"],["href","https://danielpalme.github.io/ReportGenerator/resources/SampleReports.zip"],[1,"col-sm-12","col-md-6","pb-2"],["href","resources/screenshot1@2x.webp"],["loading","lazy","srcset","resources/screenshot1.webp 1x, resources/screenshot1@2x.webp 2x","src","resources/screenshot1.webp","alt","Screenshot",1,"img-fluid"],[1,"col-sm-12","col-md-6"],["href","resources/screenshot2@2x.webp"],["loading","lazy","srcset","resources/screenshot2.webp 1x, resources/screenshot2@2x.webp 2x","src","resources/screenshot2.webp","alt","Screenshot",1,"img-fluid"]],template:function(i,o){i&1&&(u(0,"section",0)(1,"div",1)(2,"div",2),p(3,"img",3),d(),u(4,"div",4)(5,"h1"),l(6,"ReportGenerator"),d(),u(7,"h2",5),l(8,"Powerful code coverage visualization"),d(),u(9,"div",6),l(10,"\xA0"),d(),u(11,"div",7)(12,"p")(13,"i"),l(14,"ReportGenerator"),d(),l(15," converts "),u(16,"span",8),l(17,"coverage reports"),d(),l(18," generated by coverlet, OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov or lcov into "),u(19,"span",8),l(20,"human readable reports in various formats"),d(),l(21,"."),d(),u(22,"p"),l(23,"The reports show the "),u(24,"span",8),l(25,"coverage quotas"),d(),l(26," and also visualize which lines of your source code have been covered."),d(),u(27,"p")(28,"a",9),p(29,"i",10),l(30," Browse example report"),d()()()()(),u(31,"div",11)(32,"div",12)(33,"div",13),p(34,"i",14),d(),u(35,"span",15),l(36,"Open source"),d(),u(37,"p",16)(38,"i"),l(39,"ReportGenerator"),d(),l(40," is open source under the permissive Apache License."),d(),u(41,"p"),l(42,"It's free to use."),p(43,"br"),l(44,"The "),u(45,"a",17),l(46,"PRO"),d(),l(47," version offers additional features."),d()(),u(48,"div",18)(49,"div",13),p(50,"i",19),d(),u(51,"span",15),l(52,"Easy to use"),d(),u(53,"p",16)(54,"i"),l(55,"ReportGenerator"),d(),l(56," is a command line tool which only requires a "),u(57,"a",17),l(58,"few parameters"),d(),l(59,"."),d(),u(60,"p"),l(61,"The more advanced settings are documented in the "),u(62,"a",20),l(63,"wiki"),d(),l(64,"."),d(),u(65,"p")(66,"a",21),l(67,"Integration"),d(),l(68," into your build pipeline will only take a couple of minutes."),d()(),u(69,"div",18)(70,"div",13),p(71,"i",22),d(),u(72,"span",15),l(73,"Integration"),d(),u(74,"p",16)(75,"i"),l(76,"ReportGenerator"),d(),l(77," works on Windows, Linux and macOS."),d(),u(78,"p"),l(79,"Support for "),u(80,"a",23),l(81,"GitHub actions"),d(),l(82," and "),u(83,"a",24),l(84,"Azure DevOps"),d(),l(85," is available."),d()()(),u(86,"div",11)(87,"div",25)(88,"a",26),p(89,"i",27),l(90," Learn how to use"),d(),u(91,"a",28),p(92,"i",29),l(93," GitHub"),d()()()(),p(94,"app-testimonials"),u(95,"section",30)(96,"div",0)(97,"h2"),l(98,"Screenshots"),d(),u(99,"p"),l(100,"The screenshots show two snippets of the generated code coverage reports."),d(),u(101,"p"),l(102," Have a look the "),u(103,"a",17),l(104,"features page"),d(),l(105," to explore the elements in a coverage report or "),u(106,"a",31),l(107,"browse the example report"),d(),l(108,". "),p(109,"br"),l(110," You can also download "),u(111,"a",32),l(112,"sample reports"),d(),l(113," of all supported output formats."),d(),u(114,"div",1)(115,"div",33)(116,"a",34),p(117,"img",35),d()(),u(118,"div",36)(119,"a",37),p(120,"img",38),d()()()()()),i&2&&(g(45),C("routerLink",H(4,sS)),g(12),C("routerLink",H(5,aS)),g(31),C("routerLink",H(6,lS)),g(15),C("routerLink",H(7,cS)))},dependencies:[Ne,Za],styles:[".h5[_ngcontent-%COMP%]{font-weight:300}section[_ngcontent-%COMP%]:first-of-type{padding-top:120px;min-height:calc(100vh - 171px)}.icon[_ngcontent-%COMP%]{background-color:#2e89df;background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%);height:50px;width:50px;border-radius:8px;text-align:center;color:#fff;line-height:50px;font-size:1.5rem;display:inline-block}@media (max-width: 767px){section[_ngcontent-%COMP%]:first-of-type{padding-top:40px}}"]});let t=e;return t})();var G0=(()=>{let e=class e{};e.\u0275fac=function(i){return new(i||e)},e.\u0275cmp=le({type:e,selectors:[["app-not-found"]],standalone:!0,features:[ce],decls:5,vars:0,consts:[[1,"container"],[1,"mb-4"],[1,"fa-solid","fa-triangle-exclamation","fs-1","me-4"]],template:function(i,o){i&1&&(u(0,"div",0)(1,"h1",1),l(2,"Not found"),d(),p(3,"i",2),l(4,` The requested page does not exist. -`),d())}});let t=e;return t})();var z0=(()=>{let e=class e{constructor(n){this.elementRef=n}ngAfterViewInit(){let n=this.elementRef.nativeElement;this.tooltip=new bootstrap.Tooltip(n);let i=n.setAttribute;n.setAttribute=(o,s)=>{o==="data-bs-title"&&this.tooltip.setContent({".tooltip-inner":s}),i.call(n,o,s)}}ngOnDestroy(){this.tooltip.dispose()}};e.\u0275fac=function(i){return new(i||e)(S(_e))},e.\u0275dir=ie({type:e,selectors:[["","bootstraptooltip",""]],standalone:!0});let t=e;return t})();var po=class{constructor(){this.error=null,this.licenses=[]}};var Ya=class{constructor(){this.error=null,this.isSponsor=!1,this.license=null}};var Qa=(()=>{let e=class e{initCodeFlow(){let n=this.createAndSaveNonce(),i=ee.scope!==null?`&scope=${ee.scope}`:"",o=`${ee.loginUrl}?response_type=code&client_id=${ee.clientId}&state=${n}&redirect_uri=${window.location.origin}${ee.redirectUri}${i}`;console.log("Redirecting to: "+o),location.href=o}validateStateAndExtractCode(){let n=location.href,i=n.indexOf("?");i>-1&&(n=n.substring(i+1));let o=this.parseQueryString(n);return!o.state||!o.code?null:this.validateNonce(o.state)?o.code:null}createAndSaveNonce(){let n=this.createNonce();return typeof window.localStorage<"u"&&localStorage.setItem("nonce",n),n}validateNonce(n){let i;return typeof window.localStorage<"u"&&(i=localStorage.getItem("nonce"),localStorage.removeItem("nonce")),!i||i.length===0?(console.error("Validating nonce failed. No saved nonce available.",i,n),!1):i!==n?(console.error("Validating nonce failed. Values do not match.",i,n),!1):!0}createNonce(){let n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",i=45,o="",s=typeof self>"u"?null:self.crypto||self.msCrypto;if(s){let c=new Uint8Array(i);s.getRandomValues(c),c.map||(c.map=Array.prototype.map);let f=[];for(var a=0;a0&&(h=decodeURIComponent(c),m=decodeURIComponent(f),h.substring(0,1)==="/"&&(h=h.substring(1)),i[h]=m);return i}base64UrlEncode(n){return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}};e.\u0275fac=function(i){return new(i||e)},e.\u0275prov=_({token:e,factory:e.\u0275fac});let t=e;return t})();var W0=(()=>{let e=class e{constructor(){this.isActive=!1,this.isActive=new Date["/features"],$d=()=>["/contact"],Z0=t=>({active:t});function fS(t,e){if(t&1){let r=te();u(0,"span",79)(1,"span",80),A("click",function(){x(r);let i=w();return I(i.lifetimeLicense=!1)}),p(2,"i",81),l(3," Annual subscription"),d(),u(4,"span",80),A("click",function(){x(r);let i=w();return I(i.lifetimeLicense=!0)}),p(5,"i",82),l(6," Lifetime license"),d()()}if(t&2){let r=w();g(),C("ngClass",Kn(2,Z0,!r.lifetimeLicense)),g(3),C("ngClass",Kn(4,Z0,r.lifetimeLicense))}}function hS(t,e){if(t&1){let r=te();u(0,"button",103),A("click",function(){x(r);let i=w(2);return I(i.requestTrial())}),p(1,"i",33),l(2," Start trial"),d()}if(t&2){let r=w(2);C("disabled",r.trialDisabled)}}function pS(t,e){t&1&&(u(0,"button",104),l(1,"Coming soon"),d())}function mS(t,e){if(t&1){let r=te();l(0," + VAT "),u(1,"a",105),A("click",function(){x(r);let i=w(2);return I(i.handleTooltipClick())}),p(2,"i",106),d()}if(t&2){let r=w(2);g(),Ze("data-bs-title",r.getPriceTooltip(r.paddleIndividualLifetimeLicensePriceDetails,r.paddleIndividualLicensePriceDetails))}}function gS(t,e){t&1&&(Le(0),p(1,"i",81),l(2," Annual subscription"),Ve())}function vS(t,e){t&1&&(Le(0),p(1,"i",82),l(2," Lifetime license"),Ve())}function yS(t,e){if(t&1){let r=te();u(0,"button",107),A("click",function(){x(r);let i=w(2);return I(i.openPaddleCheckout("individual"))}),p(1,"i",108),l(2," Buy now"),d()}}function CS(t,e){t&1&&(u(0,"button",104),l(1,"Coming soon"),d())}function DS(t,e){if(t&1){let r=te();l(0," + VAT "),u(1,"a",105),A("click",function(){x(r);let i=w(2);return I(i.handleTooltipClick())}),p(2,"i",106),d()}if(t&2){let r=w(2);g(),Ze("data-bs-title",r.getPriceTooltip(r.paddleTeamLifetimeLicensePriceDetails,r.paddleTeamLicensePriceDetails))}}function wS(t,e){t&1&&(Le(0),p(1,"i",81),l(2," Annual subscription"),Ve())}function bS(t,e){t&1&&(Le(0),p(1,"i",82),l(2," Lifetime license"),Ve())}function ES(t,e){if(t&1){let r=te();u(0,"button",107),A("click",function(){x(r);let i=w(2);return I(i.openPaddleCheckout("team"))}),p(1,"i",108),l(2," Buy now"),d()}}function _S(t,e){t&1&&(u(0,"button",104),l(1,"Coming soon"),d())}function xS(t,e){if(t&1){let r=te();l(0," + VAT "),u(1,"a",105),A("click",function(){x(r);let i=w(2);return I(i.handleTooltipClick())}),p(2,"i",106),d()}if(t&2){let r=w(2);g(),Ze("data-bs-title",r.getPriceTooltip(r.paddleEnterpriseLifetimeLicensePriceDetails,r.paddleEnterpriseLicensePriceDetails))}}function IS(t,e){t&1&&(Le(0),p(1,"i",81),l(2," Annual subscription"),Ve())}function SS(t,e){t&1&&(Le(0),p(1,"i",82),l(2," Lifetime license"),Ve())}function MS(t,e){if(t&1){let r=te();u(0,"button",107),A("click",function(){x(r);let i=w(2);return I(i.openPaddleCheckout("enterprise"))}),p(1,"i",108),l(2," Buy now"),d()}}function TS(t,e){t&1&&(u(0,"button",104),l(1,"Coming soon"),d())}function AS(t,e){if(t&1&&(u(0,"div",3)(1,"div",83)(2,"div",84),p(3,"img",85),u(4,"h4",86),l(5,"Free"),p(6,"br"),l(7,"Trial"),d(),u(8,"p"),p(9,"i",87),l(10," Get full access"),p(11,"br")(12,"i",88),l(13," 10 day trial period "),d(),P(14,hS,3,1,"button",89)(15,pS,2,0,"button",90),d()(),u(16,"div",91)(17,"div",92),p(18,"img",93),u(19,"h4",86),l(20,"Individual"),p(21,"br"),l(22),P(23,mS,3,1,"a",94),d(),u(24,"p"),p(25,"i",95),l(26," Per developer license."),p(27,"br"),P(28,gS,3,0,"ng-container",26)(29,vS,3,0,"ng-container",26),d(),P(30,yS,3,0,"button",96)(31,CS,2,0,"button",90),d()(),u(32,"div",97)(33,"div",92),p(34,"img",98),u(35,"h4",86),l(36,"Team"),p(37,"br"),l(38),P(39,DS,3,1,"a",94),d(),u(40,"p"),p(41,"i",99),l(42," Up to 10 developers."),p(43,"br"),P(44,wS,3,0,"ng-container",26)(45,bS,3,0,"ng-container",26),d(),P(46,ES,3,0,"button",96)(47,_S,2,0,"button",90),d()(),u(48,"div",100)(49,"div",92),p(50,"img",101),u(51,"h4",86),l(52,"Enterprise"),p(53,"br"),l(54),P(55,xS,3,1,"a",94),d(),u(56,"p"),p(57,"i",102),l(58," Unlimited developers."),p(59,"br"),P(60,IS,3,0,"ng-container",26)(61,SS,3,0,"ng-container",26),d(),P(62,MS,3,0,"button",96)(63,TS,2,0,"button",90),d()()()),t&2){let r=w();g(14),C("ngIf",r.enablePaddle),g(),C("ngIf",!r.enablePaddle),g(7),je("",r.lifetimeLicense?r.paddleIndividualLifetimeLicensePrice:r.paddleIndividualLicensePrice," "),g(),gt(r.includeVatInPrice?-1:23),g(5),C("ngIf",!r.lifetimeLicense),g(),C("ngIf",r.lifetimeLicense),g(),C("ngIf",r.enablePaddle),g(),C("ngIf",!r.enablePaddle),g(7),je("",r.lifetimeLicense?r.paddleTeamLifetimeLicensePrice:r.paddleTeamLicensePrice," "),g(),gt(r.includeVatInPrice?-1:39),g(5),C("ngIf",!r.lifetimeLicense),g(),C("ngIf",r.lifetimeLicense),g(),C("ngIf",r.enablePaddle),g(),C("ngIf",!r.enablePaddle),g(7),je("",r.lifetimeLicense?r.paddleEnterpriseLifetimeLicensePrice:r.paddleEnterpriseLicensePrice," "),g(),gt(r.includeVatInPrice?-1:55),g(5),C("ngIf",!r.lifetimeLicense),g(),C("ngIf",r.lifetimeLicense),g(),C("ngIf",r.enablePaddle),g(),C("ngIf",!r.enablePaddle)}}function NS(t,e){t&1&&(u(0,"div",110)(1,"div",111)(2,"span",112),l(3,"Loading..."),d()(),u(4,"span",113),l(5,"Your license is being generated. Please wait."),d()())}function RS(t,e){if(t&1&&(u(0,"div")(1,"p"),l(2),d(),u(3,"p"),l(4,"Please try again later or use the "),u(5,"a",20),l(6," contact form"),d(),l(7,"."),d()()),t&2){let r=w(3);g(2),pe(r.paddleLicense.error),g(3),C("routerLink",H(2,$d))}}function OS(t,e){t&1&&(u(0,"span"),p(1,"i",119),l(2," Copy"),d())}function kS(t,e){t&1&&(u(0,"span"),p(1,"i",120),l(2," Copied"),d())}function PS(t,e){if(t&1){let r=te();u(0,"div",116)(1,"textarea",117),l(2),d(),u(3,"button",118),A("click",function(){let i=x(r).$implicit,o=w(4);return I(o.copyPaddle(i))}),P(4,OS,3,0,"span",26)(5,kS,3,0,"span",26),d()()}if(t&2){let r=e.$implicit,n=w(4);g(2),pe(r),g(2),C("ngIf",n.copiedPaddledLicenses.indexOf(r)===-1),g(),C("ngIf",n.copiedPaddledLicenses.indexOf(r)>-1)}}function FS(t,e){if(t&1&&(u(0,"div")(1,"label",114),l(2,"Thank you! Please save your license key persistently:"),d(),P(3,PS,6,3,"div",115),d()),t&2){let r=w(3);g(3),C("ngForOf",r.paddleLicense.licenses)}}function LS(t,e){if(t&1&&(u(0,"div",110),P(1,RS,8,3,"div",26)(2,FS,4,1,"div",26),d()),t&2){let r=w(2);g(),C("ngIf",r.paddleLicense.error),g(),C("ngIf",!r.paddleLicense.error)}}function VS(t,e){if(t&1&&(u(0,"div",3),P(1,NS,6,0,"div",109)(2,LS,3,2,"div",109),d()),t&2){let r=w();g(),C("ngIf",r.paddleLicenseRequested&&!r.paddleLicense),g(),C("ngIf",r.paddleLicense)}}function jS(t,e){t&1&&(u(0,"p")(1,"i"),l(2,"ReportGenerator"),d(),l(3," subscription based licences are provided with a 30 day money back guarantee."),d())}function US(t,e){t&1&&(u(0,"div",111)(1,"span",112),l(2,"Loading..."),d()())}function BS(t,e){t&1&&(u(0,"div",121),p(1,"i",122),d())}function $S(t,e){if(t&1&&(u(0,"div")(1,"p"),l(2),d(),u(3,"p"),l(4,"Please try again later or use the "),u(5,"a",20),l(6," contact form"),d(),l(7,"."),d()()),t&2){let r=w(2);g(2),pe(r.license.error),g(3),C("routerLink",H(2,$d))}}function HS(t,e){t&1&&(u(0,"div")(1,"p"),l(2,"Please become a "),u(3,"a",123),l(4,"GitHub sponsor"),d(),l(5," first."),d()())}function qS(t,e){t&1&&(u(0,"span"),p(1,"i",119),l(2," Copy"),d())}function GS(t,e){t&1&&(u(0,"span"),p(1,"i",120),l(2," Copied"),d())}function zS(t,e){if(t&1){let r=te();u(0,"div")(1,"label",124),l(2,"Thank you for becoming a sponsor. Here's your license:"),d(),u(3,"textarea",125),l(4),d(),u(5,"button",118),A("click",function(){x(r);let i=w(2);return I(i.copy())}),P(6,qS,3,0,"span",26)(7,GS,3,0,"span",26),d()()}if(t&2){let r=w(2);g(4),pe(r.license.license),g(2),C("ngIf",!r.licenseCopied),g(),C("ngIf",r.licenseCopied)}}function WS(t,e){if(t&1&&(u(0,"div",28),P(1,$S,8,3,"div",26)(2,HS,6,0,"div",26)(3,zS,8,3,"div",26),d()),t&2){let r=w();g(),C("ngIf",r.license.error),g(),C("ngIf",!r.license.error&&!r.license.isSponsor),g(),C("ngIf",!r.license.error&&r.license.isSponsor&&r.license.license)}}var Y0=(()=>{let e=class e{get lifetimeLicense(){return this._lifetimeLicense}set lifetimeLicense(n){this._lifetimeLicense=n,this.lifetimeLicenseChangeTracked||(this.lifetimeLicenseChangeTracked=!0,this.trackingService.track("Licensetype changed"))}constructor(n,i,o){this.oauthService=n,this.licenseService=i,this.trackingService=o,this.paddleIndividualLicensePrice=Dt.paddleIndividualLicensePrice,this.paddleTeamLicensePrice=Dt.paddleTeamLicensePrice,this.paddleEnterpriseLicensePrice=Dt.paddleEnterpriseLicensePrice,this.paddleIndividualLifetimeLicensePrice=Dt.paddleIndividualLifetimeLicensePrice,this.paddleTeamLifetimeLicensePrice=Dt.paddleTeamLifetimeLicensePrice,this.paddleEnterpriseLifetimeLicensePrice=Dt.paddleEnterpriseLifetimeLicensePrice,this.paddleIndividualLicensePriceDetails=null,this.paddleTeamLicensePriceDetails=null,this.paddleEnterpriseLicensePriceDetails=null,this.paddleIndividualLifetimeLicensePriceDetails=null,this.paddleTeamLifetimeLicensePriceDetails=null,this.paddleEnterpriseLifetimeLicensePriceDetails=null,this.licenseRequested=!1,this.licenseCopied=!1,this.license=null,this.enablePaddle=!0,this.trialDisabled=!1,this.includeVatInPrice=!0,this.requestTrialData={name:"",email:""},this.paddleLicenseRequested=!1,this.paddleLicense=null,this.copiedPaddledLicenses=[],this.self=this,this.lifetimeLicenseChangeTracked=!1,this._lifetimeLicense=!0,window.paddleCheckoutComplete=s=>{this.paddleCheckoutComplete(s)},ee.paddleEnvironment&&(window.Paddle.Environment.set(ee.paddleEnvironment),console.log("Paddle environment: "+ee.paddleEnvironment)),window.Paddle.Setup({vendor:ee.paddleVendorId}),window.Paddle.Product.Prices(ee.paddleIndividualLicense,s=>{this.paddleIndividualLicensePriceDetails=s.recurring.price,this.paddleIndividualLicensePrice=this.includeVatInPrice?s.recurring.price.gross:s.recurring.price.net}),window.Paddle.Product.Prices(ee.paddleTeamLicense,s=>{this.paddleTeamLicensePriceDetails=s.recurring.price,this.paddleTeamLicensePrice=this.includeVatInPrice?s.recurring.price.gross:s.recurring.price.net}),window.Paddle.Product.Prices(ee.paddleEnterpriseLicense,s=>{this.paddleEnterpriseLicensePriceDetails=s.recurring.price,this.paddleEnterpriseLicensePrice=this.includeVatInPrice?s.recurring.price.gross:s.recurring.price.net}),window.Paddle.Product.Prices(ee.paddleIndividualLifetimeLicense,s=>{this.paddleIndividualLifetimeLicensePriceDetails=s.price,this.paddleIndividualLifetimeLicensePrice=this.includeVatInPrice?s.recurring.price.gross:s.recurring.price.net}),window.Paddle.Product.Prices(ee.paddleTeamLifetimeLicense,s=>{this.paddleTeamLifetimeLicensePriceDetails=s.price,this.paddleTeamLifetimeLicensePrice=this.includeVatInPrice?s.recurring.price.gross:s.recurring.price.net}),window.Paddle.Product.Prices(ee.paddleEnterpriseLifetimeLicense,s=>{this.paddleEnterpriseLifetimeLicensePriceDetails=s.price,this.paddleEnterpriseLifetimeLicensePrice=this.includeVatInPrice?s.recurring.price.gross:s.recurring.price.net})}ngOnInit(){let n=this.oauthService.validateStateAndExtractCode();n!==null?(console.log("Code received",n),this.licenseRequested=!0,this.licenseService.getLicense(n).subscribe({next:i=>{console.log("Received license response"),this.license=i,this.scrollToGithub()},error:i=>{console.error(i),this.license=new Ya,this.license.error="Unable to generate license.",this.scrollToGithub()},complete:()=>console.info("complete")})):console.log("No code available"),location.href.indexOf("?source=trial")>-1&&this.trackingService.track("Trial2Pro"),this.requestTrialModal=new window.bootstrap.Modal("#requestTrialModal");try{this.trialDisabled=window.localStorage.getItem("trialRequested")!==null}catch{}}requestLicense(){this.licenseRequested=!0,this.oauthService.initCodeFlow()}copy(){try{navigator.clipboard.writeText(this.license.license),this.licenseCopied=!0}catch(n){console.error("Failed to copy license",n)}}copyPaddle(n){try{navigator.clipboard.writeText(n),this.copiedPaddledLicenses.push(n)}catch(i){console.error("Failed to copy paddle license",i)}}scrollToGithub(){return document.querySelector("#github").scrollIntoView(!0),!1}scrollToPaddle(){return document.querySelector("#paddle").scrollIntoView(!0),!1}requestTrial(){this.requestTrialModal.show(),this.trackingService.track("Trial-Started")}completeTrial(){console.log("Trial completed"),this.requestTrialModal.hide(),this.paddleLicenseRequested=!0,this.licenseService.getTrialLicense(this.requestTrialData).subscribe({next:n=>{console.log("Received trial license response"),this.paddleLicense=n,this.scrollToPaddle();try{window.localStorage.setItem("trialRequested","true"),this.trialDisabled=!0}catch{}this.trackingService.track("Trial-Completed")},error:n=>{console.error(n),this.paddleLicense=new po,this.paddleLicense.error="Unable to generate trial license."},complete:()=>{console.info("complete"),this.requestTrialData={name:"",email:""}}})}openPaddleCheckout(n){n==="enterprise"?window.Paddle.Checkout.open({product:this.lifetimeLicense?ee.paddleEnterpriseLifetimeLicense:ee.paddleEnterpriseLicense,successCallback:"paddleCheckoutComplete"}):n==="team"?window.Paddle.Checkout.open({product:this.lifetimeLicense?ee.paddleTeamLifetimeLicense:ee.paddleTeamLicense,successCallback:"paddleCheckoutComplete"}):window.Paddle.Checkout.open({product:this.lifetimeLicense?ee.paddleIndividualLifetimeLicense:ee.paddleIndividualLicense,successCallback:"paddleCheckoutComplete"}),this.trackingService.track("Paddle-Started",{props:{product:n,lifetimeLicense:this.lifetimeLicense}})}paddleCheckoutComplete(n){console.log("Checkout completed",n),this.paddleLicenseRequested=!0,this.licenseService.getPaddleLicense(n).subscribe({next:i=>{console.log("Received paddle license response"),this.paddleLicense=i,this.scrollToPaddle(),this.trackingService.track("Paddle-Completed",{props:{product:n.product.name,lifetimeLicense:this.lifetimeLicense}})},error:i=>{console.error(i),this.paddleLicense=new po,this.paddleLicense.error="Unable to generate Paddle license."},complete:()=>console.info("complete")})}getPriceTooltip(n,i){return this.lifetimeLicense&&n?`Net: ${n.net}
+`),d())}});let t=e;return t})();var z0=(()=>{let e=class e{constructor(n){this.elementRef=n}ngAfterViewInit(){let n=this.elementRef.nativeElement;this.tooltip=new bootstrap.Tooltip(n);let i=n.setAttribute;n.setAttribute=(o,s)=>{o==="data-bs-title"&&this.tooltip.setContent({".tooltip-inner":s}),i.call(n,o,s)}}ngOnDestroy(){this.tooltip.dispose()}};e.\u0275fac=function(i){return new(i||e)(S(_e))},e.\u0275dir=ie({type:e,selectors:[["","bootstraptooltip",""]],standalone:!0});let t=e;return t})();var po=class{constructor(){this.error=null,this.licenses=[]}};var Ya=class{constructor(){this.error=null,this.isSponsor=!1,this.license=null}};var Qa=(()=>{let e=class e{initCodeFlow(){let n=this.createAndSaveNonce(),i=ee.scope!==null?`&scope=${ee.scope}`:"",o=`${ee.loginUrl}?response_type=code&client_id=${ee.clientId}&state=${n}&redirect_uri=${window.location.origin}${ee.redirectUri}${i}`;console.log("Redirecting to: "+o),location.href=o}validateStateAndExtractCode(){let n=location.href,i=n.indexOf("?");i>-1&&(n=n.substring(i+1));let o=this.parseQueryString(n);return!o.state||!o.code?null:this.validateNonce(o.state)?o.code:null}createAndSaveNonce(){let n=this.createNonce();return typeof window.localStorage<"u"&&localStorage.setItem("nonce",n),n}validateNonce(n){let i;return typeof window.localStorage<"u"&&(i=localStorage.getItem("nonce"),localStorage.removeItem("nonce")),!i||i.length===0?(console.error("Validating nonce failed. No saved nonce available.",i,n),!1):i!==n?(console.error("Validating nonce failed. Values do not match.",i,n),!1):!0}createNonce(){let n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",i=45,o="",s=typeof self>"u"?null:self.crypto||self.msCrypto;if(s){let c=new Uint8Array(i);s.getRandomValues(c),c.map||(c.map=Array.prototype.map);let f=[];for(var a=0;a0&&(h=decodeURIComponent(c),m=decodeURIComponent(f),h.substring(0,1)==="/"&&(h=h.substring(1)),i[h]=m);return i}base64UrlEncode(n){return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}};e.\u0275fac=function(i){return new(i||e)},e.\u0275prov=_({token:e,factory:e.\u0275fac});let t=e;return t})();var W0=(()=>{let e=class e{constructor(){this.isActive=!1,this.isActive=new Date["/features"],$d=()=>["/contact"],Z0=t=>({active:t});function fS(t,e){if(t&1){let r=te();u(0,"span",79)(1,"span",80),A("click",function(){x(r);let i=w();return I(i.lifetimeLicense=!1)}),p(2,"i",81),l(3," Annual subscription"),d(),u(4,"span",80),A("click",function(){x(r);let i=w();return I(i.lifetimeLicense=!0)}),p(5,"i",82),l(6," Lifetime license"),d()()}if(t&2){let r=w();g(),C("ngClass",Kn(2,Z0,!r.lifetimeLicense)),g(3),C("ngClass",Kn(4,Z0,r.lifetimeLicense))}}function hS(t,e){if(t&1){let r=te();u(0,"button",103),A("click",function(){x(r);let i=w(2);return I(i.requestTrial())}),p(1,"i",33),l(2," Start trial"),d()}if(t&2){let r=w(2);C("disabled",r.trialDisabled)}}function pS(t,e){t&1&&(u(0,"button",104),l(1,"Coming soon"),d())}function mS(t,e){if(t&1){let r=te();l(0," + VAT "),u(1,"a",105),A("click",function(){x(r);let i=w(2);return I(i.handleTooltipClick())}),p(2,"i",106),d()}if(t&2){let r=w(2);g(),Ze("data-bs-title",r.getPriceTooltip(r.paddleIndividualLifetimeLicensePriceDetails,r.paddleIndividualLicensePriceDetails))}}function gS(t,e){t&1&&(Le(0),p(1,"i",81),l(2," Annual subscription"),Ve())}function vS(t,e){t&1&&(Le(0),p(1,"i",82),l(2," Lifetime license"),Ve())}function yS(t,e){if(t&1){let r=te();u(0,"button",107),A("click",function(){x(r);let i=w(2);return I(i.openPaddleCheckout("individual"))}),p(1,"i",108),l(2," Buy now"),d()}}function CS(t,e){t&1&&(u(0,"button",104),l(1,"Coming soon"),d())}function DS(t,e){if(t&1){let r=te();l(0," + VAT "),u(1,"a",105),A("click",function(){x(r);let i=w(2);return I(i.handleTooltipClick())}),p(2,"i",106),d()}if(t&2){let r=w(2);g(),Ze("data-bs-title",r.getPriceTooltip(r.paddleTeamLifetimeLicensePriceDetails,r.paddleTeamLicensePriceDetails))}}function wS(t,e){t&1&&(Le(0),p(1,"i",81),l(2," Annual subscription"),Ve())}function bS(t,e){t&1&&(Le(0),p(1,"i",82),l(2," Lifetime license"),Ve())}function ES(t,e){if(t&1){let r=te();u(0,"button",107),A("click",function(){x(r);let i=w(2);return I(i.openPaddleCheckout("team"))}),p(1,"i",108),l(2," Buy now"),d()}}function _S(t,e){t&1&&(u(0,"button",104),l(1,"Coming soon"),d())}function xS(t,e){if(t&1){let r=te();l(0," + VAT "),u(1,"a",105),A("click",function(){x(r);let i=w(2);return I(i.handleTooltipClick())}),p(2,"i",106),d()}if(t&2){let r=w(2);g(),Ze("data-bs-title",r.getPriceTooltip(r.paddleEnterpriseLifetimeLicensePriceDetails,r.paddleEnterpriseLicensePriceDetails))}}function IS(t,e){t&1&&(Le(0),p(1,"i",81),l(2," Annual subscription"),Ve())}function SS(t,e){t&1&&(Le(0),p(1,"i",82),l(2," Lifetime license"),Ve())}function MS(t,e){if(t&1){let r=te();u(0,"button",107),A("click",function(){x(r);let i=w(2);return I(i.openPaddleCheckout("enterprise"))}),p(1,"i",108),l(2," Buy now"),d()}}function TS(t,e){t&1&&(u(0,"button",104),l(1,"Coming soon"),d())}function AS(t,e){if(t&1&&(u(0,"div",3)(1,"div",83)(2,"div",84),p(3,"img",85),u(4,"h4",86),l(5,"Free"),p(6,"br"),l(7,"Trial"),d(),u(8,"p"),p(9,"i",87),l(10," Get full access"),p(11,"br")(12,"i",88),l(13," 10 day trial period "),d(),P(14,hS,3,1,"button",89)(15,pS,2,0,"button",90),d()(),u(16,"div",91)(17,"div",92),p(18,"img",93),u(19,"h4",86),l(20,"Individual"),p(21,"br"),l(22),P(23,mS,3,1,"a",94),d(),u(24,"p"),p(25,"i",95),l(26," Per developer license."),p(27,"br"),P(28,gS,3,0,"ng-container",26)(29,vS,3,0,"ng-container",26),d(),P(30,yS,3,0,"button",96)(31,CS,2,0,"button",90),d()(),u(32,"div",97)(33,"div",92),p(34,"img",98),u(35,"h4",86),l(36,"Team"),p(37,"br"),l(38),P(39,DS,3,1,"a",94),d(),u(40,"p"),p(41,"i",99),l(42," Up to 10 developers."),p(43,"br"),P(44,wS,3,0,"ng-container",26)(45,bS,3,0,"ng-container",26),d(),P(46,ES,3,0,"button",96)(47,_S,2,0,"button",90),d()(),u(48,"div",100)(49,"div",92),p(50,"img",101),u(51,"h4",86),l(52,"Enterprise"),p(53,"br"),l(54),P(55,xS,3,1,"a",94),d(),u(56,"p"),p(57,"i",102),l(58," Unlimited developers."),p(59,"br"),P(60,IS,3,0,"ng-container",26)(61,SS,3,0,"ng-container",26),d(),P(62,MS,3,0,"button",96)(63,TS,2,0,"button",90),d()()()),t&2){let r=w();g(14),C("ngIf",r.enablePaddle),g(),C("ngIf",!r.enablePaddle),g(7),je("",r.lifetimeLicense?r.paddleIndividualLifetimeLicensePrice:r.paddleIndividualLicensePrice," "),g(),gt(r.includeVatInPrice?-1:23),g(5),C("ngIf",!r.lifetimeLicense),g(),C("ngIf",r.lifetimeLicense),g(),C("ngIf",r.enablePaddle),g(),C("ngIf",!r.enablePaddle),g(7),je("",r.lifetimeLicense?r.paddleTeamLifetimeLicensePrice:r.paddleTeamLicensePrice," "),g(),gt(r.includeVatInPrice?-1:39),g(5),C("ngIf",!r.lifetimeLicense),g(),C("ngIf",r.lifetimeLicense),g(),C("ngIf",r.enablePaddle),g(),C("ngIf",!r.enablePaddle),g(7),je("",r.lifetimeLicense?r.paddleEnterpriseLifetimeLicensePrice:r.paddleEnterpriseLicensePrice," "),g(),gt(r.includeVatInPrice?-1:55),g(5),C("ngIf",!r.lifetimeLicense),g(),C("ngIf",r.lifetimeLicense),g(),C("ngIf",r.enablePaddle),g(),C("ngIf",!r.enablePaddle)}}function NS(t,e){t&1&&(u(0,"div",110)(1,"div",111)(2,"span",112),l(3,"Loading..."),d()(),u(4,"span",113),l(5,"Your license is being generated. Please wait."),d()())}function RS(t,e){if(t&1&&(u(0,"div")(1,"p"),l(2),d(),u(3,"p"),l(4,"Please try again later or use the "),u(5,"a",20),l(6," contact form"),d(),l(7,"."),d()()),t&2){let r=w(3);g(2),pe(r.paddleLicense.error),g(3),C("routerLink",H(2,$d))}}function OS(t,e){t&1&&(u(0,"span"),p(1,"i",119),l(2," Copy"),d())}function kS(t,e){t&1&&(u(0,"span"),p(1,"i",120),l(2," Copied"),d())}function PS(t,e){if(t&1){let r=te();u(0,"div",116)(1,"textarea",117),l(2),d(),u(3,"button",118),A("click",function(){let i=x(r).$implicit,o=w(4);return I(o.copyPaddle(i))}),P(4,OS,3,0,"span",26)(5,kS,3,0,"span",26),d()()}if(t&2){let r=e.$implicit,n=w(4);g(2),pe(r),g(2),C("ngIf",n.copiedPaddledLicenses.indexOf(r)===-1),g(),C("ngIf",n.copiedPaddledLicenses.indexOf(r)>-1)}}function FS(t,e){if(t&1&&(u(0,"div")(1,"label",114),l(2,"Thank you! Please save your license key persistently:"),d(),P(3,PS,6,3,"div",115),d()),t&2){let r=w(3);g(3),C("ngForOf",r.paddleLicense.licenses)}}function LS(t,e){if(t&1&&(u(0,"div",110),P(1,RS,8,3,"div",26)(2,FS,4,1,"div",26),d()),t&2){let r=w(2);g(),C("ngIf",r.paddleLicense.error),g(),C("ngIf",!r.paddleLicense.error)}}function VS(t,e){if(t&1&&(u(0,"div",3),P(1,NS,6,0,"div",109)(2,LS,3,2,"div",109),d()),t&2){let r=w();g(),C("ngIf",r.paddleLicenseRequested&&!r.paddleLicense),g(),C("ngIf",r.paddleLicense)}}function jS(t,e){t&1&&(u(0,"p")(1,"i"),l(2,"ReportGenerator"),d(),l(3," subscription based licences are provided with a 30 day money back guarantee."),d())}function US(t,e){t&1&&(u(0,"div",111)(1,"span",112),l(2,"Loading..."),d()())}function BS(t,e){t&1&&(u(0,"div",121),p(1,"i",122),d())}function $S(t,e){if(t&1&&(u(0,"div")(1,"p"),l(2),d(),u(3,"p"),l(4,"Please try again later or use the "),u(5,"a",20),l(6," contact form"),d(),l(7,"."),d()()),t&2){let r=w(2);g(2),pe(r.license.error),g(3),C("routerLink",H(2,$d))}}function HS(t,e){t&1&&(u(0,"div")(1,"p"),l(2,"Please become a "),u(3,"a",123),l(4,"GitHub sponsor"),d(),l(5," first."),d()())}function qS(t,e){t&1&&(u(0,"span"),p(1,"i",119),l(2," Copy"),d())}function GS(t,e){t&1&&(u(0,"span"),p(1,"i",120),l(2," Copied"),d())}function zS(t,e){if(t&1){let r=te();u(0,"div")(1,"label",124),l(2,"Thank you for becoming a sponsor. Here's your license:"),d(),u(3,"textarea",125),l(4),d(),u(5,"button",118),A("click",function(){x(r);let i=w(2);return I(i.copy())}),P(6,qS,3,0,"span",26)(7,GS,3,0,"span",26),d()()}if(t&2){let r=w(2);g(4),pe(r.license.license),g(2),C("ngIf",!r.licenseCopied),g(),C("ngIf",r.licenseCopied)}}function WS(t,e){if(t&1&&(u(0,"div",28),P(1,$S,8,3,"div",26)(2,HS,6,0,"div",26)(3,zS,8,3,"div",26),d()),t&2){let r=w();g(),C("ngIf",r.license.error),g(),C("ngIf",!r.license.error&&!r.license.isSponsor),g(),C("ngIf",!r.license.error&&r.license.isSponsor&&r.license.license)}}var Y0=(()=>{let e=class e{get lifetimeLicense(){return this._lifetimeLicense}set lifetimeLicense(n){this._lifetimeLicense=n,this.lifetimeLicenseChangeTracked||(this.lifetimeLicenseChangeTracked=!0,this.trackingService.track("Licensetype changed"))}constructor(n,i,o){this.oauthService=n,this.licenseService=i,this.trackingService=o,this.paddleIndividualLicensePrice=Dt.paddleIndividualLicensePrice,this.paddleTeamLicensePrice=Dt.paddleTeamLicensePrice,this.paddleEnterpriseLicensePrice=Dt.paddleEnterpriseLicensePrice,this.paddleIndividualLifetimeLicensePrice=Dt.paddleIndividualLifetimeLicensePrice,this.paddleTeamLifetimeLicensePrice=Dt.paddleTeamLifetimeLicensePrice,this.paddleEnterpriseLifetimeLicensePrice=Dt.paddleEnterpriseLifetimeLicensePrice,this.paddleIndividualLicensePriceDetails=null,this.paddleTeamLicensePriceDetails=null,this.paddleEnterpriseLicensePriceDetails=null,this.paddleIndividualLifetimeLicensePriceDetails=null,this.paddleTeamLifetimeLicensePriceDetails=null,this.paddleEnterpriseLifetimeLicensePriceDetails=null,this.licenseRequested=!1,this.licenseCopied=!1,this.license=null,this.enablePaddle=!0,this.trialDisabled=!1,this.includeVatInPrice=!0,this.requestTrialData={name:"",email:""},this.paddleLicenseRequested=!1,this.paddleLicense=null,this.copiedPaddledLicenses=[],this.self=this,this.lifetimeLicenseChangeTracked=!1,this._lifetimeLicense=!0,window.paddleCheckoutComplete=s=>{this.paddleCheckoutComplete(s)},ee.paddleEnvironment&&(window.Paddle.Environment.set(ee.paddleEnvironment),console.log("Paddle environment: "+ee.paddleEnvironment)),window.Paddle.Setup({vendor:ee.paddleVendorId}),window.Paddle.Product.Prices(ee.paddleIndividualLicense,s=>{this.paddleIndividualLicensePriceDetails=s.recurring.price,this.paddleIndividualLicensePrice=this.includeVatInPrice?s.recurring.price.gross:s.recurring.price.net}),window.Paddle.Product.Prices(ee.paddleTeamLicense,s=>{this.paddleTeamLicensePriceDetails=s.recurring.price,this.paddleTeamLicensePrice=this.includeVatInPrice?s.recurring.price.gross:s.recurring.price.net}),window.Paddle.Product.Prices(ee.paddleEnterpriseLicense,s=>{this.paddleEnterpriseLicensePriceDetails=s.recurring.price,this.paddleEnterpriseLicensePrice=this.includeVatInPrice?s.recurring.price.gross:s.recurring.price.net}),window.Paddle.Product.Prices(ee.paddleIndividualLifetimeLicense,s=>{this.paddleIndividualLifetimeLicensePriceDetails=s.price,this.paddleIndividualLifetimeLicensePrice=this.includeVatInPrice?s.price.gross:s.price.net}),window.Paddle.Product.Prices(ee.paddleTeamLifetimeLicense,s=>{this.paddleTeamLifetimeLicensePriceDetails=s.price,this.paddleTeamLifetimeLicensePrice=this.includeVatInPrice?s.price.gross:s.price.net}),window.Paddle.Product.Prices(ee.paddleEnterpriseLifetimeLicense,s=>{this.paddleEnterpriseLifetimeLicensePriceDetails=s.price,this.paddleEnterpriseLifetimeLicensePrice=this.includeVatInPrice?s.price.gross:s.price.net})}ngOnInit(){let n=this.oauthService.validateStateAndExtractCode();n!==null?(console.log("Code received",n),this.licenseRequested=!0,this.licenseService.getLicense(n).subscribe({next:i=>{console.log("Received license response"),this.license=i,this.scrollToGithub()},error:i=>{console.error(i),this.license=new Ya,this.license.error="Unable to generate license.",this.scrollToGithub()},complete:()=>console.info("complete")})):console.log("No code available"),location.href.indexOf("?source=trial")>-1&&this.trackingService.track("Trial2Pro"),this.requestTrialModal=new window.bootstrap.Modal("#requestTrialModal");try{this.trialDisabled=window.localStorage.getItem("trialRequested")!==null}catch{}}requestLicense(){this.licenseRequested=!0,this.oauthService.initCodeFlow()}copy(){try{navigator.clipboard.writeText(this.license.license),this.licenseCopied=!0}catch(n){console.error("Failed to copy license",n)}}copyPaddle(n){try{navigator.clipboard.writeText(n),this.copiedPaddledLicenses.push(n)}catch(i){console.error("Failed to copy paddle license",i)}}scrollToGithub(){return document.querySelector("#github").scrollIntoView(!0),!1}scrollToPaddle(){return document.querySelector("#paddle").scrollIntoView(!0),!1}requestTrial(){this.requestTrialModal.show(),this.trackingService.track("Trial-Started")}completeTrial(){console.log("Trial completed"),this.requestTrialModal.hide(),this.paddleLicenseRequested=!0,this.licenseService.getTrialLicense(this.requestTrialData).subscribe({next:n=>{console.log("Received trial license response"),this.paddleLicense=n,this.scrollToPaddle();try{window.localStorage.setItem("trialRequested","true"),this.trialDisabled=!0}catch{}this.trackingService.track("Trial-Completed")},error:n=>{console.error(n),this.paddleLicense=new po,this.paddleLicense.error="Unable to generate trial license."},complete:()=>{console.info("complete"),this.requestTrialData={name:"",email:""}}})}openPaddleCheckout(n){n==="enterprise"?window.Paddle.Checkout.open({product:this.lifetimeLicense?ee.paddleEnterpriseLifetimeLicense:ee.paddleEnterpriseLicense,successCallback:"paddleCheckoutComplete"}):n==="team"?window.Paddle.Checkout.open({product:this.lifetimeLicense?ee.paddleTeamLifetimeLicense:ee.paddleTeamLicense,successCallback:"paddleCheckoutComplete"}):window.Paddle.Checkout.open({product:this.lifetimeLicense?ee.paddleIndividualLifetimeLicense:ee.paddleIndividualLicense,successCallback:"paddleCheckoutComplete"}),this.trackingService.track("Paddle-Started",{props:{product:n,lifetimeLicense:this.lifetimeLicense}})}paddleCheckoutComplete(n){console.log("Checkout completed",n),this.paddleLicenseRequested=!0,this.licenseService.getPaddleLicense(n).subscribe({next:i=>{console.log("Received paddle license response"),this.paddleLicense=i,this.scrollToPaddle(),this.trackingService.track("Paddle-Completed",{props:{product:n.product.name,lifetimeLicense:this.lifetimeLicense}})},error:i=>{console.error(i),this.paddleLicense=new po,this.paddleLicense.error="Unable to generate Paddle license."},complete:()=>console.info("complete")})}getPriceTooltip(n,i){return this.lifetimeLicense&&n?`Net: ${n.net}
VAT/Tax: ${n.tax}
Gross/Total: ${n.gross}`:!this.lifetimeLicense&&i?`Net: ${i.net}
VAT/Tax: ${i.tax}
diff --git a/docs/pro.html b/docs/pro.html index 2af8cb33..c6b0d87f 100644 --- a/docs/pro.html +++ b/docs/pro.html @@ -11,5 +11,5 @@ - + \ No newline at end of file diff --git a/docs/usage.html b/docs/usage.html index 5075d43a..e6cfce09 100644 --- a/docs/usage.html +++ b/docs/usage.html @@ -11,5 +11,5 @@ - + \ No newline at end of file