@posiwise/resource-module 0.0.184 → 0.0.185

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 (105) hide show
  1. package/fesm2022/{posiwise-resource-module-base-top-banner.component-DwVBOTwY.mjs → posiwise-resource-module-base-top-banner.component-BxV9TVG1.mjs} +15 -7
  2. package/fesm2022/posiwise-resource-module-base-top-banner.component-BxV9TVG1.mjs.map +1 -0
  3. package/fesm2022/posiwise-resource-module-posiwise-resource-module-DfgyQYhP.mjs +1870 -0
  4. package/fesm2022/posiwise-resource-module-posiwise-resource-module-DfgyQYhP.mjs.map +1 -0
  5. package/fesm2022/posiwise-resource-module-resource-blogs.module-DHqU4Ypf.mjs +68 -0
  6. package/fesm2022/posiwise-resource-module-resource-blogs.module-DHqU4Ypf.mjs.map +1 -0
  7. package/fesm2022/posiwise-resource-module-resource-case-studies.module-DghO167h.mjs +134 -0
  8. package/fesm2022/posiwise-resource-module-resource-case-studies.module-DghO167h.mjs.map +1 -0
  9. package/fesm2022/posiwise-resource-module-resource-events.module-DtZaPh7n.mjs +240 -0
  10. package/fesm2022/posiwise-resource-module-resource-events.module-DtZaPh7n.mjs.map +1 -0
  11. package/fesm2022/posiwise-resource-module-resource-hub.module-jxpqriFN.mjs +241 -0
  12. package/fesm2022/posiwise-resource-module-resource-hub.module-jxpqriFN.mjs.map +1 -0
  13. package/fesm2022/posiwise-resource-module-resource-integrations.module-xg0Ziiw8.mjs +294 -0
  14. package/fesm2022/posiwise-resource-module-resource-integrations.module-xg0Ziiw8.mjs.map +1 -0
  15. package/fesm2022/posiwise-resource-module-resource-post.module-DcudivrB.mjs +314 -0
  16. package/fesm2022/posiwise-resource-module-resource-post.module-DcudivrB.mjs.map +1 -0
  17. package/fesm2022/posiwise-resource-module-resource-release-notes.module-CuQLcCDR.mjs +109 -0
  18. package/fesm2022/posiwise-resource-module-resource-release-notes.module-CuQLcCDR.mjs.map +1 -0
  19. package/fesm2022/posiwise-resource-module-resource-root.module-gVu6s-NV.mjs +398 -0
  20. package/fesm2022/posiwise-resource-module-resource-root.module-gVu6s-NV.mjs.map +1 -0
  21. package/fesm2022/posiwise-resource-module-resource-videos.module-xt6vq-z-.mjs +68 -0
  22. package/fesm2022/posiwise-resource-module-resource-videos.module-xt6vq-z-.mjs.map +1 -0
  23. package/fesm2022/posiwise-resource-module-resource-white-papers.module-Bm2M2II6.mjs +69 -0
  24. package/fesm2022/posiwise-resource-module-resource-white-papers.module-Bm2M2II6.mjs.map +1 -0
  25. package/fesm2022/posiwise-resource-module.mjs +1 -1
  26. package/package.json +6 -6
  27. package/types/posiwise-resource-module.d.ts +521 -0
  28. package/fesm2022/posiwise-resource-module-base-top-banner.component-DwVBOTwY.mjs.map +0 -1
  29. package/fesm2022/posiwise-resource-module-posiwise-resource-module-CBgwfoFQ.mjs +0 -1802
  30. package/fesm2022/posiwise-resource-module-posiwise-resource-module-CBgwfoFQ.mjs.map +0 -1
  31. package/fesm2022/posiwise-resource-module-resource-blogs.module-B4QePTqE.mjs +0 -69
  32. package/fesm2022/posiwise-resource-module-resource-blogs.module-B4QePTqE.mjs.map +0 -1
  33. package/fesm2022/posiwise-resource-module-resource-case-studies.module-FVdm2xZg.mjs +0 -133
  34. package/fesm2022/posiwise-resource-module-resource-case-studies.module-FVdm2xZg.mjs.map +0 -1
  35. package/fesm2022/posiwise-resource-module-resource-events.module-D39_eKV0.mjs +0 -228
  36. package/fesm2022/posiwise-resource-module-resource-events.module-D39_eKV0.mjs.map +0 -1
  37. package/fesm2022/posiwise-resource-module-resource-hub.module-BtDEZ2Bi.mjs +0 -233
  38. package/fesm2022/posiwise-resource-module-resource-hub.module-BtDEZ2Bi.mjs.map +0 -1
  39. package/fesm2022/posiwise-resource-module-resource-integrations.module-Ccc_gL-v.mjs +0 -284
  40. package/fesm2022/posiwise-resource-module-resource-integrations.module-Ccc_gL-v.mjs.map +0 -1
  41. package/fesm2022/posiwise-resource-module-resource-post.module-DK-IjPjS.mjs +0 -294
  42. package/fesm2022/posiwise-resource-module-resource-post.module-DK-IjPjS.mjs.map +0 -1
  43. package/fesm2022/posiwise-resource-module-resource-release-notes.module-BCZ7rBO3.mjs +0 -104
  44. package/fesm2022/posiwise-resource-module-resource-release-notes.module-BCZ7rBO3.mjs.map +0 -1
  45. package/fesm2022/posiwise-resource-module-resource-root.module-XqP-FANH.mjs +0 -392
  46. package/fesm2022/posiwise-resource-module-resource-root.module-XqP-FANH.mjs.map +0 -1
  47. package/fesm2022/posiwise-resource-module-resource-videos.module-CVimxK4w.mjs +0 -69
  48. package/fesm2022/posiwise-resource-module-resource-videos.module-CVimxK4w.mjs.map +0 -1
  49. package/fesm2022/posiwise-resource-module-resource-white-papers.module-0VUIWx4N.mjs +0 -70
  50. package/fesm2022/posiwise-resource-module-resource-white-papers.module-0VUIWx4N.mjs.map +0 -1
  51. package/index.d.ts +0 -19
  52. package/lib/public/components/base/base-resource.component.d.ts +0 -43
  53. package/lib/public/components/base/base-top-banner.component.d.ts +0 -38
  54. package/lib/public/components/reslease-note-card/release-note-card.component.d.ts +0 -57
  55. package/lib/public/components/resource-blogs/resource-blog-top-banner/resource-blog-top-banner.component.d.ts +0 -12
  56. package/lib/public/components/resource-blogs/resource-blog.component.d.ts +0 -11
  57. package/lib/public/components/resource-case-studies/case-studies-cards/case-studies-cards.component.d.ts +0 -40
  58. package/lib/public/components/resource-case-studies/resource-case-studies.component.d.ts +0 -20
  59. package/lib/public/components/resource-company-card/resource-company-card.component.d.ts +0 -39
  60. package/lib/public/components/resource-contact-us/resource-contact-us.module.d.ts +0 -7
  61. package/lib/public/components/resource-edit-card/resource-edit-card.component.d.ts +0 -52
  62. package/lib/public/components/resource-edit-card-lazy/resource-edit-card-lazy.component.d.ts +0 -19
  63. package/lib/public/components/resource-integration/integration-top-banner/integration-top-banner.component.d.ts +0 -12
  64. package/lib/public/components/resource-integration/resource-integration.component.d.ts +0 -89
  65. package/lib/public/components/resource-post/related-resources/related-resources.component.d.ts +0 -46
  66. package/lib/public/components/resource-post/related-resources/resource-cards/resource-cards.component.d.ts +0 -40
  67. package/lib/public/components/resource-post/resource-post-details/resource-post-details.component.d.ts +0 -71
  68. package/lib/public/components/resource-post/resource-post.component.d.ts +0 -17
  69. package/lib/public/components/resource-release-notes/resource-release-notes-top-banner/resource-release-notes-top-banner.component.d.ts +0 -12
  70. package/lib/public/components/resource-release-notes/resource-release-notes.component.d.ts +0 -23
  71. package/lib/public/components/resource-top-banner-edit/resource-top-banner-edit.component.d.ts +0 -37
  72. package/lib/public/components/resource-vault/resource-vault.component.d.ts +0 -23
  73. package/lib/public/components/resource-videos/resource-video-cards/resource-video-cards.component.d.ts +0 -48
  74. package/lib/public/components/resource-videos/resource-videos-top-banner/resource-videos-top-banner.component.d.ts +0 -12
  75. package/lib/public/components/resource-videos/resource-videos.component.d.ts +0 -11
  76. package/lib/public/components/resource-webinars/replay-event-cards/replay-event-cards.component.d.ts +0 -33
  77. package/lib/public/components/resource-webinars/resource-webinars.component.d.ts +0 -36
  78. package/lib/public/components/resource-webinars/upcoming-event-cards/upcoming-event-cards.component.d.ts +0 -44
  79. package/lib/public/components/resources/resource-tags/resource-tags.component.d.ts +0 -31
  80. package/lib/public/components/resources/resources.component.d.ts +0 -24
  81. package/lib/public/components/resources/vault-section/vault-section.component.d.ts +0 -54
  82. package/lib/public/components/resources-hub/resources-hub.component.d.ts +0 -52
  83. package/lib/public/components/testimonial-card/testimonial-card.component.d.ts +0 -14
  84. package/lib/public/components/white-papers/white-papers-top-banner/white-papers-top-banner.component.d.ts +0 -12
  85. package/lib/public/components/white-papers/white-papers.component.d.ts +0 -11
  86. package/lib/public/modules/blogs/resource-blogs.module.d.ts +0 -10
  87. package/lib/public/modules/case-studies/resource-case-studies.module.d.ts +0 -10
  88. package/lib/public/modules/events/resource-events.module.d.ts +0 -10
  89. package/lib/public/modules/hub/resource-hub.module.d.ts +0 -9
  90. package/lib/public/modules/integrations/resource-integrations.module.d.ts +0 -10
  91. package/lib/public/modules/post/resource-post.module.d.ts +0 -11
  92. package/lib/public/modules/release-notes/resource-release-notes.module.d.ts +0 -10
  93. package/lib/public/modules/root/resource-root-shared.module.d.ts +0 -17
  94. package/lib/public/modules/root/resource-root.module.d.ts +0 -11
  95. package/lib/public/modules/videos/resource-videos.module.d.ts +0 -10
  96. package/lib/public/modules/white-papers/resource-white-papers.module.d.ts +0 -10
  97. package/lib/public/resource-public.module.d.ts +0 -7
  98. package/lib/public/resource-public.routing.module.d.ts +0 -7
  99. package/lib/public/shared/resource-cards.module.d.ts +0 -32
  100. package/lib/public/shared/resource-edit.module.d.ts +0 -22
  101. package/lib/public/shared/resource-shared.module.d.ts +0 -20
  102. package/lib/resource.module.d.ts +0 -7
  103. package/lib/resource.service.d.ts +0 -21
  104. package/lib/shared/models/resource.model.d.ts +0 -3
  105. package/lib/shared/resource-modal.interface.d.ts +0 -6
