@posiwise/resource-module 0.0.93 → 0.0.95

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 +3 -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 +1130 -77
  31. package/fesm2022/posiwise-resource-module.mjs.map +1 -1
  32. package/index.d.ts +2 -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,39 @@
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$2 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';
28
35
  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';
36
+ import * as i6 from 'primeng/progressspinner';
33
37
 
34
38
  class ResourceService {
35
39
  constructor(api) {
@@ -37,8 +41,19 @@ class ResourceService {
37
41
  this.resource = '/posts';
38
42
  this.comments = '/comments';
39
43
  }
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}`);
44
+ getPublicPosts(master_subscription_id, page, pageSize, search, tagCategoryIds) {
45
+ const params = {
46
+ page,
47
+ page_size: pageSize,
48
+ search: search,
49
+ master_subscription_id
50
+ };
51
+ if (tagCategoryIds) {
52
+ params['tag_category_ids'] = tagCategoryIds;
53
+ }
54
+ return this.api.getWithParams(`${this.resource}/get_all`, {
55
+ ...params
56
+ });
42
57
  }
43
58
  getAdminPosts(subscriptionId, paging) {
44
59
  return this.api.getWithParams(`${this.resource}/admin_get_all`, {
@@ -91,7 +106,840 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
91
106
  type: Injectable
92
107
  }], ctorParameters: () => [{ type: i2.MainApiHttpService }] });
93
108
 
94
- class ResourceListComponent extends AppBaseComponent {
109
+ class ResourceNoteCardComponent {
110
+ constructor() {
111
+ this.posts = [];
112
+ this.releaseHeader = false;
113
+ this.q1NotesLink = '/resources/product-release-q1-2025';
114
+ this.q3NotesLink = '/resources/product-release-q3-2024';
115
+ this.q4NotesLink = '/resources/product-release-q4-2024';
116
+ this.releaseNotesLink = '/resources/release-notes';
117
+ }
118
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceNoteCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
119
+ 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" }] }); }
120
+ }
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceNoteCardComponent, decorators: [{
122
+ type: Component,
123
+ 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"] }]
124
+ }], propDecorators: { posts: [{
125
+ type: Input
126
+ }], releaseHeader: [{
127
+ type: Input
128
+ }] } });
129
+
130
+ class ResourceCardListComponent {
131
+ constructor() {
132
+ this.posts = [];
133
+ this.postHeader = '';
134
+ }
135
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceCardListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
136
+ 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" }] }); }
137
+ }
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceCardListComponent, decorators: [{
139
+ type: Component,
140
+ 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"] }]
141
+ }], propDecorators: { posts: [{
142
+ type: Input
143
+ }], postHeader: [{
144
+ type: Input
145
+ }] } });
146
+
147
+ class ResourceBlogComponent extends AppBaseComponent {
148
+ constructor(resourceService, tagService, injector) {
149
+ super(injector);
150
+ this.resourceService = resourceService;
151
+ this.tagService = tagService;
152
+ this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;
153
+ this.posts = [];
154
+ }
155
+ ngOnInit() {
156
+ this.getUserSubscriptionId().subscribe(response => {
157
+ this.subscriptionId = response;
158
+ });
159
+ this.localStorage.getItem$(TOKEN_KEY).subscribe(res => {
160
+ this.userLoggedIn = !!res;
161
+ if (this.userLoggedIn) {
162
+ this.localStorage.getItem$('product').subscribe(res => {
163
+ const data = res ? JSON.parse(res) : null;
164
+ this.subscriptionId = data?.subscriptionId;
165
+ console.log(this.subscriptionId);
166
+ });
167
+ }
168
+ this.getPostTags();
169
+ });
170
+ }
171
+ getPostTags() {
172
+ this.tagService
173
+ .getTagsByType('post_categories', {}, this.subscriptionId || this.masterSubscriptionId)
174
+ .subscribe(response => {
175
+ this.blogPostTag = response.tags.find(tag => tag.name === 'Blog Posts');
176
+ this.getPosts(1, 100);
177
+ });
178
+ }
179
+ getPosts(page, pageSize) {
180
+ console.log(this.blogPostTag);
181
+ this.resourceService
182
+ .getPublicPosts(this.subscriptionId || this.masterSubscriptionId, page, pageSize, '', this.blogPostTag.tag_category_id)
183
+ .subscribe(response => {
184
+ console.log(response.posts, this.blogPostTag);
185
+ this.posts = response.posts
186
+ .filter(post => post.tags?.some(tag => tag.tag_category_id === this.blogPostTag.tag_category_id))
187
+ .sort((a, b) => new Date(b.published_at).getTime() - new Date(a.published_at).getTime())
188
+ .slice(0, 12);
189
+ });
190
+ }
191
+ 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 }); }
192
+ 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"] }] }); }
193
+ }
194
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceBlogComponent, decorators: [{
195
+ type: Component,
196
+ 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"] }]
197
+ }], ctorParameters: () => [{ type: ResourceService }, { type: i2.TagService }, { type: i0.Injector }] });
198
+
199
+ class CaseStudyCardComponent extends AppBaseComponent {
200
+ constructor(sanitizer, injector) {
201
+ super(injector);
202
+ this.sanitizer = sanitizer;
203
+ this.showCaseStudyHeader = false;
204
+ }
205
+ 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 }); }
206
+ 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" }] }); }
207
+ }
208
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: CaseStudyCardComponent, decorators: [{
209
+ type: Component,
210
+ 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"] }]
211
+ }], ctorParameters: () => [{ type: i1$1.DomSanitizer }, { type: i0.Injector }], propDecorators: { showCaseStudyHeader: [{
212
+ type: Input
213
+ }] } });
214
+
215
+ class TestimonialCardListComponent {
216
+ constructor() {
217
+ this.posts = [];
218
+ this.postHeader = '';
219
+ }
220
+ ngOnInit() {
221
+ this.initSwiper();
222
+ }
223
+ initSwiper() {
224
+ this.swiper = new Swiper('.swiper-container', {
225
+ modules: [Navigation, Pagination],
226
+ slidesPerView: 1,
227
+ spaceBetween: 24,
228
+ centeredSlides: true,
229
+ touchRatio: 1,
230
+ touchAngle: 45,
231
+ grabCursor: true,
232
+ navigation: {
233
+ nextEl: '.swiper-button-next',
234
+ prevEl: '.swiper-button-prev'
235
+ },
236
+ pagination: {
237
+ el: '.swiper-pagination',
238
+ clickable: true
239
+ },
240
+ breakpoints: {
241
+ 425: {
242
+ slidesPerView: 1.05,
243
+ centeredSlides: true
244
+ },
245
+ 470: {
246
+ slidesPerView: 1.25,
247
+ centeredSlides: true
248
+ },
249
+ 564: {
250
+ slidesPerView: 1.5,
251
+ centeredSlides: true
252
+ },
253
+ 640: {
254
+ slidesPerView: 1.5,
255
+ centeredSlides: true
256
+ },
257
+ 768: {
258
+ slidesPerView: 1.5,
259
+ centeredSlides: false
260
+ },
261
+ 1024: {
262
+ slidesPerView: 2, // Allow room between cards
263
+ centeredSlides: false
264
+ },
265
+ 1200: {
266
+ slidesPerView: 3,
267
+ centeredSlides: false
268
+ }
269
+ }
270
+ });
271
+ }
272
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TestimonialCardListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
273
+ 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" }] }); }
274
+ }
275
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TestimonialCardListComponent, decorators: [{
276
+ type: Component,
277
+ 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"] }]
278
+ }], propDecorators: { posts: [{
279
+ type: Input
280
+ }], postHeader: [{
281
+ type: Input
282
+ }] } });
283
+
284
+ class ResourceCaseStudiesComponent extends AppBaseComponent {
285
+ constructor(resourceService, tagService, injector) {
286
+ super(injector);
287
+ this.resourceService = resourceService;
288
+ this.tagService = tagService;
289
+ this.posts = [];
290
+ this.testimonialsPosts = [];
291
+ }
292
+ ngOnInit() {
293
+ this.getUserSubscriptionId().subscribe(response => {
294
+ this.subscriptionId = response;
295
+ });
296
+ this.localStorage.getItem$(TOKEN_KEY).subscribe(res => {
297
+ this.userLoggedIn = !!res;
298
+ if (this.userLoggedIn) {
299
+ this.localStorage.getItem$('product').subscribe(res => {
300
+ const data = res ? JSON.parse(res) : null;
301
+ this.subscriptionId = data?.subscriptionId;
302
+ console.log(this.subscriptionId);
303
+ this.getPostTags();
304
+ });
305
+ }
306
+ });
307
+ }
308
+ getPostTags() {
309
+ this.tagService
310
+ .getTagsByType('post_categories', {}, this.subscriptionId || this.masterSubscriptionId)
311
+ .subscribe(response => {
312
+ console.log(response.tags);
313
+ this.blogPostTag = response.tags.find(tag => tag.name === 'Case Studies');
314
+ this.blogTestimonialsPostTag = response.tags.find(tag => tag.name === 'Testimonials');
315
+ console.log(this.blogPostTag);
316
+ this.getPosts(1, 100);
317
+ this.getTestimonialsPosts(1, 100);
318
+ });
319
+ }
320
+ getPosts(page, pageSize) {
321
+ console.log(this.blogPostTag);
322
+ this.resourceService
323
+ .getPublicPosts(this.subscriptionId, page, pageSize, '', this.blogPostTag?.tag_category_id)
324
+ .subscribe(response => {
325
+ console.log(response.posts, this.blogPostTag);
326
+ this.posts = response.posts
327
+ .filter(post => post.tags?.some(tag => tag.tag_category_id === this.blogPostTag?.tag_category_id))
328
+ .sort((a, b) => new Date(b.published_at).getTime() - new Date(a.published_at).getTime())
329
+ .slice(0, 12);
330
+ });
331
+ }
332
+ getTestimonialsPosts(page, pageSize) {
333
+ console.log(this.blogTestimonialsPostTag?.tag_category_id, 'sop');
334
+ this.resourceService
335
+ .getPublicPosts(this.subscriptionId, page, pageSize, '', this.blogTestimonialsPostTag?.tag_category_id)
336
+ .subscribe(response => {
337
+ console.log(response.posts);
338
+ this.testimonialsPosts = response.posts
339
+ .filter(post => post.tags?.some(tag => tag.tag_category_id ===
340
+ this.blogTestimonialsPostTag?.tag_category_id))
341
+ .sort((a, b) => new Date(b.published_at).getTime() - new Date(a.published_at).getTime())
342
+ .slice(0, 12);
343
+ console.log(this.testimonialsPosts, 'new');
344
+ });
345
+ }
346
+ 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 }); }
347
+ 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"] }] }); }
348
+ }
349
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceCaseStudiesComponent, decorators: [{
350
+ type: Component,
351
+ 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"] }]
352
+ }], ctorParameters: () => [{ type: ResourceService }, { type: i2.TagService }, { type: i0.Injector }] });
353
+
354
+ class ResourceCompanyCardComponent {
355
+ constructor() {
356
+ this.header = '';
357
+ this.data = [];
358
+ this.vendor = false;
359
+ this.filteredData = [];
360
+ this.first = 0;
361
+ this.rows = 12;
362
+ }
363
+ ngOnChanges() {
364
+ this.search();
365
+ }
366
+ search(keywords) {
367
+ console.log(this.data, keywords);
368
+ if (keywords) {
369
+ this.filteredData = this.data.filter(x => x.name.toLowerCase().includes(keywords.toLowerCase()));
370
+ }
371
+ else {
372
+ this.filteredData = [...this.data];
373
+ }
374
+ }
375
+ onPageChange(event) {
376
+ this.first = event.first;
377
+ this.rows = event.rows;
378
+ }
379
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceCompanyCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
380
+ 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" }] }); }
381
+ }
382
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceCompanyCardComponent, decorators: [{
383
+ type: Component,
384
+ 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"] }]
385
+ }], propDecorators: { header: [{
386
+ type: Input
387
+ }], data: [{
388
+ type: Input
389
+ }], vendor: [{
390
+ type: Input
391
+ }] } });
392
+
393
+ class ResourceIntegrationComponent extends AppBaseComponent {
394
+ constructor(sanitizer, injector) {
395
+ super(injector);
396
+ this.sanitizer = sanitizer;
397
+ this.distributorsData = CompanyData?.distributorsData;
398
+ this.vendorsData = CompanyData?.vendorsData;
399
+ this.textColor = this.appConfig?.color_codes?.text;
400
+ this.releaseNotesLink = '/resources/product-release-notes';
401
+ this.q1NotesLink = '/resources/product-release-q1-2025';
402
+ this.q3NotesLink = '/resources/product-release-q3-2024';
403
+ this.q4NotesLink = '/resources/product-release-q4-2024';
404
+ this.videoWebinarLoaded = false;
405
+ this.videoDemoLoaded = false;
406
+ this.youtubeVideoId = 'R7Vk219zbhA';
407
+ this.videoTitle = 'CloudOlive Overview';
408
+ }
409
+ ngOnInit() {
410
+ document.documentElement.style.setProperty('--text-color', this.textColor);
411
+ }
412
+ loadMicrosoftVideo() {
413
+ const baseUrl = `https://www.youtube.com/embed/${this.youtubeVideoId}?autoplay=1`;
414
+ // baseUrl is a trusted internal source (e.g. YouTube embed URL)
415
+ this.sanitizedMicrosoftVideoUrl = this.sanitizer.bypassSecurityTrustResourceUrl(baseUrl); // NOSONAR
416
+ this.videoDemoLoaded = true;
417
+ }
418
+ loadKeseyaVideo() {
419
+ const baseUrl = `https://www.youtube.com/embed/${this.youtubeVideoId}?autoplay=1`;
420
+ // baseUrl is a trusted internal source (e.g. YouTube embed URL)
421
+ this.sanitizedKesyaVideoUrl = this.sanitizer.bypassSecurityTrustResourceUrl(baseUrl); // NOSONAR
422
+ this.videoWebinarLoaded = true;
423
+ }
424
+ 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 }); }
425
+ 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"] }] }); }
426
+ }
427
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceIntegrationComponent, decorators: [{
428
+ type: Component,
429
+ 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"] }]
430
+ }], ctorParameters: () => [{ type: i1$1.DomSanitizer }, { type: i0.Injector }] });
431
+
432
+ class ResourceBlog {
433
+ static getResourcePostsForm() {
434
+ return new UntypedFormBuilder().group({
435
+ related_entity_id: [''],
436
+ related_entity_type: [''],
437
+ comment: [null, Validators.required],
438
+ user_id: ['']
439
+ });
440
+ }
441
+ }
442
+
443
+ class RelatedResourcesComponent extends AppBaseComponent {
444
+ constructor(resourceService, injector, sanitizer, toastr) {
445
+ super(injector);
446
+ this.resourceService = resourceService;
447
+ this.sanitizer = sanitizer;
448
+ this.toastr = toastr;
449
+ this.resourceCards = [
450
+ {
451
+ title: 'BLOG: Here’s why you should QA your distributor invoices',
452
+ image: '/assets/img/resource/resource-qa.png',
453
+ alt: 'QA distributor invoices',
454
+ url: '/resources/view/here-s-why-you-should-be-seeking-independent-qa-of-all-distributor-inv'
455
+ },
456
+ {
457
+ title: 'BLOG: 4 instant hacks to uplift your MSP’s monthly billing',
458
+ image: '/assets/img/resource/resource-hacks.png',
459
+ alt: 'Monthly billing hacks',
460
+ url: '/resources/view/4-instant-hacks-to-uplift-your-msp-s-monthly-billing'
461
+ },
462
+ {
463
+ title: 'BLOG: The trivial detail that will either future-proof or sabotage your PSA.',
464
+ image: '/assets/img/resource/resource-psa.png',
465
+ alt: 'PSA future-proof',
466
+ url: '/resources/view/the-trivial-detail-that-will-either-future-proof-or-sabotage-your-psa'
467
+ }
468
+ ];
469
+ this.postComments = [];
470
+ this.commentForm = ResourceBlog.getResourcePostsForm();
471
+ }
472
+ ngOnInit() {
473
+ this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;
474
+ this.route.params.subscribe(params => {
475
+ this.slug = params['slug'] || '';
476
+ this.getBlogItem(this.slug);
477
+ });
478
+ this.localStorage.getItem$(TOKEN_KEY).subscribe(res => {
479
+ this.userLoggedIn = !!res;
480
+ if (this.userLoggedIn) {
481
+ this.userService.getUserInfo().subscribe(data => {
482
+ this.user = data;
483
+ });
484
+ }
485
+ });
486
+ }
487
+ getBlogItem(slug) {
488
+ this.resourceService.getPostBySlug(slug).subscribe(response => {
489
+ let blogBody;
490
+ if (response?.body) {
491
+ blogBody = HelperService.sanitizeQuillBody(response.body, this.sanitizer);
492
+ }
493
+ const date = new Date(response?.when);
494
+ const formatted = date.toISOString().split('T')[0];
495
+ console.log(formatted); //
496
+ this.postComments = response.entity_comments;
497
+ this.post = { ...response, body: blogBody, when: formatted };
498
+ });
499
+ }
500
+ onComment() {
501
+ const data = { ...this.commentForm.value };
502
+ data.related_entity_id = this.post?.id;
503
+ data.related_entity_type = 'Post';
504
+ data.user_id = this.user?.id;
505
+ this.resourceService
506
+ .postComments(data)
507
+ .subscribe(() => {
508
+ this.getBlogItem(this.slug);
509
+ this.commentForm.reset();
510
+ this.toastr.success(this.translation.translate('Resource.Posts.CommentAdded'));
511
+ })
512
+ .add(() => {
513
+ console.log('In this');
514
+ });
515
+ }
516
+ trackByComment(_index, item) {
517
+ return item.id;
518
+ }
519
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: RelatedResourcesComponent, deps: [{ token: ResourceService }, { token: i0.Injector }, { token: i1$1.DomSanitizer }, { token: i2.CustomToastService }], target: i0.ɵɵFactoryTarget.Component }); }
520
+ 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" }] }); }
521
+ }
522
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: RelatedResourcesComponent, decorators: [{
523
+ type: Component,
524
+ 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"] }]
525
+ }], ctorParameters: () => [{ type: ResourceService }, { type: i0.Injector }, { type: i1$1.DomSanitizer }, { type: i2.CustomToastService }] });
526
+
527
+ class ResourceCardComponent {
528
+ constructor() {
529
+ this.resourceCards = [
530
+ {
531
+ title: 'BLOG: Here’s why you should QA your distributor invoices',
532
+ image: '/assets/img/resource/resource-qa.png',
533
+ alt: 'QA distributor invoices',
534
+ url: '/resources/view/here-s-why-you-should-be-seeking-independent-qa-of-all-distributor-inv'
535
+ },
536
+ {
537
+ title: 'BLOG: 4 instant hacks to uplift your MSP’s monthly billing',
538
+ image: '/assets/img/resource/resource-hacks.png',
539
+ alt: 'Monthly billing hacks',
540
+ url: '/resources/view/4-instant-hacks-to-uplift-your-msp-s-monthly-billing'
541
+ },
542
+ {
543
+ title: 'BLOG: The trivial detail that will either future-proof or sabotage your PSA.',
544
+ image: '/assets/img/resource/resource-psa.png',
545
+ alt: 'PSA future-proof',
546
+ url: '/resources/view/the-trivial-detail-that-will-either-future-proof-or-sabotage-your-psa'
547
+ }
548
+ ];
549
+ }
550
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
551
+ 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" }] }); }
552
+ }
553
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceCardComponent, decorators: [{
554
+ type: Component,
555
+ 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"] }]
556
+ }] });
557
+
558
+ class ResourcePostDetailsComponent extends AppBaseComponent {
559
+ constructor(resourceService, injector, sanitizer) {
560
+ super(injector);
561
+ this.resourceService = resourceService;
562
+ this.sanitizer = sanitizer;
563
+ }
564
+ ngOnInit() {
565
+ this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;
566
+ this.route.params.subscribe(params => {
567
+ this.slug = params['slug'] || '';
568
+ this.getBlogItem(this.slug);
569
+ });
570
+ }
571
+ getBlogItem(slug) {
572
+ this.resourceService.getPostBySlug(slug).subscribe(response => {
573
+ let blogBody;
574
+ if (response?.body) {
575
+ blogBody = HelperService.sanitizeQuillBody(response.body, this.sanitizer);
576
+ }
577
+ const date = new Date(response?.published_at);
578
+ const formatted = date.toISOString().split('T')[0];
579
+ console.log(formatted); //
580
+ this.post = { ...response, body: blogBody, published_at: formatted };
581
+ });
582
+ }
583
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourcePostDetailsComponent, deps: [{ token: ResourceService }, { token: i0.Injector }, { token: i1$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
584
+ 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" }] }); }
585
+ }
586
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourcePostDetailsComponent, decorators: [{
587
+ type: Component,
588
+ 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"] }]
589
+ }], ctorParameters: () => [{ type: ResourceService }, { type: i0.Injector }, { type: i1$1.DomSanitizer }] });
590
+
591
+ class ResourcePostComponent {
592
+ constructor(route, titleService) {
593
+ this.route = route;
594
+ this.titleService = titleService;
595
+ }
596
+ ngOnInit() {
597
+ this.route.paramMap.subscribe(params => {
598
+ this.slug = params.get('slug') || 'Default';
599
+ setTimeout(() => {
600
+ this.titleService.setTitle(`Resource - ${this.slug}`);
601
+ }, 1000);
602
+ });
603
+ }
604
+ 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 }); }
605
+ 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" }] }); }
606
+ }
607
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourcePostComponent, decorators: [{
608
+ type: Component,
609
+ 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>" }]
610
+ }], ctorParameters: () => [{ type: i2$1.ActivatedRoute }, { type: i1$1.Title }] });
611
+
612
+ class ResourceReleaseNoteComponent extends AppBaseComponent {
613
+ constructor(resourceService, tagService, injector) {
614
+ super(injector);
615
+ this.resourceService = resourceService;
616
+ this.tagService = tagService;
617
+ this.posts = [];
618
+ }
619
+ ngOnInit() {
620
+ console.log();
621
+ this.getUserSubscriptionId().subscribe(response => {
622
+ this.subscriptionId = response;
623
+ });
624
+ this.localStorage.getItem$(TOKEN_KEY).subscribe(res => {
625
+ this.userLoggedIn = !!res;
626
+ if (this.userLoggedIn) {
627
+ this.localStorage.getItem$('product').subscribe(res => {
628
+ const data = res ? JSON.parse(res) : null;
629
+ this.subscriptionId = data?.subscriptionId;
630
+ console.log(this.subscriptionId);
631
+ this.getPostTags();
632
+ });
633
+ }
634
+ });
635
+ }
636
+ getPostTags() {
637
+ this.tagService
638
+ .getTagsByType('post_categories', {}, this.subscriptionId || this.masterSubscriptionId)
639
+ .subscribe(response => {
640
+ this.blogPostTag = response.tags.find(tag => tag.name === 'Product Release Notes');
641
+ this.getPosts(1, 100);
642
+ });
643
+ }
644
+ getPosts(page, pageSize) {
645
+ console.log(this.blogPostTag);
646
+ this.resourceService
647
+ .getPublicPosts(this.subscriptionId, page, pageSize, '', this.blogPostTag.tag_category_id)
648
+ .subscribe(response => {
649
+ console.log(response.posts, this.blogPostTag);
650
+ this.posts = response.posts
651
+ .filter(post => post.tags?.some(tag => tag.tag_category_id === this.blogPostTag.tag_category_id))
652
+ .sort((a, b) => new Date(b.published_at).getTime() - new Date(a.published_at).getTime())
653
+ .slice(0, 12);
654
+ });
655
+ }
656
+ 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 }); }
657
+ 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"] }] }); }
658
+ }
659
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceReleaseNoteComponent, decorators: [{
660
+ type: Component,
661
+ 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"] }]
662
+ }], ctorParameters: () => [{ type: ResourceService }, { type: i2.TagService }, { type: i0.Injector }] });
663
+
664
+ class ResourceVaultComponent extends AppBaseComponent {
665
+ constructor(sanitizer, injector) {
666
+ super(injector);
667
+ this.sanitizer = sanitizer;
668
+ this.showVaultSection = false;
669
+ this.videoWebinarLoaded = false;
670
+ this.videoDemoLoaded = false;
671
+ this.ebookLink = '/resources/ebook-5-tips-for-msps-to-manage-cloud-billings-in-autotask';
672
+ this.youtubeVideoId = 'R7Vk219zbhA';
673
+ this.videoTitle = 'CloudOlive Overview';
674
+ }
675
+ loadDemoVideo() {
676
+ const baseUrl = `https://www.youtube.com/embed/${this.youtubeVideoId}?autoplay=1`;
677
+ // baseUrl is a trusted internal source (e.g. YouTube embed URL)
678
+ this.sanitizedDemoVideoUrl = this.sanitizer.bypassSecurityTrustResourceUrl(baseUrl); // NOSONAR
679
+ this.videoDemoLoaded = true;
680
+ }
681
+ loadWebinarVideo() {
682
+ const baseUrl = `https://www.youtube.com/embed/${this.youtubeVideoId}?autoplay=1`;
683
+ // baseUrl is a trusted internal source (e.g. YouTube embed URL)
684
+ this.sanitizedWebinarVideoUrl = this.sanitizer.bypassSecurityTrustResourceUrl(baseUrl); // NOSONAR
685
+ this.videoWebinarLoaded = true;
686
+ }
687
+ 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 }); }
688
+ 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" }] }); }
689
+ }
690
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceVaultComponent, decorators: [{
691
+ type: Component,
692
+ 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"] }]
693
+ }], ctorParameters: () => [{ type: i1$1.DomSanitizer }, { type: i0.Injector }], propDecorators: { showVaultSection: [{
694
+ type: Input
695
+ }] } });
696
+
697
+ class ResourceVideoCardComponent extends AppBaseComponent {
698
+ constructor(sanitizer, injector) {
699
+ super(injector);
700
+ this.sanitizer = sanitizer;
701
+ this.showVideoSection = false;
702
+ this.videoStates = {
703
+ datto: { loaded: false, id: 'R7Vk219zbhA', url: null },
704
+ connectwise: { loaded: false, id: 'R7Vk219zbhA', url: null },
705
+ cloudolive: { loaded: false, id: 'R7Vk219zbhA', url: null }
706
+ };
707
+ }
708
+ loadVideo(key) {
709
+ const videoId = this.videoStates[key].id;
710
+ const baseUrl = `https://www.youtube.com/embed/${videoId}?autoplay=1`;
711
+ this.videoStates[key].url = this.sanitizer.bypassSecurityTrustResourceUrl(baseUrl); // NOSONAR
712
+ this.videoStates[key].loaded = true;
713
+ }
714
+ 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 }); }
715
+ 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" }] }); }
716
+ }
717
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceVideoCardComponent, decorators: [{
718
+ type: Component,
719
+ 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"] }]
720
+ }], ctorParameters: () => [{ type: i1$1.DomSanitizer }, { type: i0.Injector }], propDecorators: { showVideoSection: [{
721
+ type: Input
722
+ }] } });
723
+
724
+ class ResourceVideoComponent extends AppBaseComponent {
725
+ constructor(resourceService, tagService, injector) {
726
+ super(injector);
727
+ this.resourceService = resourceService;
728
+ this.tagService = tagService;
729
+ this.posts = [];
730
+ }
731
+ ngOnInit() {
732
+ this.getUserSubscriptionId().subscribe(response => {
733
+ this.subscriptionId = response;
734
+ });
735
+ this.localStorage.getItem$(TOKEN_KEY).subscribe(res => {
736
+ this.userLoggedIn = !!res;
737
+ if (this.userLoggedIn) {
738
+ this.localStorage.getItem$('product').subscribe(res => {
739
+ const data = res ? JSON.parse(res) : null;
740
+ this.subscriptionId = data?.subscriptionId;
741
+ console.log(this.subscriptionId);
742
+ this.getPostTags();
743
+ });
744
+ }
745
+ });
746
+ }
747
+ getPostTags() {
748
+ this.tagService
749
+ .getTagsByType('post_categories', {}, this.subscriptionId || this.masterSubscriptionId)
750
+ .subscribe(response => {
751
+ this.blogPostTag = response.tags.find(tag => tag.name === 'Videos');
752
+ this.getPosts(1, 100);
753
+ });
754
+ }
755
+ getPosts(page, pageSize) {
756
+ console.log(this.blogPostTag);
757
+ this.resourceService
758
+ .getPublicPosts(this.subscriptionId, page, pageSize, '', this.blogPostTag.tag_category_id)
759
+ .subscribe(response => {
760
+ console.log(response.posts, this.blogPostTag);
761
+ this.posts = response.posts
762
+ .filter(post => post.tags?.some(tag => tag.tag_category_id === this.blogPostTag.tag_category_id))
763
+ .sort((a, b) => new Date(b.published_at).getTime() - new Date(a.published_at).getTime())
764
+ .slice(0, 12);
765
+ });
766
+ }
767
+ 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 }); }
768
+ 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"] }] }); }
769
+ }
770
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceVideoComponent, decorators: [{
771
+ type: Component,
772
+ 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"] }]
773
+ }], ctorParameters: () => [{ type: ResourceService }, { type: i2.TagService }, { type: i0.Injector }] });
774
+
775
+ class ReplayEventCardComponent extends AppBaseComponent {
776
+ constructor(sanitizer, injector) {
777
+ super(injector);
778
+ this.sanitizer = sanitizer;
779
+ this.videoStates = {
780
+ inforcer: { loaded: false, id: 'R7Vk219zbhA', url: null },
781
+ inforcer2: { loaded: false, id: 'R7Vk219zbhA', url: null },
782
+ huntress: { loaded: false, id: 'R7Vk219zbhA', url: null }
783
+ };
784
+ }
785
+ loadVideo(key) {
786
+ const videoId = this.videoStates[key].id;
787
+ const baseUrl = `https://www.youtube.com/embed/${videoId}?autoplay=1`;
788
+ this.videoStates[key].url = this.sanitizer.bypassSecurityTrustResourceUrl(baseUrl); // NOSONAR
789
+ this.videoStates[key].loaded = true;
790
+ }
791
+ 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 }); }
792
+ 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" }] }); }
793
+ }
794
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ReplayEventCardComponent, decorators: [{
795
+ type: Component,
796
+ 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"] }]
797
+ }], ctorParameters: () => [{ type: i1$1.DomSanitizer }, { type: i0.Injector }] });
798
+
799
+ class UpcomingEventCardComponent {
800
+ constructor() {
801
+ this.showEventContent = false;
802
+ }
803
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UpcomingEventCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
804
+ 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" }] }); }
805
+ }
806
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UpcomingEventCardComponent, decorators: [{
807
+ type: Component,
808
+ 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"] }]
809
+ }], propDecorators: { showEventContent: [{
810
+ type: Input
811
+ }] } });
812
+
813
+ class ResourceWebinarComponent extends AppBaseComponent {
814
+ constructor(resourceService, tagService, injector) {
815
+ super(injector);
816
+ this.resourceService = resourceService;
817
+ this.tagService = tagService;
818
+ this.posts = [];
819
+ this.upcomingPosts = [];
820
+ }
821
+ ngOnInit() {
822
+ this.getUserSubscriptionId().subscribe(response => {
823
+ this.subscriptionId = response;
824
+ });
825
+ this.localStorage.getItem$(TOKEN_KEY).subscribe(res => {
826
+ this.userLoggedIn = !!res;
827
+ if (this.userLoggedIn) {
828
+ this.localStorage.getItem$('product').subscribe(res => {
829
+ const data = res ? JSON.parse(res) : null;
830
+ this.subscriptionId = data?.subscriptionId;
831
+ console.log(this.subscriptionId);
832
+ this.getPostTags();
833
+ });
834
+ }
835
+ });
836
+ }
837
+ getPostTags() {
838
+ this.tagService
839
+ .getTagsByType('post_categories', {}, this.subscriptionId || this.masterSubscriptionId)
840
+ .subscribe(response => {
841
+ this.blogPostTag = response.tags.find(tag => tag.name === 'Events');
842
+ this.getPosts(1, 100);
843
+ this.getUpcomingPosts(1, 100);
844
+ });
845
+ }
846
+ getPosts(page, pageSize) {
847
+ console.log(this.blogPostTag);
848
+ this.resourceService
849
+ .getPublicPosts(this.subscriptionId, page, pageSize, '', this.blogPostTag?.tag_category_id)
850
+ .subscribe(response => {
851
+ console.log(response.posts, this.blogPostTag);
852
+ this.posts = response.posts
853
+ .filter(post => post.tags?.some(tag => tag.tag_category_id === this.blogPostTag?.tag_category_id &&
854
+ new Date(post.when) < new Date()))
855
+ .sort((a, b) => new Date(b.published_at).getTime() - new Date(a.published_at).getTime())
856
+ .slice(0, 12);
857
+ });
858
+ }
859
+ getUpcomingPosts(page, pageSize) {
860
+ this.resourceService
861
+ .getPublicPosts(this.subscriptionId, page, pageSize, '', this.blogPostTag?.tag_category_id)
862
+ .subscribe(response => {
863
+ console.log(response.posts, this.blogPostTag);
864
+ this.upcomingPosts = response.posts
865
+ .filter(post => post.tags?.some(tag => tag.tag_category_id === this.blogPostTag?.tag_category_id &&
866
+ new Date(post.when) > new Date()))
867
+ .sort((a, b) => new Date(b.published_at).getTime() - new Date(a.published_at).getTime())
868
+ .slice(0, 12);
869
+ });
870
+ }
871
+ 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 }); }
872
+ 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" }] }); }
873
+ }
874
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceWebinarComponent, decorators: [{
875
+ type: Component,
876
+ 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"] }]
877
+ }], ctorParameters: () => [{ type: ResourceService }, { type: i2.TagService }, { type: i0.Injector }] });
878
+
879
+ class ResourceTagComponent extends AppBaseComponent {
880
+ constructor(tagService, injector) {
881
+ super(injector);
882
+ this.tagService = tagService;
883
+ this.tags = [];
884
+ this.loading = true;
885
+ this.loaded = false;
886
+ this.selectedTag = null;
887
+ }
888
+ ngOnInit() {
889
+ this.localStorage.getItem$('product').subscribe(product => {
890
+ const data = product ? JSON.parse(product) : null;
891
+ this.subscriptionId =
892
+ data?.subscriptionId || this.appConfig.master_subscription.subscription_id;
893
+ this.getTags();
894
+ });
895
+ }
896
+ selectTag(tag) {
897
+ this.selectedTag = tag;
898
+ }
899
+ getTags() {
900
+ this.loading = true;
901
+ this.tagService
902
+ .getTagsByType('post_categories', {}, this.subscriptionId)
903
+ .subscribe(res => {
904
+ this.tags = (res?.tags || [])
905
+ .filter(tag => tag.visible_in_resources)
906
+ .map(tag => ({
907
+ ...tag,
908
+ iconClass: `fa ${tag.icon_name}` // e.g. fa fa-check
909
+ }));
910
+ })
911
+ .add(() => {
912
+ this.loading = false;
913
+ this.loaded = true;
914
+ });
915
+ }
916
+ 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 }); }
917
+ 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"] }] }); }
918
+ }
919
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceTagComponent, decorators: [{
920
+ type: Component,
921
+ 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"] }]
922
+ }], ctorParameters: () => [{ type: i2.TagService }, { type: i0.Injector }] });
923
+
924
+ class VaultSectionComponent {
925
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: VaultSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
926
+ 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" }] }); }
927
+ }
928
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: VaultSectionComponent, decorators: [{
929
+ type: Component,
930
+ 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"] }]
931
+ }] });
932
+
933
+ class ResourceComponent {
934
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
935
+ 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"] }] }); }
936
+ }
937
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceComponent, decorators: [{
938
+ type: Component,
939
+ 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"] }]
940
+ }] });
941
+
942
+ class ResourceHubComponent extends AppBaseComponent {
95
943
  constructor(resourceService, tagService, injector) {
96
944
  super(injector);
97
945
  this.resourceService = resourceService;
@@ -100,10 +948,25 @@ class ResourceListComponent extends AppBaseComponent {
100
948
  this.data = [];
101
949
  this.posts = [];
102
950
  this.tags = [];
951
+ this.selectedTags = [];
952
+ this.currentPage = 1;
953
+ this.pageSize = 20;
954
+ this.objectCount = 0;
103
955
  this.searchTextItems = '';
104
956
  this.searchInput = false;
105
957
  this.loading = true;
106
958
  this.loaded = false;
959
+ this.scrollLocked = false;
960
+ this.iconClasses = [
961
+ 'fa-lightbulb',
962
+ 'fa-rocket',
963
+ 'fa-file-alt',
964
+ 'fa-users',
965
+ 'fa-video',
966
+ 'fa-pencil-alt',
967
+ 'fa-book-open',
968
+ 'fa-cogs'
969
+ ];
107
970
  }
108
971
  ngOnInit() {
109
972
  this.localStorage.getItem$(TOKEN_KEY).subscribe(res => {
@@ -123,30 +986,43 @@ class ResourceListComponent extends AppBaseComponent {
123
986
  this.loading = true;
124
987
  this.loaded = false;
125
988
  forkJoin({
126
- resPosts: this.resourceService.getPublicPosts(this.masterSubscriptionId, 1, 100, this.searchTextItems),
989
+ resPosts: this.resourceService.getPublicPosts(this.masterSubscriptionId, this.currentPage, this.pageSize, this.searchTextItems),
127
990
  resTags: this.tagService.getTagsByType('post_categories', {}, this.subscriptionId || this.masterSubscriptionId)
128
991
  })
129
992
  .subscribe(res => {
130
- // posts
131
993
  this.posts = res?.resPosts?.posts;
994
+ this.objectCount = res?.resPosts.object_count;
132
995
  this.data = res?.resPosts?.posts;
133
996
  this.totalRecords = this.posts?.length;
134
- // tags
135
- this.tags = res?.resTags?.tags;
997
+ this.tags = res?.resTags?.tags?.filter(tag => tag.visible_in_resources);
998
+ this.tags = this.tags.map(tag => ({
999
+ ...tag,
1000
+ iconClass: this.getRandomIcon()
1001
+ }));
136
1002
  })
137
1003
  .add(() => {
138
1004
  this.loading = false;
139
1005
  this.loaded = true;
140
1006
  });
141
1007
  }
142
- getPosts(page, pageSize) {
143
- this.loading = true;
144
- this.loaded = false;
1008
+ getRandomIcon() {
1009
+ const randomIndex = Math.floor(Math.random() * this.iconClasses.length);
1010
+ return 'fa ' + this.iconClasses[randomIndex];
1011
+ }
1012
+ getPosts(page, pageSize, fetchAll = false, append = false) {
1013
+ if (fetchAll)
1014
+ this.selectedTags = [];
1015
+ if (!append) {
1016
+ this.loading = true;
1017
+ this.loaded = false;
1018
+ }
1019
+ const tagCategoryParam = this.selectedTags.map(tag => tag.tag_category_id).join(',');
145
1020
  this.resourceService
146
- .getPublicPosts(this.masterSubscriptionId, page, pageSize, this.searchTextItems)
1021
+ .getPublicPosts(this.masterSubscriptionId, page, append ? 10 : pageSize, this.searchTextItems, tagCategoryParam)
147
1022
  .subscribe(response => {
148
- this.posts = response.posts;
149
- this.data = response.posts;
1023
+ this.objectCount = response.object_count;
1024
+ this.posts = append ? [...this.posts, ...response.posts] : response.posts;
1025
+ this.data = [...this.posts];
150
1026
  this.totalRecords = this.posts?.length;
151
1027
  })
152
1028
  .add(() => {
@@ -154,34 +1030,48 @@ class ResourceListComponent extends AppBaseComponent {
154
1030
  this.loaded = true;
155
1031
  });
156
1032
  }
157
- showSearch(close) {
158
- this.searchInput = !this.searchInput;
159
- if (close) {
160
- this.searchTextItems = '';
161
- this.getPosts(1, 100);
162
- }
163
- }
164
1033
  onSearch(seconds) {
165
1034
  let delay = 0;
166
1035
  delay = seconds * 1000;
167
1036
  clearTimeout(this.delayTimeout);
168
- // wait for timeout before get posts
169
1037
  const delayTimeout = setTimeout(() => {
170
- this.getPosts(1, 100);
1038
+ this.currentPage = 1;
1039
+ this.getPosts(1, this.pageSize);
171
1040
  }, delay);
172
1041
  this.delayTimeout = delayTimeout;
173
1042
  }
1043
+ onWindowScroll() {
1044
+ const scrollPosition = window.scrollY + window.innerHeight;
1045
+ const pageHeight = document.documentElement.scrollHeight;
1046
+ const nearBottom = scrollPosition >= pageHeight - 100;
1047
+ if (nearBottom &&
1048
+ this.posts.length < this.objectCount &&
1049
+ !this.loading &&
1050
+ !this.scrollLocked) {
1051
+ this.scrollLocked = true;
1052
+ this.currentPage += 1;
1053
+ this.getPosts(this.currentPage, this.pageSize, false, true);
1054
+ setTimeout(() => {
1055
+ this.scrollLocked = false;
1056
+ }, 500);
1057
+ }
1058
+ }
1059
+ isSelected(tagId) {
1060
+ return this.selectedTags.map(tag => tag.id).includes(tagId);
1061
+ }
174
1062
  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
- });
1063
+ const index = this.selectedTags.findIndex(tag => tag.tag_category_id === selectedTag.tag_category_id && tag.id === selectedTag.id);
1064
+ if (index === -1) {
1065
+ this.selectedTags.push({
1066
+ tag_category_id: selectedTag.tag_category_id,
1067
+ id: selectedTag.id
1068
+ });
1069
+ }
1070
+ else {
1071
+ this.selectedTags.splice(index, 1);
1072
+ }
1073
+ this.currentPage = 1;
1074
+ this.getPosts(1, this.pageSize);
185
1075
  }
186
1076
  thisPostReadingTime(text) {
187
1077
  if (text) {
@@ -196,24 +1086,16 @@ class ResourceListComponent extends AppBaseComponent {
196
1086
  ngOnDestroy() {
197
1087
  super.ngOnDestroy();
198
1088
  }
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 }); }
1089
+ 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 }); }
1090
+ 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
1091
  }
