@posiwise/resource-module 0.0.93 → 0.0.94

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/esm2022/index.mjs +2 -2
  2. package/esm2022/lib/public/components/reslease-note-card/release-note-card.component.mjs +26 -0
  3. package/esm2022/lib/public/components/resource-blogs/resource-blog.component.mjs +64 -0
  4. package/esm2022/lib/public/components/resource-card-list/resource-card-list.component.mjs +22 -0
  5. package/esm2022/lib/public/components/resource-case-studies/case-studies-cards/case-studies-cards.component.mjs +24 -0
  6. package/esm2022/lib/public/components/resource-case-studies/resource-case-studies.component.mjs +83 -0
  7. package/esm2022/lib/public/components/resource-company-card/resource-company-card.component.mjs +43 -0
  8. package/esm2022/lib/public/components/resource-integration/resource-integration.component.mjs +52 -0
  9. package/esm2022/lib/public/components/resource-post/related-resources/related-resources.component.mjs +102 -0
  10. package/esm2022/lib/public/components/resource-post/related-resources/resource-cards/resource-cards.component.mjs +36 -0
  11. package/esm2022/lib/public/components/resource-post/resource-post-details/resource-post-details.component.mjs +42 -0
  12. package/esm2022/lib/public/components/resource-post/resource-post.component.mjs +31 -0
  13. package/esm2022/lib/public/components/resource-release-notes/resource-release-notes.component.mjs +64 -0
  14. package/esm2022/lib/public/components/resource-vault/resource-vault.component.mjs +41 -0
  15. package/esm2022/lib/public/components/resource-videos/resource-video-cards/resource-video-cards.component.mjs +35 -0
  16. package/esm2022/lib/public/components/resource-videos/resource-videos.component.mjs +63 -0
  17. package/esm2022/lib/public/components/resource-webinars/replay-event-cards/replay-event-cards.component.mjs +31 -0
  18. package/esm2022/lib/public/components/resource-webinars/resource-webinars.component.mjs +79 -0
  19. package/esm2022/lib/public/components/resource-webinars/upcoming-event-cards/upcoming-event-cards.component.mjs +19 -0
  20. package/esm2022/lib/public/components/resources/resource-tags/resource-tags.component.mjs +51 -0
  21. package/esm2022/lib/public/components/resources/resources.component.mjs +21 -0
  22. package/esm2022/lib/public/components/resources/vault-section/vault-section.component.mjs +12 -0
  23. package/esm2022/lib/public/components/resources-hub/resources-hub.component.mjs +174 -0
  24. package/esm2022/lib/public/components/resources-read/resources-read.component.mjs +3 -3
  25. package/esm2022/lib/public/components/testimonial-card/testimonial-card.component.mjs +74 -0
  26. package/esm2022/lib/public/components/white-papers/white-papers.component.mjs +63 -0
  27. package/esm2022/lib/public/resource-public.module.mjs +88 -7
  28. package/esm2022/lib/public/resource-public.routing.module.mjs +80 -8
  29. package/esm2022/lib/resource.service.mjs +14 -3
  30. package/fesm2022/posiwise-resource-module.mjs +1121 -66
  31. package/fesm2022/posiwise-resource-module.mjs.map +1 -1
  32. package/index.d.ts +1 -1
  33. package/lib/public/components/reslease-note-card/release-note-card.component.d.ts +11 -0
  34. package/lib/public/components/resource-blogs/resource-blog.component.d.ts +20 -0
  35. package/lib/public/components/resource-card-list/resource-card-list.component.d.ts +7 -0
  36. package/lib/public/components/resource-case-studies/case-studies-cards/case-studies-cards.component.d.ts +11 -0
  37. package/lib/public/components/resource-case-studies/resource-case-studies.component.d.ts +23 -0
  38. package/lib/public/components/resource-company-card/resource-company-card.component.d.ts +22 -0
  39. package/lib/public/components/resource-integration/resource-integration.component.d.ts +34 -0
  40. package/lib/public/components/resource-post/related-resources/related-resources.component.d.ts +34 -0
  41. package/lib/public/components/resource-post/related-resources/resource-cards/resource-cards.component.d.ts +11 -0
  42. package/lib/public/components/resource-post/resource-post-details/resource-post-details.component.d.ts +17 -0
  43. package/lib/public/components/resource-post/resource-post.component.d.ts +13 -0
  44. package/lib/public/components/resource-release-notes/resource-release-notes.component.d.ts +20 -0
  45. package/lib/public/components/resource-vault/resource-vault.component.d.ts +20 -0
  46. package/lib/public/components/resource-videos/resource-video-cards/resource-video-cards.component.d.ts +29 -0
  47. package/lib/public/components/resource-videos/resource-videos.component.d.ts +20 -0
  48. package/lib/public/components/resource-webinars/replay-event-cards/replay-event-cards.component.d.ts +28 -0
  49. package/lib/public/components/resource-webinars/resource-webinars.component.d.ts +22 -0
  50. package/lib/public/components/resource-webinars/upcoming-event-cards/upcoming-event-cards.component.d.ts +6 -0
  51. package/lib/public/components/resources/resource-tags/resource-tags.component.d.ts +20 -0
  52. package/lib/public/components/resources/resources.component.d.ts +5 -0
  53. package/lib/public/components/resources/vault-section/vault-section.component.d.ts +5 -0
  54. package/lib/public/components/{resources-list/resources-list.component.d.ts → resources-hub/resources-hub.component.d.ts} +14 -6
  55. package/lib/public/components/resources-read/resources-read.component.d.ts +1 -2
  56. package/lib/public/components/testimonial-card/testimonial-card.component.d.ts +11 -0
  57. package/lib/public/components/white-papers/white-papers.component.d.ts +20 -0
  58. package/lib/public/resource-public.module.d.ts +41 -16
  59. package/lib/resource.service.d.ts +1 -1
  60. package/package.json +1 -1
  61. package/esm2022/lib/public/components/resources-list/resources-list.component.mjs +0 -129
@@ -1,35 +1,41 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Component, ViewEncapsulation, NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
3
- import * as i3 from '@angular/common';
2
+ import { Injectable, Component, Input, ViewEncapsulation, HostListener, NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
- import * as i8 from '@angular/forms';
5
+ import * as i7 from '@angular/forms';
6
6
  import { UntypedFormBuilder, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
7
+ import * as i3$1 from '@posiwise/alpha-module';
8
+ import { AlphaPublicModule } from '@posiwise/alpha-module';
7
9
  import * as i2 from '@posiwise/common-services';
8
10
  import { GoogleAnalyticsService } from '@posiwise/common-services';
9
11
  import { CoreTranslocoModule } from '@posiwise/core-transloco';
10
- import * as i9 from '@posiwise/directives';
12
+ import * as i3 from '@posiwise/directives';
11
13
  import { DirectivesModule } from '@posiwise/directives';
12
14
  import * as i9$1 from '@posiwise/pipes';
13
15
  import { PipesModule } from '@posiwise/pipes';
14
16
  import { PublicModule } from '@posiwise/public-modules';
15
- import * as i6 from '@posiwise/shared-components';
17
+ import * as i4 from '@posiwise/shared-components';
16
18
  import { SharedComponentsModule } from '@posiwise/shared-components';
17
- import * as i1 from 'ngx-quill';
19
+ import * as i1$3 from 'ngx-quill';
18
20
  import { QuillModule } from 'ngx-quill';
19
- import * as i7 from 'ngx-sharebuttons/buttons';
21
+ import * as i7$1 from 'ngx-sharebuttons/buttons';
20
22
  import { ShareButtonsModule } from 'ngx-sharebuttons/buttons';
21
23
  import { ShareIconsModule } from 'ngx-sharebuttons/icons';
22
24
  import { NgxUploaderModule } from 'ngx-uploader';
23
- import * as i10 from '@jsverse/transloco';
25
+ import { DropdownModule } from 'primeng/dropdown';
26
+ import * as i9 from '@jsverse/transloco';
24
27
  import { TranslocoModule } from '@jsverse/transloco';
25
28
  import { HelperService } from '@posiwise/helper-service';
29
+ import * as i2$1 from '@angular/router';
30
+ import { RouterModule } from '@angular/router';
26
31
  import { AppBaseComponent } from '@posiwise/app-base-component';
27
- import { TOKEN_KEY } from '@posiwise/common-utilities';
32
+ import { TOKEN_KEY, CompanyData } from '@posiwise/common-utilities';
33
+ import * as i1$1 from '@angular/platform-browser';
34
+ import { Swiper, Navigation, Pagination } from 'swiper';
35
+ import * as i1$2 from 'libs/resource-module/src/lib/resource.service';
36
+ import { ResourceBlog as ResourceBlog$1 } from 'libs/resource-module/src/lib/shared/models/resource.model';
28
37
  import { forkJoin } from 'rxjs';
29
- import * as i4 from '@angular/router';
30
- import { RouterModule } from '@angular/router';
31
- import * as i5 from 'primeng/progressspinner';
32
- import * as i3$1 from '@angular/platform-browser';
38
+ import * as i6 from 'primeng/progressspinner';
33
39
 
34
40
  class ResourceService {
35
41
  constructor(api) {
@@ -37,8 +43,19 @@ class ResourceService {
37
43
  this.resource = '/posts';
38
44
  this.comments = '/comments';
39
45
  }
40
- getPublicPosts(master_subscription_id, page, pageSize, search) {
41
- return this.api.get(`${this.resource}/get_all?master_subscription_id=${master_subscription_id}&page=${page}&page_size=${pageSize}&search=${search}`);
46
+ getPublicPosts(master_subscription_id, page, pageSize, search, tagCategoryIds) {
47
+ const params = {
48
+ page,
49
+ page_size: pageSize,
50
+ search: search,
51
+ master_subscription_id
52
+ };
53
+ if (tagCategoryIds) {
54
+ params['tag_category_ids'] = tagCategoryIds;
55
+ }
56
+ return this.api.getWithParams(`${this.resource}/get_all`, {
57
+ ...params
58
+ });
42
59
  }
43
60
  getAdminPosts(subscriptionId, paging) {
44
61
  return this.api.getWithParams(`${this.resource}/admin_get_all`, {
@@ -91,7 +108,829 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
91
108
  type: Injectable
92
109
  }], ctorParameters: () => [{ type: i2.MainApiHttpService }] });
93
110
 
94
- class ResourceListComponent extends AppBaseComponent {
111
+ class ResourceNoteCardComponent {
112
+ constructor() {
113
+ this.posts = [];
114
+ this.releaseHeader = false;
115
+ this.q1NotesLink = '/resources/product-release-q1-2025';
116
+ this.q3NotesLink = '/resources/product-release-q3-2024';
117
+ this.q4NotesLink = '/resources/product-release-q4-2024';
118
+ this.releaseNotesLink = '/resources/release-notes';
119
+ }
120
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceNoteCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
121
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceNoteCardComponent, selector: "pw-resource-note-card", inputs: { posts: "posts", releaseHeader: "releaseHeader" }, ngImport: i0, template: "<section class=\"release-notes-section bg-white py-5 section-outer\">\n <div class=\"text-center container\">\n\n <div *ngIf=\"releaseHeader\" class=\"d-flex release-section align-items-center w-100 mb-5 flex-wrap\">\n <h2 class=\"release-heading\">Product Release Notes</h2>\n <a class=\"view-all-link\"\n [routerLink]=\"releaseNotesLink\">VIEW ALL ></a>\n </div>\n\n <div class=\"row justify-content-center card-row\">\n <div class=\"release-card\">\n <div class=\"release-header\">\n <p class=\"quarter\">Q2 - 2024</p>\n <p class=\"title\"><strong>Product Release Notes</strong></p>\n <p class=\"desc\">New features & system<br />improvements</p>\n </div>\n <img src=\"/assets/img/resource/rocket-box.png\"\n alt=\"Release Icon\"\n class=\"release-icon mb-4\" />\n <button class=\"release-btn\"\n [routerLink]=\"q3NotesLink\">Read now <span class=\"arrow\">\u2192</span></button>\n </div>\n\n <div class=\"release-card highlighted\">\n <div class=\"release-header q2-icon\">\n <p class=\"quarter\">Q1 - 2024</p>\n <p class=\"title\"><strong>Major Release:</strong></p>\n <p class=\"desc\">CloudOlive Groupings</p>\n </div>\n <img src=\"/assets/img/resource/rocket-box.png\"\n alt=\"Release Icon\"\n class=\"release-icon mb-4\" />\n <button class=\"release-btn\"\n [routerLink]=\"q4NotesLink\">Read now <span class=\"arrow\">\u2192</span></button>\n </div>\n\n <div class=\"release-card\">\n <div class=\"release-header\">\n <p class=\"quarter\">Q4 - 2023</p>\n <p class=\"title\"><strong>Product Release Notes</strong></p>\n <p class=\"desc\">New features & system<br />improvements</p>\n </div>\n <img src=\"/assets/img/resource/rocket-box.png\"\n alt=\"Release Icon\"\n class=\"release-icon mb-4\" />\n <button class=\"release-btn\"\n [routerLink]=\"q1NotesLink\">Read now <span class=\"arrow\">\u2192</span></button>\n </div>\n </div>\n </div>\n</section>", styles: [".card-row{gap:5.5rem!important}.release-notes-section .view-all-link{font-size:1.5rem;font-weight:700;margin-bottom:1.2rem;text-decoration:none;color:#000}.release-notes-section .view-all-link:hover{color:var(--first)}.release-notes-section .q2-icon{margin-bottom:3.25rem!important}.release-notes-section .release-card{background:#fff;border-radius:30px;padding:30px;box-shadow:0 10px 30px #00000014;text-align:center;width:338px;transition:all .3s ease}.release-notes-section .release-card .release-header{margin-bottom:1.5rem}.release-notes-section .release-card .release-header .quarter{font-size:1.2rem;font-weight:700;margin-bottom:.3rem;color:#000}.release-notes-section .release-card .release-header .title{font-size:1.2rem;margin-top:.4rem;margin-bottom:.6rem;color:#000}.release-notes-section .release-card .release-header .desc{font-size:1.35rem;line-height:1.87rem;color:#000}.release-notes-section .release-card .release-icon{width:80px;height:auto;margin:0 auto 2rem;display:block}.release-notes-section .release-card .release-btn{background-color:#000;color:#fff;padding:10px 24px;border-radius:24px;font-size:1.1rem;font-weight:500;display:inline-flex;align-items:center;gap:10px;transition:background .3s ease;margin-top:10px;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.release-notes-section .release-card .release-btn .arrow{font-weight:700;font-size:1.2rem}.release-notes-section .release-card .release-btn:hover{background:#fff;color:var(--text-color, black)!important}.release-notes-section .row{--bs-gutter-x: 1rem}@media (width >= 768px){.release-notes-section .release-heading{font-size:3rem;font-weight:300}.release-notes-section .view-all-link{margin-right:4rem}.release-notes-section .container-section{padding:20px 120px 20px 80px!important}.release-notes-section .release-section{justify-content:space-between!important}}@media (width <= 768px){.release-notes-section .release-heading{font-size:2.5rem;font-weight:400}.release-notes-section .release-section{justify-content:center!important}.release-notes-section .view-all-link{margin-right:19rem}.release-notes-section .release-card{width:100%!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width >= 768px){iframe{width:85%!important;height:375px!important}}@media (width <= 768px){.release-card{width:100%!important}p{font-size:1.7rem!important;line-height:1.7rem!important}}@media (width >= 991px){.section-outer{padding-bottom:5rem!important;padding-top:6rem!important}}\n", "::ng-deep .ql-editor p{font-size:1.5rem!important;line-height:1.8rem!important;color:#333!important}.msp-vault-section{padding:60px 0;background:#fff}.msp-vault-section .vault-heading{font-size:4.5rem;font-weight:300;color:#000!important}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}.msp-vault-section .vault-card{background-color:#fff;border-radius:30px;box-shadow:0 5px 20px #0000000d;padding:25px;text-align:center;width:338px;height:auto}.msp-vault-section .vault-card h5{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#000!important}.msp-vault-section .vault-card p{font-size:1.5rem;color:#444}.msp-vault-section .vault-card img,.msp-vault-section .vault-card iframe{height:180px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card .vault-btn{background-color:#000!important;margin-top:10px;color:#fff;width:240px;padding:10px 24px;border-radius:24px;border:none;font-size:1.5rem;margin-left:2rem;font-weight:500;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left}.msp-vault-section .vault-card .vault-btn:hover{background-color:#333}@media (width >= 768px) and (width <= 1200px){.resource-title{font-size:1.4rem!important}}textarea{font-size:1.4rem!important}@media (width <= 768px){.resource-title{font-size:1.2rem!important}.container{padding:7rem 3rem 1rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-card{width:100%!important}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){::ng-deep .trial-meeting-section:before{top:600px!important}::ng-deep .dashboard{margin-bottom:1rem!important}section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}section.bg-white.text-center.extra-top-padding:before,section.bg-white.text-center.extra-top-padding:after{content:\"\";position:absolute;background:url(/assets/img/logos/background-banner.png) no-repeat;background-size:contain;width:160px;height:450px;z-index:0;opacity:.8}section.bg-white.text-center.extra-top-padding:before{top:500px;left:0}section.bg-white.text-center.extra-top-padding:after{top:90px;right:0}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 1200px){.resource-card{width:100%!important}.release-notes-section{padding:7rem 0!important}}.resource-section{padding:5rem 0;position:relative}.resource-section .section-heading{font-weight:700;font-size:2.4rem;color:#000}.resource-section .view-all{font-size:1.5rem;font-weight:600;color:#000;text-decoration:none;margin-bottom:2.5rem}.resource-section .view-all:hover{color:var(--first)}.resource-section .resource-card{background:#fff;width:353px;border-radius:30px;padding:3rem;box-shadow:0 20px 40px #00000014;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;height:100%}.resource-section .resource-card .resource-title{font-size:1.5rem;line-height:2rem;font-weight:300;color:#000;margin-bottom:16px;text-align:center;height:3.5rem}.resource-section .resource-card .resource-image{width:100%;height:204px!important;object-fit:cover;border-radius:16px;margin-bottom:20px;margin-top:3.5rem!important}.resource-section .resource-card .read-now-btn{background-color:var(--text-color, black);color:#fff;text-decoration:none;padding:14px 20px;font-size:1.5rem;font-weight:500;border-radius:40px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .3s ease;width:100%;max-width:240px;margin:0 auto;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.resource-section .resource-card .read-now-btn .arrow{font-weight:600;font-size:1.5rem}.resource-section .resource-card .read-now-btn:hover{background:#fff;color:var(--text-color, black)!important}@media (width <= 768px){.resource-section .resource-section .cards-row{gap:3rem;margin-top:3rem!important}.resource-section .section-heading,.resource-section .view-all{width:100%;text-align:center;margin-bottom:1rem}.resource-section .resource-card .read-now-btn{flex-direction:row;justify-content:center;gap:8px}}@media (width >= 768px) and (width <= 1200px){.nce-hero-section{padding:0 6rem!important}.cards-row{justify-content:center}}.resource-body-section{background-color:#fff}.resource-body-section .container{padding:0 1.5rem;padding-bottom:4rem!important;padding-top:7rem!important;max-width:850px;margin:0 auto;text-align:left}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:var(--first)!important;text-decoration:none;font-weight:500}.nce-book-section{background:#fff;padding-top:7rem;padding-bottom:0}.nce-book-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-book-section .nce-contact{line-height:1.6;font-size:1.5rem}.nce-book-section .nce-contact a{text-decoration:underline;color:#000;margin:0 .2rem}.nce-offer-section{background:#fff;padding-top:2rem}.nce-offer-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-offer-section .nce-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.25em!important}.nce-offer-section .nce-title strong{font-weight:700}.nce-offer-section .nce-description{font-size:1.5rem;line-height:1.8rem;color:#333;margin-bottom:1.5rem}.nce-offer-section .nce-offer-list{font-size:1.1rem;line-height:1.5rem;margin-bottom:2.5rem;margin-top:2.5rem}.nce-offer-section .nce-offer-list p{font-size:1.5rem;margin:.5rem 0;font-weight:400}.nce-offer-section .nce-signup{margin-bottom:2.5rem}.nce-offer-section .nce-signup .signup-link{font-size:1.5rem;font-weight:400;text-decoration:underline;color:#000}@media (width <= 768px){.nce-offer-section .nce-book-section{padding-top:5rem!important}.nce-offer-section .container{text-align:left}.nce-offer-section .nce-title{font-size:1.5rem}.nce-offer-section .nce-description,.nce-offer-section .nce-offer-list,.nce-offer-section .nce-signup,.nce-offer-section .signup-link,.nce-offer-section .nce-contact,.nce-offer-section .nce-offer-list p{font-size:1.2rem!important}}.nce-offer-intro{font-size:1.5rem;font-weight:400}.outer-section-fadeout{position:absolute;top:139rem;height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.body-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}@media (width <= 768px){.nce-book-section{padding-top:5rem!important}.nce-contact{font-size:1.2rem!important}}::ng-deep .body-quill{border-width:0!important;max-width:1000px;display:block;margin-left:auto;margin-right:auto}::ng-deep .ql-editor h1{font-size:2rem!important;line-height:2.3rem!important;color:#333!important}::ng-deep .ql-editor li{font-size:1.3rem!important;color:#333!important}::ng-deep .p-inputtextarea{border-radius:.5rem;border-color:#ced4da;font-size:1rem}.card{background-color:#fff;border-radius:12px}.comment-row{gap:2rem;padding-bottom:5rem;max-width:1000px;display:block;margin-left:auto;margin-right:auto}.comment-label{font-size:1.5rem!important}.response-row{max-width:1000px;display:block;margin-left:auto;margin-right:auto;margin-top:6rem!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.LazyImgDirective, selector: "img" }] }); }
122
+ }
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceNoteCardComponent, decorators: [{
124
+ type: Component,
125
+ args: [{ selector: 'pw-resource-note-card', template: "<section class=\"release-notes-section bg-white py-5 section-outer\">\n <div class=\"text-center container\">\n\n <div *ngIf=\"releaseHeader\" class=\"d-flex release-section align-items-center w-100 mb-5 flex-wrap\">\n <h2 class=\"release-heading\">Product Release Notes</h2>\n <a class=\"view-all-link\"\n [routerLink]=\"releaseNotesLink\">VIEW ALL ></a>\n </div>\n\n <div class=\"row justify-content-center card-row\">\n <div class=\"release-card\">\n <div class=\"release-header\">\n <p class=\"quarter\">Q2 - 2024</p>\n <p class=\"title\"><strong>Product Release Notes</strong></p>\n <p class=\"desc\">New features & system<br />improvements</p>\n </div>\n <img src=\"/assets/img/resource/rocket-box.png\"\n alt=\"Release Icon\"\n class=\"release-icon mb-4\" />\n <button class=\"release-btn\"\n [routerLink]=\"q3NotesLink\">Read now <span class=\"arrow\">\u2192</span></button>\n </div>\n\n <div class=\"release-card highlighted\">\n <div class=\"release-header q2-icon\">\n <p class=\"quarter\">Q1 - 2024</p>\n <p class=\"title\"><strong>Major Release:</strong></p>\n <p class=\"desc\">CloudOlive Groupings</p>\n </div>\n <img src=\"/assets/img/resource/rocket-box.png\"\n alt=\"Release Icon\"\n class=\"release-icon mb-4\" />\n <button class=\"release-btn\"\n [routerLink]=\"q4NotesLink\">Read now <span class=\"arrow\">\u2192</span></button>\n </div>\n\n <div class=\"release-card\">\n <div class=\"release-header\">\n <p class=\"quarter\">Q4 - 2023</p>\n <p class=\"title\"><strong>Product Release Notes</strong></p>\n <p class=\"desc\">New features & system<br />improvements</p>\n </div>\n <img src=\"/assets/img/resource/rocket-box.png\"\n alt=\"Release Icon\"\n class=\"release-icon mb-4\" />\n <button class=\"release-btn\"\n [routerLink]=\"q1NotesLink\">Read now <span class=\"arrow\">\u2192</span></button>\n </div>\n </div>\n </div>\n</section>", styles: [".card-row{gap:5.5rem!important}.release-notes-section .view-all-link{font-size:1.5rem;font-weight:700;margin-bottom:1.2rem;text-decoration:none;color:#000}.release-notes-section .view-all-link:hover{color:var(--first)}.release-notes-section .q2-icon{margin-bottom:3.25rem!important}.release-notes-section .release-card{background:#fff;border-radius:30px;padding:30px;box-shadow:0 10px 30px #00000014;text-align:center;width:338px;transition:all .3s ease}.release-notes-section .release-card .release-header{margin-bottom:1.5rem}.release-notes-section .release-card .release-header .quarter{font-size:1.2rem;font-weight:700;margin-bottom:.3rem;color:#000}.release-notes-section .release-card .release-header .title{font-size:1.2rem;margin-top:.4rem;margin-bottom:.6rem;color:#000}.release-notes-section .release-card .release-header .desc{font-size:1.35rem;line-height:1.87rem;color:#000}.release-notes-section .release-card .release-icon{width:80px;height:auto;margin:0 auto 2rem;display:block}.release-notes-section .release-card .release-btn{background-color:#000;color:#fff;padding:10px 24px;border-radius:24px;font-size:1.1rem;font-weight:500;display:inline-flex;align-items:center;gap:10px;transition:background .3s ease;margin-top:10px;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.release-notes-section .release-card .release-btn .arrow{font-weight:700;font-size:1.2rem}.release-notes-section .release-card .release-btn:hover{background:#fff;color:var(--text-color, black)!important}.release-notes-section .row{--bs-gutter-x: 1rem}@media (width >= 768px){.release-notes-section .release-heading{font-size:3rem;font-weight:300}.release-notes-section .view-all-link{margin-right:4rem}.release-notes-section .container-section{padding:20px 120px 20px 80px!important}.release-notes-section .release-section{justify-content:space-between!important}}@media (width <= 768px){.release-notes-section .release-heading{font-size:2.5rem;font-weight:400}.release-notes-section .release-section{justify-content:center!important}.release-notes-section .view-all-link{margin-right:19rem}.release-notes-section .release-card{width:100%!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width >= 768px){iframe{width:85%!important;height:375px!important}}@media (width <= 768px){.release-card{width:100%!important}p{font-size:1.7rem!important;line-height:1.7rem!important}}@media (width >= 991px){.section-outer{padding-bottom:5rem!important;padding-top:6rem!important}}\n", "::ng-deep .ql-editor p{font-size:1.5rem!important;line-height:1.8rem!important;color:#333!important}.msp-vault-section{padding:60px 0;background:#fff}.msp-vault-section .vault-heading{font-size:4.5rem;font-weight:300;color:#000!important}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}.msp-vault-section .vault-card{background-color:#fff;border-radius:30px;box-shadow:0 5px 20px #0000000d;padding:25px;text-align:center;width:338px;height:auto}.msp-vault-section .vault-card h5{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#000!important}.msp-vault-section .vault-card p{font-size:1.5rem;color:#444}.msp-vault-section .vault-card img,.msp-vault-section .vault-card iframe{height:180px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card .vault-btn{background-color:#000!important;margin-top:10px;color:#fff;width:240px;padding:10px 24px;border-radius:24px;border:none;font-size:1.5rem;margin-left:2rem;font-weight:500;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left}.msp-vault-section .vault-card .vault-btn:hover{background-color:#333}@media (width >= 768px) and (width <= 1200px){.resource-title{font-size:1.4rem!important}}textarea{font-size:1.4rem!important}@media (width <= 768px){.resource-title{font-size:1.2rem!important}.container{padding:7rem 3rem 1rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-card{width:100%!important}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){::ng-deep .trial-meeting-section:before{top:600px!important}::ng-deep .dashboard{margin-bottom:1rem!important}section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}section.bg-white.text-center.extra-top-padding:before,section.bg-white.text-center.extra-top-padding:after{content:\"\";position:absolute;background:url(/assets/img/logos/background-banner.png) no-repeat;background-size:contain;width:160px;height:450px;z-index:0;opacity:.8}section.bg-white.text-center.extra-top-padding:before{top:500px;left:0}section.bg-white.text-center.extra-top-padding:after{top:90px;right:0}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 1200px){.resource-card{width:100%!important}.release-notes-section{padding:7rem 0!important}}.resource-section{padding:5rem 0;position:relative}.resource-section .section-heading{font-weight:700;font-size:2.4rem;color:#000}.resource-section .view-all{font-size:1.5rem;font-weight:600;color:#000;text-decoration:none;margin-bottom:2.5rem}.resource-section .view-all:hover{color:var(--first)}.resource-section .resource-card{background:#fff;width:353px;border-radius:30px;padding:3rem;box-shadow:0 20px 40px #00000014;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;height:100%}.resource-section .resource-card .resource-title{font-size:1.5rem;line-height:2rem;font-weight:300;color:#000;margin-bottom:16px;text-align:center;height:3.5rem}.resource-section .resource-card .resource-image{width:100%;height:204px!important;object-fit:cover;border-radius:16px;margin-bottom:20px;margin-top:3.5rem!important}.resource-section .resource-card .read-now-btn{background-color:var(--text-color, black);color:#fff;text-decoration:none;padding:14px 20px;font-size:1.5rem;font-weight:500;border-radius:40px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .3s ease;width:100%;max-width:240px;margin:0 auto;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.resource-section .resource-card .read-now-btn .arrow{font-weight:600;font-size:1.5rem}.resource-section .resource-card .read-now-btn:hover{background:#fff;color:var(--text-color, black)!important}@media (width <= 768px){.resource-section .resource-section .cards-row{gap:3rem;margin-top:3rem!important}.resource-section .section-heading,.resource-section .view-all{width:100%;text-align:center;margin-bottom:1rem}.resource-section .resource-card .read-now-btn{flex-direction:row;justify-content:center;gap:8px}}@media (width >= 768px) and (width <= 1200px){.nce-hero-section{padding:0 6rem!important}.cards-row{justify-content:center}}.resource-body-section{background-color:#fff}.resource-body-section .container{padding:0 1.5rem;padding-bottom:4rem!important;padding-top:7rem!important;max-width:850px;margin:0 auto;text-align:left}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:var(--first)!important;text-decoration:none;font-weight:500}.nce-book-section{background:#fff;padding-top:7rem;padding-bottom:0}.nce-book-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-book-section .nce-contact{line-height:1.6;font-size:1.5rem}.nce-book-section .nce-contact a{text-decoration:underline;color:#000;margin:0 .2rem}.nce-offer-section{background:#fff;padding-top:2rem}.nce-offer-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-offer-section .nce-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.25em!important}.nce-offer-section .nce-title strong{font-weight:700}.nce-offer-section .nce-description{font-size:1.5rem;line-height:1.8rem;color:#333;margin-bottom:1.5rem}.nce-offer-section .nce-offer-list{font-size:1.1rem;line-height:1.5rem;margin-bottom:2.5rem;margin-top:2.5rem}.nce-offer-section .nce-offer-list p{font-size:1.5rem;margin:.5rem 0;font-weight:400}.nce-offer-section .nce-signup{margin-bottom:2.5rem}.nce-offer-section .nce-signup .signup-link{font-size:1.5rem;font-weight:400;text-decoration:underline;color:#000}@media (width <= 768px){.nce-offer-section .nce-book-section{padding-top:5rem!important}.nce-offer-section .container{text-align:left}.nce-offer-section .nce-title{font-size:1.5rem}.nce-offer-section .nce-description,.nce-offer-section .nce-offer-list,.nce-offer-section .nce-signup,.nce-offer-section .signup-link,.nce-offer-section .nce-contact,.nce-offer-section .nce-offer-list p{font-size:1.2rem!important}}.nce-offer-intro{font-size:1.5rem;font-weight:400}.outer-section-fadeout{position:absolute;top:139rem;height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.body-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}@media (width <= 768px){.nce-book-section{padding-top:5rem!important}.nce-contact{font-size:1.2rem!important}}::ng-deep .body-quill{border-width:0!important;max-width:1000px;display:block;margin-left:auto;margin-right:auto}::ng-deep .ql-editor h1{font-size:2rem!important;line-height:2.3rem!important;color:#333!important}::ng-deep .ql-editor li{font-size:1.3rem!important;color:#333!important}::ng-deep .p-inputtextarea{border-radius:.5rem;border-color:#ced4da;font-size:1rem}.card{background-color:#fff;border-radius:12px}.comment-row{gap:2rem;padding-bottom:5rem;max-width:1000px;display:block;margin-left:auto;margin-right:auto}.comment-label{font-size:1.5rem!important}.response-row{max-width:1000px;display:block;margin-left:auto;margin-right:auto;margin-top:6rem!important}\n"] }]
126
+ }], propDecorators: { posts: [{
127
+ type: Input
128
+ }], releaseHeader: [{
129
+ type: Input
130
+ }] } });
131
+
132
+ class ResourceCardListComponent {
133
+ constructor() {
134
+ this.posts = [];
135
+ this.postHeader = '';
136
+ }
137
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceCardListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
138
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceCardListComponent, selector: "pw-resource-card-list", inputs: { posts: "posts", postHeader: "postHeader" }, ngImport: i0, template: "<section class=\"resource-section bg-white\">\n <div class=\"container\">\n <div *ngIf=\"postHeader\" class=\"d-flex justify-content-between align-items-center flex-wrap mb-3\">\n <h2 class=\"section-heading\">{{postHeader}}</h2>\n </div>\n <div class=\"row mt-4 cards-row\">\n <div class=\"col-lg-4 col-md-6 mb-4\" *ngFor=\"let post of this.posts; let i = index\" [ngClass]=\"{ 'mt-5': i > 2 }\">\n <div class=\"resource-card\">\n <p class=\"resource-title\">{{ post.title }}</p>\n <img [src]=\"post.picture.url\" class=\"resource-image mt-4\" [alt]=\"\" />\n <a *ngIf=\"post?.external_url; else internalLink\"\n class=\"read-now-btn\"\n [href]=\"post.external_url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Watch Now' }}</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n\n <ng-template #internalLink>\n <a class=\"read-now-btn\" [routerLink]=\"['/resources/view', post?.slug]\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Watch Now' }}</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n </ng-template>\n\n </div>\n </div>\n </div>\n </div>\n </section>", styles: ["::ng-deep .ql-editor p{font-size:1.5rem!important;line-height:1.8rem!important;color:#333!important}.msp-vault-section{padding:60px 0;background:#fff}.msp-vault-section .vault-heading{font-size:4.5rem;font-weight:300;color:#000!important}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}.msp-vault-section .vault-card{background-color:#fff;border-radius:30px;box-shadow:0 5px 20px #0000000d;padding:25px;text-align:center;width:338px;height:auto}.msp-vault-section .vault-card h5{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#000!important}.msp-vault-section .vault-card p{font-size:1.5rem;color:#444}.msp-vault-section .vault-card img,.msp-vault-section .vault-card iframe{height:180px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card .vault-btn{background-color:#000!important;margin-top:10px;color:#fff;width:240px;padding:10px 24px;border-radius:24px;border:none;font-size:1.5rem;margin-left:2rem;font-weight:500;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left}.msp-vault-section .vault-card .vault-btn:hover{background-color:#333}@media (width >= 768px) and (width <= 1200px){.resource-title{font-size:1.4rem!important}}textarea{font-size:1.4rem!important}@media (width <= 768px){.resource-title{font-size:1.2rem!important}.container{padding:7rem 3rem 1rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-card{width:100%!important}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){::ng-deep .trial-meeting-section:before{top:600px!important}::ng-deep .dashboard{margin-bottom:1rem!important}section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}section.bg-white.text-center.extra-top-padding:before,section.bg-white.text-center.extra-top-padding:after{content:\"\";position:absolute;background:url(/assets/img/logos/background-banner.png) no-repeat;background-size:contain;width:160px;height:450px;z-index:0;opacity:.8}section.bg-white.text-center.extra-top-padding:before{top:500px;left:0}section.bg-white.text-center.extra-top-padding:after{top:90px;right:0}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 1200px){.resource-card{width:100%!important}.release-notes-section{padding:7rem 0!important}}.resource-section{padding:5rem 0;position:relative}.resource-section .section-heading{font-weight:700;font-size:2.4rem;color:#000}.resource-section .view-all{font-size:1.5rem;font-weight:600;color:#000;text-decoration:none;margin-bottom:2.5rem}.resource-section .view-all:hover{color:var(--first)}.resource-section .resource-card{background:#fff;width:353px;border-radius:30px;padding:3rem;box-shadow:0 20px 40px #00000014;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;height:100%}.resource-section .resource-card .resource-title{font-size:1.5rem;line-height:2rem;font-weight:300;color:#000;margin-bottom:16px;text-align:center;height:3.5rem}.resource-section .resource-card .resource-image{width:100%;height:204px!important;object-fit:cover;border-radius:16px;margin-bottom:20px;margin-top:3.5rem!important}.resource-section .resource-card .read-now-btn{background-color:var(--text-color, black);color:#fff;text-decoration:none;padding:14px 20px;font-size:1.5rem;font-weight:500;border-radius:40px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .3s ease;width:100%;max-width:240px;margin:0 auto;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.resource-section .resource-card .read-now-btn .arrow{font-weight:600;font-size:1.5rem}.resource-section .resource-card .read-now-btn:hover{background:#fff;color:var(--text-color, black)!important}@media (width <= 768px){.resource-section .resource-section .cards-row{gap:3rem;margin-top:3rem!important}.resource-section .section-heading,.resource-section .view-all{width:100%;text-align:center;margin-bottom:1rem}.resource-section .resource-card .read-now-btn{flex-direction:row;justify-content:center;gap:8px}}@media (width >= 768px) and (width <= 1200px){.nce-hero-section{padding:0 6rem!important}.cards-row{justify-content:center}}.resource-body-section{background-color:#fff}.resource-body-section .container{padding:0 1.5rem;padding-bottom:4rem!important;padding-top:7rem!important;max-width:850px;margin:0 auto;text-align:left}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:var(--first)!important;text-decoration:none;font-weight:500}.nce-book-section{background:#fff;padding-top:7rem;padding-bottom:0}.nce-book-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-book-section .nce-contact{line-height:1.6;font-size:1.5rem}.nce-book-section .nce-contact a{text-decoration:underline;color:#000;margin:0 .2rem}.nce-offer-section{background:#fff;padding-top:2rem}.nce-offer-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-offer-section .nce-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.25em!important}.nce-offer-section .nce-title strong{font-weight:700}.nce-offer-section .nce-description{font-size:1.5rem;line-height:1.8rem;color:#333;margin-bottom:1.5rem}.nce-offer-section .nce-offer-list{font-size:1.1rem;line-height:1.5rem;margin-bottom:2.5rem;margin-top:2.5rem}.nce-offer-section .nce-offer-list p{font-size:1.5rem;margin:.5rem 0;font-weight:400}.nce-offer-section .nce-signup{margin-bottom:2.5rem}.nce-offer-section .nce-signup .signup-link{font-size:1.5rem;font-weight:400;text-decoration:underline;color:#000}@media (width <= 768px){.nce-offer-section .nce-book-section{padding-top:5rem!important}.nce-offer-section .container{text-align:left}.nce-offer-section .nce-title{font-size:1.5rem}.nce-offer-section .nce-description,.nce-offer-section .nce-offer-list,.nce-offer-section .nce-signup,.nce-offer-section .signup-link,.nce-offer-section .nce-contact,.nce-offer-section .nce-offer-list p{font-size:1.2rem!important}}.nce-offer-intro{font-size:1.5rem;font-weight:400}.outer-section-fadeout{position:absolute;top:139rem;height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.body-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}@media (width <= 768px){.nce-book-section{padding-top:5rem!important}.nce-contact{font-size:1.2rem!important}}::ng-deep .body-quill{border-width:0!important;max-width:1000px;display:block;margin-left:auto;margin-right:auto}::ng-deep .ql-editor h1{font-size:2rem!important;line-height:2.3rem!important;color:#333!important}::ng-deep .ql-editor li{font-size:1.3rem!important;color:#333!important}::ng-deep .p-inputtextarea{border-radius:.5rem;border-color:#ced4da;font-size:1rem}.card{background-color:#fff;border-radius:12px}.comment-row{gap:2rem;padding-bottom:5rem;max-width:1000px;display:block;margin-left:auto;margin-right:auto}.comment-label{font-size:1.5rem!important}.response-row{max-width:1000px;display:block;margin-left:auto;margin-right:auto;margin-top:6rem!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.LazyImgDirective, selector: "img" }] }); }
139
+ }
140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceCardListComponent, decorators: [{
141
+ type: Component,
142
+ args: [{ selector: 'pw-resource-card-list', template: "<section class=\"resource-section bg-white\">\n <div class=\"container\">\n <div *ngIf=\"postHeader\" class=\"d-flex justify-content-between align-items-center flex-wrap mb-3\">\n <h2 class=\"section-heading\">{{postHeader}}</h2>\n </div>\n <div class=\"row mt-4 cards-row\">\n <div class=\"col-lg-4 col-md-6 mb-4\" *ngFor=\"let post of this.posts; let i = index\" [ngClass]=\"{ 'mt-5': i > 2 }\">\n <div class=\"resource-card\">\n <p class=\"resource-title\">{{ post.title }}</p>\n <img [src]=\"post.picture.url\" class=\"resource-image mt-4\" [alt]=\"\" />\n <a *ngIf=\"post?.external_url; else internalLink\"\n class=\"read-now-btn\"\n [href]=\"post.external_url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Watch Now' }}</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n\n <ng-template #internalLink>\n <a class=\"read-now-btn\" [routerLink]=\"['/resources/view', post?.slug]\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Watch Now' }}</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n </ng-template>\n\n </div>\n </div>\n </div>\n </div>\n </section>", styles: ["::ng-deep .ql-editor p{font-size:1.5rem!important;line-height:1.8rem!important;color:#333!important}.msp-vault-section{padding:60px 0;background:#fff}.msp-vault-section .vault-heading{font-size:4.5rem;font-weight:300;color:#000!important}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}.msp-vault-section .vault-card{background-color:#fff;border-radius:30px;box-shadow:0 5px 20px #0000000d;padding:25px;text-align:center;width:338px;height:auto}.msp-vault-section .vault-card h5{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#000!important}.msp-vault-section .vault-card p{font-size:1.5rem;color:#444}.msp-vault-section .vault-card img,.msp-vault-section .vault-card iframe{height:180px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card .vault-btn{background-color:#000!important;margin-top:10px;color:#fff;width:240px;padding:10px 24px;border-radius:24px;border:none;font-size:1.5rem;margin-left:2rem;font-weight:500;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left}.msp-vault-section .vault-card .vault-btn:hover{background-color:#333}@media (width >= 768px) and (width <= 1200px){.resource-title{font-size:1.4rem!important}}textarea{font-size:1.4rem!important}@media (width <= 768px){.resource-title{font-size:1.2rem!important}.container{padding:7rem 3rem 1rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-card{width:100%!important}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){::ng-deep .trial-meeting-section:before{top:600px!important}::ng-deep .dashboard{margin-bottom:1rem!important}section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}section.bg-white.text-center.extra-top-padding:before,section.bg-white.text-center.extra-top-padding:after{content:\"\";position:absolute;background:url(/assets/img/logos/background-banner.png) no-repeat;background-size:contain;width:160px;height:450px;z-index:0;opacity:.8}section.bg-white.text-center.extra-top-padding:before{top:500px;left:0}section.bg-white.text-center.extra-top-padding:after{top:90px;right:0}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 1200px){.resource-card{width:100%!important}.release-notes-section{padding:7rem 0!important}}.resource-section{padding:5rem 0;position:relative}.resource-section .section-heading{font-weight:700;font-size:2.4rem;color:#000}.resource-section .view-all{font-size:1.5rem;font-weight:600;color:#000;text-decoration:none;margin-bottom:2.5rem}.resource-section .view-all:hover{color:var(--first)}.resource-section .resource-card{background:#fff;width:353px;border-radius:30px;padding:3rem;box-shadow:0 20px 40px #00000014;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;height:100%}.resource-section .resource-card .resource-title{font-size:1.5rem;line-height:2rem;font-weight:300;color:#000;margin-bottom:16px;text-align:center;height:3.5rem}.resource-section .resource-card .resource-image{width:100%;height:204px!important;object-fit:cover;border-radius:16px;margin-bottom:20px;margin-top:3.5rem!important}.resource-section .resource-card .read-now-btn{background-color:var(--text-color, black);color:#fff;text-decoration:none;padding:14px 20px;font-size:1.5rem;font-weight:500;border-radius:40px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .3s ease;width:100%;max-width:240px;margin:0 auto;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.resource-section .resource-card .read-now-btn .arrow{font-weight:600;font-size:1.5rem}.resource-section .resource-card .read-now-btn:hover{background:#fff;color:var(--text-color, black)!important}@media (width <= 768px){.resource-section .resource-section .cards-row{gap:3rem;margin-top:3rem!important}.resource-section .section-heading,.resource-section .view-all{width:100%;text-align:center;margin-bottom:1rem}.resource-section .resource-card .read-now-btn{flex-direction:row;justify-content:center;gap:8px}}@media (width >= 768px) and (width <= 1200px){.nce-hero-section{padding:0 6rem!important}.cards-row{justify-content:center}}.resource-body-section{background-color:#fff}.resource-body-section .container{padding:0 1.5rem;padding-bottom:4rem!important;padding-top:7rem!important;max-width:850px;margin:0 auto;text-align:left}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:var(--first)!important;text-decoration:none;font-weight:500}.nce-book-section{background:#fff;padding-top:7rem;padding-bottom:0}.nce-book-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-book-section .nce-contact{line-height:1.6;font-size:1.5rem}.nce-book-section .nce-contact a{text-decoration:underline;color:#000;margin:0 .2rem}.nce-offer-section{background:#fff;padding-top:2rem}.nce-offer-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-offer-section .nce-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.25em!important}.nce-offer-section .nce-title strong{font-weight:700}.nce-offer-section .nce-description{font-size:1.5rem;line-height:1.8rem;color:#333;margin-bottom:1.5rem}.nce-offer-section .nce-offer-list{font-size:1.1rem;line-height:1.5rem;margin-bottom:2.5rem;margin-top:2.5rem}.nce-offer-section .nce-offer-list p{font-size:1.5rem;margin:.5rem 0;font-weight:400}.nce-offer-section .nce-signup{margin-bottom:2.5rem}.nce-offer-section .nce-signup .signup-link{font-size:1.5rem;font-weight:400;text-decoration:underline;color:#000}@media (width <= 768px){.nce-offer-section .nce-book-section{padding-top:5rem!important}.nce-offer-section .container{text-align:left}.nce-offer-section .nce-title{font-size:1.5rem}.nce-offer-section .nce-description,.nce-offer-section .nce-offer-list,.nce-offer-section .nce-signup,.nce-offer-section .signup-link,.nce-offer-section .nce-contact,.nce-offer-section .nce-offer-list p{font-size:1.2rem!important}}.nce-offer-intro{font-size:1.5rem;font-weight:400}.outer-section-fadeout{position:absolute;top:139rem;height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.body-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}@media (width <= 768px){.nce-book-section{padding-top:5rem!important}.nce-contact{font-size:1.2rem!important}}::ng-deep .body-quill{border-width:0!important;max-width:1000px;display:block;margin-left:auto;margin-right:auto}::ng-deep .ql-editor h1{font-size:2rem!important;line-height:2.3rem!important;color:#333!important}::ng-deep .ql-editor li{font-size:1.3rem!important;color:#333!important}::ng-deep .p-inputtextarea{border-radius:.5rem;border-color:#ced4da;font-size:1rem}.card{background-color:#fff;border-radius:12px}.comment-row{gap:2rem;padding-bottom:5rem;max-width:1000px;display:block;margin-left:auto;margin-right:auto}.comment-label{font-size:1.5rem!important}.response-row{max-width:1000px;display:block;margin-left:auto;margin-right:auto;margin-top:6rem!important}\n"] }]
143
+ }], propDecorators: { posts: [{
144
+ type: Input
145
+ }], postHeader: [{
146
+ type: Input
147
+ }] } });
148
+
149
+ class ResourceBlogComponent extends AppBaseComponent {
150
+ constructor(resourceService, tagService, injector) {
151
+ super(injector);
152
+ this.resourceService = resourceService;
153
+ this.tagService = tagService;
154
+ this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;
155
+ this.posts = [];
156
+ }
157
+ ngOnInit() {
158
+ this.getUserSubscriptionId().subscribe(response => {
159
+ this.subscriptionId = response;
160
+ });
161
+ this.localStorage.getItem$(TOKEN_KEY).subscribe(res => {
162
+ this.userLoggedIn = !!res;
163
+ if (this.userLoggedIn) {
164
+ this.localStorage.getItem$('product').subscribe(res => {
165
+ const data = res ? JSON.parse(res) : null;
166
+ this.subscriptionId = data?.subscriptionId;
167
+ console.log(this.subscriptionId);
168
+ });
169
+ }
170
+ this.getPostTags();
171
+ });
172
+ }
173
+ getPostTags() {
174
+ this.tagService
175
+ .getTagsByType('post_categories', {}, this.subscriptionId || this.masterSubscriptionId)
176
+ .subscribe(response => {
177
+ this.blogPostTag = response.tags.find(tag => tag.name === 'Blog Posts');
178
+ this.getPosts(1, 100);
179
+ });
180
+ }
181
+ getPosts(page, pageSize) {
182
+ console.log(this.blogPostTag);
183
+ this.resourceService
184
+ .getPublicPosts(this.subscriptionId || this.masterSubscriptionId, page, pageSize, '', this.blogPostTag.tag_category_id)
185
+ .subscribe(response => {
186
+ console.log(response.posts, this.blogPostTag);
187
+ this.posts = response.posts
188
+ .filter(post => post.tags?.some(tag => tag.tag_category_id === this.blogPostTag.tag_category_id))
189
+ .sort((a, b) => new Date(b.published_at).getTime() - new Date(a.published_at).getTime())
190
+ .slice(0, 12);
191
+ });
192
+ }
193
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceBlogComponent, deps: [{ token: ResourceService }, { token: i2.TagService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
194
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceBlogComponent, selector: "pw-resource-blog", usesInheritance: true, ngImport: i0, template: "<pw-resource-header></pw-resource-header>\n\n<section class=\"bg-white pricing-section\">\n <div class=\"nce-banner\">\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\">\n\n <!-- Left Content -->\n <div class=\"text-content\">\n <div class=\"nce-heading\">\n <h1 class=\"nce-header mb-4\">\n Blogs for MSPs\n <span class=\"blue-text\"></span>\n </h1>\n </div>\n </div>\n\n <!-- Add directly below .text-content, still inside .container -->\n <div class=\"text-extension mt-4\">\n <p class=\"intro\">\n Our team have decades of<br>experience in the IT channel,<br>and work with hundreds of<br>MSPs globally.\n </p>\n <div class=\"cta-buttons d-flex gap-3 flex-wrap mt-3\">\n <p class=\"intro\">\n Here, we share our insights,<br>learnings &amp; the occasional<br>meme.\n </p>\n </div>\n </div>\n\n <!-- Right Content -->\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <img class=\"nce-math-img\"\n src=\"/assets/img/resource/math.png\"\n alt=\"NCEasy laptop screen\" />\n <img class=\"nce-laptop-img\"\n src=\"/assets/img/resource/msp-man.png\"\n alt=\"NCEasy laptop screen\" />\n </div>\n\n </div>\n </div>\n <hr class=\"nce-divider\" />\n</section>\n\n<pw-resource-card-list [posts]=\"posts\"></pw-resource-card-list>\n\n<pw-trial-4-contact-us></pw-trial-4-contact-us>\n", styles: [".text-extension{max-width:560px;margin-top:6rem!important}.text-extension .intro{font-size:2rem;line-height:3rem;font-weight:100;color:#000;margin-bottom:1rem}.text-extension .cta-buttons{margin-top:2rem!important}.nce-banner{background-image:url(/assets/img/resource/resource2.png);background-position:center;background-repeat:no-repeat;color:#000}.nce-banner .text-content{max-width:500px;text-align:left;margin-bottom:75rem}.nce-banner .text-content h1{margin-bottom:1.5rem;line-height:1.2}.nce-banner .text-content .intro{font-size:1.2rem;margin:1rem 0;color:#000}.nce-banner .text-content .cta-buttons{margin-top:2rem}.nce-banner .nce-header{font-weight:500;color:#fff!important;font-size:4.5rem!important}.nce-banner .blue-text{font-weight:100}@media (width <= 991px){.nce-banner .text-content{margin-top:6.5rem;margin-bottom:0;text-align:center;max-width:360px}.nce-banner .text-content h1{margin-bottom:6.5rem!important}.nce-banner .nce-header{font-size:2.5rem!important}.nce-banner .cta-buttons{margin-top:5rem!important;justify-content:center!important}.nce-banner .image-content{position:relative;margin-bottom:3rem;height:230px}.nce-banner .image-content .floating-box{position:absolute;top:25px;left:3rem;transform:translate(-50%) rotate(-10deg);background:#fff;padding:.75rem 1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;z-index:3;display:inline-block;width:auto}.nce-banner .image-content .floating-box img{width:24px;margin-bottom:.4rem}.nce-banner .image-content .floating-box .label{font-size:.75rem;color:#333;margin:0;line-height:1.2}.nce-banner .image-content .floating-box .count{font-size:1.2rem;font-weight:700;color:#000;margin-top:.25rem}.nce-banner .image-content .screen-img{max-width:280px;position:absolute;bottom:0;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003}.nce-banner .image-content .person-img{max-width:170px;width:100%;position:relative;z-index:3;left:13rem;top:-11.35rem}.nce-banner .image-content .nce-laptop-img{max-width:350px;width:100%;position:relative;z-index:3;left:2%;height:auto!important;top:11rem}.nce-banner .image-content .nce-math-img{max-width:300px;width:100%;position:relative;z-index:3;left:15%;top:27rem}}@media (width >= 991px){.nce-banner .text-content{position:absolute;width:760px}}@media (width >= 991px) and (width <= 1200px){.text-extension{max-width:760px;position:absolute;margin-bottom:23rem!important}.nce-divider{position:absolute;top:60rem!important}}@media (width <= 786px){.text-extension{position:absolute;margin:3rem;margin-top:19rem!important}.pricing-section{height:990px!important}}@media (width >= 786px) and (width <= 991px){.text-extension{position:absolute;margin:3rem;margin-top:24rem!important}}@media (width >= 786px) and (width <= 1200px){.pricing-section{height:890px!important}.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .nce-laptop-img{top:5rem;right:10%;position:relative}.image-content .nce-math-img{position:relative;bottom:5rem;left:37rem;width:50%}}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width >= 1200px){.nce-divider{top:57.3rem;position:absolute!important}.text-extension{max-width:760px;position:absolute;margin-bottom:30rem!important}.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .nce-laptop-img{top:1.25rem;right:5rem;position:relative}.image-content .nce-math-img{bottom:5rem;left:64rem;position:relative;width:450px!important}}@media (width <= 768px){.nce-divider{margin-top:23rem!important}}@media (width <= 991px){.billing-section{flex-direction:column!important;gap:3rem}.billing-section .billing-section1,.billing-section .billing-section2{width:90%!important}.billing-section .billing-section1{margin-left:1.5rem;margin-top:4rem}.nce-banner{background-image:url(/assets/img/resource/resource2.png)}}@media (width >= 768px) and (width <= 991px){.nce-laptop-img{left:-17%!important;height:auto!important;top:24rem!important}.nce-math-img{left:36%!important;top:22rem!important}.nce-divider{margin-top:23rem!important}}@media (width >= 991px){.nce-laptop-img{max-width:100%!important;height:auto}.nce-banner{padding-top:768px;padding-bottom:50px;overflow:hidden}.section-fadeout{height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.nce-heading{width:700px!important}::ng-deep .vault-section{max-width:1580px!important;padding-left:48px!important;padding-top:130px!important}::ng-deep .vault-card{width:330px!important;height:370px!important}}\n", "::ng-deep .navbar-nav .nav-item .nav-link{color:#fff!important}.bold{font-weight:700}.nce-heading{margin-bottom:2rem}.nce-note{margin-top:1rem;font-size:.85rem;color:#555}.nce-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}\n", "::ng-deep .ql-editor p{font-size:1.5rem!important;line-height:1.8rem!important;color:#333!important}.msp-vault-section{padding:60px 0;background:#fff}.msp-vault-section .vault-heading{font-size:4.5rem;font-weight:300;color:#000!important}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}.msp-vault-section .vault-card{background-color:#fff;border-radius:30px;box-shadow:0 5px 20px #0000000d;padding:25px;text-align:center;width:338px;height:auto}.msp-vault-section .vault-card h5{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#000!important}.msp-vault-section .vault-card p{font-size:1.5rem;color:#444}.msp-vault-section .vault-card img,.msp-vault-section .vault-card iframe{height:180px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card .vault-btn{background-color:#000!important;margin-top:10px;color:#fff;width:240px;padding:10px 24px;border-radius:24px;border:none;font-size:1.5rem;margin-left:2rem;font-weight:500;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left}.msp-vault-section .vault-card .vault-btn:hover{background-color:#333}@media (width >= 768px) and (width <= 1200px){.resource-title{font-size:1.4rem!important}}textarea{font-size:1.4rem!important}@media (width <= 768px){.resource-title{font-size:1.2rem!important}.container{padding:7rem 3rem 1rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-card{width:100%!important}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){::ng-deep .trial-meeting-section:before{top:600px!important}::ng-deep .dashboard{margin-bottom:1rem!important}section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}section.bg-white.text-center.extra-top-padding:before,section.bg-white.text-center.extra-top-padding:after{content:\"\";position:absolute;background:url(/assets/img/logos/background-banner.png) no-repeat;background-size:contain;width:160px;height:450px;z-index:0;opacity:.8}section.bg-white.text-center.extra-top-padding:before{top:500px;left:0}section.bg-white.text-center.extra-top-padding:after{top:90px;right:0}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 1200px){.resource-card{width:100%!important}.release-notes-section{padding:7rem 0!important}}.resource-section{padding:5rem 0;position:relative}.resource-section .section-heading{font-weight:700;font-size:2.4rem;color:#000}.resource-section .view-all{font-size:1.5rem;font-weight:600;color:#000;text-decoration:none;margin-bottom:2.5rem}.resource-section .view-all:hover{color:var(--first)}.resource-section .resource-card{background:#fff;width:353px;border-radius:30px;padding:3rem;box-shadow:0 20px 40px #00000014;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;height:100%}.resource-section .resource-card .resource-title{font-size:1.5rem;line-height:2rem;font-weight:300;color:#000;margin-bottom:16px;text-align:center;height:3.5rem}.resource-section .resource-card .resource-image{width:100%;height:204px!important;object-fit:cover;border-radius:16px;margin-bottom:20px;margin-top:3.5rem!important}.resource-section .resource-card .read-now-btn{background-color:var(--text-color, black);color:#fff;text-decoration:none;padding:14px 20px;font-size:1.5rem;font-weight:500;border-radius:40px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .3s ease;width:100%;max-width:240px;margin:0 auto;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.resource-section .resource-card .read-now-btn .arrow{font-weight:600;font-size:1.5rem}.resource-section .resource-card .read-now-btn:hover{background:#fff;color:var(--text-color, black)!important}@media (width <= 768px){.resource-section .resource-section .cards-row{gap:3rem;margin-top:3rem!important}.resource-section .section-heading,.resource-section .view-all{width:100%;text-align:center;margin-bottom:1rem}.resource-section .resource-card .read-now-btn{flex-direction:row;justify-content:center;gap:8px}}@media (width >= 768px) and (width <= 1200px){.nce-hero-section{padding:0 6rem!important}.cards-row{justify-content:center}}.resource-body-section{background-color:#fff}.resource-body-section .container{padding:0 1.5rem;padding-bottom:4rem!important;padding-top:7rem!important;max-width:850px;margin:0 auto;text-align:left}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:var(--first)!important;text-decoration:none;font-weight:500}.nce-book-section{background:#fff;padding-top:7rem;padding-bottom:0}.nce-book-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-book-section .nce-contact{line-height:1.6;font-size:1.5rem}.nce-book-section .nce-contact a{text-decoration:underline;color:#000;margin:0 .2rem}.nce-offer-section{background:#fff;padding-top:2rem}.nce-offer-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-offer-section .nce-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.25em!important}.nce-offer-section .nce-title strong{font-weight:700}.nce-offer-section .nce-description{font-size:1.5rem;line-height:1.8rem;color:#333;margin-bottom:1.5rem}.nce-offer-section .nce-offer-list{font-size:1.1rem;line-height:1.5rem;margin-bottom:2.5rem;margin-top:2.5rem}.nce-offer-section .nce-offer-list p{font-size:1.5rem;margin:.5rem 0;font-weight:400}.nce-offer-section .nce-signup{margin-bottom:2.5rem}.nce-offer-section .nce-signup .signup-link{font-size:1.5rem;font-weight:400;text-decoration:underline;color:#000}@media (width <= 768px){.nce-offer-section .nce-book-section{padding-top:5rem!important}.nce-offer-section .container{text-align:left}.nce-offer-section .nce-title{font-size:1.5rem}.nce-offer-section .nce-description,.nce-offer-section .nce-offer-list,.nce-offer-section .nce-signup,.nce-offer-section .signup-link,.nce-offer-section .nce-contact,.nce-offer-section .nce-offer-list p{font-size:1.2rem!important}}.nce-offer-intro{font-size:1.5rem;font-weight:400}.outer-section-fadeout{position:absolute;top:139rem;height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.body-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}@media (width <= 768px){.nce-book-section{padding-top:5rem!important}.nce-contact{font-size:1.2rem!important}}::ng-deep .body-quill{border-width:0!important;max-width:1000px;display:block;margin-left:auto;margin-right:auto}::ng-deep .ql-editor h1{font-size:2rem!important;line-height:2.3rem!important;color:#333!important}::ng-deep .ql-editor li{font-size:1.3rem!important;color:#333!important}::ng-deep .p-inputtextarea{border-radius:.5rem;border-color:#ced4da;font-size:1rem}.card{background-color:#fff;border-radius:12px}.comment-row{gap:2rem;padding-bottom:5rem;max-width:1000px;display:block;margin-left:auto;margin-right:auto}.comment-label{font-size:1.5rem!important}.response-row{max-width:1000px;display:block;margin-left:auto;margin-right:auto;margin-top:6rem!important}\n"], dependencies: [{ kind: "component", type: i3$1.Trial4ContactUsComponent, selector: "pw-trial-4-contact-us", inputs: ["subscriptionId", "sourceId", "masterSubscriptionId", "experimentName", "microserviceName"] }, { kind: "component", type: i4.ResourceHeaderComponent, selector: "pw-resource-header" }, { kind: "directive", type: i3.LazyImgDirective, selector: "img" }, { kind: "component", type: ResourceCardListComponent, selector: "pw-resource-card-list", inputs: ["posts", "postHeader"] }] }); }
195
+ }
196
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceBlogComponent, decorators: [{
197
+ type: Component,
198
+ args: [{ selector: 'pw-resource-blog', template: "<pw-resource-header></pw-resource-header>\n\n<section class=\"bg-white pricing-section\">\n <div class=\"nce-banner\">\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\">\n\n <!-- Left Content -->\n <div class=\"text-content\">\n <div class=\"nce-heading\">\n <h1 class=\"nce-header mb-4\">\n Blogs for MSPs\n <span class=\"blue-text\"></span>\n </h1>\n </div>\n </div>\n\n <!-- Add directly below .text-content, still inside .container -->\n <div class=\"text-extension mt-4\">\n <p class=\"intro\">\n Our team have decades of<br>experience in the IT channel,<br>and work with hundreds of<br>MSPs globally.\n </p>\n <div class=\"cta-buttons d-flex gap-3 flex-wrap mt-3\">\n <p class=\"intro\">\n Here, we share our insights,<br>learnings &amp; the occasional<br>meme.\n </p>\n </div>\n </div>\n\n <!-- Right Content -->\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <img class=\"nce-math-img\"\n src=\"/assets/img/resource/math.png\"\n alt=\"NCEasy laptop screen\" />\n <img class=\"nce-laptop-img\"\n src=\"/assets/img/resource/msp-man.png\"\n alt=\"NCEasy laptop screen\" />\n </div>\n\n </div>\n </div>\n <hr class=\"nce-divider\" />\n</section>\n\n<pw-resource-card-list [posts]=\"posts\"></pw-resource-card-list>\n\n<pw-trial-4-contact-us></pw-trial-4-contact-us>\n", styles: [".text-extension{max-width:560px;margin-top:6rem!important}.text-extension .intro{font-size:2rem;line-height:3rem;font-weight:100;color:#000;margin-bottom:1rem}.text-extension .cta-buttons{margin-top:2rem!important}.nce-banner{background-image:url(/assets/img/resource/resource2.png);background-position:center;background-repeat:no-repeat;color:#000}.nce-banner .text-content{max-width:500px;text-align:left;margin-bottom:75rem}.nce-banner .text-content h1{margin-bottom:1.5rem;line-height:1.2}.nce-banner .text-content .intro{font-size:1.2rem;margin:1rem 0;color:#000}.nce-banner .text-content .cta-buttons{margin-top:2rem}.nce-banner .nce-header{font-weight:500;color:#fff!important;font-size:4.5rem!important}.nce-banner .blue-text{font-weight:100}@media (width <= 991px){.nce-banner .text-content{margin-top:6.5rem;margin-bottom:0;text-align:center;max-width:360px}.nce-banner .text-content h1{margin-bottom:6.5rem!important}.nce-banner .nce-header{font-size:2.5rem!important}.nce-banner .cta-buttons{margin-top:5rem!important;justify-content:center!important}.nce-banner .image-content{position:relative;margin-bottom:3rem;height:230px}.nce-banner .image-content .floating-box{position:absolute;top:25px;left:3rem;transform:translate(-50%) rotate(-10deg);background:#fff;padding:.75rem 1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;z-index:3;display:inline-block;width:auto}.nce-banner .image-content .floating-box img{width:24px;margin-bottom:.4rem}.nce-banner .image-content .floating-box .label{font-size:.75rem;color:#333;margin:0;line-height:1.2}.nce-banner .image-content .floating-box .count{font-size:1.2rem;font-weight:700;color:#000;margin-top:.25rem}.nce-banner .image-content .screen-img{max-width:280px;position:absolute;bottom:0;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003}.nce-banner .image-content .person-img{max-width:170px;width:100%;position:relative;z-index:3;left:13rem;top:-11.35rem}.nce-banner .image-content .nce-laptop-img{max-width:350px;width:100%;position:relative;z-index:3;left:2%;height:auto!important;top:11rem}.nce-banner .image-content .nce-math-img{max-width:300px;width:100%;position:relative;z-index:3;left:15%;top:27rem}}@media (width >= 991px){.nce-banner .text-content{position:absolute;width:760px}}@media (width >= 991px) and (width <= 1200px){.text-extension{max-width:760px;position:absolute;margin-bottom:23rem!important}.nce-divider{position:absolute;top:60rem!important}}@media (width <= 786px){.text-extension{position:absolute;margin:3rem;margin-top:19rem!important}.pricing-section{height:990px!important}}@media (width >= 786px) and (width <= 991px){.text-extension{position:absolute;margin:3rem;margin-top:24rem!important}}@media (width >= 786px) and (width <= 1200px){.pricing-section{height:890px!important}.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .nce-laptop-img{top:5rem;right:10%;position:relative}.image-content .nce-math-img{position:relative;bottom:5rem;left:37rem;width:50%}}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width >= 1200px){.nce-divider{top:57.3rem;position:absolute!important}.text-extension{max-width:760px;position:absolute;margin-bottom:30rem!important}.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .nce-laptop-img{top:1.25rem;right:5rem;position:relative}.image-content .nce-math-img{bottom:5rem;left:64rem;position:relative;width:450px!important}}@media (width <= 768px){.nce-divider{margin-top:23rem!important}}@media (width <= 991px){.billing-section{flex-direction:column!important;gap:3rem}.billing-section .billing-section1,.billing-section .billing-section2{width:90%!important}.billing-section .billing-section1{margin-left:1.5rem;margin-top:4rem}.nce-banner{background-image:url(/assets/img/resource/resource2.png)}}@media (width >= 768px) and (width <= 991px){.nce-laptop-img{left:-17%!important;height:auto!important;top:24rem!important}.nce-math-img{left:36%!important;top:22rem!important}.nce-divider{margin-top:23rem!important}}@media (width >= 991px){.nce-laptop-img{max-width:100%!important;height:auto}.nce-banner{padding-top:768px;padding-bottom:50px;overflow:hidden}.section-fadeout{height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.nce-heading{width:700px!important}::ng-deep .vault-section{max-width:1580px!important;padding-left:48px!important;padding-top:130px!important}::ng-deep .vault-card{width:330px!important;height:370px!important}}\n", "::ng-deep .navbar-nav .nav-item .nav-link{color:#fff!important}.bold{font-weight:700}.nce-heading{margin-bottom:2rem}.nce-note{margin-top:1rem;font-size:.85rem;color:#555}.nce-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}\n", "::ng-deep .ql-editor p{font-size:1.5rem!important;line-height:1.8rem!important;color:#333!important}.msp-vault-section{padding:60px 0;background:#fff}.msp-vault-section .vault-heading{font-size:4.5rem;font-weight:300;color:#000!important}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}.msp-vault-section .vault-card{background-color:#fff;border-radius:30px;box-shadow:0 5px 20px #0000000d;padding:25px;text-align:center;width:338px;height:auto}.msp-vault-section .vault-card h5{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#000!important}.msp-vault-section .vault-card p{font-size:1.5rem;color:#444}.msp-vault-section .vault-card img,.msp-vault-section .vault-card iframe{height:180px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card .vault-btn{background-color:#000!important;margin-top:10px;color:#fff;width:240px;padding:10px 24px;border-radius:24px;border:none;font-size:1.5rem;margin-left:2rem;font-weight:500;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left}.msp-vault-section .vault-card .vault-btn:hover{background-color:#333}@media (width >= 768px) and (width <= 1200px){.resource-title{font-size:1.4rem!important}}textarea{font-size:1.4rem!important}@media (width <= 768px){.resource-title{font-size:1.2rem!important}.container{padding:7rem 3rem 1rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-card{width:100%!important}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){::ng-deep .trial-meeting-section:before{top:600px!important}::ng-deep .dashboard{margin-bottom:1rem!important}section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}section.bg-white.text-center.extra-top-padding:before,section.bg-white.text-center.extra-top-padding:after{content:\"\";position:absolute;background:url(/assets/img/logos/background-banner.png) no-repeat;background-size:contain;width:160px;height:450px;z-index:0;opacity:.8}section.bg-white.text-center.extra-top-padding:before{top:500px;left:0}section.bg-white.text-center.extra-top-padding:after{top:90px;right:0}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 1200px){.resource-card{width:100%!important}.release-notes-section{padding:7rem 0!important}}.resource-section{padding:5rem 0;position:relative}.resource-section .section-heading{font-weight:700;font-size:2.4rem;color:#000}.resource-section .view-all{font-size:1.5rem;font-weight:600;color:#000;text-decoration:none;margin-bottom:2.5rem}.resource-section .view-all:hover{color:var(--first)}.resource-section .resource-card{background:#fff;width:353px;border-radius:30px;padding:3rem;box-shadow:0 20px 40px #00000014;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;height:100%}.resource-section .resource-card .resource-title{font-size:1.5rem;line-height:2rem;font-weight:300;color:#000;margin-bottom:16px;text-align:center;height:3.5rem}.resource-section .resource-card .resource-image{width:100%;height:204px!important;object-fit:cover;border-radius:16px;margin-bottom:20px;margin-top:3.5rem!important}.resource-section .resource-card .read-now-btn{background-color:var(--text-color, black);color:#fff;text-decoration:none;padding:14px 20px;font-size:1.5rem;font-weight:500;border-radius:40px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .3s ease;width:100%;max-width:240px;margin:0 auto;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.resource-section .resource-card .read-now-btn .arrow{font-weight:600;font-size:1.5rem}.resource-section .resource-card .read-now-btn:hover{background:#fff;color:var(--text-color, black)!important}@media (width <= 768px){.resource-section .resource-section .cards-row{gap:3rem;margin-top:3rem!important}.resource-section .section-heading,.resource-section .view-all{width:100%;text-align:center;margin-bottom:1rem}.resource-section .resource-card .read-now-btn{flex-direction:row;justify-content:center;gap:8px}}@media (width >= 768px) and (width <= 1200px){.nce-hero-section{padding:0 6rem!important}.cards-row{justify-content:center}}.resource-body-section{background-color:#fff}.resource-body-section .container{padding:0 1.5rem;padding-bottom:4rem!important;padding-top:7rem!important;max-width:850px;margin:0 auto;text-align:left}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:var(--first)!important;text-decoration:none;font-weight:500}.nce-book-section{background:#fff;padding-top:7rem;padding-bottom:0}.nce-book-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-book-section .nce-contact{line-height:1.6;font-size:1.5rem}.nce-book-section .nce-contact a{text-decoration:underline;color:#000;margin:0 .2rem}.nce-offer-section{background:#fff;padding-top:2rem}.nce-offer-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-offer-section .nce-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.25em!important}.nce-offer-section .nce-title strong{font-weight:700}.nce-offer-section .nce-description{font-size:1.5rem;line-height:1.8rem;color:#333;margin-bottom:1.5rem}.nce-offer-section .nce-offer-list{font-size:1.1rem;line-height:1.5rem;margin-bottom:2.5rem;margin-top:2.5rem}.nce-offer-section .nce-offer-list p{font-size:1.5rem;margin:.5rem 0;font-weight:400}.nce-offer-section .nce-signup{margin-bottom:2.5rem}.nce-offer-section .nce-signup .signup-link{font-size:1.5rem;font-weight:400;text-decoration:underline;color:#000}@media (width <= 768px){.nce-offer-section .nce-book-section{padding-top:5rem!important}.nce-offer-section .container{text-align:left}.nce-offer-section .nce-title{font-size:1.5rem}.nce-offer-section .nce-description,.nce-offer-section .nce-offer-list,.nce-offer-section .nce-signup,.nce-offer-section .signup-link,.nce-offer-section .nce-contact,.nce-offer-section .nce-offer-list p{font-size:1.2rem!important}}.nce-offer-intro{font-size:1.5rem;font-weight:400}.outer-section-fadeout{position:absolute;top:139rem;height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.body-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}@media (width <= 768px){.nce-book-section{padding-top:5rem!important}.nce-contact{font-size:1.2rem!important}}::ng-deep .body-quill{border-width:0!important;max-width:1000px;display:block;margin-left:auto;margin-right:auto}::ng-deep .ql-editor h1{font-size:2rem!important;line-height:2.3rem!important;color:#333!important}::ng-deep .ql-editor li{font-size:1.3rem!important;color:#333!important}::ng-deep .p-inputtextarea{border-radius:.5rem;border-color:#ced4da;font-size:1rem}.card{background-color:#fff;border-radius:12px}.comment-row{gap:2rem;padding-bottom:5rem;max-width:1000px;display:block;margin-left:auto;margin-right:auto}.comment-label{font-size:1.5rem!important}.response-row{max-width:1000px;display:block;margin-left:auto;margin-right:auto;margin-top:6rem!important}\n"] }]
199
+ }], ctorParameters: () => [{ type: ResourceService }, { type: i2.TagService }, { type: i0.Injector }] });
200
+
201
+ class CaseStudyCardComponent extends AppBaseComponent {
202
+ constructor(sanitizer, injector) {
203
+ super(injector);
204
+ this.sanitizer = sanitizer;
205
+ this.showCaseStudyHeader = false;
206
+ }
207
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: CaseStudyCardComponent, deps: [{ token: i1$1.DomSanitizer }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
208
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: CaseStudyCardComponent, selector: "pw-case-studies-card", inputs: { showCaseStudyHeader: "showCaseStudyHeader" }, usesInheritance: true, ngImport: i0, template: "<section class=\"msp-vault-section bg-white text-center py-5 extra-top-padding section-outer\" id=\"msp-case-studies\">\n <div class=\"container\">\n <div *ngIf=\"showCaseStudyHeader\" class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <h2 class=\"section-heading\" id=\"msp-case-studies\">MSP Case Studies</h2>\n <a class=\"view-all\" routerLink=\"/resources/case-studies\">VIEW ALL ></a>\n </div>\n <div *ngIf=\"!showCaseStudyHeader\" class=\"d-md-flex justify-content-between align-items-start\">\n <div class=\"vault-header\">\n <h2 class=\"vault-heading\">Case Studies</h2>\n </div>\n </div>\n\n <div class=\"row mt-5 video-row justify-content-center\">\n <div class=\"col-md-6 col-lg-4 mb-4\">\n <div class=\"testimonial-box\">\n <!-- TOP LOGO -->\n <img src=\"/assets/img/logos/clients/it-partners.png\"\n alt=\"IT Partners Logo\"\n class=\"company-logo mb-3\" />\n\n <!-- TEXT -->\n <p class=\"mb-3 testimonial-section\">\n <strong>Leveraged CloudOlive to:</strong><br />\n Find $10k MRR growth<br />\n Save 3\u20134 days monthly<br />\n Avoid a finance re-hire\n </p>\n\n <!-- BOTTOM AVATAR -->\n <div class=\"avatar-container mb-5\">\n <img src=\"/assets/img/resource/user-it-partners.png\"\n alt=\"User Avatar\"\n class=\"testimonial-avatar\" />\n <a class=\"read-more-btn-overlay\"\n routerLink=\"/resources/case-study-blue-arc-it-solutions\">\n <span class=\"text\">Read now</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n </div>\n </div>\n\n </div>\n <div class=\"col-md-6 col-lg-4 mb-4\">\n <div class=\"testimonial-box\">\n <!-- TOP LOGO -->\n <img src=\"/assets/img/logos/clients/blue-arc.png\"\n alt=\"IT Partners Logo\"\n class=\"company-logo mb-3\" />\n\n <!-- TEXT -->\n <p class=\"mb-3 testimonial-section\">\n <strong>Leveraged CloudOlive to:</strong><br />\n Find $4.6k MRR growth<br />\n Save 1 day per month<br />\n Peace of mind\n </p>\n\n <div class=\"avatar-container mb-5\">\n <img src=\"/assets/img/resource/user-blue-arc.png\"\n alt=\"User Avatar\"\n class=\"testimonial-avatar\" />\n <a class=\"read-more-btn-overlay\"\n routerLink=\"/resources/case-study-blue-arc-it-solutions\">\n <span class=\"text\">Read now</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n </div>\n </div>\n </div>\n\n <div class=\"col-md-6 col-lg-4 mb-4\">\n <div class=\"testimonial-box\">\n <!-- TOP LOGO -->\n <img src=\"/assets/img/logos/clients/huon-it.png\"\n alt=\"IT Partners Logo\"\n class=\"company-logo mb-3\" />\n\n <!-- TEXT -->\n <p class=\"mb-3 testimonial-section\">\n <strong>Leveraged CloudOlive to:</strong><br />\n Cut monthly Microsoft<br />\n reconciliation time from 5+ hours<br />\n down to 15 mins.\n </p>\n <div class=\"avatar-container mb-5\">\n <img src=\"/assets/img/resource/user-huon-it.png\"\n alt=\"User Avatar\"\n class=\"testimonial-avatar\" />\n\n <a class=\"read-more-btn-overlay\"\n routerLink=\"/resources/case-study-huon-it\">\n <span class=\"text\">Read now</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n </div>\n\n </div>\n\n </div>\n\n </div>\n </div>\n</section>\n", styles: [".msp-vault-section{background:#fff;text-align:center;padding:3rem 0}.section-outer,.container{padding:0 15px}.d-md-flex{display:flex}.section-heading{font-size:3rem;font-weight:300}.justify-content-between{justify-content:space-between}.align-items-start{align-items:flex-start}.vault-heading{font-size:2rem;font-weight:700}.video-row{margin-top:3rem}.row{display:flex;flex-wrap:wrap}.col-md-6,.col-lg-4{flex:0 0 auto;width:100%}@media (width >= 768px){.col-md-6,.col-lg-4{width:50%}}@media (width >= 992px){.col-md-6,.col-lg-4{width:33.3333%}}.mb-4{margin-bottom:1.5rem}.testimonial-box{background:#fff;color:#000;border-radius:20px;box-shadow:0 0 20px #0000001a;text-align:center;width:100%;padding:2.5rem 1.5rem;font-size:1.1rem}.testimonial-box .testimonial-section{font-size:1.5rem;line-height:2rem}.testimonial-box .testimonial-section strong{display:block}.testimonial-box .company-logo{width:200px!important;height:60px!important;object-fit:contain}.testimonial-box .avatar-container{position:relative;display:inline-block;margin-top:2rem}.testimonial-box .avatar-container .testimonial-avatar{width:200px;height:200px;border-radius:50%;object-fit:fill;display:block}.testimonial-box .avatar-container .read-more-btn-overlay{position:absolute;text-decoration:none!important;bottom:0;left:50%;transform:translate(-50%);background-color:var(--text-color, black);color:#fff;width:240px;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.testimonial-box .avatar-container .read-more-btn-overlay:hover{background:#fff;color:var(--text-color, black)!important}.testimonial-box .avatar-container .read-more-btn-overlay .arrow{margin-bottom:.3rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.LazyImgDirective, selector: "img" }] }); }
209
+ }
210
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: CaseStudyCardComponent, decorators: [{
211
+ type: Component,
212
+ args: [{ selector: 'pw-case-studies-card', template: "<section class=\"msp-vault-section bg-white text-center py-5 extra-top-padding section-outer\" id=\"msp-case-studies\">\n <div class=\"container\">\n <div *ngIf=\"showCaseStudyHeader\" class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <h2 class=\"section-heading\" id=\"msp-case-studies\">MSP Case Studies</h2>\n <a class=\"view-all\" routerLink=\"/resources/case-studies\">VIEW ALL ></a>\n </div>\n <div *ngIf=\"!showCaseStudyHeader\" class=\"d-md-flex justify-content-between align-items-start\">\n <div class=\"vault-header\">\n <h2 class=\"vault-heading\">Case Studies</h2>\n </div>\n </div>\n\n <div class=\"row mt-5 video-row justify-content-center\">\n <div class=\"col-md-6 col-lg-4 mb-4\">\n <div class=\"testimonial-box\">\n <!-- TOP LOGO -->\n <img src=\"/assets/img/logos/clients/it-partners.png\"\n alt=\"IT Partners Logo\"\n class=\"company-logo mb-3\" />\n\n <!-- TEXT -->\n <p class=\"mb-3 testimonial-section\">\n <strong>Leveraged CloudOlive to:</strong><br />\n Find $10k MRR growth<br />\n Save 3\u20134 days monthly<br />\n Avoid a finance re-hire\n </p>\n\n <!-- BOTTOM AVATAR -->\n <div class=\"avatar-container mb-5\">\n <img src=\"/assets/img/resource/user-it-partners.png\"\n alt=\"User Avatar\"\n class=\"testimonial-avatar\" />\n <a class=\"read-more-btn-overlay\"\n routerLink=\"/resources/case-study-blue-arc-it-solutions\">\n <span class=\"text\">Read now</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n </div>\n </div>\n\n </div>\n <div class=\"col-md-6 col-lg-4 mb-4\">\n <div class=\"testimonial-box\">\n <!-- TOP LOGO -->\n <img src=\"/assets/img/logos/clients/blue-arc.png\"\n alt=\"IT Partners Logo\"\n class=\"company-logo mb-3\" />\n\n <!-- TEXT -->\n <p class=\"mb-3 testimonial-section\">\n <strong>Leveraged CloudOlive to:</strong><br />\n Find $4.6k MRR growth<br />\n Save 1 day per month<br />\n Peace of mind\n </p>\n\n <div class=\"avatar-container mb-5\">\n <img src=\"/assets/img/resource/user-blue-arc.png\"\n alt=\"User Avatar\"\n class=\"testimonial-avatar\" />\n <a class=\"read-more-btn-overlay\"\n routerLink=\"/resources/case-study-blue-arc-it-solutions\">\n <span class=\"text\">Read now</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n </div>\n </div>\n </div>\n\n <div class=\"col-md-6 col-lg-4 mb-4\">\n <div class=\"testimonial-box\">\n <!-- TOP LOGO -->\n <img src=\"/assets/img/logos/clients/huon-it.png\"\n alt=\"IT Partners Logo\"\n class=\"company-logo mb-3\" />\n\n <!-- TEXT -->\n <p class=\"mb-3 testimonial-section\">\n <strong>Leveraged CloudOlive to:</strong><br />\n Cut monthly Microsoft<br />\n reconciliation time from 5+ hours<br />\n down to 15 mins.\n </p>\n <div class=\"avatar-container mb-5\">\n <img src=\"/assets/img/resource/user-huon-it.png\"\n alt=\"User Avatar\"\n class=\"testimonial-avatar\" />\n\n <a class=\"read-more-btn-overlay\"\n routerLink=\"/resources/case-study-huon-it\">\n <span class=\"text\">Read now</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n </div>\n\n </div>\n\n </div>\n\n </div>\n </div>\n</section>\n", styles: [".msp-vault-section{background:#fff;text-align:center;padding:3rem 0}.section-outer,.container{padding:0 15px}.d-md-flex{display:flex}.section-heading{font-size:3rem;font-weight:300}.justify-content-between{justify-content:space-between}.align-items-start{align-items:flex-start}.vault-heading{font-size:2rem;font-weight:700}.video-row{margin-top:3rem}.row{display:flex;flex-wrap:wrap}.col-md-6,.col-lg-4{flex:0 0 auto;width:100%}@media (width >= 768px){.col-md-6,.col-lg-4{width:50%}}@media (width >= 992px){.col-md-6,.col-lg-4{width:33.3333%}}.mb-4{margin-bottom:1.5rem}.testimonial-box{background:#fff;color:#000;border-radius:20px;box-shadow:0 0 20px #0000001a;text-align:center;width:100%;padding:2.5rem 1.5rem;font-size:1.1rem}.testimonial-box .testimonial-section{font-size:1.5rem;line-height:2rem}.testimonial-box .testimonial-section strong{display:block}.testimonial-box .company-logo{width:200px!important;height:60px!important;object-fit:contain}.testimonial-box .avatar-container{position:relative;display:inline-block;margin-top:2rem}.testimonial-box .avatar-container .testimonial-avatar{width:200px;height:200px;border-radius:50%;object-fit:fill;display:block}.testimonial-box .avatar-container .read-more-btn-overlay{position:absolute;text-decoration:none!important;bottom:0;left:50%;transform:translate(-50%);background-color:var(--text-color, black);color:#fff;width:240px;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.testimonial-box .avatar-container .read-more-btn-overlay:hover{background:#fff;color:var(--text-color, black)!important}.testimonial-box .avatar-container .read-more-btn-overlay .arrow{margin-bottom:.3rem}\n"] }]
213
+ }], ctorParameters: () => [{ type: i1$1.DomSanitizer }, { type: i0.Injector }], propDecorators: { showCaseStudyHeader: [{
214
+ type: Input
215
+ }] } });
216
+
217
+ class TestimonialCardListComponent {
218
+ constructor() {
219
+ this.posts = [];
220
+ this.postHeader = '';
221
+ }
222
+ ngOnInit() {
223
+ this.initSwiper();
224
+ }
225
+ initSwiper() {
226
+ this.swiper = new Swiper('.swiper-container', {
227
+ modules: [Navigation, Pagination],
228
+ slidesPerView: 1,
229
+ spaceBetween: 24,
230
+ centeredSlides: true,
231
+ touchRatio: 1,
232
+ touchAngle: 45,
233
+ grabCursor: true,
234
+ navigation: {
235
+ nextEl: '.swiper-button-next',
236
+ prevEl: '.swiper-button-prev'
237
+ },
238
+ pagination: {
239
+ el: '.swiper-pagination',
240
+ clickable: true
241
+ },
242
+ breakpoints: {
243
+ 425: {
244
+ slidesPerView: 1.05,
245
+ centeredSlides: true
246
+ },
247
+ 470: {
248
+ slidesPerView: 1.25,
249
+ centeredSlides: true
250
+ },
251
+ 564: {
252
+ slidesPerView: 1.5,
253
+ centeredSlides: true
254
+ },
255
+ 640: {
256
+ slidesPerView: 1.5,
257
+ centeredSlides: true
258
+ },
259
+ 768: {
260
+ slidesPerView: 1.5,
261
+ centeredSlides: false
262
+ },
263
+ 1024: {
264
+ slidesPerView: 2, // Allow room between cards
265
+ centeredSlides: false
266
+ },
267
+ 1200: {
268
+ slidesPerView: 3,
269
+ centeredSlides: false
270
+ }
271
+ }
272
+ });
273
+ }
274
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TestimonialCardListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
275
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: TestimonialCardListComponent, selector: "pw-testimonial-card", inputs: { posts: "posts", postHeader: "postHeader" }, ngImport: i0, template: "<section class=\"resource-section bg-white\">\n <div class=\"container\">\n <div *ngIf=\"postHeader\" class=\"d-flex justify-content-between align-items-center flex-wrap mb-3\">\n <h2 class=\"section-heading\">{{postHeader}}</h2>\n </div>\n <div class=\"swiper-container\">\n <div class=\"swiper-wrapper\">\n <div class=\"swiper-slide\">\n <div class=\"testimonial-box\">\n <div class=\"stars mb-2\">\u2605\u2605\u2605\u2605\u2605</div>\n <span><strong>\"This is a GAME CHANGER.</strong></span><br />\n <span> We went from spending hours trying to track Microsoft NCE subscriptions manually to having everything in one clear view.\"</span>\n <p class=\"mt-4 content-font fst-italic centaris-text\">\u2013 Joe, Centaris</p>\n <img src=\"/assets/img/logos/clients/centaris-reward.png\" alt=\"Centaris Logo\" class=\"testimonial-logo mt-2 img-fluid wow fadeInUp\" />\n </div>\n </div>\n <div class=\"swiper-slide\">\n <div class=\"testimonial-box\">\n <div class=\"stars mb-2\">\u2605\u2605\u2605\u2605\u2605</div>\n <span>\n \"NCEasy keeps us ahead of the game. We no longer scramble to check license assignments and work out which subscription is coming up for renewal.\n </span>\n <p class=\"content-font\"><br /><strong>Highly recommend!\"</strong></p>\n <p class=\"mt-3 content-font fst-italic\">\u2013 Paul, Focus IT Healthcare</p>\n <img src=\"/assets/img/logos/clients/focus-it.png\" alt=\"FocusIT Logo\" class=\"testimonial-logo focus-logo mt-2\" />\n </div>\n </div>\n <div class=\"swiper-slide\">\n <div class=\"testimonial-box\">\n <div class=\"stars mb-2\">\u2605\u2605\u2605\u2605\u2605</div>\n <span><strong>\"This is a GAME CHANGER.</strong></span><br />\n <span> We went from spending hours trying to track Microsoft NCE subscriptions manually to having everything in one clear view.\"</span>\n <p class=\"mt-4 content-font fst-italic centaris-text\">\u2013 Joe, Centaris</p>\n <img src=\"/assets/img/logos/clients/centaris-reward.png\" alt=\"Centaris Logo\" class=\"testimonial-logo mt-2 img-fluid wow fadeInUp\" />\n </div>\n </div>\n <div class=\"swiper-slide\">\n <div class=\"testimonial-box\">\n <div class=\"stars mb-2\">\u2605\u2605\u2605\u2605\u2605</div>\n <span>\n \"NCEasy keeps us ahead of the game. We no longer scramble to check license assignments and work out which subscription is coming up for renewal.\n </span>\n <p class=\"content-font\"><br /><strong>Highly recommend!\"</strong></p>\n <p class=\"mt-3 content-font fst-italic\">\u2013 Paul, Focus IT Healthcare</p>\n <img src=\"/assets/img/logos/clients/focus-it.png\" alt=\"FocusIT Logo\" class=\"testimonial-logo focus-logo mt-2\" />\n </div>\n </div>\n </div>\n <div class=\"swiper-pagination\"></div>\n <div class=\"swiper-button-prev\"></div>\n <div class=\"swiper-button-next\"></div>\n </div>\n </div>\n <hr class=\"nce-divider\" />\n</section>", styles: ["@media (width >= 768px){.resource-section{padding:7rem 0!important;padding-bottom:0!important}}@media (width <= 768px){.resource-section{padding:1rem 0!important;padding-bottom:0!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 767px){.container{padding:0 1rem!important}}.swiper-container{padding:20px;position:relative;overflow:hidden}@media (width >= 768px){.swiper-container{padding:20px 40px}}.resource-card{background:#fff;border-radius:8px;box-shadow:0 0 20px #0000001a;padding:1.5rem;height:100%;display:flex;flex-direction:column;margin:0 auto;width:100%;max-width:350px}.resource-title{font-size:1.25rem;font-weight:600;margin-bottom:1rem}.resource-image{width:100%;height:204px!important;object-fit:cover;border-radius:4px}.read-now-btn{margin-top:auto;display:inline-flex;align-items:center;gap:.5rem;color:#000;text-decoration:none;font-weight:500}.read-now-btn .arrow{transition:transform .2s ease}.read-now-btn:hover .arrow{transform:translate(5px)}.swiper-button-prev,.swiper-button-next{color:#000}.swiper-button-prev:after,.swiper-button-next:after{font-size:24px}@media (width <= 767px){.swiper-button-prev,.swiper-button-next{display:none}}.swiper-pagination{position:relative;margin-top:20px}.swiper-pagination-bullet{background:#000;opacity:.5}.swiper-pagination-bullet-active{opacity:1}.nce-divider{margin-top:4rem!important}.testimonial-box{background:#fff;color:#000;border-radius:20px;box-shadow:0 0 20px #0000001a;text-align:center;width:338px;height:431px!important;padding:2.5rem 1.5rem;font-size:1.1rem}.testimonial-box span{margin:0;font-size:22px}.testimonial-box .stars{color:#f6b300;font-size:2.2rem;margin-bottom:2.5rem!important}.testimonial-box .testimonial-logo{height:122px;width:50%}.centaris-text{margin-bottom:3rem!important}@media (width <= 768px){::ng-deep .swiper-wrapper{gap:1rem!important}.testimonial-box{width:300px!important}}\n", "::ng-deep .ql-editor p{font-size:1.5rem!important;line-height:1.8rem!important;color:#333!important}.msp-vault-section{padding:60px 0;background:#fff}.msp-vault-section .vault-heading{font-size:4.5rem;font-weight:300;color:#000!important}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}.msp-vault-section .vault-card{background-color:#fff;border-radius:30px;box-shadow:0 5px 20px #0000000d;padding:25px;text-align:center;width:338px;height:auto}.msp-vault-section .vault-card h5{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#000!important}.msp-vault-section .vault-card p{font-size:1.5rem;color:#444}.msp-vault-section .vault-card img,.msp-vault-section .vault-card iframe{height:180px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card .vault-btn{background-color:#000!important;margin-top:10px;color:#fff;width:240px;padding:10px 24px;border-radius:24px;border:none;font-size:1.5rem;margin-left:2rem;font-weight:500;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left}.msp-vault-section .vault-card .vault-btn:hover{background-color:#333}@media (width >= 768px) and (width <= 1200px){.resource-title{font-size:1.4rem!important}}textarea{font-size:1.4rem!important}@media (width <= 768px){.resource-title{font-size:1.2rem!important}.container{padding:7rem 3rem 1rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-card{width:100%!important}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){::ng-deep .trial-meeting-section:before{top:600px!important}::ng-deep .dashboard{margin-bottom:1rem!important}section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}section.bg-white.text-center.extra-top-padding:before,section.bg-white.text-center.extra-top-padding:after{content:\"\";position:absolute;background:url(/assets/img/logos/background-banner.png) no-repeat;background-size:contain;width:160px;height:450px;z-index:0;opacity:.8}section.bg-white.text-center.extra-top-padding:before{top:500px;left:0}section.bg-white.text-center.extra-top-padding:after{top:90px;right:0}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 1200px){.resource-card{width:100%!important}.release-notes-section{padding:7rem 0!important}}.resource-section{padding:5rem 0;position:relative}.resource-section .section-heading{font-weight:700;font-size:2.4rem;color:#000}.resource-section .view-all{font-size:1.5rem;font-weight:600;color:#000;text-decoration:none;margin-bottom:2.5rem}.resource-section .view-all:hover{color:var(--first)}.resource-section .resource-card{background:#fff;width:353px;border-radius:30px;padding:3rem;box-shadow:0 20px 40px #00000014;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;height:100%}.resource-section .resource-card .resource-title{font-size:1.5rem;line-height:2rem;font-weight:300;color:#000;margin-bottom:16px;text-align:center;height:3.5rem}.resource-section .resource-card .resource-image{width:100%;height:204px!important;object-fit:cover;border-radius:16px;margin-bottom:20px;margin-top:3.5rem!important}.resource-section .resource-card .read-now-btn{background-color:var(--text-color, black);color:#fff;text-decoration:none;padding:14px 20px;font-size:1.5rem;font-weight:500;border-radius:40px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .3s ease;width:100%;max-width:240px;margin:0 auto;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.resource-section .resource-card .read-now-btn .arrow{font-weight:600;font-size:1.5rem}.resource-section .resource-card .read-now-btn:hover{background:#fff;color:var(--text-color, black)!important}@media (width <= 768px){.resource-section .resource-section .cards-row{gap:3rem;margin-top:3rem!important}.resource-section .section-heading,.resource-section .view-all{width:100%;text-align:center;margin-bottom:1rem}.resource-section .resource-card .read-now-btn{flex-direction:row;justify-content:center;gap:8px}}@media (width >= 768px) and (width <= 1200px){.nce-hero-section{padding:0 6rem!important}.cards-row{justify-content:center}}.resource-body-section{background-color:#fff}.resource-body-section .container{padding:0 1.5rem;padding-bottom:4rem!important;padding-top:7rem!important;max-width:850px;margin:0 auto;text-align:left}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:var(--first)!important;text-decoration:none;font-weight:500}.nce-book-section{background:#fff;padding-top:7rem;padding-bottom:0}.nce-book-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-book-section .nce-contact{line-height:1.6;font-size:1.5rem}.nce-book-section .nce-contact a{text-decoration:underline;color:#000;margin:0 .2rem}.nce-offer-section{background:#fff;padding-top:2rem}.nce-offer-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-offer-section .nce-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.25em!important}.nce-offer-section .nce-title strong{font-weight:700}.nce-offer-section .nce-description{font-size:1.5rem;line-height:1.8rem;color:#333;margin-bottom:1.5rem}.nce-offer-section .nce-offer-list{font-size:1.1rem;line-height:1.5rem;margin-bottom:2.5rem;margin-top:2.5rem}.nce-offer-section .nce-offer-list p{font-size:1.5rem;margin:.5rem 0;font-weight:400}.nce-offer-section .nce-signup{margin-bottom:2.5rem}.nce-offer-section .nce-signup .signup-link{font-size:1.5rem;font-weight:400;text-decoration:underline;color:#000}@media (width <= 768px){.nce-offer-section .nce-book-section{padding-top:5rem!important}.nce-offer-section .container{text-align:left}.nce-offer-section .nce-title{font-size:1.5rem}.nce-offer-section .nce-description,.nce-offer-section .nce-offer-list,.nce-offer-section .nce-signup,.nce-offer-section .signup-link,.nce-offer-section .nce-contact,.nce-offer-section .nce-offer-list p{font-size:1.2rem!important}}.nce-offer-intro{font-size:1.5rem;font-weight:400}.outer-section-fadeout{position:absolute;top:139rem;height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.body-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}@media (width <= 768px){.nce-book-section{padding-top:5rem!important}.nce-contact{font-size:1.2rem!important}}::ng-deep .body-quill{border-width:0!important;max-width:1000px;display:block;margin-left:auto;margin-right:auto}::ng-deep .ql-editor h1{font-size:2rem!important;line-height:2.3rem!important;color:#333!important}::ng-deep .ql-editor li{font-size:1.3rem!important;color:#333!important}::ng-deep .p-inputtextarea{border-radius:.5rem;border-color:#ced4da;font-size:1rem}.card{background-color:#fff;border-radius:12px}.comment-row{gap:2rem;padding-bottom:5rem;max-width:1000px;display:block;margin-left:auto;margin-right:auto}.comment-label{font-size:1.5rem!important}.response-row{max-width:1000px;display:block;margin-left:auto;margin-right:auto;margin-top:6rem!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.LazyImgDirective, selector: "img" }] }); }
276
+ }
277
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TestimonialCardListComponent, decorators: [{
278
+ type: Component,
279
+ args: [{ selector: 'pw-testimonial-card', template: "<section class=\"resource-section bg-white\">\n <div class=\"container\">\n <div *ngIf=\"postHeader\" class=\"d-flex justify-content-between align-items-center flex-wrap mb-3\">\n <h2 class=\"section-heading\">{{postHeader}}</h2>\n </div>\n <div class=\"swiper-container\">\n <div class=\"swiper-wrapper\">\n <div class=\"swiper-slide\">\n <div class=\"testimonial-box\">\n <div class=\"stars mb-2\">\u2605\u2605\u2605\u2605\u2605</div>\n <span><strong>\"This is a GAME CHANGER.</strong></span><br />\n <span> We went from spending hours trying to track Microsoft NCE subscriptions manually to having everything in one clear view.\"</span>\n <p class=\"mt-4 content-font fst-italic centaris-text\">\u2013 Joe, Centaris</p>\n <img src=\"/assets/img/logos/clients/centaris-reward.png\" alt=\"Centaris Logo\" class=\"testimonial-logo mt-2 img-fluid wow fadeInUp\" />\n </div>\n </div>\n <div class=\"swiper-slide\">\n <div class=\"testimonial-box\">\n <div class=\"stars mb-2\">\u2605\u2605\u2605\u2605\u2605</div>\n <span>\n \"NCEasy keeps us ahead of the game. We no longer scramble to check license assignments and work out which subscription is coming up for renewal.\n </span>\n <p class=\"content-font\"><br /><strong>Highly recommend!\"</strong></p>\n <p class=\"mt-3 content-font fst-italic\">\u2013 Paul, Focus IT Healthcare</p>\n <img src=\"/assets/img/logos/clients/focus-it.png\" alt=\"FocusIT Logo\" class=\"testimonial-logo focus-logo mt-2\" />\n </div>\n </div>\n <div class=\"swiper-slide\">\n <div class=\"testimonial-box\">\n <div class=\"stars mb-2\">\u2605\u2605\u2605\u2605\u2605</div>\n <span><strong>\"This is a GAME CHANGER.</strong></span><br />\n <span> We went from spending hours trying to track Microsoft NCE subscriptions manually to having everything in one clear view.\"</span>\n <p class=\"mt-4 content-font fst-italic centaris-text\">\u2013 Joe, Centaris</p>\n <img src=\"/assets/img/logos/clients/centaris-reward.png\" alt=\"Centaris Logo\" class=\"testimonial-logo mt-2 img-fluid wow fadeInUp\" />\n </div>\n </div>\n <div class=\"swiper-slide\">\n <div class=\"testimonial-box\">\n <div class=\"stars mb-2\">\u2605\u2605\u2605\u2605\u2605</div>\n <span>\n \"NCEasy keeps us ahead of the game. We no longer scramble to check license assignments and work out which subscription is coming up for renewal.\n </span>\n <p class=\"content-font\"><br /><strong>Highly recommend!\"</strong></p>\n <p class=\"mt-3 content-font fst-italic\">\u2013 Paul, Focus IT Healthcare</p>\n <img src=\"/assets/img/logos/clients/focus-it.png\" alt=\"FocusIT Logo\" class=\"testimonial-logo focus-logo mt-2\" />\n </div>\n </div>\n </div>\n <div class=\"swiper-pagination\"></div>\n <div class=\"swiper-button-prev\"></div>\n <div class=\"swiper-button-next\"></div>\n </div>\n </div>\n <hr class=\"nce-divider\" />\n</section>", styles: ["@media (width >= 768px){.resource-section{padding:7rem 0!important;padding-bottom:0!important}}@media (width <= 768px){.resource-section{padding:1rem 0!important;padding-bottom:0!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 767px){.container{padding:0 1rem!important}}.swiper-container{padding:20px;position:relative;overflow:hidden}@media (width >= 768px){.swiper-container{padding:20px 40px}}.resource-card{background:#fff;border-radius:8px;box-shadow:0 0 20px #0000001a;padding:1.5rem;height:100%;display:flex;flex-direction:column;margin:0 auto;width:100%;max-width:350px}.resource-title{font-size:1.25rem;font-weight:600;margin-bottom:1rem}.resource-image{width:100%;height:204px!important;object-fit:cover;border-radius:4px}.read-now-btn{margin-top:auto;display:inline-flex;align-items:center;gap:.5rem;color:#000;text-decoration:none;font-weight:500}.read-now-btn .arrow{transition:transform .2s ease}.read-now-btn:hover .arrow{transform:translate(5px)}.swiper-button-prev,.swiper-button-next{color:#000}.swiper-button-prev:after,.swiper-button-next:after{font-size:24px}@media (width <= 767px){.swiper-button-prev,.swiper-button-next{display:none}}.swiper-pagination{position:relative;margin-top:20px}.swiper-pagination-bullet{background:#000;opacity:.5}.swiper-pagination-bullet-active{opacity:1}.nce-divider{margin-top:4rem!important}.testimonial-box{background:#fff;color:#000;border-radius:20px;box-shadow:0 0 20px #0000001a;text-align:center;width:338px;height:431px!important;padding:2.5rem 1.5rem;font-size:1.1rem}.testimonial-box span{margin:0;font-size:22px}.testimonial-box .stars{color:#f6b300;font-size:2.2rem;margin-bottom:2.5rem!important}.testimonial-box .testimonial-logo{height:122px;width:50%}.centaris-text{margin-bottom:3rem!important}@media (width <= 768px){::ng-deep .swiper-wrapper{gap:1rem!important}.testimonial-box{width:300px!important}}\n", "::ng-deep .ql-editor p{font-size:1.5rem!important;line-height:1.8rem!important;color:#333!important}.msp-vault-section{padding:60px 0;background:#fff}.msp-vault-section .vault-heading{font-size:4.5rem;font-weight:300;color:#000!important}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}.msp-vault-section .vault-card{background-color:#fff;border-radius:30px;box-shadow:0 5px 20px #0000000d;padding:25px;text-align:center;width:338px;height:auto}.msp-vault-section .vault-card h5{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#000!important}.msp-vault-section .vault-card p{font-size:1.5rem;color:#444}.msp-vault-section .vault-card img,.msp-vault-section .vault-card iframe{height:180px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card .vault-btn{background-color:#000!important;margin-top:10px;color:#fff;width:240px;padding:10px 24px;border-radius:24px;border:none;font-size:1.5rem;margin-left:2rem;font-weight:500;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left}.msp-vault-section .vault-card .vault-btn:hover{background-color:#333}@media (width >= 768px) and (width <= 1200px){.resource-title{font-size:1.4rem!important}}textarea{font-size:1.4rem!important}@media (width <= 768px){.resource-title{font-size:1.2rem!important}.container{padding:7rem 3rem 1rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-card{width:100%!important}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){::ng-deep .trial-meeting-section:before{top:600px!important}::ng-deep .dashboard{margin-bottom:1rem!important}section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}section.bg-white.text-center.extra-top-padding:before,section.bg-white.text-center.extra-top-padding:after{content:\"\";position:absolute;background:url(/assets/img/logos/background-banner.png) no-repeat;background-size:contain;width:160px;height:450px;z-index:0;opacity:.8}section.bg-white.text-center.extra-top-padding:before{top:500px;left:0}section.bg-white.text-center.extra-top-padding:after{top:90px;right:0}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 1200px){.resource-card{width:100%!important}.release-notes-section{padding:7rem 0!important}}.resource-section{padding:5rem 0;position:relative}.resource-section .section-heading{font-weight:700;font-size:2.4rem;color:#000}.resource-section .view-all{font-size:1.5rem;font-weight:600;color:#000;text-decoration:none;margin-bottom:2.5rem}.resource-section .view-all:hover{color:var(--first)}.resource-section .resource-card{background:#fff;width:353px;border-radius:30px;padding:3rem;box-shadow:0 20px 40px #00000014;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;height:100%}.resource-section .resource-card .resource-title{font-size:1.5rem;line-height:2rem;font-weight:300;color:#000;margin-bottom:16px;text-align:center;height:3.5rem}.resource-section .resource-card .resource-image{width:100%;height:204px!important;object-fit:cover;border-radius:16px;margin-bottom:20px;margin-top:3.5rem!important}.resource-section .resource-card .read-now-btn{background-color:var(--text-color, black);color:#fff;text-decoration:none;padding:14px 20px;font-size:1.5rem;font-weight:500;border-radius:40px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .3s ease;width:100%;max-width:240px;margin:0 auto;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.resource-section .resource-card .read-now-btn .arrow{font-weight:600;font-size:1.5rem}.resource-section .resource-card .read-now-btn:hover{background:#fff;color:var(--text-color, black)!important}@media (width <= 768px){.resource-section .resource-section .cards-row{gap:3rem;margin-top:3rem!important}.resource-section .section-heading,.resource-section .view-all{width:100%;text-align:center;margin-bottom:1rem}.resource-section .resource-card .read-now-btn{flex-direction:row;justify-content:center;gap:8px}}@media (width >= 768px) and (width <= 1200px){.nce-hero-section{padding:0 6rem!important}.cards-row{justify-content:center}}.resource-body-section{background-color:#fff}.resource-body-section .container{padding:0 1.5rem;padding-bottom:4rem!important;padding-top:7rem!important;max-width:850px;margin:0 auto;text-align:left}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:var(--first)!important;text-decoration:none;font-weight:500}.nce-book-section{background:#fff;padding-top:7rem;padding-bottom:0}.nce-book-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-book-section .nce-contact{line-height:1.6;font-size:1.5rem}.nce-book-section .nce-contact a{text-decoration:underline;color:#000;margin:0 .2rem}.nce-offer-section{background:#fff;padding-top:2rem}.nce-offer-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-offer-section .nce-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.25em!important}.nce-offer-section .nce-title strong{font-weight:700}.nce-offer-section .nce-description{font-size:1.5rem;line-height:1.8rem;color:#333;margin-bottom:1.5rem}.nce-offer-section .nce-offer-list{font-size:1.1rem;line-height:1.5rem;margin-bottom:2.5rem;margin-top:2.5rem}.nce-offer-section .nce-offer-list p{font-size:1.5rem;margin:.5rem 0;font-weight:400}.nce-offer-section .nce-signup{margin-bottom:2.5rem}.nce-offer-section .nce-signup .signup-link{font-size:1.5rem;font-weight:400;text-decoration:underline;color:#000}@media (width <= 768px){.nce-offer-section .nce-book-section{padding-top:5rem!important}.nce-offer-section .container{text-align:left}.nce-offer-section .nce-title{font-size:1.5rem}.nce-offer-section .nce-description,.nce-offer-section .nce-offer-list,.nce-offer-section .nce-signup,.nce-offer-section .signup-link,.nce-offer-section .nce-contact,.nce-offer-section .nce-offer-list p{font-size:1.2rem!important}}.nce-offer-intro{font-size:1.5rem;font-weight:400}.outer-section-fadeout{position:absolute;top:139rem;height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.body-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}@media (width <= 768px){.nce-book-section{padding-top:5rem!important}.nce-contact{font-size:1.2rem!important}}::ng-deep .body-quill{border-width:0!important;max-width:1000px;display:block;margin-left:auto;margin-right:auto}::ng-deep .ql-editor h1{font-size:2rem!important;line-height:2.3rem!important;color:#333!important}::ng-deep .ql-editor li{font-size:1.3rem!important;color:#333!important}::ng-deep .p-inputtextarea{border-radius:.5rem;border-color:#ced4da;font-size:1rem}.card{background-color:#fff;border-radius:12px}.comment-row{gap:2rem;padding-bottom:5rem;max-width:1000px;display:block;margin-left:auto;margin-right:auto}.comment-label{font-size:1.5rem!important}.response-row{max-width:1000px;display:block;margin-left:auto;margin-right:auto;margin-top:6rem!important}\n"] }]
280
+ }], propDecorators: { posts: [{
281
+ type: Input
282
+ }], postHeader: [{
283
+ type: Input
284
+ }] } });
285
+
286
+ class ResourceCaseStudiesComponent extends AppBaseComponent {
287
+ constructor(resourceService, tagService, injector) {
288
+ super(injector);
289
+ this.resourceService = resourceService;
290
+ this.tagService = tagService;
291
+ this.posts = [];
292
+ this.testimonialsPosts = [];
293
+ }
294
+ ngOnInit() {
295
+ this.getUserSubscriptionId().subscribe(response => {
296
+ this.subscriptionId = response;
297
+ });
298
+ this.localStorage.getItem$(TOKEN_KEY).subscribe(res => {
299
+ this.userLoggedIn = !!res;
300
+ if (this.userLoggedIn) {
301
+ this.localStorage.getItem$('product').subscribe(res => {
302
+ const data = res ? JSON.parse(res) : null;
303
+ this.subscriptionId = data?.subscriptionId;
304
+ console.log(this.subscriptionId);
305
+ this.getPostTags();
306
+ });
307
+ }
308
+ });
309
+ }
310
+ getPostTags() {
311
+ this.tagService
312
+ .getTagsByType('post_categories', {}, this.subscriptionId || this.masterSubscriptionId)
313
+ .subscribe(response => {
314
+ console.log(response.tags);
315
+ this.blogPostTag = response.tags.find(tag => tag.name === 'Case Studies');
316
+ this.blogTestimonialsPostTag = response.tags.find(tag => tag.name === 'Testimonials');
317
+ console.log(this.blogPostTag);
318
+ this.getPosts(1, 100);
319
+ this.getTestimonialsPosts(1, 100);
320
+ });
321
+ }
322
+ getPosts(page, pageSize) {
323
+ console.log(this.blogPostTag);
324
+ this.resourceService
325
+ .getPublicPosts(this.subscriptionId, page, pageSize, '', this.blogPostTag?.tag_category_id)
326
+ .subscribe(response => {
327
+ console.log(response.posts, this.blogPostTag);
328
+ this.posts = response.posts
329
+ .filter(post => post.tags?.some(tag => tag.tag_category_id === this.blogPostTag?.tag_category_id))
330
+ .sort((a, b) => new Date(b.published_at).getTime() - new Date(a.published_at).getTime())
331
+ .slice(0, 12);
332
+ });
333
+ }
334
+ getTestimonialsPosts(page, pageSize) {
335
+ console.log(this.blogTestimonialsPostTag?.tag_category_id, 'sop');
336
+ this.resourceService
337
+ .getPublicPosts(this.subscriptionId, page, pageSize, '', this.blogTestimonialsPostTag?.tag_category_id)
338
+ .subscribe(response => {
339
+ console.log(response.posts);
340
+ this.testimonialsPosts = response.posts
341
+ .filter(post => post.tags?.some(tag => tag.tag_category_id ===
342
+ this.blogTestimonialsPostTag?.tag_category_id))
343
+ .sort((a, b) => new Date(b.published_at).getTime() - new Date(a.published_at).getTime())
344
+ .slice(0, 12);
345
+ console.log(this.testimonialsPosts, 'new');
346
+ });
347
+ }
348
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceCaseStudiesComponent, deps: [{ token: ResourceService }, { token: i2.TagService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
349
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceCaseStudiesComponent, selector: "pw-resource-blog", usesInheritance: true, ngImport: i0, template: "<pw-resource-header></pw-resource-header>\n\n<section class=\"bg-white pricing-section\">\n <div class=\"nce-banner\">\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\">\n\n <!-- Left Content -->\n <div class=\"text-content\">\n <div class=\"nce-heading\">\n <h1 class=\"nce-header mb-4\">\n Case Studies\n <span class=\"blue-text\"></span>\n </h1>\n </div>\n </div>\n\n <!-- Add directly below .text-content, still inside .container -->\n <div class=\"text-extension mt-4\">\n\n <div class=\"cta-buttons d-flex gap-3 flex-wrap mt-3\">\n <p class=\"intro\">\n Real MSPs. Real results.<br />\n </p>\n <p class=\"intro\">\n See how IT businesses around the<br />\n world are using CloudOlive to fix billing<br />\n bottlenecks, reclaim lost revenue, and<br />\n unlock new levels of profitability. No<br />\n fluff - just proven outcomes.\n </p>\n\n <!-- New buttons -->\n <div class=\"d-flex gap-3 mt-3 flex-wrap mb-5 cta-tab justify-content-center\">\n <a href=\"resources/case-studies#reviews\" class=\"cta-btn filled\">Jump to Reviews</a>\n <a href=\"resources/case-studies#case-studies\" class=\"cta-btn filled\">Jump to Case Studies</a>\n </div>\n </div>\n\n </div>\n\n <!-- Right Content -->\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <img class=\"nce-math-img\"\n src=\"/assets/img/resource/math.png\"\n alt=\"NCEasy laptop screen\" />\n <img class=\"nce-laptop-img\"\n src=\"/assets/img/resource/case-studies-man.png\"\n alt=\"NCEasy laptop screen\" />\n </div>\n\n </div>\n </div>\n <hr class=\"nce-divider\" />\n</section>\n\n<pw-testimonial-card [posts]=\"testimonialsPosts\" [postHeader]=\"'Testimonials'\" id=\"reviews\"></pw-testimonial-card>\n<pw-case-studies-card id=\"case-studies\"></pw-case-studies-card>\n\n<pw-trial-4-contact-us></pw-trial-4-contact-us>\n", styles: [".cta-btn{display:inline-block;background:var(--text-color, black);color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.cta-btn:hover{background-color:#fff!important;color:var(--text-color, black)!important}.text-extension{max-width:560px;margin-top:6rem!important}.text-extension .intro{font-size:2rem;line-height:3rem;font-weight:100;color:#000;margin-bottom:1rem}.text-extension .cta-buttons{margin-top:2rem!important}.text-extension .note{font-size:1.2rem;color:#000;margin-top:1rem;margin-left:3rem}.nce-banner{background-image:url(/assets/img/resource/resource2.png);background-position:center;background-repeat:no-repeat;color:#000}.nce-banner .text-content{max-width:500px;text-align:left;margin-bottom:75rem}.nce-banner .text-content h1{margin-bottom:1.5rem;line-height:1.2}.nce-banner .text-content .intro{font-size:1.2rem;margin:1rem 0;color:#000}.nce-banner .text-content .cta-btn{display:inline-block;background:#000;color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem}.nce-banner .text-content .cta-buttons{margin-top:2rem}.nce-banner .text-content .note{margin-top:1rem;margin-left:5.6rem;font-size:.9rem;color:#555}.nce-banner .nce-header{font-weight:500;color:#fff!important;font-size:4.5rem!important}.nce-banner .blue-text{font-weight:100}@media (width <= 991px){.nce-banner .text-content{margin-top:6.5rem;margin-bottom:0;text-align:center;max-width:360px}.nce-banner .text-content h1{margin-bottom:6.5rem!important}.nce-banner .nce-header{font-size:2.5rem!important}.nce-banner .cta-buttons{margin-top:5rem!important;justify-content:center!important}.nce-banner .note{margin-left:8rem!important}.nce-banner .image-content{position:relative;margin-bottom:3rem;height:230px}.nce-banner .image-content .floating-box{position:absolute;top:25px;left:3rem;transform:translate(-50%) rotate(-10deg);background:#fff;padding:.75rem 1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;z-index:3;display:inline-block;width:auto}.nce-banner .image-content .floating-box img{width:24px;margin-bottom:.4rem}.nce-banner .image-content .floating-box .label{font-size:.75rem;color:#333;margin:0;line-height:1.2}.nce-banner .image-content .floating-box .count{font-size:1.2rem;font-weight:700;color:#000;margin-top:.25rem}.nce-banner .image-content .screen-img{max-width:280px;position:absolute;bottom:0;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003}.nce-banner .image-content .person-img{max-width:170px;width:100%;position:relative;z-index:3;left:13rem;top:-11.35rem}.nce-banner .image-content .nce-laptop-img{max-width:350px;width:100%;position:relative;z-index:3;left:2%;height:auto!important;top:11rem}.nce-banner .image-content .nce-math-img{max-width:300px;width:100%;position:relative;z-index:3;left:15%;top:27rem}}@media (width >= 991px){.nce-banner .text-content{position:absolute;width:760px}}.white-content{background:#fff;color:#000}.white-content .intro{font-size:1.2rem;color:#000}.white-content .note{font-size:.85rem;margin-top:1rem;color:#555}@media (width >= 991px){.section-outer{padding-top:7rem!important}}@media (width >= 768px) and (width <= 991px){.nce-laptop-img{left:-17%!important;height:auto!important;top:24rem!important}.nce-math-img{left:36%!important;top:22rem!important}}@media (width >= 991px) and (width <= 1200px){.text-extension{max-width:760px;position:absolute;margin-bottom:23rem!important}.nce-divider{top:63.5rem;position:absolute!important}.nce-banner{padding-bottom:90px!important}}@media (width >= 1200px){.text-extension{max-width:760px;position:absolute;margin-bottom:28rem!important}}@media (width >= 1200px){.nce-divider{top:59.5rem;position:absolute!important}.cta-tab{margin-bottom:5rem!important}}@media (width >= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .nce-laptop-img{top:4rem;right:3rem;position:relative}.image-content .nce-math-img{bottom:9rem;left:61rem;position:relative;width:450px!important}}@media (width <= 786px){.text-extension{position:absolute;margin:3rem;margin-top:18rem!important}}@media (width >= 786px) and (width <= 991px){.text-extension{position:absolute;margin:3rem;margin-top:24rem!important}}@media (width >= 786px) and (width <= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .nce-laptop-img{top:7rem;left:5%;position:relative}.image-content .nce-math-img{bottom:9rem;left:34rem;position:relative;width:350px!important}}@media (width <= 768px){.nce-laptop-img{top:33rem!important}.nce-math-img{top:45rem!important}.cta-btn{justify-content:center}.pricing-section{height:1300px!important}.nce-divider{margin-top:49rem!important}.intro{font-size:1.7rem!important}}@media (width >= 768px) and (width <= 991px){.nce-laptop-img{top:36rem!important}.nce-math-img{top:33rem!important}.cta-btn{justify-content:center}.pricing-section{height:1090px!important}.nce-divider{margin-top:36rem!important}}@media (width >= 991px){.nce-laptop-img{max-width:100%!important;height:auto}.nce-banner{padding-top:768px;padding-bottom:42px;overflow:hidden}.section-fadeout{height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.nce-heading{width:700px!important}::ng-deep .vault-section{max-width:1580px!important;padding-left:48px!important;padding-top:130px!important}::ng-deep .vault-card{width:330px!important;height:370px!important}::ng-deep .vault-btn{width:224px!important}}@media (width <= 991px){.billing-section{flex-direction:column!important;gap:3rem}.billing-section .billing-section1,.billing-section .billing-section2{width:90%!important}.billing-section .billing-section1{margin-left:1.5rem;margin-top:4rem}.nce-banner{background-image:url(/assets/img/resource/resource2.png)}}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}.outer-section-fadeout{top:62rem!important}}\n", "::ng-deep .navbar-nav .nav-item .nav-link{color:#fff!important}.bold{font-weight:700}.nce-heading{margin-bottom:2rem}.nce-note{margin-top:1rem;font-size:.85rem;color:#555}.nce-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}\n", "::ng-deep .ql-editor p{font-size:1.5rem!important;line-height:1.8rem!important;color:#333!important}.msp-vault-section{padding:60px 0;background:#fff}.msp-vault-section .vault-heading{font-size:4.5rem;font-weight:300;color:#000!important}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}.msp-vault-section .vault-card{background-color:#fff;border-radius:30px;box-shadow:0 5px 20px #0000000d;padding:25px;text-align:center;width:338px;height:auto}.msp-vault-section .vault-card h5{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#000!important}.msp-vault-section .vault-card p{font-size:1.5rem;color:#444}.msp-vault-section .vault-card img,.msp-vault-section .vault-card iframe{height:180px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card .vault-btn{background-color:#000!important;margin-top:10px;color:#fff;width:240px;padding:10px 24px;border-radius:24px;border:none;font-size:1.5rem;margin-left:2rem;font-weight:500;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left}.msp-vault-section .vault-card .vault-btn:hover{background-color:#333}@media (width >= 768px) and (width <= 1200px){.resource-title{font-size:1.4rem!important}}textarea{font-size:1.4rem!important}@media (width <= 768px){.resource-title{font-size:1.2rem!important}.container{padding:7rem 3rem 1rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-card{width:100%!important}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){::ng-deep .trial-meeting-section:before{top:600px!important}::ng-deep .dashboard{margin-bottom:1rem!important}section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}section.bg-white.text-center.extra-top-padding:before,section.bg-white.text-center.extra-top-padding:after{content:\"\";position:absolute;background:url(/assets/img/logos/background-banner.png) no-repeat;background-size:contain;width:160px;height:450px;z-index:0;opacity:.8}section.bg-white.text-center.extra-top-padding:before{top:500px;left:0}section.bg-white.text-center.extra-top-padding:after{top:90px;right:0}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 1200px){.resource-card{width:100%!important}.release-notes-section{padding:7rem 0!important}}.resource-section{padding:5rem 0;position:relative}.resource-section .section-heading{font-weight:700;font-size:2.4rem;color:#000}.resource-section .view-all{font-size:1.5rem;font-weight:600;color:#000;text-decoration:none;margin-bottom:2.5rem}.resource-section .view-all:hover{color:var(--first)}.resource-section .resource-card{background:#fff;width:353px;border-radius:30px;padding:3rem;box-shadow:0 20px 40px #00000014;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;height:100%}.resource-section .resource-card .resource-title{font-size:1.5rem;line-height:2rem;font-weight:300;color:#000;margin-bottom:16px;text-align:center;height:3.5rem}.resource-section .resource-card .resource-image{width:100%;height:204px!important;object-fit:cover;border-radius:16px;margin-bottom:20px;margin-top:3.5rem!important}.resource-section .resource-card .read-now-btn{background-color:var(--text-color, black);color:#fff;text-decoration:none;padding:14px 20px;font-size:1.5rem;font-weight:500;border-radius:40px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .3s ease;width:100%;max-width:240px;margin:0 auto;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.resource-section .resource-card .read-now-btn .arrow{font-weight:600;font-size:1.5rem}.resource-section .resource-card .read-now-btn:hover{background:#fff;color:var(--text-color, black)!important}@media (width <= 768px){.resource-section .resource-section .cards-row{gap:3rem;margin-top:3rem!important}.resource-section .section-heading,.resource-section .view-all{width:100%;text-align:center;margin-bottom:1rem}.resource-section .resource-card .read-now-btn{flex-direction:row;justify-content:center;gap:8px}}@media (width >= 768px) and (width <= 1200px){.nce-hero-section{padding:0 6rem!important}.cards-row{justify-content:center}}.resource-body-section{background-color:#fff}.resource-body-section .container{padding:0 1.5rem;padding-bottom:4rem!important;padding-top:7rem!important;max-width:850px;margin:0 auto;text-align:left}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:var(--first)!important;text-decoration:none;font-weight:500}.nce-book-section{background:#fff;padding-top:7rem;padding-bottom:0}.nce-book-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-book-section .nce-contact{line-height:1.6;font-size:1.5rem}.nce-book-section .nce-contact a{text-decoration:underline;color:#000;margin:0 .2rem}.nce-offer-section{background:#fff;padding-top:2rem}.nce-offer-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-offer-section .nce-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.25em!important}.nce-offer-section .nce-title strong{font-weight:700}.nce-offer-section .nce-description{font-size:1.5rem;line-height:1.8rem;color:#333;margin-bottom:1.5rem}.nce-offer-section .nce-offer-list{font-size:1.1rem;line-height:1.5rem;margin-bottom:2.5rem;margin-top:2.5rem}.nce-offer-section .nce-offer-list p{font-size:1.5rem;margin:.5rem 0;font-weight:400}.nce-offer-section .nce-signup{margin-bottom:2.5rem}.nce-offer-section .nce-signup .signup-link{font-size:1.5rem;font-weight:400;text-decoration:underline;color:#000}@media (width <= 768px){.nce-offer-section .nce-book-section{padding-top:5rem!important}.nce-offer-section .container{text-align:left}.nce-offer-section .nce-title{font-size:1.5rem}.nce-offer-section .nce-description,.nce-offer-section .nce-offer-list,.nce-offer-section .nce-signup,.nce-offer-section .signup-link,.nce-offer-section .nce-contact,.nce-offer-section .nce-offer-list p{font-size:1.2rem!important}}.nce-offer-intro{font-size:1.5rem;font-weight:400}.outer-section-fadeout{position:absolute;top:139rem;height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.body-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}@media (width <= 768px){.nce-book-section{padding-top:5rem!important}.nce-contact{font-size:1.2rem!important}}::ng-deep .body-quill{border-width:0!important;max-width:1000px;display:block;margin-left:auto;margin-right:auto}::ng-deep .ql-editor h1{font-size:2rem!important;line-height:2.3rem!important;color:#333!important}::ng-deep .ql-editor li{font-size:1.3rem!important;color:#333!important}::ng-deep .p-inputtextarea{border-radius:.5rem;border-color:#ced4da;font-size:1rem}.card{background-color:#fff;border-radius:12px}.comment-row{gap:2rem;padding-bottom:5rem;max-width:1000px;display:block;margin-left:auto;margin-right:auto}.comment-label{font-size:1.5rem!important}.response-row{max-width:1000px;display:block;margin-left:auto;margin-right:auto;margin-top:6rem!important}\n"], dependencies: [{ kind: "component", type: i3$1.Trial4ContactUsComponent, selector: "pw-trial-4-contact-us", inputs: ["subscriptionId", "sourceId", "masterSubscriptionId", "experimentName", "microserviceName"] }, { kind: "component", type: i4.ResourceHeaderComponent, selector: "pw-resource-header" }, { kind: "directive", type: i3.LazyImgDirective, selector: "img" }, { kind: "component", type: TestimonialCardListComponent, selector: "pw-testimonial-card", inputs: ["posts", "postHeader"] }, { kind: "component", type: CaseStudyCardComponent, selector: "pw-case-studies-card", inputs: ["showCaseStudyHeader"] }] }); }
350
+ }
351
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceCaseStudiesComponent, decorators: [{
352
+ type: Component,
353
+ args: [{ selector: 'pw-resource-blog', template: "<pw-resource-header></pw-resource-header>\n\n<section class=\"bg-white pricing-section\">\n <div class=\"nce-banner\">\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\">\n\n <!-- Left Content -->\n <div class=\"text-content\">\n <div class=\"nce-heading\">\n <h1 class=\"nce-header mb-4\">\n Case Studies\n <span class=\"blue-text\"></span>\n </h1>\n </div>\n </div>\n\n <!-- Add directly below .text-content, still inside .container -->\n <div class=\"text-extension mt-4\">\n\n <div class=\"cta-buttons d-flex gap-3 flex-wrap mt-3\">\n <p class=\"intro\">\n Real MSPs. Real results.<br />\n </p>\n <p class=\"intro\">\n See how IT businesses around the<br />\n world are using CloudOlive to fix billing<br />\n bottlenecks, reclaim lost revenue, and<br />\n unlock new levels of profitability. No<br />\n fluff - just proven outcomes.\n </p>\n\n <!-- New buttons -->\n <div class=\"d-flex gap-3 mt-3 flex-wrap mb-5 cta-tab justify-content-center\">\n <a href=\"resources/case-studies#reviews\" class=\"cta-btn filled\">Jump to Reviews</a>\n <a href=\"resources/case-studies#case-studies\" class=\"cta-btn filled\">Jump to Case Studies</a>\n </div>\n </div>\n\n </div>\n\n <!-- Right Content -->\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <img class=\"nce-math-img\"\n src=\"/assets/img/resource/math.png\"\n alt=\"NCEasy laptop screen\" />\n <img class=\"nce-laptop-img\"\n src=\"/assets/img/resource/case-studies-man.png\"\n alt=\"NCEasy laptop screen\" />\n </div>\n\n </div>\n </div>\n <hr class=\"nce-divider\" />\n</section>\n\n<pw-testimonial-card [posts]=\"testimonialsPosts\" [postHeader]=\"'Testimonials'\" id=\"reviews\"></pw-testimonial-card>\n<pw-case-studies-card id=\"case-studies\"></pw-case-studies-card>\n\n<pw-trial-4-contact-us></pw-trial-4-contact-us>\n", styles: [".cta-btn{display:inline-block;background:var(--text-color, black);color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.cta-btn:hover{background-color:#fff!important;color:var(--text-color, black)!important}.text-extension{max-width:560px;margin-top:6rem!important}.text-extension .intro{font-size:2rem;line-height:3rem;font-weight:100;color:#000;margin-bottom:1rem}.text-extension .cta-buttons{margin-top:2rem!important}.text-extension .note{font-size:1.2rem;color:#000;margin-top:1rem;margin-left:3rem}.nce-banner{background-image:url(/assets/img/resource/resource2.png);background-position:center;background-repeat:no-repeat;color:#000}.nce-banner .text-content{max-width:500px;text-align:left;margin-bottom:75rem}.nce-banner .text-content h1{margin-bottom:1.5rem;line-height:1.2}.nce-banner .text-content .intro{font-size:1.2rem;margin:1rem 0;color:#000}.nce-banner .text-content .cta-btn{display:inline-block;background:#000;color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem}.nce-banner .text-content .cta-buttons{margin-top:2rem}.nce-banner .text-content .note{margin-top:1rem;margin-left:5.6rem;font-size:.9rem;color:#555}.nce-banner .nce-header{font-weight:500;color:#fff!important;font-size:4.5rem!important}.nce-banner .blue-text{font-weight:100}@media (width <= 991px){.nce-banner .text-content{margin-top:6.5rem;margin-bottom:0;text-align:center;max-width:360px}.nce-banner .text-content h1{margin-bottom:6.5rem!important}.nce-banner .nce-header{font-size:2.5rem!important}.nce-banner .cta-buttons{margin-top:5rem!important;justify-content:center!important}.nce-banner .note{margin-left:8rem!important}.nce-banner .image-content{position:relative;margin-bottom:3rem;height:230px}.nce-banner .image-content .floating-box{position:absolute;top:25px;left:3rem;transform:translate(-50%) rotate(-10deg);background:#fff;padding:.75rem 1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;z-index:3;display:inline-block;width:auto}.nce-banner .image-content .floating-box img{width:24px;margin-bottom:.4rem}.nce-banner .image-content .floating-box .label{font-size:.75rem;color:#333;margin:0;line-height:1.2}.nce-banner .image-content .floating-box .count{font-size:1.2rem;font-weight:700;color:#000;margin-top:.25rem}.nce-banner .image-content .screen-img{max-width:280px;position:absolute;bottom:0;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003}.nce-banner .image-content .person-img{max-width:170px;width:100%;position:relative;z-index:3;left:13rem;top:-11.35rem}.nce-banner .image-content .nce-laptop-img{max-width:350px;width:100%;position:relative;z-index:3;left:2%;height:auto!important;top:11rem}.nce-banner .image-content .nce-math-img{max-width:300px;width:100%;position:relative;z-index:3;left:15%;top:27rem}}@media (width >= 991px){.nce-banner .text-content{position:absolute;width:760px}}.white-content{background:#fff;color:#000}.white-content .intro{font-size:1.2rem;color:#000}.white-content .note{font-size:.85rem;margin-top:1rem;color:#555}@media (width >= 991px){.section-outer{padding-top:7rem!important}}@media (width >= 768px) and (width <= 991px){.nce-laptop-img{left:-17%!important;height:auto!important;top:24rem!important}.nce-math-img{left:36%!important;top:22rem!important}}@media (width >= 991px) and (width <= 1200px){.text-extension{max-width:760px;position:absolute;margin-bottom:23rem!important}.nce-divider{top:63.5rem;position:absolute!important}.nce-banner{padding-bottom:90px!important}}@media (width >= 1200px){.text-extension{max-width:760px;position:absolute;margin-bottom:28rem!important}}@media (width >= 1200px){.nce-divider{top:59.5rem;position:absolute!important}.cta-tab{margin-bottom:5rem!important}}@media (width >= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .nce-laptop-img{top:4rem;right:3rem;position:relative}.image-content .nce-math-img{bottom:9rem;left:61rem;position:relative;width:450px!important}}@media (width <= 786px){.text-extension{position:absolute;margin:3rem;margin-top:18rem!important}}@media (width >= 786px) and (width <= 991px){.text-extension{position:absolute;margin:3rem;margin-top:24rem!important}}@media (width >= 786px) and (width <= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .nce-laptop-img{top:7rem;left:5%;position:relative}.image-content .nce-math-img{bottom:9rem;left:34rem;position:relative;width:350px!important}}@media (width <= 768px){.nce-laptop-img{top:33rem!important}.nce-math-img{top:45rem!important}.cta-btn{justify-content:center}.pricing-section{height:1300px!important}.nce-divider{margin-top:49rem!important}.intro{font-size:1.7rem!important}}@media (width >= 768px) and (width <= 991px){.nce-laptop-img{top:36rem!important}.nce-math-img{top:33rem!important}.cta-btn{justify-content:center}.pricing-section{height:1090px!important}.nce-divider{margin-top:36rem!important}}@media (width >= 991px){.nce-laptop-img{max-width:100%!important;height:auto}.nce-banner{padding-top:768px;padding-bottom:42px;overflow:hidden}.section-fadeout{height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.nce-heading{width:700px!important}::ng-deep .vault-section{max-width:1580px!important;padding-left:48px!important;padding-top:130px!important}::ng-deep .vault-card{width:330px!important;height:370px!important}::ng-deep .vault-btn{width:224px!important}}@media (width <= 991px){.billing-section{flex-direction:column!important;gap:3rem}.billing-section .billing-section1,.billing-section .billing-section2{width:90%!important}.billing-section .billing-section1{margin-left:1.5rem;margin-top:4rem}.nce-banner{background-image:url(/assets/img/resource/resource2.png)}}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}.outer-section-fadeout{top:62rem!important}}\n", "::ng-deep .navbar-nav .nav-item .nav-link{color:#fff!important}.bold{font-weight:700}.nce-heading{margin-bottom:2rem}.nce-note{margin-top:1rem;font-size:.85rem;color:#555}.nce-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}\n", "::ng-deep .ql-editor p{font-size:1.5rem!important;line-height:1.8rem!important;color:#333!important}.msp-vault-section{padding:60px 0;background:#fff}.msp-vault-section .vault-heading{font-size:4.5rem;font-weight:300;color:#000!important}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}.msp-vault-section .vault-card{background-color:#fff;border-radius:30px;box-shadow:0 5px 20px #0000000d;padding:25px;text-align:center;width:338px;height:auto}.msp-vault-section .vault-card h5{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#000!important}.msp-vault-section .vault-card p{font-size:1.5rem;color:#444}.msp-vault-section .vault-card img,.msp-vault-section .vault-card iframe{height:180px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card .vault-btn{background-color:#000!important;margin-top:10px;color:#fff;width:240px;padding:10px 24px;border-radius:24px;border:none;font-size:1.5rem;margin-left:2rem;font-weight:500;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left}.msp-vault-section .vault-card .vault-btn:hover{background-color:#333}@media (width >= 768px) and (width <= 1200px){.resource-title{font-size:1.4rem!important}}textarea{font-size:1.4rem!important}@media (width <= 768px){.resource-title{font-size:1.2rem!important}.container{padding:7rem 3rem 1rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-card{width:100%!important}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){::ng-deep .trial-meeting-section:before{top:600px!important}::ng-deep .dashboard{margin-bottom:1rem!important}section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}section.bg-white.text-center.extra-top-padding:before,section.bg-white.text-center.extra-top-padding:after{content:\"\";position:absolute;background:url(/assets/img/logos/background-banner.png) no-repeat;background-size:contain;width:160px;height:450px;z-index:0;opacity:.8}section.bg-white.text-center.extra-top-padding:before{top:500px;left:0}section.bg-white.text-center.extra-top-padding:after{top:90px;right:0}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 1200px){.resource-card{width:100%!important}.release-notes-section{padding:7rem 0!important}}.resource-section{padding:5rem 0;position:relative}.resource-section .section-heading{font-weight:700;font-size:2.4rem;color:#000}.resource-section .view-all{font-size:1.5rem;font-weight:600;color:#000;text-decoration:none;margin-bottom:2.5rem}.resource-section .view-all:hover{color:var(--first)}.resource-section .resource-card{background:#fff;width:353px;border-radius:30px;padding:3rem;box-shadow:0 20px 40px #00000014;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;height:100%}.resource-section .resource-card .resource-title{font-size:1.5rem;line-height:2rem;font-weight:300;color:#000;margin-bottom:16px;text-align:center;height:3.5rem}.resource-section .resource-card .resource-image{width:100%;height:204px!important;object-fit:cover;border-radius:16px;margin-bottom:20px;margin-top:3.5rem!important}.resource-section .resource-card .read-now-btn{background-color:var(--text-color, black);color:#fff;text-decoration:none;padding:14px 20px;font-size:1.5rem;font-weight:500;border-radius:40px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .3s ease;width:100%;max-width:240px;margin:0 auto;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.resource-section .resource-card .read-now-btn .arrow{font-weight:600;font-size:1.5rem}.resource-section .resource-card .read-now-btn:hover{background:#fff;color:var(--text-color, black)!important}@media (width <= 768px){.resource-section .resource-section .cards-row{gap:3rem;margin-top:3rem!important}.resource-section .section-heading,.resource-section .view-all{width:100%;text-align:center;margin-bottom:1rem}.resource-section .resource-card .read-now-btn{flex-direction:row;justify-content:center;gap:8px}}@media (width >= 768px) and (width <= 1200px){.nce-hero-section{padding:0 6rem!important}.cards-row{justify-content:center}}.resource-body-section{background-color:#fff}.resource-body-section .container{padding:0 1.5rem;padding-bottom:4rem!important;padding-top:7rem!important;max-width:850px;margin:0 auto;text-align:left}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:var(--first)!important;text-decoration:none;font-weight:500}.nce-book-section{background:#fff;padding-top:7rem;padding-bottom:0}.nce-book-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-book-section .nce-contact{line-height:1.6;font-size:1.5rem}.nce-book-section .nce-contact a{text-decoration:underline;color:#000;margin:0 .2rem}.nce-offer-section{background:#fff;padding-top:2rem}.nce-offer-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-offer-section .nce-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.25em!important}.nce-offer-section .nce-title strong{font-weight:700}.nce-offer-section .nce-description{font-size:1.5rem;line-height:1.8rem;color:#333;margin-bottom:1.5rem}.nce-offer-section .nce-offer-list{font-size:1.1rem;line-height:1.5rem;margin-bottom:2.5rem;margin-top:2.5rem}.nce-offer-section .nce-offer-list p{font-size:1.5rem;margin:.5rem 0;font-weight:400}.nce-offer-section .nce-signup{margin-bottom:2.5rem}.nce-offer-section .nce-signup .signup-link{font-size:1.5rem;font-weight:400;text-decoration:underline;color:#000}@media (width <= 768px){.nce-offer-section .nce-book-section{padding-top:5rem!important}.nce-offer-section .container{text-align:left}.nce-offer-section .nce-title{font-size:1.5rem}.nce-offer-section .nce-description,.nce-offer-section .nce-offer-list,.nce-offer-section .nce-signup,.nce-offer-section .signup-link,.nce-offer-section .nce-contact,.nce-offer-section .nce-offer-list p{font-size:1.2rem!important}}.nce-offer-intro{font-size:1.5rem;font-weight:400}.outer-section-fadeout{position:absolute;top:139rem;height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.body-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}@media (width <= 768px){.nce-book-section{padding-top:5rem!important}.nce-contact{font-size:1.2rem!important}}::ng-deep .body-quill{border-width:0!important;max-width:1000px;display:block;margin-left:auto;margin-right:auto}::ng-deep .ql-editor h1{font-size:2rem!important;line-height:2.3rem!important;color:#333!important}::ng-deep .ql-editor li{font-size:1.3rem!important;color:#333!important}::ng-deep .p-inputtextarea{border-radius:.5rem;border-color:#ced4da;font-size:1rem}.card{background-color:#fff;border-radius:12px}.comment-row{gap:2rem;padding-bottom:5rem;max-width:1000px;display:block;margin-left:auto;margin-right:auto}.comment-label{font-size:1.5rem!important}.response-row{max-width:1000px;display:block;margin-left:auto;margin-right:auto;margin-top:6rem!important}\n"] }]
354
+ }], ctorParameters: () => [{ type: ResourceService }, { type: i2.TagService }, { type: i0.Injector }] });
355
+
356
+ class ResourceCompanyCardComponent {
357
+ constructor() {
358
+ this.header = '';
359
+ this.data = [];
360
+ this.vendor = false;
361
+ this.filteredData = [];
362
+ this.first = 0;
363
+ this.rows = 12;
364
+ }
365
+ ngOnChanges() {
366
+ this.search();
367
+ }
368
+ search(keywords) {
369
+ console.log(this.data, keywords);
370
+ if (keywords) {
371
+ this.filteredData = this.data.filter(x => x.name.toLowerCase().includes(keywords.toLowerCase()));
372
+ }
373
+ else {
374
+ this.filteredData = [...this.data];
375
+ }
376
+ }
377
+ onPageChange(event) {
378
+ this.first = event.first;
379
+ this.rows = event.rows;
380
+ }
381
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceCompanyCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
382
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceCompanyCardComponent, selector: "pw-resource-company-card", inputs: { header: "header", data: "data", vendor: "vendor" }, usesOnChanges: true, ngImport: i0, template: "<div [ngClass]=\"{ 'vendors-distributor-wrapper': !vendor }\">\n <div class=\"d-flex justify-content-between align-items-center mb-3 search-container\">\n <div>\n <span class=\"int-span\">{{header}}</span>\n </div>\n <div class=\"search-wrapper position-relative\">\n <i class=\"fa fa-search search-icon\"></i>\n <input type=\"text\"\n (keyup)=\"search($event.target.value)\"\n placeholder=\"Search eg security\"\n class=\"search-input\" />\n </div>\n\n </div>\n\n <div class=\"row justify-content-around\">\n <div class=\"col-md-3 mt-4\"\n *ngFor=\"let img of filteredData | slice:this.first:this.first+this.rows\">\n <div class=\"boxes d-flex align-items-center justify-content-center\">\n <img [src]=\"img.companyImg\"\n alt=\"\"\n class=\"vebdor-icon\" />\n </div>\n </div>\n\n <div class=\"customPaginator d-flex align-items-center mt-5 justify-content-center\"\n [ngClass]=\"vendor ? 'my-5' : 'mt-5'\">\n <p-paginator (onPageChange)=\"onPageChange($event)\"\n [first]=\"first\"\n [rows]=\"rows\"\n [totalRecords]=\"filteredData.length-1\"></p-paginator>\n </div>\n </div>\n</div>\n", styles: ["input[type=text]{color:#000;border:3px solid #d4d4d4;padding:5px 30px;border-radius:29px}::placeholder{color:#d4d4d4}.vendors-distributor-wrapper{margin-top:5rem!important}.int-span{text-transform:uppercase;font-size:2.5rem;color:var(--first)}.boxes{border:2px dashed #d4d4d4;background-color:#fff;border-radius:16px;padding:20px 30px;height:10rem;flex-direction:column}.search-wrapper{position:relative;width:300px}.search-input{width:100%;padding:10px 20px 10px 40px;border:2px solid #d4d4d4;border-radius:30px;font-size:1rem;color:#000;background-color:#fff}.search-input::placeholder{color:silver}.search-input:focus{outline:none;border-color:var(--first)}.search-icon{position:absolute;top:50%;left:14px;transform:translateY(-50%);color:#d4d4d4;font-size:1.1rem}.vendor-icon{width:100%!important}@media (width <= 768px){.vendor-icon{width:50!important}.search-container{flex-wrap:wrap!important;gap:2rem}.int-span{font-size:1.75rem}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.LazyImgDirective, selector: "img" }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }] }); }
383
+ }
384
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceCompanyCardComponent, decorators: [{
385
+ type: Component,
386
+ args: [{ selector: 'pw-resource-company-card', template: "<div [ngClass]=\"{ 'vendors-distributor-wrapper': !vendor }\">\n <div class=\"d-flex justify-content-between align-items-center mb-3 search-container\">\n <div>\n <span class=\"int-span\">{{header}}</span>\n </div>\n <div class=\"search-wrapper position-relative\">\n <i class=\"fa fa-search search-icon\"></i>\n <input type=\"text\"\n (keyup)=\"search($event.target.value)\"\n placeholder=\"Search eg security\"\n class=\"search-input\" />\n </div>\n\n </div>\n\n <div class=\"row justify-content-around\">\n <div class=\"col-md-3 mt-4\"\n *ngFor=\"let img of filteredData | slice:this.first:this.first+this.rows\">\n <div class=\"boxes d-flex align-items-center justify-content-center\">\n <img [src]=\"img.companyImg\"\n alt=\"\"\n class=\"vebdor-icon\" />\n </div>\n </div>\n\n <div class=\"customPaginator d-flex align-items-center mt-5 justify-content-center\"\n [ngClass]=\"vendor ? 'my-5' : 'mt-5'\">\n <p-paginator (onPageChange)=\"onPageChange($event)\"\n [first]=\"first\"\n [rows]=\"rows\"\n [totalRecords]=\"filteredData.length-1\"></p-paginator>\n </div>\n </div>\n</div>\n", styles: ["input[type=text]{color:#000;border:3px solid #d4d4d4;padding:5px 30px;border-radius:29px}::placeholder{color:#d4d4d4}.vendors-distributor-wrapper{margin-top:5rem!important}.int-span{text-transform:uppercase;font-size:2.5rem;color:var(--first)}.boxes{border:2px dashed #d4d4d4;background-color:#fff;border-radius:16px;padding:20px 30px;height:10rem;flex-direction:column}.search-wrapper{position:relative;width:300px}.search-input{width:100%;padding:10px 20px 10px 40px;border:2px solid #d4d4d4;border-radius:30px;font-size:1rem;color:#000;background-color:#fff}.search-input::placeholder{color:silver}.search-input:focus{outline:none;border-color:var(--first)}.search-icon{position:absolute;top:50%;left:14px;transform:translateY(-50%);color:#d4d4d4;font-size:1.1rem}.vendor-icon{width:100%!important}@media (width <= 768px){.vendor-icon{width:50!important}.search-container{flex-wrap:wrap!important;gap:2rem}.int-span{font-size:1.75rem}}\n"] }]
387
+ }], propDecorators: { header: [{
388
+ type: Input
389
+ }], data: [{
390
+ type: Input
391
+ }], vendor: [{
392
+ type: Input
393
+ }] } });
394
+
395
+ class ResourceIntegrationComponent extends AppBaseComponent {
396
+ constructor(sanitizer, injector) {
397
+ super(injector);
398
+ this.sanitizer = sanitizer;
399
+ this.distributorsData = CompanyData?.distributorsData;
400
+ this.vendorsData = CompanyData?.vendorsData;
401
+ this.textColor = this.appConfig?.color_codes?.text;
402
+ this.releaseNotesLink = '/resources/product-release-notes';
403
+ this.q1NotesLink = '/resources/product-release-q1-2025';
404
+ this.q3NotesLink = '/resources/product-release-q3-2024';
405
+ this.q4NotesLink = '/resources/product-release-q4-2024';
406
+ this.videoWebinarLoaded = false;
407
+ this.videoDemoLoaded = false;
408
+ this.youtubeVideoId = 'R7Vk219zbhA';
409
+ this.videoTitle = 'CloudOlive Overview';
410
+ }
411
+ ngOnInit() {
412
+ document.documentElement.style.setProperty('--text-color', this.textColor);
413
+ }
414
+ loadMicrosoftVideo() {
415
+ const baseUrl = `https://www.youtube.com/embed/${this.youtubeVideoId}?autoplay=1`;
416
+ // baseUrl is a trusted internal source (e.g. YouTube embed URL)
417
+ this.sanitizedMicrosoftVideoUrl = this.sanitizer.bypassSecurityTrustResourceUrl(baseUrl); // NOSONAR
418
+ this.videoDemoLoaded = true;
419
+ }
420
+ loadKeseyaVideo() {
421
+ const baseUrl = `https://www.youtube.com/embed/${this.youtubeVideoId}?autoplay=1`;
422
+ // baseUrl is a trusted internal source (e.g. YouTube embed URL)
423
+ this.sanitizedKesyaVideoUrl = this.sanitizer.bypassSecurityTrustResourceUrl(baseUrl); // NOSONAR
424
+ this.videoWebinarLoaded = true;
425
+ }
426
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceIntegrationComponent, deps: [{ token: i1$1.DomSanitizer }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
427
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceIntegrationComponent, selector: "pw-resource-integration", usesInheritance: true, ngImport: i0, template: "<pw-resource-header></pw-resource-header>\n\n<section class=\"bg-white section-integration\">\n <div class=\"nce-banner\">\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\">\n\n <!-- Left Content -->\n <div class=\"text-content\">\n <div class=\"nce-vendor-heading\">\n <h1 class=\"nce-header mb-4\">\n Map any vendor<br /> or distributor to your PSA.\n <span class=\"blue-text\"></span>\n </h1>\n </div>\n </div>\n\n <div class=\"sub-text-extension mt-4\">\n <p class=\"intro\">\n CloudOlive is <span class=\"fw-bold\">100% vendor agnostic,</span><br />\n meaning there are NO limitations to<br />\n the connectivity it can provide between<br />\n how you buy and how you sell.<br />\n </p>\n <div class=\"cta-buttons d-flex gap-3 flex-wrap mt-3\">\n <a routerLink=\"/book-a-demo\"\n class=\"cta-btn filled\">Speak to sales ></a>\n </div>\n </div>\n\n <!-- Right Content -->\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <img class=\"person-integration-img\"\n src=\"/assets/img/resource/integratebanner.png\"\n alt=\"NCEasy laptop screen\" />\n <img class=\"nce-integration-img\"\n src=\"/assets/img/resource/men.png\"\n alt=\"Smiling guy\" />\n </div>\n\n </div>\n </div>\n <div class=\"section-fadeout\"></div>\n</section>\n<div class=\"mobile-fadeout\"></div>\n<div class=\"bg-white\">\n <section class=\"cloudolive-guide-section bg-white py-5 section-outer\">\n <div class=\"container\">\n <h1 class=\"int-title mb-0\">140+ integrations (& counting)</h1>\n <p class=\"int-text\"> Search the current list of CloudOlive\u2019s vendor and distributor integrations below. <br />\n </p>\n <pw-resource-company-card [header]=\"'integrated vendor'\"\n [data]=\"distributorsData\"></pw-resource-company-card>\n </div>\n <div class=\"integration-fadeout\"></div>\n </section>\n <section class=\"cloudolive-guide-section bg-white py-5 section-outer\">\n <div class=\"container\">\n <pw-resource-company-card [header]=\"'integrated vendor'\"\n [vendor]=\"true\"\n [data]=\"distributorsData\"></pw-resource-company-card>\n <div class=\"text-center pt-3\">\n <p class=\"see-span\"> Don\u2019t see what you\u2019re after? <a href=\"/book-a-demo\"\n class=\"int-span team-span\">Speak with our team to request a connection >\n </a>\n </p>\n </div>\n </div>\n <div class=\"integration-fadeout\"></div>\n </section>\n <section class=\"cloudolive-guide-section bg-white py-5 section-outer\">\n <div class=\"container\">\n <div class=\"how-it-works-wrapper\">\n <h1 class=\"it-works-title mb-0\">How it works</h1>\n <p class=\"pb-20\">View short example videos to understand how these integrations can work for your MSP:</p>\n <div class=\"row section-row\">\n <div class=\"col-md-6\">\n <div class=\"d-flex justify-content-center\">\n <img src=\"/assets/img/resource/how-it-works1.png\"\n *ngIf=\"!videoDemoLoaded\"\n (click)=\"loadMicrosoftVideo()\"\n class=\"how-it-works-img\"\n alt=\"\" />\n <iframe *ngIf=\"videoDemoLoaded\"\n class=\"embed-responsive-item\"\n [title]=\"videoTitle\"\n [src]=\"sanitizedMicrosoftVideoUrl\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen>\n </iframe>\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"d-flex justify-content-center\">\n <img src=\"/assets/img/resource/how-it-works2.png\"\n *ngIf=\"!videoWebinarLoaded\"\n (click)=\"loadKeseyaVideo()\"\n class=\"how-it-works-img\"\n alt=\"\" />\n <iframe *ngIf=\"videoWebinarLoaded\"\n class=\"embed-responsive-item\"\n [title]=\"videoTitle\"\n [src]=\"sanitizedKesyaVideoUrl\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen>\n </iframe>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"integration-fadeout\"></div>\n </section>\n <section class=\"cloudolive-guide-section bg-white py-5 section-outer\">\n <div class=\"container\">\n <div class=\"row align-items-start\">\n <!-- Left Content -->\n <div class=\"col-md-6 text-md-start text-center\">\n <h1 class=\"guide-title mb-3\">A guide to implementing CloudOlive in your business</h1>\n <p class=\"guide-subtext\">\n View where CloudOlive sits in your internal technology stack and monthly workflows, and see how easy\n it is to get started.\n </p>\n <p class=\"guide-note mb-4\">View the quick guide now:</p>\n <button class=\"vault-btn\"\n onclick=\"window.open('https://hubspot.com', '_blank')\">View the guide</button>\n </div>\n\n <!-- Right Image -->\n <div class=\"col-md-6 text-center\">\n <img src=\"/assets/img/resource/guide.png\"\n alt=\"Guide\"\n class=\"img-fluid guide-img\" />\n </div>\n </div>\n </div>\n <div class=\"integration-fadeout\"></div>\n </section>\n</div>\n\n<pw-resource-note-card [releaseHeader]=\"true\"></pw-resource-note-card>\n\n<pw-trial-4-contact-us></pw-trial-4-contact-us>\n", styles: [".int-span{font-size:3rem;color:#3d8fbe}.team-span{font-size:2rem;color:#3d8fbe;font-weight:100}.see-span{font-size:2rem;font-weight:100}.how-it-works-wrapper .it-works-title{font-size:3rem;margin-bottom:2rem;color:#000!important;font-weight:200!important;padding-bottom:12px!important}.how-it-works-wrapper .how-it-works-img{width:85%!important;margin:0 auto!important}.how-it-works-wrapper p{padding-top:1rem;font-size:2rem;color:#000;font-weight:100;margin-bottom:4rem}.guide-wrapper{padding:55px 47px 220px}.guide-wrapper .horizontal{position:absolute;left:0;bottom:24%;width:100%}.guide-wrapper .pb-20{padding-bottom:20px}.guide-wrapper .flex{display:flex}.guide-wrapper .guideimg{margin:0 auto}.guide-wrapper .guide-title{font: 500 28px Montserrat-Regular,sans-serif}.guide-wrapper p{font: 400 17px Montserrat-Regular,sans-serif;color:#182527}@media (width >= 768px){.cloudolive-guide-section .vault-btn{width:50%!important}.cloudolive-guide-section .container-section{padding:20px 190px 20px 120px!important}}@media (width <= 768px){.cloudolive-guide-section .container-section{padding:3rem!important}.cloudolive-guide-section .guide-title{font-size:3.25rem!important}.cloudolive-guide-section .vault-btn{width:90%!important;margin-bottom:3rem!important}.cloudolive-guide-section .guide-subtext{padding:2rem;line-height:2rem!important}}.cloudolive-guide-section .guide-title{font-size:3rem;font-weight:200}.cloudolive-guide-section .guide-subtext{font-size:1.7rem;line-height:3rem;color:#000!important;font-weight:200;margin-bottom:2rem}.cloudolive-guide-section .guide-note{font-size:1.7rem;color:#000;font-weight:100}.cloudolive-guide-section .vault-btn{background:var(--text-color, black);color:#fff;padding:18px 34px;border-radius:30px;font-weight:600;margin-top:1rem!important;font-size:1.7rem;cursor:pointer;transition:background .3s ease;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.cloudolive-guide-section .vault-btn:hover{background:#fff;color:var(--text-color, black)!important}.cloudolive-guide-section .guide-img{width:70%!important;height:auto;box-shadow:0 5px 20px #00000026}@media (width >= 768px){.release-notes-section .release-heading{font-size:3rem;font-weight:300}.release-notes-section .view-all-link{margin-right:4rem}.release-notes-section .container-section{padding:20px 120px 20px 80px!important}.release-notes-section .release-section{justify-content:space-between!important}}@media (width <= 768px){.release-notes-section .release-heading{font-size:2.5rem;font-weight:400}.release-notes-section .release-section{justify-content:center!important}.release-notes-section .view-all-link{margin-right:19rem}.release-notes-section .release-card{width:80%!important}}.release-notes-section .view-all-link{font-size:1.5rem;font-weight:700;margin-bottom:1.2rem;text-decoration:none;color:#000}.release-notes-section .q2-icon{margin-bottom:3.25rem!important}.release-notes-section .release-card{background:#fff;border-radius:30px;padding:30px;box-shadow:0 10px 30px #00000014;text-align:center;max-width:330px;margin:0 auto;transition:all .3s ease}.release-notes-section .release-card .release-header{margin-bottom:1.5rem}.release-notes-section .release-card .release-header .quarter{font-size:1.2rem;font-weight:700;margin-bottom:.3rem;color:#000}.release-notes-section .release-card .release-header .title{font-size:1.2rem;margin-top:.4rem;margin-bottom:.6rem;color:#000}.release-notes-section .release-card .release-header .desc{font-size:1.35rem;line-height:1.87rem;color:#000}.release-notes-section .release-card .release-icon{width:80px;height:auto;margin:0 auto 2rem;display:block}.release-notes-section .release-card .release-btn{background-color:#000;color:#fff;padding:10px 24px;border-radius:24px;border:none;font-size:1.1rem;font-weight:500;display:inline-flex;align-items:center;gap:10px;transition:background .3s ease;margin-top:10px}.release-notes-section .release-card .release-btn .arrow{font-weight:700;font-size:1.2rem}.release-notes-section .release-card .release-btn:hover{background-color:#000}.release-notes-section .row{--bs-gutter-x: 1rem}.sub-text-extension{max-width:560px}.sub-text-extension .intro{font-size:2rem;line-height:3rem;font-weight:100;color:#000;margin-bottom:1rem}.sub-text-extension .cta-buttons{margin-top:2rem!important}.sub-text-extension .cta-btn{display:inline-block;background:var(--text-color, black);color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.sub-text-extension .cta-btn:hover{background-color:#fff!important;color:var(--text-color, black)!important}.sub-text-extension .note{font-size:1.2rem;color:#000;margin-top:1rem;margin-left:3rem}.int-title{color:#000!important;font-size:4rem!important;font-weight:400}.int-text{font-size:1.3rem;font-weight:300}.trial-form-section{padding-bottom:8rem!important}.trial-form-section:before{top:20px;left:0}.trial-form-section:after{top:20px;right:-16px}.nce-banner{background-image:url(/assets/img/resource/resource2.png);background-position:center;background-repeat:no-repeat;color:#000}.nce-banner .text-content{max-width:500px;text-align:left;margin-bottom:75rem}.nce-banner .text-content h1{margin-bottom:1.5rem;line-height:1.2}.nce-banner .text-content .intro{font-size:1.2rem;margin:1rem 0;color:#000}.nce-banner .text-content .cta-btn{display:inline-block;background:#000;color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem}.nce-banner .text-content .cta-buttons{margin-top:2rem}.nce-banner .text-content .note{margin-top:1rem;margin-left:5.6rem;font-size:.9rem;color:#555}.nce-banner .nce-header{font-weight:500;color:#fff!important;font-size:4.5rem!important}.nce-banner .blue-text{font-weight:100}@media (width <= 991px){.nce-banner .text-content{margin-top:6.5rem;margin-bottom:0;text-align:center;max-width:360px}.nce-banner .text-content h1{margin-bottom:6.5rem!important}.nce-banner .nce-header{font-size:2.5rem!important}.nce-banner .cta-buttons{margin-top:5rem!important;justify-content:center!important}.nce-banner .text-extension{position:absolute;margin:3rem;margin-top:24rem!important}.nce-banner .note{margin-left:8rem!important}.nce-banner .image-content{position:relative;margin-bottom:3rem;height:230px}.nce-banner .image-content .floating-box{position:absolute;top:25px;left:3rem;transform:translate(-50%) rotate(-10deg);background:#fff;padding:.75rem 1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;z-index:3;display:inline-block;width:auto}.nce-banner .image-content .floating-box img{width:24px;margin-bottom:.4rem}.nce-banner .image-content .floating-box .label{font-size:.75rem;color:#333;margin:0;line-height:1.2}.nce-banner .image-content .floating-box .count{font-size:1.2rem;font-weight:700;color:#000;margin-top:.25rem}.nce-banner .image-content .screen-img{max-width:280px;position:absolute;bottom:0;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003}.nce-banner .image-content .person-img{max-width:170px;width:100%;position:relative;z-index:3;left:13rem;top:-11.35rem}.nce-banner .image-content .nce-laptop-img{max-width:315px;width:100%;position:relative;z-index:3;left:1rem;top:19rem}}@media (width >= 991px){.nce-banner .text-content{position:absolute;width:760px}.nce-banner .text-extension{max-width:760px;position:absolute;margin-bottom:36rem!important}}.white-content{background:#fff;color:#000}.white-content .intro{font-size:1.2rem;color:#000}.white-content .note{font-size:.85rem;margin-top:1rem;color:#555}.text-extension{max-width:560px;margin-top:6rem!important}.text-extension .intro{font-size:2rem;line-height:3rem;font-weight:100;color:#000;margin-bottom:1rem}.text-extension .cta-buttons{margin-top:2rem!important}.text-extension .note{font-size:1.2rem;color:#000;margin-top:1rem;margin-left:3rem}@media (width >= 768px) and (width <= 1200px){.image-content{position:unset!important;height:634px!important}.image-content .person-integration-img{position:relative;width:320px;margin-bottom:0;bottom:5rem;left:58rem}.image-content .nce-integration-img{top:3rem;right:6rem;position:relative;width:800px!important}}@media (width >= 1200px){.image-content{position:unset!important;height:634px!important}.image-content .person-integration-img{width:500px;position:relative;min-width:420px;margin-bottom:0;bottom:1rem;left:63rem}.image-content .nce-integration-img{top:3rem;right:17rem;position:relative;width:950px!important}}@media (width <= 991px){.mobile-fadeout{height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa);margin-top:59rem!important;position:absolute}.sub-text-extension{position:absolute;margin-top:21rem!important;padding:3rem!important}.section-integration{height:850px!important}.vendor-container{padding-left:2rem!important;padding-right:2rem!important}.image-content .person-integration-img{max-width:200px;width:100%;position:relative;z-index:3;left:12rem;top:19.35rem}.image-content .nce-integration-img{max-width:315px;width:100%;position:relative;z-index:3;top:4.5rem}}@media (width >= 991px){.section-outer{padding-bottom:7rem!important}.text-content{margin-bottom:27rem!important}.nce-banner{padding-top:132px!important;padding-bottom:20px!important;overflow:hidden}.nce-banner:before{top:587px!important;left:0}.cloudolive-guide-section{position:relative}.cloudolive-guide-section .integration-fadeout{position:absolute;bottom:0;left:0;width:100%;height:80px;background:linear-gradient(to bottom,#fff0,#f8f9fa);pointer-events:none}.section-fadeout{height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.responsive-social-container{min-width:1580px!important}.nce-vendor-heading{width:1000px!important}.vendor-container{padding-left:19rem!important;max-height:600px}.sub-text-extension{max-width:760px;position:absolute;margin-top:20rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width >= 786px) and (width <= 991px){.nce-banner{background-position:bottom!important}.nce-integration-img{bottom:12.3rem!important;top:unset!important}}@media (width >= 991px){.section-outer{padding-top:7rem!important}}@media (width >= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .nce-laptop-img{bottom:5rem;left:40rem;position:relative;width:850px!important}}@media (width >= 786px) and (width <= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .nce-laptop-img{bottom:5rem;left:31rem;position:relative;width:850px!important}}@media (width >= 991px){.nce-banner{padding-top:768px;padding-bottom:20px;overflow:hidden}.nce-banner:before,.nce-banner:after{content:\"\";position:absolute;background:url(/assets/img/logos/background-banner.png) no-repeat;background-size:contain;width:160px;height:450px;z-index:0;opacity:.8}.nce-banner:before{top:530px;left:0}.nce-banner:after{top:90px;right:0}.section-fadeout{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0;position:absolute;top:58rem!important}.nce-heading{width:700px!important}::ng-deep .vault-section{max-width:1580px!important;padding-left:48px!important;padding-top:130px!important}::ng-deep .vault-card{width:330px!important;height:370px!important}::ng-deep .vault-btn{width:224px!important}}@media (width <= 991px){.mobile-fadeout{height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa);margin-top:60rem!important;position:absolute}.pricing-section{height:890px!important}.billing-section{flex-direction:column!important;gap:3rem}.billing-section .billing-section1,.billing-section .billing-section2{width:90%!important}.billing-section .billing-section1{margin-left:1.5rem;margin-top:4rem}.nce-banner{background-image:url(/assets/img/resource/resource2.png)}}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}.outer-section-fadeout{top:62rem!important}}@media (width >= 768px){iframe{width:85%!important;height:375px!important}}@media (width <= 768px){.how-it-works-wrapper{padding:20px 40px}p{font-size:1.7rem!important;line-height:1.7rem!important}.section-row{gap:3rem!important}iframe{width:100%!important}}\n", "::ng-deep .navbar-nav .nav-item .nav-link{color:#fff!important}.bold{font-weight:700}.nce-heading{margin-bottom:2rem}.nce-note{margin-top:1rem;font-size:.85rem;color:#555}.nce-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.Trial4ContactUsComponent, selector: "pw-trial-4-contact-us", inputs: ["subscriptionId", "sourceId", "masterSubscriptionId", "experimentName", "microserviceName"] }, { kind: "component", type: i4.ResourceHeaderComponent, selector: "pw-resource-header" }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.LazyImgDirective, selector: "img" }, { kind: "component", type: ResourceNoteCardComponent, selector: "pw-resource-note-card", inputs: ["posts", "releaseHeader"] }, { kind: "component", type: ResourceCompanyCardComponent, selector: "pw-resource-company-card", inputs: ["header", "data", "vendor"] }] }); }
428
+ }
429
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceIntegrationComponent, decorators: [{
430
+ type: Component,
431
+ args: [{ selector: 'pw-resource-integration', template: "<pw-resource-header></pw-resource-header>\n\n<section class=\"bg-white section-integration\">\n <div class=\"nce-banner\">\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\">\n\n <!-- Left Content -->\n <div class=\"text-content\">\n <div class=\"nce-vendor-heading\">\n <h1 class=\"nce-header mb-4\">\n Map any vendor<br /> or distributor to your PSA.\n <span class=\"blue-text\"></span>\n </h1>\n </div>\n </div>\n\n <div class=\"sub-text-extension mt-4\">\n <p class=\"intro\">\n CloudOlive is <span class=\"fw-bold\">100% vendor agnostic,</span><br />\n meaning there are NO limitations to<br />\n the connectivity it can provide between<br />\n how you buy and how you sell.<br />\n </p>\n <div class=\"cta-buttons d-flex gap-3 flex-wrap mt-3\">\n <a routerLink=\"/book-a-demo\"\n class=\"cta-btn filled\">Speak to sales ></a>\n </div>\n </div>\n\n <!-- Right Content -->\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <img class=\"person-integration-img\"\n src=\"/assets/img/resource/integratebanner.png\"\n alt=\"NCEasy laptop screen\" />\n <img class=\"nce-integration-img\"\n src=\"/assets/img/resource/men.png\"\n alt=\"Smiling guy\" />\n </div>\n\n </div>\n </div>\n <div class=\"section-fadeout\"></div>\n</section>\n<div class=\"mobile-fadeout\"></div>\n<div class=\"bg-white\">\n <section class=\"cloudolive-guide-section bg-white py-5 section-outer\">\n <div class=\"container\">\n <h1 class=\"int-title mb-0\">140+ integrations (& counting)</h1>\n <p class=\"int-text\"> Search the current list of CloudOlive\u2019s vendor and distributor integrations below. <br />\n </p>\n <pw-resource-company-card [header]=\"'integrated vendor'\"\n [data]=\"distributorsData\"></pw-resource-company-card>\n </div>\n <div class=\"integration-fadeout\"></div>\n </section>\n <section class=\"cloudolive-guide-section bg-white py-5 section-outer\">\n <div class=\"container\">\n <pw-resource-company-card [header]=\"'integrated vendor'\"\n [vendor]=\"true\"\n [data]=\"distributorsData\"></pw-resource-company-card>\n <div class=\"text-center pt-3\">\n <p class=\"see-span\"> Don\u2019t see what you\u2019re after? <a href=\"/book-a-demo\"\n class=\"int-span team-span\">Speak with our team to request a connection >\n </a>\n </p>\n </div>\n </div>\n <div class=\"integration-fadeout\"></div>\n </section>\n <section class=\"cloudolive-guide-section bg-white py-5 section-outer\">\n <div class=\"container\">\n <div class=\"how-it-works-wrapper\">\n <h1 class=\"it-works-title mb-0\">How it works</h1>\n <p class=\"pb-20\">View short example videos to understand how these integrations can work for your MSP:</p>\n <div class=\"row section-row\">\n <div class=\"col-md-6\">\n <div class=\"d-flex justify-content-center\">\n <img src=\"/assets/img/resource/how-it-works1.png\"\n *ngIf=\"!videoDemoLoaded\"\n (click)=\"loadMicrosoftVideo()\"\n class=\"how-it-works-img\"\n alt=\"\" />\n <iframe *ngIf=\"videoDemoLoaded\"\n class=\"embed-responsive-item\"\n [title]=\"videoTitle\"\n [src]=\"sanitizedMicrosoftVideoUrl\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen>\n </iframe>\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"d-flex justify-content-center\">\n <img src=\"/assets/img/resource/how-it-works2.png\"\n *ngIf=\"!videoWebinarLoaded\"\n (click)=\"loadKeseyaVideo()\"\n class=\"how-it-works-img\"\n alt=\"\" />\n <iframe *ngIf=\"videoWebinarLoaded\"\n class=\"embed-responsive-item\"\n [title]=\"videoTitle\"\n [src]=\"sanitizedKesyaVideoUrl\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen>\n </iframe>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"integration-fadeout\"></div>\n </section>\n <section class=\"cloudolive-guide-section bg-white py-5 section-outer\">\n <div class=\"container\">\n <div class=\"row align-items-start\">\n <!-- Left Content -->\n <div class=\"col-md-6 text-md-start text-center\">\n <h1 class=\"guide-title mb-3\">A guide to implementing CloudOlive in your business</h1>\n <p class=\"guide-subtext\">\n View where CloudOlive sits in your internal technology stack and monthly workflows, and see how easy\n it is to get started.\n </p>\n <p class=\"guide-note mb-4\">View the quick guide now:</p>\n <button class=\"vault-btn\"\n onclick=\"window.open('https://hubspot.com', '_blank')\">View the guide</button>\n </div>\n\n <!-- Right Image -->\n <div class=\"col-md-6 text-center\">\n <img src=\"/assets/img/resource/guide.png\"\n alt=\"Guide\"\n class=\"img-fluid guide-img\" />\n </div>\n </div>\n </div>\n <div class=\"integration-fadeout\"></div>\n </section>\n</div>\n\n<pw-resource-note-card [releaseHeader]=\"true\"></pw-resource-note-card>\n\n<pw-trial-4-contact-us></pw-trial-4-contact-us>\n", styles: [".int-span{font-size:3rem;color:#3d8fbe}.team-span{font-size:2rem;color:#3d8fbe;font-weight:100}.see-span{font-size:2rem;font-weight:100}.how-it-works-wrapper .it-works-title{font-size:3rem;margin-bottom:2rem;color:#000!important;font-weight:200!important;padding-bottom:12px!important}.how-it-works-wrapper .how-it-works-img{width:85%!important;margin:0 auto!important}.how-it-works-wrapper p{padding-top:1rem;font-size:2rem;color:#000;font-weight:100;margin-bottom:4rem}.guide-wrapper{padding:55px 47px 220px}.guide-wrapper .horizontal{position:absolute;left:0;bottom:24%;width:100%}.guide-wrapper .pb-20{padding-bottom:20px}.guide-wrapper .flex{display:flex}.guide-wrapper .guideimg{margin:0 auto}.guide-wrapper .guide-title{font: 500 28px Montserrat-Regular,sans-serif}.guide-wrapper p{font: 400 17px Montserrat-Regular,sans-serif;color:#182527}@media (width >= 768px){.cloudolive-guide-section .vault-btn{width:50%!important}.cloudolive-guide-section .container-section{padding:20px 190px 20px 120px!important}}@media (width <= 768px){.cloudolive-guide-section .container-section{padding:3rem!important}.cloudolive-guide-section .guide-title{font-size:3.25rem!important}.cloudolive-guide-section .vault-btn{width:90%!important;margin-bottom:3rem!important}.cloudolive-guide-section .guide-subtext{padding:2rem;line-height:2rem!important}}.cloudolive-guide-section .guide-title{font-size:3rem;font-weight:200}.cloudolive-guide-section .guide-subtext{font-size:1.7rem;line-height:3rem;color:#000!important;font-weight:200;margin-bottom:2rem}.cloudolive-guide-section .guide-note{font-size:1.7rem;color:#000;font-weight:100}.cloudolive-guide-section .vault-btn{background:var(--text-color, black);color:#fff;padding:18px 34px;border-radius:30px;font-weight:600;margin-top:1rem!important;font-size:1.7rem;cursor:pointer;transition:background .3s ease;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.cloudolive-guide-section .vault-btn:hover{background:#fff;color:var(--text-color, black)!important}.cloudolive-guide-section .guide-img{width:70%!important;height:auto;box-shadow:0 5px 20px #00000026}@media (width >= 768px){.release-notes-section .release-heading{font-size:3rem;font-weight:300}.release-notes-section .view-all-link{margin-right:4rem}.release-notes-section .container-section{padding:20px 120px 20px 80px!important}.release-notes-section .release-section{justify-content:space-between!important}}@media (width <= 768px){.release-notes-section .release-heading{font-size:2.5rem;font-weight:400}.release-notes-section .release-section{justify-content:center!important}.release-notes-section .view-all-link{margin-right:19rem}.release-notes-section .release-card{width:80%!important}}.release-notes-section .view-all-link{font-size:1.5rem;font-weight:700;margin-bottom:1.2rem;text-decoration:none;color:#000}.release-notes-section .q2-icon{margin-bottom:3.25rem!important}.release-notes-section .release-card{background:#fff;border-radius:30px;padding:30px;box-shadow:0 10px 30px #00000014;text-align:center;max-width:330px;margin:0 auto;transition:all .3s ease}.release-notes-section .release-card .release-header{margin-bottom:1.5rem}.release-notes-section .release-card .release-header .quarter{font-size:1.2rem;font-weight:700;margin-bottom:.3rem;color:#000}.release-notes-section .release-card .release-header .title{font-size:1.2rem;margin-top:.4rem;margin-bottom:.6rem;color:#000}.release-notes-section .release-card .release-header .desc{font-size:1.35rem;line-height:1.87rem;color:#000}.release-notes-section .release-card .release-icon{width:80px;height:auto;margin:0 auto 2rem;display:block}.release-notes-section .release-card .release-btn{background-color:#000;color:#fff;padding:10px 24px;border-radius:24px;border:none;font-size:1.1rem;font-weight:500;display:inline-flex;align-items:center;gap:10px;transition:background .3s ease;margin-top:10px}.release-notes-section .release-card .release-btn .arrow{font-weight:700;font-size:1.2rem}.release-notes-section .release-card .release-btn:hover{background-color:#000}.release-notes-section .row{--bs-gutter-x: 1rem}.sub-text-extension{max-width:560px}.sub-text-extension .intro{font-size:2rem;line-height:3rem;font-weight:100;color:#000;margin-bottom:1rem}.sub-text-extension .cta-buttons{margin-top:2rem!important}.sub-text-extension .cta-btn{display:inline-block;background:var(--text-color, black);color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.sub-text-extension .cta-btn:hover{background-color:#fff!important;color:var(--text-color, black)!important}.sub-text-extension .note{font-size:1.2rem;color:#000;margin-top:1rem;margin-left:3rem}.int-title{color:#000!important;font-size:4rem!important;font-weight:400}.int-text{font-size:1.3rem;font-weight:300}.trial-form-section{padding-bottom:8rem!important}.trial-form-section:before{top:20px;left:0}.trial-form-section:after{top:20px;right:-16px}.nce-banner{background-image:url(/assets/img/resource/resource2.png);background-position:center;background-repeat:no-repeat;color:#000}.nce-banner .text-content{max-width:500px;text-align:left;margin-bottom:75rem}.nce-banner .text-content h1{margin-bottom:1.5rem;line-height:1.2}.nce-banner .text-content .intro{font-size:1.2rem;margin:1rem 0;color:#000}.nce-banner .text-content .cta-btn{display:inline-block;background:#000;color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem}.nce-banner .text-content .cta-buttons{margin-top:2rem}.nce-banner .text-content .note{margin-top:1rem;margin-left:5.6rem;font-size:.9rem;color:#555}.nce-banner .nce-header{font-weight:500;color:#fff!important;font-size:4.5rem!important}.nce-banner .blue-text{font-weight:100}@media (width <= 991px){.nce-banner .text-content{margin-top:6.5rem;margin-bottom:0;text-align:center;max-width:360px}.nce-banner .text-content h1{margin-bottom:6.5rem!important}.nce-banner .nce-header{font-size:2.5rem!important}.nce-banner .cta-buttons{margin-top:5rem!important;justify-content:center!important}.nce-banner .text-extension{position:absolute;margin:3rem;margin-top:24rem!important}.nce-banner .note{margin-left:8rem!important}.nce-banner .image-content{position:relative;margin-bottom:3rem;height:230px}.nce-banner .image-content .floating-box{position:absolute;top:25px;left:3rem;transform:translate(-50%) rotate(-10deg);background:#fff;padding:.75rem 1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;z-index:3;display:inline-block;width:auto}.nce-banner .image-content .floating-box img{width:24px;margin-bottom:.4rem}.nce-banner .image-content .floating-box .label{font-size:.75rem;color:#333;margin:0;line-height:1.2}.nce-banner .image-content .floating-box .count{font-size:1.2rem;font-weight:700;color:#000;margin-top:.25rem}.nce-banner .image-content .screen-img{max-width:280px;position:absolute;bottom:0;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003}.nce-banner .image-content .person-img{max-width:170px;width:100%;position:relative;z-index:3;left:13rem;top:-11.35rem}.nce-banner .image-content .nce-laptop-img{max-width:315px;width:100%;position:relative;z-index:3;left:1rem;top:19rem}}@media (width >= 991px){.nce-banner .text-content{position:absolute;width:760px}.nce-banner .text-extension{max-width:760px;position:absolute;margin-bottom:36rem!important}}.white-content{background:#fff;color:#000}.white-content .intro{font-size:1.2rem;color:#000}.white-content .note{font-size:.85rem;margin-top:1rem;color:#555}.text-extension{max-width:560px;margin-top:6rem!important}.text-extension .intro{font-size:2rem;line-height:3rem;font-weight:100;color:#000;margin-bottom:1rem}.text-extension .cta-buttons{margin-top:2rem!important}.text-extension .note{font-size:1.2rem;color:#000;margin-top:1rem;margin-left:3rem}@media (width >= 768px) and (width <= 1200px){.image-content{position:unset!important;height:634px!important}.image-content .person-integration-img{position:relative;width:320px;margin-bottom:0;bottom:5rem;left:58rem}.image-content .nce-integration-img{top:3rem;right:6rem;position:relative;width:800px!important}}@media (width >= 1200px){.image-content{position:unset!important;height:634px!important}.image-content .person-integration-img{width:500px;position:relative;min-width:420px;margin-bottom:0;bottom:1rem;left:63rem}.image-content .nce-integration-img{top:3rem;right:17rem;position:relative;width:950px!important}}@media (width <= 991px){.mobile-fadeout{height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa);margin-top:59rem!important;position:absolute}.sub-text-extension{position:absolute;margin-top:21rem!important;padding:3rem!important}.section-integration{height:850px!important}.vendor-container{padding-left:2rem!important;padding-right:2rem!important}.image-content .person-integration-img{max-width:200px;width:100%;position:relative;z-index:3;left:12rem;top:19.35rem}.image-content .nce-integration-img{max-width:315px;width:100%;position:relative;z-index:3;top:4.5rem}}@media (width >= 991px){.section-outer{padding-bottom:7rem!important}.text-content{margin-bottom:27rem!important}.nce-banner{padding-top:132px!important;padding-bottom:20px!important;overflow:hidden}.nce-banner:before{top:587px!important;left:0}.cloudolive-guide-section{position:relative}.cloudolive-guide-section .integration-fadeout{position:absolute;bottom:0;left:0;width:100%;height:80px;background:linear-gradient(to bottom,#fff0,#f8f9fa);pointer-events:none}.section-fadeout{height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.responsive-social-container{min-width:1580px!important}.nce-vendor-heading{width:1000px!important}.vendor-container{padding-left:19rem!important;max-height:600px}.sub-text-extension{max-width:760px;position:absolute;margin-top:20rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width >= 786px) and (width <= 991px){.nce-banner{background-position:bottom!important}.nce-integration-img{bottom:12.3rem!important;top:unset!important}}@media (width >= 991px){.section-outer{padding-top:7rem!important}}@media (width >= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .nce-laptop-img{bottom:5rem;left:40rem;position:relative;width:850px!important}}@media (width >= 786px) and (width <= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .nce-laptop-img{bottom:5rem;left:31rem;position:relative;width:850px!important}}@media (width >= 991px){.nce-banner{padding-top:768px;padding-bottom:20px;overflow:hidden}.nce-banner:before,.nce-banner:after{content:\"\";position:absolute;background:url(/assets/img/logos/background-banner.png) no-repeat;background-size:contain;width:160px;height:450px;z-index:0;opacity:.8}.nce-banner:before{top:530px;left:0}.nce-banner:after{top:90px;right:0}.section-fadeout{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0;position:absolute;top:58rem!important}.nce-heading{width:700px!important}::ng-deep .vault-section{max-width:1580px!important;padding-left:48px!important;padding-top:130px!important}::ng-deep .vault-card{width:330px!important;height:370px!important}::ng-deep .vault-btn{width:224px!important}}@media (width <= 991px){.mobile-fadeout{height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa);margin-top:60rem!important;position:absolute}.pricing-section{height:890px!important}.billing-section{flex-direction:column!important;gap:3rem}.billing-section .billing-section1,.billing-section .billing-section2{width:90%!important}.billing-section .billing-section1{margin-left:1.5rem;margin-top:4rem}.nce-banner{background-image:url(/assets/img/resource/resource2.png)}}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}.outer-section-fadeout{top:62rem!important}}@media (width >= 768px){iframe{width:85%!important;height:375px!important}}@media (width <= 768px){.how-it-works-wrapper{padding:20px 40px}p{font-size:1.7rem!important;line-height:1.7rem!important}.section-row{gap:3rem!important}iframe{width:100%!important}}\n", "::ng-deep .navbar-nav .nav-item .nav-link{color:#fff!important}.bold{font-weight:700}.nce-heading{margin-bottom:2rem}.nce-note{margin-top:1rem;font-size:.85rem;color:#555}.nce-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}\n"] }]
432
+ }], ctorParameters: () => [{ type: i1$1.DomSanitizer }, { type: i0.Injector }] });
433
+
434
+ class RelatedResourcesComponent extends AppBaseComponent {
435
+ constructor(resourceService, injector, sanitizer, toastr) {
436
+ super(injector);
437
+ this.resourceService = resourceService;
438
+ this.sanitizer = sanitizer;
439
+ this.toastr = toastr;
440
+ this.resourceCards = [
441
+ {
442
+ title: 'BLOG: Here’s why you should QA your distributor invoices',
443
+ image: '/assets/img/resource/resource-qa.png',
444
+ alt: 'QA distributor invoices',
445
+ url: '/resources/view/here-s-why-you-should-be-seeking-independent-qa-of-all-distributor-inv'
446
+ },
447
+ {
448
+ title: 'BLOG: 4 instant hacks to uplift your MSP’s monthly billing',
449
+ image: '/assets/img/resource/resource-hacks.png',
450
+ alt: 'Monthly billing hacks',
451
+ url: '/resources/view/4-instant-hacks-to-uplift-your-msp-s-monthly-billing'
452
+ },
453
+ {
454
+ title: 'BLOG: The trivial detail that will either future-proof or sabotage your PSA.',
455
+ image: '/assets/img/resource/resource-psa.png',
456
+ alt: 'PSA future-proof',
457
+ url: '/resources/view/the-trivial-detail-that-will-either-future-proof-or-sabotage-your-psa'
458
+ }
459
+ ];
460
+ this.postComments = [];
461
+ this.commentForm = ResourceBlog$1.getResourcePostsForm();
462
+ }
463
+ ngOnInit() {
464
+ this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;
465
+ this.route.params.subscribe(params => {
466
+ this.slug = params['slug'] || '';
467
+ this.getBlogItem(this.slug);
468
+ });
469
+ this.localStorage.getItem$(TOKEN_KEY).subscribe(res => {
470
+ this.userLoggedIn = !!res;
471
+ if (this.userLoggedIn) {
472
+ this.userService.getUserInfo().subscribe(data => {
473
+ this.user = data;
474
+ });
475
+ }
476
+ });
477
+ }
478
+ getBlogItem(slug) {
479
+ this.resourceService.getPostBySlug(slug).subscribe(response => {
480
+ let blogBody;
481
+ if (response?.body) {
482
+ blogBody = HelperService.sanitizeQuillBody(response.body, this.sanitizer);
483
+ }
484
+ const date = new Date(response?.when);
485
+ const formatted = date.toISOString().split('T')[0];
486
+ console.log(formatted); //
487
+ this.postComments = response.entity_comments;
488
+ this.post = { ...response, body: blogBody, when: formatted };
489
+ });
490
+ }
491
+ onComment() {
492
+ const data = { ...this.commentForm.value };
493
+ data.related_entity_id = this.post?.id;
494
+ data.related_entity_type = 'Post';
495
+ data.user_id = this.user?.id;
496
+ this.resourceService
497
+ .postComments(data)
498
+ .subscribe(() => {
499
+ this.getBlogItem(this.slug);
500
+ this.commentForm.reset();
501
+ this.toastr.success(this.translation.translate('Resource.Posts.CommentAdded'));
502
+ })
503
+ .add(() => {
504
+ console.log('In this');
505
+ });
506
+ }
507
+ trackByComment(_index, item) {
508
+ return item.id;
509
+ }
510
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: RelatedResourcesComponent, deps: [{ token: i1$2.ResourceService }, { token: i0.Injector }, { token: i1$1.DomSanitizer }, { token: i2.CustomToastService }], target: i0.ɵɵFactoryTarget.Component }); }
511
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: RelatedResourcesComponent, selector: "pw-related-resources", usesInheritance: true, ngImport: i0, template: "\n\n<section class=\"resource-body-section\">\n <div class=\"container\">\n <div class=\"ql-snow body-quill\"\n >\n <div class=\"ql-editor body post-body-text\"\n [innerHTML]=\"post?.body\">\n </div>\n </div>\n <section class=\"nce-offer-section\">\n\n <div class=\"row mt-5 mb-4 response-row\">\n <div class=\"col-12\">\n <form\n class=\"p-fluid mb-5\"\n [formGroup]=\"commentForm\"\n (ngSubmit)=\"onComment()\"\n *ngIf=\"userLoggedIn; else userLoggedOut\"\n >\n <div class=\"card shadow-sm border-0 p-4\">\n <div class=\"field\">\n <label for=\"comment\" class=\"font-bold text-lg mb-4 comment-label\">\uD83D\uDCAC Leave a comment</label>\n <textarea\n pInputTextarea\n formControlName=\"comment\"\n rows=\"6\"\n autoResize=\"true\"\n class=\"p-inputtext p-component p-inputtextarea\"\n placeholder=\"What's on your mind?\"\n ></textarea>\n <small\n class=\"text-danger\"\n *ngIf=\"commentForm.get('comment')?.invalid && commentForm.get('comment')?.touched\"\n >Please enter comment</small\n >\n </div>\n <div class=\"text-end mt-3\">\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"sign-btn sign-header-btn\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </div>\n </form>\n <ng-template #userLoggedOut>\n <p class=\"text-center pt-3 pb-3 user-not-logged-in text-muted shadow-sm mb-5\">\n <a [routerLink]=\"['/login']\" class=\"text-primary fw-bold\">Log in</a> to leave a comment!\n </p>\n </ng-template>\n </div>\n </div>\n\n <div class=\"row mt-5 comment-row\">\n <div class=\"col-12\" *ngFor=\"let comment of postComments; trackBy: trackByComment\">\n <div class=\"card border-0 shadow-sm p-3 mb-3\">\n <div class=\"d-flex align-items-start\">\n <img\n [src]=\"comment?.author?.avatar[0]?.url || 'assets/img/icons/male.png'\"\n alt=\"avatar\"\n class=\"rounded-circle me-3\"\n width=\"50\"\n height=\"50\"\n (error)=\"handleImageError($event, 'assets/img/icons/male.png')\"\n />\n <div class=\"flex-grow-1\">\n <div class=\"fw-bold text-dark\">\n {{ comment.user?.first_name || '' }} {{ comment.user?.last_name || '' }}\n </div>\n <div class=\"text-muted small mb-2\">{{ comment.created_at | date: 'dd MMM yyyy, h:mm a' }}</div>\n <div class=\"text-body\">\n {{ comment.comment }}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n\n </section>\n </div>\n <hr class=\"nce-divider\" />\n</section>\n\n<section class=\"nce-book-section\">\n <div class=\"container\">\n\n <p class=\"nce-contact\">\n Any questions? Get in touch with Adam <a href=\"#\">here</a>,\n <a href=\"https://www.linkedin.com/company/cloudolive\" target=\"_blank\">connect on LinkedIn</a>, or book a meeting below:\n </p>\n </div>\n <pw-book-a-demo [isBlog]=\"true\"></pw-book-a-demo>\n <hr class=\"nce-divider\" />\n</section>\n\n\n\n<section class=\"resource-section bg-white\">\n <div class=\"container\">\n <div class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <h2 class=\"section-heading\">Other resources you may be interested in:</h2>\n <a class=\"view-all\" routerLink=\"/resources\">VIEW ALL ></a>\n </div>\n\n <div class=\"row mt-4 cards-row\">\n <div class=\"col-lg-4 col-md-6 mb-4\" *ngFor=\"let card of resourceCards\">\n <div class=\"resource-card\">\n <p class=\"resource-title\">{{ card.title }}</p>\n <img [src]=\"card.image\" class=\"resource-image mt-4\" [alt]=\"card.alt\" />\n <a class=\"read-now-btn\" [href]=\"card.url\">\n <span>Read now</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n </div>\n </div>\n </div>\n </div>\n</section>\n", styles: ["::ng-deep .ql-editor p{font-size:1.5rem!important;line-height:1.8rem!important;color:#333!important}.msp-vault-section{padding:60px 0;background:#fff}.msp-vault-section .vault-heading{font-size:4.5rem;font-weight:300;color:#000!important}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}.msp-vault-section .vault-card{background-color:#fff;border-radius:30px;box-shadow:0 5px 20px #0000000d;padding:25px;text-align:center;width:338px;height:auto}.msp-vault-section .vault-card h5{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#000!important}.msp-vault-section .vault-card p{font-size:1.5rem;color:#444}.msp-vault-section .vault-card img,.msp-vault-section .vault-card iframe{height:180px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card .vault-btn{background-color:#000!important;margin-top:10px;color:#fff;width:240px;padding:10px 24px;border-radius:24px;border:none;font-size:1.5rem;margin-left:2rem;font-weight:500;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left}.msp-vault-section .vault-card .vault-btn:hover{background-color:#333}@media (width >= 768px) and (width <= 1200px){.resource-title{font-size:1.4rem!important}}textarea{font-size:1.4rem!important}@media (width <= 768px){.resource-title{font-size:1.2rem!important}.container{padding:7rem 3rem 1rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-card{width:100%!important}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){::ng-deep .trial-meeting-section:before{top:600px!important}::ng-deep .dashboard{margin-bottom:1rem!important}section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}section.bg-white.text-center.extra-top-padding:before,section.bg-white.text-center.extra-top-padding:after{content:\"\";position:absolute;background:url(/assets/img/logos/background-banner.png) no-repeat;background-size:contain;width:160px;height:450px;z-index:0;opacity:.8}section.bg-white.text-center.extra-top-padding:before{top:500px;left:0}section.bg-white.text-center.extra-top-padding:after{top:90px;right:0}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 1200px){.resource-card{width:100%!important}.release-notes-section{padding:7rem 0!important}}.resource-section{padding:5rem 0;position:relative}.resource-section .section-heading{font-weight:700;font-size:2.4rem;color:#000}.resource-section .view-all{font-size:1.5rem;font-weight:600;color:#000;text-decoration:none;margin-bottom:2.5rem}.resource-section .view-all:hover{color:var(--first)}.resource-section .resource-card{background:#fff;width:353px;border-radius:30px;padding:3rem;box-shadow:0 20px 40px #00000014;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;height:100%}.resource-section .resource-card .resource-title{font-size:1.5rem;line-height:2rem;font-weight:300;color:#000;margin-bottom:16px;text-align:center;height:3.5rem}.resource-section .resource-card .resource-image{width:100%;height:204px!important;object-fit:cover;border-radius:16px;margin-bottom:20px;margin-top:3.5rem!important}.resource-section .resource-card .read-now-btn{background-color:var(--text-color, black);color:#fff;text-decoration:none;padding:14px 20px;font-size:1.5rem;font-weight:500;border-radius:40px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .3s ease;width:100%;max-width:240px;margin:0 auto;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.resource-section .resource-card .read-now-btn .arrow{font-weight:600;font-size:1.5rem}.resource-section .resource-card .read-now-btn:hover{background:#fff;color:var(--text-color, black)!important}@media (width <= 768px){.resource-section .resource-section .cards-row{gap:3rem;margin-top:3rem!important}.resource-section .section-heading,.resource-section .view-all{width:100%;text-align:center;margin-bottom:1rem}.resource-section .resource-card .read-now-btn{flex-direction:row;justify-content:center;gap:8px}}@media (width >= 768px) and (width <= 1200px){.nce-hero-section{padding:0 6rem!important}.cards-row{justify-content:center}}.resource-body-section{background-color:#fff}.resource-body-section .container{padding:0 1.5rem;padding-bottom:4rem!important;padding-top:7rem!important;max-width:850px;margin:0 auto;text-align:left}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:var(--first)!important;text-decoration:none;font-weight:500}.nce-book-section{background:#fff;padding-top:7rem;padding-bottom:0}.nce-book-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-book-section .nce-contact{line-height:1.6;font-size:1.5rem}.nce-book-section .nce-contact a{text-decoration:underline;color:#000;margin:0 .2rem}.nce-offer-section{background:#fff;padding-top:2rem}.nce-offer-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-offer-section .nce-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.25em!important}.nce-offer-section .nce-title strong{font-weight:700}.nce-offer-section .nce-description{font-size:1.5rem;line-height:1.8rem;color:#333;margin-bottom:1.5rem}.nce-offer-section .nce-offer-list{font-size:1.1rem;line-height:1.5rem;margin-bottom:2.5rem;margin-top:2.5rem}.nce-offer-section .nce-offer-list p{font-size:1.5rem;margin:.5rem 0;font-weight:400}.nce-offer-section .nce-signup{margin-bottom:2.5rem}.nce-offer-section .nce-signup .signup-link{font-size:1.5rem;font-weight:400;text-decoration:underline;color:#000}@media (width <= 768px){.nce-offer-section .nce-book-section{padding-top:5rem!important}.nce-offer-section .container{text-align:left}.nce-offer-section .nce-title{font-size:1.5rem}.nce-offer-section .nce-description,.nce-offer-section .nce-offer-list,.nce-offer-section .nce-signup,.nce-offer-section .signup-link,.nce-offer-section .nce-contact,.nce-offer-section .nce-offer-list p{font-size:1.2rem!important}}.nce-offer-intro{font-size:1.5rem;font-weight:400}.outer-section-fadeout{position:absolute;top:139rem;height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.body-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}@media (width <= 768px){.nce-book-section{padding-top:5rem!important}.nce-contact{font-size:1.2rem!important}}::ng-deep .body-quill{border-width:0!important;max-width:1000px;display:block;margin-left:auto;margin-right:auto}::ng-deep .ql-editor h1{font-size:2rem!important;line-height:2.3rem!important;color:#333!important}::ng-deep .ql-editor li{font-size:1.3rem!important;color:#333!important}::ng-deep .p-inputtextarea{border-radius:.5rem;border-color:#ced4da;font-size:1rem}.card{background-color:#fff;border-radius:12px}.comment-row{gap:2rem;padding-bottom:5rem;max-width:1000px;display:block;margin-left:auto;margin-right:auto}.comment-label{font-size:1.5rem!important}.response-row{max-width:1000px;display:block;margin-left:auto;margin-right:auto;margin-top:6rem!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.HubSpotMeetingsComponent, selector: "pw-book-a-demo", inputs: ["isBlog"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.ButtonBusyDirective, selector: "[buttonBusy]", inputs: ["buttonBusy", "busyText"] }, { kind: "directive", type: i3.LazyImgDirective, selector: "img" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "pipe", type: i9.TranslocoPipe, name: "transloco" }] }); }
512
+ }
513
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: RelatedResourcesComponent, decorators: [{
514
+ type: Component,
515
+ args: [{ selector: 'pw-related-resources', template: "\n\n<section class=\"resource-body-section\">\n <div class=\"container\">\n <div class=\"ql-snow body-quill\"\n >\n <div class=\"ql-editor body post-body-text\"\n [innerHTML]=\"post?.body\">\n </div>\n </div>\n <section class=\"nce-offer-section\">\n\n <div class=\"row mt-5 mb-4 response-row\">\n <div class=\"col-12\">\n <form\n class=\"p-fluid mb-5\"\n [formGroup]=\"commentForm\"\n (ngSubmit)=\"onComment()\"\n *ngIf=\"userLoggedIn; else userLoggedOut\"\n >\n <div class=\"card shadow-sm border-0 p-4\">\n <div class=\"field\">\n <label for=\"comment\" class=\"font-bold text-lg mb-4 comment-label\">\uD83D\uDCAC Leave a comment</label>\n <textarea\n pInputTextarea\n formControlName=\"comment\"\n rows=\"6\"\n autoResize=\"true\"\n class=\"p-inputtext p-component p-inputtextarea\"\n placeholder=\"What's on your mind?\"\n ></textarea>\n <small\n class=\"text-danger\"\n *ngIf=\"commentForm.get('comment')?.invalid && commentForm.get('comment')?.touched\"\n >Please enter comment</small\n >\n </div>\n <div class=\"text-end mt-3\">\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"sign-btn sign-header-btn\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </div>\n </form>\n <ng-template #userLoggedOut>\n <p class=\"text-center pt-3 pb-3 user-not-logged-in text-muted shadow-sm mb-5\">\n <a [routerLink]=\"['/login']\" class=\"text-primary fw-bold\">Log in</a> to leave a comment!\n </p>\n </ng-template>\n </div>\n </div>\n\n <div class=\"row mt-5 comment-row\">\n <div class=\"col-12\" *ngFor=\"let comment of postComments; trackBy: trackByComment\">\n <div class=\"card border-0 shadow-sm p-3 mb-3\">\n <div class=\"d-flex align-items-start\">\n <img\n [src]=\"comment?.author?.avatar[0]?.url || 'assets/img/icons/male.png'\"\n alt=\"avatar\"\n class=\"rounded-circle me-3\"\n width=\"50\"\n height=\"50\"\n (error)=\"handleImageError($event, 'assets/img/icons/male.png')\"\n />\n <div class=\"flex-grow-1\">\n <div class=\"fw-bold text-dark\">\n {{ comment.user?.first_name || '' }} {{ comment.user?.last_name || '' }}\n </div>\n <div class=\"text-muted small mb-2\">{{ comment.created_at | date: 'dd MMM yyyy, h:mm a' }}</div>\n <div class=\"text-body\">\n {{ comment.comment }}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n\n </section>\n </div>\n <hr class=\"nce-divider\" />\n</section>\n\n<section class=\"nce-book-section\">\n <div class=\"container\">\n\n <p class=\"nce-contact\">\n Any questions? Get in touch with Adam <a href=\"#\">here</a>,\n <a href=\"https://www.linkedin.com/company/cloudolive\" target=\"_blank\">connect on LinkedIn</a>, or book a meeting below:\n </p>\n </div>\n <pw-book-a-demo [isBlog]=\"true\"></pw-book-a-demo>\n <hr class=\"nce-divider\" />\n</section>\n\n\n\n<section class=\"resource-section bg-white\">\n <div class=\"container\">\n <div class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <h2 class=\"section-heading\">Other resources you may be interested in:</h2>\n <a class=\"view-all\" routerLink=\"/resources\">VIEW ALL ></a>\n </div>\n\n <div class=\"row mt-4 cards-row\">\n <div class=\"col-lg-4 col-md-6 mb-4\" *ngFor=\"let card of resourceCards\">\n <div class=\"resource-card\">\n <p class=\"resource-title\">{{ card.title }}</p>\n <img [src]=\"card.image\" class=\"resource-image mt-4\" [alt]=\"card.alt\" />\n <a class=\"read-now-btn\" [href]=\"card.url\">\n <span>Read now</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n </div>\n </div>\n </div>\n </div>\n</section>\n", styles: ["::ng-deep .ql-editor p{font-size:1.5rem!important;line-height:1.8rem!important;color:#333!important}.msp-vault-section{padding:60px 0;background:#fff}.msp-vault-section .vault-heading{font-size:4.5rem;font-weight:300;color:#000!important}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}.msp-vault-section .vault-card{background-color:#fff;border-radius:30px;box-shadow:0 5px 20px #0000000d;padding:25px;text-align:center;width:338px;height:auto}.msp-vault-section .vault-card h5{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#000!important}.msp-vault-section .vault-card p{font-size:1.5rem;color:#444}.msp-vault-section .vault-card img,.msp-vault-section .vault-card iframe{height:180px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card .vault-btn{background-color:#000!important;margin-top:10px;color:#fff;width:240px;padding:10px 24px;border-radius:24px;border:none;font-size:1.5rem;margin-left:2rem;font-weight:500;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left}.msp-vault-section .vault-card .vault-btn:hover{background-color:#333}@media (width >= 768px) and (width <= 1200px){.resource-title{font-size:1.4rem!important}}textarea{font-size:1.4rem!important}@media (width <= 768px){.resource-title{font-size:1.2rem!important}.container{padding:7rem 3rem 1rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-card{width:100%!important}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){::ng-deep .trial-meeting-section:before{top:600px!important}::ng-deep .dashboard{margin-bottom:1rem!important}section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}section.bg-white.text-center.extra-top-padding:before,section.bg-white.text-center.extra-top-padding:after{content:\"\";position:absolute;background:url(/assets/img/logos/background-banner.png) no-repeat;background-size:contain;width:160px;height:450px;z-index:0;opacity:.8}section.bg-white.text-center.extra-top-padding:before{top:500px;left:0}section.bg-white.text-center.extra-top-padding:after{top:90px;right:0}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 1200px){.resource-card{width:100%!important}.release-notes-section{padding:7rem 0!important}}.resource-section{padding:5rem 0;position:relative}.resource-section .section-heading{font-weight:700;font-size:2.4rem;color:#000}.resource-section .view-all{font-size:1.5rem;font-weight:600;color:#000;text-decoration:none;margin-bottom:2.5rem}.resource-section .view-all:hover{color:var(--first)}.resource-section .resource-card{background:#fff;width:353px;border-radius:30px;padding:3rem;box-shadow:0 20px 40px #00000014;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;height:100%}.resource-section .resource-card .resource-title{font-size:1.5rem;line-height:2rem;font-weight:300;color:#000;margin-bottom:16px;text-align:center;height:3.5rem}.resource-section .resource-card .resource-image{width:100%;height:204px!important;object-fit:cover;border-radius:16px;margin-bottom:20px;margin-top:3.5rem!important}.resource-section .resource-card .read-now-btn{background-color:var(--text-color, black);color:#fff;text-decoration:none;padding:14px 20px;font-size:1.5rem;font-weight:500;border-radius:40px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .3s ease;width:100%;max-width:240px;margin:0 auto;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.resource-section .resource-card .read-now-btn .arrow{font-weight:600;font-size:1.5rem}.resource-section .resource-card .read-now-btn:hover{background:#fff;color:var(--text-color, black)!important}@media (width <= 768px){.resource-section .resource-section .cards-row{gap:3rem;margin-top:3rem!important}.resource-section .section-heading,.resource-section .view-all{width:100%;text-align:center;margin-bottom:1rem}.resource-section .resource-card .read-now-btn{flex-direction:row;justify-content:center;gap:8px}}@media (width >= 768px) and (width <= 1200px){.nce-hero-section{padding:0 6rem!important}.cards-row{justify-content:center}}.resource-body-section{background-color:#fff}.resource-body-section .container{padding:0 1.5rem;padding-bottom:4rem!important;padding-top:7rem!important;max-width:850px;margin:0 auto;text-align:left}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:var(--first)!important;text-decoration:none;font-weight:500}.nce-book-section{background:#fff;padding-top:7rem;padding-bottom:0}.nce-book-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-book-section .nce-contact{line-height:1.6;font-size:1.5rem}.nce-book-section .nce-contact a{text-decoration:underline;color:#000;margin:0 .2rem}.nce-offer-section{background:#fff;padding-top:2rem}.nce-offer-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-offer-section .nce-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.25em!important}.nce-offer-section .nce-title strong{font-weight:700}.nce-offer-section .nce-description{font-size:1.5rem;line-height:1.8rem;color:#333;margin-bottom:1.5rem}.nce-offer-section .nce-offer-list{font-size:1.1rem;line-height:1.5rem;margin-bottom:2.5rem;margin-top:2.5rem}.nce-offer-section .nce-offer-list p{font-size:1.5rem;margin:.5rem 0;font-weight:400}.nce-offer-section .nce-signup{margin-bottom:2.5rem}.nce-offer-section .nce-signup .signup-link{font-size:1.5rem;font-weight:400;text-decoration:underline;color:#000}@media (width <= 768px){.nce-offer-section .nce-book-section{padding-top:5rem!important}.nce-offer-section .container{text-align:left}.nce-offer-section .nce-title{font-size:1.5rem}.nce-offer-section .nce-description,.nce-offer-section .nce-offer-list,.nce-offer-section .nce-signup,.nce-offer-section .signup-link,.nce-offer-section .nce-contact,.nce-offer-section .nce-offer-list p{font-size:1.2rem!important}}.nce-offer-intro{font-size:1.5rem;font-weight:400}.outer-section-fadeout{position:absolute;top:139rem;height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.body-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}@media (width <= 768px){.nce-book-section{padding-top:5rem!important}.nce-contact{font-size:1.2rem!important}}::ng-deep .body-quill{border-width:0!important;max-width:1000px;display:block;margin-left:auto;margin-right:auto}::ng-deep .ql-editor h1{font-size:2rem!important;line-height:2.3rem!important;color:#333!important}::ng-deep .ql-editor li{font-size:1.3rem!important;color:#333!important}::ng-deep .p-inputtextarea{border-radius:.5rem;border-color:#ced4da;font-size:1rem}.card{background-color:#fff;border-radius:12px}.comment-row{gap:2rem;padding-bottom:5rem;max-width:1000px;display:block;margin-left:auto;margin-right:auto}.comment-label{font-size:1.5rem!important}.response-row{max-width:1000px;display:block;margin-left:auto;margin-right:auto;margin-top:6rem!important}\n"] }]
516
+ }], ctorParameters: () => [{ type: i1$2.ResourceService }, { type: i0.Injector }, { type: i1$1.DomSanitizer }, { type: i2.CustomToastService }] });
517
+
518
+ class ResourceCardComponent {
519
+ constructor() {
520
+ this.resourceCards = [
521
+ {
522
+ title: 'BLOG: Here’s why you should QA your distributor invoices',
523
+ image: '/assets/img/resource/resource-qa.png',
524
+ alt: 'QA distributor invoices',
525
+ url: '/resources/view/here-s-why-you-should-be-seeking-independent-qa-of-all-distributor-inv'
526
+ },
527
+ {
528
+ title: 'BLOG: 4 instant hacks to uplift your MSP’s monthly billing',
529
+ image: '/assets/img/resource/resource-hacks.png',
530
+ alt: 'Monthly billing hacks',
531
+ url: '/resources/view/4-instant-hacks-to-uplift-your-msp-s-monthly-billing'
532
+ },
533
+ {
534
+ title: 'BLOG: The trivial detail that will either future-proof or sabotage your PSA.',
535
+ image: '/assets/img/resource/resource-psa.png',
536
+ alt: 'PSA future-proof',
537
+ url: '/resources/view/the-trivial-detail-that-will-either-future-proof-or-sabotage-your-psa'
538
+ }
539
+ ];
540
+ }
541
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
542
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceCardComponent, selector: "pw-resource-cards", ngImport: i0, template: "<section class=\"resource-section bg-white\">\n <div class=\"container\">\n <div class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <h2 class=\"section-heading\">Our team\u2019s articles</h2>\n <a class=\"view-all\" routerLink=\"/resources\">VIEW ALL ></a>\n </div>\n\n <div class=\"row mt-4 cards-row\">\n <div class=\"col-lg-4 col-md-6 mb-4\" *ngFor=\"let card of resourceCards\">\n <div class=\"resource-card\">\n <p class=\"resource-title\">{{ card.title }}</p>\n <img [src]=\"card.image\" class=\"resource-image mt-4\" [alt]=\"card.alt\" />\n <a class=\"read-now-btn\" [href]=\"card.url\">\n <span>Read now</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n </div>\n </div>\n </div>\n </div>\n </section>", styles: ["::ng-deep .ql-editor p{font-size:1.5rem!important;line-height:1.8rem!important;color:#333!important}.msp-vault-section{padding:60px 0;background:#fff}.msp-vault-section .vault-heading{font-size:4.5rem;font-weight:300;color:#000!important}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}.msp-vault-section .vault-card{background-color:#fff;border-radius:30px;box-shadow:0 5px 20px #0000000d;padding:25px;text-align:center;width:338px;height:auto}.msp-vault-section .vault-card h5{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#000!important}.msp-vault-section .vault-card p{font-size:1.5rem;color:#444}.msp-vault-section .vault-card img,.msp-vault-section .vault-card iframe{height:180px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card .vault-btn{background-color:#000!important;margin-top:10px;color:#fff;width:240px;padding:10px 24px;border-radius:24px;border:none;font-size:1.5rem;margin-left:2rem;font-weight:500;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left}.msp-vault-section .vault-card .vault-btn:hover{background-color:#333}@media (width >= 768px) and (width <= 1200px){.resource-title{font-size:1.4rem!important}}textarea{font-size:1.4rem!important}@media (width <= 768px){.resource-title{font-size:1.2rem!important}.container{padding:7rem 3rem 1rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-card{width:100%!important}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){::ng-deep .trial-meeting-section:before{top:600px!important}::ng-deep .dashboard{margin-bottom:1rem!important}section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}section.bg-white.text-center.extra-top-padding:before,section.bg-white.text-center.extra-top-padding:after{content:\"\";position:absolute;background:url(/assets/img/logos/background-banner.png) no-repeat;background-size:contain;width:160px;height:450px;z-index:0;opacity:.8}section.bg-white.text-center.extra-top-padding:before{top:500px;left:0}section.bg-white.text-center.extra-top-padding:after{top:90px;right:0}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 1200px){.resource-card{width:100%!important}.release-notes-section{padding:7rem 0!important}}.resource-section{padding:5rem 0;position:relative}.resource-section .section-heading{font-weight:700;font-size:2.4rem;color:#000}.resource-section .view-all{font-size:1.5rem;font-weight:600;color:#000;text-decoration:none;margin-bottom:2.5rem}.resource-section .view-all:hover{color:var(--first)}.resource-section .resource-card{background:#fff;width:353px;border-radius:30px;padding:3rem;box-shadow:0 20px 40px #00000014;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;height:100%}.resource-section .resource-card .resource-title{font-size:1.5rem;line-height:2rem;font-weight:300;color:#000;margin-bottom:16px;text-align:center;height:3.5rem}.resource-section .resource-card .resource-image{width:100%;height:204px!important;object-fit:cover;border-radius:16px;margin-bottom:20px;margin-top:3.5rem!important}.resource-section .resource-card .read-now-btn{background-color:var(--text-color, black);color:#fff;text-decoration:none;padding:14px 20px;font-size:1.5rem;font-weight:500;border-radius:40px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .3s ease;width:100%;max-width:240px;margin:0 auto;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.resource-section .resource-card .read-now-btn .arrow{font-weight:600;font-size:1.5rem}.resource-section .resource-card .read-now-btn:hover{background:#fff;color:var(--text-color, black)!important}@media (width <= 768px){.resource-section .resource-section .cards-row{gap:3rem;margin-top:3rem!important}.resource-section .section-heading,.resource-section .view-all{width:100%;text-align:center;margin-bottom:1rem}.resource-section .resource-card .read-now-btn{flex-direction:row;justify-content:center;gap:8px}}@media (width >= 768px) and (width <= 1200px){.nce-hero-section{padding:0 6rem!important}.cards-row{justify-content:center}}.resource-body-section{background-color:#fff}.resource-body-section .container{padding:0 1.5rem;padding-bottom:4rem!important;padding-top:7rem!important;max-width:850px;margin:0 auto;text-align:left}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:var(--first)!important;text-decoration:none;font-weight:500}.nce-book-section{background:#fff;padding-top:7rem;padding-bottom:0}.nce-book-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-book-section .nce-contact{line-height:1.6;font-size:1.5rem}.nce-book-section .nce-contact a{text-decoration:underline;color:#000;margin:0 .2rem}.nce-offer-section{background:#fff;padding-top:2rem}.nce-offer-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-offer-section .nce-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.25em!important}.nce-offer-section .nce-title strong{font-weight:700}.nce-offer-section .nce-description{font-size:1.5rem;line-height:1.8rem;color:#333;margin-bottom:1.5rem}.nce-offer-section .nce-offer-list{font-size:1.1rem;line-height:1.5rem;margin-bottom:2.5rem;margin-top:2.5rem}.nce-offer-section .nce-offer-list p{font-size:1.5rem;margin:.5rem 0;font-weight:400}.nce-offer-section .nce-signup{margin-bottom:2.5rem}.nce-offer-section .nce-signup .signup-link{font-size:1.5rem;font-weight:400;text-decoration:underline;color:#000}@media (width <= 768px){.nce-offer-section .nce-book-section{padding-top:5rem!important}.nce-offer-section .container{text-align:left}.nce-offer-section .nce-title{font-size:1.5rem}.nce-offer-section .nce-description,.nce-offer-section .nce-offer-list,.nce-offer-section .nce-signup,.nce-offer-section .signup-link,.nce-offer-section .nce-contact,.nce-offer-section .nce-offer-list p{font-size:1.2rem!important}}.nce-offer-intro{font-size:1.5rem;font-weight:400}.outer-section-fadeout{position:absolute;top:139rem;height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.body-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}@media (width <= 768px){.nce-book-section{padding-top:5rem!important}.nce-contact{font-size:1.2rem!important}}::ng-deep .body-quill{border-width:0!important;max-width:1000px;display:block;margin-left:auto;margin-right:auto}::ng-deep .ql-editor h1{font-size:2rem!important;line-height:2.3rem!important;color:#333!important}::ng-deep .ql-editor li{font-size:1.3rem!important;color:#333!important}::ng-deep .p-inputtextarea{border-radius:.5rem;border-color:#ced4da;font-size:1rem}.card{background-color:#fff;border-radius:12px}.comment-row{gap:2rem;padding-bottom:5rem;max-width:1000px;display:block;margin-left:auto;margin-right:auto}.comment-label{font-size:1.5rem!important}.response-row{max-width:1000px;display:block;margin-left:auto;margin-right:auto;margin-top:6rem!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.LazyImgDirective, selector: "img" }] }); }
543
+ }
544
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceCardComponent, decorators: [{
545
+ type: Component,
546
+ args: [{ selector: 'pw-resource-cards', template: "<section class=\"resource-section bg-white\">\n <div class=\"container\">\n <div class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <h2 class=\"section-heading\">Our team\u2019s articles</h2>\n <a class=\"view-all\" routerLink=\"/resources\">VIEW ALL ></a>\n </div>\n\n <div class=\"row mt-4 cards-row\">\n <div class=\"col-lg-4 col-md-6 mb-4\" *ngFor=\"let card of resourceCards\">\n <div class=\"resource-card\">\n <p class=\"resource-title\">{{ card.title }}</p>\n <img [src]=\"card.image\" class=\"resource-image mt-4\" [alt]=\"card.alt\" />\n <a class=\"read-now-btn\" [href]=\"card.url\">\n <span>Read now</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n </div>\n </div>\n </div>\n </div>\n </section>", styles: ["::ng-deep .ql-editor p{font-size:1.5rem!important;line-height:1.8rem!important;color:#333!important}.msp-vault-section{padding:60px 0;background:#fff}.msp-vault-section .vault-heading{font-size:4.5rem;font-weight:300;color:#000!important}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}.msp-vault-section .vault-card{background-color:#fff;border-radius:30px;box-shadow:0 5px 20px #0000000d;padding:25px;text-align:center;width:338px;height:auto}.msp-vault-section .vault-card h5{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#000!important}.msp-vault-section .vault-card p{font-size:1.5rem;color:#444}.msp-vault-section .vault-card img,.msp-vault-section .vault-card iframe{height:180px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card .vault-btn{background-color:#000!important;margin-top:10px;color:#fff;width:240px;padding:10px 24px;border-radius:24px;border:none;font-size:1.5rem;margin-left:2rem;font-weight:500;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left}.msp-vault-section .vault-card .vault-btn:hover{background-color:#333}@media (width >= 768px) and (width <= 1200px){.resource-title{font-size:1.4rem!important}}textarea{font-size:1.4rem!important}@media (width <= 768px){.resource-title{font-size:1.2rem!important}.container{padding:7rem 3rem 1rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-card{width:100%!important}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){::ng-deep .trial-meeting-section:before{top:600px!important}::ng-deep .dashboard{margin-bottom:1rem!important}section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}section.bg-white.text-center.extra-top-padding:before,section.bg-white.text-center.extra-top-padding:after{content:\"\";position:absolute;background:url(/assets/img/logos/background-banner.png) no-repeat;background-size:contain;width:160px;height:450px;z-index:0;opacity:.8}section.bg-white.text-center.extra-top-padding:before{top:500px;left:0}section.bg-white.text-center.extra-top-padding:after{top:90px;right:0}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 1200px){.resource-card{width:100%!important}.release-notes-section{padding:7rem 0!important}}.resource-section{padding:5rem 0;position:relative}.resource-section .section-heading{font-weight:700;font-size:2.4rem;color:#000}.resource-section .view-all{font-size:1.5rem;font-weight:600;color:#000;text-decoration:none;margin-bottom:2.5rem}.resource-section .view-all:hover{color:var(--first)}.resource-section .resource-card{background:#fff;width:353px;border-radius:30px;padding:3rem;box-shadow:0 20px 40px #00000014;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;height:100%}.resource-section .resource-card .resource-title{font-size:1.5rem;line-height:2rem;font-weight:300;color:#000;margin-bottom:16px;text-align:center;height:3.5rem}.resource-section .resource-card .resource-image{width:100%;height:204px!important;object-fit:cover;border-radius:16px;margin-bottom:20px;margin-top:3.5rem!important}.resource-section .resource-card .read-now-btn{background-color:var(--text-color, black);color:#fff;text-decoration:none;padding:14px 20px;font-size:1.5rem;font-weight:500;border-radius:40px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .3s ease;width:100%;max-width:240px;margin:0 auto;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.resource-section .resource-card .read-now-btn .arrow{font-weight:600;font-size:1.5rem}.resource-section .resource-card .read-now-btn:hover{background:#fff;color:var(--text-color, black)!important}@media (width <= 768px){.resource-section .resource-section .cards-row{gap:3rem;margin-top:3rem!important}.resource-section .section-heading,.resource-section .view-all{width:100%;text-align:center;margin-bottom:1rem}.resource-section .resource-card .read-now-btn{flex-direction:row;justify-content:center;gap:8px}}@media (width >= 768px) and (width <= 1200px){.nce-hero-section{padding:0 6rem!important}.cards-row{justify-content:center}}.resource-body-section{background-color:#fff}.resource-body-section .container{padding:0 1.5rem;padding-bottom:4rem!important;padding-top:7rem!important;max-width:850px;margin:0 auto;text-align:left}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:var(--first)!important;text-decoration:none;font-weight:500}.nce-book-section{background:#fff;padding-top:7rem;padding-bottom:0}.nce-book-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-book-section .nce-contact{line-height:1.6;font-size:1.5rem}.nce-book-section .nce-contact a{text-decoration:underline;color:#000;margin:0 .2rem}.nce-offer-section{background:#fff;padding-top:2rem}.nce-offer-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-offer-section .nce-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.25em!important}.nce-offer-section .nce-title strong{font-weight:700}.nce-offer-section .nce-description{font-size:1.5rem;line-height:1.8rem;color:#333;margin-bottom:1.5rem}.nce-offer-section .nce-offer-list{font-size:1.1rem;line-height:1.5rem;margin-bottom:2.5rem;margin-top:2.5rem}.nce-offer-section .nce-offer-list p{font-size:1.5rem;margin:.5rem 0;font-weight:400}.nce-offer-section .nce-signup{margin-bottom:2.5rem}.nce-offer-section .nce-signup .signup-link{font-size:1.5rem;font-weight:400;text-decoration:underline;color:#000}@media (width <= 768px){.nce-offer-section .nce-book-section{padding-top:5rem!important}.nce-offer-section .container{text-align:left}.nce-offer-section .nce-title{font-size:1.5rem}.nce-offer-section .nce-description,.nce-offer-section .nce-offer-list,.nce-offer-section .nce-signup,.nce-offer-section .signup-link,.nce-offer-section .nce-contact,.nce-offer-section .nce-offer-list p{font-size:1.2rem!important}}.nce-offer-intro{font-size:1.5rem;font-weight:400}.outer-section-fadeout{position:absolute;top:139rem;height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.body-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}@media (width <= 768px){.nce-book-section{padding-top:5rem!important}.nce-contact{font-size:1.2rem!important}}::ng-deep .body-quill{border-width:0!important;max-width:1000px;display:block;margin-left:auto;margin-right:auto}::ng-deep .ql-editor h1{font-size:2rem!important;line-height:2.3rem!important;color:#333!important}::ng-deep .ql-editor li{font-size:1.3rem!important;color:#333!important}::ng-deep .p-inputtextarea{border-radius:.5rem;border-color:#ced4da;font-size:1rem}.card{background-color:#fff;border-radius:12px}.comment-row{gap:2rem;padding-bottom:5rem;max-width:1000px;display:block;margin-left:auto;margin-right:auto}.comment-label{font-size:1.5rem!important}.response-row{max-width:1000px;display:block;margin-left:auto;margin-right:auto;margin-top:6rem!important}\n"] }]
547
+ }] });
548
+
549
+ class ResourcePostDetailsComponent extends AppBaseComponent {
550
+ constructor(resourceService, injector, sanitizer) {
551
+ super(injector);
552
+ this.resourceService = resourceService;
553
+ this.sanitizer = sanitizer;
554
+ }
555
+ ngOnInit() {
556
+ this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;
557
+ this.route.params.subscribe(params => {
558
+ this.slug = params['slug'] || '';
559
+ this.getBlogItem(this.slug);
560
+ });
561
+ }
562
+ getBlogItem(slug) {
563
+ this.resourceService.getPostBySlug(slug).subscribe(response => {
564
+ let blogBody;
565
+ if (response?.body) {
566
+ blogBody = HelperService.sanitizeQuillBody(response.body, this.sanitizer);
567
+ }
568
+ const date = new Date(response?.published_at);
569
+ const formatted = date.toISOString().split('T')[0];
570
+ console.log(formatted); //
571
+ this.post = { ...response, body: blogBody, published_at: formatted };
572
+ });
573
+ }
574
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourcePostDetailsComponent, deps: [{ token: i1$2.ResourceService }, { token: i0.Injector }, { token: i1$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
575
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourcePostDetailsComponent, selector: "pw-resource-post-details", usesInheritance: true, ngImport: i0, template: "<section class=\"nce-hero-section\">\n <div class=\"container d-flex flex-wrap\">\n <div class=\"hero-left\">\n <p class=\"blog-label\">MSP BLOG</p>\n\n <h1 class=\"hero-title\">\n <strong>{{post?.title}}</strong>\n </h1>\n\n <div class=\"author-info\">\n <img [src]=\"post?.author?.avatar[0]?.url || 'assets/img/icons/male.png'\" alt=\"User Profile Logo\" class=\"author-img\" />\n <div class=\"author-meta\">\n <p>Article by {{ post?.author?.first_name }} {{ post?.author?.last_name }}</p>\n <p class=\"date\">{{post?.published_at}}</p>\n </div>\n <img src=\"/assets/img/resource/math.png\" alt=\"User Profile Logo\" class=\"d-md-none d-block mobile-math-image\" />\n </div>\n </div>\n\n <div class=\"hero-right d-none d-md-block\">\n <img src=\"/assets/img/resource/math.png\" alt=\"Math Icon Blob\" class=\"hero-image\" />\n </div>\n </div>\n <hr class=\"nce-divider\" />\n </section>\n", styles: [".outer-section-fadeout{position:absolute;top:46rem;height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.container{padding-bottom:3.5rem!important;padding-top:232px!important}.nce-hero-section{background:#fff}.nce-hero-section .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.nce-hero-section .blog-label{font-weight:700;font-size:1.7rem;margin-bottom:3rem}.nce-hero-section .hero-title{font-size:3.75rem;font-weight:300;line-height:1.3;color:#000;margin-bottom:2rem}.nce-hero-section .hero-title strong{font-weight:800}.nce-hero-section .hero-left{max-width:700px}.nce-hero-section .author-info{display:flex;align-items:center;gap:1rem;max-width:100%;overflow:hidden}.nce-hero-section .author-info .mobile-math-image{margin-right:0!important;margin-bottom:1rem;height:100px!important}.nce-hero-section .author-info .author-img{width:60px;height:60px;border-radius:50%;object-fit:cover}.nce-hero-section .author-info .author-meta p{font-size:1.2rem;margin-bottom:0!important}.nce-hero-section .author-info .author-meta .date{font-size:.95rem;color:#333}.nce-hero-section .hero-right{flex-shrink:0}.nce-hero-section .hero-right .hero-image{width:300px;height:auto}@media (width <= 768px){.nce-hero-section .hero-title{font-size:2rem}.nce-hero-section .hero-right{margin-top:2rem;width:100%;text-align:center}.nce-hero-section .hero-right .hero-image{max-width:460px}.nce-hero-section .author-info{flex-direction:row;justify-content:flex-start}}@media (width >= 1200px){.hero-image{width:630px!important;height:auto;left:50%;position:absolute!important;top:6rem}}@media (width >= 1020px) and (width <= 1200px){.outer-section-fadeout{top:34rem!important}}@media (width >= 768px) and (width <= 869px){.hero-image{width:200px!important;height:auto}.hero-left{max-width:500px!important}.nce-hero-section .container{flex-wrap:nowrap!important}}@media (width >= 869px) and (width <= 1200px){.hero-image{width:400px!important;height:auto}.hero-left{max-width:500px!important}.nce-hero-section .container{flex-wrap:nowrap!important}}@media (width >= 768px) and (width <= 991px){.container{padding:18rem 6rem 6rem!important}}@media (width >= 991px) and (width <= 1200px){.container{padding:14rem 6rem 6rem!important}}@media (width >= 768px) and (width <= 1200px){.nce-hero-section{padding:0!important}.outer-section-fadeout{top:53rem}.hero-title{font-size:2.75rem!important}.hero-right{text-align:center}}@media (width <= 768px){.container{padding:16rem 3rem 2rem!important}.outer-section-fadeout{top:50rem}}.nce-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0;padding-left:0!important}@media (width <= 400px){.author-info{flex-wrap:wrap}.mobile-math-image{margin-left:-1rem!important}}\n"], dependencies: [{ kind: "directive", type: i3.LazyImgDirective, selector: "img" }] }); }
576
+ }
577
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourcePostDetailsComponent, decorators: [{
578
+ type: Component,
579
+ args: [{ selector: 'pw-resource-post-details', template: "<section class=\"nce-hero-section\">\n <div class=\"container d-flex flex-wrap\">\n <div class=\"hero-left\">\n <p class=\"blog-label\">MSP BLOG</p>\n\n <h1 class=\"hero-title\">\n <strong>{{post?.title}}</strong>\n </h1>\n\n <div class=\"author-info\">\n <img [src]=\"post?.author?.avatar[0]?.url || 'assets/img/icons/male.png'\" alt=\"User Profile Logo\" class=\"author-img\" />\n <div class=\"author-meta\">\n <p>Article by {{ post?.author?.first_name }} {{ post?.author?.last_name }}</p>\n <p class=\"date\">{{post?.published_at}}</p>\n </div>\n <img src=\"/assets/img/resource/math.png\" alt=\"User Profile Logo\" class=\"d-md-none d-block mobile-math-image\" />\n </div>\n </div>\n\n <div class=\"hero-right d-none d-md-block\">\n <img src=\"/assets/img/resource/math.png\" alt=\"Math Icon Blob\" class=\"hero-image\" />\n </div>\n </div>\n <hr class=\"nce-divider\" />\n </section>\n", styles: [".outer-section-fadeout{position:absolute;top:46rem;height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.container{padding-bottom:3.5rem!important;padding-top:232px!important}.nce-hero-section{background:#fff}.nce-hero-section .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.nce-hero-section .blog-label{font-weight:700;font-size:1.7rem;margin-bottom:3rem}.nce-hero-section .hero-title{font-size:3.75rem;font-weight:300;line-height:1.3;color:#000;margin-bottom:2rem}.nce-hero-section .hero-title strong{font-weight:800}.nce-hero-section .hero-left{max-width:700px}.nce-hero-section .author-info{display:flex;align-items:center;gap:1rem;max-width:100%;overflow:hidden}.nce-hero-section .author-info .mobile-math-image{margin-right:0!important;margin-bottom:1rem;height:100px!important}.nce-hero-section .author-info .author-img{width:60px;height:60px;border-radius:50%;object-fit:cover}.nce-hero-section .author-info .author-meta p{font-size:1.2rem;margin-bottom:0!important}.nce-hero-section .author-info .author-meta .date{font-size:.95rem;color:#333}.nce-hero-section .hero-right{flex-shrink:0}.nce-hero-section .hero-right .hero-image{width:300px;height:auto}@media (width <= 768px){.nce-hero-section .hero-title{font-size:2rem}.nce-hero-section .hero-right{margin-top:2rem;width:100%;text-align:center}.nce-hero-section .hero-right .hero-image{max-width:460px}.nce-hero-section .author-info{flex-direction:row;justify-content:flex-start}}@media (width >= 1200px){.hero-image{width:630px!important;height:auto;left:50%;position:absolute!important;top:6rem}}@media (width >= 1020px) and (width <= 1200px){.outer-section-fadeout{top:34rem!important}}@media (width >= 768px) and (width <= 869px){.hero-image{width:200px!important;height:auto}.hero-left{max-width:500px!important}.nce-hero-section .container{flex-wrap:nowrap!important}}@media (width >= 869px) and (width <= 1200px){.hero-image{width:400px!important;height:auto}.hero-left{max-width:500px!important}.nce-hero-section .container{flex-wrap:nowrap!important}}@media (width >= 768px) and (width <= 991px){.container{padding:18rem 6rem 6rem!important}}@media (width >= 991px) and (width <= 1200px){.container{padding:14rem 6rem 6rem!important}}@media (width >= 768px) and (width <= 1200px){.nce-hero-section{padding:0!important}.outer-section-fadeout{top:53rem}.hero-title{font-size:2.75rem!important}.hero-right{text-align:center}}@media (width <= 768px){.container{padding:16rem 3rem 2rem!important}.outer-section-fadeout{top:50rem}}.nce-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0;padding-left:0!important}@media (width <= 400px){.author-info{flex-wrap:wrap}.mobile-math-image{margin-left:-1rem!important}}\n"] }]
580
+ }], ctorParameters: () => [{ type: i1$2.ResourceService }, { type: i0.Injector }, { type: i1$1.DomSanitizer }] });
581
+
582
+ class ResourcePostComponent {
583
+ constructor(route, titleService) {
584
+ this.route = route;
585
+ this.titleService = titleService;
586
+ }
587
+ ngOnInit() {
588
+ this.route.paramMap.subscribe(params => {
589
+ this.slug = params.get('slug') || 'Default';
590
+ setTimeout(() => {
591
+ this.titleService.setTitle(`Resource - ${this.slug}`);
592
+ }, 1000);
593
+ });
594
+ }
595
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourcePostComponent, deps: [{ token: i2$1.ActivatedRoute }, { token: i1$1.Title }], target: i0.ɵɵFactoryTarget.Component }); }
596
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourcePostComponent, selector: "app-resource-post", ngImport: i0, template: "<pw-resource-header></pw-resource-header>\n<pw-resource-post-details></pw-resource-post-details>\n<pw-related-resources></pw-related-resources>\n<pw-trial-4-contact-us></pw-trial-4-contact-us>", dependencies: [{ kind: "component", type: i3$1.Trial4ContactUsComponent, selector: "pw-trial-4-contact-us", inputs: ["subscriptionId", "sourceId", "masterSubscriptionId", "experimentName", "microserviceName"] }, { kind: "component", type: i4.ResourceHeaderComponent, selector: "pw-resource-header" }, { kind: "component", type: RelatedResourcesComponent, selector: "pw-related-resources" }, { kind: "component", type: ResourcePostDetailsComponent, selector: "pw-resource-post-details" }] }); }
597
+ }
598
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourcePostComponent, decorators: [{
599
+ type: Component,
600
+ args: [{ selector: 'app-resource-post', template: "<pw-resource-header></pw-resource-header>\n<pw-resource-post-details></pw-resource-post-details>\n<pw-related-resources></pw-related-resources>\n<pw-trial-4-contact-us></pw-trial-4-contact-us>" }]
601
+ }], ctorParameters: () => [{ type: i2$1.ActivatedRoute }, { type: i1$1.Title }] });
602
+
603
+ class ResourceReleaseNoteComponent extends AppBaseComponent {
604
+ constructor(resourceService, tagService, injector) {
605
+ super(injector);
606
+ this.resourceService = resourceService;
607
+ this.tagService = tagService;
608
+ this.posts = [];
609
+ }
610
+ ngOnInit() {
611
+ console.log();
612
+ this.getUserSubscriptionId().subscribe(response => {
613
+ this.subscriptionId = response;
614
+ });
615
+ this.localStorage.getItem$(TOKEN_KEY).subscribe(res => {
616
+ this.userLoggedIn = !!res;
617
+ if (this.userLoggedIn) {
618
+ this.localStorage.getItem$('product').subscribe(res => {
619
+ const data = res ? JSON.parse(res) : null;
620
+ this.subscriptionId = data?.subscriptionId;
621
+ console.log(this.subscriptionId);
622
+ this.getPostTags();
623
+ });
624
+ }
625
+ });
626
+ }
627
+ getPostTags() {
628
+ this.tagService
629
+ .getTagsByType('post_categories', {}, this.subscriptionId || this.masterSubscriptionId)
630
+ .subscribe(response => {
631
+ this.blogPostTag = response.tags.find(tag => tag.name === 'Product Release Notes');
632
+ this.getPosts(1, 100);
633
+ });
634
+ }
635
+ getPosts(page, pageSize) {
636
+ console.log(this.blogPostTag);
637
+ this.resourceService
638
+ .getPublicPosts(this.subscriptionId, page, pageSize, '', this.blogPostTag.tag_category_id)
639
+ .subscribe(response => {
640
+ console.log(response.posts, this.blogPostTag);
641
+ this.posts = response.posts
642
+ .filter(post => post.tags?.some(tag => tag.tag_category_id === this.blogPostTag.tag_category_id))
643
+ .sort((a, b) => new Date(b.published_at).getTime() - new Date(a.published_at).getTime())
644
+ .slice(0, 12);
645
+ });
646
+ }
647
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceReleaseNoteComponent, deps: [{ token: ResourceService }, { token: i2.TagService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
648
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceReleaseNoteComponent, selector: "pw-resource-release-notes", usesInheritance: true, ngImport: i0, template: "<pw-resource-header></pw-resource-header>\n\n<section class=\"bg-white pricing-section\">\n <div class=\"nce-banner\">\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\">\n\n <!-- Left Content -->\n <div class=\"text-content\">\n <div class=\"nce-heading\">\n <h1 class=\"nce-header mb-4\">\n Product Release Notes\n <span class=\"blue-text\"></span>\n </h1>\n </div>\n </div>\n\n <!-- Add directly below .text-content, still inside .container -->\n <div class=\"text-extension mt-4\">\n <p class=\"intro\">\n We\u2019re obsessed with solving one of the<br>\n industry's most painful problems:<br> MSP billing.\n </p>\n <div class=\"cta-buttons d-flex gap-3 flex-wrap mt-3\">\n <p class=\"intro\">\n Every quarterly update here is part of<br />\n our mission to remove friction, boost<br />\n profitability, and give you back control.<br />\n It\u2019s how we help you bill better, every<br />\n single day.\n </p>\n </div>\n </div>\n\n <!-- Right Content -->\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <img class=\"nce-math-img\"\n src=\"/assets/img/resource/math.png\"\n alt=\"NCEasy laptop screen\" />\n <img class=\"nce-laptop-img\"\n src=\"/assets/img/resource/release-person.png\"\n alt=\"NCEasy laptop screen\" />\n </div>\n\n </div>\n </div>\n <hr class=\"nce-divider\" />\n</section>\n\n<pw-resource-note-card></pw-resource-note-card>\n\n<pw-trial-4-contact-us></pw-trial-4-contact-us>\n", styles: [".text-extension{max-width:560px;margin-top:6rem!important}.text-extension .intro{font-size:2rem;line-height:3rem;font-weight:100;color:#000;margin-bottom:1rem}.text-extension .cta-buttons{margin-top:2rem!important}.text-extension .cta-btn.filled{background-color:#000;color:#fff;padding:1.2rem 2rem;border-radius:40px;font-size:1.6rem;font-weight:500;text-decoration:none}.text-extension .cta-btn.outline{background-color:transparent;border:2px solid #000;color:#000;padding:1.2rem 2rem;border-radius:40px;font-size:1.6rem;font-weight:500;text-decoration:none}.text-extension .note{font-size:1.2rem;color:#000;margin-top:1rem;margin-left:3rem}.nce-banner{background-image:url(/assets/img/resource/resource2.png);background-position:center;background-repeat:no-repeat;color:#000}.nce-banner .text-content{max-width:500px;text-align:left;margin-bottom:75rem}.nce-banner .text-content h1{margin-bottom:1.5rem;line-height:1.2}.nce-banner .text-content .intro{font-size:1.2rem;margin:1rem 0;color:#000}.nce-banner .text-content .cta-btn{display:inline-block;background:#000;color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem}.nce-banner .text-content .cta-buttons{margin-top:2rem}.nce-banner .text-content .note{margin-top:1rem;margin-left:5.6rem;font-size:.9rem;color:#555}.nce-banner .nce-header{font-weight:500;color:#fff!important;font-size:4.5rem!important}.nce-banner .blue-text{font-weight:100}@media (width <= 991px){.nce-banner .text-content{margin-top:6.5rem;margin-bottom:0;text-align:center;max-width:360px}.nce-banner .text-content h1{margin-bottom:6.5rem!important}.nce-banner .nce-header{font-size:2.5rem!important}.nce-banner .cta-buttons{margin-top:5rem!important;justify-content:center!important}.nce-banner .note{margin-left:8rem!important}.nce-banner .image-content{position:relative;margin-bottom:3rem;height:230px}.nce-banner .image-content .floating-box{position:absolute;top:25px;left:3rem;transform:translate(-50%) rotate(-10deg);background:#fff;padding:.75rem 1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;z-index:3;display:inline-block;width:auto}.nce-banner .image-content .floating-box img{width:24px;margin-bottom:.4rem}.nce-banner .image-content .floating-box .label{font-size:.75rem;color:#333;margin:0;line-height:1.2}.nce-banner .image-content .floating-box .count{font-size:1.2rem;font-weight:700;color:#000;margin-top:.25rem}.nce-banner .image-content .screen-img{max-width:280px;position:absolute;bottom:0;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003}.nce-banner .image-content .person-img{max-width:170px;width:100%;position:relative;z-index:3;left:13rem;top:-11.35rem}.nce-banner .image-content .nce-laptop-img{max-width:160px;width:100%;position:relative;z-index:3;left:12%;height:auto!important;top:12rem}.nce-banner .image-content .nce-math-img{max-width:250px;width:100%;position:relative;z-index:3;left:28%;top:51rem}}@media (width >= 991px){.nce-banner .text-content{position:absolute;width:760px}.nce-banner .text-extension{max-width:760px;position:absolute;margin-bottom:27rem!important}}.white-content{background:#fff;color:#000}.white-content .intro{font-size:1.2rem;color:#000}.white-content .cta-btn.filled{background-color:#000;color:#fff;padding:1rem 2rem;border-radius:40px;font-size:1.1rem;text-decoration:none;font-weight:500}.white-content .cta-btn.outline{background-color:transparent;border:2px solid #000;color:#000;padding:1rem 2rem;border-radius:40px;font-size:1.1rem;text-decoration:none;font-weight:500}.white-content .note{font-size:.85rem;margin-top:1rem;color:#555}@media (width >= 991px){.section-outer{padding-top:7rem!important}}@media (width >= 768px) and (width <= 991px){.nce-math-img{top:28rem!important;left:24%}.nce-laptop-img{top:27rem!important;left:-3rem!important}.pricing-section{height:890px!important}}@media (width >= 991px) and (width <= 1200px){.pricing-section{height:900px!important}.nce-divider{position:absolute;top:60rem}.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .nce-laptop-img{height:500px!important;top:3.9rem;right:10%;position:relative;width:63%!important}.image-content .nce-math-img{position:relative;bottom:0;left:37rem;width:50%}}@media (width >= 604px) and (width <= 768px){.nce-laptop-img{top:27rem!important;left:-2rem!important}}@media (width >= 420px) and (width <= 768px){.intro{font-size:1.5rem!important}}@media (width <= 420px){.intro{font-size:1rem!important}}@media (width <= 604px){.nce-laptop-img{top:15rem!important}.nce-math-img{left:6%!important}}@media (width >= 1200px){.nce-divider{top:61rem;position:absolute!important}}@media (width >= 768px) and (width <= 991px){.nce-divider{margin-top:23rem!important}}@media (width >= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .nce-laptop-img{top:5rem;left:3rem;position:relative}.image-content .nce-math-img{top:7rem;left:64rem;position:relative;width:450px!important}}@media (width <= 786px){.text-extension{position:absolute;margin:3rem;margin-top:19rem!important}}@media (width >= 786px) and (width <= 991px){.text-extension{position:absolute;margin:3rem;margin-top:24rem!important}.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .nce-laptop-img{height:500px!important;bottom:5rem;right:10%;position:relative}.image-content .nce-math-img{position:relative;bottom:5rem;left:37rem;width:50%}}@media (width >= 991px){.nce-laptop-img{max-width:50%!important;height:auto}.nce-banner{padding-top:768px;padding-bottom:65px;margin-bottom:1rem;overflow:hidden}.section-fadeout{height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.nce-heading{width:700px!important}::ng-deep .vault-section{max-width:1580px!important;padding-left:48px!important;padding-top:130px!important}::ng-deep .vault-card{width:330px!important;height:370px!important}::ng-deep .vault-btn{width:224px!important}}@media (width <= 991px){.pricing-section{height:1200px}.billing-section{flex-direction:column!important;gap:3rem}.billing-section .billing-section1,.billing-section .billing-section2{width:90%!important}.billing-section .billing-section1{margin-left:1.5rem;margin-top:4rem}.nce-banner{background-image:url(/assets/img/resource/resource2.png)}}@media (width <= 768px){.pricing-section{height:920px!important}.nce-divider{margin-top:25rem!important}.nce-math-img{top:30rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}.outer-section-fadeout{top:62rem!important}}\n", "::ng-deep .navbar-nav .nav-item .nav-link{color:#fff!important}.bold{font-weight:700}.nce-heading{margin-bottom:2rem}.nce-note{margin-top:1rem;font-size:.85rem;color:#555}.nce-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}\n", "::ng-deep .ql-editor p{font-size:1.5rem!important;line-height:1.8rem!important;color:#333!important}.msp-vault-section{padding:60px 0;background:#fff}.msp-vault-section .vault-heading{font-size:4.5rem;font-weight:300;color:#000!important}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}.msp-vault-section .vault-card{background-color:#fff;border-radius:30px;box-shadow:0 5px 20px #0000000d;padding:25px;text-align:center;width:338px;height:auto}.msp-vault-section .vault-card h5{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#000!important}.msp-vault-section .vault-card p{font-size:1.5rem;color:#444}.msp-vault-section .vault-card img,.msp-vault-section .vault-card iframe{height:180px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card .vault-btn{background-color:#000!important;margin-top:10px;color:#fff;width:240px;padding:10px 24px;border-radius:24px;border:none;font-size:1.5rem;margin-left:2rem;font-weight:500;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left}.msp-vault-section .vault-card .vault-btn:hover{background-color:#333}@media (width >= 768px) and (width <= 1200px){.resource-title{font-size:1.4rem!important}}textarea{font-size:1.4rem!important}@media (width <= 768px){.resource-title{font-size:1.2rem!important}.container{padding:7rem 3rem 1rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-card{width:100%!important}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){::ng-deep .trial-meeting-section:before{top:600px!important}::ng-deep .dashboard{margin-bottom:1rem!important}section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}section.bg-white.text-center.extra-top-padding:before,section.bg-white.text-center.extra-top-padding:after{content:\"\";position:absolute;background:url(/assets/img/logos/background-banner.png) no-repeat;background-size:contain;width:160px;height:450px;z-index:0;opacity:.8}section.bg-white.text-center.extra-top-padding:before{top:500px;left:0}section.bg-white.text-center.extra-top-padding:after{top:90px;right:0}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 1200px){.resource-card{width:100%!important}.release-notes-section{padding:7rem 0!important}}.resource-section{padding:5rem 0;position:relative}.resource-section .section-heading{font-weight:700;font-size:2.4rem;color:#000}.resource-section .view-all{font-size:1.5rem;font-weight:600;color:#000;text-decoration:none;margin-bottom:2.5rem}.resource-section .view-all:hover{color:var(--first)}.resource-section .resource-card{background:#fff;width:353px;border-radius:30px;padding:3rem;box-shadow:0 20px 40px #00000014;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;height:100%}.resource-section .resource-card .resource-title{font-size:1.5rem;line-height:2rem;font-weight:300;color:#000;margin-bottom:16px;text-align:center;height:3.5rem}.resource-section .resource-card .resource-image{width:100%;height:204px!important;object-fit:cover;border-radius:16px;margin-bottom:20px;margin-top:3.5rem!important}.resource-section .resource-card .read-now-btn{background-color:var(--text-color, black);color:#fff;text-decoration:none;padding:14px 20px;font-size:1.5rem;font-weight:500;border-radius:40px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .3s ease;width:100%;max-width:240px;margin:0 auto;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.resource-section .resource-card .read-now-btn .arrow{font-weight:600;font-size:1.5rem}.resource-section .resource-card .read-now-btn:hover{background:#fff;color:var(--text-color, black)!important}@media (width <= 768px){.resource-section .resource-section .cards-row{gap:3rem;margin-top:3rem!important}.resource-section .section-heading,.resource-section .view-all{width:100%;text-align:center;margin-bottom:1rem}.resource-section .resource-card .read-now-btn{flex-direction:row;justify-content:center;gap:8px}}@media (width >= 768px) and (width <= 1200px){.nce-hero-section{padding:0 6rem!important}.cards-row{justify-content:center}}.resource-body-section{background-color:#fff}.resource-body-section .container{padding:0 1.5rem;padding-bottom:4rem!important;padding-top:7rem!important;max-width:850px;margin:0 auto;text-align:left}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:var(--first)!important;text-decoration:none;font-weight:500}.nce-book-section{background:#fff;padding-top:7rem;padding-bottom:0}.nce-book-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-book-section .nce-contact{line-height:1.6;font-size:1.5rem}.nce-book-section .nce-contact a{text-decoration:underline;color:#000;margin:0 .2rem}.nce-offer-section{background:#fff;padding-top:2rem}.nce-offer-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-offer-section .nce-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.25em!important}.nce-offer-section .nce-title strong{font-weight:700}.nce-offer-section .nce-description{font-size:1.5rem;line-height:1.8rem;color:#333;margin-bottom:1.5rem}.nce-offer-section .nce-offer-list{font-size:1.1rem;line-height:1.5rem;margin-bottom:2.5rem;margin-top:2.5rem}.nce-offer-section .nce-offer-list p{font-size:1.5rem;margin:.5rem 0;font-weight:400}.nce-offer-section .nce-signup{margin-bottom:2.5rem}.nce-offer-section .nce-signup .signup-link{font-size:1.5rem;font-weight:400;text-decoration:underline;color:#000}@media (width <= 768px){.nce-offer-section .nce-book-section{padding-top:5rem!important}.nce-offer-section .container{text-align:left}.nce-offer-section .nce-title{font-size:1.5rem}.nce-offer-section .nce-description,.nce-offer-section .nce-offer-list,.nce-offer-section .nce-signup,.nce-offer-section .signup-link,.nce-offer-section .nce-contact,.nce-offer-section .nce-offer-list p{font-size:1.2rem!important}}.nce-offer-intro{font-size:1.5rem;font-weight:400}.outer-section-fadeout{position:absolute;top:139rem;height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.body-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}@media (width <= 768px){.nce-book-section{padding-top:5rem!important}.nce-contact{font-size:1.2rem!important}}::ng-deep .body-quill{border-width:0!important;max-width:1000px;display:block;margin-left:auto;margin-right:auto}::ng-deep .ql-editor h1{font-size:2rem!important;line-height:2.3rem!important;color:#333!important}::ng-deep .ql-editor li{font-size:1.3rem!important;color:#333!important}::ng-deep .p-inputtextarea{border-radius:.5rem;border-color:#ced4da;font-size:1rem}.card{background-color:#fff;border-radius:12px}.comment-row{gap:2rem;padding-bottom:5rem;max-width:1000px;display:block;margin-left:auto;margin-right:auto}.comment-label{font-size:1.5rem!important}.response-row{max-width:1000px;display:block;margin-left:auto;margin-right:auto;margin-top:6rem!important}\n"], dependencies: [{ kind: "component", type: i3$1.Trial4ContactUsComponent, selector: "pw-trial-4-contact-us", inputs: ["subscriptionId", "sourceId", "masterSubscriptionId", "experimentName", "microserviceName"] }, { kind: "component", type: i4.ResourceHeaderComponent, selector: "pw-resource-header" }, { kind: "directive", type: i3.LazyImgDirective, selector: "img" }, { kind: "component", type: ResourceNoteCardComponent, selector: "pw-resource-note-card", inputs: ["posts", "releaseHeader"] }] }); }
649
+ }
650
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceReleaseNoteComponent, decorators: [{
651
+ type: Component,
652
+ args: [{ selector: 'pw-resource-release-notes', template: "<pw-resource-header></pw-resource-header>\n\n<section class=\"bg-white pricing-section\">\n <div class=\"nce-banner\">\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\">\n\n <!-- Left Content -->\n <div class=\"text-content\">\n <div class=\"nce-heading\">\n <h1 class=\"nce-header mb-4\">\n Product Release Notes\n <span class=\"blue-text\"></span>\n </h1>\n </div>\n </div>\n\n <!-- Add directly below .text-content, still inside .container -->\n <div class=\"text-extension mt-4\">\n <p class=\"intro\">\n We\u2019re obsessed with solving one of the<br>\n industry's most painful problems:<br> MSP billing.\n </p>\n <div class=\"cta-buttons d-flex gap-3 flex-wrap mt-3\">\n <p class=\"intro\">\n Every quarterly update here is part of<br />\n our mission to remove friction, boost<br />\n profitability, and give you back control.<br />\n It\u2019s how we help you bill better, every<br />\n single day.\n </p>\n </div>\n </div>\n\n <!-- Right Content -->\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <img class=\"nce-math-img\"\n src=\"/assets/img/resource/math.png\"\n alt=\"NCEasy laptop screen\" />\n <img class=\"nce-laptop-img\"\n src=\"/assets/img/resource/release-person.png\"\n alt=\"NCEasy laptop screen\" />\n </div>\n\n </div>\n </div>\n <hr class=\"nce-divider\" />\n</section>\n\n<pw-resource-note-card></pw-resource-note-card>\n\n<pw-trial-4-contact-us></pw-trial-4-contact-us>\n", styles: [".text-extension{max-width:560px;margin-top:6rem!important}.text-extension .intro{font-size:2rem;line-height:3rem;font-weight:100;color:#000;margin-bottom:1rem}.text-extension .cta-buttons{margin-top:2rem!important}.text-extension .cta-btn.filled{background-color:#000;color:#fff;padding:1.2rem 2rem;border-radius:40px;font-size:1.6rem;font-weight:500;text-decoration:none}.text-extension .cta-btn.outline{background-color:transparent;border:2px solid #000;color:#000;padding:1.2rem 2rem;border-radius:40px;font-size:1.6rem;font-weight:500;text-decoration:none}.text-extension .note{font-size:1.2rem;color:#000;margin-top:1rem;margin-left:3rem}.nce-banner{background-image:url(/assets/img/resource/resource2.png);background-position:center;background-repeat:no-repeat;color:#000}.nce-banner .text-content{max-width:500px;text-align:left;margin-bottom:75rem}.nce-banner .text-content h1{margin-bottom:1.5rem;line-height:1.2}.nce-banner .text-content .intro{font-size:1.2rem;margin:1rem 0;color:#000}.nce-banner .text-content .cta-btn{display:inline-block;background:#000;color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem}.nce-banner .text-content .cta-buttons{margin-top:2rem}.nce-banner .text-content .note{margin-top:1rem;margin-left:5.6rem;font-size:.9rem;color:#555}.nce-banner .nce-header{font-weight:500;color:#fff!important;font-size:4.5rem!important}.nce-banner .blue-text{font-weight:100}@media (width <= 991px){.nce-banner .text-content{margin-top:6.5rem;margin-bottom:0;text-align:center;max-width:360px}.nce-banner .text-content h1{margin-bottom:6.5rem!important}.nce-banner .nce-header{font-size:2.5rem!important}.nce-banner .cta-buttons{margin-top:5rem!important;justify-content:center!important}.nce-banner .note{margin-left:8rem!important}.nce-banner .image-content{position:relative;margin-bottom:3rem;height:230px}.nce-banner .image-content .floating-box{position:absolute;top:25px;left:3rem;transform:translate(-50%) rotate(-10deg);background:#fff;padding:.75rem 1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;z-index:3;display:inline-block;width:auto}.nce-banner .image-content .floating-box img{width:24px;margin-bottom:.4rem}.nce-banner .image-content .floating-box .label{font-size:.75rem;color:#333;margin:0;line-height:1.2}.nce-banner .image-content .floating-box .count{font-size:1.2rem;font-weight:700;color:#000;margin-top:.25rem}.nce-banner .image-content .screen-img{max-width:280px;position:absolute;bottom:0;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003}.nce-banner .image-content .person-img{max-width:170px;width:100%;position:relative;z-index:3;left:13rem;top:-11.35rem}.nce-banner .image-content .nce-laptop-img{max-width:160px;width:100%;position:relative;z-index:3;left:12%;height:auto!important;top:12rem}.nce-banner .image-content .nce-math-img{max-width:250px;width:100%;position:relative;z-index:3;left:28%;top:51rem}}@media (width >= 991px){.nce-banner .text-content{position:absolute;width:760px}.nce-banner .text-extension{max-width:760px;position:absolute;margin-bottom:27rem!important}}.white-content{background:#fff;color:#000}.white-content .intro{font-size:1.2rem;color:#000}.white-content .cta-btn.filled{background-color:#000;color:#fff;padding:1rem 2rem;border-radius:40px;font-size:1.1rem;text-decoration:none;font-weight:500}.white-content .cta-btn.outline{background-color:transparent;border:2px solid #000;color:#000;padding:1rem 2rem;border-radius:40px;font-size:1.1rem;text-decoration:none;font-weight:500}.white-content .note{font-size:.85rem;margin-top:1rem;color:#555}@media (width >= 991px){.section-outer{padding-top:7rem!important}}@media (width >= 768px) and (width <= 991px){.nce-math-img{top:28rem!important;left:24%}.nce-laptop-img{top:27rem!important;left:-3rem!important}.pricing-section{height:890px!important}}@media (width >= 991px) and (width <= 1200px){.pricing-section{height:900px!important}.nce-divider{position:absolute;top:60rem}.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .nce-laptop-img{height:500px!important;top:3.9rem;right:10%;position:relative;width:63%!important}.image-content .nce-math-img{position:relative;bottom:0;left:37rem;width:50%}}@media (width >= 604px) and (width <= 768px){.nce-laptop-img{top:27rem!important;left:-2rem!important}}@media (width >= 420px) and (width <= 768px){.intro{font-size:1.5rem!important}}@media (width <= 420px){.intro{font-size:1rem!important}}@media (width <= 604px){.nce-laptop-img{top:15rem!important}.nce-math-img{left:6%!important}}@media (width >= 1200px){.nce-divider{top:61rem;position:absolute!important}}@media (width >= 768px) and (width <= 991px){.nce-divider{margin-top:23rem!important}}@media (width >= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .nce-laptop-img{top:5rem;left:3rem;position:relative}.image-content .nce-math-img{top:7rem;left:64rem;position:relative;width:450px!important}}@media (width <= 786px){.text-extension{position:absolute;margin:3rem;margin-top:19rem!important}}@media (width >= 786px) and (width <= 991px){.text-extension{position:absolute;margin:3rem;margin-top:24rem!important}.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .nce-laptop-img{height:500px!important;bottom:5rem;right:10%;position:relative}.image-content .nce-math-img{position:relative;bottom:5rem;left:37rem;width:50%}}@media (width >= 991px){.nce-laptop-img{max-width:50%!important;height:auto}.nce-banner{padding-top:768px;padding-bottom:65px;margin-bottom:1rem;overflow:hidden}.section-fadeout{height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.nce-heading{width:700px!important}::ng-deep .vault-section{max-width:1580px!important;padding-left:48px!important;padding-top:130px!important}::ng-deep .vault-card{width:330px!important;height:370px!important}::ng-deep .vault-btn{width:224px!important}}@media (width <= 991px){.pricing-section{height:1200px}.billing-section{flex-direction:column!important;gap:3rem}.billing-section .billing-section1,.billing-section .billing-section2{width:90%!important}.billing-section .billing-section1{margin-left:1.5rem;margin-top:4rem}.nce-banner{background-image:url(/assets/img/resource/resource2.png)}}@media (width <= 768px){.pricing-section{height:920px!important}.nce-divider{margin-top:25rem!important}.nce-math-img{top:30rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}.outer-section-fadeout{top:62rem!important}}\n", "::ng-deep .navbar-nav .nav-item .nav-link{color:#fff!important}.bold{font-weight:700}.nce-heading{margin-bottom:2rem}.nce-note{margin-top:1rem;font-size:.85rem;color:#555}.nce-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}\n", "::ng-deep .ql-editor p{font-size:1.5rem!important;line-height:1.8rem!important;color:#333!important}.msp-vault-section{padding:60px 0;background:#fff}.msp-vault-section .vault-heading{font-size:4.5rem;font-weight:300;color:#000!important}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}.msp-vault-section .vault-card{background-color:#fff;border-radius:30px;box-shadow:0 5px 20px #0000000d;padding:25px;text-align:center;width:338px;height:auto}.msp-vault-section .vault-card h5{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#000!important}.msp-vault-section .vault-card p{font-size:1.5rem;color:#444}.msp-vault-section .vault-card img,.msp-vault-section .vault-card iframe{height:180px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card .vault-btn{background-color:#000!important;margin-top:10px;color:#fff;width:240px;padding:10px 24px;border-radius:24px;border:none;font-size:1.5rem;margin-left:2rem;font-weight:500;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left}.msp-vault-section .vault-card .vault-btn:hover{background-color:#333}@media (width >= 768px) and (width <= 1200px){.resource-title{font-size:1.4rem!important}}textarea{font-size:1.4rem!important}@media (width <= 768px){.resource-title{font-size:1.2rem!important}.container{padding:7rem 3rem 1rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-card{width:100%!important}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){::ng-deep .trial-meeting-section:before{top:600px!important}::ng-deep .dashboard{margin-bottom:1rem!important}section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}section.bg-white.text-center.extra-top-padding:before,section.bg-white.text-center.extra-top-padding:after{content:\"\";position:absolute;background:url(/assets/img/logos/background-banner.png) no-repeat;background-size:contain;width:160px;height:450px;z-index:0;opacity:.8}section.bg-white.text-center.extra-top-padding:before{top:500px;left:0}section.bg-white.text-center.extra-top-padding:after{top:90px;right:0}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 1200px){.resource-card{width:100%!important}.release-notes-section{padding:7rem 0!important}}.resource-section{padding:5rem 0;position:relative}.resource-section .section-heading{font-weight:700;font-size:2.4rem;color:#000}.resource-section .view-all{font-size:1.5rem;font-weight:600;color:#000;text-decoration:none;margin-bottom:2.5rem}.resource-section .view-all:hover{color:var(--first)}.resource-section .resource-card{background:#fff;width:353px;border-radius:30px;padding:3rem;box-shadow:0 20px 40px #00000014;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;height:100%}.resource-section .resource-card .resource-title{font-size:1.5rem;line-height:2rem;font-weight:300;color:#000;margin-bottom:16px;text-align:center;height:3.5rem}.resource-section .resource-card .resource-image{width:100%;height:204px!important;object-fit:cover;border-radius:16px;margin-bottom:20px;margin-top:3.5rem!important}.resource-section .resource-card .read-now-btn{background-color:var(--text-color, black);color:#fff;text-decoration:none;padding:14px 20px;font-size:1.5rem;font-weight:500;border-radius:40px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .3s ease;width:100%;max-width:240px;margin:0 auto;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.resource-section .resource-card .read-now-btn .arrow{font-weight:600;font-size:1.5rem}.resource-section .resource-card .read-now-btn:hover{background:#fff;color:var(--text-color, black)!important}@media (width <= 768px){.resource-section .resource-section .cards-row{gap:3rem;margin-top:3rem!important}.resource-section .section-heading,.resource-section .view-all{width:100%;text-align:center;margin-bottom:1rem}.resource-section .resource-card .read-now-btn{flex-direction:row;justify-content:center;gap:8px}}@media (width >= 768px) and (width <= 1200px){.nce-hero-section{padding:0 6rem!important}.cards-row{justify-content:center}}.resource-body-section{background-color:#fff}.resource-body-section .container{padding:0 1.5rem;padding-bottom:4rem!important;padding-top:7rem!important;max-width:850px;margin:0 auto;text-align:left}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:var(--first)!important;text-decoration:none;font-weight:500}.nce-book-section{background:#fff;padding-top:7rem;padding-bottom:0}.nce-book-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-book-section .nce-contact{line-height:1.6;font-size:1.5rem}.nce-book-section .nce-contact a{text-decoration:underline;color:#000;margin:0 .2rem}.nce-offer-section{background:#fff;padding-top:2rem}.nce-offer-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-offer-section .nce-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.25em!important}.nce-offer-section .nce-title strong{font-weight:700}.nce-offer-section .nce-description{font-size:1.5rem;line-height:1.8rem;color:#333;margin-bottom:1.5rem}.nce-offer-section .nce-offer-list{font-size:1.1rem;line-height:1.5rem;margin-bottom:2.5rem;margin-top:2.5rem}.nce-offer-section .nce-offer-list p{font-size:1.5rem;margin:.5rem 0;font-weight:400}.nce-offer-section .nce-signup{margin-bottom:2.5rem}.nce-offer-section .nce-signup .signup-link{font-size:1.5rem;font-weight:400;text-decoration:underline;color:#000}@media (width <= 768px){.nce-offer-section .nce-book-section{padding-top:5rem!important}.nce-offer-section .container{text-align:left}.nce-offer-section .nce-title{font-size:1.5rem}.nce-offer-section .nce-description,.nce-offer-section .nce-offer-list,.nce-offer-section .nce-signup,.nce-offer-section .signup-link,.nce-offer-section .nce-contact,.nce-offer-section .nce-offer-list p{font-size:1.2rem!important}}.nce-offer-intro{font-size:1.5rem;font-weight:400}.outer-section-fadeout{position:absolute;top:139rem;height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.body-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}@media (width <= 768px){.nce-book-section{padding-top:5rem!important}.nce-contact{font-size:1.2rem!important}}::ng-deep .body-quill{border-width:0!important;max-width:1000px;display:block;margin-left:auto;margin-right:auto}::ng-deep .ql-editor h1{font-size:2rem!important;line-height:2.3rem!important;color:#333!important}::ng-deep .ql-editor li{font-size:1.3rem!important;color:#333!important}::ng-deep .p-inputtextarea{border-radius:.5rem;border-color:#ced4da;font-size:1rem}.card{background-color:#fff;border-radius:12px}.comment-row{gap:2rem;padding-bottom:5rem;max-width:1000px;display:block;margin-left:auto;margin-right:auto}.comment-label{font-size:1.5rem!important}.response-row{max-width:1000px;display:block;margin-left:auto;margin-right:auto;margin-top:6rem!important}\n"] }]
653
+ }], ctorParameters: () => [{ type: ResourceService }, { type: i2.TagService }, { type: i0.Injector }] });
654
+
655
+ class ResourceVaultComponent extends AppBaseComponent {
656
+ constructor(sanitizer, injector) {
657
+ super(injector);
658
+ this.sanitizer = sanitizer;
659
+ this.showVaultSection = false;
660
+ this.videoWebinarLoaded = false;
661
+ this.videoDemoLoaded = false;
662
+ this.ebookLink = '/resources/ebook-5-tips-for-msps-to-manage-cloud-billings-in-autotask';
663
+ this.youtubeVideoId = 'R7Vk219zbhA';
664
+ this.videoTitle = 'CloudOlive Overview';
665
+ }
666
+ loadDemoVideo() {
667
+ const baseUrl = `https://www.youtube.com/embed/${this.youtubeVideoId}?autoplay=1`;
668
+ // baseUrl is a trusted internal source (e.g. YouTube embed URL)
669
+ this.sanitizedDemoVideoUrl = this.sanitizer.bypassSecurityTrustResourceUrl(baseUrl); // NOSONAR
670
+ this.videoDemoLoaded = true;
671
+ }
672
+ loadWebinarVideo() {
673
+ const baseUrl = `https://www.youtube.com/embed/${this.youtubeVideoId}?autoplay=1`;
674
+ // baseUrl is a trusted internal source (e.g. YouTube embed URL)
675
+ this.sanitizedWebinarVideoUrl = this.sanitizer.bypassSecurityTrustResourceUrl(baseUrl); // NOSONAR
676
+ this.videoWebinarLoaded = true;
677
+ }
678
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceVaultComponent, deps: [{ token: i1$1.DomSanitizer }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
679
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceVaultComponent, selector: "pw-resource--vault", inputs: { showVaultSection: "showVaultSection" }, usesInheritance: true, ngImport: i0, template: "<section class=\"msp-vault-section bg-white text-center py-5 extra-top-padding section-outer\">\n <div class=\"container\">\n <div *ngIf=\"showVaultSection\" class=\"d-flex justify-content-between align-items-center flex-wrap mb-5\">\n <h2 class=\"section-heading\">Whitepapers & Tools</h2>\n <a class=\"view-all\" routerLink=\"/resources/white-papers\">VIEW ALL ></a>\n </div>\n <div class=\"d-flex flex-wrap justify-content-center gap-4 vault-row\">\n <div class=\"vault-card\">\n <h5><strong>eBook: 5 tips</strong></h5>\n <p class=\"mb-4\">for MSPs to manage cloud billings in Autotask</p>\n <img src=\"/assets/img/resource/tips.png\"\n class=\"img-fluid mb-3\"\n alt=\"eBook\" />\n <button class=\"vault-btn\"\n [routerLink]=\"ebookLink\">\n <span class=\"text\">Read now </span>\n <span class=\"arrow\">\u2192</span>\n </button>\n </div>\n <div class=\"vault-card\">\n <h5><strong>Factsheet</strong></h5>\n <p class=\"mb-4\">Learn about CloudOlive & our 140+ integrations</p>\n <img src=\"/assets/img/resource/factsheet.png\"\n class=\"img-fluid mb-3\"\n alt=\"eBook\" />\n <button class=\"vault-btn\"\n [routerLink]=\"ebookLink\">\n <span class=\"text\">Read now </span>\n <span class=\"arrow\">\u2192</span>\n </button>\n </div>\n <div class=\"vault-card\">\n <h5><strong>Instant Quiz</strong></h5>\n <p class=\"mb-4\">MRR Risk Review - find out if you might be missing revenue</p>\n <img src=\"/assets/img/resource/quiz.png\"\n class=\"img-fluid mb-3\"\n alt=\"eBook\" />\n <button class=\"vault-btn\"\n [routerLink]=\"ebookLink\">\n <span class=\"text\">Read now </span>\n <span class=\"arrow\">\u2192</span>\n </button>\n </div>\n </div>\n </div>\n</section>\n", styles: [".msp-vault-section{padding:60px 0;background:#fff}.msp-vault-section .vault-heading{font-size:4.5rem;font-weight:300;color:#000!important}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}.msp-vault-section .vault-card{background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto}.msp-vault-section .vault-card h5{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#000!important}.msp-vault-section .vault-card p{font-size:1.5rem;color:#444}.msp-vault-section .vault-card img,.msp-vault-section .vault-card iframe{height:210px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card .vault-btn{background-color:var(--text-color, black);color:#fff;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;margin-top:10px;margin-left:2rem;width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.msp-vault-section .vault-card .vault-btn:hover{background:#fff;color:var(--text-color, black)!important}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}}@media (width >= 991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden;padding-bottom:6rem!important;padding-top:4rem!important}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}.vault-row{gap:5.5rem!important}@media (width <= 768px){.vault-card{width:100%!important}.vault-btn{margin-left:0!important;width:100%!important}.vault-row{gap:3rem!important}}@media (width <= 1200px){.container{padding:1rem 3rem!important}}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.LazyImgDirective, selector: "img" }] }); }
680
+ }
681
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceVaultComponent, decorators: [{
682
+ type: Component,
683
+ args: [{ selector: 'pw-resource--vault', template: "<section class=\"msp-vault-section bg-white text-center py-5 extra-top-padding section-outer\">\n <div class=\"container\">\n <div *ngIf=\"showVaultSection\" class=\"d-flex justify-content-between align-items-center flex-wrap mb-5\">\n <h2 class=\"section-heading\">Whitepapers & Tools</h2>\n <a class=\"view-all\" routerLink=\"/resources/white-papers\">VIEW ALL ></a>\n </div>\n <div class=\"d-flex flex-wrap justify-content-center gap-4 vault-row\">\n <div class=\"vault-card\">\n <h5><strong>eBook: 5 tips</strong></h5>\n <p class=\"mb-4\">for MSPs to manage cloud billings in Autotask</p>\n <img src=\"/assets/img/resource/tips.png\"\n class=\"img-fluid mb-3\"\n alt=\"eBook\" />\n <button class=\"vault-btn\"\n [routerLink]=\"ebookLink\">\n <span class=\"text\">Read now </span>\n <span class=\"arrow\">\u2192</span>\n </button>\n </div>\n <div class=\"vault-card\">\n <h5><strong>Factsheet</strong></h5>\n <p class=\"mb-4\">Learn about CloudOlive & our 140+ integrations</p>\n <img src=\"/assets/img/resource/factsheet.png\"\n class=\"img-fluid mb-3\"\n alt=\"eBook\" />\n <button class=\"vault-btn\"\n [routerLink]=\"ebookLink\">\n <span class=\"text\">Read now </span>\n <span class=\"arrow\">\u2192</span>\n </button>\n </div>\n <div class=\"vault-card\">\n <h5><strong>Instant Quiz</strong></h5>\n <p class=\"mb-4\">MRR Risk Review - find out if you might be missing revenue</p>\n <img src=\"/assets/img/resource/quiz.png\"\n class=\"img-fluid mb-3\"\n alt=\"eBook\" />\n <button class=\"vault-btn\"\n [routerLink]=\"ebookLink\">\n <span class=\"text\">Read now </span>\n <span class=\"arrow\">\u2192</span>\n </button>\n </div>\n </div>\n </div>\n</section>\n", styles: [".msp-vault-section{padding:60px 0;background:#fff}.msp-vault-section .vault-heading{font-size:4.5rem;font-weight:300;color:#000!important}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}.msp-vault-section .vault-card{background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto}.msp-vault-section .vault-card h5{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#000!important}.msp-vault-section .vault-card p{font-size:1.5rem;color:#444}.msp-vault-section .vault-card img,.msp-vault-section .vault-card iframe{height:210px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card .vault-btn{background-color:var(--text-color, black);color:#fff;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;margin-top:10px;margin-left:2rem;width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.msp-vault-section .vault-card .vault-btn:hover{background:#fff;color:var(--text-color, black)!important}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}}@media (width >= 991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden;padding-bottom:6rem!important;padding-top:4rem!important}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}.vault-row{gap:5.5rem!important}@media (width <= 768px){.vault-card{width:100%!important}.vault-btn{margin-left:0!important;width:100%!important}.vault-row{gap:3rem!important}}@media (width <= 1200px){.container{padding:1rem 3rem!important}}\n"] }]
684
+ }], ctorParameters: () => [{ type: i1$1.DomSanitizer }, { type: i0.Injector }], propDecorators: { showVaultSection: [{
685
+ type: Input
686
+ }] } });
687
+
688
+ class ResourceVideoCardComponent extends AppBaseComponent {
689
+ constructor(sanitizer, injector) {
690
+ super(injector);
691
+ this.sanitizer = sanitizer;
692
+ this.showVideoSection = false;
693
+ this.videoStates = {
694
+ datto: { loaded: false, id: 'R7Vk219zbhA', url: null },
695
+ connectwise: { loaded: false, id: 'R7Vk219zbhA', url: null },
696
+ cloudolive: { loaded: false, id: 'R7Vk219zbhA', url: null }
697
+ };
698
+ }
699
+ loadVideo(key) {
700
+ const videoId = this.videoStates[key].id;
701
+ const baseUrl = `https://www.youtube.com/embed/${videoId}?autoplay=1`;
702
+ this.videoStates[key].url = this.sanitizer.bypassSecurityTrustResourceUrl(baseUrl); // NOSONAR
703
+ this.videoStates[key].loaded = true;
704
+ }
705
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceVideoCardComponent, deps: [{ token: i1$1.DomSanitizer }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
706
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceVideoCardComponent, selector: "pw-resource-video-card", inputs: { showVideoSection: "showVideoSection" }, usesInheritance: true, ngImport: i0, template: "<section class=\"msp-vault-section bg-white text-center py-5 extra-top-padding section-outer\">\n <div class=\"container\">\n <div *ngIf=\"showVideoSection\" class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <h2 class=\"section-heading\">On-Demand Videos</h2>\n <a class=\"view-all\" routerLink=\"/resources/videos\">VIEW ALL ></a>\n </div>\n <div class=\"row mt-5 d-flex flex-wrap justify-content-center video-row\">\n <div class=\"vault-card\">\n <p>MSP UPSKILL: Free Masterclass on Billing in Datto Autotask</p>\n <img src=\"/assets/img/resource/logos/datto-logo.png\" alt=\"Datto Logo\" class=\"header-logo\" />\n\n <img *ngIf=\"!videoStates.datto.loaded\"\n src=\"/assets/img/resource/datto-video.png\"\n class=\"img-fluid mb-3\"\n alt=\"Webinar\" />\n\n <iframe *ngIf=\"videoStates.datto.loaded\"\n class=\"embed-responsive-item\"\n [title]=\"videoTitle\"\n [src]=\"videoStates.datto.url\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen>\n </iframe>\n\n <button class=\"vault-btn\" (click)=\"loadVideo('datto')\">\n <span class=\"text\">Watch now</span>\n <span class=\"arrow\">\u2192</span>\n </button>\n </div>\n <div class=\"vault-card\">\n <p>MSP UPSKILL: Free Masterclass on Billing in ConnectWise</p>\n <img src=\"/assets/img/resource/logos/connectwise.png\" alt=\"ConnectWise Logo\" class=\"header-logo\" />\n\n <img *ngIf=\"!videoStates.connectwise.loaded\"\n src=\"/assets/img/resource/datto-video.png\"\n class=\"img-fluid mb-3\"\n alt=\"Webinar\" />\n\n <iframe *ngIf=\"videoStates.connectwise.loaded\"\n class=\"embed-responsive-item\"\n [title]=\"videoTitle\"\n [src]=\"videoStates.connectwise.url\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen>\n </iframe>\n\n <button class=\"vault-btn\" (click)=\"loadVideo('connectwise')\">\n <span class=\"text\">Watch now</span>\n <span class=\"arrow\">\u2192</span>\n </button>\n </div>\n <div class=\"vault-card\">\n <p class=\"demo\">DEMONSTRATION: <br /> 5 minute overview of<br />CloudOlive</p>\n\n <img *ngIf=\"!videoStates.cloudolive.loaded\"\n src=\"/assets/img/resource/demo-video.png\"\n class=\"img-fluid mb-3\"\n alt=\"Webinar\" />\n\n <iframe *ngIf=\"videoStates.cloudolive.loaded\"\n class=\"embed-responsive-item\"\n [title]=\"videoTitle\"\n [src]=\"videoStates.cloudolive.url\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen>\n </iframe>\n\n <button class=\"vault-btn\" (click)=\"loadVideo('cloudolive')\">\n <span class=\"text\">Watch now</span>\n <span class=\"arrow\">\u2192</span>\n </button>\n </div>\n </div>\n </div>\n\n</section>\n", styles: [".msp-vault-section{padding:60px 0;background:#fff}.msp-vault-section .vault-heading{font-size:4.5rem;font-weight:300;color:#000!important}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}.msp-vault-section .vault-card{background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:330px;height:450px}.msp-vault-section .vault-card h5{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#000!important}.msp-vault-section .vault-card p{font-size:1.5rem;color:#444}.msp-vault-section .vault-card img,.msp-vault-section .vault-card iframe{height:210px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card .vault-btn{background-color:var(--text-color, black);color:#fff;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;margin-top:10px;margin-left:2rem;width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.msp-vault-section .vault-card .vault-btn:hover{background:#fff;color:var(--text-color, black)!important}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 768px){.vault-card{width:100%!important;height:auto!important}.video-row{gap:3rem!important}}.section-heading{font-size:3rem;font-weight:300}.demo{margin-bottom:4.8rem!important}.header-logo{height:40px!important;margin-bottom:10px;border-radius:0!important}.video-row{gap:5.5rem!important}@media (width <= 1200px){.container{padding:1rem 3rem!important}}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.LazyImgDirective, selector: "img" }] }); }
707
+ }
708
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceVideoCardComponent, decorators: [{
709
+ type: Component,
710
+ args: [{ selector: 'pw-resource-video-card', template: "<section class=\"msp-vault-section bg-white text-center py-5 extra-top-padding section-outer\">\n <div class=\"container\">\n <div *ngIf=\"showVideoSection\" class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <h2 class=\"section-heading\">On-Demand Videos</h2>\n <a class=\"view-all\" routerLink=\"/resources/videos\">VIEW ALL ></a>\n </div>\n <div class=\"row mt-5 d-flex flex-wrap justify-content-center video-row\">\n <div class=\"vault-card\">\n <p>MSP UPSKILL: Free Masterclass on Billing in Datto Autotask</p>\n <img src=\"/assets/img/resource/logos/datto-logo.png\" alt=\"Datto Logo\" class=\"header-logo\" />\n\n <img *ngIf=\"!videoStates.datto.loaded\"\n src=\"/assets/img/resource/datto-video.png\"\n class=\"img-fluid mb-3\"\n alt=\"Webinar\" />\n\n <iframe *ngIf=\"videoStates.datto.loaded\"\n class=\"embed-responsive-item\"\n [title]=\"videoTitle\"\n [src]=\"videoStates.datto.url\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen>\n </iframe>\n\n <button class=\"vault-btn\" (click)=\"loadVideo('datto')\">\n <span class=\"text\">Watch now</span>\n <span class=\"arrow\">\u2192</span>\n </button>\n </div>\n <div class=\"vault-card\">\n <p>MSP UPSKILL: Free Masterclass on Billing in ConnectWise</p>\n <img src=\"/assets/img/resource/logos/connectwise.png\" alt=\"ConnectWise Logo\" class=\"header-logo\" />\n\n <img *ngIf=\"!videoStates.connectwise.loaded\"\n src=\"/assets/img/resource/datto-video.png\"\n class=\"img-fluid mb-3\"\n alt=\"Webinar\" />\n\n <iframe *ngIf=\"videoStates.connectwise.loaded\"\n class=\"embed-responsive-item\"\n [title]=\"videoTitle\"\n [src]=\"videoStates.connectwise.url\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen>\n </iframe>\n\n <button class=\"vault-btn\" (click)=\"loadVideo('connectwise')\">\n <span class=\"text\">Watch now</span>\n <span class=\"arrow\">\u2192</span>\n </button>\n </div>\n <div class=\"vault-card\">\n <p class=\"demo\">DEMONSTRATION: <br /> 5 minute overview of<br />CloudOlive</p>\n\n <img *ngIf=\"!videoStates.cloudolive.loaded\"\n src=\"/assets/img/resource/demo-video.png\"\n class=\"img-fluid mb-3\"\n alt=\"Webinar\" />\n\n <iframe *ngIf=\"videoStates.cloudolive.loaded\"\n class=\"embed-responsive-item\"\n [title]=\"videoTitle\"\n [src]=\"videoStates.cloudolive.url\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen>\n </iframe>\n\n <button class=\"vault-btn\" (click)=\"loadVideo('cloudolive')\">\n <span class=\"text\">Watch now</span>\n <span class=\"arrow\">\u2192</span>\n </button>\n </div>\n </div>\n </div>\n\n</section>\n", styles: [".msp-vault-section{padding:60px 0;background:#fff}.msp-vault-section .vault-heading{font-size:4.5rem;font-weight:300;color:#000!important}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}.msp-vault-section .vault-card{background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:330px;height:450px}.msp-vault-section .vault-card h5{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#000!important}.msp-vault-section .vault-card p{font-size:1.5rem;color:#444}.msp-vault-section .vault-card img,.msp-vault-section .vault-card iframe{height:210px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card .vault-btn{background-color:var(--text-color, black);color:#fff;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;margin-top:10px;margin-left:2rem;width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.msp-vault-section .vault-card .vault-btn:hover{background:#fff;color:var(--text-color, black)!important}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 768px){.vault-card{width:100%!important;height:auto!important}.video-row{gap:3rem!important}}.section-heading{font-size:3rem;font-weight:300}.demo{margin-bottom:4.8rem!important}.header-logo{height:40px!important;margin-bottom:10px;border-radius:0!important}.video-row{gap:5.5rem!important}@media (width <= 1200px){.container{padding:1rem 3rem!important}}\n"] }]
711
+ }], ctorParameters: () => [{ type: i1$1.DomSanitizer }, { type: i0.Injector }], propDecorators: { showVideoSection: [{
712
+ type: Input
713
+ }] } });
714
+
715
+ class ResourceVideoComponent extends AppBaseComponent {
716
+ constructor(resourceService, tagService, injector) {
717
+ super(injector);
718
+ this.resourceService = resourceService;
719
+ this.tagService = tagService;
720
+ this.posts = [];
721
+ }
722
+ ngOnInit() {
723
+ this.getUserSubscriptionId().subscribe(response => {
724
+ this.subscriptionId = response;
725
+ });
726
+ this.localStorage.getItem$(TOKEN_KEY).subscribe(res => {
727
+ this.userLoggedIn = !!res;
728
+ if (this.userLoggedIn) {
729
+ this.localStorage.getItem$('product').subscribe(res => {
730
+ const data = res ? JSON.parse(res) : null;
731
+ this.subscriptionId = data?.subscriptionId;
732
+ console.log(this.subscriptionId);
733
+ this.getPostTags();
734
+ });
735
+ }
736
+ });
737
+ }
738
+ getPostTags() {
739
+ this.tagService
740
+ .getTagsByType('post_categories', {}, this.subscriptionId || this.masterSubscriptionId)
741
+ .subscribe(response => {
742
+ this.blogPostTag = response.tags.find(tag => tag.name === 'Videos');
743
+ this.getPosts(1, 100);
744
+ });
745
+ }
746
+ getPosts(page, pageSize) {
747
+ console.log(this.blogPostTag);
748
+ this.resourceService
749
+ .getPublicPosts(this.subscriptionId, page, pageSize, '', this.blogPostTag.tag_category_id)
750
+ .subscribe(response => {
751
+ console.log(response.posts, this.blogPostTag);
752
+ this.posts = response.posts
753
+ .filter(post => post.tags?.some(tag => tag.tag_category_id === this.blogPostTag.tag_category_id))
754
+ .sort((a, b) => new Date(b.published_at).getTime() - new Date(a.published_at).getTime())
755
+ .slice(0, 12);
756
+ });
757
+ }
758
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceVideoComponent, deps: [{ token: ResourceService }, { token: i2.TagService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
759
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceVideoComponent, selector: "pw-resource-videos", usesInheritance: true, ngImport: i0, template: "<pw-resource-header></pw-resource-header>\n\n<section class=\"bg-white pricing-section\">\n <div class=\"nce-banner\">\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\">\n\n <!-- Left Content -->\n <div class=\"text-content\">\n <div class=\"nce-heading\">\n <h1 class=\"nce-header mb-4\">\n Videos on demand\n <span class=\"blue-text\"></span>\n </h1>\n </div>\n </div>\n\n <!-- Add directly below .text-content, still inside .container -->\n <div class=\"text-extension mt-4\">\n <p class=\"intro\">\n Prefer to watch and learn? We\u2019ve got<br>you.\n </p>\n <div class=\"cta-buttons d-flex gap-3 flex-wrap mt-3\">\n <p class=\"intro\">\n These on-demand sessions cover<br />\n everything from platform demos to<br />\n bite-sized billing masterclasses - all<br />\n designed to help MSPs streamline,<br />\n scale, and stay sharp. Watch anytime,<br />\n when it suits you.\n </p>\n </div>\n </div>\n\n <!-- Right Content -->\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <img class=\"nce-math-img\"\n src=\"/assets/img/resource/math.png\"\n alt=\"NCEasy laptop screen\" />\n <img class=\"nce-laptop-img\"\n src=\"/assets/img/resource/video-template.png\"\n alt=\"NCEasy laptop screen\" />\n </div>\n\n </div>\n </div>\n <hr class=\"nce-divider\" />\n</section>\n\n\n<pw-resource-video-card></pw-resource-video-card>\n\n<pw-trial-4-contact-us></pw-trial-4-contact-us>\n", styles: [".nce-banner{background-image:url(/assets/img/resource/resource2.png);background-position:center;background-repeat:no-repeat;color:#000}.nce-banner .text-content{max-width:500px;text-align:left;margin-bottom:75rem}.nce-banner .text-content h1{margin-bottom:1.5rem;line-height:1.2}.nce-banner .text-content .intro{font-size:1.2rem;margin:1rem 0;color:#000}.nce-banner .text-content .cta-btn{display:inline-block;background:#000;color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem}.nce-banner .text-content .cta-buttons{margin-top:2rem}.nce-banner .text-content .note{margin-top:1rem;margin-left:5.6rem;font-size:.9rem;color:#555}.nce-banner .nce-header{font-weight:500;color:#fff!important;font-size:4.5rem!important}.nce-banner .blue-text{font-weight:100}@media (width <= 991px){.nce-banner .text-content{margin-top:6.5rem;margin-bottom:0;text-align:center;max-width:360px}.nce-banner .text-content h1{margin-bottom:6.5rem!important}.nce-banner .nce-header{font-size:2.5rem!important}.nce-banner .cta-buttons{margin-top:5rem!important;justify-content:center!important}.nce-banner .note{margin-left:8rem!important}.nce-banner .image-content{position:relative;margin-bottom:3rem;height:230px}.nce-banner .image-content .floating-box{position:absolute;top:25px;left:3rem;transform:translate(-50%) rotate(-10deg);background:#fff;padding:.75rem 1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;z-index:3;display:inline-block;width:auto}.nce-banner .image-content .floating-box img{width:24px;margin-bottom:.4rem}.nce-banner .image-content .floating-box .label{font-size:.75rem;color:#333;margin:0;line-height:1.2}.nce-banner .image-content .floating-box .count{font-size:1.2rem;font-weight:700;color:#000;margin-top:.25rem}.nce-banner .image-content .screen-img{max-width:280px;position:absolute;bottom:0;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003}.nce-banner .image-content .person-img{max-width:170px;width:100%;position:relative;z-index:3;left:13rem;top:-11.35rem}.nce-banner .image-content .nce-laptop-img{max-width:350px;width:100%;position:relative;z-index:3;left:9%;height:auto!important;top:13rem}.nce-banner .image-content .nce-math-img{max-width:300px;width:100%;position:relative;z-index:3;left:15%;top:51rem}}@media (width >= 991px){.nce-banner .text-content{position:absolute;width:760px}.nce-banner .text-extension{max-width:760px;position:absolute;margin-bottom:27rem!important}}.white-content{background:#fff;color:#000}.white-content .intro{font-size:1.2rem;color:#000}.white-content .cta-btn.filled{background-color:#000;color:#fff;padding:1rem 2rem;border-radius:40px;font-size:1.1rem;text-decoration:none;font-weight:500}.white-content .cta-btn.outline{background-color:transparent;border:2px solid #000;color:#000;padding:1rem 2rem;border-radius:40px;font-size:1.1rem;text-decoration:none;font-weight:500}.white-content .note{font-size:.85rem;margin-top:1rem;color:#555}.text-extension{max-width:560px;margin-top:6rem!important}.text-extension .intro{font-size:2rem;line-height:3rem;font-weight:100;color:#000;margin-bottom:1rem}.text-extension .cta-buttons{margin-top:2rem!important}.text-extension .cta-btn.filled{background-color:#000;color:#fff;padding:1.2rem 2rem;border-radius:40px;font-size:1.6rem;font-weight:500;text-decoration:none}.text-extension .cta-btn.outline{background-color:transparent;border:2px solid #000;color:#000;padding:1.2rem 2rem;border-radius:40px;font-size:1.6rem;font-weight:500;text-decoration:none}.text-extension .note{font-size:1.2rem;color:#000;margin-top:1rem;margin-left:3rem}@media (width >= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .nce-laptop-img{top:5rem;left:7rem;position:relative}.image-content .nce-math-img{top:7rem;left:64rem;position:relative;width:450px!important}}@media (width >= 786px) and (width <= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .nce-laptop-img{top:5rem;right:6%;position:relative}.image-content .nce-math-img{position:relative;top:5rem;left:37rem;width:50%}}@media (width >= 991px){.nce-laptop-img{max-width:60%!important;height:auto}.nce-banner{padding-top:768px;padding-bottom:65px;margin-bottom:1rem;overflow:hidden}.section-fadeout{height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.nce-heading{width:700px!important}::ng-deep .vault-section{max-width:1580px!important;padding-left:48px!important;padding-top:130px!important}::ng-deep .vault-btn{width:224px!important}}@media (width <= 991px){.pricing-section{height:1200px}.billing-section{flex-direction:column!important;gap:3rem}.billing-section .billing-section1,.billing-section .billing-section2{width:90%!important}.billing-section .billing-section1{margin-left:1.5rem;margin-top:4rem}.nce-banner{background-image:url(/assets/img/resource/resource2.png)}}@media (width >= 768px) and (width <= 991px){.text-extension{position:absolute;margin:3rem;margin-top:24rem!important}}@media (width <= 768px){.text-extension{position:absolute;margin:3rem;margin-top:19rem!important}.pricing-section{height:1000px!important}.nce-divider{margin-top:25rem!important}.intro{font-size:1.5rem!important}.nce-math-img{top:30rem!important;left:24!important}.nce-laptop-img{top:12rem!important}}@media (width >= 991px) and (width <= 1200px){.nce-divider{top:61rem;position:absolute!important}}@media (width >= 1200px){.nce-divider{top:61rem;position:absolute!important}}@media (width >= 768px) and (width <= 991px){.nce-divider{margin-top:23rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}.outer-section-fadeout{top:62rem!important}}@media (width >= 991px){.section-outer{padding-top:7rem!important}}@media (width >= 768px) and (width <= 991px){.nce-math-img{top:28rem!important;left:24%}.nce-laptop-img{top:27rem!important;left:-15rem!important}.pricing-section{height:890px!important}}\n", "::ng-deep .navbar-nav .nav-item .nav-link{color:#fff!important}.bold{font-weight:700}.nce-heading{margin-bottom:2rem}.nce-note{margin-top:1rem;font-size:.85rem;color:#555}.nce-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}\n", "::ng-deep .ql-editor p{font-size:1.5rem!important;line-height:1.8rem!important;color:#333!important}.msp-vault-section{padding:60px 0;background:#fff}.msp-vault-section .vault-heading{font-size:4.5rem;font-weight:300;color:#000!important}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}.msp-vault-section .vault-card{background-color:#fff;border-radius:30px;box-shadow:0 5px 20px #0000000d;padding:25px;text-align:center;width:338px;height:auto}.msp-vault-section .vault-card h5{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#000!important}.msp-vault-section .vault-card p{font-size:1.5rem;color:#444}.msp-vault-section .vault-card img,.msp-vault-section .vault-card iframe{height:180px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card .vault-btn{background-color:#000!important;margin-top:10px;color:#fff;width:240px;padding:10px 24px;border-radius:24px;border:none;font-size:1.5rem;margin-left:2rem;font-weight:500;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left}.msp-vault-section .vault-card .vault-btn:hover{background-color:#333}@media (width >= 768px) and (width <= 1200px){.resource-title{font-size:1.4rem!important}}textarea{font-size:1.4rem!important}@media (width <= 768px){.resource-title{font-size:1.2rem!important}.container{padding:7rem 3rem 1rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-card{width:100%!important}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){::ng-deep .trial-meeting-section:before{top:600px!important}::ng-deep .dashboard{margin-bottom:1rem!important}section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}section.bg-white.text-center.extra-top-padding:before,section.bg-white.text-center.extra-top-padding:after{content:\"\";position:absolute;background:url(/assets/img/logos/background-banner.png) no-repeat;background-size:contain;width:160px;height:450px;z-index:0;opacity:.8}section.bg-white.text-center.extra-top-padding:before{top:500px;left:0}section.bg-white.text-center.extra-top-padding:after{top:90px;right:0}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 1200px){.resource-card{width:100%!important}.release-notes-section{padding:7rem 0!important}}.resource-section{padding:5rem 0;position:relative}.resource-section .section-heading{font-weight:700;font-size:2.4rem;color:#000}.resource-section .view-all{font-size:1.5rem;font-weight:600;color:#000;text-decoration:none;margin-bottom:2.5rem}.resource-section .view-all:hover{color:var(--first)}.resource-section .resource-card{background:#fff;width:353px;border-radius:30px;padding:3rem;box-shadow:0 20px 40px #00000014;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;height:100%}.resource-section .resource-card .resource-title{font-size:1.5rem;line-height:2rem;font-weight:300;color:#000;margin-bottom:16px;text-align:center;height:3.5rem}.resource-section .resource-card .resource-image{width:100%;height:204px!important;object-fit:cover;border-radius:16px;margin-bottom:20px;margin-top:3.5rem!important}.resource-section .resource-card .read-now-btn{background-color:var(--text-color, black);color:#fff;text-decoration:none;padding:14px 20px;font-size:1.5rem;font-weight:500;border-radius:40px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .3s ease;width:100%;max-width:240px;margin:0 auto;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.resource-section .resource-card .read-now-btn .arrow{font-weight:600;font-size:1.5rem}.resource-section .resource-card .read-now-btn:hover{background:#fff;color:var(--text-color, black)!important}@media (width <= 768px){.resource-section .resource-section .cards-row{gap:3rem;margin-top:3rem!important}.resource-section .section-heading,.resource-section .view-all{width:100%;text-align:center;margin-bottom:1rem}.resource-section .resource-card .read-now-btn{flex-direction:row;justify-content:center;gap:8px}}@media (width >= 768px) and (width <= 1200px){.nce-hero-section{padding:0 6rem!important}.cards-row{justify-content:center}}.resource-body-section{background-color:#fff}.resource-body-section .container{padding:0 1.5rem;padding-bottom:4rem!important;padding-top:7rem!important;max-width:850px;margin:0 auto;text-align:left}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:var(--first)!important;text-decoration:none;font-weight:500}.nce-book-section{background:#fff;padding-top:7rem;padding-bottom:0}.nce-book-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-book-section .nce-contact{line-height:1.6;font-size:1.5rem}.nce-book-section .nce-contact a{text-decoration:underline;color:#000;margin:0 .2rem}.nce-offer-section{background:#fff;padding-top:2rem}.nce-offer-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-offer-section .nce-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.25em!important}.nce-offer-section .nce-title strong{font-weight:700}.nce-offer-section .nce-description{font-size:1.5rem;line-height:1.8rem;color:#333;margin-bottom:1.5rem}.nce-offer-section .nce-offer-list{font-size:1.1rem;line-height:1.5rem;margin-bottom:2.5rem;margin-top:2.5rem}.nce-offer-section .nce-offer-list p{font-size:1.5rem;margin:.5rem 0;font-weight:400}.nce-offer-section .nce-signup{margin-bottom:2.5rem}.nce-offer-section .nce-signup .signup-link{font-size:1.5rem;font-weight:400;text-decoration:underline;color:#000}@media (width <= 768px){.nce-offer-section .nce-book-section{padding-top:5rem!important}.nce-offer-section .container{text-align:left}.nce-offer-section .nce-title{font-size:1.5rem}.nce-offer-section .nce-description,.nce-offer-section .nce-offer-list,.nce-offer-section .nce-signup,.nce-offer-section .signup-link,.nce-offer-section .nce-contact,.nce-offer-section .nce-offer-list p{font-size:1.2rem!important}}.nce-offer-intro{font-size:1.5rem;font-weight:400}.outer-section-fadeout{position:absolute;top:139rem;height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.body-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}@media (width <= 768px){.nce-book-section{padding-top:5rem!important}.nce-contact{font-size:1.2rem!important}}::ng-deep .body-quill{border-width:0!important;max-width:1000px;display:block;margin-left:auto;margin-right:auto}::ng-deep .ql-editor h1{font-size:2rem!important;line-height:2.3rem!important;color:#333!important}::ng-deep .ql-editor li{font-size:1.3rem!important;color:#333!important}::ng-deep .p-inputtextarea{border-radius:.5rem;border-color:#ced4da;font-size:1rem}.card{background-color:#fff;border-radius:12px}.comment-row{gap:2rem;padding-bottom:5rem;max-width:1000px;display:block;margin-left:auto;margin-right:auto}.comment-label{font-size:1.5rem!important}.response-row{max-width:1000px;display:block;margin-left:auto;margin-right:auto;margin-top:6rem!important}\n"], dependencies: [{ kind: "component", type: i3$1.Trial4ContactUsComponent, selector: "pw-trial-4-contact-us", inputs: ["subscriptionId", "sourceId", "masterSubscriptionId", "experimentName", "microserviceName"] }, { kind: "component", type: i4.ResourceHeaderComponent, selector: "pw-resource-header" }, { kind: "directive", type: i3.LazyImgDirective, selector: "img" }, { kind: "component", type: ResourceVideoCardComponent, selector: "pw-resource-video-card", inputs: ["showVideoSection"] }] }); }
760
+ }
761
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceVideoComponent, decorators: [{
762
+ type: Component,
763
+ args: [{ selector: 'pw-resource-videos', template: "<pw-resource-header></pw-resource-header>\n\n<section class=\"bg-white pricing-section\">\n <div class=\"nce-banner\">\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\">\n\n <!-- Left Content -->\n <div class=\"text-content\">\n <div class=\"nce-heading\">\n <h1 class=\"nce-header mb-4\">\n Videos on demand\n <span class=\"blue-text\"></span>\n </h1>\n </div>\n </div>\n\n <!-- Add directly below .text-content, still inside .container -->\n <div class=\"text-extension mt-4\">\n <p class=\"intro\">\n Prefer to watch and learn? We\u2019ve got<br>you.\n </p>\n <div class=\"cta-buttons d-flex gap-3 flex-wrap mt-3\">\n <p class=\"intro\">\n These on-demand sessions cover<br />\n everything from platform demos to<br />\n bite-sized billing masterclasses - all<br />\n designed to help MSPs streamline,<br />\n scale, and stay sharp. Watch anytime,<br />\n when it suits you.\n </p>\n </div>\n </div>\n\n <!-- Right Content -->\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <img class=\"nce-math-img\"\n src=\"/assets/img/resource/math.png\"\n alt=\"NCEasy laptop screen\" />\n <img class=\"nce-laptop-img\"\n src=\"/assets/img/resource/video-template.png\"\n alt=\"NCEasy laptop screen\" />\n </div>\n\n </div>\n </div>\n <hr class=\"nce-divider\" />\n</section>\n\n\n<pw-resource-video-card></pw-resource-video-card>\n\n<pw-trial-4-contact-us></pw-trial-4-contact-us>\n", styles: [".nce-banner{background-image:url(/assets/img/resource/resource2.png);background-position:center;background-repeat:no-repeat;color:#000}.nce-banner .text-content{max-width:500px;text-align:left;margin-bottom:75rem}.nce-banner .text-content h1{margin-bottom:1.5rem;line-height:1.2}.nce-banner .text-content .intro{font-size:1.2rem;margin:1rem 0;color:#000}.nce-banner .text-content .cta-btn{display:inline-block;background:#000;color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem}.nce-banner .text-content .cta-buttons{margin-top:2rem}.nce-banner .text-content .note{margin-top:1rem;margin-left:5.6rem;font-size:.9rem;color:#555}.nce-banner .nce-header{font-weight:500;color:#fff!important;font-size:4.5rem!important}.nce-banner .blue-text{font-weight:100}@media (width <= 991px){.nce-banner .text-content{margin-top:6.5rem;margin-bottom:0;text-align:center;max-width:360px}.nce-banner .text-content h1{margin-bottom:6.5rem!important}.nce-banner .nce-header{font-size:2.5rem!important}.nce-banner .cta-buttons{margin-top:5rem!important;justify-content:center!important}.nce-banner .note{margin-left:8rem!important}.nce-banner .image-content{position:relative;margin-bottom:3rem;height:230px}.nce-banner .image-content .floating-box{position:absolute;top:25px;left:3rem;transform:translate(-50%) rotate(-10deg);background:#fff;padding:.75rem 1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;z-index:3;display:inline-block;width:auto}.nce-banner .image-content .floating-box img{width:24px;margin-bottom:.4rem}.nce-banner .image-content .floating-box .label{font-size:.75rem;color:#333;margin:0;line-height:1.2}.nce-banner .image-content .floating-box .count{font-size:1.2rem;font-weight:700;color:#000;margin-top:.25rem}.nce-banner .image-content .screen-img{max-width:280px;position:absolute;bottom:0;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003}.nce-banner .image-content .person-img{max-width:170px;width:100%;position:relative;z-index:3;left:13rem;top:-11.35rem}.nce-banner .image-content .nce-laptop-img{max-width:350px;width:100%;position:relative;z-index:3;left:9%;height:auto!important;top:13rem}.nce-banner .image-content .nce-math-img{max-width:300px;width:100%;position:relative;z-index:3;left:15%;top:51rem}}@media (width >= 991px){.nce-banner .text-content{position:absolute;width:760px}.nce-banner .text-extension{max-width:760px;position:absolute;margin-bottom:27rem!important}}.white-content{background:#fff;color:#000}.white-content .intro{font-size:1.2rem;color:#000}.white-content .cta-btn.filled{background-color:#000;color:#fff;padding:1rem 2rem;border-radius:40px;font-size:1.1rem;text-decoration:none;font-weight:500}.white-content .cta-btn.outline{background-color:transparent;border:2px solid #000;color:#000;padding:1rem 2rem;border-radius:40px;font-size:1.1rem;text-decoration:none;font-weight:500}.white-content .note{font-size:.85rem;margin-top:1rem;color:#555}.text-extension{max-width:560px;margin-top:6rem!important}.text-extension .intro{font-size:2rem;line-height:3rem;font-weight:100;color:#000;margin-bottom:1rem}.text-extension .cta-buttons{margin-top:2rem!important}.text-extension .cta-btn.filled{background-color:#000;color:#fff;padding:1.2rem 2rem;border-radius:40px;font-size:1.6rem;font-weight:500;text-decoration:none}.text-extension .cta-btn.outline{background-color:transparent;border:2px solid #000;color:#000;padding:1.2rem 2rem;border-radius:40px;font-size:1.6rem;font-weight:500;text-decoration:none}.text-extension .note{font-size:1.2rem;color:#000;margin-top:1rem;margin-left:3rem}@media (width >= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .nce-laptop-img{top:5rem;left:7rem;position:relative}.image-content .nce-math-img{top:7rem;left:64rem;position:relative;width:450px!important}}@media (width >= 786px) and (width <= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .nce-laptop-img{top:5rem;right:6%;position:relative}.image-content .nce-math-img{position:relative;top:5rem;left:37rem;width:50%}}@media (width >= 991px){.nce-laptop-img{max-width:60%!important;height:auto}.nce-banner{padding-top:768px;padding-bottom:65px;margin-bottom:1rem;overflow:hidden}.section-fadeout{height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.nce-heading{width:700px!important}::ng-deep .vault-section{max-width:1580px!important;padding-left:48px!important;padding-top:130px!important}::ng-deep .vault-btn{width:224px!important}}@media (width <= 991px){.pricing-section{height:1200px}.billing-section{flex-direction:column!important;gap:3rem}.billing-section .billing-section1,.billing-section .billing-section2{width:90%!important}.billing-section .billing-section1{margin-left:1.5rem;margin-top:4rem}.nce-banner{background-image:url(/assets/img/resource/resource2.png)}}@media (width >= 768px) and (width <= 991px){.text-extension{position:absolute;margin:3rem;margin-top:24rem!important}}@media (width <= 768px){.text-extension{position:absolute;margin:3rem;margin-top:19rem!important}.pricing-section{height:1000px!important}.nce-divider{margin-top:25rem!important}.intro{font-size:1.5rem!important}.nce-math-img{top:30rem!important;left:24!important}.nce-laptop-img{top:12rem!important}}@media (width >= 991px) and (width <= 1200px){.nce-divider{top:61rem;position:absolute!important}}@media (width >= 1200px){.nce-divider{top:61rem;position:absolute!important}}@media (width >= 768px) and (width <= 991px){.nce-divider{margin-top:23rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}.outer-section-fadeout{top:62rem!important}}@media (width >= 991px){.section-outer{padding-top:7rem!important}}@media (width >= 768px) and (width <= 991px){.nce-math-img{top:28rem!important;left:24%}.nce-laptop-img{top:27rem!important;left:-15rem!important}.pricing-section{height:890px!important}}\n", "::ng-deep .navbar-nav .nav-item .nav-link{color:#fff!important}.bold{font-weight:700}.nce-heading{margin-bottom:2rem}.nce-note{margin-top:1rem;font-size:.85rem;color:#555}.nce-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}\n", "::ng-deep .ql-editor p{font-size:1.5rem!important;line-height:1.8rem!important;color:#333!important}.msp-vault-section{padding:60px 0;background:#fff}.msp-vault-section .vault-heading{font-size:4.5rem;font-weight:300;color:#000!important}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}.msp-vault-section .vault-card{background-color:#fff;border-radius:30px;box-shadow:0 5px 20px #0000000d;padding:25px;text-align:center;width:338px;height:auto}.msp-vault-section .vault-card h5{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#000!important}.msp-vault-section .vault-card p{font-size:1.5rem;color:#444}.msp-vault-section .vault-card img,.msp-vault-section .vault-card iframe{height:180px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card .vault-btn{background-color:#000!important;margin-top:10px;color:#fff;width:240px;padding:10px 24px;border-radius:24px;border:none;font-size:1.5rem;margin-left:2rem;font-weight:500;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left}.msp-vault-section .vault-card .vault-btn:hover{background-color:#333}@media (width >= 768px) and (width <= 1200px){.resource-title{font-size:1.4rem!important}}textarea{font-size:1.4rem!important}@media (width <= 768px){.resource-title{font-size:1.2rem!important}.container{padding:7rem 3rem 1rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-card{width:100%!important}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){::ng-deep .trial-meeting-section:before{top:600px!important}::ng-deep .dashboard{margin-bottom:1rem!important}section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}section.bg-white.text-center.extra-top-padding:before,section.bg-white.text-center.extra-top-padding:after{content:\"\";position:absolute;background:url(/assets/img/logos/background-banner.png) no-repeat;background-size:contain;width:160px;height:450px;z-index:0;opacity:.8}section.bg-white.text-center.extra-top-padding:before{top:500px;left:0}section.bg-white.text-center.extra-top-padding:after{top:90px;right:0}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 1200px){.resource-card{width:100%!important}.release-notes-section{padding:7rem 0!important}}.resource-section{padding:5rem 0;position:relative}.resource-section .section-heading{font-weight:700;font-size:2.4rem;color:#000}.resource-section .view-all{font-size:1.5rem;font-weight:600;color:#000;text-decoration:none;margin-bottom:2.5rem}.resource-section .view-all:hover{color:var(--first)}.resource-section .resource-card{background:#fff;width:353px;border-radius:30px;padding:3rem;box-shadow:0 20px 40px #00000014;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;height:100%}.resource-section .resource-card .resource-title{font-size:1.5rem;line-height:2rem;font-weight:300;color:#000;margin-bottom:16px;text-align:center;height:3.5rem}.resource-section .resource-card .resource-image{width:100%;height:204px!important;object-fit:cover;border-radius:16px;margin-bottom:20px;margin-top:3.5rem!important}.resource-section .resource-card .read-now-btn{background-color:var(--text-color, black);color:#fff;text-decoration:none;padding:14px 20px;font-size:1.5rem;font-weight:500;border-radius:40px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .3s ease;width:100%;max-width:240px;margin:0 auto;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.resource-section .resource-card .read-now-btn .arrow{font-weight:600;font-size:1.5rem}.resource-section .resource-card .read-now-btn:hover{background:#fff;color:var(--text-color, black)!important}@media (width <= 768px){.resource-section .resource-section .cards-row{gap:3rem;margin-top:3rem!important}.resource-section .section-heading,.resource-section .view-all{width:100%;text-align:center;margin-bottom:1rem}.resource-section .resource-card .read-now-btn{flex-direction:row;justify-content:center;gap:8px}}@media (width >= 768px) and (width <= 1200px){.nce-hero-section{padding:0 6rem!important}.cards-row{justify-content:center}}.resource-body-section{background-color:#fff}.resource-body-section .container{padding:0 1.5rem;padding-bottom:4rem!important;padding-top:7rem!important;max-width:850px;margin:0 auto;text-align:left}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:var(--first)!important;text-decoration:none;font-weight:500}.nce-book-section{background:#fff;padding-top:7rem;padding-bottom:0}.nce-book-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-book-section .nce-contact{line-height:1.6;font-size:1.5rem}.nce-book-section .nce-contact a{text-decoration:underline;color:#000;margin:0 .2rem}.nce-offer-section{background:#fff;padding-top:2rem}.nce-offer-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-offer-section .nce-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.25em!important}.nce-offer-section .nce-title strong{font-weight:700}.nce-offer-section .nce-description{font-size:1.5rem;line-height:1.8rem;color:#333;margin-bottom:1.5rem}.nce-offer-section .nce-offer-list{font-size:1.1rem;line-height:1.5rem;margin-bottom:2.5rem;margin-top:2.5rem}.nce-offer-section .nce-offer-list p{font-size:1.5rem;margin:.5rem 0;font-weight:400}.nce-offer-section .nce-signup{margin-bottom:2.5rem}.nce-offer-section .nce-signup .signup-link{font-size:1.5rem;font-weight:400;text-decoration:underline;color:#000}@media (width <= 768px){.nce-offer-section .nce-book-section{padding-top:5rem!important}.nce-offer-section .container{text-align:left}.nce-offer-section .nce-title{font-size:1.5rem}.nce-offer-section .nce-description,.nce-offer-section .nce-offer-list,.nce-offer-section .nce-signup,.nce-offer-section .signup-link,.nce-offer-section .nce-contact,.nce-offer-section .nce-offer-list p{font-size:1.2rem!important}}.nce-offer-intro{font-size:1.5rem;font-weight:400}.outer-section-fadeout{position:absolute;top:139rem;height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.body-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}@media (width <= 768px){.nce-book-section{padding-top:5rem!important}.nce-contact{font-size:1.2rem!important}}::ng-deep .body-quill{border-width:0!important;max-width:1000px;display:block;margin-left:auto;margin-right:auto}::ng-deep .ql-editor h1{font-size:2rem!important;line-height:2.3rem!important;color:#333!important}::ng-deep .ql-editor li{font-size:1.3rem!important;color:#333!important}::ng-deep .p-inputtextarea{border-radius:.5rem;border-color:#ced4da;font-size:1rem}.card{background-color:#fff;border-radius:12px}.comment-row{gap:2rem;padding-bottom:5rem;max-width:1000px;display:block;margin-left:auto;margin-right:auto}.comment-label{font-size:1.5rem!important}.response-row{max-width:1000px;display:block;margin-left:auto;margin-right:auto;margin-top:6rem!important}\n"] }]
764
+ }], ctorParameters: () => [{ type: ResourceService }, { type: i2.TagService }, { type: i0.Injector }] });
765
+
766
+ class ReplayEventCardComponent extends AppBaseComponent {
767
+ constructor(sanitizer, injector) {
768
+ super(injector);
769
+ this.sanitizer = sanitizer;
770
+ this.videoStates = {
771
+ inforcer: { loaded: false, id: 'R7Vk219zbhA', url: null },
772
+ inforcer2: { loaded: false, id: 'R7Vk219zbhA', url: null },
773
+ huntress: { loaded: false, id: 'R7Vk219zbhA', url: null }
774
+ };
775
+ }
776
+ loadVideo(key) {
777
+ const videoId = this.videoStates[key].id;
778
+ const baseUrl = `https://www.youtube.com/embed/${videoId}?autoplay=1`;
779
+ this.videoStates[key].url = this.sanitizer.bypassSecurityTrustResourceUrl(baseUrl); // NOSONAR
780
+ this.videoStates[key].loaded = true;
781
+ }
782
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ReplayEventCardComponent, deps: [{ token: i1$1.DomSanitizer }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
783
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ReplayEventCardComponent, selector: "pw-replay-event-card", usesInheritance: true, ngImport: i0, template: "<section class=\"msp-vault-section bg-white text-center py-5 extra-top-padding section-outer\">\n <div class=\"container\">\n <div class=\"d-md-flex justify-content-between align-items-start\">\n <div class=\"vault-header\">\n <h2 class=\"vault-heading\">Webinar Replays</h2>\n </div>\n </div>\n\n <div class=\"row mt-5 video-row\">\n\n <div class=\"col-md-4 mb-4\">\n <div class=\"vault-card text-center p-4\">\n <h5 class=\"badge-title\">REPLAY:</h5>\n <p class=\"event-title mb-1\">Webinar with Inforcer & CloudOlive:</p>\n <p class=\"event-date\">Make more on Microsoft</p>\n\n <img *ngIf=\"!videoStates.inforcer.loaded\"\n src=\"/assets/img/resource/webinar-inforcer.png\"\n class=\"img-fluid my-3\"\n alt=\"Webinar\" />\n\n <iframe *ngIf=\"videoStates.inforcer.loaded\"\n class=\"embed-responsive-item my-3\"\n [title]=\"videoTitle\"\n [src]=\"videoStates.inforcer.url\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen>\n </iframe>\n\n <button class=\"vault-btn mt-3\" (click)=\"loadVideo('inforcer')\">\n <span class=\"text\">Watch now</span>\n <span class=\"arrow\">\u2192</span>\n </button>\n </div>\n </div>\n\n <div class=\"col-md-4 mb-4\">\n <div class=\"vault-card text-center p-4\">\n <h5 class=\"badge-title\">REPLAY:</h5>\n <p class=\"event-title mb-1\">Webinar with Inforcer & CloudOlive:</p>\n <p class=\"event-date\">Make more on Microsoft</p>\n\n <img *ngIf=\"!videoStates.inforcer2.loaded\"\n src=\"/assets/img/resource/webinar-inforcer.png\"\n class=\"img-fluid my-3\"\n alt=\"Webinar\" />\n\n <iframe *ngIf=\"videoStates.inforcer2.loaded\"\n class=\"embed-responsive-item my-3\"\n [title]=\"videoTitle\"\n [src]=\"videoStates.inforcer2.url\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen>\n </iframe>\n\n <button class=\"vault-btn mt-3\" (click)=\"loadVideo('inforcer2')\">\n <span class=\"text\">Watch now</span>\n <span class=\"arrow\">\u2192</span>\n </button>\n </div>\n </div>\n\n <div class=\"col-md-4 mb-4\">\n <div class=\"vault-card text-center p-4\">\n <h5 class=\"badge-title\">REPLAY:</h5>\n <p class=\"event-title mb-1\">Webinar with Huntress & CloudOlive:</p>\n <p class=\"event-date\">MSP Thrive \u2013 Security</p>\n\n <img *ngIf=\"!videoStates.huntress.loaded\"\n src=\"/assets/img/resource/webinar-huntress.png\"\n class=\"img-fluid my-3\"\n alt=\"Webinar\" />\n\n <iframe *ngIf=\"videoStates.huntress.loaded\"\n class=\"embed-responsive-item my-3\"\n [title]=\"videoTitle\"\n [src]=\"videoStates.huntress.url\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen>\n </iframe>\n\n <button class=\"vault-btn mt-3\" (click)=\"loadVideo('huntress')\">\n <span class=\"text\">Watch now</span>\n <span class=\"arrow\">\u2192</span>\n </button>\n </div>\n </div>\n\n </div>\n </div>\n</section>\n", styles: [".msp-vault-section{padding:60px 0;background:#fff;padding-bottom:5rem!important;padding-top:7rem!important}.msp-vault-section .vault-heading{font-size:4.5rem;font-weight:300;color:#000!important}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}.msp-vault-section .vault-card{background-color:#fff;border-radius:30px;box-shadow:0 5px 20px #0000000d;padding:25px;text-align:center;width:338px;height:auto}.msp-vault-section .vault-card h5{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#000!important}.msp-vault-section .vault-card p{font-size:1.5rem;color:#444;line-height:2rem;margin-bottom:2rem}.msp-vault-section .vault-card iframe{height:175px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card img{height:180px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card .vault-btn{background-color:#000!important;margin-top:10px;color:#fff;width:240px;padding:10px 24px;border-radius:24px;border:none;font-size:1.5rem;margin-left:2rem;font-weight:500;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left}.msp-vault-section .vault-card .vault-btn:hover{background-color:#333}@media (width <= 768px){.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-card{width:100%!important}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 768px){.video-row{gap:3rem!important}}.vault-card{width:330px!important;height:auto!important}.demo{margin-bottom:5.8rem!important}.header-logo{height:40px!important;margin-bottom:10px;border-radius:0!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.LazyImgDirective, selector: "img" }] }); }
784
+ }
785
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ReplayEventCardComponent, decorators: [{
786
+ type: Component,
787
+ args: [{ selector: 'pw-replay-event-card', template: "<section class=\"msp-vault-section bg-white text-center py-5 extra-top-padding section-outer\">\n <div class=\"container\">\n <div class=\"d-md-flex justify-content-between align-items-start\">\n <div class=\"vault-header\">\n <h2 class=\"vault-heading\">Webinar Replays</h2>\n </div>\n </div>\n\n <div class=\"row mt-5 video-row\">\n\n <div class=\"col-md-4 mb-4\">\n <div class=\"vault-card text-center p-4\">\n <h5 class=\"badge-title\">REPLAY:</h5>\n <p class=\"event-title mb-1\">Webinar with Inforcer & CloudOlive:</p>\n <p class=\"event-date\">Make more on Microsoft</p>\n\n <img *ngIf=\"!videoStates.inforcer.loaded\"\n src=\"/assets/img/resource/webinar-inforcer.png\"\n class=\"img-fluid my-3\"\n alt=\"Webinar\" />\n\n <iframe *ngIf=\"videoStates.inforcer.loaded\"\n class=\"embed-responsive-item my-3\"\n [title]=\"videoTitle\"\n [src]=\"videoStates.inforcer.url\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen>\n </iframe>\n\n <button class=\"vault-btn mt-3\" (click)=\"loadVideo('inforcer')\">\n <span class=\"text\">Watch now</span>\n <span class=\"arrow\">\u2192</span>\n </button>\n </div>\n </div>\n\n <div class=\"col-md-4 mb-4\">\n <div class=\"vault-card text-center p-4\">\n <h5 class=\"badge-title\">REPLAY:</h5>\n <p class=\"event-title mb-1\">Webinar with Inforcer & CloudOlive:</p>\n <p class=\"event-date\">Make more on Microsoft</p>\n\n <img *ngIf=\"!videoStates.inforcer2.loaded\"\n src=\"/assets/img/resource/webinar-inforcer.png\"\n class=\"img-fluid my-3\"\n alt=\"Webinar\" />\n\n <iframe *ngIf=\"videoStates.inforcer2.loaded\"\n class=\"embed-responsive-item my-3\"\n [title]=\"videoTitle\"\n [src]=\"videoStates.inforcer2.url\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen>\n </iframe>\n\n <button class=\"vault-btn mt-3\" (click)=\"loadVideo('inforcer2')\">\n <span class=\"text\">Watch now</span>\n <span class=\"arrow\">\u2192</span>\n </button>\n </div>\n </div>\n\n <div class=\"col-md-4 mb-4\">\n <div class=\"vault-card text-center p-4\">\n <h5 class=\"badge-title\">REPLAY:</h5>\n <p class=\"event-title mb-1\">Webinar with Huntress & CloudOlive:</p>\n <p class=\"event-date\">MSP Thrive \u2013 Security</p>\n\n <img *ngIf=\"!videoStates.huntress.loaded\"\n src=\"/assets/img/resource/webinar-huntress.png\"\n class=\"img-fluid my-3\"\n alt=\"Webinar\" />\n\n <iframe *ngIf=\"videoStates.huntress.loaded\"\n class=\"embed-responsive-item my-3\"\n [title]=\"videoTitle\"\n [src]=\"videoStates.huntress.url\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen>\n </iframe>\n\n <button class=\"vault-btn mt-3\" (click)=\"loadVideo('huntress')\">\n <span class=\"text\">Watch now</span>\n <span class=\"arrow\">\u2192</span>\n </button>\n </div>\n </div>\n\n </div>\n </div>\n</section>\n", styles: [".msp-vault-section{padding:60px 0;background:#fff;padding-bottom:5rem!important;padding-top:7rem!important}.msp-vault-section .vault-heading{font-size:4.5rem;font-weight:300;color:#000!important}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}.msp-vault-section .vault-card{background-color:#fff;border-radius:30px;box-shadow:0 5px 20px #0000000d;padding:25px;text-align:center;width:338px;height:auto}.msp-vault-section .vault-card h5{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#000!important}.msp-vault-section .vault-card p{font-size:1.5rem;color:#444;line-height:2rem;margin-bottom:2rem}.msp-vault-section .vault-card iframe{height:175px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card img{height:180px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card .vault-btn{background-color:#000!important;margin-top:10px;color:#fff;width:240px;padding:10px 24px;border-radius:24px;border:none;font-size:1.5rem;margin-left:2rem;font-weight:500;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left}.msp-vault-section .vault-card .vault-btn:hover{background-color:#333}@media (width <= 768px){.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-card{width:100%!important}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 768px){.video-row{gap:3rem!important}}.vault-card{width:330px!important;height:auto!important}.demo{margin-bottom:5.8rem!important}.header-logo{height:40px!important;margin-bottom:10px;border-radius:0!important}\n"] }]
788
+ }], ctorParameters: () => [{ type: i1$1.DomSanitizer }, { type: i0.Injector }] });
789
+
790
+ class UpcomingEventCardComponent {
791
+ constructor() {
792
+ this.showEventContent = false;
793
+ }
794
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UpcomingEventCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
795
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: UpcomingEventCardComponent, selector: "pw-upcoming-event-card", inputs: { showEventContent: "showEventContent" }, ngImport: i0, template: "<section class=\"msp-vault-section bg-white text-center py-5 extra-top-padding section-outer\">\n <div class=\"container\">\n <div *ngIf=\"showEventContent\" class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <h2 class=\"section-heading\">Events & Webinars:</h2>\n <a class=\"view-all\" routerLink=\"/resources/events\">VIEW ALL ></a>\n </div>\n <div *ngIf=\"!showEventContent\" class=\"d-md-flex justify-content-between align-items-start\">\n <div class=\"vault-header\">\n <h2 class=\"vault-heading\">Upcoming Events</h2>\n </div>\n </div>\n\n <div class=\"row mt-5 d-flex flex-wrap justify-content-center gap-4 video-row\">\n <div class=\"vault-card text-center p-4\">\n <h5 class=\"badge-title\">UPCOMING:</h5>\n\n <p class=\"event-title mb-1\">Unlock Cyber Success</p>\n <p class=\"event-date\">20<sup>th</sup> June 2025</p>\n\n <img\n src=\"/assets/img/resource/upcoming-event.png\"\n class=\"img-fluid my-3\"\n alt=\"Webinar\" />\n <a class=\"vault-btn mt-3\" href=\"#\">\n <span class=\"text\">Register Now</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n </div>\n <div class=\"vault-card text-center p-4\">\n <h5 class=\"badge-title\">UPCOMING:</h5>\n\n <p class=\"event-title mb-1\">Unlock Cyber Success</p>\n <p class=\"event-date\">20<sup>th</sup> June 2025</p>\n\n <img\n src=\"/assets/img/resource/upcoming-event.png\"\n class=\"img-fluid my-3\"\n alt=\"Webinar\" />\n <a class=\"vault-btn mt-3\" href=\"#\">\n <span class=\"text\">Register Now</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n </div>\n <div class=\"vault-card text-center p-4\">\n <h5 class=\"badge-title\">UPCOMING:</h5>\n\n <p class=\"event-title mb-1\">Unlock Cyber Success</p>\n <p class=\"event-date\">20<sup>th</sup> June 2025</p>\n\n <img\n src=\"/assets/img/resource/upcoming-event.png\"\n class=\"img-fluid my-3\"\n alt=\"Webinar\" />\n <a class=\"vault-btn mt-3\" href=\"#\">\n <span class=\"text\">Register Now</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n </div>\n </div>\n </div>\n</section>\n", styles: [".msp-vault-section{padding:60px 0;background:#fff;padding-bottom:5rem!important;padding-top:7rem!important}.msp-vault-section .vault-heading{font-size:4.5rem;font-weight:300;color:#000!important}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}.msp-vault-section .vault-card{background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto!important}.msp-vault-section .vault-card h5{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#000!important}.msp-vault-section .vault-card p{font-size:1.5rem;color:#444}.msp-vault-section .vault-card img,.msp-vault-section .vault-card iframe{height:210px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card .vault-btn{background-color:var(--text-color, black);color:#fff;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;margin-top:10px;margin-left:2rem;width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.msp-vault-section .vault-card .vault-btn:hover{background:#fff;color:var(--text-color, black)!important}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}.video-row{gap:5.5rem!important}@media (width >= 991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 768px){.vault-card{width:100%!important}.video-row{gap:3rem!important}}.demo{margin-bottom:5.8rem!important}.header-logo{height:40px!important;margin-bottom:10px;border-radius:0!important}@media (width <= 768px){.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media (width <= 1200px){.container{padding:1rem 3rem!important}}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.LazyImgDirective, selector: "img" }] }); }
796
+ }
797
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UpcomingEventCardComponent, decorators: [{
798
+ type: Component,
799
+ args: [{ selector: 'pw-upcoming-event-card', template: "<section class=\"msp-vault-section bg-white text-center py-5 extra-top-padding section-outer\">\n <div class=\"container\">\n <div *ngIf=\"showEventContent\" class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <h2 class=\"section-heading\">Events & Webinars:</h2>\n <a class=\"view-all\" routerLink=\"/resources/events\">VIEW ALL ></a>\n </div>\n <div *ngIf=\"!showEventContent\" class=\"d-md-flex justify-content-between align-items-start\">\n <div class=\"vault-header\">\n <h2 class=\"vault-heading\">Upcoming Events</h2>\n </div>\n </div>\n\n <div class=\"row mt-5 d-flex flex-wrap justify-content-center gap-4 video-row\">\n <div class=\"vault-card text-center p-4\">\n <h5 class=\"badge-title\">UPCOMING:</h5>\n\n <p class=\"event-title mb-1\">Unlock Cyber Success</p>\n <p class=\"event-date\">20<sup>th</sup> June 2025</p>\n\n <img\n src=\"/assets/img/resource/upcoming-event.png\"\n class=\"img-fluid my-3\"\n alt=\"Webinar\" />\n <a class=\"vault-btn mt-3\" href=\"#\">\n <span class=\"text\">Register Now</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n </div>\n <div class=\"vault-card text-center p-4\">\n <h5 class=\"badge-title\">UPCOMING:</h5>\n\n <p class=\"event-title mb-1\">Unlock Cyber Success</p>\n <p class=\"event-date\">20<sup>th</sup> June 2025</p>\n\n <img\n src=\"/assets/img/resource/upcoming-event.png\"\n class=\"img-fluid my-3\"\n alt=\"Webinar\" />\n <a class=\"vault-btn mt-3\" href=\"#\">\n <span class=\"text\">Register Now</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n </div>\n <div class=\"vault-card text-center p-4\">\n <h5 class=\"badge-title\">UPCOMING:</h5>\n\n <p class=\"event-title mb-1\">Unlock Cyber Success</p>\n <p class=\"event-date\">20<sup>th</sup> June 2025</p>\n\n <img\n src=\"/assets/img/resource/upcoming-event.png\"\n class=\"img-fluid my-3\"\n alt=\"Webinar\" />\n <a class=\"vault-btn mt-3\" href=\"#\">\n <span class=\"text\">Register Now</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n </div>\n </div>\n </div>\n</section>\n", styles: [".msp-vault-section{padding:60px 0;background:#fff;padding-bottom:5rem!important;padding-top:7rem!important}.msp-vault-section .vault-heading{font-size:4.5rem;font-weight:300;color:#000!important}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}.msp-vault-section .vault-card{background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto!important}.msp-vault-section .vault-card h5{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#000!important}.msp-vault-section .vault-card p{font-size:1.5rem;color:#444}.msp-vault-section .vault-card img,.msp-vault-section .vault-card iframe{height:210px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card .vault-btn{background-color:var(--text-color, black);color:#fff;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;margin-top:10px;margin-left:2rem;width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.msp-vault-section .vault-card .vault-btn:hover{background:#fff;color:var(--text-color, black)!important}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}.video-row{gap:5.5rem!important}@media (width >= 991px){section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 768px){.vault-card{width:100%!important}.video-row{gap:3rem!important}}.demo{margin-bottom:5.8rem!important}.header-logo{height:40px!important;margin-bottom:10px;border-radius:0!important}@media (width <= 768px){.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media (width <= 1200px){.container{padding:1rem 3rem!important}}\n"] }]
800
+ }], propDecorators: { showEventContent: [{
801
+ type: Input
802
+ }] } });
803
+
804
+ class ResourceWebinarComponent extends AppBaseComponent {
805
+ constructor(resourceService, tagService, injector) {
806
+ super(injector);
807
+ this.resourceService = resourceService;
808
+ this.tagService = tagService;
809
+ this.posts = [];
810
+ this.upcomingPosts = [];
811
+ }
812
+ ngOnInit() {
813
+ this.getUserSubscriptionId().subscribe(response => {
814
+ this.subscriptionId = response;
815
+ });
816
+ this.localStorage.getItem$(TOKEN_KEY).subscribe(res => {
817
+ this.userLoggedIn = !!res;
818
+ if (this.userLoggedIn) {
819
+ this.localStorage.getItem$('product').subscribe(res => {
820
+ const data = res ? JSON.parse(res) : null;
821
+ this.subscriptionId = data?.subscriptionId;
822
+ console.log(this.subscriptionId);
823
+ this.getPostTags();
824
+ });
825
+ }
826
+ });
827
+ }
828
+ getPostTags() {
829
+ this.tagService
830
+ .getTagsByType('post_categories', {}, this.subscriptionId || this.masterSubscriptionId)
831
+ .subscribe(response => {
832
+ this.blogPostTag = response.tags.find(tag => tag.name === 'Events');
833
+ this.getPosts(1, 100);
834
+ this.getUpcomingPosts(1, 100);
835
+ });
836
+ }
837
+ getPosts(page, pageSize) {
838
+ console.log(this.blogPostTag);
839
+ this.resourceService
840
+ .getPublicPosts(this.subscriptionId, page, pageSize, '', this.blogPostTag?.tag_category_id)
841
+ .subscribe(response => {
842
+ console.log(response.posts, this.blogPostTag);
843
+ this.posts = response.posts
844
+ .filter(post => post.tags?.some(tag => tag.tag_category_id === this.blogPostTag?.tag_category_id &&
845
+ new Date(post.when) < new Date()))
846
+ .sort((a, b) => new Date(b.published_at).getTime() - new Date(a.published_at).getTime())
847
+ .slice(0, 12);
848
+ });
849
+ }
850
+ getUpcomingPosts(page, pageSize) {
851
+ this.resourceService
852
+ .getPublicPosts(this.subscriptionId, page, pageSize, '', this.blogPostTag?.tag_category_id)
853
+ .subscribe(response => {
854
+ console.log(response.posts, this.blogPostTag);
855
+ this.upcomingPosts = response.posts
856
+ .filter(post => post.tags?.some(tag => tag.tag_category_id === this.blogPostTag?.tag_category_id &&
857
+ new Date(post.when) > new Date()))
858
+ .sort((a, b) => new Date(b.published_at).getTime() - new Date(a.published_at).getTime())
859
+ .slice(0, 12);
860
+ });
861
+ }
862
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceWebinarComponent, deps: [{ token: ResourceService }, { token: i2.TagService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
863
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceWebinarComponent, selector: "pw-resource-blog", usesInheritance: true, ngImport: i0, template: "<pw-resource-header></pw-resource-header>\n\n\n<section class=\"bg-white pricing-section\">\n <div class=\"nce-banner\">\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\">\n\n <!-- Left Content -->\n <div class=\"text-content\">\n <div class=\"nce-heading\">\n <h1 class=\"nce-header mb-4\">\n Events & Webinars\n <span class=\"blue-text\"></span>\n </h1>\n </div>\n </div>\n\n <!-- Add directly below .text-content, still inside .container -->\n <div class=\"text-extension mt-4\">\n <p class=\"intro\">\n We're big on community and even<br>bigger on sharing what works.\n </p>\n <div class=\"cta-buttons d-flex gap-3 flex-wrap mt-3\">\n <p class=\"intro\">\n Whether it's a deep-dive webinar,<br>\n product masterclass or a virtual<br>\n roundtable with industry pros - these<br>\n sessions are built to help MSPs like<br>\n you grow smarter, bill better, and<br>\n stay ahead.\n </p>\n </div>\n </div>\n\n <!-- Right Content -->\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <img class=\"nce-math-img\"\n src=\"/assets/img/resource/math.png\"\n alt=\"NCEasy laptop screen\" />\n <img class=\"nce-laptop-img\"\n src=\"/assets/img/resource/events-women.png\"\n alt=\"NCEasy laptop screen\" />\n </div>\n\n </div>\n </div>\n <hr class=\"nce-divider\" />\n</section>\n\n<section class=\"bg-white\">\n <pw-upcoming-event-card></pw-upcoming-event-card>\n <hr class=\"nce-divider\" />\n</section>\n\n<section class=\"bg-white\">\n <pw-replay-event-card></pw-replay-event-card>\n <hr class=\"nce-divider\" />\n</section>\n\n\n\n\n<pw-trial-4-contact-us></pw-trial-4-contact-us>\n", styles: [".nce-banner{background-image:url(/assets/img/resource/resource2.png);background-position:center;background-repeat:no-repeat;color:#000}.nce-banner .text-content{max-width:500px;text-align:left;margin-bottom:75rem}.nce-banner .text-content h1{margin-bottom:1.5rem;line-height:1.2}.nce-banner .text-content .intro{font-size:1.2rem;margin:1rem 0;color:#000}.nce-banner .text-content .cta-btn{display:inline-block;background:#000;color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem}.nce-banner .text-content .cta-buttons{margin-top:2rem}.nce-banner .text-content .note{margin-top:1rem;margin-left:5.6rem;font-size:.9rem;color:#555}.nce-banner .nce-header{font-weight:500;color:#fff!important;font-size:4.5rem!important}.nce-banner .blue-text{font-weight:100}@media (width <= 991px){.nce-banner .text-content{margin-top:6.5rem;margin-bottom:0;text-align:center;max-width:360px}.nce-banner .text-content h1{margin-bottom:6.5rem!important}.nce-banner .nce-header{font-size:2.5rem!important}.nce-banner .cta-buttons{margin-top:5rem!important;justify-content:center!important}.nce-banner .note{margin-left:8rem!important}.nce-banner .image-content{position:relative;margin-bottom:3rem;height:230px}.nce-banner .image-content .floating-box{position:absolute;top:25px;left:3rem;transform:translate(-50%) rotate(-10deg);background:#fff;padding:.75rem 1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;z-index:3;display:inline-block;width:auto}.nce-banner .image-content .floating-box img{width:24px;margin-bottom:.4rem}.nce-banner .image-content .floating-box .label{font-size:.75rem;color:#333;margin:0;line-height:1.2}.nce-banner .image-content .floating-box .count{font-size:1.2rem;font-weight:700;color:#000;margin-top:.25rem}.nce-banner .image-content .screen-img{max-width:280px;position:absolute;bottom:0;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003}.nce-banner .image-content .person-img{max-width:170px;width:100%;position:relative;z-index:3;left:13rem;top:-11.35rem}.nce-banner .image-content .nce-laptop-img{max-width:350px;width:100%;position:relative;z-index:3;left:9%;height:auto!important;top:13rem}.nce-banner .image-content .nce-math-img{max-width:300px;width:100%;position:relative;z-index:3;left:15%;top:51rem}}@media (width >= 991px){.nce-banner .text-content{position:absolute;width:760px}.nce-banner .text-extension{max-width:760px;position:absolute;margin-bottom:22rem!important}}.white-content{background:#fff;color:#000}.white-content .intro{font-size:1.2rem;color:#000}.white-content .cta-btn.filled{background-color:#000;color:#fff;padding:1rem 2rem;border-radius:40px;font-size:1.1rem;text-decoration:none;font-weight:500}.white-content .cta-btn.outline{background-color:transparent;border:2px solid #000;color:#000;padding:1rem 2rem;border-radius:40px;font-size:1.1rem;text-decoration:none;font-weight:500}.white-content .note{font-size:.85rem;margin-top:1rem;color:#555}.text-extension{max-width:560px;margin-top:6rem!important}.text-extension .intro{font-size:2rem;line-height:3rem;font-weight:100;color:#000;margin-bottom:1rem}.text-extension .cta-buttons{margin-top:2rem!important;margin-bottom:3rem!important}.text-extension .cta-btn.filled{background-color:#000;color:#fff;padding:1.2rem 2rem;border-radius:40px;font-size:1.6rem;font-weight:500;text-decoration:none}.text-extension .cta-btn.outline{background-color:transparent;border:2px solid #000;color:#000;padding:1.2rem 2rem;border-radius:40px;font-size:1.6rem;font-weight:500;text-decoration:none}.text-extension .note{font-size:1.2rem;color:#000;margin-top:1rem;margin-left:3rem}@media (width >= 991px){.section-outer{padding-top:7rem!important}}@media (width >= 768px) and (width <= 991px){.nce-math-img{top:28rem!important;left:24%}.nce-laptop-img{top:27rem!important;left:-15rem!important}.pricing-section{height:890px!important}}@media (width >= 1200px){.nce-divider{top:61rem;position:absolute!important}.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .nce-laptop-img{top:9.3rem;right:9%;position:relative}.image-content .nce-math-img{top:10rem;left:55rem;position:relative;width:550px!important}}@media (width >= 786px) and (width <= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}}@media (width >= 991px){.nce-laptop-img{max-width:100%!important;height:auto}.nce-banner{padding-top:768px;padding-bottom:65px;overflow:hidden}.section-fadeout{height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.nce-heading{width:700px!important}::ng-deep .vault-section{max-width:1580px!important;padding-left:48px!important;padding-top:130px!important}::ng-deep .vault-card{width:330px!important;height:370px!important}::ng-deep .vault-btn{width:224px!important}}@media (width <= 991px){.billing-section{flex-direction:column!important;gap:3rem}.billing-section .billing-section1,.billing-section .billing-section2{width:90%!important}.billing-section .billing-section1{margin-left:1.5rem;margin-top:4rem}.nce-banner{background-image:url(/assets/img/resource/resource2.png)}}@media (width <= 768px){.nce-divider{margin-top:29rem!important}.intro{font-size:1.5rem!important}.nce-math-img{top:30rem!important}.nce-laptop-img{top:16rem!important}}@media (width <= 768px){.resource-title{font-size:1.2rem!important}.container{padding:7rem 3rem 1rem!important}.text-extension{position:absolute;margin:3rem;margin-top:19rem!important}.pricing-section{height:1050px!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width >= 768px) and (width <= 991px){.text-extension{position:absolute;margin:3rem;margin-top:24rem!important}.pricing-section{height:1200px}.nce-divider{margin-top:23rem!important}.nce-laptop-img{bottom:5rem;right:10%;position:relative}.nce-math-img{position:relative;bottom:5rem;left:37rem;width:50%}}@media (width >= 991px) and (width <= 1200px){.text-extension{position:absolute;margin:3rem;margin-top:8rem!important}.pricing-section{height:900px}.nce-divider{margin-top:2rem!important}.nce-laptop-img{top:34.5rem;right:1rem;position:absolute;width:450px!important;height:450px!important}.nce-math-img{top:7rem;left:38rem;position:relative;width:450px!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}.outer-section-fadeout{top:62rem!important}}\n", "::ng-deep .navbar-nav .nav-item .nav-link{color:#fff!important}.bold{font-weight:700}.nce-heading{margin-bottom:2rem}.nce-note{margin-top:1rem;font-size:.85rem;color:#555}.nce-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}\n"], dependencies: [{ kind: "component", type: i3$1.Trial4ContactUsComponent, selector: "pw-trial-4-contact-us", inputs: ["subscriptionId", "sourceId", "masterSubscriptionId", "experimentName", "microserviceName"] }, { kind: "component", type: i4.ResourceHeaderComponent, selector: "pw-resource-header" }, { kind: "directive", type: i3.LazyImgDirective, selector: "img" }, { kind: "component", type: UpcomingEventCardComponent, selector: "pw-upcoming-event-card", inputs: ["showEventContent"] }, { kind: "component", type: ReplayEventCardComponent, selector: "pw-replay-event-card" }] }); }
864
+ }
865
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceWebinarComponent, decorators: [{
866
+ type: Component,
867
+ args: [{ selector: 'pw-resource-blog', template: "<pw-resource-header></pw-resource-header>\n\n\n<section class=\"bg-white pricing-section\">\n <div class=\"nce-banner\">\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\">\n\n <!-- Left Content -->\n <div class=\"text-content\">\n <div class=\"nce-heading\">\n <h1 class=\"nce-header mb-4\">\n Events & Webinars\n <span class=\"blue-text\"></span>\n </h1>\n </div>\n </div>\n\n <!-- Add directly below .text-content, still inside .container -->\n <div class=\"text-extension mt-4\">\n <p class=\"intro\">\n We're big on community and even<br>bigger on sharing what works.\n </p>\n <div class=\"cta-buttons d-flex gap-3 flex-wrap mt-3\">\n <p class=\"intro\">\n Whether it's a deep-dive webinar,<br>\n product masterclass or a virtual<br>\n roundtable with industry pros - these<br>\n sessions are built to help MSPs like<br>\n you grow smarter, bill better, and<br>\n stay ahead.\n </p>\n </div>\n </div>\n\n <!-- Right Content -->\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <img class=\"nce-math-img\"\n src=\"/assets/img/resource/math.png\"\n alt=\"NCEasy laptop screen\" />\n <img class=\"nce-laptop-img\"\n src=\"/assets/img/resource/events-women.png\"\n alt=\"NCEasy laptop screen\" />\n </div>\n\n </div>\n </div>\n <hr class=\"nce-divider\" />\n</section>\n\n<section class=\"bg-white\">\n <pw-upcoming-event-card></pw-upcoming-event-card>\n <hr class=\"nce-divider\" />\n</section>\n\n<section class=\"bg-white\">\n <pw-replay-event-card></pw-replay-event-card>\n <hr class=\"nce-divider\" />\n</section>\n\n\n\n\n<pw-trial-4-contact-us></pw-trial-4-contact-us>\n", styles: [".nce-banner{background-image:url(/assets/img/resource/resource2.png);background-position:center;background-repeat:no-repeat;color:#000}.nce-banner .text-content{max-width:500px;text-align:left;margin-bottom:75rem}.nce-banner .text-content h1{margin-bottom:1.5rem;line-height:1.2}.nce-banner .text-content .intro{font-size:1.2rem;margin:1rem 0;color:#000}.nce-banner .text-content .cta-btn{display:inline-block;background:#000;color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem}.nce-banner .text-content .cta-buttons{margin-top:2rem}.nce-banner .text-content .note{margin-top:1rem;margin-left:5.6rem;font-size:.9rem;color:#555}.nce-banner .nce-header{font-weight:500;color:#fff!important;font-size:4.5rem!important}.nce-banner .blue-text{font-weight:100}@media (width <= 991px){.nce-banner .text-content{margin-top:6.5rem;margin-bottom:0;text-align:center;max-width:360px}.nce-banner .text-content h1{margin-bottom:6.5rem!important}.nce-banner .nce-header{font-size:2.5rem!important}.nce-banner .cta-buttons{margin-top:5rem!important;justify-content:center!important}.nce-banner .note{margin-left:8rem!important}.nce-banner .image-content{position:relative;margin-bottom:3rem;height:230px}.nce-banner .image-content .floating-box{position:absolute;top:25px;left:3rem;transform:translate(-50%) rotate(-10deg);background:#fff;padding:.75rem 1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;z-index:3;display:inline-block;width:auto}.nce-banner .image-content .floating-box img{width:24px;margin-bottom:.4rem}.nce-banner .image-content .floating-box .label{font-size:.75rem;color:#333;margin:0;line-height:1.2}.nce-banner .image-content .floating-box .count{font-size:1.2rem;font-weight:700;color:#000;margin-top:.25rem}.nce-banner .image-content .screen-img{max-width:280px;position:absolute;bottom:0;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003}.nce-banner .image-content .person-img{max-width:170px;width:100%;position:relative;z-index:3;left:13rem;top:-11.35rem}.nce-banner .image-content .nce-laptop-img{max-width:350px;width:100%;position:relative;z-index:3;left:9%;height:auto!important;top:13rem}.nce-banner .image-content .nce-math-img{max-width:300px;width:100%;position:relative;z-index:3;left:15%;top:51rem}}@media (width >= 991px){.nce-banner .text-content{position:absolute;width:760px}.nce-banner .text-extension{max-width:760px;position:absolute;margin-bottom:22rem!important}}.white-content{background:#fff;color:#000}.white-content .intro{font-size:1.2rem;color:#000}.white-content .cta-btn.filled{background-color:#000;color:#fff;padding:1rem 2rem;border-radius:40px;font-size:1.1rem;text-decoration:none;font-weight:500}.white-content .cta-btn.outline{background-color:transparent;border:2px solid #000;color:#000;padding:1rem 2rem;border-radius:40px;font-size:1.1rem;text-decoration:none;font-weight:500}.white-content .note{font-size:.85rem;margin-top:1rem;color:#555}.text-extension{max-width:560px;margin-top:6rem!important}.text-extension .intro{font-size:2rem;line-height:3rem;font-weight:100;color:#000;margin-bottom:1rem}.text-extension .cta-buttons{margin-top:2rem!important;margin-bottom:3rem!important}.text-extension .cta-btn.filled{background-color:#000;color:#fff;padding:1.2rem 2rem;border-radius:40px;font-size:1.6rem;font-weight:500;text-decoration:none}.text-extension .cta-btn.outline{background-color:transparent;border:2px solid #000;color:#000;padding:1.2rem 2rem;border-radius:40px;font-size:1.6rem;font-weight:500;text-decoration:none}.text-extension .note{font-size:1.2rem;color:#000;margin-top:1rem;margin-left:3rem}@media (width >= 991px){.section-outer{padding-top:7rem!important}}@media (width >= 768px) and (width <= 991px){.nce-math-img{top:28rem!important;left:24%}.nce-laptop-img{top:27rem!important;left:-15rem!important}.pricing-section{height:890px!important}}@media (width >= 1200px){.nce-divider{top:61rem;position:absolute!important}.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .nce-laptop-img{top:9.3rem;right:9%;position:relative}.image-content .nce-math-img{top:10rem;left:55rem;position:relative;width:550px!important}}@media (width >= 786px) and (width <= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}}@media (width >= 991px){.nce-laptop-img{max-width:100%!important;height:auto}.nce-banner{padding-top:768px;padding-bottom:65px;overflow:hidden}.section-fadeout{height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.nce-heading{width:700px!important}::ng-deep .vault-section{max-width:1580px!important;padding-left:48px!important;padding-top:130px!important}::ng-deep .vault-card{width:330px!important;height:370px!important}::ng-deep .vault-btn{width:224px!important}}@media (width <= 991px){.billing-section{flex-direction:column!important;gap:3rem}.billing-section .billing-section1,.billing-section .billing-section2{width:90%!important}.billing-section .billing-section1{margin-left:1.5rem;margin-top:4rem}.nce-banner{background-image:url(/assets/img/resource/resource2.png)}}@media (width <= 768px){.nce-divider{margin-top:29rem!important}.intro{font-size:1.5rem!important}.nce-math-img{top:30rem!important}.nce-laptop-img{top:16rem!important}}@media (width <= 768px){.resource-title{font-size:1.2rem!important}.container{padding:7rem 3rem 1rem!important}.text-extension{position:absolute;margin:3rem;margin-top:19rem!important}.pricing-section{height:1050px!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width >= 768px) and (width <= 991px){.text-extension{position:absolute;margin:3rem;margin-top:24rem!important}.pricing-section{height:1200px}.nce-divider{margin-top:23rem!important}.nce-laptop-img{bottom:5rem;right:10%;position:relative}.nce-math-img{position:relative;bottom:5rem;left:37rem;width:50%}}@media (width >= 991px) and (width <= 1200px){.text-extension{position:absolute;margin:3rem;margin-top:8rem!important}.pricing-section{height:900px}.nce-divider{margin-top:2rem!important}.nce-laptop-img{top:34.5rem;right:1rem;position:absolute;width:450px!important;height:450px!important}.nce-math-img{top:7rem;left:38rem;position:relative;width:450px!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}.outer-section-fadeout{top:62rem!important}}\n", "::ng-deep .navbar-nav .nav-item .nav-link{color:#fff!important}.bold{font-weight:700}.nce-heading{margin-bottom:2rem}.nce-note{margin-top:1rem;font-size:.85rem;color:#555}.nce-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}\n"] }]
868
+ }], ctorParameters: () => [{ type: ResourceService }, { type: i2.TagService }, { type: i0.Injector }] });
869
+
870
+ class ResourceTagComponent extends AppBaseComponent {
871
+ constructor(tagService, injector) {
872
+ super(injector);
873
+ this.tagService = tagService;
874
+ this.tags = [];
875
+ this.loading = true;
876
+ this.loaded = false;
877
+ this.selectedTag = null;
878
+ }
879
+ ngOnInit() {
880
+ this.localStorage.getItem$('product').subscribe(product => {
881
+ const data = product ? JSON.parse(product) : null;
882
+ this.subscriptionId =
883
+ data?.subscriptionId || this.appConfig.master_subscription.subscription_id;
884
+ this.getTags();
885
+ });
886
+ }
887
+ selectTag(tag) {
888
+ this.selectedTag = tag;
889
+ }
890
+ getTags() {
891
+ this.loading = true;
892
+ this.tagService
893
+ .getTagsByType('post_categories', {}, this.subscriptionId)
894
+ .subscribe(res => {
895
+ this.tags = (res?.tags || [])
896
+ .filter(tag => tag.visible_in_resources)
897
+ .map(tag => ({
898
+ ...tag,
899
+ iconClass: `fa ${tag.icon_name}` // e.g. fa fa-check
900
+ }));
901
+ })
902
+ .add(() => {
903
+ this.loading = false;
904
+ this.loaded = true;
905
+ });
906
+ }
907
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceTagComponent, deps: [{ token: i2.TagService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
908
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceTagComponent, selector: "pw-resource-tags", usesInheritance: true, ngImport: i0, template: "<section class=\"tag-section py-5 bg-white\" *ngIf=\"tags?.length\">\n <div class=\"container\">\n <div class=\"row g-4\">\n <div class=\"col-md-3 col-sm-6 mb-4\" *ngFor=\"let tag of tags\">\n <div (click)=\"selectTag(tag)\" class=\"resource-card d-flex align-items-center p-3\" [ngClass]=\"{ 'selected': selectedTag?.name === tag.name }\">\n <i [class]=\"tag.iconClass + ' resource-icon me-3'\"></i>\n <span class=\"resource-text\">{{ tag.name }}</span>\n </div>\n </div>\n </div>\n </div>\n</section>\n", styles: [".selected{border:4px dashed #d4d4d4;border-color:var(--first)!important}.tag-section{padding-top:4.5rem!important}\n", ":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}body{background:#fff}.blog-listing{border:1px solid rgb(238,238,238);cursor:pointer;box-shadow:0 4px 12px #00000026}.all-posts{margin:2.5em auto 0;max-width:980px;padding:14px 20px;width:100%}ul.tags{display:inline-flex;font-size:16px;font-weight:400}ul.tags li{color:#337ab7;cursor:pointer;font-weight:600;margin-right:20px}ul.tags li:hover{color:#000}.search{position:relative}.search input{border:0;border-bottom:1px solid rgb(213,206,206)}.search i{position:absolute;right:5px}.scroll-container{max-height:70vh;overflow-y:auto}.blog-list .blog-listing h4{color:#000;font:28px/1.3 Roboto,sans-serif;transition:all .5s}.blog-list .blog-listing h4:hover{color:#0045c7}.blog-list .blog-listing p.body{color:#b3b3b3;font:16px/1.4 Roboto,sans-serif;transition:all .5s}.blog-list .blog-listing p.body:hover{color:#0045c7}.blog-list .blog-listing p.body p{color:inherit;font:inherit;transition:inherit}.blog-list .blog-listing p.body p:hover{color:#0045c7}.blog-list .blog-listing .list-blog-image img{padding:25px}.blog-list .blog-listing .author .avatar-image{border:1px solid rgb(0,0,0);border-radius:50px;height:50px;clip-path:circle(50% at 50% 50%);width:50px}.blog-list .blog-listing .author .avatar-image img{left:50%;position:relative;top:50%;transform:translate(-50%,-50%)}.blog-list .blog-listing .author .avatar-image .default-user-image{width:50px}.blog-list .blog-listing .author .author-name p.name{color:#000;font:14px/1 Roboto,sans-serif;margin:0;transition:all .5s}.blog-list .blog-listing .author .author-name p.name:hover{color:#0045c7}.blog-list .blog-listing .author .author-name p.name i{color:#000}.blog-list .blog-listing .author .author-name ul li{display:inline-block;padding-right:10px;vertical-align:middle}.blog-list .blog-listing .author .author-name ul li a{color:#b3b3b3;font:12px/1 Roboto,sans-serif}.blog-list .blog-listing .author .share-post{flex-grow:3;position:relative;text-align:right}.blog-list .blog-listing .author .share-post i{color:var(--first)}.blog-list .blog-listing .author .share-post .dropdown-menu{border:0 0;box-shadow:0 3px 8px #0003;left:auto!important;right:0;top:20px!important;transform:translate(0)!important}.blog-list .blog-listing .blog-view{border-top:1px solid rgb(238,238,238)}.blog-list .blog-listing .blog-view ul li{color:#b3b3b3;font:12px/1 Roboto,sans-serif;padding-right:14px}.blog-list .blog-listing .blog-view ul li a{color:inherit;font:inherit;transition:all .5s}.blog-list .blog-listing .blog-view ul li a:hover{color:#0045c7}.blog-list .blog-listing .blog-view ul li:last-child{flex-grow:3;padding-right:0;text-align:right}.blog-list .blog-listing .blog-view ul li:last-child i{color:#e84a43;font-size:14px}@media only screen and (width <= 1024px){.cust-mt{padding:14px 5px}.cust-mt .blog-list .blog-listing h4{font:20px/1.3 Roboto,sans-serif}.cust-mt .blog-list .blog-listing p.body{font:.9rem/1.3 Roboto,sans-serif}.cust-mt .blog-list .blog-listing p.body p{font:inherit}.cust-mt .blog-list .blog-listing .blog-image{height:300px}}@media only screen and (width <= 767px){.blog-list .blog-listing{height:auto;max-height:none;overflow:visible}.blog-list .blog-listing .blog-view{padding-bottom:1rem}}@media (width >= 768px){.blog-list-write-view{position:absolute}.blog-view{bottom:0;width:92%}}.post-body-text:hover{color:var(--titles)!important}.resource-card{border:2px dashed #d4d4d4;border-radius:16px;background-color:#fff;transition:box-shadow .3s ease;cursor:pointer;min-height:95px;padding:1.5rem!important}.resource-card:hover{box-shadow:0 0 30px #00000014}.selected{border:4px dashed #d4d4d4;border-color:var(--first)!important}.resource-icon{font-size:2.5rem;color:var(--first)}.resource-text{font-size:1.4rem;font-weight:500;color:#333;line-height:2rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
909
+ }
910
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceTagComponent, decorators: [{
911
+ type: Component,
912
+ args: [{ selector: 'pw-resource-tags', template: "<section class=\"tag-section py-5 bg-white\" *ngIf=\"tags?.length\">\n <div class=\"container\">\n <div class=\"row g-4\">\n <div class=\"col-md-3 col-sm-6 mb-4\" *ngFor=\"let tag of tags\">\n <div (click)=\"selectTag(tag)\" class=\"resource-card d-flex align-items-center p-3\" [ngClass]=\"{ 'selected': selectedTag?.name === tag.name }\">\n <i [class]=\"tag.iconClass + ' resource-icon me-3'\"></i>\n <span class=\"resource-text\">{{ tag.name }}</span>\n </div>\n </div>\n </div>\n </div>\n</section>\n", styles: [".selected{border:4px dashed #d4d4d4;border-color:var(--first)!important}.tag-section{padding-top:4.5rem!important}\n", ":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}body{background:#fff}.blog-listing{border:1px solid rgb(238,238,238);cursor:pointer;box-shadow:0 4px 12px #00000026}.all-posts{margin:2.5em auto 0;max-width:980px;padding:14px 20px;width:100%}ul.tags{display:inline-flex;font-size:16px;font-weight:400}ul.tags li{color:#337ab7;cursor:pointer;font-weight:600;margin-right:20px}ul.tags li:hover{color:#000}.search{position:relative}.search input{border:0;border-bottom:1px solid rgb(213,206,206)}.search i{position:absolute;right:5px}.scroll-container{max-height:70vh;overflow-y:auto}.blog-list .blog-listing h4{color:#000;font:28px/1.3 Roboto,sans-serif;transition:all .5s}.blog-list .blog-listing h4:hover{color:#0045c7}.blog-list .blog-listing p.body{color:#b3b3b3;font:16px/1.4 Roboto,sans-serif;transition:all .5s}.blog-list .blog-listing p.body:hover{color:#0045c7}.blog-list .blog-listing p.body p{color:inherit;font:inherit;transition:inherit}.blog-list .blog-listing p.body p:hover{color:#0045c7}.blog-list .blog-listing .list-blog-image img{padding:25px}.blog-list .blog-listing .author .avatar-image{border:1px solid rgb(0,0,0);border-radius:50px;height:50px;clip-path:circle(50% at 50% 50%);width:50px}.blog-list .blog-listing .author .avatar-image img{left:50%;position:relative;top:50%;transform:translate(-50%,-50%)}.blog-list .blog-listing .author .avatar-image .default-user-image{width:50px}.blog-list .blog-listing .author .author-name p.name{color:#000;font:14px/1 Roboto,sans-serif;margin:0;transition:all .5s}.blog-list .blog-listing .author .author-name p.name:hover{color:#0045c7}.blog-list .blog-listing .author .author-name p.name i{color:#000}.blog-list .blog-listing .author .author-name ul li{display:inline-block;padding-right:10px;vertical-align:middle}.blog-list .blog-listing .author .author-name ul li a{color:#b3b3b3;font:12px/1 Roboto,sans-serif}.blog-list .blog-listing .author .share-post{flex-grow:3;position:relative;text-align:right}.blog-list .blog-listing .author .share-post i{color:var(--first)}.blog-list .blog-listing .author .share-post .dropdown-menu{border:0 0;box-shadow:0 3px 8px #0003;left:auto!important;right:0;top:20px!important;transform:translate(0)!important}.blog-list .blog-listing .blog-view{border-top:1px solid rgb(238,238,238)}.blog-list .blog-listing .blog-view ul li{color:#b3b3b3;font:12px/1 Roboto,sans-serif;padding-right:14px}.blog-list .blog-listing .blog-view ul li a{color:inherit;font:inherit;transition:all .5s}.blog-list .blog-listing .blog-view ul li a:hover{color:#0045c7}.blog-list .blog-listing .blog-view ul li:last-child{flex-grow:3;padding-right:0;text-align:right}.blog-list .blog-listing .blog-view ul li:last-child i{color:#e84a43;font-size:14px}@media only screen and (width <= 1024px){.cust-mt{padding:14px 5px}.cust-mt .blog-list .blog-listing h4{font:20px/1.3 Roboto,sans-serif}.cust-mt .blog-list .blog-listing p.body{font:.9rem/1.3 Roboto,sans-serif}.cust-mt .blog-list .blog-listing p.body p{font:inherit}.cust-mt .blog-list .blog-listing .blog-image{height:300px}}@media only screen and (width <= 767px){.blog-list .blog-listing{height:auto;max-height:none;overflow:visible}.blog-list .blog-listing .blog-view{padding-bottom:1rem}}@media (width >= 768px){.blog-list-write-view{position:absolute}.blog-view{bottom:0;width:92%}}.post-body-text:hover{color:var(--titles)!important}.resource-card{border:2px dashed #d4d4d4;border-radius:16px;background-color:#fff;transition:box-shadow .3s ease;cursor:pointer;min-height:95px;padding:1.5rem!important}.resource-card:hover{box-shadow:0 0 30px #00000014}.selected{border:4px dashed #d4d4d4;border-color:var(--first)!important}.resource-icon{font-size:2.5rem;color:var(--first)}.resource-text{font-size:1.4rem;font-weight:500;color:#333;line-height:2rem}\n"] }]
913
+ }], ctorParameters: () => [{ type: i2.TagService }, { type: i0.Injector }] });
914
+
915
+ class VaultSectionComponent {
916
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: VaultSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
917
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: VaultSectionComponent, selector: "pw-vault-section", ngImport: i0, template: "<section class=\"vault-section\">\n <div class=\"skewed-bg\"></div>\n <div class=\"container\">\n <div class=\"row align-items-center vault-row\">\n <!-- Left Content -->\n <div class=\"col-lg-6 col-12 text-content\">\n <h2 class=\"headline\">Expand, upskill,<br />bill smarter.</h2>\n <div class=\"description-content\">\n <p class=\"description\">\n Welcome to <strong>The MSP Vault by CloudOlive</strong>. Explore our value-packed collection resources, designed to help you upskill, soak up all the benefits of CloudOlive, and stay ahead in the evolving reseller landscape.\n </p>\n <a class=\"cta-btn\" href=\"/resources#msp-case-studies\">Jump to CloudOlive Solutions</a>\n </div>\n </div>\n\n <!-- Right Content -->\n <div class=\"col-lg-6 col-12 img-wrapper\">\n <img src=\"/assets/img/resource/vault-women.png\" alt=\"Vault Mockup\" class=\"img-fluid\" />\n </div>\n </div>\n </div>\n </section>\n", styles: [".vault-section{background-image:url(/assets/img/resource/resource2.png);background-size:cover;background-repeat:no-repeat;background-position:center;padding:5rem 0;color:#fff;position:relative}.vault-section .container{position:relative;z-index:2}.vault-section .row{min-height:600px;align-items:center}.vault-section .text-content{max-width:550px;height:100%;display:flex;flex-direction:column;justify-content:center}.vault-section .text-content .headline{font-weight:500;color:#fff!important;font-size:4.5rem!important}.vault-section .text-content .description{font-size:2rem;line-height:3rem;font-weight:100;color:#000;margin-bottom:1rem}.vault-section .text-content .description strong{font-weight:700}.vault-section .text-content .cta-btn{display:inline-block;background:var(--text-color, black);color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.vault-section .text-content .cta-btn:hover{background-color:#fff!important;color:var(--text-color, black)!important}.vault-section .img-wrapper{text-align:center}.vault-section .img-wrapper img{max-width:100%;height:auto}@media (width >= 991px){.vault-section img{max-width:100%;height:auto;position:relative;top:11.6rem}.vault-section .description-content{top:26rem;position:absolute;max-width:500px}.vault-section .headline{margin-bottom:21rem!important}}@media (width >= 991px) and (width <= 1100px){.vault-section img{top:12.9rem!important}}@media (width <= 991px){.vault-section .vault-row{text-align:center;justify-content:center}.vault-section img{top:5rem!important;position:relative}}@media (width <= 768px){.vault-section .text-content{text-align:center;margin-bottom:2rem;margin-top:3rem!important}.vault-section .text-content .headline{font-size:3rem!important}.vault-section .text-content .description{font-size:1.5rem;line-height:2rem}}\n"], dependencies: [{ kind: "directive", type: i3.LazyImgDirective, selector: "img" }] }); }
918
+ }
919
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: VaultSectionComponent, decorators: [{
920
+ type: Component,
921
+ args: [{ selector: 'pw-vault-section', template: "<section class=\"vault-section\">\n <div class=\"skewed-bg\"></div>\n <div class=\"container\">\n <div class=\"row align-items-center vault-row\">\n <!-- Left Content -->\n <div class=\"col-lg-6 col-12 text-content\">\n <h2 class=\"headline\">Expand, upskill,<br />bill smarter.</h2>\n <div class=\"description-content\">\n <p class=\"description\">\n Welcome to <strong>The MSP Vault by CloudOlive</strong>. Explore our value-packed collection resources, designed to help you upskill, soak up all the benefits of CloudOlive, and stay ahead in the evolving reseller landscape.\n </p>\n <a class=\"cta-btn\" href=\"/resources#msp-case-studies\">Jump to CloudOlive Solutions</a>\n </div>\n </div>\n\n <!-- Right Content -->\n <div class=\"col-lg-6 col-12 img-wrapper\">\n <img src=\"/assets/img/resource/vault-women.png\" alt=\"Vault Mockup\" class=\"img-fluid\" />\n </div>\n </div>\n </div>\n </section>\n", styles: [".vault-section{background-image:url(/assets/img/resource/resource2.png);background-size:cover;background-repeat:no-repeat;background-position:center;padding:5rem 0;color:#fff;position:relative}.vault-section .container{position:relative;z-index:2}.vault-section .row{min-height:600px;align-items:center}.vault-section .text-content{max-width:550px;height:100%;display:flex;flex-direction:column;justify-content:center}.vault-section .text-content .headline{font-weight:500;color:#fff!important;font-size:4.5rem!important}.vault-section .text-content .description{font-size:2rem;line-height:3rem;font-weight:100;color:#000;margin-bottom:1rem}.vault-section .text-content .description strong{font-weight:700}.vault-section .text-content .cta-btn{display:inline-block;background:var(--text-color, black);color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.vault-section .text-content .cta-btn:hover{background-color:#fff!important;color:var(--text-color, black)!important}.vault-section .img-wrapper{text-align:center}.vault-section .img-wrapper img{max-width:100%;height:auto}@media (width >= 991px){.vault-section img{max-width:100%;height:auto;position:relative;top:11.6rem}.vault-section .description-content{top:26rem;position:absolute;max-width:500px}.vault-section .headline{margin-bottom:21rem!important}}@media (width >= 991px) and (width <= 1100px){.vault-section img{top:12.9rem!important}}@media (width <= 991px){.vault-section .vault-row{text-align:center;justify-content:center}.vault-section img{top:5rem!important;position:relative}}@media (width <= 768px){.vault-section .text-content{text-align:center;margin-bottom:2rem;margin-top:3rem!important}.vault-section .text-content .headline{font-size:3rem!important}.vault-section .text-content .description{font-size:1.5rem;line-height:2rem}}\n"] }]
922
+ }] });
923
+
924
+ class ResourceComponent {
925
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
926
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceComponent, selector: "pw-resources", ngImport: i0, template: "\n<pw-resource-header></pw-resource-header>\n<pw-vault-section></pw-vault-section>\n<pw-resource-tags></pw-resource-tags>\n<pw-resource-video-card [showVideoSection]=\"true\"></pw-resource-video-card>\n<pw-upcoming-event-card [showEventContent]=\"true\"></pw-upcoming-event-card>\n<pw-resource-cards></pw-resource-cards>\n<pw-case-studies-card [showCaseStudyHeader]=\"true\"></pw-case-studies-card>\n<pw-resource--vault [showVaultSection]=\"true\"></pw-resource--vault>\n<pw-resource-note-card [releaseHeader]=\"true\"></pw-resource-note-card>\n<pw-trial-4-contact-us></pw-trial-4-contact-us>", styles: ["::ng-deep .msp-vault-section,::ng-deep .release-notes-section,::ng-deep .resource-section,::ng-deep .vault-section{box-shadow:0 4px 32px -14px #40576d4d!important}::ng-deep .section-heading{font-size:3rem!important;font-weight:300!important;color:#000!important}\n"], dependencies: [{ kind: "component", type: i3$1.Trial4ContactUsComponent, selector: "pw-trial-4-contact-us", inputs: ["subscriptionId", "sourceId", "masterSubscriptionId", "experimentName", "microserviceName"] }, { kind: "component", type: i4.ResourceHeaderComponent, selector: "pw-resource-header" }, { kind: "component", type: ResourceTagComponent, selector: "pw-resource-tags" }, { kind: "component", type: VaultSectionComponent, selector: "pw-vault-section" }, { kind: "component", type: ResourceCardComponent, selector: "pw-resource-cards" }, { kind: "component", type: ResourceNoteCardComponent, selector: "pw-resource-note-card", inputs: ["posts", "releaseHeader"] }, { kind: "component", type: ResourceVaultComponent, selector: "pw-resource--vault", inputs: ["showVaultSection"] }, { kind: "component", type: ResourceVideoCardComponent, selector: "pw-resource-video-card", inputs: ["showVideoSection"] }, { kind: "component", type: UpcomingEventCardComponent, selector: "pw-upcoming-event-card", inputs: ["showEventContent"] }, { kind: "component", type: CaseStudyCardComponent, selector: "pw-case-studies-card", inputs: ["showCaseStudyHeader"] }] }); }
927
+ }
928
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceComponent, decorators: [{
929
+ type: Component,
930
+ args: [{ selector: 'pw-resources', template: "\n<pw-resource-header></pw-resource-header>\n<pw-vault-section></pw-vault-section>\n<pw-resource-tags></pw-resource-tags>\n<pw-resource-video-card [showVideoSection]=\"true\"></pw-resource-video-card>\n<pw-upcoming-event-card [showEventContent]=\"true\"></pw-upcoming-event-card>\n<pw-resource-cards></pw-resource-cards>\n<pw-case-studies-card [showCaseStudyHeader]=\"true\"></pw-case-studies-card>\n<pw-resource--vault [showVaultSection]=\"true\"></pw-resource--vault>\n<pw-resource-note-card [releaseHeader]=\"true\"></pw-resource-note-card>\n<pw-trial-4-contact-us></pw-trial-4-contact-us>", styles: ["::ng-deep .msp-vault-section,::ng-deep .release-notes-section,::ng-deep .resource-section,::ng-deep .vault-section{box-shadow:0 4px 32px -14px #40576d4d!important}::ng-deep .section-heading{font-size:3rem!important;font-weight:300!important;color:#000!important}\n"] }]
931
+ }] });
932
+
933
+ class ResourceHubComponent extends AppBaseComponent {
95
934
  constructor(resourceService, tagService, injector) {
96
935
  super(injector);
97
936
  this.resourceService = resourceService;
@@ -100,10 +939,25 @@ class ResourceListComponent extends AppBaseComponent {
100
939
  this.data = [];
101
940
  this.posts = [];
102
941
  this.tags = [];
942
+ this.selectedTags = [];
943
+ this.currentPage = 1;
944
+ this.pageSize = 20;
945
+ this.objectCount = 0;
103
946
  this.searchTextItems = '';
104
947
  this.searchInput = false;
105
948
  this.loading = true;
106
949
  this.loaded = false;
950
+ this.scrollLocked = false;
951
+ this.iconClasses = [
952
+ 'fa-lightbulb',
953
+ 'fa-rocket',
954
+ 'fa-file-alt',
955
+ 'fa-users',
956
+ 'fa-video',
957
+ 'fa-pencil-alt',
958
+ 'fa-book-open',
959
+ 'fa-cogs'
960
+ ];
107
961
  }
108
962
  ngOnInit() {
109
963
  this.localStorage.getItem$(TOKEN_KEY).subscribe(res => {
@@ -123,30 +977,43 @@ class ResourceListComponent extends AppBaseComponent {
123
977
  this.loading = true;
124
978
  this.loaded = false;
125
979
  forkJoin({
126
- resPosts: this.resourceService.getPublicPosts(this.masterSubscriptionId, 1, 100, this.searchTextItems),
980
+ resPosts: this.resourceService.getPublicPosts(this.masterSubscriptionId, this.currentPage, this.pageSize, this.searchTextItems),
127
981
  resTags: this.tagService.getTagsByType('post_categories', {}, this.subscriptionId || this.masterSubscriptionId)
128
982
  })
129
983
  .subscribe(res => {
130
- // posts
131
984
  this.posts = res?.resPosts?.posts;
985
+ this.objectCount = res?.resPosts.object_count;
132
986
  this.data = res?.resPosts?.posts;
133
987
  this.totalRecords = this.posts?.length;
134
- // tags
135
- this.tags = res?.resTags?.tags;
988
+ this.tags = res?.resTags?.tags?.filter(tag => tag.visible_in_resources);
989
+ this.tags = this.tags.map(tag => ({
990
+ ...tag,
991
+ iconClass: this.getRandomIcon()
992
+ }));
136
993
  })
137
994
  .add(() => {
138
995
  this.loading = false;
139
996
  this.loaded = true;
140
997
  });
141
998
  }
142
- getPosts(page, pageSize) {
143
- this.loading = true;
144
- this.loaded = false;
999
+ getRandomIcon() {
1000
+ const randomIndex = Math.floor(Math.random() * this.iconClasses.length);
1001
+ return 'fa ' + this.iconClasses[randomIndex];
1002
+ }
1003
+ getPosts(page, pageSize, fetchAll = false, append = false) {
1004
+ if (fetchAll)
1005
+ this.selectedTags = [];
1006
+ if (!append) {
1007
+ this.loading = true;
1008
+ this.loaded = false;
1009
+ }
1010
+ const tagCategoryParam = this.selectedTags.map(tag => tag.tag_category_id).join(',');
145
1011
  this.resourceService
146
- .getPublicPosts(this.masterSubscriptionId, page, pageSize, this.searchTextItems)
1012
+ .getPublicPosts(this.masterSubscriptionId, page, append ? 10 : pageSize, this.searchTextItems, tagCategoryParam)
147
1013
  .subscribe(response => {
148
- this.posts = response.posts;
149
- this.data = response.posts;
1014
+ this.objectCount = response.object_count;
1015
+ this.posts = append ? [...this.posts, ...response.posts] : response.posts;
1016
+ this.data = [...this.posts];
150
1017
  this.totalRecords = this.posts?.length;
151
1018
  })
152
1019
  .add(() => {
@@ -154,34 +1021,48 @@ class ResourceListComponent extends AppBaseComponent {
154
1021
  this.loaded = true;
155
1022
  });
156
1023
  }
157
- showSearch(close) {
158
- this.searchInput = !this.searchInput;
159
- if (close) {
160
- this.searchTextItems = '';
161
- this.getPosts(1, 100);
162
- }
163
- }
164
1024
  onSearch(seconds) {
165
1025
  let delay = 0;
166
1026
  delay = seconds * 1000;
167
1027
  clearTimeout(this.delayTimeout);
168
- // wait for timeout before get posts
169
1028
  const delayTimeout = setTimeout(() => {
170
- this.getPosts(1, 100);
1029
+ this.currentPage = 1;
1030
+ this.getPosts(1, this.pageSize);
171
1031
  }, delay);
172
1032
  this.delayTimeout = delayTimeout;
173
1033
  }
1034
+ onWindowScroll() {
1035
+ const scrollPosition = window.scrollY + window.innerHeight;
1036
+ const pageHeight = document.documentElement.scrollHeight;
1037
+ const nearBottom = scrollPosition >= pageHeight - 100;
1038
+ if (nearBottom &&
1039
+ this.posts.length < this.objectCount &&
1040
+ !this.loading &&
1041
+ !this.scrollLocked) {
1042
+ this.scrollLocked = true;
1043
+ this.currentPage += 1;
1044
+ this.getPosts(this.currentPage, this.pageSize, false, true);
1045
+ setTimeout(() => {
1046
+ this.scrollLocked = false;
1047
+ }, 500);
1048
+ }
1049
+ }
1050
+ isSelected(tagId) {
1051
+ return this.selectedTags.map(tag => tag.id).includes(tagId);
1052
+ }
174
1053
  tagPost(selectedTag) {
175
- let filtered;
176
- this.data = [];
177
- this.posts.forEach(element => {
178
- if (element.tags.length > 0) {
179
- filtered = element.tags.filter(tag => tag.id === selectedTag.id);
180
- if (filtered.length > 0) {
181
- this.data.push(element);
182
- }
183
- }
184
- });
1054
+ const index = this.selectedTags.findIndex(tag => tag.tag_category_id === selectedTag.tag_category_id && tag.id === selectedTag.id);
1055
+ if (index === -1) {
1056
+ this.selectedTags.push({
1057
+ tag_category_id: selectedTag.tag_category_id,
1058
+ id: selectedTag.id
1059
+ });
1060
+ }
1061
+ else {
1062
+ this.selectedTags.splice(index, 1);
1063
+ }
1064
+ this.currentPage = 1;
1065
+ this.getPosts(1, this.pageSize);
185
1066
  }
186
1067
  thisPostReadingTime(text) {
187
1068
  if (text) {
@@ -196,13 +1077,16 @@ class ResourceListComponent extends AppBaseComponent {
196
1077
  ngOnDestroy() {
197
1078
  super.ngOnDestroy();
198
1079
  }
199
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceListComponent, deps: [{ token: ResourceService }, { token: i2.TagService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
200
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceListComponent, selector: "pw-posts-list", usesInheritance: true, ngImport: i0, template: "<pw-header/>\n<div class=\"all-posts py-5\">\n <div class=\"row mt-5 mb-4 px-2\">\n <div class=\"col-md-9\">\n <ul class=\"tags\">\n <li (keydown.enter)=\"getPosts(1, 100)\" (click)=\"getPosts(1, 100)\">All Resources</li>\n <li *ngFor=\"let tag of tags\"\n (keydown.enter)=\"tagPost(tag)\"\n (click)=\"tagPost(tag)\">{{ tag.name }}</li>\n </ul>\n </div>\n <div class=\"col-md-3\">\n <div class=\"search\"\n *ngIf=\"searchInput; else searchIcon\">\n <input type=\"text\"\n class=\"w-100\"\n placeholder=\"search...\"\n [(ngModel)]=\"searchTextItems\"\n (keydown.enter)=\"onSearch(0.5)\" />\n <i class=\"fa fa-times\" (click)=\"showSearch('close')\" (keydown.enter)=\"showSearch('close')\" aria-hidden=\"true\"></i>\n </div>\n <ng-template #searchIcon>\n <i\n class=\"fa fa-search w-100 text-end\"\n (click)=\"showSearch('open')\"\n (keydown.enter)=\"showSearch('open')\"\n aria-hidden=\"true\"\n ></i>\n </ng-template>\n </div>\n </div>\n <ng-container *ngIf=\"loading && !loaded\">\n <div class=\"w-100 text-center mt-3\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n </ng-container>\n <ng-container *ngIf=\"posts?.length && !loading\">\n <div class=\"blog-list\">\n <div class=\"row mt-4 ms-1 me-1 blog-listing\"\n *ngFor=\"let post of data\">\n <div class=\"col-md-6 col-sm-12 col-xs-12 my-auto\"\n [routerLink]=\"['/resource', post.slug]\">\n <div class=\"list-blog-image\">\n <img [src]=\"post.picture?.url\"\n alt=\"Post List\"\n class=\"img-fluid\" />\n </div>\n </div>\n <div class=\"col-md-6 col-sm-12 col-xs-12 px-4 position-relative\">\n <div class=\"mt-4\">\n <div class=\"author mb-3 d-flex\">\n <div class=\"avatar-image\">\n <a [attr.disabled]=\"!userLoggedIn\"\n [routerLink]=\"['/members', post?.author?.slug]\">\n <img *ngIf=\"post.author?.avatar\"\n [src]=\"post.author?.avatar[0]?.url\"\n alt=\"Author\" />\n <img *ngIf=\"!post.author?.avatar\"\n src=\"/assets/img/icons/male.png\"\n alt=\"Author\"\n class=\"default-user-image\" />\n </a>\n </div>\n\n <div class=\"author-name ps-2\">\n <a [attr.disabled]=\"!userLoggedIn\"\n [routerLink]=\"['/members', post?.author?.slug]\"\n class=\"name\">\n {{ post.author.first_name }}\n <i class=\"fas fa-crown\" aria-hidden=\"true\"></i></a>\n <ul>\n <li>\n <a href=\"javascript:void(0);\">\n {{ post.published_at | date: 'dd/MM/yyyy' }}\n </a>\n </li>\n <li>.</li>\n <li>\n <a href=\"javascript:void(0);\">{{ thisPostReadingTime(post.body) }}\n </a>\n </li>\n </ul>\n </div>\n <div class=\"share-post\">\n <div class=\"dropdown\">\n <a href=\"#\"\n aria-label=\"Post Menu\"\n id=\"dropdownMenuLink\"\n data-bs-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n (keydown.enter)=\"$event.preventDefault(); $event.target.click()\"\n (keydown.space)=\"$event.preventDefault(); $event.target.click()\"\n aria-expanded=\"false\">\n <i class=\"fas fa-ellipsis-v\" aria-hidden=\"true\"></i>\n </a>\n <div class=\"dropdown-menu\"\n aria-labelledby=\"dropdownMenuLink\">\n <a class=\"dropdown-item\"\n href=\"http://www.facebook.com/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\">\n <i class=\"fas fa-share\" aria-hidden=\"true\"></i> Share Post\n </a>\n </div>\n </div>\n </div>\n </div>\n <h4 [routerLink]=\"['/resource', post.slug]\"\n class=\"title my-3\">{{ post.title }}</h4>\n <p [routerLink]=\"['/resource', post.slug]\"\n class=\"body mb-5 pb-3 post-body-text\">\n {{ post.body | removeHtml: 'quill' | textTruncate: 200 }}\n </p>\n <div class=\"blog-view py-3 blog-list-write-view\">\n <ul class=\"d-flex\">\n <li>{{ post.view !== null ? post.view : '0' }} View</li>\n <li><a [routerLink]=\"['/resource', post.slug]\">Write Comment</a></li>\n <li>\n <a [routerLink]=\"['/resource', post.slug]\" aria-label=\"Blog\"><i class=\"far fa-heart\" aria-hidden=\"true\"></i></a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!posts?.length && loaded\">\n <p>No blog posts available</p>\n </ng-container>\n</div>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}body{background:#fff}.blog-listing{border:1px solid rgb(238,238,238);cursor:pointer}.all-posts{margin:5em auto 0;max-width:980px;padding:14px 20px;width:100%}ul.tags{display:inline-flex;font-size:16px;font-weight:400}ul.tags li{color:#337ab7;cursor:pointer;font-weight:600;margin-right:20px}ul.tags li:hover{color:#000}.search{position:relative}.search input{border:0;border-bottom:1px solid rgb(213,206,206)}.search i{position:absolute;right:5px}.blog-list .blog-listing h4{color:#000;font:28px/1.3 Roboto,sans-serif;transition:all .5s}.blog-list .blog-listing h4:hover{color:#0045c7}.blog-list .blog-listing p.body{color:#b3b3b3;font:16px/1.4 Roboto,sans-serif;transition:all .5s}.blog-list .blog-listing p.body:hover{color:#0045c7}.blog-list .blog-listing p.body p{color:inherit;font:inherit;transition:inherit}.blog-list .blog-listing p.body p:hover{color:#0045c7}.blog-list .blog-listing .list-blog-image img{padding:25px}.blog-list .blog-listing .author .avatar-image{border:1px solid rgb(0,0,0);border-radius:50px;height:50px;clip-path:circle(50% at 50% 50%);width:50px}.blog-list .blog-listing .author .avatar-image img{left:50%;position:relative;top:50%;transform:translate(-50%,-50%)}.blog-list .blog-listing .author .avatar-image .default-user-image{width:50px}.blog-list .blog-listing .author .author-name p.name{color:#000;font:14px/1 Roboto,sans-serif;margin:0;transition:all .5s}.blog-list .blog-listing .author .author-name p.name:hover{color:#0045c7}.blog-list .blog-listing .author .author-name p.name i{color:#000}.blog-list .blog-listing .author .author-name ul li{display:inline-block;padding-right:10px;vertical-align:middle}.blog-list .blog-listing .author .author-name ul li a{color:#b3b3b3;font:12px/1 Roboto,sans-serif}.blog-list .blog-listing .author .share-post{flex-grow:3;position:relative;text-align:right}.blog-list .blog-listing .author .share-post i{color:var(--first)}.blog-list .blog-listing .author .share-post .dropdown-menu{border:0 0;box-shadow:0 3px 8px #0003;left:auto!important;right:0;top:20px!important;transform:translate(0)!important}.blog-list .blog-listing .blog-view{border-top:1px solid rgb(238,238,238)}.blog-list .blog-listing .blog-view ul li{color:#b3b3b3;font:12px/1 Roboto,sans-serif;padding-right:14px}.blog-list .blog-listing .blog-view ul li a{color:inherit;font:inherit;transition:all .5s}.blog-list .blog-listing .blog-view ul li a:hover{color:#0045c7}.blog-list .blog-listing .blog-view ul li:last-child{flex-grow:3;padding-right:0;text-align:right}.blog-list .blog-listing .blog-view ul li:last-child i{color:#e84a43;font-size:14px}@media only screen and (max-width: 1024px){.cust-mt{padding:14px 5px}.cust-mt .blog-list .blog-listing h4{font:20px/1.3 Roboto,sans-serif}.cust-mt .blog-list .blog-listing p.body{font:.9rem/1.3 Roboto,sans-serif}.cust-mt .blog-list .blog-listing p.body p{font:inherit}.cust-mt .blog-list .blog-listing .blog-image{height:300px}}@media only screen and (max-width: 767px){.blog-list .blog-listing{height:auto;max-height:none;overflow:visible}.blog-list .blog-listing .blog-view{padding-bottom:1rem}}@media (min-width: 768px){.blog-list-write-view{position:absolute}.blog-view{bottom:0;width:92%}}.post-body-text:hover{color:var(--titles)!important}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i5.ProgressSpinner, selector: "p-progressSpinner", inputs: ["styleClass", "style", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: i6.HeaderComponent, selector: "pw-header", inputs: ["landing"] }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i9.LazyImgDirective, selector: "img" }, { kind: "pipe", type: i3.DatePipe, name: "date" }, { kind: "pipe", type: i9$1.RemoveHtmlPipe, name: "removeHtml" }, { kind: "pipe", type: i9$1.TextTruncatePipe, name: "textTruncate" }], encapsulation: i0.ViewEncapsulation.None }); }
1080
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceHubComponent, deps: [{ token: ResourceService }, { token: i2.TagService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
1081
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceHubComponent, selector: "pw-posts-list", host: { listeners: { "window:scroll": "onWindowScroll()" } }, usesInheritance: true, ngImport: i0, template: "<pw-resource-header></pw-resource-header>\n<div class=\"all-posts py-5\">\n <div class=\"row mt-1 mb-4 px-2\">\n <div class=\"col-md-9\">\n </div>\n <div class=\"col-md-3\">\n <div class=\"text-end mt-0 mt-sm-3 d-flex\">\n <div class=\"search-wrapper position-relative\">\n <i class=\"fa fa-search search-icon\"></i>\n <input type=\"text\" [(ngModel)]=\"searchTextItems\" pInputText size=\"50\" placeholder=\"Search resources...\"\n (input)=\"onSearch(1)\"\n class=\"search-input\" />\n </div>\n </div>\n </div>\n </div>\n <div class=\"row resource-row\">\n <!-- All Resources Card -->\n <div class=\"col-md-3 col-sm-6 mb-4\">\n <div class=\"resource-card d-flex align-items-center p-3\"\n (keydown.enter)=\"getPosts(1, 20, true)\"\n [ngClass]=\"{ 'selected': selectedTags.length === 0 }\"\n (click)=\"getPosts(1, 20, true)\">\n <i class=\"fa fa-layer-group resource-icon me-3\"></i>\n <span class=\"resource-text\">All Resources</span>\n </div>\n </div>\n\n <!-- Dynamic Tags -->\n <div class=\"col-md-3 col-sm-6 mb-4\"\n *ngFor=\"let tag of tags\">\n <div\n class=\"resource-card d-flex align-items-center p-3\"\n (keydown.enter)=\"tagPost(tag)\"\n [ngClass]=\"{ 'selected': isSelected(tag.id) }\"\n (click)=\"tagPost(tag)\">\n <i class=\"fa\" [ngClass]=\"tag.iconClass + ' resource-icon me-3'\"></i>\n <span class=\"resource-text\">{{ tag.name }}</span>\n </div>\n </div>\n </div>\n <ng-container *ngIf=\"loading && !loaded\">\n <div class=\"w-100 text-center mt-3\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n </ng-container>\n <ng-container *ngIf=\"posts?.length && !loading\">\n <div>\n <div class=\"blog-list\">\n <div class=\"row mt-4 ms-1 me-1 blog-listing\"\n *ngFor=\"let post of data\">\n <div class=\"col-md-6 col-sm-12 col-xs-12 my-auto\"\n [routerLink]=\"['/resources/view', post.slug]\">\n <div class=\"list-blog-image\">\n <img [src]=\"post.picture?.url\"\n alt=\"Post List\"\n class=\"img-fluid\" />\n </div>\n </div>\n <div class=\"col-md-6 col-sm-12 col-xs-12 px-4 position-relative\">\n <div class=\"mt-4\">\n <div class=\"author mb-3 d-flex\">\n <div class=\"avatar-image\">\n <a [attr.disabled]=\"!userLoggedIn\"\n [routerLink]=\"['/members', post?.author?.slug]\">\n <img *ngIf=\"post.author?.avatar\"\n [src]=\"post.author?.avatar[0]?.url\"\n alt=\"Author\" />\n <img *ngIf=\"!post.author?.avatar\"\n src=\"/assets/img/icons/male.png\"\n alt=\"Author\"\n class=\"default-user-image\" />\n </a>\n </div>\n\n <div class=\"author-name ps-2\">\n <a [attr.disabled]=\"!userLoggedIn\"\n [routerLink]=\"['/members', post?.author?.slug]\"\n class=\"name\">\n {{ post.author.first_name }}\n <i class=\"fas fa-crown\" aria-hidden=\"true\"></i></a>\n <ul>\n <li>\n <a href=\"javascript:void(0);\">\n {{ post.published_at | date: 'dd/MM/yyyy' }}\n </a>\n </li>\n <li>.</li>\n <li>\n <a href=\"javascript:void(0);\">{{ thisPostReadingTime(post.body) }}\n </a>\n </li>\n </ul>\n </div>\n <div class=\"share-post\">\n <div class=\"dropdown\">\n <a href=\"#\"\n aria-label=\"Post Menu\"\n id=\"dropdownMenuLink\"\n data-bs-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n (keydown.enter)=\"$event.preventDefault(); $event.target.click()\"\n (keydown.space)=\"$event.preventDefault(); $event.target.click()\"\n aria-expanded=\"false\">\n <i class=\"fas fa-ellipsis-v\" aria-hidden=\"true\"></i>\n </a>\n <div class=\"dropdown-menu\"\n aria-labelledby=\"dropdownMenuLink\">\n <a class=\"dropdown-item\"\n href=\"http://www.facebook.com/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\">\n <i class=\"fas fa-share\" aria-hidden=\"true\"></i> Share Post\n </a>\n </div>\n </div>\n </div>\n </div>\n <h4 [routerLink]=\"['/resources/view', post.slug]\"\n class=\"title my-3\">{{ post.title }}</h4>\n <p [routerLink]=\"['/resources/view', post.slug]\"\n class=\"body mb-5 pb-3 post-body-text\">\n {{ post.body | removeHtml: 'quill' | textTruncate: 200 }}\n </p>\n <div class=\"blog-view py-3 blog-list-write-view\">\n <ul class=\"d-flex\">\n <li>{{ post.view !== null ? post.view : '0' }} View</li>\n <li><a [routerLink]=\"['/resources/view', post.slug]\">Write Comment</a></li>\n <li>\n <a [routerLink]=\"['/resources/view', post.slug]\" aria-label=\"Blog\"><i class=\"far fa-heart\" aria-hidden=\"true\"></i></a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!posts?.length && loaded\">\n <pw-no-data [withImage]=\"true\" message=\"We couldn't find any resources.\" > </pw-no-data>\n </ng-container>\n</div>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}body{background:#fff}.blog-listing{border:1px solid rgb(238,238,238);cursor:pointer;box-shadow:0 4px 12px #00000026}.all-posts{margin:2.5em auto 0;max-width:980px;padding:14px 20px;width:100%}ul.tags{display:inline-flex;font-size:16px;font-weight:400}ul.tags li{color:#337ab7;cursor:pointer;font-weight:600;margin-right:20px}ul.tags li:hover{color:#000}.search{position:relative}.search input{border:0;border-bottom:1px solid rgb(213,206,206)}.search i{position:absolute;right:5px}.scroll-container{max-height:70vh;overflow-y:auto}.blog-list .blog-listing h4{color:#000;font:28px/1.3 Roboto,sans-serif;transition:all .5s}.blog-list .blog-listing h4:hover{color:#0045c7}.blog-list .blog-listing p.body{color:#b3b3b3;font:16px/1.4 Roboto,sans-serif;transition:all .5s}.blog-list .blog-listing p.body:hover{color:#0045c7}.blog-list .blog-listing p.body p{color:inherit;font:inherit;transition:inherit}.blog-list .blog-listing p.body p:hover{color:#0045c7}.blog-list .blog-listing .list-blog-image img{padding:25px}.blog-list .blog-listing .author .avatar-image{border:1px solid rgb(0,0,0);border-radius:50px;height:50px;clip-path:circle(50% at 50% 50%);width:50px}.blog-list .blog-listing .author .avatar-image img{left:50%;position:relative;top:50%;transform:translate(-50%,-50%)}.blog-list .blog-listing .author .avatar-image .default-user-image{width:50px}.blog-list .blog-listing .author .author-name p.name{color:#000;font:14px/1 Roboto,sans-serif;margin:0;transition:all .5s}.blog-list .blog-listing .author .author-name p.name:hover{color:#0045c7}.blog-list .blog-listing .author .author-name p.name i{color:#000}.blog-list .blog-listing .author .author-name ul li{display:inline-block;padding-right:10px;vertical-align:middle}.blog-list .blog-listing .author .author-name ul li a{color:#b3b3b3;font:12px/1 Roboto,sans-serif}.blog-list .blog-listing .author .share-post{flex-grow:3;position:relative;text-align:right}.blog-list .blog-listing .author .share-post i{color:var(--first)}.blog-list .blog-listing .author .share-post .dropdown-menu{border:0 0;box-shadow:0 3px 8px #0003;left:auto!important;right:0;top:20px!important;transform:translate(0)!important}.blog-list .blog-listing .blog-view{border-top:1px solid rgb(238,238,238)}.blog-list .blog-listing .blog-view ul li{color:#b3b3b3;font:12px/1 Roboto,sans-serif;padding-right:14px}.blog-list .blog-listing .blog-view ul li a{color:inherit;font:inherit;transition:all .5s}.blog-list .blog-listing .blog-view ul li a:hover{color:#0045c7}.blog-list .blog-listing .blog-view ul li:last-child{flex-grow:3;padding-right:0;text-align:right}.blog-list .blog-listing .blog-view ul li:last-child i{color:#e84a43;font-size:14px}@media only screen and (width <= 1024px){.cust-mt{padding:14px 5px}.cust-mt .blog-list .blog-listing h4{font:20px/1.3 Roboto,sans-serif}.cust-mt .blog-list .blog-listing p.body{font:.9rem/1.3 Roboto,sans-serif}.cust-mt .blog-list .blog-listing p.body p{font:inherit}.cust-mt .blog-list .blog-listing .blog-image{height:300px}}@media only screen and (width <= 767px){.blog-list .blog-listing{height:auto;max-height:none;overflow:visible}.blog-list .blog-listing .blog-view{padding-bottom:1rem}}@media (width >= 768px){.blog-list-write-view{position:absolute}.blog-view{bottom:0;width:92%}}.post-body-text:hover{color:var(--titles)!important}.resource-card{border:2px dashed #d4d4d4;border-radius:16px;background-color:#fff;transition:box-shadow .3s ease;cursor:pointer;min-height:95px;padding:1.5rem!important}.resource-card:hover{box-shadow:0 0 30px #00000014}.selected{border:4px dashed #d4d4d4;border-color:var(--first)!important}.resource-icon{font-size:2.5rem;color:var(--first)}.resource-text{font-size:1.4rem;font-weight:500;color:#333;line-height:2rem}\n", "input[type=text]{color:#000;border:3px solid #d4d4d4;padding:5px 30px;border-radius:29px}::placeholder{color:#d4d4d4}.vendors-distributor-wrapper{margin-top:5rem!important}.int-span{text-transform:uppercase;font-size:2.5rem;color:var(--first)}.boxes{border:2px dashed #d4d4d4;background-color:#fff;border-radius:16px;padding:20px 30px;height:10rem;flex-direction:column}.search-wrapper{position:relative;width:300px}.search-input{width:100%;padding:10px 20px 10px 40px;border:2px solid #d4d4d4;border-radius:30px;font-size:1rem;color:#000;background-color:#fff}.search-input::placeholder{color:silver}.search-input:focus{outline:none;border-color:var(--first)}.search-icon{position:absolute;top:50%;left:14px;transform:translateY(-50%);color:#d4d4d4;font-size:1.1rem}.vendor-icon{width:100%!important}@media (width <= 768px){.vendor-icon{width:50!important}.search-container{flex-wrap:wrap!important;gap:2rem}.int-span{font-size:1.75rem}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ResourceHeaderComponent, selector: "pw-resource-header" }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i6.ProgressSpinner, selector: "p-progressSpinner", inputs: ["styleClass", "style", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: i4.NoDataComponent, selector: "pw-no-data", inputs: ["message", "description", "withImage"] }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.LazyImgDirective, selector: "img" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "pipe", type: i9$1.RemoveHtmlPipe, name: "removeHtml" }, { kind: "pipe", type: i9$1.TextTruncatePipe, name: "textTruncate" }], encapsulation: i0.ViewEncapsulation.None }); }
201
1082
  }
202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceListComponent, decorators: [{
1083
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceHubComponent, decorators: [{
203
1084
  type: Component,
204
- args: [{ selector: 'pw-posts-list', encapsulation: ViewEncapsulation.None, template: "<pw-header/>\n<div class=\"all-posts py-5\">\n <div class=\"row mt-5 mb-4 px-2\">\n <div class=\"col-md-9\">\n <ul class=\"tags\">\n <li (keydown.enter)=\"getPosts(1, 100)\" (click)=\"getPosts(1, 100)\">All Resources</li>\n <li *ngFor=\"let tag of tags\"\n (keydown.enter)=\"tagPost(tag)\"\n (click)=\"tagPost(tag)\">{{ tag.name }}</li>\n </ul>\n </div>\n <div class=\"col-md-3\">\n <div class=\"search\"\n *ngIf=\"searchInput; else searchIcon\">\n <input type=\"text\"\n class=\"w-100\"\n placeholder=\"search...\"\n [(ngModel)]=\"searchTextItems\"\n (keydown.enter)=\"onSearch(0.5)\" />\n <i class=\"fa fa-times\" (click)=\"showSearch('close')\" (keydown.enter)=\"showSearch('close')\" aria-hidden=\"true\"></i>\n </div>\n <ng-template #searchIcon>\n <i\n class=\"fa fa-search w-100 text-end\"\n (click)=\"showSearch('open')\"\n (keydown.enter)=\"showSearch('open')\"\n aria-hidden=\"true\"\n ></i>\n </ng-template>\n </div>\n </div>\n <ng-container *ngIf=\"loading && !loaded\">\n <div class=\"w-100 text-center mt-3\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n </ng-container>\n <ng-container *ngIf=\"posts?.length && !loading\">\n <div class=\"blog-list\">\n <div class=\"row mt-4 ms-1 me-1 blog-listing\"\n *ngFor=\"let post of data\">\n <div class=\"col-md-6 col-sm-12 col-xs-12 my-auto\"\n [routerLink]=\"['/resource', post.slug]\">\n <div class=\"list-blog-image\">\n <img [src]=\"post.picture?.url\"\n alt=\"Post List\"\n class=\"img-fluid\" />\n </div>\n </div>\n <div class=\"col-md-6 col-sm-12 col-xs-12 px-4 position-relative\">\n <div class=\"mt-4\">\n <div class=\"author mb-3 d-flex\">\n <div class=\"avatar-image\">\n <a [attr.disabled]=\"!userLoggedIn\"\n [routerLink]=\"['/members', post?.author?.slug]\">\n <img *ngIf=\"post.author?.avatar\"\n [src]=\"post.author?.avatar[0]?.url\"\n alt=\"Author\" />\n <img *ngIf=\"!post.author?.avatar\"\n src=\"/assets/img/icons/male.png\"\n alt=\"Author\"\n class=\"default-user-image\" />\n </a>\n </div>\n\n <div class=\"author-name ps-2\">\n <a [attr.disabled]=\"!userLoggedIn\"\n [routerLink]=\"['/members', post?.author?.slug]\"\n class=\"name\">\n {{ post.author.first_name }}\n <i class=\"fas fa-crown\" aria-hidden=\"true\"></i></a>\n <ul>\n <li>\n <a href=\"javascript:void(0);\">\n {{ post.published_at | date: 'dd/MM/yyyy' }}\n </a>\n </li>\n <li>.</li>\n <li>\n <a href=\"javascript:void(0);\">{{ thisPostReadingTime(post.body) }}\n </a>\n </li>\n </ul>\n </div>\n <div class=\"share-post\">\n <div class=\"dropdown\">\n <a href=\"#\"\n aria-label=\"Post Menu\"\n id=\"dropdownMenuLink\"\n data-bs-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n (keydown.enter)=\"$event.preventDefault(); $event.target.click()\"\n (keydown.space)=\"$event.preventDefault(); $event.target.click()\"\n aria-expanded=\"false\">\n <i class=\"fas fa-ellipsis-v\" aria-hidden=\"true\"></i>\n </a>\n <div class=\"dropdown-menu\"\n aria-labelledby=\"dropdownMenuLink\">\n <a class=\"dropdown-item\"\n href=\"http://www.facebook.com/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\">\n <i class=\"fas fa-share\" aria-hidden=\"true\"></i> Share Post\n </a>\n </div>\n </div>\n </div>\n </div>\n <h4 [routerLink]=\"['/resource', post.slug]\"\n class=\"title my-3\">{{ post.title }}</h4>\n <p [routerLink]=\"['/resource', post.slug]\"\n class=\"body mb-5 pb-3 post-body-text\">\n {{ post.body | removeHtml: 'quill' | textTruncate: 200 }}\n </p>\n <div class=\"blog-view py-3 blog-list-write-view\">\n <ul class=\"d-flex\">\n <li>{{ post.view !== null ? post.view : '0' }} View</li>\n <li><a [routerLink]=\"['/resource', post.slug]\">Write Comment</a></li>\n <li>\n <a [routerLink]=\"['/resource', post.slug]\" aria-label=\"Blog\"><i class=\"far fa-heart\" aria-hidden=\"true\"></i></a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!posts?.length && loaded\">\n <p>No blog posts available</p>\n </ng-container>\n</div>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}body{background:#fff}.blog-listing{border:1px solid rgb(238,238,238);cursor:pointer}.all-posts{margin:5em auto 0;max-width:980px;padding:14px 20px;width:100%}ul.tags{display:inline-flex;font-size:16px;font-weight:400}ul.tags li{color:#337ab7;cursor:pointer;font-weight:600;margin-right:20px}ul.tags li:hover{color:#000}.search{position:relative}.search input{border:0;border-bottom:1px solid rgb(213,206,206)}.search i{position:absolute;right:5px}.blog-list .blog-listing h4{color:#000;font:28px/1.3 Roboto,sans-serif;transition:all .5s}.blog-list .blog-listing h4:hover{color:#0045c7}.blog-list .blog-listing p.body{color:#b3b3b3;font:16px/1.4 Roboto,sans-serif;transition:all .5s}.blog-list .blog-listing p.body:hover{color:#0045c7}.blog-list .blog-listing p.body p{color:inherit;font:inherit;transition:inherit}.blog-list .blog-listing p.body p:hover{color:#0045c7}.blog-list .blog-listing .list-blog-image img{padding:25px}.blog-list .blog-listing .author .avatar-image{border:1px solid rgb(0,0,0);border-radius:50px;height:50px;clip-path:circle(50% at 50% 50%);width:50px}.blog-list .blog-listing .author .avatar-image img{left:50%;position:relative;top:50%;transform:translate(-50%,-50%)}.blog-list .blog-listing .author .avatar-image .default-user-image{width:50px}.blog-list .blog-listing .author .author-name p.name{color:#000;font:14px/1 Roboto,sans-serif;margin:0;transition:all .5s}.blog-list .blog-listing .author .author-name p.name:hover{color:#0045c7}.blog-list .blog-listing .author .author-name p.name i{color:#000}.blog-list .blog-listing .author .author-name ul li{display:inline-block;padding-right:10px;vertical-align:middle}.blog-list .blog-listing .author .author-name ul li a{color:#b3b3b3;font:12px/1 Roboto,sans-serif}.blog-list .blog-listing .author .share-post{flex-grow:3;position:relative;text-align:right}.blog-list .blog-listing .author .share-post i{color:var(--first)}.blog-list .blog-listing .author .share-post .dropdown-menu{border:0 0;box-shadow:0 3px 8px #0003;left:auto!important;right:0;top:20px!important;transform:translate(0)!important}.blog-list .blog-listing .blog-view{border-top:1px solid rgb(238,238,238)}.blog-list .blog-listing .blog-view ul li{color:#b3b3b3;font:12px/1 Roboto,sans-serif;padding-right:14px}.blog-list .blog-listing .blog-view ul li a{color:inherit;font:inherit;transition:all .5s}.blog-list .blog-listing .blog-view ul li a:hover{color:#0045c7}.blog-list .blog-listing .blog-view ul li:last-child{flex-grow:3;padding-right:0;text-align:right}.blog-list .blog-listing .blog-view ul li:last-child i{color:#e84a43;font-size:14px}@media only screen and (max-width: 1024px){.cust-mt{padding:14px 5px}.cust-mt .blog-list .blog-listing h4{font:20px/1.3 Roboto,sans-serif}.cust-mt .blog-list .blog-listing p.body{font:.9rem/1.3 Roboto,sans-serif}.cust-mt .blog-list .blog-listing p.body p{font:inherit}.cust-mt .blog-list .blog-listing .blog-image{height:300px}}@media only screen and (max-width: 767px){.blog-list .blog-listing{height:auto;max-height:none;overflow:visible}.blog-list .blog-listing .blog-view{padding-bottom:1rem}}@media (min-width: 768px){.blog-list-write-view{position:absolute}.blog-view{bottom:0;width:92%}}.post-body-text:hover{color:var(--titles)!important}\n"] }]
205
- }], ctorParameters: () => [{ type: ResourceService }, { type: i2.TagService }, { type: i0.Injector }] });
1085
+ args: [{ selector: 'pw-posts-list', encapsulation: ViewEncapsulation.None, template: "<pw-resource-header></pw-resource-header>\n<div class=\"all-posts py-5\">\n <div class=\"row mt-1 mb-4 px-2\">\n <div class=\"col-md-9\">\n </div>\n <div class=\"col-md-3\">\n <div class=\"text-end mt-0 mt-sm-3 d-flex\">\n <div class=\"search-wrapper position-relative\">\n <i class=\"fa fa-search search-icon\"></i>\n <input type=\"text\" [(ngModel)]=\"searchTextItems\" pInputText size=\"50\" placeholder=\"Search resources...\"\n (input)=\"onSearch(1)\"\n class=\"search-input\" />\n </div>\n </div>\n </div>\n </div>\n <div class=\"row resource-row\">\n <!-- All Resources Card -->\n <div class=\"col-md-3 col-sm-6 mb-4\">\n <div class=\"resource-card d-flex align-items-center p-3\"\n (keydown.enter)=\"getPosts(1, 20, true)\"\n [ngClass]=\"{ 'selected': selectedTags.length === 0 }\"\n (click)=\"getPosts(1, 20, true)\">\n <i class=\"fa fa-layer-group resource-icon me-3\"></i>\n <span class=\"resource-text\">All Resources</span>\n </div>\n </div>\n\n <!-- Dynamic Tags -->\n <div class=\"col-md-3 col-sm-6 mb-4\"\n *ngFor=\"let tag of tags\">\n <div\n class=\"resource-card d-flex align-items-center p-3\"\n (keydown.enter)=\"tagPost(tag)\"\n [ngClass]=\"{ 'selected': isSelected(tag.id) }\"\n (click)=\"tagPost(tag)\">\n <i class=\"fa\" [ngClass]=\"tag.iconClass + ' resource-icon me-3'\"></i>\n <span class=\"resource-text\">{{ tag.name }}</span>\n </div>\n </div>\n </div>\n <ng-container *ngIf=\"loading && !loaded\">\n <div class=\"w-100 text-center mt-3\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n </ng-container>\n <ng-container *ngIf=\"posts?.length && !loading\">\n <div>\n <div class=\"blog-list\">\n <div class=\"row mt-4 ms-1 me-1 blog-listing\"\n *ngFor=\"let post of data\">\n <div class=\"col-md-6 col-sm-12 col-xs-12 my-auto\"\n [routerLink]=\"['/resources/view', post.slug]\">\n <div class=\"list-blog-image\">\n <img [src]=\"post.picture?.url\"\n alt=\"Post List\"\n class=\"img-fluid\" />\n </div>\n </div>\n <div class=\"col-md-6 col-sm-12 col-xs-12 px-4 position-relative\">\n <div class=\"mt-4\">\n <div class=\"author mb-3 d-flex\">\n <div class=\"avatar-image\">\n <a [attr.disabled]=\"!userLoggedIn\"\n [routerLink]=\"['/members', post?.author?.slug]\">\n <img *ngIf=\"post.author?.avatar\"\n [src]=\"post.author?.avatar[0]?.url\"\n alt=\"Author\" />\n <img *ngIf=\"!post.author?.avatar\"\n src=\"/assets/img/icons/male.png\"\n alt=\"Author\"\n class=\"default-user-image\" />\n </a>\n </div>\n\n <div class=\"author-name ps-2\">\n <a [attr.disabled]=\"!userLoggedIn\"\n [routerLink]=\"['/members', post?.author?.slug]\"\n class=\"name\">\n {{ post.author.first_name }}\n <i class=\"fas fa-crown\" aria-hidden=\"true\"></i></a>\n <ul>\n <li>\n <a href=\"javascript:void(0);\">\n {{ post.published_at | date: 'dd/MM/yyyy' }}\n </a>\n </li>\n <li>.</li>\n <li>\n <a href=\"javascript:void(0);\">{{ thisPostReadingTime(post.body) }}\n </a>\n </li>\n </ul>\n </div>\n <div class=\"share-post\">\n <div class=\"dropdown\">\n <a href=\"#\"\n aria-label=\"Post Menu\"\n id=\"dropdownMenuLink\"\n data-bs-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n (keydown.enter)=\"$event.preventDefault(); $event.target.click()\"\n (keydown.space)=\"$event.preventDefault(); $event.target.click()\"\n aria-expanded=\"false\">\n <i class=\"fas fa-ellipsis-v\" aria-hidden=\"true\"></i>\n </a>\n <div class=\"dropdown-menu\"\n aria-labelledby=\"dropdownMenuLink\">\n <a class=\"dropdown-item\"\n href=\"http://www.facebook.com/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\">\n <i class=\"fas fa-share\" aria-hidden=\"true\"></i> Share Post\n </a>\n </div>\n </div>\n </div>\n </div>\n <h4 [routerLink]=\"['/resources/view', post.slug]\"\n class=\"title my-3\">{{ post.title }}</h4>\n <p [routerLink]=\"['/resources/view', post.slug]\"\n class=\"body mb-5 pb-3 post-body-text\">\n {{ post.body | removeHtml: 'quill' | textTruncate: 200 }}\n </p>\n <div class=\"blog-view py-3 blog-list-write-view\">\n <ul class=\"d-flex\">\n <li>{{ post.view !== null ? post.view : '0' }} View</li>\n <li><a [routerLink]=\"['/resources/view', post.slug]\">Write Comment</a></li>\n <li>\n <a [routerLink]=\"['/resources/view', post.slug]\" aria-label=\"Blog\"><i class=\"far fa-heart\" aria-hidden=\"true\"></i></a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!posts?.length && loaded\">\n <pw-no-data [withImage]=\"true\" message=\"We couldn't find any resources.\" > </pw-no-data>\n </ng-container>\n</div>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}body{background:#fff}.blog-listing{border:1px solid rgb(238,238,238);cursor:pointer;box-shadow:0 4px 12px #00000026}.all-posts{margin:2.5em auto 0;max-width:980px;padding:14px 20px;width:100%}ul.tags{display:inline-flex;font-size:16px;font-weight:400}ul.tags li{color:#337ab7;cursor:pointer;font-weight:600;margin-right:20px}ul.tags li:hover{color:#000}.search{position:relative}.search input{border:0;border-bottom:1px solid rgb(213,206,206)}.search i{position:absolute;right:5px}.scroll-container{max-height:70vh;overflow-y:auto}.blog-list .blog-listing h4{color:#000;font:28px/1.3 Roboto,sans-serif;transition:all .5s}.blog-list .blog-listing h4:hover{color:#0045c7}.blog-list .blog-listing p.body{color:#b3b3b3;font:16px/1.4 Roboto,sans-serif;transition:all .5s}.blog-list .blog-listing p.body:hover{color:#0045c7}.blog-list .blog-listing p.body p{color:inherit;font:inherit;transition:inherit}.blog-list .blog-listing p.body p:hover{color:#0045c7}.blog-list .blog-listing .list-blog-image img{padding:25px}.blog-list .blog-listing .author .avatar-image{border:1px solid rgb(0,0,0);border-radius:50px;height:50px;clip-path:circle(50% at 50% 50%);width:50px}.blog-list .blog-listing .author .avatar-image img{left:50%;position:relative;top:50%;transform:translate(-50%,-50%)}.blog-list .blog-listing .author .avatar-image .default-user-image{width:50px}.blog-list .blog-listing .author .author-name p.name{color:#000;font:14px/1 Roboto,sans-serif;margin:0;transition:all .5s}.blog-list .blog-listing .author .author-name p.name:hover{color:#0045c7}.blog-list .blog-listing .author .author-name p.name i{color:#000}.blog-list .blog-listing .author .author-name ul li{display:inline-block;padding-right:10px;vertical-align:middle}.blog-list .blog-listing .author .author-name ul li a{color:#b3b3b3;font:12px/1 Roboto,sans-serif}.blog-list .blog-listing .author .share-post{flex-grow:3;position:relative;text-align:right}.blog-list .blog-listing .author .share-post i{color:var(--first)}.blog-list .blog-listing .author .share-post .dropdown-menu{border:0 0;box-shadow:0 3px 8px #0003;left:auto!important;right:0;top:20px!important;transform:translate(0)!important}.blog-list .blog-listing .blog-view{border-top:1px solid rgb(238,238,238)}.blog-list .blog-listing .blog-view ul li{color:#b3b3b3;font:12px/1 Roboto,sans-serif;padding-right:14px}.blog-list .blog-listing .blog-view ul li a{color:inherit;font:inherit;transition:all .5s}.blog-list .blog-listing .blog-view ul li a:hover{color:#0045c7}.blog-list .blog-listing .blog-view ul li:last-child{flex-grow:3;padding-right:0;text-align:right}.blog-list .blog-listing .blog-view ul li:last-child i{color:#e84a43;font-size:14px}@media only screen and (width <= 1024px){.cust-mt{padding:14px 5px}.cust-mt .blog-list .blog-listing h4{font:20px/1.3 Roboto,sans-serif}.cust-mt .blog-list .blog-listing p.body{font:.9rem/1.3 Roboto,sans-serif}.cust-mt .blog-list .blog-listing p.body p{font:inherit}.cust-mt .blog-list .blog-listing .blog-image{height:300px}}@media only screen and (width <= 767px){.blog-list .blog-listing{height:auto;max-height:none;overflow:visible}.blog-list .blog-listing .blog-view{padding-bottom:1rem}}@media (width >= 768px){.blog-list-write-view{position:absolute}.blog-view{bottom:0;width:92%}}.post-body-text:hover{color:var(--titles)!important}.resource-card{border:2px dashed #d4d4d4;border-radius:16px;background-color:#fff;transition:box-shadow .3s ease;cursor:pointer;min-height:95px;padding:1.5rem!important}.resource-card:hover{box-shadow:0 0 30px #00000014}.selected{border:4px dashed #d4d4d4;border-color:var(--first)!important}.resource-icon{font-size:2.5rem;color:var(--first)}.resource-text{font-size:1.4rem;font-weight:500;color:#333;line-height:2rem}\n", "input[type=text]{color:#000;border:3px solid #d4d4d4;padding:5px 30px;border-radius:29px}::placeholder{color:#d4d4d4}.vendors-distributor-wrapper{margin-top:5rem!important}.int-span{text-transform:uppercase;font-size:2.5rem;color:var(--first)}.boxes{border:2px dashed #d4d4d4;background-color:#fff;border-radius:16px;padding:20px 30px;height:10rem;flex-direction:column}.search-wrapper{position:relative;width:300px}.search-input{width:100%;padding:10px 20px 10px 40px;border:2px solid #d4d4d4;border-radius:30px;font-size:1rem;color:#000;background-color:#fff}.search-input::placeholder{color:silver}.search-input:focus{outline:none;border-color:var(--first)}.search-icon{position:absolute;top:50%;left:14px;transform:translateY(-50%);color:#d4d4d4;font-size:1.1rem}.vendor-icon{width:100%!important}@media (width <= 768px){.vendor-icon{width:50!important}.search-container{flex-wrap:wrap!important;gap:2rem}.int-span{font-size:1.75rem}}\n"] }]
1086
+ }], ctorParameters: () => [{ type: ResourceService }, { type: i2.TagService }, { type: i0.Injector }], propDecorators: { onWindowScroll: [{
1087
+ type: HostListener,
1088
+ args: ['window:scroll', []]
1089
+ }] } });
206
1090
 
207
1091
  class ResourceBlog {
208
1092
  static getResourcePostsForm() {
@@ -313,36 +1197,151 @@ class ResourceReadComponent extends AppBaseComponent {
313
1197
  ngOnDestroy() {
314
1198
  super.ngOnDestroy();
315
1199
  }
316
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceReadComponent, deps: [{ token: ResourceService }, { token: i2.CustomToastService }, { token: i0.Injector }, { token: i3$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
317
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceReadComponent, selector: "pw-post-read", usesInheritance: true, ngImport: i0, template: "<pw-header/>\n<div class=\"read-post mt-5 pt-5\">\n <div class=\"show-blog\">\n <div class=\"row\">\n <!-- content -->\n <div class=\"col-12\">\n <ul class=\"d-flex align-items-center mb-4 position-relative\">\n <li>\n <a href=\"javascript:void(0);\">\n <div class=\"avatar-image\">\n <a [attr.disabled]=\"!userLoggedIn\"\n [routerLink]=\"['/members', post?.author?.slug]\">\n <img *ngIf=\"post?.author?.avatar\"\n [src]=\"post?.author?.avatar[0].url\"\n alt=\"author\" />\n <img *ngIf=\"!post?.author?.avatar\"\n height=\"45\"\n width=\"45\"\n src=\"/assets/img/icons/male.png\"\n alt=\"author\" /></a>\n </div>\n </a>\n </li>\n <li>\n <a [attr.disabled]=\"!userLoggedIn\"\n [routerLink]=\"['/members', post?.author?.slug]\"\n class=\"name\">\n {{ post?.author?.first_name }}\n <i class=\"fas fa-crown\" aria-hidden=\"true\"></i></a>\n </li>\n <li>\n <a class=\"text-dark\"\n href=\"javascript:void(0);\">{{\n post?.author.published_at\n }}</a>\n </li>\n <li>.</li>\n <li>\n <a class=\"text-dark\"\n href=\"javascript:void(0);\">\n {{ readingTime(post?.body) }}\n </a>\n </li>\n <li class=\"social-media\">\n <div class=\"share-post\">\n <div class=\"dropdown\">\n <a href=\"#\"\n id=\"dropdownMenuLink2\"\n data-bs-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-label=\"Menu\"\n (keydown.enter)=\"$event.preventDefault(); $event.target.click()\"\n (keydown.space)=\"$event.preventDefault(); $event.target.click()\"\n aria-expanded=\"false\">\n <i class=\"fas fa-ellipsis-v\" aria-hidden=\"true\"></i>\n </a>\n\n <div class=\"dropdown-menu\"\n aria-labelledby=\"dropdownMenuLink2\">\n <a data-bs-toggle=\"modal\"\n data-bs-target=\"#exampleModal\"\n class=\"dropdown-item\"\n href=\"javascript:void(0);\">\n <i class=\"fas fa-share\" aria-hidden=\"true\"></i> Share Post\n </a>\n </div>\n </div>\n </div>\n </li>\n </ul>\n <h2 class=\"mb-3\">{{ post?.title }}</h2>\n <div class=\"ql-snow body-quill\"\n >\n <div class=\"ql-editor body post-body-text\"\n [innerHTML]=\"post?.body\">\n </div>\n </div>\n\n <ul class=\"bottom-social-icons d-flex justify-content-between mt-5 border-top border-bottom py-3\">\n <li class=\"social-media-blog-page\">\n <div class=\"share-post\">\n <div class=\"dropdown\">\n <a href=\"#\"\n aria-label=\"Menu\"\n (keydown.enter)=\"$event.preventDefault(); $event.target.click()\"\n (keydown.space)=\"$event.preventDefault(); $event.target.click()\"\n id=\"dropdownMenuLink\"\n data-bs-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\">\n <i class=\"fas fa-ellipsis-v\" aria-hidden=\"true\"></i>\n </a>\n\n <div class=\"dropdown-menu\"\n aria-labelledby=\"dropdownMenuLink\">\n <a data-bs-toggle=\"modal\"\n data-bs-target=\"#exampleModal\"\n class=\"dropdown-item\"\n href=\"javascript:void(0);\">\n <i class=\"fas fa-share\" aria-hidden=\"true\"></i> Share Post\n </a>\n </div>\n </div>\n </div>\n </li>\n <li>\n <ul>\n <li *ngFor=\"let tag of post?.tags; trackBy: trackByTagId\"\n (keydown.enter)=\"tagPost(tag)\"\n (click)=\"tagPost(tag)\">\n {{ tag.name }}\n </li>\n </ul>\n </li>\n </ul>\n <ul class=\"d-flex justify-content-between mt-3 views\">\n <li>\n <span>{{ post?.view || 0 }} views</span>\n </li>\n <li><i class=\"far fa-heart\" aria-hidden=\"true\"></i></li>\n </ul>\n </div>\n <!--content end -->\n </div>\n <!-- modal for share buttons -->\n <div class=\"modal fade\"\n id=\"exampleModal\"\n tabindex=\"-1\"\n aria-labelledby=\"exampleModalLabel\">\n <div class=\"modal-dialog modal-dialog-centered\" >\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\"\n id=\"exampleModalLabel\">Share the post</h5>\n <button type=\"button\"\n class=\"btn-close float-end\"\n data-dismiss=\"modal\"\n aria-label=\"Close\">\n <span>&times;</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <share-buttons theme=\"material-dark\"\n show=\"7\"></share-buttons>\n </div>\n <div class=\"modal-footer\">\n <button type=\"button\"\n class=\"btn btn-primary\"\n data-dismiss=\"modal\">\n Close\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <!-- recent posts -->\n <div class=\"related-posts mt-5\">\n <ul class=\"d-flex justify-content-between\">\n <li>\n <h5>Recent Resources</h5>\n </li>\n <li><a [routerLink]=\"['/resources']\">See All</a></li>\n </ul>\n <div class=\"row mt-4\">\n <div class=\"col-sm-6 col-md-6 col-lg-4 col-xs-12 mb-2\"\n *ngFor=\"let recentPost of recentPosts; trackBy: trackByRecentPost\">\n <div class=\"recent-post\"\n [routerLink]=\"['/resources', recentPost.slug]\">\n <div class=\"blog-image\">\n <img [src]=\"recentPost.picture.url\"\n alt=\"Resource\" />\n </div>\n <h5 class=\"pt-4 blog-title ps-3 pe-3\">{{ recentPost?.title }}</h5>\n <div class=\"blog-view pt-3 ps-3 pe-3\">\n <p>{{ recentPost.view !== null ? recentPost.view : '0' }} View</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"row mt-5 mb-4\">\n <div class=\"col-12\">\n <form class=\"comments-sec\"\n [formGroup]=\"commentForm\"\n (ngSubmit)=\"onComment()\"\n *ngIf=\"userLoggedIn; else userLoggedOut\">\n <div class=\"col-12 pt-4\">\n <!-- Comment Massage -->\n <pw-input-container label=\"Write a response\"\n name=\"comment\"\n errorMsg=\"Please enter comment\">\n <textarea type=\"text\"\n class=\"form-control\"\n formControlName=\"comment\"></textarea>\n </pw-input-container>\n\n <div class=\"text-end mt-4\">\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"btn btn-primary\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </div>\n </form>\n <ng-template #userLoggedOut>\n <p class=\"text-center pt-3 pb-3 userNotLoggedIn\">\n <a [routerLink]=\"['/login']\">Log in</a>\n to leave a comment!\n </p>\n </ng-template>\n </div>\n </div>\n <div class=\"row mt-5 mb-5\">\n <div class=\"col-12\"\n *ngFor=\"let comment of postComments; trackBy: trackByComment\">\n <div class=\"comment-post mt-2\">\n <img *ngIf=\"comment?.user?.avatar\"\n [src]=\"comment.user?.avatar[0]?.url\"\n alt=\"avatar\"\n width=\"45\"\n height=\"45\"\n class=\"rounded-circle me-3 mb-2\"\n (error)=\"handleImageError($event, 'assets/img/icons/male.png')\" />\n <img *ngIf=\"!comment?.user?.avatar\"\n alt=\"avatar\"\n width=\"45\"\n height=\"45\"\n class=\"rounded-circle me-3 mb-2\"\n src=\"assets/img/icons/male.png\" />\n <small>{{ comment.user?.first_name ? comment.user?.first_name : '' }}\n {{ comment.user?.last_name ? comment.user?.last_name : '' }}\n </small>\n <p>{{ comment.comment }}</p>\n <p class=\"text-end comment-date\">{{ comment.created_at | date: 'dd/MM/yyyy' }}</p>\n </div>\n </div>\n </div>\n</div>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.show-blog,.recent-post{border:1px solid rgb(238,238,238)}.recent-post .blog-image{height:250px;min-height:250px}.recent-post .blog-image img{height:100%;width:100%}.recent-post .blog-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:300px}.recent-post .blog-view{border-top:1px solid rgb(238,238,238)}body{background:#fff}form.comments-sec{background-color:#f7f7f7;border:1px solid rgb(238,238,238)}form.comments-sec .no-padding{padding:0}form.comments-sec button{font-size:16px;margin-bottom:20px;margin-right:20px;padding:10px 25px;text-transform:uppercase}form.comments-sec label{background-color:#eee;color:gray;display:inline-block;margin:0;padding:15px;width:100%}form.comments-sec .mb-3{margin:0;padding:20px}form.comments-sec .mb-3 textarea{border:1px solid rgb(238,238,238);height:150px}.userNotLoggedIn{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.userNotLoggedIn a{color:#4444bc!important}.comment-post{background:#f7f7f7;border:1px solid rgb(238,238,238);padding:20px}.comment-post .comment-date{color:#777;font-size:14px;font-style:italic;margin:0}share-buttons{background-color:#eee;margin-bottom:10px}.read-post{margin:0 auto 20px;max-width:940px;padding-top:20px}.read-post .show-blog{padding:5rem 5rem 3rem}.read-post .show-blog ul li{display:inline-block;padding-right:10px}.read-post .show-blog ul li a{font:13px/1 Roboto,sans-serif}.read-post .show-blog ul li a .avatar-image{border-radius:50px;height:50px;overflow:hidden;width:50px}.read-post .show-blog ul li a .avatar-image i{color:#000}.read-post .show-blog ul li a .avatar-image i,.read-post .show-blog ul li a .avatar-image img{left:50%;position:relative;top:50%;transform:translate(-50%,-50%)}.read-post .show-blog ul li p.name{color:#000;font:14px/1 Roboto,sans-serif;margin:0;transition:all .5s}.read-post .show-blog ul li p.name:hover{color:#0045c7}.read-post .show-blog ul li p.name i{color:#000}.read-post .show-blog ul.views li:nth-child(2) i{color:#e84a43;font-size:14px}.read-post .show-blog ul.bottom-social-icons li:first-child ul li{padding-right:35px}.read-post .show-blog ul.bottom-social-icons li:first-child ul li i{color:#000}.read-post .show-blog ul.bottom-social-icons li:nth-child(2){padding:0}.read-post .show-blog ul.bottom-social-icons li:nth-child(2) ul li{padding-left:30px}.read-post .show-blog ul.bottom-social-icons li:nth-child(2) ul li a{color:#000}.read-post .show-blog .social-media{position:absolute;right:0;top:50%;transform:translateY(-50%)}.read-post .show-blog .social-media .share-post{flex-grow:3;position:relative;text-align:right}.read-post .show-blog .social-media .share-post i{color:var(--first)}.read-post .show-blog .social-media .share-post .dropdown-menu{border:0 none;box-shadow:0 3px 8px #0003;left:auto!important;right:0;top:20px!important;transform:translate(0)!important}.read-post .show-blog .body p img{max-width:100%}.social-media-blog-page a{color:#000}@media only screen and (max-width: 1024px){.read-post{padding:1rem}.read-post .show-blog{padding:.5rem}.read-post .show-blog h2{font-size:30px}}@media only screen and (max-width: 767px){.read-post,.read-post .show-blog{padding:.5rem}.read-post .show-blog ul{flex-wrap:wrap}.read-post .show-blog ul.bottom-social-icons li{width:100%}.read-post .show-blog ul.bottom-social-icons li ul{display:flex;justify-content:space-around;margin:10px 0}.read-post .show-blog ul.bottom-social-icons li ul li{padding:0!important;text-align:center;width:33.333%}.read-post .show-blog ul li{font:12px/1 Roboto,sans-serif;padding-right:5px}.read-post .show-blog ul li a{font:11px/1 Roboto,sans-serif}.read-post .show-blog ul li p.name{font:12px/1 Roboto,sans-serif}.read-post .show-blog h2{font-size:26px}.read-post .show-blog .body p{font-size:.8rem}}.subscribe-btn{background-color:var(--first);color:#fff}.subscribe-btn:hover{background-color:#fff;color:var(--first)}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i6.InputContainerComponent, selector: "pw-input-container", inputs: ["name", "label", "labelClass", "tooltipPosition", "required", "errorMsg", "isReadOnly", "showTooltip", "tooltipText", "showTriangle", "afterLabel", "showAfterLabel", "showTriangleText", "isLeftTooltip"] }, { kind: "component", type: i6.HeaderComponent, selector: "pw-header", inputs: ["landing"] }, { kind: "component", type: i7.ShareButtons, selector: "share-buttons", inputs: ["theme", "include", "exclude", "show", "url", "title", "description", "image", "tags", "redirectUrl", "autoSetMeta", "showIcon", "showText", "disabled"], outputs: ["opened", "closed"] }, { kind: "directive", type: i8.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i8.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i9.ButtonBusyDirective, selector: "[buttonBusy]", inputs: ["buttonBusy", "busyText"] }, { kind: "directive", type: i9.LazyImgDirective, selector: "img" }, { kind: "pipe", type: i3.DatePipe, name: "date" }, { kind: "pipe", type: i10.TranslocoPipe, name: "transloco" }], encapsulation: i0.ViewEncapsulation.None }); }
1200
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceReadComponent, deps: [{ token: ResourceService }, { token: i2.CustomToastService }, { token: i0.Injector }, { token: i1$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
1201
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceReadComponent, selector: "pw-post-read", usesInheritance: true, ngImport: i0, template: "<pw-header/>\n<div class=\"read-post mt-5 pt-5\">\n <div class=\"show-blog\">\n <div class=\"row\">\n <!-- content -->\n <div class=\"col-12\">\n <ul class=\"d-flex align-items-center mb-4 position-relative\">\n <li>\n <a href=\"javascript:void(0);\">\n <div class=\"avatar-image\">\n <a [attr.disabled]=\"!userLoggedIn\"\n [routerLink]=\"['/members', post?.author?.slug]\">\n <img *ngIf=\"post?.author?.avatar\"\n [src]=\"post?.author?.avatar[0].url\"\n alt=\"author\" />\n <img *ngIf=\"!post?.author?.avatar\"\n height=\"45\"\n width=\"45\"\n src=\"/assets/img/icons/male.png\"\n alt=\"author\" /></a>\n </div>\n </a>\n </li>\n <li>\n <a [attr.disabled]=\"!userLoggedIn\"\n [routerLink]=\"['/members', post?.author?.slug]\"\n class=\"name\">\n {{ post?.author?.first_name }}\n <i class=\"fas fa-crown\" aria-hidden=\"true\"></i></a>\n </li>\n <li>\n <a class=\"text-dark\"\n href=\"javascript:void(0);\">{{\n post?.author.published_at\n }}</a>\n </li>\n <li>.</li>\n <li>\n <a class=\"text-dark\"\n href=\"javascript:void(0);\">\n {{ readingTime(post?.body) }}\n </a>\n </li>\n <li class=\"social-media\">\n <div class=\"share-post\">\n <div class=\"dropdown\">\n <a href=\"#\"\n id=\"dropdownMenuLink2\"\n data-bs-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-label=\"Menu\"\n (keydown.enter)=\"$event.preventDefault(); $event.target.click()\"\n (keydown.space)=\"$event.preventDefault(); $event.target.click()\"\n aria-expanded=\"false\">\n <i class=\"fas fa-ellipsis-v\" aria-hidden=\"true\"></i>\n </a>\n\n <div class=\"dropdown-menu\"\n aria-labelledby=\"dropdownMenuLink2\">\n <a data-bs-toggle=\"modal\"\n data-bs-target=\"#exampleModal\"\n class=\"dropdown-item\"\n href=\"javascript:void(0);\">\n <i class=\"fas fa-share\" aria-hidden=\"true\"></i> Share Post\n </a>\n </div>\n </div>\n </div>\n </li>\n </ul>\n <h2 class=\"mb-3\">{{ post?.title }}</h2>\n <div class=\"ql-snow body-quill\"\n >\n <div class=\"ql-editor body post-body-text\"\n [innerHTML]=\"post?.body\">\n </div>\n </div>\n\n <ul class=\"bottom-social-icons d-flex justify-content-between mt-5 border-top border-bottom py-3\">\n <li class=\"social-media-blog-page\">\n <div class=\"share-post\">\n <div class=\"dropdown\">\n <a href=\"#\"\n aria-label=\"Menu\"\n (keydown.enter)=\"$event.preventDefault(); $event.target.click()\"\n (keydown.space)=\"$event.preventDefault(); $event.target.click()\"\n id=\"dropdownMenuLink\"\n data-bs-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\">\n <i class=\"fas fa-ellipsis-v\" aria-hidden=\"true\"></i>\n </a>\n\n <div class=\"dropdown-menu\"\n aria-labelledby=\"dropdownMenuLink\">\n <a data-bs-toggle=\"modal\"\n data-bs-target=\"#exampleModal\"\n class=\"dropdown-item\"\n href=\"javascript:void(0);\">\n <i class=\"fas fa-share\" aria-hidden=\"true\"></i> Share Post\n </a>\n </div>\n </div>\n </div>\n </li>\n <li>\n <ul>\n <li *ngFor=\"let tag of post?.tags; trackBy: trackByTagId\"\n (keydown.enter)=\"tagPost(tag)\"\n (click)=\"tagPost(tag)\">\n {{ tag.name }}\n </li>\n </ul>\n </li>\n </ul>\n <ul class=\"d-flex justify-content-between mt-3 views\">\n <li>\n <span>{{ post?.view || 0 }} views</span>\n </li>\n <li><i class=\"far fa-heart\" aria-hidden=\"true\"></i></li>\n </ul>\n </div>\n <!--content end -->\n </div>\n <!-- modal for share buttons -->\n <div class=\"modal fade\"\n id=\"exampleModal\"\n tabindex=\"-1\"\n aria-labelledby=\"exampleModalLabel\">\n <div class=\"modal-dialog modal-dialog-centered\" >\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\"\n id=\"exampleModalLabel\">Share the post</h5>\n <button type=\"button\"\n class=\"btn-close float-end\"\n data-dismiss=\"modal\"\n aria-label=\"Close\">\n <span>&times;</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <share-buttons theme=\"material-dark\"\n show=\"7\"></share-buttons>\n </div>\n <div class=\"modal-footer\">\n <button type=\"button\"\n class=\"btn btn-primary\"\n data-dismiss=\"modal\">\n Close\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <!-- recent posts -->\n <div class=\"related-posts mt-5\">\n <ul class=\"d-flex justify-content-between\">\n <li>\n <h5>Recent Resources</h5>\n </li>\n <li><a [routerLink]=\"['/resources/view']\">See All</a></li>\n </ul>\n <div class=\"row mt-4\">\n <div class=\"col-sm-6 col-md-6 col-lg-4 col-xs-12 mb-2\"\n *ngFor=\"let recentPost of recentPosts; trackBy: trackByRecentPost\">\n <div class=\"recent-post\"\n [routerLink]=\"['/resources/view', recentPost.slug]\">\n <div class=\"blog-image\">\n <img [src]=\"recentPost.picture.url\"\n alt=\"Resource\" />\n </div>\n <h5 class=\"pt-4 blog-title ps-3 pe-3\">{{ recentPost?.title }}</h5>\n <div class=\"blog-view pt-3 ps-3 pe-3\">\n <p>{{ recentPost.view !== null ? recentPost.view : '0' }} View</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"row mt-5 mb-4\">\n <div class=\"col-12\">\n <form class=\"comments-sec\"\n [formGroup]=\"commentForm\"\n (ngSubmit)=\"onComment()\"\n *ngIf=\"userLoggedIn; else userLoggedOut\">\n <div class=\"col-12 pt-4\">\n <!-- Comment Massage -->\n <pw-input-container label=\"Write a response\"\n name=\"comment\"\n errorMsg=\"Please enter comment\">\n <textarea type=\"text\"\n class=\"form-control\"\n formControlName=\"comment\"></textarea>\n </pw-input-container>\n\n <div class=\"text-end mt-4\">\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"btn btn-primary\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </div>\n </form>\n <ng-template #userLoggedOut>\n <p class=\"text-center pt-3 pb-3 user-not-logged-in\">\n <a [routerLink]=\"['/login']\">Log in</a>\n to leave a comment!\n </p>\n </ng-template>\n </div>\n </div>\n <div class=\"row mt-5 mb-5\">\n <div class=\"col-12\"\n *ngFor=\"let comment of postComments; trackBy: trackByComment\">\n <div class=\"comment-post mt-2\">\n <img *ngIf=\"comment?.user?.avatar\"\n [src]=\"comment.user?.avatar[0]?.url\"\n alt=\"avatar\"\n width=\"45\"\n height=\"45\"\n class=\"rounded-circle me-3 mb-2\"\n (error)=\"handleImageError($event, 'assets/img/icons/male.png')\" />\n <img *ngIf=\"!comment?.user?.avatar\"\n alt=\"avatar\"\n width=\"45\"\n height=\"45\"\n class=\"rounded-circle me-3 mb-2\"\n src=\"assets/img/icons/male.png\" />\n <small>{{ comment.user?.first_name ? comment.user?.first_name : '' }}\n {{ comment.user?.last_name ? comment.user?.last_name : '' }}\n </small>\n <p>{{ comment.comment }}</p>\n <p class=\"text-end comment-date\">{{ comment.created_at | date: 'dd/MM/yyyy' }}</p>\n </div>\n </div>\n </div>\n</div>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.show-blog,.recent-post{border:1px solid rgb(238,238,238)}.recent-post .blog-image{height:250px;min-height:250px}.recent-post .blog-image img{height:100%;width:100%}.recent-post .blog-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:300px}.recent-post .blog-view{border-top:1px solid rgb(238,238,238)}body{background:#fff}form.comments-sec{background-color:#f7f7f7;border:1px solid rgb(238,238,238)}form.comments-sec .no-padding{padding:0}form.comments-sec button{font-size:16px;margin-bottom:20px;margin-right:20px;padding:10px 25px;text-transform:uppercase}form.comments-sec label{background-color:#eee;color:gray;display:inline-block;margin:0;padding:15px;width:100%}form.comments-sec .mb-3{margin:0;padding:20px}form.comments-sec .mb-3 textarea{border:1px solid rgb(238,238,238);height:150px}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:#4444bc!important}.comment-post{background:#f7f7f7;border:1px solid rgb(238,238,238);padding:20px}.comment-post .comment-date{color:#777;font-size:14px;font-style:italic;margin:0}share-buttons{background-color:#eee;margin-bottom:10px}.read-post{margin:0 auto 20px;max-width:940px;padding-top:20px}.read-post .show-blog{padding:5rem 5rem 3rem}.read-post .show-blog ul li{display:inline-block;padding-right:10px}.read-post .show-blog ul li a{font:13px/1 Roboto,sans-serif}.read-post .show-blog ul li a .avatar-image{border-radius:50px;height:50px;overflow:hidden;width:50px}.read-post .show-blog ul li a .avatar-image i{color:#000}.read-post .show-blog ul li a .avatar-image i,.read-post .show-blog ul li a .avatar-image img{left:50%;position:relative;top:50%;transform:translate(-50%,-50%)}.read-post .show-blog ul li p.name{color:#000;font:14px/1 Roboto,sans-serif;margin:0;transition:all .5s}.read-post .show-blog ul li p.name:hover{color:#0045c7}.read-post .show-blog ul li p.name i{color:#000}.read-post .show-blog ul.views li:nth-child(2) i{color:#e84a43;font-size:14px}.read-post .show-blog ul.bottom-social-icons li:first-child ul li{padding-right:35px}.read-post .show-blog ul.bottom-social-icons li:first-child ul li i{color:#000}.read-post .show-blog ul.bottom-social-icons li:nth-child(2){padding:0}.read-post .show-blog ul.bottom-social-icons li:nth-child(2) ul li{padding-left:30px}.read-post .show-blog ul.bottom-social-icons li:nth-child(2) ul li a{color:#000}.read-post .show-blog .social-media{position:absolute;right:0;top:50%;transform:translateY(-50%)}.read-post .show-blog .social-media .share-post{flex-grow:3;position:relative;text-align:right}.read-post .show-blog .social-media .share-post i{color:var(--first)}.read-post .show-blog .social-media .share-post .dropdown-menu{border:0 none;box-shadow:0 3px 8px #0003;left:auto!important;right:0;top:20px!important;transform:translate(0)!important}.read-post .show-blog .body p img{max-width:100%}.social-media-blog-page a{color:#000}@media only screen and (width <= 1024px){.read-post{padding:1rem}.read-post .show-blog{padding:.5rem}.read-post .show-blog h2{font-size:30px}}@media only screen and (width <= 767px){.read-post,.read-post .show-blog{padding:.5rem}.read-post .show-blog ul{flex-wrap:wrap}.read-post .show-blog ul.bottom-social-icons li{width:100%}.read-post .show-blog ul.bottom-social-icons li ul{display:flex;justify-content:space-around;margin:10px 0}.read-post .show-blog ul.bottom-social-icons li ul li{padding:0!important;text-align:center;width:33.333%}.read-post .show-blog ul li{font:12px/1 Roboto,sans-serif;padding-right:5px}.read-post .show-blog ul li a{font:11px/1 Roboto,sans-serif}.read-post .show-blog ul li p.name{font:12px/1 Roboto,sans-serif}.read-post .show-blog h2{font-size:26px}.read-post .show-blog .body p{font-size:.8rem}}.subscribe-btn{background-color:var(--first);color:#fff}.subscribe-btn:hover{background-color:#fff;color:var(--first)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.InputContainerComponent, selector: "pw-input-container", inputs: ["name", "label", "labelClass", "tooltipPosition", "required", "errorMsg", "isReadOnly", "showTooltip", "tooltipText", "showTriangle", "afterLabel", "showAfterLabel", "showTriangleText", "isLeftTooltip"] }, { kind: "component", type: i4.HeaderComponent, selector: "pw-header", inputs: ["landing"] }, { kind: "component", type: i7$1.ShareButtons, selector: "share-buttons", inputs: ["theme", "include", "exclude", "show", "url", "title", "description", "image", "tags", "redirectUrl", "autoSetMeta", "showIcon", "showText", "disabled"], outputs: ["opened", "closed"] }, { kind: "directive", type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.ButtonBusyDirective, selector: "[buttonBusy]", inputs: ["buttonBusy", "busyText"] }, { kind: "directive", type: i3.LazyImgDirective, selector: "img" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "pipe", type: i9.TranslocoPipe, name: "transloco" }], encapsulation: i0.ViewEncapsulation.None }); }
318
1202
  }
319
1203
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceReadComponent, decorators: [{
320
1204
  type: Component,
321
- args: [{ selector: 'pw-post-read', encapsulation: ViewEncapsulation.None, template: "<pw-header/>\n<div class=\"read-post mt-5 pt-5\">\n <div class=\"show-blog\">\n <div class=\"row\">\n <!-- content -->\n <div class=\"col-12\">\n <ul class=\"d-flex align-items-center mb-4 position-relative\">\n <li>\n <a href=\"javascript:void(0);\">\n <div class=\"avatar-image\">\n <a [attr.disabled]=\"!userLoggedIn\"\n [routerLink]=\"['/members', post?.author?.slug]\">\n <img *ngIf=\"post?.author?.avatar\"\n [src]=\"post?.author?.avatar[0].url\"\n alt=\"author\" />\n <img *ngIf=\"!post?.author?.avatar\"\n height=\"45\"\n width=\"45\"\n src=\"/assets/img/icons/male.png\"\n alt=\"author\" /></a>\n </div>\n </a>\n </li>\n <li>\n <a [attr.disabled]=\"!userLoggedIn\"\n [routerLink]=\"['/members', post?.author?.slug]\"\n class=\"name\">\n {{ post?.author?.first_name }}\n <i class=\"fas fa-crown\" aria-hidden=\"true\"></i></a>\n </li>\n <li>\n <a class=\"text-dark\"\n href=\"javascript:void(0);\">{{\n post?.author.published_at\n }}</a>\n </li>\n <li>.</li>\n <li>\n <a class=\"text-dark\"\n href=\"javascript:void(0);\">\n {{ readingTime(post?.body) }}\n </a>\n </li>\n <li class=\"social-media\">\n <div class=\"share-post\">\n <div class=\"dropdown\">\n <a href=\"#\"\n id=\"dropdownMenuLink2\"\n data-bs-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-label=\"Menu\"\n (keydown.enter)=\"$event.preventDefault(); $event.target.click()\"\n (keydown.space)=\"$event.preventDefault(); $event.target.click()\"\n aria-expanded=\"false\">\n <i class=\"fas fa-ellipsis-v\" aria-hidden=\"true\"></i>\n </a>\n\n <div class=\"dropdown-menu\"\n aria-labelledby=\"dropdownMenuLink2\">\n <a data-bs-toggle=\"modal\"\n data-bs-target=\"#exampleModal\"\n class=\"dropdown-item\"\n href=\"javascript:void(0);\">\n <i class=\"fas fa-share\" aria-hidden=\"true\"></i> Share Post\n </a>\n </div>\n </div>\n </div>\n </li>\n </ul>\n <h2 class=\"mb-3\">{{ post?.title }}</h2>\n <div class=\"ql-snow body-quill\"\n >\n <div class=\"ql-editor body post-body-text\"\n [innerHTML]=\"post?.body\">\n </div>\n </div>\n\n <ul class=\"bottom-social-icons d-flex justify-content-between mt-5 border-top border-bottom py-3\">\n <li class=\"social-media-blog-page\">\n <div class=\"share-post\">\n <div class=\"dropdown\">\n <a href=\"#\"\n aria-label=\"Menu\"\n (keydown.enter)=\"$event.preventDefault(); $event.target.click()\"\n (keydown.space)=\"$event.preventDefault(); $event.target.click()\"\n id=\"dropdownMenuLink\"\n data-bs-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\">\n <i class=\"fas fa-ellipsis-v\" aria-hidden=\"true\"></i>\n </a>\n\n <div class=\"dropdown-menu\"\n aria-labelledby=\"dropdownMenuLink\">\n <a data-bs-toggle=\"modal\"\n data-bs-target=\"#exampleModal\"\n class=\"dropdown-item\"\n href=\"javascript:void(0);\">\n <i class=\"fas fa-share\" aria-hidden=\"true\"></i> Share Post\n </a>\n </div>\n </div>\n </div>\n </li>\n <li>\n <ul>\n <li *ngFor=\"let tag of post?.tags; trackBy: trackByTagId\"\n (keydown.enter)=\"tagPost(tag)\"\n (click)=\"tagPost(tag)\">\n {{ tag.name }}\n </li>\n </ul>\n </li>\n </ul>\n <ul class=\"d-flex justify-content-between mt-3 views\">\n <li>\n <span>{{ post?.view || 0 }} views</span>\n </li>\n <li><i class=\"far fa-heart\" aria-hidden=\"true\"></i></li>\n </ul>\n </div>\n <!--content end -->\n </div>\n <!-- modal for share buttons -->\n <div class=\"modal fade\"\n id=\"exampleModal\"\n tabindex=\"-1\"\n aria-labelledby=\"exampleModalLabel\">\n <div class=\"modal-dialog modal-dialog-centered\" >\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\"\n id=\"exampleModalLabel\">Share the post</h5>\n <button type=\"button\"\n class=\"btn-close float-end\"\n data-dismiss=\"modal\"\n aria-label=\"Close\">\n <span>&times;</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <share-buttons theme=\"material-dark\"\n show=\"7\"></share-buttons>\n </div>\n <div class=\"modal-footer\">\n <button type=\"button\"\n class=\"btn btn-primary\"\n data-dismiss=\"modal\">\n Close\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <!-- recent posts -->\n <div class=\"related-posts mt-5\">\n <ul class=\"d-flex justify-content-between\">\n <li>\n <h5>Recent Resources</h5>\n </li>\n <li><a [routerLink]=\"['/resources']\">See All</a></li>\n </ul>\n <div class=\"row mt-4\">\n <div class=\"col-sm-6 col-md-6 col-lg-4 col-xs-12 mb-2\"\n *ngFor=\"let recentPost of recentPosts; trackBy: trackByRecentPost\">\n <div class=\"recent-post\"\n [routerLink]=\"['/resources', recentPost.slug]\">\n <div class=\"blog-image\">\n <img [src]=\"recentPost.picture.url\"\n alt=\"Resource\" />\n </div>\n <h5 class=\"pt-4 blog-title ps-3 pe-3\">{{ recentPost?.title }}</h5>\n <div class=\"blog-view pt-3 ps-3 pe-3\">\n <p>{{ recentPost.view !== null ? recentPost.view : '0' }} View</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"row mt-5 mb-4\">\n <div class=\"col-12\">\n <form class=\"comments-sec\"\n [formGroup]=\"commentForm\"\n (ngSubmit)=\"onComment()\"\n *ngIf=\"userLoggedIn; else userLoggedOut\">\n <div class=\"col-12 pt-4\">\n <!-- Comment Massage -->\n <pw-input-container label=\"Write a response\"\n name=\"comment\"\n errorMsg=\"Please enter comment\">\n <textarea type=\"text\"\n class=\"form-control\"\n formControlName=\"comment\"></textarea>\n </pw-input-container>\n\n <div class=\"text-end mt-4\">\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"btn btn-primary\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </div>\n </form>\n <ng-template #userLoggedOut>\n <p class=\"text-center pt-3 pb-3 userNotLoggedIn\">\n <a [routerLink]=\"['/login']\">Log in</a>\n to leave a comment!\n </p>\n </ng-template>\n </div>\n </div>\n <div class=\"row mt-5 mb-5\">\n <div class=\"col-12\"\n *ngFor=\"let comment of postComments; trackBy: trackByComment\">\n <div class=\"comment-post mt-2\">\n <img *ngIf=\"comment?.user?.avatar\"\n [src]=\"comment.user?.avatar[0]?.url\"\n alt=\"avatar\"\n width=\"45\"\n height=\"45\"\n class=\"rounded-circle me-3 mb-2\"\n (error)=\"handleImageError($event, 'assets/img/icons/male.png')\" />\n <img *ngIf=\"!comment?.user?.avatar\"\n alt=\"avatar\"\n width=\"45\"\n height=\"45\"\n class=\"rounded-circle me-3 mb-2\"\n src=\"assets/img/icons/male.png\" />\n <small>{{ comment.user?.first_name ? comment.user?.first_name : '' }}\n {{ comment.user?.last_name ? comment.user?.last_name : '' }}\n </small>\n <p>{{ comment.comment }}</p>\n <p class=\"text-end comment-date\">{{ comment.created_at | date: 'dd/MM/yyyy' }}</p>\n </div>\n </div>\n </div>\n</div>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.show-blog,.recent-post{border:1px solid rgb(238,238,238)}.recent-post .blog-image{height:250px;min-height:250px}.recent-post .blog-image img{height:100%;width:100%}.recent-post .blog-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:300px}.recent-post .blog-view{border-top:1px solid rgb(238,238,238)}body{background:#fff}form.comments-sec{background-color:#f7f7f7;border:1px solid rgb(238,238,238)}form.comments-sec .no-padding{padding:0}form.comments-sec button{font-size:16px;margin-bottom:20px;margin-right:20px;padding:10px 25px;text-transform:uppercase}form.comments-sec label{background-color:#eee;color:gray;display:inline-block;margin:0;padding:15px;width:100%}form.comments-sec .mb-3{margin:0;padding:20px}form.comments-sec .mb-3 textarea{border:1px solid rgb(238,238,238);height:150px}.userNotLoggedIn{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.userNotLoggedIn a{color:#4444bc!important}.comment-post{background:#f7f7f7;border:1px solid rgb(238,238,238);padding:20px}.comment-post .comment-date{color:#777;font-size:14px;font-style:italic;margin:0}share-buttons{background-color:#eee;margin-bottom:10px}.read-post{margin:0 auto 20px;max-width:940px;padding-top:20px}.read-post .show-blog{padding:5rem 5rem 3rem}.read-post .show-blog ul li{display:inline-block;padding-right:10px}.read-post .show-blog ul li a{font:13px/1 Roboto,sans-serif}.read-post .show-blog ul li a .avatar-image{border-radius:50px;height:50px;overflow:hidden;width:50px}.read-post .show-blog ul li a .avatar-image i{color:#000}.read-post .show-blog ul li a .avatar-image i,.read-post .show-blog ul li a .avatar-image img{left:50%;position:relative;top:50%;transform:translate(-50%,-50%)}.read-post .show-blog ul li p.name{color:#000;font:14px/1 Roboto,sans-serif;margin:0;transition:all .5s}.read-post .show-blog ul li p.name:hover{color:#0045c7}.read-post .show-blog ul li p.name i{color:#000}.read-post .show-blog ul.views li:nth-child(2) i{color:#e84a43;font-size:14px}.read-post .show-blog ul.bottom-social-icons li:first-child ul li{padding-right:35px}.read-post .show-blog ul.bottom-social-icons li:first-child ul li i{color:#000}.read-post .show-blog ul.bottom-social-icons li:nth-child(2){padding:0}.read-post .show-blog ul.bottom-social-icons li:nth-child(2) ul li{padding-left:30px}.read-post .show-blog ul.bottom-social-icons li:nth-child(2) ul li a{color:#000}.read-post .show-blog .social-media{position:absolute;right:0;top:50%;transform:translateY(-50%)}.read-post .show-blog .social-media .share-post{flex-grow:3;position:relative;text-align:right}.read-post .show-blog .social-media .share-post i{color:var(--first)}.read-post .show-blog .social-media .share-post .dropdown-menu{border:0 none;box-shadow:0 3px 8px #0003;left:auto!important;right:0;top:20px!important;transform:translate(0)!important}.read-post .show-blog .body p img{max-width:100%}.social-media-blog-page a{color:#000}@media only screen and (max-width: 1024px){.read-post{padding:1rem}.read-post .show-blog{padding:.5rem}.read-post .show-blog h2{font-size:30px}}@media only screen and (max-width: 767px){.read-post,.read-post .show-blog{padding:.5rem}.read-post .show-blog ul{flex-wrap:wrap}.read-post .show-blog ul.bottom-social-icons li{width:100%}.read-post .show-blog ul.bottom-social-icons li ul{display:flex;justify-content:space-around;margin:10px 0}.read-post .show-blog ul.bottom-social-icons li ul li{padding:0!important;text-align:center;width:33.333%}.read-post .show-blog ul li{font:12px/1 Roboto,sans-serif;padding-right:5px}.read-post .show-blog ul li a{font:11px/1 Roboto,sans-serif}.read-post .show-blog ul li p.name{font:12px/1 Roboto,sans-serif}.read-post .show-blog h2{font-size:26px}.read-post .show-blog .body p{font-size:.8rem}}.subscribe-btn{background-color:var(--first);color:#fff}.subscribe-btn:hover{background-color:#fff;color:var(--first)}\n"] }]
322
- }], ctorParameters: () => [{ type: ResourceService }, { type: i2.CustomToastService }, { type: i0.Injector }, { type: i3$1.DomSanitizer }] });
1205
+ args: [{ selector: 'pw-post-read', encapsulation: ViewEncapsulation.None, template: "<pw-header/>\n<div class=\"read-post mt-5 pt-5\">\n <div class=\"show-blog\">\n <div class=\"row\">\n <!-- content -->\n <div class=\"col-12\">\n <ul class=\"d-flex align-items-center mb-4 position-relative\">\n <li>\n <a href=\"javascript:void(0);\">\n <div class=\"avatar-image\">\n <a [attr.disabled]=\"!userLoggedIn\"\n [routerLink]=\"['/members', post?.author?.slug]\">\n <img *ngIf=\"post?.author?.avatar\"\n [src]=\"post?.author?.avatar[0].url\"\n alt=\"author\" />\n <img *ngIf=\"!post?.author?.avatar\"\n height=\"45\"\n width=\"45\"\n src=\"/assets/img/icons/male.png\"\n alt=\"author\" /></a>\n </div>\n </a>\n </li>\n <li>\n <a [attr.disabled]=\"!userLoggedIn\"\n [routerLink]=\"['/members', post?.author?.slug]\"\n class=\"name\">\n {{ post?.author?.first_name }}\n <i class=\"fas fa-crown\" aria-hidden=\"true\"></i></a>\n </li>\n <li>\n <a class=\"text-dark\"\n href=\"javascript:void(0);\">{{\n post?.author.published_at\n }}</a>\n </li>\n <li>.</li>\n <li>\n <a class=\"text-dark\"\n href=\"javascript:void(0);\">\n {{ readingTime(post?.body) }}\n </a>\n </li>\n <li class=\"social-media\">\n <div class=\"share-post\">\n <div class=\"dropdown\">\n <a href=\"#\"\n id=\"dropdownMenuLink2\"\n data-bs-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-label=\"Menu\"\n (keydown.enter)=\"$event.preventDefault(); $event.target.click()\"\n (keydown.space)=\"$event.preventDefault(); $event.target.click()\"\n aria-expanded=\"false\">\n <i class=\"fas fa-ellipsis-v\" aria-hidden=\"true\"></i>\n </a>\n\n <div class=\"dropdown-menu\"\n aria-labelledby=\"dropdownMenuLink2\">\n <a data-bs-toggle=\"modal\"\n data-bs-target=\"#exampleModal\"\n class=\"dropdown-item\"\n href=\"javascript:void(0);\">\n <i class=\"fas fa-share\" aria-hidden=\"true\"></i> Share Post\n </a>\n </div>\n </div>\n </div>\n </li>\n </ul>\n <h2 class=\"mb-3\">{{ post?.title }}</h2>\n <div class=\"ql-snow body-quill\"\n >\n <div class=\"ql-editor body post-body-text\"\n [innerHTML]=\"post?.body\">\n </div>\n </div>\n\n <ul class=\"bottom-social-icons d-flex justify-content-between mt-5 border-top border-bottom py-3\">\n <li class=\"social-media-blog-page\">\n <div class=\"share-post\">\n <div class=\"dropdown\">\n <a href=\"#\"\n aria-label=\"Menu\"\n (keydown.enter)=\"$event.preventDefault(); $event.target.click()\"\n (keydown.space)=\"$event.preventDefault(); $event.target.click()\"\n id=\"dropdownMenuLink\"\n data-bs-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\">\n <i class=\"fas fa-ellipsis-v\" aria-hidden=\"true\"></i>\n </a>\n\n <div class=\"dropdown-menu\"\n aria-labelledby=\"dropdownMenuLink\">\n <a data-bs-toggle=\"modal\"\n data-bs-target=\"#exampleModal\"\n class=\"dropdown-item\"\n href=\"javascript:void(0);\">\n <i class=\"fas fa-share\" aria-hidden=\"true\"></i> Share Post\n </a>\n </div>\n </div>\n </div>\n </li>\n <li>\n <ul>\n <li *ngFor=\"let tag of post?.tags; trackBy: trackByTagId\"\n (keydown.enter)=\"tagPost(tag)\"\n (click)=\"tagPost(tag)\">\n {{ tag.name }}\n </li>\n </ul>\n </li>\n </ul>\n <ul class=\"d-flex justify-content-between mt-3 views\">\n <li>\n <span>{{ post?.view || 0 }} views</span>\n </li>\n <li><i class=\"far fa-heart\" aria-hidden=\"true\"></i></li>\n </ul>\n </div>\n <!--content end -->\n </div>\n <!-- modal for share buttons -->\n <div class=\"modal fade\"\n id=\"exampleModal\"\n tabindex=\"-1\"\n aria-labelledby=\"exampleModalLabel\">\n <div class=\"modal-dialog modal-dialog-centered\" >\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\"\n id=\"exampleModalLabel\">Share the post</h5>\n <button type=\"button\"\n class=\"btn-close float-end\"\n data-dismiss=\"modal\"\n aria-label=\"Close\">\n <span>&times;</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <share-buttons theme=\"material-dark\"\n show=\"7\"></share-buttons>\n </div>\n <div class=\"modal-footer\">\n <button type=\"button\"\n class=\"btn btn-primary\"\n data-dismiss=\"modal\">\n Close\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <!-- recent posts -->\n <div class=\"related-posts mt-5\">\n <ul class=\"d-flex justify-content-between\">\n <li>\n <h5>Recent Resources</h5>\n </li>\n <li><a [routerLink]=\"['/resources/view']\">See All</a></li>\n </ul>\n <div class=\"row mt-4\">\n <div class=\"col-sm-6 col-md-6 col-lg-4 col-xs-12 mb-2\"\n *ngFor=\"let recentPost of recentPosts; trackBy: trackByRecentPost\">\n <div class=\"recent-post\"\n [routerLink]=\"['/resources/view', recentPost.slug]\">\n <div class=\"blog-image\">\n <img [src]=\"recentPost.picture.url\"\n alt=\"Resource\" />\n </div>\n <h5 class=\"pt-4 blog-title ps-3 pe-3\">{{ recentPost?.title }}</h5>\n <div class=\"blog-view pt-3 ps-3 pe-3\">\n <p>{{ recentPost.view !== null ? recentPost.view : '0' }} View</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"row mt-5 mb-4\">\n <div class=\"col-12\">\n <form class=\"comments-sec\"\n [formGroup]=\"commentForm\"\n (ngSubmit)=\"onComment()\"\n *ngIf=\"userLoggedIn; else userLoggedOut\">\n <div class=\"col-12 pt-4\">\n <!-- Comment Massage -->\n <pw-input-container label=\"Write a response\"\n name=\"comment\"\n errorMsg=\"Please enter comment\">\n <textarea type=\"text\"\n class=\"form-control\"\n formControlName=\"comment\"></textarea>\n </pw-input-container>\n\n <div class=\"text-end mt-4\">\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"btn btn-primary\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </div>\n </form>\n <ng-template #userLoggedOut>\n <p class=\"text-center pt-3 pb-3 user-not-logged-in\">\n <a [routerLink]=\"['/login']\">Log in</a>\n to leave a comment!\n </p>\n </ng-template>\n </div>\n </div>\n <div class=\"row mt-5 mb-5\">\n <div class=\"col-12\"\n *ngFor=\"let comment of postComments; trackBy: trackByComment\">\n <div class=\"comment-post mt-2\">\n <img *ngIf=\"comment?.user?.avatar\"\n [src]=\"comment.user?.avatar[0]?.url\"\n alt=\"avatar\"\n width=\"45\"\n height=\"45\"\n class=\"rounded-circle me-3 mb-2\"\n (error)=\"handleImageError($event, 'assets/img/icons/male.png')\" />\n <img *ngIf=\"!comment?.user?.avatar\"\n alt=\"avatar\"\n width=\"45\"\n height=\"45\"\n class=\"rounded-circle me-3 mb-2\"\n src=\"assets/img/icons/male.png\" />\n <small>{{ comment.user?.first_name ? comment.user?.first_name : '' }}\n {{ comment.user?.last_name ? comment.user?.last_name : '' }}\n </small>\n <p>{{ comment.comment }}</p>\n <p class=\"text-end comment-date\">{{ comment.created_at | date: 'dd/MM/yyyy' }}</p>\n </div>\n </div>\n </div>\n</div>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.show-blog,.recent-post{border:1px solid rgb(238,238,238)}.recent-post .blog-image{height:250px;min-height:250px}.recent-post .blog-image img{height:100%;width:100%}.recent-post .blog-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:300px}.recent-post .blog-view{border-top:1px solid rgb(238,238,238)}body{background:#fff}form.comments-sec{background-color:#f7f7f7;border:1px solid rgb(238,238,238)}form.comments-sec .no-padding{padding:0}form.comments-sec button{font-size:16px;margin-bottom:20px;margin-right:20px;padding:10px 25px;text-transform:uppercase}form.comments-sec label{background-color:#eee;color:gray;display:inline-block;margin:0;padding:15px;width:100%}form.comments-sec .mb-3{margin:0;padding:20px}form.comments-sec .mb-3 textarea{border:1px solid rgb(238,238,238);height:150px}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:#4444bc!important}.comment-post{background:#f7f7f7;border:1px solid rgb(238,238,238);padding:20px}.comment-post .comment-date{color:#777;font-size:14px;font-style:italic;margin:0}share-buttons{background-color:#eee;margin-bottom:10px}.read-post{margin:0 auto 20px;max-width:940px;padding-top:20px}.read-post .show-blog{padding:5rem 5rem 3rem}.read-post .show-blog ul li{display:inline-block;padding-right:10px}.read-post .show-blog ul li a{font:13px/1 Roboto,sans-serif}.read-post .show-blog ul li a .avatar-image{border-radius:50px;height:50px;overflow:hidden;width:50px}.read-post .show-blog ul li a .avatar-image i{color:#000}.read-post .show-blog ul li a .avatar-image i,.read-post .show-blog ul li a .avatar-image img{left:50%;position:relative;top:50%;transform:translate(-50%,-50%)}.read-post .show-blog ul li p.name{color:#000;font:14px/1 Roboto,sans-serif;margin:0;transition:all .5s}.read-post .show-blog ul li p.name:hover{color:#0045c7}.read-post .show-blog ul li p.name i{color:#000}.read-post .show-blog ul.views li:nth-child(2) i{color:#e84a43;font-size:14px}.read-post .show-blog ul.bottom-social-icons li:first-child ul li{padding-right:35px}.read-post .show-blog ul.bottom-social-icons li:first-child ul li i{color:#000}.read-post .show-blog ul.bottom-social-icons li:nth-child(2){padding:0}.read-post .show-blog ul.bottom-social-icons li:nth-child(2) ul li{padding-left:30px}.read-post .show-blog ul.bottom-social-icons li:nth-child(2) ul li a{color:#000}.read-post .show-blog .social-media{position:absolute;right:0;top:50%;transform:translateY(-50%)}.read-post .show-blog .social-media .share-post{flex-grow:3;position:relative;text-align:right}.read-post .show-blog .social-media .share-post i{color:var(--first)}.read-post .show-blog .social-media .share-post .dropdown-menu{border:0 none;box-shadow:0 3px 8px #0003;left:auto!important;right:0;top:20px!important;transform:translate(0)!important}.read-post .show-blog .body p img{max-width:100%}.social-media-blog-page a{color:#000}@media only screen and (width <= 1024px){.read-post{padding:1rem}.read-post .show-blog{padding:.5rem}.read-post .show-blog h2{font-size:30px}}@media only screen and (width <= 767px){.read-post,.read-post .show-blog{padding:.5rem}.read-post .show-blog ul{flex-wrap:wrap}.read-post .show-blog ul.bottom-social-icons li{width:100%}.read-post .show-blog ul.bottom-social-icons li ul{display:flex;justify-content:space-around;margin:10px 0}.read-post .show-blog ul.bottom-social-icons li ul li{padding:0!important;text-align:center;width:33.333%}.read-post .show-blog ul li{font:12px/1 Roboto,sans-serif;padding-right:5px}.read-post .show-blog ul li a{font:11px/1 Roboto,sans-serif}.read-post .show-blog ul li p.name{font:12px/1 Roboto,sans-serif}.read-post .show-blog h2{font-size:26px}.read-post .show-blog .body p{font-size:.8rem}}.subscribe-btn{background-color:var(--first);color:#fff}.subscribe-btn:hover{background-color:#fff;color:var(--first)}\n"] }]
1206
+ }], ctorParameters: () => [{ type: ResourceService }, { type: i2.CustomToastService }, { type: i0.Injector }, { type: i1$1.DomSanitizer }] });
1207
+
1208
+ class WhitePaperComponent extends AppBaseComponent {
1209
+ constructor(resourceService, tagService, injector) {
1210
+ super(injector);
1211
+ this.resourceService = resourceService;
1212
+ this.tagService = tagService;
1213
+ this.posts = [];
1214
+ }
1215
+ ngOnInit() {
1216
+ this.getUserSubscriptionId().subscribe(response => {
1217
+ this.subscriptionId = response;
1218
+ });
1219
+ this.localStorage.getItem$(TOKEN_KEY).subscribe(res => {
1220
+ this.userLoggedIn = !!res;
1221
+ if (this.userLoggedIn) {
1222
+ this.localStorage.getItem$('product').subscribe(res => {
1223
+ const data = res ? JSON.parse(res) : null;
1224
+ this.subscriptionId = data?.subscriptionId;
1225
+ console.log(this.subscriptionId);
1226
+ this.getPostTags();
1227
+ });
1228
+ }
1229
+ });
1230
+ }
1231
+ getPostTags() {
1232
+ this.tagService
1233
+ .getTagsByType('post_categories', {}, this.subscriptionId || this.masterSubscriptionId)
1234
+ .subscribe(response => {
1235
+ this.blogPostTag = response.tags.find(tag => tag.name === 'White Papers');
1236
+ this.getPosts(1, 100);
1237
+ });
1238
+ }
1239
+ getPosts(page, pageSize) {
1240
+ console.log(this.blogPostTag);
1241
+ this.resourceService
1242
+ .getPublicPosts(this.subscriptionId, page, pageSize, '', this.blogPostTag.tag_category_id)
1243
+ .subscribe(response => {
1244
+ console.log(response.posts, this.blogPostTag);
1245
+ this.posts = response.posts
1246
+ .filter(post => post.tags?.some(tag => tag.tag_category_id === this.blogPostTag.tag_category_id))
1247
+ .sort((a, b) => new Date(b.published_at).getTime() - new Date(a.published_at).getTime())
1248
+ .slice(0, 12);
1249
+ });
1250
+ }
1251
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: WhitePaperComponent, deps: [{ token: ResourceService }, { token: i2.TagService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
1252
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: WhitePaperComponent, selector: "pw-resource-blog", usesInheritance: true, ngImport: i0, template: "<pw-resource-header></pw-resource-header>\n\n<section class=\"bg-white pricing-section\">\n <div class=\"nce-banner\">\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\">\n\n <!-- Left Content -->\n <div class=\"text-content\">\n <div class=\"nce-heading\">\n <h1 class=\"nce-header mb-4\">\n Whitepapers & Tools\n <span class=\"blue-text\"></span>\n </h1>\n </div>\n </div>\n\n <!-- Add directly below .text-content, still inside .container -->\n <div class=\"text-extension mt-4\">\n <p class=\"intro\">\n If you like your insights practical and<br>your downloads actually useful - you\u2019re<br>in the right place.\n </p>\n <div class=\"cta-buttons d-flex gap-3 flex-wrap mt-3\">\n <p class=\"intro\">\n From strategy-packed whitepapers to<br>\n ready-to-use guides and quizzes,<br>\n everything here is designed to help<br>\n MSPs sharpen their processes, plug<br>\n profit leaks, and scale with confidence.\n </p>\n </div>\n </div>\n\n <!-- Right Content -->\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <img class=\"nce-math-img\"\n src=\"/assets/img/resource/math.png\"\n alt=\"NCEasy laptop screen\" />\n <img class=\"nce-laptop-img\"\n src=\"/assets/img/resource/white-paper-women.png\"\n alt=\"NCEasy laptop screen\" />\n </div>\n\n </div>\n </div>\n <hr class=\"nce-divider\" />\n</section>\n\n<pw-resource--vault></pw-resource--vault>\n\n<pw-trial-4-contact-us></pw-trial-4-contact-us>\n", styles: [".nce-banner{background-image:url(/assets/img/resource/resource2.png);background-position:center;background-repeat:no-repeat;color:#000}.nce-banner .text-content{max-width:500px;text-align:left;margin-bottom:75rem}.nce-banner .text-content h1{margin-bottom:1.5rem;line-height:1.2}.nce-banner .text-content .intro{font-size:1.2rem;margin:1rem 0;color:#000}.nce-banner .text-content .cta-buttons{margin-top:2rem}.nce-banner .text-content .note{margin-top:1rem;margin-left:5.6rem;font-size:.9rem;color:#555}.nce-banner .nce-header{font-weight:500;color:#fff!important;font-size:4.5rem!important}.nce-banner .blue-text{font-weight:100}@media (width <= 991px){.nce-banner .text-content{margin-top:6.5rem;margin-bottom:0;text-align:center;max-width:360px}.nce-banner .text-content h1{margin-bottom:6.5rem!important}.nce-banner .nce-header{font-size:2.5rem!important}.nce-banner .cta-buttons{margin-top:5rem!important;justify-content:center!important}.nce-banner .note{margin-left:8rem!important}.nce-banner .image-content{position:relative;margin-bottom:3rem;height:230px}.nce-banner .image-content .floating-box{position:absolute;top:25px;left:3rem;transform:translate(-50%) rotate(-10deg);background:#fff;padding:.75rem 1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;z-index:3;display:inline-block;width:auto}.nce-banner .image-content .floating-box img{width:24px;margin-bottom:.4rem}.nce-banner .image-content .floating-box .label{font-size:.75rem;color:#333;margin:0;line-height:1.2}.nce-banner .image-content .floating-box .count{font-size:1.2rem;font-weight:700;color:#000;margin-top:.25rem}.nce-banner .image-content .screen-img{max-width:280px;position:absolute;bottom:0;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003}.nce-banner .image-content .person-img{max-width:170px;width:100%;position:relative;z-index:3;left:13rem;top:-11.35rem}.nce-banner .image-content .nce-laptop-img{max-width:350px;width:100%;position:relative;z-index:3;left:2%;height:auto!important;top:36rem}.nce-banner .image-content .nce-math-img{max-width:300px;width:100%;position:relative;z-index:3;left:15%;top:51rem}}@media (width >= 991px){.nce-banner .text-content{position:absolute;width:760px}.nce-banner .text-extension{max-width:760px;position:absolute;margin-bottom:27rem!important}}.white-content{background:#fff;color:#000}.white-content .intro{font-size:1.2rem;color:#000}.white-content .cta-btn.filled{background-color:#000;color:#fff;padding:1rem 2rem;border-radius:40px;font-size:1.1rem;text-decoration:none;font-weight:500}.white-content .cta-btn.outline{background-color:transparent;border:2px solid #000;color:#000;padding:1rem 2rem;border-radius:40px;font-size:1.1rem;text-decoration:none;font-weight:500}.white-content .note{font-size:.85rem;margin-top:1rem;color:#555}.text-extension{max-width:560px;margin-top:6rem}.text-extension .intro{font-size:2rem;line-height:3rem;font-weight:100;color:#000;margin-bottom:1rem}.text-extension .cta-buttons{margin-top:2rem!important}.text-extension .cta-btn.filled{background-color:#000;color:#fff;padding:1.2rem 2rem;border-radius:40px;font-size:1.6rem;font-weight:500;text-decoration:none}.text-extension .cta-btn.outline{background-color:transparent;border:2px solid #000;color:#000;padding:1.2rem 2rem;border-radius:40px;font-size:1.6rem;font-weight:500;text-decoration:none}.text-extension .note{font-size:1.2rem;color:#000;margin-top:1rem;margin-left:3rem}@media (width >= 991px){.nce-laptop-img{max-width:100%!important;height:auto}.section-outer{padding-top:7rem!important}}@media (width >= 991px) and (width <= 1200px){.pricing-section{height:900px!important}.nce-divider{top:61rem;position:absolute!important}.image-content .nce-laptop-img{top:5rem!important;right:15%;position:relative}.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .nce-math-img{position:relative;bottom:5rem;left:37rem;width:50%}}@media (width >= 704px) and (width <= 768px){.nce-laptop-img{top:27rem!important;left:-15rem!important}}@media (width <= 704px){.nce-laptop-img{top:16rem!important}}@media (width >= 1200px){.nce-divider{top:61rem;position:absolute!important}}@media (width >= 768px) and (width <= 991px){.nce-divider{margin-top:23rem!important}.nce-math-img{top:28rem!important;left:24%}.nce-laptop-img{top:27rem!important;left:-15rem!important}.pricing-section{height:890px!important}.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .nce-laptop-img{height:500px!important;bottom:5rem;right:10%;position:relative;width:63%!important}.image-content .nce-math-img{position:relative;bottom:5rem;left:37rem;width:50%}}@media (width >= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .nce-laptop-img{top:5rem;right:10rem;position:relative}.image-content .nce-math-img{bottom:5rem;left:64rem;position:relative;width:450px!important}}@media (width >= 786px) and (width <= 991px){.text-extension{position:absolute;margin:3rem;margin-top:24rem!important}}@media (width >= 991px){.nce-banner{padding-top:768px;padding-bottom:65px;margin-bottom:1rem;overflow:hidden}.section-fadeout{height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.nce-heading{width:700px!important}::ng-deep .vault-section{max-width:1580px!important;padding-left:48px!important;padding-top:130px!important}::ng-deep .vault-card{width:330px!important;height:410px!important}::ng-deep .vault-btn{width:224px!important}}@media (width <= 991px){.pricing-section{height:1200px}.billing-section{flex-direction:column!important;gap:3rem}.billing-section .billing-section1,.billing-section .billing-section2{width:90%!important}.billing-section .billing-section1{margin-left:1.5rem;margin-top:4rem}.nce-banner{background-image:url(/assets/img/resource/resource2.png)}}@media (width <= 768px){.text-extension{position:absolute;margin:3rem;margin-top:19rem!important}.pricing-section{height:1000px!important}.nce-divider{margin-top:25rem!important}.intro{font-size:1.5rem!important}.nce-math-img{top:30rem!important}.nce-laptop-img{top:16rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}.outer-section-fadeout{top:62rem!important}}\n", "::ng-deep .navbar-nav .nav-item .nav-link{color:#fff!important}.bold{font-weight:700}.nce-heading{margin-bottom:2rem}.nce-note{margin-top:1rem;font-size:.85rem;color:#555}.nce-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}\n", "::ng-deep .ql-editor p{font-size:1.5rem!important;line-height:1.8rem!important;color:#333!important}.msp-vault-section{padding:60px 0;background:#fff}.msp-vault-section .vault-heading{font-size:4.5rem;font-weight:300;color:#000!important}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}.msp-vault-section .vault-card{background-color:#fff;border-radius:30px;box-shadow:0 5px 20px #0000000d;padding:25px;text-align:center;width:338px;height:auto}.msp-vault-section .vault-card h5{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#000!important}.msp-vault-section .vault-card p{font-size:1.5rem;color:#444}.msp-vault-section .vault-card img,.msp-vault-section .vault-card iframe{height:180px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card .vault-btn{background-color:#000!important;margin-top:10px;color:#fff;width:240px;padding:10px 24px;border-radius:24px;border:none;font-size:1.5rem;margin-left:2rem;font-weight:500;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left}.msp-vault-section .vault-card .vault-btn:hover{background-color:#333}@media (width >= 768px) and (width <= 1200px){.resource-title{font-size:1.4rem!important}}textarea{font-size:1.4rem!important}@media (width <= 768px){.resource-title{font-size:1.2rem!important}.container{padding:7rem 3rem 1rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-card{width:100%!important}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){::ng-deep .trial-meeting-section:before{top:600px!important}::ng-deep .dashboard{margin-bottom:1rem!important}section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}section.bg-white.text-center.extra-top-padding:before,section.bg-white.text-center.extra-top-padding:after{content:\"\";position:absolute;background:url(/assets/img/logos/background-banner.png) no-repeat;background-size:contain;width:160px;height:450px;z-index:0;opacity:.8}section.bg-white.text-center.extra-top-padding:before{top:500px;left:0}section.bg-white.text-center.extra-top-padding:after{top:90px;right:0}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 1200px){.resource-card{width:100%!important}.release-notes-section{padding:7rem 0!important}}.resource-section{padding:5rem 0;position:relative}.resource-section .section-heading{font-weight:700;font-size:2.4rem;color:#000}.resource-section .view-all{font-size:1.5rem;font-weight:600;color:#000;text-decoration:none;margin-bottom:2.5rem}.resource-section .view-all:hover{color:var(--first)}.resource-section .resource-card{background:#fff;width:353px;border-radius:30px;padding:3rem;box-shadow:0 20px 40px #00000014;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;height:100%}.resource-section .resource-card .resource-title{font-size:1.5rem;line-height:2rem;font-weight:300;color:#000;margin-bottom:16px;text-align:center;height:3.5rem}.resource-section .resource-card .resource-image{width:100%;height:204px!important;object-fit:cover;border-radius:16px;margin-bottom:20px;margin-top:3.5rem!important}.resource-section .resource-card .read-now-btn{background-color:var(--text-color, black);color:#fff;text-decoration:none;padding:14px 20px;font-size:1.5rem;font-weight:500;border-radius:40px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .3s ease;width:100%;max-width:240px;margin:0 auto;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.resource-section .resource-card .read-now-btn .arrow{font-weight:600;font-size:1.5rem}.resource-section .resource-card .read-now-btn:hover{background:#fff;color:var(--text-color, black)!important}@media (width <= 768px){.resource-section .resource-section .cards-row{gap:3rem;margin-top:3rem!important}.resource-section .section-heading,.resource-section .view-all{width:100%;text-align:center;margin-bottom:1rem}.resource-section .resource-card .read-now-btn{flex-direction:row;justify-content:center;gap:8px}}@media (width >= 768px) and (width <= 1200px){.nce-hero-section{padding:0 6rem!important}.cards-row{justify-content:center}}.resource-body-section{background-color:#fff}.resource-body-section .container{padding:0 1.5rem;padding-bottom:4rem!important;padding-top:7rem!important;max-width:850px;margin:0 auto;text-align:left}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:var(--first)!important;text-decoration:none;font-weight:500}.nce-book-section{background:#fff;padding-top:7rem;padding-bottom:0}.nce-book-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-book-section .nce-contact{line-height:1.6;font-size:1.5rem}.nce-book-section .nce-contact a{text-decoration:underline;color:#000;margin:0 .2rem}.nce-offer-section{background:#fff;padding-top:2rem}.nce-offer-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-offer-section .nce-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.25em!important}.nce-offer-section .nce-title strong{font-weight:700}.nce-offer-section .nce-description{font-size:1.5rem;line-height:1.8rem;color:#333;margin-bottom:1.5rem}.nce-offer-section .nce-offer-list{font-size:1.1rem;line-height:1.5rem;margin-bottom:2.5rem;margin-top:2.5rem}.nce-offer-section .nce-offer-list p{font-size:1.5rem;margin:.5rem 0;font-weight:400}.nce-offer-section .nce-signup{margin-bottom:2.5rem}.nce-offer-section .nce-signup .signup-link{font-size:1.5rem;font-weight:400;text-decoration:underline;color:#000}@media (width <= 768px){.nce-offer-section .nce-book-section{padding-top:5rem!important}.nce-offer-section .container{text-align:left}.nce-offer-section .nce-title{font-size:1.5rem}.nce-offer-section .nce-description,.nce-offer-section .nce-offer-list,.nce-offer-section .nce-signup,.nce-offer-section .signup-link,.nce-offer-section .nce-contact,.nce-offer-section .nce-offer-list p{font-size:1.2rem!important}}.nce-offer-intro{font-size:1.5rem;font-weight:400}.outer-section-fadeout{position:absolute;top:139rem;height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.body-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}@media (width <= 768px){.nce-book-section{padding-top:5rem!important}.nce-contact{font-size:1.2rem!important}}::ng-deep .body-quill{border-width:0!important;max-width:1000px;display:block;margin-left:auto;margin-right:auto}::ng-deep .ql-editor h1{font-size:2rem!important;line-height:2.3rem!important;color:#333!important}::ng-deep .ql-editor li{font-size:1.3rem!important;color:#333!important}::ng-deep .p-inputtextarea{border-radius:.5rem;border-color:#ced4da;font-size:1rem}.card{background-color:#fff;border-radius:12px}.comment-row{gap:2rem;padding-bottom:5rem;max-width:1000px;display:block;margin-left:auto;margin-right:auto}.comment-label{font-size:1.5rem!important}.response-row{max-width:1000px;display:block;margin-left:auto;margin-right:auto;margin-top:6rem!important}\n"], dependencies: [{ kind: "component", type: i3$1.Trial4ContactUsComponent, selector: "pw-trial-4-contact-us", inputs: ["subscriptionId", "sourceId", "masterSubscriptionId", "experimentName", "microserviceName"] }, { kind: "component", type: i4.ResourceHeaderComponent, selector: "pw-resource-header" }, { kind: "directive", type: i3.LazyImgDirective, selector: "img" }, { kind: "component", type: ResourceVaultComponent, selector: "pw-resource--vault", inputs: ["showVaultSection"] }] }); }
1253
+ }
1254
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: WhitePaperComponent, decorators: [{
1255
+ type: Component,
1256
+ args: [{ selector: 'pw-resource-blog', template: "<pw-resource-header></pw-resource-header>\n\n<section class=\"bg-white pricing-section\">\n <div class=\"nce-banner\">\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\">\n\n <!-- Left Content -->\n <div class=\"text-content\">\n <div class=\"nce-heading\">\n <h1 class=\"nce-header mb-4\">\n Whitepapers & Tools\n <span class=\"blue-text\"></span>\n </h1>\n </div>\n </div>\n\n <!-- Add directly below .text-content, still inside .container -->\n <div class=\"text-extension mt-4\">\n <p class=\"intro\">\n If you like your insights practical and<br>your downloads actually useful - you\u2019re<br>in the right place.\n </p>\n <div class=\"cta-buttons d-flex gap-3 flex-wrap mt-3\">\n <p class=\"intro\">\n From strategy-packed whitepapers to<br>\n ready-to-use guides and quizzes,<br>\n everything here is designed to help<br>\n MSPs sharpen their processes, plug<br>\n profit leaks, and scale with confidence.\n </p>\n </div>\n </div>\n\n <!-- Right Content -->\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <img class=\"nce-math-img\"\n src=\"/assets/img/resource/math.png\"\n alt=\"NCEasy laptop screen\" />\n <img class=\"nce-laptop-img\"\n src=\"/assets/img/resource/white-paper-women.png\"\n alt=\"NCEasy laptop screen\" />\n </div>\n\n </div>\n </div>\n <hr class=\"nce-divider\" />\n</section>\n\n<pw-resource--vault></pw-resource--vault>\n\n<pw-trial-4-contact-us></pw-trial-4-contact-us>\n", styles: [".nce-banner{background-image:url(/assets/img/resource/resource2.png);background-position:center;background-repeat:no-repeat;color:#000}.nce-banner .text-content{max-width:500px;text-align:left;margin-bottom:75rem}.nce-banner .text-content h1{margin-bottom:1.5rem;line-height:1.2}.nce-banner .text-content .intro{font-size:1.2rem;margin:1rem 0;color:#000}.nce-banner .text-content .cta-buttons{margin-top:2rem}.nce-banner .text-content .note{margin-top:1rem;margin-left:5.6rem;font-size:.9rem;color:#555}.nce-banner .nce-header{font-weight:500;color:#fff!important;font-size:4.5rem!important}.nce-banner .blue-text{font-weight:100}@media (width <= 991px){.nce-banner .text-content{margin-top:6.5rem;margin-bottom:0;text-align:center;max-width:360px}.nce-banner .text-content h1{margin-bottom:6.5rem!important}.nce-banner .nce-header{font-size:2.5rem!important}.nce-banner .cta-buttons{margin-top:5rem!important;justify-content:center!important}.nce-banner .note{margin-left:8rem!important}.nce-banner .image-content{position:relative;margin-bottom:3rem;height:230px}.nce-banner .image-content .floating-box{position:absolute;top:25px;left:3rem;transform:translate(-50%) rotate(-10deg);background:#fff;padding:.75rem 1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;z-index:3;display:inline-block;width:auto}.nce-banner .image-content .floating-box img{width:24px;margin-bottom:.4rem}.nce-banner .image-content .floating-box .label{font-size:.75rem;color:#333;margin:0;line-height:1.2}.nce-banner .image-content .floating-box .count{font-size:1.2rem;font-weight:700;color:#000;margin-top:.25rem}.nce-banner .image-content .screen-img{max-width:280px;position:absolute;bottom:0;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003}.nce-banner .image-content .person-img{max-width:170px;width:100%;position:relative;z-index:3;left:13rem;top:-11.35rem}.nce-banner .image-content .nce-laptop-img{max-width:350px;width:100%;position:relative;z-index:3;left:2%;height:auto!important;top:36rem}.nce-banner .image-content .nce-math-img{max-width:300px;width:100%;position:relative;z-index:3;left:15%;top:51rem}}@media (width >= 991px){.nce-banner .text-content{position:absolute;width:760px}.nce-banner .text-extension{max-width:760px;position:absolute;margin-bottom:27rem!important}}.white-content{background:#fff;color:#000}.white-content .intro{font-size:1.2rem;color:#000}.white-content .cta-btn.filled{background-color:#000;color:#fff;padding:1rem 2rem;border-radius:40px;font-size:1.1rem;text-decoration:none;font-weight:500}.white-content .cta-btn.outline{background-color:transparent;border:2px solid #000;color:#000;padding:1rem 2rem;border-radius:40px;font-size:1.1rem;text-decoration:none;font-weight:500}.white-content .note{font-size:.85rem;margin-top:1rem;color:#555}.text-extension{max-width:560px;margin-top:6rem}.text-extension .intro{font-size:2rem;line-height:3rem;font-weight:100;color:#000;margin-bottom:1rem}.text-extension .cta-buttons{margin-top:2rem!important}.text-extension .cta-btn.filled{background-color:#000;color:#fff;padding:1.2rem 2rem;border-radius:40px;font-size:1.6rem;font-weight:500;text-decoration:none}.text-extension .cta-btn.outline{background-color:transparent;border:2px solid #000;color:#000;padding:1.2rem 2rem;border-radius:40px;font-size:1.6rem;font-weight:500;text-decoration:none}.text-extension .note{font-size:1.2rem;color:#000;margin-top:1rem;margin-left:3rem}@media (width >= 991px){.nce-laptop-img{max-width:100%!important;height:auto}.section-outer{padding-top:7rem!important}}@media (width >= 991px) and (width <= 1200px){.pricing-section{height:900px!important}.nce-divider{top:61rem;position:absolute!important}.image-content .nce-laptop-img{top:5rem!important;right:15%;position:relative}.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .nce-math-img{position:relative;bottom:5rem;left:37rem;width:50%}}@media (width >= 704px) and (width <= 768px){.nce-laptop-img{top:27rem!important;left:-15rem!important}}@media (width <= 704px){.nce-laptop-img{top:16rem!important}}@media (width >= 1200px){.nce-divider{top:61rem;position:absolute!important}}@media (width >= 768px) and (width <= 991px){.nce-divider{margin-top:23rem!important}.nce-math-img{top:28rem!important;left:24%}.nce-laptop-img{top:27rem!important;left:-15rem!important}.pricing-section{height:890px!important}.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .nce-laptop-img{height:500px!important;bottom:5rem;right:10%;position:relative;width:63%!important}.image-content .nce-math-img{position:relative;bottom:5rem;left:37rem;width:50%}}@media (width >= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .nce-laptop-img{top:5rem;right:10rem;position:relative}.image-content .nce-math-img{bottom:5rem;left:64rem;position:relative;width:450px!important}}@media (width >= 786px) and (width <= 991px){.text-extension{position:absolute;margin:3rem;margin-top:24rem!important}}@media (width >= 991px){.nce-banner{padding-top:768px;padding-bottom:65px;margin-bottom:1rem;overflow:hidden}.section-fadeout{height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.nce-heading{width:700px!important}::ng-deep .vault-section{max-width:1580px!important;padding-left:48px!important;padding-top:130px!important}::ng-deep .vault-card{width:330px!important;height:410px!important}::ng-deep .vault-btn{width:224px!important}}@media (width <= 991px){.pricing-section{height:1200px}.billing-section{flex-direction:column!important;gap:3rem}.billing-section .billing-section1,.billing-section .billing-section2{width:90%!important}.billing-section .billing-section1{margin-left:1.5rem;margin-top:4rem}.nce-banner{background-image:url(/assets/img/resource/resource2.png)}}@media (width <= 768px){.text-extension{position:absolute;margin:3rem;margin-top:19rem!important}.pricing-section{height:1000px!important}.nce-divider{margin-top:25rem!important}.intro{font-size:1.5rem!important}.nce-math-img{top:30rem!important}.nce-laptop-img{top:16rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}.outer-section-fadeout{top:62rem!important}}\n", "::ng-deep .navbar-nav .nav-item .nav-link{color:#fff!important}.bold{font-weight:700}.nce-heading{margin-bottom:2rem}.nce-note{margin-top:1rem;font-size:.85rem;color:#555}.nce-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}\n", "::ng-deep .ql-editor p{font-size:1.5rem!important;line-height:1.8rem!important;color:#333!important}.msp-vault-section{padding:60px 0;background:#fff}.msp-vault-section .vault-heading{font-size:4.5rem;font-weight:300;color:#000!important}.msp-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.msp-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}.msp-vault-section .vault-card{background-color:#fff;border-radius:30px;box-shadow:0 5px 20px #0000000d;padding:25px;text-align:center;width:338px;height:auto}.msp-vault-section .vault-card h5{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#000!important}.msp-vault-section .vault-card p{font-size:1.5rem;color:#444}.msp-vault-section .vault-card img,.msp-vault-section .vault-card iframe{height:180px;border-radius:10px;object-fit:cover}.msp-vault-section .vault-card .vault-btn{background-color:#000!important;margin-top:10px;color:#fff;width:240px;padding:10px 24px;border-radius:24px;border:none;font-size:1.5rem;margin-left:2rem;font-weight:500;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-items:center;text-align:left}.msp-vault-section .vault-card .vault-btn:hover{background-color:#333}@media (width >= 768px) and (width <= 1200px){.resource-title{font-size:1.4rem!important}}textarea{font-size:1.4rem!important}@media (width <= 768px){.resource-title{font-size:1.2rem!important}.container{padding:7rem 3rem 1rem!important}}@media (width >= 768px) and (width <= 1200px){.container{padding:1rem 3rem!important}}@media (width <= 1200px){.msp-vault-section .vault-heading{font-size:3.5rem}.msp-vault-section .vault-description{margin-top:1.35rem}.msp-vault-section .vault-card{width:100%!important}.msp-vault-section .vault-btn{margin-left:0!important;width:100%!important}}@media (width >= 991px){::ng-deep .trial-meeting-section:before{top:600px!important}::ng-deep .dashboard{margin-bottom:1rem!important}section.bg-white.text-center.extra-top-padding{position:relative;overflow:hidden}section.bg-white.text-center.extra-top-padding .banner-header{margin-bottom:4rem!important}section.bg-white.text-center.extra-top-padding:before,section.bg-white.text-center.extra-top-padding:after{content:\"\";position:absolute;background:url(/assets/img/logos/background-banner.png) no-repeat;background-size:contain;width:160px;height:450px;z-index:0;opacity:.8}section.bg-white.text-center.extra-top-padding:before{top:500px;left:0}section.bg-white.text-center.extra-top-padding:after{top:90px;right:0}}.vault-header{text-align:left}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}}@media (width <= 1200px){.resource-card{width:100%!important}.release-notes-section{padding:7rem 0!important}}.resource-section{padding:5rem 0;position:relative}.resource-section .section-heading{font-weight:700;font-size:2.4rem;color:#000}.resource-section .view-all{font-size:1.5rem;font-weight:600;color:#000;text-decoration:none;margin-bottom:2.5rem}.resource-section .view-all:hover{color:var(--first)}.resource-section .resource-card{background:#fff;width:353px;border-radius:30px;padding:3rem;box-shadow:0 20px 40px #00000014;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;height:100%}.resource-section .resource-card .resource-title{font-size:1.5rem;line-height:2rem;font-weight:300;color:#000;margin-bottom:16px;text-align:center;height:3.5rem}.resource-section .resource-card .resource-image{width:100%;height:204px!important;object-fit:cover;border-radius:16px;margin-bottom:20px;margin-top:3.5rem!important}.resource-section .resource-card .read-now-btn{background-color:var(--text-color, black);color:#fff;text-decoration:none;padding:14px 20px;font-size:1.5rem;font-weight:500;border-radius:40px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .3s ease;width:100%;max-width:240px;margin:0 auto;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.resource-section .resource-card .read-now-btn .arrow{font-weight:600;font-size:1.5rem}.resource-section .resource-card .read-now-btn:hover{background:#fff;color:var(--text-color, black)!important}@media (width <= 768px){.resource-section .resource-section .cards-row{gap:3rem;margin-top:3rem!important}.resource-section .section-heading,.resource-section .view-all{width:100%;text-align:center;margin-bottom:1rem}.resource-section .resource-card .read-now-btn{flex-direction:row;justify-content:center;gap:8px}}@media (width >= 768px) and (width <= 1200px){.nce-hero-section{padding:0 6rem!important}.cards-row{justify-content:center}}.resource-body-section{background-color:#fff}.resource-body-section .container{padding:0 1.5rem;padding-bottom:4rem!important;padding-top:7rem!important;max-width:850px;margin:0 auto;text-align:left}.user-not-logged-in{background:#f7f7f7;border:1px solid rgb(238,238,238);font-weight:400}.user-not-logged-in a{color:var(--first)!important;text-decoration:none;font-weight:500}.nce-book-section{background:#fff;padding-top:7rem;padding-bottom:0}.nce-book-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-book-section .nce-contact{line-height:1.6;font-size:1.5rem}.nce-book-section .nce-contact a{text-decoration:underline;color:#000;margin:0 .2rem}.nce-offer-section{background:#fff;padding-top:2rem}.nce-offer-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.nce-offer-section .nce-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.25em!important}.nce-offer-section .nce-title strong{font-weight:700}.nce-offer-section .nce-description{font-size:1.5rem;line-height:1.8rem;color:#333;margin-bottom:1.5rem}.nce-offer-section .nce-offer-list{font-size:1.1rem;line-height:1.5rem;margin-bottom:2.5rem;margin-top:2.5rem}.nce-offer-section .nce-offer-list p{font-size:1.5rem;margin:.5rem 0;font-weight:400}.nce-offer-section .nce-signup{margin-bottom:2.5rem}.nce-offer-section .nce-signup .signup-link{font-size:1.5rem;font-weight:400;text-decoration:underline;color:#000}@media (width <= 768px){.nce-offer-section .nce-book-section{padding-top:5rem!important}.nce-offer-section .container{text-align:left}.nce-offer-section .nce-title{font-size:1.5rem}.nce-offer-section .nce-description,.nce-offer-section .nce-offer-list,.nce-offer-section .nce-signup,.nce-offer-section .signup-link,.nce-offer-section .nce-contact,.nce-offer-section .nce-offer-list p{font-size:1.2rem!important}}.nce-offer-intro{font-size:1.5rem;font-weight:400}.outer-section-fadeout{position:absolute;top:139rem;height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.body-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}@media (width <= 768px){.nce-book-section{padding-top:5rem!important}.nce-contact{font-size:1.2rem!important}}::ng-deep .body-quill{border-width:0!important;max-width:1000px;display:block;margin-left:auto;margin-right:auto}::ng-deep .ql-editor h1{font-size:2rem!important;line-height:2.3rem!important;color:#333!important}::ng-deep .ql-editor li{font-size:1.3rem!important;color:#333!important}::ng-deep .p-inputtextarea{border-radius:.5rem;border-color:#ced4da;font-size:1rem}.card{background-color:#fff;border-radius:12px}.comment-row{gap:2rem;padding-bottom:5rem;max-width:1000px;display:block;margin-left:auto;margin-right:auto}.comment-label{font-size:1.5rem!important}.response-row{max-width:1000px;display:block;margin-left:auto;margin-right:auto;margin-top:6rem!important}\n"] }]
1257
+ }], ctorParameters: () => [{ type: ResourceService }, { type: i2.TagService }, { type: i0.Injector }] });
323
1258
 
324
1259
  // These are the private routes. The public routes and modules needs to be defined in public.routes.ts
325
1260
  const routes = [
326
1261
  {
327
1262
  path: '',
328
- component: ResourceListComponent,
1263
+ component: ResourceComponent,
1264
+ data: {
1265
+ title: 'Resources Library',
1266
+ permission: 'Pages.Blog'
1267
+ }
1268
+ },
1269
+ {
1270
+ path: 'hub',
1271
+ component: ResourceHubComponent,
1272
+ data: {
1273
+ title: 'Resources - Hub',
1274
+ permission: 'Pages.Blog'
1275
+ }
1276
+ },
1277
+ {
1278
+ path: 'blogs',
1279
+ component: ResourceBlogComponent,
1280
+ data: {
1281
+ title: 'Resources - Blogs',
1282
+ permission: 'Pages.Blog'
1283
+ }
1284
+ },
1285
+ {
1286
+ path: 'videos',
1287
+ component: ResourceVideoComponent,
1288
+ data: {
1289
+ title: 'Resources - Videos',
1290
+ permission: 'Pages.Blog'
1291
+ }
1292
+ },
1293
+ {
1294
+ path: 'integrations',
1295
+ component: ResourceIntegrationComponent,
1296
+ data: {
1297
+ title: 'Resources - Integrations',
1298
+ permission: 'Pages.Blog'
1299
+ }
1300
+ },
1301
+ {
1302
+ path: 'release-notes',
1303
+ component: ResourceReleaseNoteComponent,
1304
+ data: {
1305
+ title: 'Resources - Release Notes',
1306
+ permission: 'Pages.Blog'
1307
+ }
1308
+ },
1309
+ {
1310
+ path: 'events',
1311
+ component: ResourceWebinarComponent,
1312
+ data: {
1313
+ title: 'Resources - Events',
1314
+ permission: 'Pages.Blog'
1315
+ }
1316
+ },
1317
+ {
1318
+ path: 'white-papers',
1319
+ component: WhitePaperComponent,
1320
+ data: {
1321
+ title: 'Resources - White Papers',
1322
+ permission: 'Pages.Blog'
1323
+ }
1324
+ },
1325
+ {
1326
+ path: 'case-studies',
1327
+ component: ResourceCaseStudiesComponent,
329
1328
  data: {
330
- title: 'Resource Posts Admin',
1329
+ title: 'Resources - Case Studies',
331
1330
  permission: 'Pages.Blog'
332
1331
  }
333
1332
  },
334
1333
  {
335
- path: ':slug',
336
- component: ResourceReadComponent,
1334
+ path: 'view/:slug',
1335
+ component: ResourcePostComponent,
337
1336
  data: {
338
- title: 'Resource Post Admin',
1337
+ title: 'Resources - Post',
339
1338
  permission: 'Pages.Blog'
340
1339
  }
341
1340
  }
342
1341
  ];
343
1342
  class BlogPublicRoutingModule {
344
1343
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: BlogPublicRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
345
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: BlogPublicRoutingModule, imports: [i4.RouterModule], exports: [RouterModule] }); }
1344
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: BlogPublicRoutingModule, imports: [i2$1.RouterModule], exports: [RouterModule] }); }
346
1345
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: BlogPublicRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
347
1346
  }
348
1347
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: BlogPublicRoutingModule, decorators: [{
@@ -355,28 +1354,56 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
355
1354
 
356
1355
  class ResourcePublicModule {
357
1356
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourcePublicModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
358
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: ResourcePublicModule, declarations: [ResourceListComponent, ResourceReadComponent], imports: [CommonModule,
1357
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: ResourcePublicModule, declarations: [ResourceHubComponent,
1358
+ ResourceTagComponent,
1359
+ ResourceReadComponent,
1360
+ VaultSectionComponent,
1361
+ ResourceComponent,
1362
+ ResourcePostComponent,
1363
+ RelatedResourcesComponent,
1364
+ ResourceCardComponent,
1365
+ ResourcePostDetailsComponent,
1366
+ ResourceBlogComponent,
1367
+ ResourceVideoComponent,
1368
+ ResourceIntegrationComponent,
1369
+ ResourceReleaseNoteComponent,
1370
+ ResourceWebinarComponent,
1371
+ WhitePaperComponent,
1372
+ ResourceCaseStudiesComponent,
1373
+ ResourceCardListComponent,
1374
+ TestimonialCardListComponent,
1375
+ ResourceNoteCardComponent,
1376
+ ResourceCompanyCardComponent,
1377
+ ResourceVaultComponent,
1378
+ ResourceVideoCardComponent,
1379
+ UpcomingEventCardComponent,
1380
+ ReplayEventCardComponent,
1381
+ CaseStudyCardComponent], imports: [CommonModule,
359
1382
  PipesModule,
1383
+ AlphaPublicModule,
1384
+ DropdownModule,
360
1385
  SharedComponentsModule,
361
1386
  NgxUploaderModule,
362
1387
  BlogPublicRoutingModule,
363
1388
  ShareButtonsModule,
364
- ShareIconsModule, i1.QuillModule, FormsModule,
365
1389
  PublicModule,
1390
+ ShareIconsModule, i1$3.QuillModule, FormsModule,
366
1391
  CoreTranslocoModule,
367
1392
  TranslocoModule,
368
1393
  ReactiveFormsModule,
369
1394
  DirectivesModule] }); }
370
1395
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourcePublicModule, providers: [ResourceService, GoogleAnalyticsService], imports: [CommonModule,
371
1396
  PipesModule,
1397
+ AlphaPublicModule,
1398
+ DropdownModule,
372
1399
  SharedComponentsModule,
373
1400
  NgxUploaderModule,
374
1401
  BlogPublicRoutingModule,
375
1402
  ShareButtonsModule,
1403
+ PublicModule,
376
1404
  ShareIconsModule,
377
1405
  QuillModule.forRoot(),
378
1406
  FormsModule,
379
- PublicModule,
380
1407
  CoreTranslocoModule,
381
1408
  TranslocoModule,
382
1409
  ReactiveFormsModule,
@@ -385,18 +1412,46 @@ class ResourcePublicModule {
385
1412
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourcePublicModule, decorators: [{
386
1413
  type: NgModule,
387
1414
  args: [{
388
- declarations: [ResourceListComponent, ResourceReadComponent],
1415
+ declarations: [
1416
+ ResourceHubComponent,
1417
+ ResourceTagComponent,
1418
+ ResourceReadComponent,
1419
+ VaultSectionComponent,
1420
+ ResourceComponent,
1421
+ ResourcePostComponent,
1422
+ RelatedResourcesComponent,
1423
+ ResourceCardComponent,
1424
+ ResourcePostDetailsComponent,
1425
+ ResourceBlogComponent,
1426
+ ResourceVideoComponent,
1427
+ ResourceIntegrationComponent,
1428
+ ResourceReleaseNoteComponent,
1429
+ ResourceWebinarComponent,
1430
+ WhitePaperComponent,
1431
+ ResourceCaseStudiesComponent,
1432
+ ResourceCardListComponent,
1433
+ TestimonialCardListComponent,
1434
+ ResourceNoteCardComponent,
1435
+ ResourceCompanyCardComponent,
1436
+ ResourceVaultComponent,
1437
+ ResourceVideoCardComponent,
1438
+ UpcomingEventCardComponent,
1439
+ ReplayEventCardComponent,
1440
+ CaseStudyCardComponent
1441
+ ],
389
1442
  imports: [
390
1443
  CommonModule,
391
1444
  PipesModule,
1445
+ AlphaPublicModule,
1446
+ DropdownModule,
392
1447
  SharedComponentsModule,
393
1448
  NgxUploaderModule,
394
1449
  BlogPublicRoutingModule,
395
1450
  ShareButtonsModule,
1451
+ PublicModule,
396
1452
  ShareIconsModule,
397
1453
  QuillModule.forRoot(),
398
1454
  FormsModule,
399
- PublicModule,
400
1455
  CoreTranslocoModule,
401
1456
  TranslocoModule,
402
1457
  ReactiveFormsModule,
@@ -423,5 +1478,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
423
1478
  * Generated bundle index. Do not edit.
424
1479
  */
425
1480
 
426
- export { ResourceListComponent, ResourceModule, ResourcePublicModule, ResourceReadComponent };
1481
+ export { ResourceHubComponent, ResourceModule, ResourcePublicModule, ResourceReadComponent };
427
1482
  //# sourceMappingURL=posiwise-resource-module.mjs.map