@@ -0,0 +1,240 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Input, Component, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/router';
4
+ import { RouterModule } from '@angular/router';
5
+ import { AppBaseComponent } from '@posiwise/app-base-component';
6
+ import * as i2 from '@posiwise/common-services';
7
+ import { HelperService } from '@posiwise/helper-service';
8
+ import { e as ResourceService, f as ResourceEditCardLazyComponent, h as ResourceTopBannerEditComponent, U as UpcomingEventCardComponent, g as ResourceSharedModule } from './posiwise-resource-module-posiwise-resource-module-DfgyQYhP.mjs';
9
+ import * as i5 from '@posiwise/directives';
10
+ import * as i6 from '@posiwise/shared-components';
11
+ import * as i7 from 'primeng/progressspinner';
12
+ import * as i10 from '@jsverse/transloco';
13
+ import * as i3 from '@angular/platform-browser';
14
+ import * as i4 from '@posiwise/resource-contact-us';
15
+ import * as i8 from '@posiwise/utils';
16
+
17
+ class ReplayEventCardComponent extends AppBaseComponent {
18
+ constructor(resourceService, tagService, cdr, injector) {
19
+ super(injector);
20
+ this.resourceService = resourceService;
21
+ this.tagService = tagService;
22
+ this.cdr = cdr;
23
+ this.showEventContent = false;
24
+ this.canEditResourcesValue = false;
25
+ this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;
26
+ this.posts = [];
27
+ this.isLoaded = false;
28
+ }
29
+ ngOnInit() {
30
+ if (this.userLoggedIn) {
31
+ this.localStorage.getItem$('product').subscribe(res => {
32
+ const data = res ? JSON.parse(res) : null;
33
+ this.subscriptionId = data?.subscriptionId;
34
+ this.cdr.markForCheck();
35
+ });
36
+ this.getPostTags();
37
+ }
38
+ else {
39
+ this.getPostTags();
40
+ }
41
+ }
42
+ ngOnChanges(changes) {
43
+ if (changes['user'] || changes['userLoggedIn']) {
44
+ if (this.userLoggedIn && this.user) {
45
+ this.updateCanEditResourcesValue();
46
+ }
47
+ }
48
+ }
49
+ getPostTags() {
50
+ this.tagService
51
+ .getTagsByType('post_categories', {}, this.getEffectiveSubscriptionId())
52
+ .subscribe(response => {
53
+ this.blogPostTag = response.tags.find(tag => tag.name === 'Events');
54
+ if (this.blogPostTag?.tag_category_id) {
55
+ this.getPosts(1, 100);
56
+ }
57
+ else {
58
+ this.isLoaded = true;
59
+ }
60
+ this.cdr.markForCheck();
61
+ });
62
+ }
63
+ getPosts(page, pageSize) {
64
+ this.isLoaded = false;
65
+ this.resourceService
66
+ .getPublicPosts(this.getEffectiveSubscriptionId(), page, pageSize, '', this.blogPostTag?.tag_category_id)
67
+ .subscribe(response => {
68
+ const now = new Date().getTime();
69
+ const sortedPosts = (response.posts ?? [])
70
+ .filter(post => post.showcase === true && new Date(post?.when).getTime() < now)
71
+ .sort((a, b) => new Date(b.published_at).getTime() - new Date(a.published_at).getTime());
72
+ this.posts = sortedPosts;
73
+ this.cdr.markForCheck();
74
+ })
75
+ .add(() => {
76
+ this.isLoaded = true;
77
+ this.cdr.markForCheck();
78
+ });
79
+ }
80
+ /** Helper method to get effective subscription ID */
81
+ getEffectiveSubscriptionId() {
82
+ return HelperService.getEffectiveSubscriptionId(this.user, this.subscriptionId, this.masterSubscriptionId);
83
+ }
84
+ updateCanEditResourcesValue() {
85
+ this.canEditResourcesValue = HelperService.canEditResources(this.user, this.userLoggedIn, this.permissionService);
86
+ }
87
+ canEditResources() {
88
+ return this.canEditResourcesValue;
89
+ }
90
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ReplayEventCardComponent, deps: [{ token: ResourceService }, { token: i2.TagService }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
91
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ReplayEventCardComponent, isStandalone: false, selector: "pw-replay-event-card", inputs: { showEventContent: "showEventContent", categoryId: "categoryId", resourceTitle: "resourceTitle", user: "user", userLoggedIn: "userLoggedIn" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<section class=\"resource-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 @if (resourceTitle) {\n <h2 class=\"vault-heading\">{{resourceTitle}} Replays</h2>\n } @else {\n <h2 class=\"vault-heading\">Events &amp; Webinars Replays</h2>\n }\n </div>\n </div>\n\n @if (!isLoaded) {\n <div class=\"w-100 text-center mt-3\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n }\n @if (posts.length === 0 && isLoaded) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n }\n\n @if (posts.length !== 0 && isLoaded) {\n <div class=\"row mt-5 d-flex flex-wrap justify-content-center gap-4 video-row\">\n @for (post of posts; track post) {\n <div class=\"resource-blog-card vault-card text-center p-4\">\n <pw-resource-edit-card-lazy\n [canEdit]=\"canEditResourcesValue\"\n [id]=\"post.id\"\n [resourceData]=\"post\"\n (updated)=\"getPosts(1, 100)\">\n </pw-resource-edit-card-lazy>\n <h5 class=\"badge-title fw-bold\">REPLAY:</h5>\n <p class=\"event-title mb-4\" [innerHtml]=\"post?.title\"></p>\n <img\n [src]=\"post.picture.url\"\n class=\"img-fluid my-3 mt-auto\"\n alt=\"Webinar\" />\n @if (post?.external_url) {\n <a\n class=\"resource-btn mt-3\"\n [href]=\"post.external_url\"\n aria-label=\"Navigate to external url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n } @else {\n <a class=\"resource-btn mt-3\" aria-label=\"Navigate to resource view\" [routerLink]=\"['/resources/view', post?.slug]\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n }\n </div>\n }\n </div>\n }\n </div>\n</section>\n", styles: [".bold{font-weight:700}.resource-heading{margin-bottom:2rem}.resource-note{margin-top:1rem;font-size:.85rem;color:#555}.resource-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}.press-release-icon{height:auto!important;margin:0 11px 1.9rem;display:block;align-self:center;width:auto!important;aspect-ratio:0!important;object-fit:cover;margin-top:auto;margin-right:0!important}.resource-vault-section{padding:60px 0;background:#fff;padding-bottom:9rem!important;padding-top:7rem!important;box-shadow:0 4px 32px -14px #40576d4d!important}.resource-vault-section .vault-heading{font-size:3rem;font-weight:300}.resource-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.resource-vault-section .resource-blog-card{display:flex;flex-direction:column;justify-content:space-between;background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto!important}.resource-vault-section .resource-blog-card h5{font-size:1.5rem;font-weight:400;margin-bottom:.5rem;color:var(--text-color, black)}.resource-vault-section .resource-blog-card p{font-size:1.5rem;color:var(--text-color, black);line-height:2rem}.resource-vault-section .resource-blog-card img{width:100%;border-radius:10px;aspect-ratio:1/1;object-fit:cover;margin-top:auto;margin-right:0!important;max-width:250px!important;align-self:center!important}.resource-vault-section .resource-blog-card iframe{height:210px;border-radius:10px;object-fit:cover;margin-right:0!important;max-width:280px!important}.resource-vault-section .resource-blog-card .resource-btn{background-color:var(--text-color, black);color:#fff;margin-top:auto;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;width:100%;max-width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-self:center;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.resource-vault-section .resource-blog-card .resource-btn:hover{background:#fff;color:var(--text-color, black)!important}.resource-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}@media(width<=1200px){.resource-vault-section .vault-heading{font-size:3.5rem}.resource-vault-section .vault-description{margin-top:1.35rem}.resource-vault-section .resource-btn{margin-left:0!important}}.video-row{gap:5.5rem!important;margin-top:3rem!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}}@media(max-width:768px){.resource-vault-section{padding-bottom:6rem!important}.resource-vault-section .container{padding-top:0rem!important;padding-bottom:0rem!important}.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media(width<=1200px){.container{padding:7rem 3rem 1rem!important}}\n"], dependencies: [{ kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i5.LazyImgDirective, selector: "img" }, { kind: "component", type: ResourceEditCardLazyComponent, selector: "pw-resource-edit-card-lazy", inputs: ["id", "resourceData", "canEdit"], outputs: ["updated"] }, { kind: "component", type: i6.NoDataComponent, selector: "pw-no-data", inputs: ["message", "description", "withImage"] }, { kind: "component", type: i7.ProgressSpinner, selector: "p-progressSpinner, p-progress-spinner, p-progressspinner", inputs: ["styleClass", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "pipe", type: i10.TranslocoPipe, name: "transloco" }] }); }
92
+ }
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ReplayEventCardComponent, decorators: [{
94
+ type: Component,
95
+ args: [{ selector: 'pw-replay-event-card', standalone: false, template: "<section class=\"resource-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 @if (resourceTitle) {\n <h2 class=\"vault-heading\">{{resourceTitle}} Replays</h2>\n } @else {\n <h2 class=\"vault-heading\">Events &amp; Webinars Replays</h2>\n }\n </div>\n </div>\n\n @if (!isLoaded) {\n <div class=\"w-100 text-center mt-3\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n }\n @if (posts.length === 0 && isLoaded) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n }\n\n @if (posts.length !== 0 && isLoaded) {\n <div class=\"row mt-5 d-flex flex-wrap justify-content-center gap-4 video-row\">\n @for (post of posts; track post) {\n <div class=\"resource-blog-card vault-card text-center p-4\">\n <pw-resource-edit-card-lazy\n [canEdit]=\"canEditResourcesValue\"\n [id]=\"post.id\"\n [resourceData]=\"post\"\n (updated)=\"getPosts(1, 100)\">\n </pw-resource-edit-card-lazy>\n <h5 class=\"badge-title fw-bold\">REPLAY:</h5>\n <p class=\"event-title mb-4\" [innerHtml]=\"post?.title\"></p>\n <img\n [src]=\"post.picture.url\"\n class=\"img-fluid my-3 mt-auto\"\n alt=\"Webinar\" />\n @if (post?.external_url) {\n <a\n class=\"resource-btn mt-3\"\n [href]=\"post.external_url\"\n aria-label=\"Navigate to external url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n } @else {\n <a class=\"resource-btn mt-3\" aria-label=\"Navigate to resource view\" [routerLink]=\"['/resources/view', post?.slug]\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"arrow\">\u2192</span>\n </a>\n }\n </div>\n }\n </div>\n }\n </div>\n</section>\n", styles: [".bold{font-weight:700}.resource-heading{margin-bottom:2rem}.resource-note{margin-top:1rem;font-size:.85rem;color:#555}.resource-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}.press-release-icon{height:auto!important;margin:0 11px 1.9rem;display:block;align-self:center;width:auto!important;aspect-ratio:0!important;object-fit:cover;margin-top:auto;margin-right:0!important}.resource-vault-section{padding:60px 0;background:#fff;padding-bottom:9rem!important;padding-top:7rem!important;box-shadow:0 4px 32px -14px #40576d4d!important}.resource-vault-section .vault-heading{font-size:3rem;font-weight:300}.resource-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.resource-vault-section .resource-blog-card{display:flex;flex-direction:column;justify-content:space-between;background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto!important}.resource-vault-section .resource-blog-card h5{font-size:1.5rem;font-weight:400;margin-bottom:.5rem;color:var(--text-color, black)}.resource-vault-section .resource-blog-card p{font-size:1.5rem;color:var(--text-color, black);line-height:2rem}.resource-vault-section .resource-blog-card img{width:100%;border-radius:10px;aspect-ratio:1/1;object-fit:cover;margin-top:auto;margin-right:0!important;max-width:250px!important;align-self:center!important}.resource-vault-section .resource-blog-card iframe{height:210px;border-radius:10px;object-fit:cover;margin-right:0!important;max-width:280px!important}.resource-vault-section .resource-blog-card .resource-btn{background-color:var(--text-color, black);color:#fff;margin-top:auto;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;width:100%;max-width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-self:center;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.resource-vault-section .resource-blog-card .resource-btn:hover{background:#fff;color:var(--text-color, black)!important}.resource-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}@media(width<=1200px){.resource-vault-section .vault-heading{font-size:3.5rem}.resource-vault-section .vault-description{margin-top:1.35rem}.resource-vault-section .resource-btn{margin-left:0!important}}.video-row{gap:5.5rem!important;margin-top:3rem!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}}@media(max-width:768px){.resource-vault-section{padding-bottom:6rem!important}.resource-vault-section .container{padding-top:0rem!important;padding-bottom:0rem!important}.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media(width<=1200px){.container{padding:7rem 3rem 1rem!important}}\n"] }]
96
+ }], ctorParameters: () => [{ type: ResourceService }, { type: i2.TagService }, { type: i0.ChangeDetectorRef }, { type: i0.Injector }], propDecorators: { showEventContent: [{
97
+ type: Input
98
+ }], categoryId: [{
99
+ type: Input
100
+ }], resourceTitle: [{
101
+ type: Input
102
+ }], user: [{
103
+ type: Input
104
+ }], userLoggedIn: [{
105
+ type: Input
106
+ }] } });
107
+
108
+ class ResourceWebinarComponent extends AppBaseComponent {
109
+ constructor(resourceService, authService, tagService, titleService, cdr, injector) {
110
+ super(injector);
111
+ this.resourceService = resourceService;
112
+ this.authService = authService;
113
+ this.tagService = tagService;
114
+ this.titleService = titleService;
115
+ this.cdr = cdr;
116
+ this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;
117
+ this.posts = [];
118
+ this.upcomingPosts = [];
119
+ this.isLoaded = false;
120
+ this.canEditResourcesValue = false;
121
+ }
122
+ ngOnInit() {
123
+ this.getUserSubscriptionId().subscribe(response => {
124
+ this.subscriptionId = response;
125
+ this.cdr.markForCheck();
126
+ });
127
+ this.authService.getToken$().subscribe(res => {
128
+ this.userLoggedIn = !!res;
129
+ if (this.userLoggedIn) {
130
+ this.localStorage.getItem$('product').subscribe(res => {
131
+ const data = res ? JSON.parse(res) : null;
132
+ this.subscriptionId = data?.subscriptionId;
133
+ this.cdr.markForCheck();
134
+ });
135
+ this.userService.getUserInfo().subscribe(data => {
136
+ this.user = data;
137
+ this.getTags();
138
+ this.updateCanEditResourcesValue();
139
+ this.cdr.markForCheck();
140
+ });
141
+ }
142
+ else {
143
+ this.getTags();
144
+ }
145
+ this.cdr.markForCheck();
146
+ });
147
+ }
148
+ getTags() {
149
+ this.isLoaded = false;
150
+ this.tagService
151
+ .getAllTagCategories({ search: 'Events' }, this.getEffectiveSubscriptionId())
152
+ .subscribe(response => {
153
+ this.tagCategory = response?.tag_categories?.[0];
154
+ this.getPostTags();
155
+ this.cdr.markForCheck();
156
+ });
157
+ }
158
+ getPostTags() {
159
+ this.tagService
160
+ .getTagsByType('post_categories', {}, this.getEffectiveSubscriptionId())
161
+ .subscribe(response => {
162
+ this.blogPostTag = response.tags.find(tag => tag.tag_category_id === this.tagCategory?.id);
163
+ this.updateSEOMetadata();
164
+ this.cdr.markForCheck();
165
+ })
166
+ .add(() => {
167
+ this.isLoaded = true;
168
+ this.cdr.markForCheck();
169
+ });
170
+ }
171
+ updateSEOMetadata() {
172
+ if (this.blogPostTag) {
173
+ // Update page title if meta_title is available
174
+ if (this.blogPostTag.meta_title) {
175
+ this.titleService.setTitle(this.blogPostTag.meta_title);
176
+ }
177
+ // Update meta description if meta_description is available
178
+ if (this.blogPostTag.meta_description) {
179
+ this.updateMetaDescription(this.blogPostTag.meta_description);
180
+ }
181
+ }
182
+ }
183
+ updateMetaDescription(description) {
184
+ let metaDescription = document.querySelector('meta[name="description"]');
185
+ if (!metaDescription) {
186
+ metaDescription = document.createElement('meta');
187
+ metaDescription.setAttribute('name', 'description');
188
+ document.head.appendChild(metaDescription);
189
+ }
190
+ metaDescription.setAttribute('content', description);
191
+ }
192
+ /** Helper method to get effective subscription ID */
193
+ getEffectiveSubscriptionId() {
194
+ return HelperService.getEffectiveSubscriptionId(this.user, this.subscriptionId, this.masterSubscriptionId);
195
+ }
196
+ updateCanEditResourcesValue() {
197
+ if (this.userLoggedIn && this.user) {
198
+ this.canEditResourcesValue = HelperService.canEditResources(this.user, this.userLoggedIn, this.permissionService);
199
+ }
200
+ else {
201
+ this.canEditResourcesValue = false;
202
+ }
203
+ }
204
+ canEditResources() {
205
+ return this.canEditResourcesValue;
206
+ }
207
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ResourceWebinarComponent, deps: [{ token: ResourceService }, { token: i2.AuthService }, { token: i2.TagService }, { token: i3.Title }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
208
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ResourceWebinarComponent, isStandalone: false, selector: "pw-resource-webinars", usesInheritance: true, ngImport: i0, template: "<pw-resource-header [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-header>\n\n\n<section class=\"bg-white\">\n <div class=\"resource-banner resource-section\">\n @if (isLoaded) {\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\">\n <!-- Left Content -->\n <div class=\"text-content\">\n <div class=\"resource-heading\">\n <h1 class=\"resource-header-text mb-4\">\n <span class=\"d-inline-flex align-items-center gap-2 flex-wrap\">\n <span [innerHTML]=\"blogPostTag?.title || 'Events & Webinars'\"></span>\n @if (canEditResourcesValue) {\n <pw-resource-top-banner-edit\n [blogPostTag]=\"blogPostTag\"\n [user]=\"user\"\n [userLoggedIn]=\"userLoggedIn\"\n (getUpdatedTag)=\"getPostTags()\"\n ></pw-resource-top-banner-edit>\n }\n </span>\n <span class=\"blue-text\"></span>\n </h1>\n </div>\n </div>\n <!-- Add directly below .text-content, still inside .container -->\n <div class=\"text-extension\">\n @if (!blogPostTag?.description || blogPostTag.description === 'null') {\n <p class=\"intro\">\n We're big on community and even<br>bigger on sharing what works.\n </p>\n }\n @if (blogPostTag?.description && blogPostTag.description !== 'null') {\n <div class=\"cta-buttons d-flex gap-3 flex-wrap mt-3\">\n <p class=\"intro\" [innerHTML]=\"blogPostTag.description\"></p>\n </div>\n }\n </div>\n <!-- Right Content -->\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <div class=\"resource-math-img\" ></div>\n <img class=\"resource-laptop-img\"\n [src]=\"(blogPostTag?.image?.url !== null && !blogPostTag?.image?.url?.includes('default-photo.jpg') && !(blogPostTag?.image?.url.includes('no_image_uploaded_squared')) ) ? blogPostTag?.image?.url : 'assets/img/resource/events-women.png'\"\n alt=\"Events and webinars banner\"\n loading=\"eager\"\n fetchpriority=\"high\" />\n </div>\n </div>\n }\n </div>\n</section>\n\n<section class=\"bg-white\">\n <pw-upcoming-event-card [tag]=\"blogPostTag\" [categoryId]=\"blogPostTag?.tag_category_id\" [resourceTitle]=\"blogPostTag?.title\" [postSlice]=\"true\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-upcoming-event-card>\n</section>\n\n\n\n\n\n<pw-trial-4-contact-us [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-trial-4-contact-us>\n", styles: ["@media(width<=991px){.resource-section .image-content .resource-laptop-img{top:6rem!important}}\n", "@charset \"UTF-8\";.cta-btn{display:inline-block;background:var(--text-color, currentColor);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, currentColor)}.cta-btn:hover{background-color:#fff!important;color:var(--text-color, currentColor)!important}@media(width<=768px){.dyn-img{top:-3rem!important}}.text-extension{max-width:560px}.text-extension .intro{font-size:2rem;line-height:3rem;font-weight:400;color:var(--text-color, currentColor);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}.resource-banner{box-shadow:0 4px 32px -14px #40576d4d!important;position:relative;padding:5rem 0;color:#fff;background:linear-gradient(90deg,var(--first) 0%,#a8e1fb 100%);overflow:hidden;z-index:2}@media(width<=1200px){.resource-banner .container{padding:7rem 3rem 0rem!important}}.resource-banner:after{content:\"\";position:absolute;bottom:0;left:0;width:100%;height:61%;background:#fff;clip-path:polygon(0 18%,100% 0%,100% 100%,0% 100%)}.resource-banner .container{position:relative;z-index:2}.resource-banner .text-content{max-width:500px;text-align:left;margin-bottom:75rem}.resource-banner .text-content h1{margin-bottom:1.5rem;line-height:1.2}.resource-banner .text-content .intro{font-size:1.2rem;margin:1rem 0;color:#000}.resource-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}.resource-banner .text-content .cta-buttons{margin-top:2rem}.resource-banner .text-content .note{margin-top:1rem;margin-left:5.6rem;font-size:.9rem;color:#555}.resource-banner .resource-header-text{max-width:500px;font-weight:500;color:#fff!important;font-size:4.5rem!important}.resource-banner .blue-text{font-weight:100}@media(width<=991px){.resource-banner .text-content{margin-top:1.5rem;margin-bottom:0;text-align:center;max-width:360px}.resource-banner .text-content h1{margin-bottom:6.5rem!important}.resource-banner .resource-header-text{font-size:2.5rem!important}.resource-banner .cta-buttons{margin-top:0rem!important;justify-content:center!important}.resource-banner .note{margin-left:8rem!important}.resource-banner .image-content{position:relative;margin-bottom:3rem;height:230px}.resource-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}.resource-banner .image-content .floating-box img{width:24px;margin-bottom:.4rem}.resource-banner .image-content .floating-box .label{font-size:.75rem;color:#333;margin:0;line-height:1.2}.resource-banner .image-content .floating-box .count{font-size:1.2rem;font-weight:700;color:#000;margin-top:.25rem}.resource-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}.resource-banner .image-content .person-img{max-width:170px;width:100%;position:relative;z-index:3;left:13rem;top:-11.35rem}.resource-banner .image-content .resource-laptop-img{max-width:300px;width:100%;position:relative;z-index:3;margin-top:3rem;left:2%;height:auto!important;top:4rem}}@media(width>=991px){.resource-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){.resource-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}.resource-divider{top:63.5rem;position:absolute!important}.resource-banner{padding-bottom:90px!important}}@media(width>=1200px){.text-extension{max-width:500px;position:absolute;margin-bottom:31rem!important}.resource-laptop-img{width:100%;max-width:800px!important;max-height:800px!important;height:auto}}@media(width>=1200px){.resource-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 .resource-laptop-img{top:4rem;left:2rem;position:relative}.image-content .resource-math-img{bottom:9rem;left:61rem;position:relative;height:312px;margin-right:1rem;min-width:450px!important}}@media(width<=786px){.text-extension{position:absolute;margin:3rem;margin-top:11rem!important}}@media(width>=786px)and (width<=991px){.text-extension{position:absolute;margin:3rem;margin-top:24rem!important}}@media(width>=704px)and (width<=768px){.resource-laptop-img{top:18rem!important;right:30%!important;left:auto!important}}@media(width>=786px)and (width<=991px){.resource-laptop-img{max-width:250px!important;top:18rem!important;right:30%!important;left:auto!important}}@media(width>=991px)and (width<=1200px){.resource-laptop-img{top:7rem;left:3%;position:relative;width:100%;max-width:600px!important;height:auto}}@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 .resource-math-img{height:243px!important;min-width:350px;bottom:9rem;left:34rem;position:relative;width:350px!important}}@media(width<=991px){.resource-banner{padding-bottom:15rem}}@media(width<=768px){.resource-math-img{top:18rem}.cta-btn{justify-content:center}.resource-divider{margin-top:49rem!important}.intro{font-size:1.7rem!important}}@media(width>=768px)and (width<=991px){.cta-btn{justify-content:center}.resource-divider{margin-top:36rem!important}}@media(width>=991px){.resource-banner{padding-top:768px;padding-bottom:42px;overflow:hidden}.section-fadeout{height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.resource-heading{width:700px!important}::ng-deep .vault-section{max-width:1580px!important;padding-left:48px!important;padding-top:130px!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}}@media(width>=768px)and (width<=1200px){.container{padding:0 6rem!important}.outer-section-fadeout{top:62rem!important}}@media(max-width:991px){.resource-banner .container{display:flex;flex-direction:column;align-items:flex-start;min-height:auto}.resource-banner .text-content,.resource-banner .text-extension,.resource-banner .image-content{position:static!important;left:auto;top:auto;max-width:100%;margin:0!important}.resource-banner .text-content{margin-bottom:0!important}.text-extension{margin-top:1rem!important}.resource-banner .image-content{width:100%;height:auto;align-self:center;margin-top:auto!important}.resource-banner .resource-laptop-img{position:static!important;max-width:260px;width:100%;height:auto!important}.resource-banner{padding:2rem 0 0rem!important}}@media(max-width:575px){.resource-banner:after{height:45%}}\n", ".bold{font-weight:700}.resource-heading{margin-bottom:2rem}.resource-note{margin-top:1rem;font-size:.85rem;color:#555}.resource-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}.press-release-icon{height:auto!important;margin:0 11px 1.9rem;display:block;align-self:center;width:auto!important;aspect-ratio:0!important;object-fit:cover;margin-top:auto;margin-right:0!important}.resource-vault-section{padding:60px 0;background:#fff;padding-bottom:9rem!important;padding-top:7rem!important;box-shadow:0 4px 32px -14px #40576d4d!important}.resource-vault-section .vault-heading{font-size:3rem;font-weight:300}.resource-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.resource-vault-section .resource-blog-card{display:flex;flex-direction:column;justify-content:space-between;background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto!important}.resource-vault-section .resource-blog-card h5{font-size:1.5rem;font-weight:400;margin-bottom:.5rem;color:var(--text-color, black)}.resource-vault-section .resource-blog-card p{font-size:1.5rem;color:var(--text-color, black);line-height:2rem}.resource-vault-section .resource-blog-card img{width:100%;border-radius:10px;aspect-ratio:1/1;object-fit:cover;margin-top:auto;margin-right:0!important;max-width:250px!important;align-self:center!important}.resource-vault-section .resource-blog-card iframe{height:210px;border-radius:10px;object-fit:cover;margin-right:0!important;max-width:280px!important}.resource-vault-section .resource-blog-card .resource-btn{background-color:var(--text-color, black);color:#fff;margin-top:auto;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;width:100%;max-width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-self:center;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.resource-vault-section .resource-blog-card .resource-btn:hover{background:#fff;color:var(--text-color, black)!important}.resource-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}@media(width<=1200px){.resource-vault-section .vault-heading{font-size:3.5rem}.resource-vault-section .vault-description{margin-top:1.35rem}.resource-vault-section .resource-btn{margin-left:0!important}}.video-row{gap:5.5rem!important;margin-top:3rem!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}}@media(max-width:768px){.resource-vault-section{padding-bottom:6rem!important}.resource-vault-section .container{padding-top:0rem!important;padding-bottom:0rem!important}.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media(width<=1200px){.container{padding:7rem 3rem 1rem!important}}\n"], dependencies: [{ kind: "component", type: ResourceTopBannerEditComponent, selector: "pw-resource-top-banner-edit", inputs: ["blogPostTag", "user", "userLoggedIn"], outputs: ["getUpdatedTag"] }, { kind: "component", type: UpcomingEventCardComponent, selector: "pw-upcoming-event-card", inputs: ["showEventContent", "categoryId", "tag", "postSlice", "resourceTitle", "user", "userLoggedIn"] }, { kind: "component", type: i4.Trial4ContactUsComponent, selector: "pw-trial-4-contact-us", inputs: ["subscriptionId", "sourceId", "masterSubscriptionId", "experimentName", "microserviceName", "shardName", "user", "userLoggedIn"] }, { kind: "directive", type: i5.LazyImgDirective, selector: "img" }, { kind: "component", type: i8.ResourceHeaderComponent, selector: "pw-resource-header", inputs: ["user", "userLoggedIn"] }] }); }
209
+ }
210
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ResourceWebinarComponent, decorators: [{
211
+ type: Component,
212
+ args: [{ selector: 'pw-resource-webinars', standalone: false, template: "<pw-resource-header [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-header>\n\n\n<section class=\"bg-white\">\n <div class=\"resource-banner resource-section\">\n @if (isLoaded) {\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\">\n <!-- Left Content -->\n <div class=\"text-content\">\n <div class=\"resource-heading\">\n <h1 class=\"resource-header-text mb-4\">\n <span class=\"d-inline-flex align-items-center gap-2 flex-wrap\">\n <span [innerHTML]=\"blogPostTag?.title || 'Events & Webinars'\"></span>\n @if (canEditResourcesValue) {\n <pw-resource-top-banner-edit\n [blogPostTag]=\"blogPostTag\"\n [user]=\"user\"\n [userLoggedIn]=\"userLoggedIn\"\n (getUpdatedTag)=\"getPostTags()\"\n ></pw-resource-top-banner-edit>\n }\n </span>\n <span class=\"blue-text\"></span>\n </h1>\n </div>\n </div>\n <!-- Add directly below .text-content, still inside .container -->\n <div class=\"text-extension\">\n @if (!blogPostTag?.description || blogPostTag.description === 'null') {\n <p class=\"intro\">\n We're big on community and even<br>bigger on sharing what works.\n </p>\n }\n @if (blogPostTag?.description && blogPostTag.description !== 'null') {\n <div class=\"cta-buttons d-flex gap-3 flex-wrap mt-3\">\n <p class=\"intro\" [innerHTML]=\"blogPostTag.description\"></p>\n </div>\n }\n </div>\n <!-- Right Content -->\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <div class=\"resource-math-img\" ></div>\n <img class=\"resource-laptop-img\"\n [src]=\"(blogPostTag?.image?.url !== null && !blogPostTag?.image?.url?.includes('default-photo.jpg') && !(blogPostTag?.image?.url.includes('no_image_uploaded_squared')) ) ? blogPostTag?.image?.url : 'assets/img/resource/events-women.png'\"\n alt=\"Events and webinars banner\"\n loading=\"eager\"\n fetchpriority=\"high\" />\n </div>\n </div>\n }\n </div>\n</section>\n\n<section class=\"bg-white\">\n <pw-upcoming-event-card [tag]=\"blogPostTag\" [categoryId]=\"blogPostTag?.tag_category_id\" [resourceTitle]=\"blogPostTag?.title\" [postSlice]=\"true\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-upcoming-event-card>\n</section>\n\n\n\n\n\n<pw-trial-4-contact-us [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-trial-4-contact-us>\n", styles: ["@media(width<=991px){.resource-section .image-content .resource-laptop-img{top:6rem!important}}\n", "@charset \"UTF-8\";.cta-btn{display:inline-block;background:var(--text-color, currentColor);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, currentColor)}.cta-btn:hover{background-color:#fff!important;color:var(--text-color, currentColor)!important}@media(width<=768px){.dyn-img{top:-3rem!important}}.text-extension{max-width:560px}.text-extension .intro{font-size:2rem;line-height:3rem;font-weight:400;color:var(--text-color, currentColor);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}.resource-banner{box-shadow:0 4px 32px -14px #40576d4d!important;position:relative;padding:5rem 0;color:#fff;background:linear-gradient(90deg,var(--first) 0%,#a8e1fb 100%);overflow:hidden;z-index:2}@media(width<=1200px){.resource-banner .container{padding:7rem 3rem 0rem!important}}.resource-banner:after{content:\"\";position:absolute;bottom:0;left:0;width:100%;height:61%;background:#fff;clip-path:polygon(0 18%,100% 0%,100% 100%,0% 100%)}.resource-banner .container{position:relative;z-index:2}.resource-banner .text-content{max-width:500px;text-align:left;margin-bottom:75rem}.resource-banner .text-content h1{margin-bottom:1.5rem;line-height:1.2}.resource-banner .text-content .intro{font-size:1.2rem;margin:1rem 0;color:#000}.resource-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}.resource-banner .text-content .cta-buttons{margin-top:2rem}.resource-banner .text-content .note{margin-top:1rem;margin-left:5.6rem;font-size:.9rem;color:#555}.resource-banner .resource-header-text{max-width:500px;font-weight:500;color:#fff!important;font-size:4.5rem!important}.resource-banner .blue-text{font-weight:100}@media(width<=991px){.resource-banner .text-content{margin-top:1.5rem;margin-bottom:0;text-align:center;max-width:360px}.resource-banner .text-content h1{margin-bottom:6.5rem!important}.resource-banner .resource-header-text{font-size:2.5rem!important}.resource-banner .cta-buttons{margin-top:0rem!important;justify-content:center!important}.resource-banner .note{margin-left:8rem!important}.resource-banner .image-content{position:relative;margin-bottom:3rem;height:230px}.resource-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}.resource-banner .image-content .floating-box img{width:24px;margin-bottom:.4rem}.resource-banner .image-content .floating-box .label{font-size:.75rem;color:#333;margin:0;line-height:1.2}.resource-banner .image-content .floating-box .count{font-size:1.2rem;font-weight:700;color:#000;margin-top:.25rem}.resource-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}.resource-banner .image-content .person-img{max-width:170px;width:100%;position:relative;z-index:3;left:13rem;top:-11.35rem}.resource-banner .image-content .resource-laptop-img{max-width:300px;width:100%;position:relative;z-index:3;margin-top:3rem;left:2%;height:auto!important;top:4rem}}@media(width>=991px){.resource-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){.resource-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}.resource-divider{top:63.5rem;position:absolute!important}.resource-banner{padding-bottom:90px!important}}@media(width>=1200px){.text-extension{max-width:500px;position:absolute;margin-bottom:31rem!important}.resource-laptop-img{width:100%;max-width:800px!important;max-height:800px!important;height:auto}}@media(width>=1200px){.resource-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 .resource-laptop-img{top:4rem;left:2rem;position:relative}.image-content .resource-math-img{bottom:9rem;left:61rem;position:relative;height:312px;margin-right:1rem;min-width:450px!important}}@media(width<=786px){.text-extension{position:absolute;margin:3rem;margin-top:11rem!important}}@media(width>=786px)and (width<=991px){.text-extension{position:absolute;margin:3rem;margin-top:24rem!important}}@media(width>=704px)and (width<=768px){.resource-laptop-img{top:18rem!important;right:30%!important;left:auto!important}}@media(width>=786px)and (width<=991px){.resource-laptop-img{max-width:250px!important;top:18rem!important;right:30%!important;left:auto!important}}@media(width>=991px)and (width<=1200px){.resource-laptop-img{top:7rem;left:3%;position:relative;width:100%;max-width:600px!important;height:auto}}@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 .resource-math-img{height:243px!important;min-width:350px;bottom:9rem;left:34rem;position:relative;width:350px!important}}@media(width<=991px){.resource-banner{padding-bottom:15rem}}@media(width<=768px){.resource-math-img{top:18rem}.cta-btn{justify-content:center}.resource-divider{margin-top:49rem!important}.intro{font-size:1.7rem!important}}@media(width>=768px)and (width<=991px){.cta-btn{justify-content:center}.resource-divider{margin-top:36rem!important}}@media(width>=991px){.resource-banner{padding-top:768px;padding-bottom:42px;overflow:hidden}.section-fadeout{height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.resource-heading{width:700px!important}::ng-deep .vault-section{max-width:1580px!important;padding-left:48px!important;padding-top:130px!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}}@media(width>=768px)and (width<=1200px){.container{padding:0 6rem!important}.outer-section-fadeout{top:62rem!important}}@media(max-width:991px){.resource-banner .container{display:flex;flex-direction:column;align-items:flex-start;min-height:auto}.resource-banner .text-content,.resource-banner .text-extension,.resource-banner .image-content{position:static!important;left:auto;top:auto;max-width:100%;margin:0!important}.resource-banner .text-content{margin-bottom:0!important}.text-extension{margin-top:1rem!important}.resource-banner .image-content{width:100%;height:auto;align-self:center;margin-top:auto!important}.resource-banner .resource-laptop-img{position:static!important;max-width:260px;width:100%;height:auto!important}.resource-banner{padding:2rem 0 0rem!important}}@media(max-width:575px){.resource-banner:after{height:45%}}\n", ".bold{font-weight:700}.resource-heading{margin-bottom:2rem}.resource-note{margin-top:1rem;font-size:.85rem;color:#555}.resource-divider{border:0;height:40px;width:100%;background:linear-gradient(to bottom,#0000,#00000026);margin:0}.press-release-icon{height:auto!important;margin:0 11px 1.9rem;display:block;align-self:center;width:auto!important;aspect-ratio:0!important;object-fit:cover;margin-top:auto;margin-right:0!important}.resource-vault-section{padding:60px 0;background:#fff;padding-bottom:9rem!important;padding-top:7rem!important;box-shadow:0 4px 32px -14px #40576d4d!important}.resource-vault-section .vault-heading{font-size:3rem;font-weight:300}.resource-vault-section .explore-link{color:#000;font-weight:400;text-decoration:none;font-size:1.5rem}.resource-vault-section .resource-blog-card{display:flex;flex-direction:column;justify-content:space-between;background-color:#fff;border-radius:30px;box-shadow:0 20px 40px #00000014;padding:25px;text-align:center;width:338px;height:auto!important}.resource-vault-section .resource-blog-card h5{font-size:1.5rem;font-weight:400;margin-bottom:.5rem;color:var(--text-color, black)}.resource-vault-section .resource-blog-card p{font-size:1.5rem;color:var(--text-color, black);line-height:2rem}.resource-vault-section .resource-blog-card img{width:100%;border-radius:10px;aspect-ratio:1/1;object-fit:cover;margin-top:auto;margin-right:0!important;max-width:250px!important;align-self:center!important}.resource-vault-section .resource-blog-card iframe{height:210px;border-radius:10px;object-fit:cover;margin-right:0!important;max-width:280px!important}.resource-vault-section .resource-blog-card .resource-btn{background-color:var(--text-color, black);color:#fff;margin-top:auto;padding:10px 24px;border-radius:24px;font-size:1.5rem;font-weight:500;width:100%;max-width:240px;cursor:pointer;transition:background .3s ease;display:flex;justify-content:space-between;align-self:center;align-items:center;text-align:left;text-decoration:none;border:1px solid;box-shadow:none!important;border-color:var(--text-color, black)}.resource-vault-section .resource-blog-card .resource-btn:hover{background:#fff;color:var(--text-color, black)!important}.resource-vault-section .vault-description{text-align:left;max-width:657px;color:#182527;line-height:2.3rem!important;font-size:1.65rem}@media(width<=1200px){.resource-vault-section .vault-heading{font-size:3.5rem}.resource-vault-section .vault-description{margin-top:1.35rem}.resource-vault-section .resource-btn{margin-left:0!important}}.video-row{gap:5.5rem!important;margin-top:3rem!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}}@media(max-width:768px){.resource-vault-section{padding-bottom:6rem!important}.resource-vault-section .container{padding-top:0rem!important;padding-bottom:0rem!important}.vault-header{text-align:center!important}.vault-heading{font-size:3rem!important}}@media(width<=1200px){.container{padding:7rem 3rem 1rem!important}}\n"] }]
213
+ }], ctorParameters: () => [{ type: ResourceService }, { type: i2.AuthService }, { type: i2.TagService }, { type: i3.Title }, { type: i0.ChangeDetectorRef }, { type: i0.Injector }] });
214
+
215
+ const routes = [
216
+ {
217
+ path: '',
218
+ component: ResourceWebinarComponent,
219
+ data: {
220
+ title: 'Resources - Events',
221
+ permission: 'Pages.Blog',
222
+ preload: false
223
+ }
224
+ }
225
+ ];
226
+ class ResourceEventsModule {
227
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ResourceEventsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
228
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.6", ngImport: i0, type: ResourceEventsModule, declarations: [ResourceWebinarComponent, ReplayEventCardComponent], imports: [ResourceSharedModule, i1.RouterModule] }); }
229
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ResourceEventsModule, imports: [ResourceSharedModule, RouterModule.forChild(routes)] }); }
230
+ }
231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ResourceEventsModule, decorators: [{
232
+ type: NgModule,
233
+ args: [{
234
+ declarations: [ResourceWebinarComponent, ReplayEventCardComponent],
235
+ imports: [ResourceSharedModule, RouterModule.forChild(routes)]
236
+ }]
237
+ }] });
238
+
239
+ export { ResourceEventsModule };
240
+ //# sourceMappingURL=posiwise-resource-module-resource-events.module-DtZaPh7n.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"posiwise-resource-module-resource-events.module-DtZaPh7n.mjs","sources":["../../../../libs/resource-module/src/lib/public/components/resource-webinars/replay-event-cards/replay-event-cards.component.ts","../../../../libs/resource-module/src/lib/public/components/resource-webinars/replay-event-cards/replay-event-cards.component.html","../../../../libs/resource-module/src/lib/public/components/resource-webinars/resource-webinars.component.ts","../../../../libs/resource-module/src/lib/public/components/resource-webinars/resource-webinars.component.html","../../../../libs/resource-module/src/lib/public/modules/events/resource-events.module.ts"],"sourcesContent":["import {\n ChangeDetectorRef,\n Component,\n Injector,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges\n} from '@angular/core';\n\nimport { AppBaseComponent } from '@posiwise/app-base-component';\nimport { TagService } from '@posiwise/common-services';\nimport { Resource, User } from '@posiwise/common-utilities';\nimport { HelperService } from '@posiwise/helper-service';\n\nimport { ResourceService } from '../../../../resource.service';\n\n@Component({\n selector: 'pw-replay-event-card',\n templateUrl: './replay-event-cards.component.html',\n styleUrls: ['../../resources/resources-shared.component.scss'],\n\n standalone: false\n})\nexport class ReplayEventCardComponent extends AppBaseComponent implements OnInit, OnChanges {\n @Input() showEventContent = false;\n @Input() categoryId!: string;\n @Input() resourceTitle!: string;\n @Input() user: User;\n\n canEditResourcesValue = false;\n @Input() userLoggedIn: boolean;\n\n subscriptionId;\n\n masterSubscriptionId = this.appConfig.master_subscription.subscription_id;\n\n posts: Resource[] = [];\n\n isLoaded = false;\n blogPostTag;\n\n isMasterSubscription;\n\n constructor(\n private readonly resourceService: ResourceService,\n private readonly tagService: TagService,\n private readonly cdr: ChangeDetectorRef,\n injector: Injector\n ) {\n super(injector);\n }\n\n ngOnInit(): void {\n if (this.userLoggedIn) {\n this.localStorage.getItem$('product').subscribe(res => {\n const data = res ? JSON.parse(res) : null;\n this.subscriptionId = data?.subscriptionId;\n this.cdr.markForCheck();\n });\n this.getPostTags();\n } else {\n this.getPostTags();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['user'] || changes['userLoggedIn']) {\n if (this.userLoggedIn && this.user) {\n this.updateCanEditResourcesValue();\n }\n }\n }\n\n private getPostTags() {\n this.tagService\n .getTagsByType('post_categories', {}, this.getEffectiveSubscriptionId())\n .subscribe(response => {\n this.blogPostTag = response.tags.find(tag => tag.name === 'Events');\n if (this.blogPostTag?.tag_category_id) {\n this.getPosts(1, 100);\n } else {\n this.isLoaded = true;\n }\n this.cdr.markForCheck();\n });\n }\n\n getPosts(page: number, pageSize: number): void {\n this.isLoaded = false;\n this.resourceService\n .getPublicPosts(\n this.getEffectiveSubscriptionId(),\n page,\n pageSize,\n '',\n this.blogPostTag?.tag_category_id\n )\n .subscribe(response => {\n const now = new Date().getTime();\n const sortedPosts = (response.posts ?? [])\n .filter(post => post.showcase === true && new Date(post?.when).getTime() < now)\n .sort(\n (a, b) =>\n new Date(b.published_at).getTime() - new Date(a.published_at).getTime()\n );\n this.posts = sortedPosts;\n this.cdr.markForCheck();\n })\n .add(() => {\n this.isLoaded = true;\n this.cdr.markForCheck();\n });\n }\n\n /** Helper method to get effective subscription ID */\n private getEffectiveSubscriptionId(): number {\n return HelperService.getEffectiveSubscriptionId(\n this.user,\n this.subscriptionId,\n this.masterSubscriptionId\n );\n }\n private updateCanEditResourcesValue(): void {\n this.canEditResourcesValue = HelperService.canEditResources(\n this.user,\n this.userLoggedIn,\n this.permissionService\n );\n }\n\n canEditResources(): boolean {\n return this.canEditResourcesValue;\n }\n}\n","<section class=\"resource-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 @if (resourceTitle) {\n <h2 class=\"vault-heading\">{{resourceTitle}} Replays</h2>\n } @else {\n <h2 class=\"vault-heading\">Events &amp; Webinars Replays</h2>\n }\n </div>\n </div>\n\n @if (!isLoaded) {\n <div class=\"w-100 text-center mt-3\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n }\n @if (posts.length === 0 && isLoaded) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n }\n\n @if (posts.length !== 0 && isLoaded) {\n <div class=\"row mt-5 d-flex flex-wrap justify-content-center gap-4 video-row\">\n @for (post of posts; track post) {\n <div class=\"resource-blog-card vault-card text-center p-4\">\n <pw-resource-edit-card-lazy\n [canEdit]=\"canEditResourcesValue\"\n [id]=\"post.id\"\n [resourceData]=\"post\"\n (updated)=\"getPosts(1, 100)\">\n </pw-resource-edit-card-lazy>\n <h5 class=\"badge-title fw-bold\">REPLAY:</h5>\n <p class=\"event-title mb-4\" [innerHtml]=\"post?.title\"></p>\n <img\n [src]=\"post.picture.url\"\n class=\"img-fluid my-3 mt-auto\"\n alt=\"Webinar\" />\n @if (post?.external_url) {\n <a\n class=\"resource-btn mt-3\"\n [href]=\"post.external_url\"\n aria-label=\"Navigate to external url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"arrow\">→</span>\n </a>\n } @else {\n <a class=\"resource-btn mt-3\" aria-label=\"Navigate to resource view\" [routerLink]=\"['/resources/view', post?.slug]\">\n <span>{{ post?.cta_text && post.cta_text !== 'null' ? post.cta_text : 'Read Now' }}</span>\n <span class=\"arrow\">→</span>\n </a>\n }\n </div>\n }\n </div>\n }\n </div>\n</section>\n","import { ChangeDetectorRef, Component, Injector, OnInit } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\n\nimport { AppBaseComponent } from '@posiwise/app-base-component';\nimport { AuthService, TagService } from '@posiwise/common-services';\nimport { Resource, Tag, User } from '@posiwise/common-utilities';\nimport { HelperService } from '@posiwise/helper-service';\n\nimport { ResourceService } from '../../../resource.service';\n\n@Component({\n selector: 'pw-resource-webinars',\n templateUrl: './resource-webinars.component.html',\n styleUrls: [\n './resource-webinars.component.scss',\n '../resource-case-studies/resource-case-studies.component.scss',\n '../resources/resources-shared.component.scss'\n ],\n\n standalone: false\n})\nexport class ResourceWebinarComponent extends AppBaseComponent implements OnInit {\n subscriptionId: number;\n masterSubscriptionId = this.appConfig.master_subscription.subscription_id;\n posts: Resource[] = [];\n upcomingPosts = [];\n tagCategory;\n userLoggedIn: boolean;\n blogPostTag;\n isLoaded = false;\n\n canEditResourcesValue = false;\n\n user: User;\n isMasterSubscription;\n\n constructor(\n private readonly resourceService: ResourceService,\n private readonly authService: AuthService,\n private readonly tagService: TagService,\n private readonly titleService: Title,\n private readonly cdr: ChangeDetectorRef,\n injector: Injector\n ) {\n super(injector);\n }\n\n ngOnInit() {\n this.getUserSubscriptionId().subscribe(response => {\n this.subscriptionId = response;\n this.cdr.markForCheck();\n });\n this.authService.getToken$().subscribe(res => {\n this.userLoggedIn = !!res;\n if (this.userLoggedIn) {\n this.localStorage.getItem$('product').subscribe(res => {\n const data = res ? JSON.parse(res) : null;\n this.subscriptionId = data?.subscriptionId;\n this.cdr.markForCheck();\n });\n this.userService.getUserInfo().subscribe(data => {\n this.user = data;\n this.getTags();\n this.updateCanEditResourcesValue();\n this.cdr.markForCheck();\n });\n } else {\n this.getTags();\n }\n this.cdr.markForCheck();\n });\n }\n\n private getTags() {\n this.isLoaded = false;\n this.tagService\n .getAllTagCategories({ search: 'Events' }, this.getEffectiveSubscriptionId())\n .subscribe(response => {\n this.tagCategory = response?.tag_categories?.[0];\n this.getPostTags();\n this.cdr.markForCheck();\n });\n }\n\n private getPostTags() {\n this.tagService\n .getTagsByType('post_categories', {}, this.getEffectiveSubscriptionId())\n .subscribe(response => {\n this.blogPostTag = response.tags.find(\n tag => tag.tag_category_id === this.tagCategory?.id\n );\n this.updateSEOMetadata();\n this.cdr.markForCheck();\n })\n .add(() => {\n this.isLoaded = true;\n this.cdr.markForCheck();\n });\n }\n\n private updateSEOMetadata() {\n if (this.blogPostTag) {\n // Update page title if meta_title is available\n if ((this.blogPostTag as Tag).meta_title) {\n this.titleService.setTitle((this.blogPostTag as Tag).meta_title);\n }\n\n // Update meta description if meta_description is available\n if ((this.blogPostTag as Tag).meta_description) {\n this.updateMetaDescription((this.blogPostTag as Tag).meta_description);\n }\n }\n }\n\n private updateMetaDescription(description: string) {\n let metaDescription = document.querySelector('meta[name=\"description\"]');\n if (!metaDescription) {\n metaDescription = document.createElement('meta');\n metaDescription.setAttribute('name', 'description');\n document.head.appendChild(metaDescription);\n }\n metaDescription.setAttribute('content', description);\n }\n\n /** Helper method to get effective subscription ID */\n private getEffectiveSubscriptionId(): number {\n return HelperService.getEffectiveSubscriptionId(\n this.user,\n this.subscriptionId,\n this.masterSubscriptionId\n );\n }\n\n private updateCanEditResourcesValue(): void {\n if (this.userLoggedIn && this.user) {\n this.canEditResourcesValue = HelperService.canEditResources(\n this.user,\n this.userLoggedIn,\n this.permissionService\n );\n } else {\n this.canEditResourcesValue = false;\n }\n }\n\n canEditResources(): boolean {\n return this.canEditResourcesValue;\n }\n}\n","<pw-resource-header [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-header>\n\n\n<section class=\"bg-white\">\n <div class=\"resource-banner resource-section\">\n @if (isLoaded) {\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\">\n <!-- Left Content -->\n <div class=\"text-content\">\n <div class=\"resource-heading\">\n <h1 class=\"resource-header-text mb-4\">\n <span class=\"d-inline-flex align-items-center gap-2 flex-wrap\">\n <span [innerHTML]=\"blogPostTag?.title || 'Events & Webinars'\"></span>\n @if (canEditResourcesValue) {\n <pw-resource-top-banner-edit\n [blogPostTag]=\"blogPostTag\"\n [user]=\"user\"\n [userLoggedIn]=\"userLoggedIn\"\n (getUpdatedTag)=\"getPostTags()\"\n ></pw-resource-top-banner-edit>\n }\n </span>\n <span class=\"blue-text\"></span>\n </h1>\n </div>\n </div>\n <!-- Add directly below .text-content, still inside .container -->\n <div class=\"text-extension\">\n @if (!blogPostTag?.description || blogPostTag.description === 'null') {\n <p class=\"intro\">\n We're big on community and even<br>bigger on sharing what works.\n </p>\n }\n @if (blogPostTag?.description && blogPostTag.description !== 'null') {\n <div class=\"cta-buttons d-flex gap-3 flex-wrap mt-3\">\n <p class=\"intro\" [innerHTML]=\"blogPostTag.description\"></p>\n </div>\n }\n </div>\n <!-- Right Content -->\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <div class=\"resource-math-img\" ></div>\n <img class=\"resource-laptop-img\"\n [src]=\"(blogPostTag?.image?.url !== null && !blogPostTag?.image?.url?.includes('default-photo.jpg') && !(blogPostTag?.image?.url.includes('no_image_uploaded_squared')) ) ? blogPostTag?.image?.url : 'assets/img/resource/events-women.png'\"\n alt=\"Events and webinars banner\"\n loading=\"eager\"\n fetchpriority=\"high\" />\n </div>\n </div>\n }\n </div>\n</section>\n\n<section class=\"bg-white\">\n <pw-upcoming-event-card [tag]=\"blogPostTag\" [categoryId]=\"blogPostTag?.tag_category_id\" [resourceTitle]=\"blogPostTag?.title\" [postSlice]=\"true\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-upcoming-event-card>\n</section>\n\n\n\n\n\n<pw-trial-4-contact-us [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-trial-4-contact-us>\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nimport { ReplayEventCardComponent } from '../../components/resource-webinars/replay-event-cards/replay-event-cards.component';\nimport { ResourceWebinarComponent } from '../../components/resource-webinars/resource-webinars.component';\nimport { ResourceSharedModule } from '../../shared/resource-shared.module';\n\nconst routes: Routes = [\n {\n path: '',\n component: ResourceWebinarComponent,\n data: {\n title: 'Resources - Events',\n permission: 'Pages.Blog',\n preload: false\n }\n }\n];\n\n@NgModule({\n declarations: [ResourceWebinarComponent, ReplayEventCardComponent],\n imports: [ResourceSharedModule, RouterModule.forChild(routes)]\n})\nexport class ResourceEventsModule {}\n"],"names":["i1.ResourceService","i3","i4","i5.ResourceEditCardLazyComponent","i8","i4.ResourceTopBannerEditComponent","i5.UpcomingEventCardComponent","i6","i7"],"mappings":"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"}