202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceListComponent, decorators: [{
1092
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceHubComponent, decorators: [{
203
1093
  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 }] });
206
-
207
- class ResourceBlog {
208
- static getResourcePostsForm() {
209
- return new UntypedFormBuilder().group({
210
- related_entity_id: [''],
211
- related_entity_type: [''],
212
- comment: [null, Validators.required],
213
- user_id: ['']
214
- });
215
- }
216
- }
1094
+ 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"] }]
1095
+ }], ctorParameters: () => [{ type: ResourceService }, { type: i2.TagService }, { type: i0.Injector }], propDecorators: { onWindowScroll: [{
1096
+ type: HostListener,
1097
+ args: ['window:scroll', []]
1098
+ }] } });
217
1099
 
218
1100
  class ResourceReadComponent extends AppBaseComponent {
219
1101
  constructor(resourceService, toastr, injector, sanitizer) {
@@ -313,36 +1195,151 @@ class ResourceReadComponent extends AppBaseComponent {
313
1195
  ngOnDestroy() {
314
1196
  super.ngOnDestroy();
315
1197
  }
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 }); }
1198
+ 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 }); }
1199
+ 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
1200
  }
319
1201
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceReadComponent, decorators: [{
320
1202
  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 }] });
1203
+ 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"] }]
1204
+ }], ctorParameters: () => [{ type: ResourceService }, { type: i2.CustomToastService }, { type: i0.Injector }, { type: i1$1.DomSanitizer }] });
1205
+
1206
+ class WhitePaperComponent extends AppBaseComponent {
1207
+ constructor(resourceService, tagService, injector) {
1208
+ super(injector);
1209
+ this.resourceService = resourceService;
1210
+ this.tagService = tagService;
1211
+ this.posts = [];
1212
+ }
1213
+ ngOnInit() {
1214
+ this.getUserSubscriptionId().subscribe(response => {
1215
+ this.subscriptionId = response;
1216
+ });
1217
+ this.localStorage.getItem$(TOKEN_KEY).subscribe(res => {
1218
+ this.userLoggedIn = !!res;
1219
+ if (this.userLoggedIn) {
1220
+ this.localStorage.getItem$('product').subscribe(res => {
1221
+ const data = res ? JSON.parse(res) : null;
1222
+ this.subscriptionId = data?.subscriptionId;
1223
+ console.log(this.subscriptionId);
1224
+ this.getPostTags();
1225
+ });
1226
+ }
1227
+ });
1228
+ }
1229
+ getPostTags() {
1230
+ this.tagService
1231
+ .getTagsByType('post_categories', {}, this.subscriptionId || this.masterSubscriptionId)
1232
+ .subscribe(response => {
1233
+ this.blogPostTag = response.tags.find(tag => tag.name === 'White Papers');
1234
+ this.getPosts(1, 100);
1235
+ });
1236
+ }
1237
+ getPosts(page, pageSize) {
1238
+ console.log(this.blogPostTag);
1239
+ this.resourceService
1240
+ .getPublicPosts(this.subscriptionId, page, pageSize, '', this.blogPostTag.tag_category_id)
1241
+ .subscribe(response => {
1242
+ console.log(response.posts, this.blogPostTag);
1243
+ this.posts = response.posts
1244
+ .filter(post => post.tags?.some(tag => tag.tag_category_id === this.blogPostTag.tag_category_id))
1245
+ .sort((a, b) => new Date(b.published_at).getTime() - new Date(a.published_at).getTime())
1246
+ .slice(0, 12);
1247
+ });
1248
+ }
1249
+ 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 }); }
1250
+ 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"] }] }); }
1251
+ }
1252
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: WhitePaperComponent, decorators: [{
1253
+ type: Component,
1254
+ 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"] }]
1255
+ }], ctorParameters: () => [{ type: ResourceService }, { type: i2.TagService }, { type: i0.Injector }] });
323
1256
 
324
1257
  // These are the private routes. The public routes and modules needs to be defined in public.routes.ts
325
1258
  const routes = [
326
1259
  {
327
1260
  path: '',
328
- component: ResourceListComponent,
1261
+ component: ResourceComponent,
1262
+ data: {
1263
+ title: 'Resources Library',
1264
+ permission: 'Pages.Blog'
1265
+ }
1266
+ },
1267
+ {
1268
+ path: 'hub',
1269
+ component: ResourceHubComponent,
329
1270
  data: {
330
- title: 'Resource Posts Admin',
1271
+ title: 'Resources - Hub',
331
1272
  permission: 'Pages.Blog'
332
1273
  }
333
1274
  },
334
1275
  {
335
- path: ':slug',
336
- component: ResourceReadComponent,
1276
+ path: 'blogs',
1277
+ component: ResourceBlogComponent,
337
1278
  data: {
338
- title: 'Resource Post Admin',
1279
+ title: 'Resources - Blogs',
1280
+ permission: 'Pages.Blog'
1281
+ }
1282
+ },
1283
+ {
1284
+ path: 'videos',
1285
+ component: ResourceVideoComponent,
1286
+ data: {
1287
+ title: 'Resources - Videos',
1288
+ permission: 'Pages.Blog'
1289
+ }
1290
+ },
1291
+ {
1292
+ path: 'integrations',
1293
+ component: ResourceIntegrationComponent,
1294
+ data: {
1295
+ title: 'Resources - Integrations',
1296
+ permission: 'Pages.Blog'
1297
+ }
1298
+ },
1299
+ {
1300
+ path: 'release-notes',
1301
+ component: ResourceReleaseNoteComponent,
1302
+ data: {
1303
+ title: 'Resources - Release Notes',
1304
+ permission: 'Pages.Blog'
1305
+ }
1306
+ },
1307
+ {
1308
+ path: 'events',
1309
+ component: ResourceWebinarComponent,
1310
+ data: {
1311
+ title: 'Resources - Events',
1312
+ permission: 'Pages.Blog'
1313
+ }
1314
+ },
1315
+ {
1316
+ path: 'white-papers',
1317
+ component: WhitePaperComponent,
1318
+ data: {
1319
+ title: 'Resources - White Papers',
1320
+ permission: 'Pages.Blog'
1321
+ }
1322
+ },
1323
+ {
1324
+ path: 'case-studies',
1325
+ component: ResourceCaseStudiesComponent,
1326
+ data: {
1327
+ title: 'Resources - Case Studies',
1328
+ permission: 'Pages.Blog'
1329
+ }
1330
+ },
1331
+ {
1332
+ path: 'view/:slug',
1333
+ component: ResourcePostComponent,
1334
+ data: {
1335
+ title: 'Resources - Post',
339
1336
  permission: 'Pages.Blog'
340
1337
  }
341
1338
  }
342
1339
  ];
343
1340
  class BlogPublicRoutingModule {
344
1341
  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] }); }
1342
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: BlogPublicRoutingModule, imports: [i2$1.RouterModule], exports: [RouterModule] }); }
346
1343
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: BlogPublicRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
347
1344
  }
348
1345
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: BlogPublicRoutingModule, decorators: [{
@@ -355,28 +1352,56 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
355
1352
 
356
1353
  class ResourcePublicModule {
357
1354
  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,
1355
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: ResourcePublicModule, declarations: [ResourceHubComponent,
1356
+ ResourceTagComponent,
1357
+ ResourceReadComponent,
1358
+ VaultSectionComponent,
1359
+ ResourceComponent,
1360
+ ResourcePostComponent,
1361
+ RelatedResourcesComponent,
1362
+ ResourceCardComponent,
1363
+ ResourcePostDetailsComponent,
1364
+ ResourceBlogComponent,
1365
+ ResourceVideoComponent,
1366
+ ResourceIntegrationComponent,
1367
+ ResourceReleaseNoteComponent,
1368
+ ResourceWebinarComponent,
1369
+ WhitePaperComponent,
1370
+ ResourceCaseStudiesComponent,
1371
+ ResourceCardListComponent,
1372
+ TestimonialCardListComponent,
1373
+ ResourceNoteCardComponent,
1374
+ ResourceCompanyCardComponent,
1375
+ ResourceVaultComponent,
1376
+ ResourceVideoCardComponent,
1377
+ UpcomingEventCardComponent,
1378
+ ReplayEventCardComponent,
1379
+ CaseStudyCardComponent], imports: [CommonModule,
359
1380
  PipesModule,
1381
+ AlphaPublicModule,
1382
+ DropdownModule,
360
1383
  SharedComponentsModule,
361
1384
  NgxUploaderModule,
362
1385
  BlogPublicRoutingModule,
363
1386
  ShareButtonsModule,
364
- ShareIconsModule, i1.QuillModule, FormsModule,
365
1387
  PublicModule,
1388
+ ShareIconsModule, i1$2.QuillModule, FormsModule,
366
1389
  CoreTranslocoModule,
367
1390
  TranslocoModule,
368
1391
  ReactiveFormsModule,
369
1392
  DirectivesModule] }); }
370
1393
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourcePublicModule, providers: [ResourceService, GoogleAnalyticsService], imports: [CommonModule,
371
1394
  PipesModule,
1395
+ AlphaPublicModule,
1396
+ DropdownModule,
372
1397
  SharedComponentsModule,
373
1398
  NgxUploaderModule,
374
1399
  BlogPublicRoutingModule,
375
1400
  ShareButtonsModule,
1401
+ PublicModule,
376
1402
  ShareIconsModule,
377
1403
  QuillModule.forRoot(),
378
1404
  FormsModule,
379
- PublicModule,
380
1405
  CoreTranslocoModule,
381
1406
  TranslocoModule,
382
1407
  ReactiveFormsModule,
@@ -385,18 +1410,46 @@ class ResourcePublicModule {
385
1410
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourcePublicModule, decorators: [{
386
1411
  type: NgModule,
387
1412
  args: [{
388
- declarations: [ResourceListComponent, ResourceReadComponent],
1413
+ declarations: [
1414
+ ResourceHubComponent,
1415
+ ResourceTagComponent,
1416
+ ResourceReadComponent,
1417
+ VaultSectionComponent,
1418
+ ResourceComponent,
1419
+ ResourcePostComponent,
1420
+ RelatedResourcesComponent,
1421
+ ResourceCardComponent,
1422
+ ResourcePostDetailsComponent,
1423
+ ResourceBlogComponent,
1424
+ ResourceVideoComponent,
1425
+ ResourceIntegrationComponent,
1426
+ ResourceReleaseNoteComponent,
1427
+ ResourceWebinarComponent,
1428
+ WhitePaperComponent,
1429
+ ResourceCaseStudiesComponent,
1430
+ ResourceCardListComponent,
1431
+ TestimonialCardListComponent,
1432
+ ResourceNoteCardComponent,
1433
+ ResourceCompanyCardComponent,
1434
+ ResourceVaultComponent,
1435
+ ResourceVideoCardComponent,
1436
+ UpcomingEventCardComponent,
1437
+ ReplayEventCardComponent,
1438
+ CaseStudyCardComponent
1439
+ ],
389
1440
  imports: [
390
1441
  CommonModule,
391
1442
  PipesModule,
1443
+ AlphaPublicModule,
1444
+ DropdownModule,
392
1445
  SharedComponentsModule,
393
1446
  NgxUploaderModule,
394
1447
  BlogPublicRoutingModule,
395
1448
  ShareButtonsModule,
1449
+ PublicModule,
396
1450
  ShareIconsModule,
397
1451
  QuillModule.forRoot(),
398
1452
  FormsModule,
399
- PublicModule,
400
1453
  CoreTranslocoModule,
401
1454
  TranslocoModule,
402
1455
  ReactiveFormsModule,
@@ -423,5 +1476,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
423
1476
  * Generated bundle index. Do not edit.
424
1477
  */
425
1478
 
426
- export { ResourceListComponent, ResourceModule, ResourcePublicModule, ResourceReadComponent };
1479
+ export { ResourceHubComponent, ResourceModule, ResourcePublicModule, ResourceReadComponent, ResourceService };
427
1480
  //# sourceMappingURL=posiwise-resource-module.mjs.map