@posiwise/resource-module 0.0.192 → 0.0.194

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 (54) hide show
  1. package/fesm2022/posiwise-resource-module-base-top-banner.component-DSirXfem.mjs +142 -0
  2. package/fesm2022/posiwise-resource-module-base-top-banner.component-DSirXfem.mjs.map +1 -0
  3. package/fesm2022/posiwise-resource-module-resource-blogs.module-DIh--y78.mjs +264 -0
  4. package/fesm2022/posiwise-resource-module-resource-blogs.module-DIh--y78.mjs.map +1 -0
  5. package/fesm2022/posiwise-resource-module-resource-cards.module-Bp4BgXL2.mjs +1928 -0
  6. package/fesm2022/posiwise-resource-module-resource-cards.module-Bp4BgXL2.mjs.map +1 -0
  7. package/fesm2022/posiwise-resource-module-resource-case-studies.module-BtkkgIFa.mjs +246 -0
  8. package/fesm2022/posiwise-resource-module-resource-case-studies.module-BtkkgIFa.mjs.map +1 -0
  9. package/fesm2022/posiwise-resource-module-resource-events.module-BwK6UfCq.mjs +460 -0
  10. package/fesm2022/posiwise-resource-module-resource-events.module-BwK6UfCq.mjs.map +1 -0
  11. package/fesm2022/posiwise-resource-module-resource-hub.module-BWvid8gs.mjs +443 -0
  12. package/fesm2022/posiwise-resource-module-resource-hub.module-BWvid8gs.mjs.map +1 -0
  13. package/fesm2022/posiwise-resource-module-resource-integrations.module-qudabfwX.mjs +604 -0
  14. package/fesm2022/posiwise-resource-module-resource-integrations.module-qudabfwX.mjs.map +1 -0
  15. package/fesm2022/posiwise-resource-module-resource-post.module-BJnApbtU.mjs +777 -0
  16. package/fesm2022/posiwise-resource-module-resource-post.module-BJnApbtU.mjs.map +1 -0
  17. package/fesm2022/posiwise-resource-module-resource-release-notes.module-TH1usNf-.mjs +294 -0
  18. package/fesm2022/posiwise-resource-module-resource-release-notes.module-TH1usNf-.mjs.map +1 -0
  19. package/fesm2022/posiwise-resource-module-resource-root.module-DP0EMP-_.mjs +769 -0
  20. package/fesm2022/posiwise-resource-module-resource-root.module-DP0EMP-_.mjs.map +1 -0
  21. package/fesm2022/posiwise-resource-module-resource-videos.module-DR7dQ_8r.mjs +258 -0
  22. package/fesm2022/posiwise-resource-module-resource-videos.module-DR7dQ_8r.mjs.map +1 -0
  23. package/fesm2022/posiwise-resource-module-resource-white-papers.module-C8J9-eqL.mjs +259 -0
  24. package/fesm2022/posiwise-resource-module-resource-white-papers.module-C8J9-eqL.mjs.map +1 -0
  25. package/fesm2022/posiwise-resource-module-resource.service-DjeMJX1O.mjs +88 -0
  26. package/fesm2022/posiwise-resource-module-resource.service-DjeMJX1O.mjs.map +1 -0
  27. package/fesm2022/posiwise-resource-module.mjs +1603 -2
  28. package/fesm2022/posiwise-resource-module.mjs.map +1 -1
  29. package/package.json +6 -5
  30. package/types/posiwise-resource-module.d.ts +794 -506
  31. package/fesm2022/posiwise-resource-module-base-top-banner.component-CIvGr9du.mjs +0 -116
  32. package/fesm2022/posiwise-resource-module-base-top-banner.component-CIvGr9du.mjs.map +0 -1
  33. package/fesm2022/posiwise-resource-module-posiwise-resource-module-QIX6Y1Ol.mjs +0 -1888
  34. package/fesm2022/posiwise-resource-module-posiwise-resource-module-QIX6Y1Ol.mjs.map +0 -1
  35. package/fesm2022/posiwise-resource-module-resource-blogs.module-DQhQ9YWu.mjs +0 -69
  36. package/fesm2022/posiwise-resource-module-resource-blogs.module-DQhQ9YWu.mjs.map +0 -1
  37. package/fesm2022/posiwise-resource-module-resource-case-studies.module-D7ALgcL_.mjs +0 -135
  38. package/fesm2022/posiwise-resource-module-resource-case-studies.module-D7ALgcL_.mjs.map +0 -1
  39. package/fesm2022/posiwise-resource-module-resource-events.module-UnO7wcUI.mjs +0 -241
  40. package/fesm2022/posiwise-resource-module-resource-events.module-UnO7wcUI.mjs.map +0 -1
  41. package/fesm2022/posiwise-resource-module-resource-hub.module-UBFt3bki.mjs +0 -244
  42. package/fesm2022/posiwise-resource-module-resource-hub.module-UBFt3bki.mjs.map +0 -1
  43. package/fesm2022/posiwise-resource-module-resource-integrations.module-D7idZK_y.mjs +0 -295
  44. package/fesm2022/posiwise-resource-module-resource-integrations.module-D7idZK_y.mjs.map +0 -1
  45. package/fesm2022/posiwise-resource-module-resource-post.module-CR9sCgeR.mjs +0 -334
  46. package/fesm2022/posiwise-resource-module-resource-post.module-CR9sCgeR.mjs.map +0 -1
  47. package/fesm2022/posiwise-resource-module-resource-release-notes.module-DxRiC1Q4.mjs +0 -110
  48. package/fesm2022/posiwise-resource-module-resource-release-notes.module-DxRiC1Q4.mjs.map +0 -1
  49. package/fesm2022/posiwise-resource-module-resource-root.module-PmW6b6c0.mjs +0 -398
  50. package/fesm2022/posiwise-resource-module-resource-root.module-PmW6b6c0.mjs.map +0 -1
  51. package/fesm2022/posiwise-resource-module-resource-videos.module-VJAmMFn-.mjs +0 -68
  52. package/fesm2022/posiwise-resource-module-resource-videos.module-VJAmMFn-.mjs.map +0 -1
  53. package/fesm2022/posiwise-resource-module-resource-white-papers.module-jsS-ik0o.mjs +0 -70
  54. package/fesm2022/posiwise-resource-module-resource-white-papers.module-jsS-ik0o.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"posiwise-resource-module-resource-post.module-BJnApbtU.mjs","names":[],"sources":["../../../../libs/resource-module/src/lib/shared/models/resource.model.ts","../../../../libs/resource-module/src/lib/public/components/resource-post/related-resources/related-resources.component.ts","../../../../libs/resource-module/src/lib/public/components/resource-post/related-resources/related-resources.component.html","../../../../libs/resource-module/src/lib/public/components/resource-post/resource-post-details/resource-post-details.component.ts","../../../../libs/resource-module/src/lib/public/components/resource-post/resource-post-details/resource-post-details.component.html","../../../../libs/resource-module/src/lib/public/components/resource-post/resource-post.component.ts","../../../../libs/resource-module/src/lib/public/components/resource-post/resource-post.component.html","../../../../libs/resource-module/src/lib/public/modules/post/resource-post.module.ts"],"sourcesContent":["import { UntypedFormBuilder, Validators } from '@angular/forms';\n\nexport class ResourceBlog {\n static getResourcePostsForm() {\n return new UntypedFormBuilder().group({\n related_entity_id: [''],\n related_entity_type: [''],\n comment: [null, Validators.required],\n user_id: ['']\n });\n }\n}\n","import { ChangeDetectionStrategy,\n ChangeDetectorRef, Component, Injector, OnInit } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport { AppBaseComponent } from '@posiwise/app-base-component';\nimport { AuthService, CustomToastService, TagService } from '@posiwise/common-services';\nimport { User } from '@posiwise/common-utilities';\nimport { HelperService } from '@posiwise/helper-service';\n\nimport { ResourceService } from '../../../../resource.service';\nimport { ResourceBlog } from '../../../../shared/models/resource.model';\n\n@Component({\n selector: 'pw-related-resources',\n templateUrl: './related-resources.component.html',\n styleUrls: ['./related-resources.component.scss'],\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class RelatedResourcesComponent extends AppBaseComponent implements OnInit {\n resourceCards = [\n {\n title: 'BLOG: Here’s why you should QA your distributor invoices',\n image: '/assets/img/resource/resource-qa.png',\n alt: 'QA distributor invoices',\n url: '/resources/view/here-s-why-you-should-be-seeking-independent-qa-of-all-distributor-inv'\n },\n {\n title: 'BLOG: 4 instant hacks to uplift your MSP’s monthly billing',\n image: '/assets/img/resource/resource-hacks.png',\n alt: 'Monthly billing hacks',\n url: '/resources/view/4-instant-hacks-to-uplift-your-msp-s-monthly-billing'\n },\n {\n title: 'BLOG: The trivial detail that will either future-proof or sabotage your PSA.',\n image: '/assets/img/resource/resource-psa.png',\n alt: 'PSA future-proof',\n url: '/resources/view/the-trivial-detail-that-will-either-future-proof-or-sabotage-your-psa'\n }\n ];\n\n post;\n masterSubscriptionId;\n slug;\n\n postComments = [];\n commentForm;\n\n userLoggedIn: boolean;\n\n demoLinks = this.appConfig?.pages_config?.book_demo?.items;\n\n user: User;\n blogPostTag;\n subscriptionId;\n isMasterSubscription;\n linkedInUrl = this.appConfig?.social?.linkedin_url;\n company_email = this.appConfig.company.email;\n\n constructor(\n private readonly resourceService: ResourceService,\n injector: Injector,\n private readonly sanitizer: DomSanitizer,\n private readonly tagService: TagService,\n private readonly authService: AuthService,\n private readonly toastr: CustomToastService,\n private readonly cdr: ChangeDetectorRef\n ) {\n super(injector);\n this.commentForm = ResourceBlog.getResourcePostsForm();\n }\n\n ngOnInit(): void {\n this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;\n this.route.params.subscribe(params => {\n this.slug = params['slug'] ?? '';\n this.getBlogItem(this.slug);\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\n this.getPostTags();\n this.cdr.markForCheck();\n });\n } else {\n this.getPostTags();\n }\n this.cdr.markForCheck();\n });\n }\n\n get hasValidDemoLinks(): boolean {\n return (\n Array.isArray(this.demoLinks) && this.demoLinks.some(link => link?.title ?? link?.url)\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 === 'Blog Posts');\n this.cdr.markForCheck();\n });\n }\n\n private getBlogItem(slug: string) {\n this.resourceService.getPostBySlug(slug).subscribe(response => {\n let blogBody;\n if (response?.body) {\n blogBody = HelperService.sanitizeQuillBody(response.body, this.sanitizer);\n }\n const date = new Date(response?.when);\n const formatted = date.toISOString().split('T')[0];\n this.postComments = response.entity_comments;\n this.post = { ...response, body: blogBody, when: formatted };\n this.cdr.markForCheck();\n });\n }\n\n onComment() {\n const data = { ...this.commentForm.value };\n data.related_entity_id = this.post?.id;\n data.related_entity_type = 'Post';\n data.user_id = this.user?.id;\n this.resourceService.postComments(data).subscribe(() => {\n this.getBlogItem(this.slug);\n this.commentForm.reset();\n this.toastr.success(this.translation.translate('Resource.Posts.CommentAdded'));\n this.cdr.markForCheck();\n });\n }\n\n trackByComment(_index: number, item: { id: number }) {\n return item.id;\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","\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=\"resource-offer-section\">\n\n <div class=\"row mt-5 mb-4 response-row\">\n <div class=\"col-12\">\n @if (userLoggedIn) {\n <form\n class=\"p-fluid mb-5\"\n [formGroup]=\"commentForm\"\n (ngSubmit)=\"onComment()\"\n >\n <div class=\"card shadow-sm no-border p-4\">\n <div class=\"field\">\n <label for=\"related-resources-comment\" class=\"font-bold text-lg mb-4 comment-label\">💬 LEAVE A COMMENT</label>\n <textarea\n id=\"related-resources-comment\"\n pInputTextarea\n formControlName=\"comment\"\n rows=\"6\"\n fluid\n placeholder=\"What's on your mind?\"\n\n aria-label=\"What's on your mind?\" ></textarea>\n @if (commentForm.get('comment')?.invalid && commentForm.get('comment')?.touched) {\n <small\n class=\"text-danger\"\n >Please enter comment</small\n >\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 } @else {\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 }\n </div>\n </div>\n\n @if (postComments.length > 0) {\n <div class=\"row mt-5 comment-row\">\n @for (comment of postComments; track trackByComment($index, comment)) {\n <div class=\"col-12\">\n <div class=\"card no-border 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 }\n </div>\n }\n\n\n </section>\n </div>\n <hr class=\"resource-divider\" />\n </section>\n\n @if (hasValidDemoLinks) {\n <section class=\"resource-book-section\">\n <div class=\"container\">\n <p class=\"resource-contact\">\n Any questions, get in touch <a href=\"mailto:{{ company_email }}\">here</a>,\n <a [href]=\"linkedInUrl\" target=\"_blank\">connect on LinkedIn</a>, or book a meeting below:\n </p>\n </div>\n <pw-book-a-demo [isBlog]=\"true\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-book-a-demo>\n <hr class=\"resource-divider\" />\n </section>\n }\n\n\n @if (blogPostTag?.tag_category_id) {\n <pw-resource-cards [tag]=\"blogPostTag\" [categoryId]=\"blogPostTag?.tag_category_id\" [resourceTitle]=\"blogPostTag?.title\" [isHeaderVisible]=\"true\" resourceLink=\"/resources/blogs\" [isRelated]=\"true\" [resourceTitle]=\"'Other resources you may be interested in:'\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-cards>\n }\n","import { ChangeDetectionStrategy,\n ChangeDetectorRef, Component, Injector, OnInit } from '@angular/core';\nimport { DomSanitizer, Meta, Title } from '@angular/platform-browser';\n\nimport { AppBaseComponent } from '@posiwise/app-base-component';\nimport { AuthService, TagService } from '@posiwise/common-services';\nimport { ADMIN_ROUTERS, User } from '@posiwise/common-utilities';\nimport { HelperService } from '@posiwise/helper-service';\n\nimport { ResourceService } from '../../../../resource.service';\n@Component({\n selector: 'pw-resource-post-details',\n templateUrl: './resource-post-details.component.html',\n styleUrls: ['./resource-post-details.component.scss'],\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class ResourcePostDetailsComponent extends AppBaseComponent implements OnInit {\n post;\n masterSubscriptionId;\n slug;\n blogPermission: string;\n userLoggedIn: boolean;\n routers = ADMIN_ROUTERS;\n hasBlogAccess: boolean;\n user: User;\n subscriptionId: number;\n blogPostTag;\n postCategoryTags = [];\n isLoaded = false;\n\n private static readonly CATEGORY_LABEL_KEYS: Record<string, string> = {\n 'Blog Posts': 'Resource.Posts.Category.BlogPosts',\n 'Case Studies': 'Resource.Posts.Category.CaseStudies',\n Webinars: 'Resource.Posts.Category.Webinars',\n Videos: 'Resource.Posts.Category.Videos',\n Events: 'Resource.Posts.Category.Events',\n 'White Papers': 'Resource.Posts.Category.WhitePapers',\n 'Product Release Notes': 'Resource.Posts.Category.ProductReleaseNotes'\n };\n private static readonly DEFAULT_CATEGORY_LABEL_KEY = 'Resource.Posts.Category.Default';\n\n constructor(\n private readonly resourceService: ResourceService,\n private readonly tagService: TagService,\n private readonly authService: AuthService,\n private readonly titleService: Title,\n private readonly meta: Meta,\n injector: Injector,\n private readonly sanitizer: DomSanitizer,\n private readonly cdr: ChangeDetectorRef\n ) {\n super(injector);\n }\n\n ngOnInit(): void {\n this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;\n this.getUserSubscriptionId().subscribe(response => {\n this.subscriptionId = response;\n this.cdr.markForCheck();\n });\n this.route.params.subscribe(params => {\n this.slug = params['slug'] ?? '';\n this.getBlogItem(this.slug);\n this.cdr.markForCheck();\n });\n\n this.authService.getToken$().subscribe(res => {\n this.userLoggedIn = !!res;\n\n if (res) {\n this.userService.getUserInfo().subscribe(data => {\n this.user = data;\n this.hasBlogAccess = HelperService.checkBlogPermission(this.user);\n this.cdr.markForCheck();\n });\n }\n\n this.getPostTags();\n this.cdr.markForCheck();\n });\n }\n\n private getPostTags() {\n this.tagService\n .getTagsByType('post_categories', {}, this.subscriptionId || this.masterSubscriptionId)\n .subscribe(response => {\n this.postCategoryTags = response.tags ?? [];\n this.blogPostTag = this.postCategoryTags.find(tag => tag.name === 'Blog Posts');\n // Update SEO metadata again now that blogPostTag is available\n if (this.post) {\n this.setOpenGraphMetaTags();\n }\n this.cdr.markForCheck();\n })\n .add(() => {\n this.isLoaded = true;\n this.cdr.markForCheck();\n });\n }\n\n get postCategoryLabelKey(): string {\n const categoryIds = new Set(this.postCategoryTags.map(t => t.id));\n const match = this.post?.tags?.find(t => categoryIds.has(t.id));\n return (\n ResourcePostDetailsComponent.CATEGORY_LABEL_KEYS[match?.name] ??\n ResourcePostDetailsComponent.DEFAULT_CATEGORY_LABEL_KEY\n );\n }\n\n private getBlogItem(slug: string) {\n this.resourceService.getPostBySlug(slug).subscribe(response => {\n let blogBody;\n if (response?.body) {\n blogBody = HelperService.sanitizeQuillBody(response.body, this.sanitizer);\n }\n this.post = { ...response, body: blogBody };\n this.cdr.markForCheck();\n });\n }\n\n private setOpenGraphMetaTags() {\n if (this.post.title) {\n this.meta.updateTag({ property: 'og:title', content: this.post.title });\n this.meta.updateTag({ name: 'twitter:title', content: this.post.title });\n }\n\n if (this.post.blurb) {\n this.meta.updateTag({ property: 'og:description', content: this.post.blurb });\n this.meta.updateTag({ name: 'twitter:description', content: this.post.blurb });\n }\n\n let imageUrl = null;\n if (this.post?.picture?.url && !this.post.picture.url.includes('default-photo.jpg')) {\n imageUrl = this.post.picture.url;\n } else if (\n this.blogPostTag?.image?.url &&\n !this.blogPostTag.image.url.includes('no_image_uploaded_squared')\n ) {\n imageUrl = this.blogPostTag.image.url;\n }\n\n if (imageUrl) {\n this.meta.updateTag({ property: 'og:image', content: imageUrl });\n this.meta.updateTag({ name: 'twitter:image', content: imageUrl });\n }\n\n this.meta.updateTag({ property: 'og:type', content: 'article' });\n this.meta.updateTag({ property: 'og:url', content: window.location.href });\n this.meta.updateTag({ property: 'og:site_name', content: 'PosiWise' });\n\n // Twitter Card properties\n this.meta.updateTag({ name: 'twitter:card', content: 'summary_large_image' });\n this.meta.updateTag({ name: 'twitter:site', content: '@posiwise' });\n }\n\n getImageUrl(): string | null {\n if (this.post?.picture?.url && !this.post.picture.url.includes('default-photo.jpg')) {\n return this.post.picture.url;\n } else if (\n this.blogPostTag?.image?.url &&\n !this.blogPostTag.image.url.includes('no_image_uploaded_squared')\n ) {\n return this.blogPostTag.image.url;\n }\n return null;\n }\n}\n","<section class=\"resource-hero-section\">\n <div class=\"container d-flex flex-wrap\" [ngClass]=\"getImageUrl() ? 'container-top' : 'container-no-image'\">\n <div class=\"hero-left\">\n <p class=\"blog-label\">{{ postCategoryLabelKey | transloco }}</p>\n\n <h1 class=\"hero-title\">\n @if (post?.title) {\n <span [innerHTML]=\"post.title\"></span>\n } @else {\n &nbsp;\n }\n @if (userLoggedIn && hasBlogAccess) {\n <a\n class=\"ms-3 text-decoration-none\"\n pTooltip=\"Edit this post\"\n tooltipPosition=\"top\"\n appendTo=\"body\"\n aria-label=\"Edit this blog post\"\n [routerLink]=\"['/admin/resources/', post?.slug]\"\n target=\"_blank\">\n <i class=\"fa fa-edit edit-icon\" aria-hidden=\"true\"></i>\n </a>\n }\n </h1>\n\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 | dateFormat}}</p>\n </div>\n </div>\n </div>\n\n @if (isLoaded) {\n <div class=\"hero-right\">\n @if (getImageUrl()) {\n <img\n [src]=\"getImageUrl()\"\n alt=\"Blog Post\"\n class=\"hero-image\"\n />\n } @else {\n <pw-no-data\n class=\"data-image\"\n [withImage]=\"true\"\n [message]=\"'Resource.Tag.NoImageMessage' | transloco\"\n [description]=\"'Resource.Tag.NoDataMessage' | transloco\"\n ></pw-no-data>\n }\n </div>\n }\n </div>\n</section>\n","import { ChangeDetectionStrategy,\n ChangeDetectorRef, Component, Injector, OnInit } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\n\nimport { AppBaseComponent } from '@posiwise/app-base-component';\nimport { AuthService } from '@posiwise/common-services';\nimport { User } from '@posiwise/common-utilities';\n\n@Component({\n selector: 'app-resource-post',\n templateUrl: './resource-post.component.html',\n styleUrl: './resource-post.component.scss',\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class ResourcePostComponent extends AppBaseComponent implements OnInit {\n slug: string;\n user: User;\n userLoggedIn: boolean | undefined = undefined;\n\n constructor(\n private readonly titleService: Title,\n private readonly authService: AuthService,\n private readonly cdr: ChangeDetectorRef,\n injector: Injector\n ) {\n super(injector);\n }\n\n ngOnInit(): void {\n this.route.params.subscribe(params => {\n this.slug = params['slug'] ?? 'Default';\n this.cdr.markForCheck();\n });\n\n this.authService.getToken$().subscribe(res => {\n this.userLoggedIn = !!res;\n if (this.userLoggedIn) {\n this.userService.getUserInfo().subscribe(data => {\n this.user = data;\n this.cdr.markForCheck();\n });\n }\n this.cdr.markForCheck();\n });\n }\n}\n","<pw-resource-header [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></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 [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-trial-4-contact-us>","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nimport { TooltipModule } from 'primeng/tooltip';\n\nimport { RelatedResourcesComponent } from '../../components/resource-post/related-resources/related-resources.component';\nimport { ResourcePostComponent } from '../../components/resource-post/resource-post.component';\nimport { ResourcePostDetailsComponent } from '../../components/resource-post/resource-post-details/resource-post-details.component';\nimport { ResourceSharedModule } from '../../shared/resource-shared.module';\n\nconst routes: Routes = [\n {\n path: '',\n component: ResourcePostComponent,\n data: {\n title: 'Resources - Post',\n permission: 'Pages.Blog',\n preload: false\n }\n }\n];\n\n@NgModule({\n declarations: [ResourcePostComponent, ResourcePostDetailsComponent, RelatedResourcesComponent],\n imports: [ResourceSharedModule, TooltipModule, RouterModule.forChild(routes)],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class ResourcePostModule {}\n"],"mappings":"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"}
@@ -0,0 +1,294 @@
1
+ import { t as ResourceService } from "./posiwise-resource-module-resource.service-DjeMJX1O.mjs";
2
+ import { c as ResourceNoteCardComponent } from "./posiwise-resource-module-resource-cards.module-Bp4BgXL2.mjs";
3
+ import { ResourceSharedModule, ResourceTopBannerEditComponent } from "./posiwise-resource-module.mjs";
4
+ import { t as BaseTopBannerComponent } from "./posiwise-resource-module-base-top-banner.component-DSirXfem.mjs";
5
+ import * as i0 from "@angular/core";
6
+ import { ChangeDetectionStrategy, Component, NgModule } from "@angular/core";
7
+ import { HelperService } from "@posiwise/helper-service";
8
+ import * as i2 from "@posiwise/common-services";
9
+ import * as i1 from "@angular/router";
10
+ import { RouterModule } from "@angular/router";
11
+ import * as i3 from "@posiwise/resource-contact-us";
12
+ import * as i5 from "@posiwise/directives";
13
+ import { AppBaseComponent } from "@posiwise/app-base-component";
14
+ import * as i4 from "@posiwise/utils";
15
+ import * as i3$1 from "@angular/platform-browser";
16
+ var ReleaseTopBannerComponent = class ReleaseTopBannerComponent extends BaseTopBannerComponent {
17
+ constructor(resourceService, tagService, authService, titleService, cdr, injector) {
18
+ super(resourceService, tagService, authService, titleService, cdr, injector);
19
+ this.contactUsUrl = this.appConfig?.pages_config?.contact_us?.url;
20
+ }
21
+ getSearchTerm() {
22
+ return "Release Notes";
23
+ }
24
+ static {
25
+ this.ɵfac = i0.ɵɵngDeclareFactory({
26
+ minVersion: "12.0.0",
27
+ version: "22.2.0",
28
+ ngImport: i0,
29
+ type: ReleaseTopBannerComponent,
30
+ deps: [
31
+ { token: ResourceService },
32
+ { token: i2.TagService },
33
+ { token: i2.AuthService },
34
+ { token: i3$1.Title },
35
+ { token: i0.ChangeDetectorRef },
36
+ { token: i0.Injector }
37
+ ],
38
+ target: i0.ɵɵFactoryTarget.Component
39
+ });
40
+ }
41
+ static {
42
+ this.ɵcmp = i0.ɵɵngDeclareComponent({
43
+ minVersion: "17.0.0",
44
+ version: "22.2.0",
45
+ type: ReleaseTopBannerComponent,
46
+ isStandalone: false,
47
+ selector: "pw-resource-release-notes-top-banner",
48
+ usesInheritance: true,
49
+ ngImport: i0,
50
+ template: "<section class=\"bg-white pricing-section\">\n <div class=\"resource-banner\">\n @if (isLoaded) {\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\">\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 || 'Release Notes'\"></span>\n @if (canEditResourcesValue) {\n <pw-resource-top-banner-edit\n [blogPostTag]=\"blogPostTag\"\n [user]=\"user\"\n [userLoggedIn]=\"userLoggedIn\"\n (getUpdatedTag)=\"getTags()\"\n ></pw-resource-top-banner-edit>\n }\n </span>\n </h1>\n </div>\n </div>\n <div class=\"text-extension mt-4\">\n <div class=\"cta-buttons d-flex flex-column justify-between h-100\">\n <div class=\"flex-grow-1\">\n @if (blogPostTag?.description && blogPostTag.description !== 'null' ) {\n <p class=\"intro\" [innerHTML]=\"blogPostTag.description\"></p>\n } @else {\n <p class=\"intro\">\n We&rsquo;re obsessed with solving real problems for our customers.\n </p>\n }\n </div>\n <div class=\"d-flex gap-3 flex-wrap mt-3\">\n <a [href]=\"contactUsUrl\" target=\"_blank\" rel=\"noopener noreferrer\"\n class=\"cta-btn filled\">Speak to sales <i class=\"fa fa-chevron-right cta-btn__icon\" aria-hidden=\"true\"></i></a>\n </div>\n </div>\n </div>\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 dyn-img\"\n [src]=\"(blogPostTag?.image?.url && !(blogPostTag?.image?.url.includes('no_image_uploaded_squared'))) ? blogPostTag?.image?.url : '/assets/img/resource/release-person.png'\"\n alt=\"Release notes banner\"\n width=\"600\"\n height=\"450\"\n loading=\"eager\"\n fetchpriority=\"high\" />\n </div>\n </div>\n }\n </div>\n</section>\n",
51
+ styles: [
52
+ "@charset \"UTF-8\";.cta-btn{display:inline-flex;align-items:center;gap:.6rem;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 var(--text-color, currentcolor);box-shadow:none!important;transition:background .15s ease,color .15s ease,transform .15s ease}.cta-btn:hover{background-color:#fff!important;color:var(--text-color, currentcolor)!important;transform:translateY(-1px)}.cta-btn:focus-visible{outline:2px solid var(--text-color, currentcolor);outline-offset:3px}.cta-btn__icon{font-size:1.1rem;line-height:1}@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",
53
+ "@media(width<=768px){.dyn-img{top:6rem!important}}\n",
54
+ ".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",
55
+ "textarea{font-size:1rem!important}.resource-body-section{background-color:#fff}.resource-body-section .container{padding:3rem 1.5rem 4rem!important;max-width:850px!important;margin:0 auto;text-align:left}.user-not-logged-in{background:#fafbfc;border:1px solid #e2e5ea;border-radius:8px;font-size:14px;font-weight:400;color:#5a6473;padding:1rem 1.5rem;box-shadow:none!important;margin-bottom:2rem!important}.user-not-logged-in a{color:#1a1d21!important;text-decoration:none;font-weight:600;transition:color .15s ease-out}.user-not-logged-in a:hover,.user-not-logged-in a:focus-visible{color:var(--first)!important}.user-not-logged-in a:focus-visible{outline:2px solid var(--first);outline-offset:2px;border-radius:2px}.resource-book-section{background:#fff;padding-top:4rem;padding-bottom:0}.resource-book-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem!important;text-align:left}.resource-book-section .resource-contact{line-height:1.6;font-size:1rem;color:#3d4654}.resource-book-section .resource-contact a{text-decoration:underline;color:#1a1d21;margin:0 .2rem;transition:color .15s ease-out}.resource-book-section .resource-contact a:hover{color:var(--first)!important}.resource-offer-section{background:#fff;padding-top:1rem}.resource-offer-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.resource-divider{border:0;border-top:1px solid #e2e5ea;margin:2rem auto;max-width:850px;height:0;background:none}::ng-deep .body-quill{border-width:0!important;max-width:850px;display:block;margin-left:auto;margin-right:auto}::ng-deep .p-textarea{border-radius:8px;border:1px solid #e2e5ea;font-size:1rem!important}.card{background-color:#fff;border-radius:12px}.comment-row{gap:1.5rem;padding-bottom:3rem;max-width:850px;display:block;margin-left:auto;margin-right:auto}.comment-label{font-size:14px!important;font-weight:600!important;letter-spacing:.04em;text-transform:uppercase;color:#5a6473}.response-row{max-width:850px;display:block;margin-left:auto;margin-right:auto;margin-top:2rem!important}@media(width<=768px){.resource-body-section .container{padding:2rem 1rem 3rem}.resource-book-section{padding-top:2rem!important}.resource-book-section .resource-contact{font-size:.9375rem!important}}\n"
56
+ ],
57
+ dependencies: [{
58
+ kind: "component",
59
+ type: ResourceTopBannerEditComponent,
60
+ selector: "pw-resource-top-banner-edit",
61
+ inputs: [
62
+ "blogPostTag",
63
+ "user",
64
+ "userLoggedIn"
65
+ ],
66
+ outputs: ["getUpdatedTag"]
67
+ }, {
68
+ kind: "directive",
69
+ type: i5.LazyImgDirective,
70
+ selector: "img"
71
+ }],
72
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
73
+ });
74
+ }
75
+ };
76
+ i0.ɵɵngDeclareClassMetadata({
77
+ minVersion: "12.0.0",
78
+ version: "22.2.0",
79
+ ngImport: i0,
80
+ type: ReleaseTopBannerComponent,
81
+ decorators: [{
82
+ type: Component,
83
+ args: [{
84
+ selector: "pw-resource-release-notes-top-banner",
85
+ changeDetection: ChangeDetectionStrategy.OnPush,
86
+ standalone: false,
87
+ template: "<section class=\"bg-white pricing-section\">\n <div class=\"resource-banner\">\n @if (isLoaded) {\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\">\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 || 'Release Notes'\"></span>\n @if (canEditResourcesValue) {\n <pw-resource-top-banner-edit\n [blogPostTag]=\"blogPostTag\"\n [user]=\"user\"\n [userLoggedIn]=\"userLoggedIn\"\n (getUpdatedTag)=\"getTags()\"\n ></pw-resource-top-banner-edit>\n }\n </span>\n </h1>\n </div>\n </div>\n <div class=\"text-extension mt-4\">\n <div class=\"cta-buttons d-flex flex-column justify-between h-100\">\n <div class=\"flex-grow-1\">\n @if (blogPostTag?.description && blogPostTag.description !== 'null' ) {\n <p class=\"intro\" [innerHTML]=\"blogPostTag.description\"></p>\n } @else {\n <p class=\"intro\">\n We&rsquo;re obsessed with solving real problems for our customers.\n </p>\n }\n </div>\n <div class=\"d-flex gap-3 flex-wrap mt-3\">\n <a [href]=\"contactUsUrl\" target=\"_blank\" rel=\"noopener noreferrer\"\n class=\"cta-btn filled\">Speak to sales <i class=\"fa fa-chevron-right cta-btn__icon\" aria-hidden=\"true\"></i></a>\n </div>\n </div>\n </div>\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 dyn-img\"\n [src]=\"(blogPostTag?.image?.url && !(blogPostTag?.image?.url.includes('no_image_uploaded_squared'))) ? blogPostTag?.image?.url : '/assets/img/resource/release-person.png'\"\n alt=\"Release notes banner\"\n width=\"600\"\n height=\"450\"\n loading=\"eager\"\n fetchpriority=\"high\" />\n </div>\n </div>\n }\n </div>\n</section>\n",
88
+ styles: [
89
+ "@charset \"UTF-8\";.cta-btn{display:inline-flex;align-items:center;gap:.6rem;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 var(--text-color, currentcolor);box-shadow:none!important;transition:background .15s ease,color .15s ease,transform .15s ease}.cta-btn:hover{background-color:#fff!important;color:var(--text-color, currentcolor)!important;transform:translateY(-1px)}.cta-btn:focus-visible{outline:2px solid var(--text-color, currentcolor);outline-offset:3px}.cta-btn__icon{font-size:1.1rem;line-height:1}@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",
90
+ "@media(width<=768px){.dyn-img{top:6rem!important}}\n",
91
+ ".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",
92
+ "textarea{font-size:1rem!important}.resource-body-section{background-color:#fff}.resource-body-section .container{padding:3rem 1.5rem 4rem!important;max-width:850px!important;margin:0 auto;text-align:left}.user-not-logged-in{background:#fafbfc;border:1px solid #e2e5ea;border-radius:8px;font-size:14px;font-weight:400;color:#5a6473;padding:1rem 1.5rem;box-shadow:none!important;margin-bottom:2rem!important}.user-not-logged-in a{color:#1a1d21!important;text-decoration:none;font-weight:600;transition:color .15s ease-out}.user-not-logged-in a:hover,.user-not-logged-in a:focus-visible{color:var(--first)!important}.user-not-logged-in a:focus-visible{outline:2px solid var(--first);outline-offset:2px;border-radius:2px}.resource-book-section{background:#fff;padding-top:4rem;padding-bottom:0}.resource-book-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem!important;text-align:left}.resource-book-section .resource-contact{line-height:1.6;font-size:1rem;color:#3d4654}.resource-book-section .resource-contact a{text-decoration:underline;color:#1a1d21;margin:0 .2rem;transition:color .15s ease-out}.resource-book-section .resource-contact a:hover{color:var(--first)!important}.resource-offer-section{background:#fff;padding-top:1rem}.resource-offer-section .container{max-width:850px;margin:0 auto;padding:0 1.5rem;text-align:left}.resource-divider{border:0;border-top:1px solid #e2e5ea;margin:2rem auto;max-width:850px;height:0;background:none}::ng-deep .body-quill{border-width:0!important;max-width:850px;display:block;margin-left:auto;margin-right:auto}::ng-deep .p-textarea{border-radius:8px;border:1px solid #e2e5ea;font-size:1rem!important}.card{background-color:#fff;border-radius:12px}.comment-row{gap:1.5rem;padding-bottom:3rem;max-width:850px;display:block;margin-left:auto;margin-right:auto}.comment-label{font-size:14px!important;font-weight:600!important;letter-spacing:.04em;text-transform:uppercase;color:#5a6473}.response-row{max-width:850px;display:block;margin-left:auto;margin-right:auto;margin-top:2rem!important}@media(width<=768px){.resource-body-section .container{padding:2rem 1rem 3rem}.resource-book-section{padding-top:2rem!important}.resource-book-section .resource-contact{font-size:.9375rem!important}}\n"
93
+ ]
94
+ }]
95
+ }],
96
+ ctorParameters: () => [
97
+ { type: ResourceService },
98
+ { type: i2.TagService },
99
+ { type: i2.AuthService },
100
+ { type: i3$1.Title },
101
+ { type: i0.ChangeDetectorRef },
102
+ { type: i0.Injector }
103
+ ]
104
+ });
105
+ var ResourceReleaseNoteComponent = class ResourceReleaseNoteComponent extends AppBaseComponent {
106
+ constructor(authService, tagService, cdr, injector) {
107
+ super(injector);
108
+ this.authService = authService;
109
+ this.tagService = tagService;
110
+ this.cdr = cdr;
111
+ this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;
112
+ this.posts = [];
113
+ }
114
+ ngOnInit() {
115
+ this.getUserSubscriptionId().subscribe((response) => {
116
+ this.subscriptionId = response;
117
+ this.cdr.markForCheck();
118
+ });
119
+ this.authService.getToken$().subscribe((res) => {
120
+ this.userLoggedIn = !!res;
121
+ if (this.userLoggedIn) {
122
+ this.localStorage.getItem$("product").subscribe((res) => {
123
+ const data = res ? JSON.parse(res) : null;
124
+ this.subscriptionId = data?.subscriptionId;
125
+ this.cdr.markForCheck();
126
+ });
127
+ this.userService.getUserInfo().subscribe((data) => {
128
+ this.user = data;
129
+ this.getPostTags();
130
+ this.cdr.markForCheck();
131
+ });
132
+ } else this.getPostTags();
133
+ this.cdr.markForCheck();
134
+ });
135
+ }
136
+ getPostTags() {
137
+ this.tagService.getTagsByType("post_categories", {}, this.getEffectiveSubscriptionId()).subscribe((response) => {
138
+ this.blogPostTag = response.tags.find((tag) => tag.name === "Product Release Notes");
139
+ this.cdr.markForCheck();
140
+ });
141
+ }
142
+ getEffectiveSubscriptionId() {
143
+ return HelperService.getEffectiveSubscriptionId(this.user, this.subscriptionId, this.masterSubscriptionId);
144
+ }
145
+ static {
146
+ this.ɵfac = i0.ɵɵngDeclareFactory({
147
+ minVersion: "12.0.0",
148
+ version: "22.2.0",
149
+ ngImport: i0,
150
+ type: ResourceReleaseNoteComponent,
151
+ deps: [
152
+ { token: i2.AuthService },
153
+ { token: i2.TagService },
154
+ { token: i0.ChangeDetectorRef },
155
+ { token: i0.Injector }
156
+ ],
157
+ target: i0.ɵɵFactoryTarget.Component
158
+ });
159
+ }
160
+ static {
161
+ this.ɵcmp = i0.ɵɵngDeclareComponent({
162
+ minVersion: "17.0.0",
163
+ version: "22.2.0",
164
+ type: ResourceReleaseNoteComponent,
165
+ isStandalone: false,
166
+ selector: "pw-resource-release-notes",
167
+ usesInheritance: true,
168
+ ngImport: i0,
169
+ template: "<pw-resource-header [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-header>\n<pw-resource-release-notes-top-banner></pw-resource-release-notes-top-banner>\n\n@if (blogPostTag?.tag_category_id) {\n <pw-resource-note-card [isReleasePress]=\"true\" [tag]=\"blogPostTag\" [categoryId]=\"blogPostTag?.tag_category_id\" [releaseHeader]=\"true\" [resourceTitle]=\"blogPostTag?.title\" [postSlice]=\"true\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-note-card>\n}\n\n<pw-trial-4-contact-us [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-trial-4-contact-us>\n",
170
+ dependencies: [
171
+ {
172
+ kind: "component",
173
+ type: ResourceNoteCardComponent,
174
+ selector: "pw-resource-note-card",
175
+ inputs: [
176
+ "releaseHeader",
177
+ "categoryId",
178
+ "isReleasePress",
179
+ "isResource",
180
+ "postSlice",
181
+ "resourceTitle",
182
+ "tag",
183
+ "user",
184
+ "userLoggedIn"
185
+ ]
186
+ },
187
+ {
188
+ kind: "component",
189
+ type: i3.Trial4ContactUsComponent,
190
+ selector: "pw-trial-4-contact-us",
191
+ inputs: [
192
+ "subscriptionId",
193
+ "sourceId",
194
+ "masterSubscriptionId",
195
+ "experimentName",
196
+ "microserviceName",
197
+ "shardName",
198
+ "user",
199
+ "userLoggedIn"
200
+ ]
201
+ },
202
+ {
203
+ kind: "component",
204
+ type: i4.ResourceHeaderComponent,
205
+ selector: "pw-resource-header",
206
+ inputs: ["user", "userLoggedIn"]
207
+ },
208
+ {
209
+ kind: "component",
210
+ type: ReleaseTopBannerComponent,
211
+ selector: "pw-resource-release-notes-top-banner"
212
+ }
213
+ ],
214
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
215
+ });
216
+ }
217
+ };
218
+ i0.ɵɵngDeclareClassMetadata({
219
+ minVersion: "12.0.0",
220
+ version: "22.2.0",
221
+ ngImport: i0,
222
+ type: ResourceReleaseNoteComponent,
223
+ decorators: [{
224
+ type: Component,
225
+ args: [{
226
+ selector: "pw-resource-release-notes",
227
+ changeDetection: ChangeDetectionStrategy.OnPush,
228
+ standalone: false,
229
+ template: "<pw-resource-header [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-header>\n<pw-resource-release-notes-top-banner></pw-resource-release-notes-top-banner>\n\n@if (blogPostTag?.tag_category_id) {\n <pw-resource-note-card [isReleasePress]=\"true\" [tag]=\"blogPostTag\" [categoryId]=\"blogPostTag?.tag_category_id\" [releaseHeader]=\"true\" [resourceTitle]=\"blogPostTag?.title\" [postSlice]=\"true\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-note-card>\n}\n\n<pw-trial-4-contact-us [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-trial-4-contact-us>\n"
230
+ }]
231
+ }],
232
+ ctorParameters: () => [
233
+ { type: i2.AuthService },
234
+ { type: i2.TagService },
235
+ { type: i0.ChangeDetectorRef },
236
+ { type: i0.Injector }
237
+ ]
238
+ });
239
+ const routes = [{
240
+ path: "",
241
+ component: ResourceReleaseNoteComponent,
242
+ data: {
243
+ title: "Resources - Release Notes",
244
+ permission: "Pages.Blog",
245
+ preload: false
246
+ }
247
+ }];
248
+ var ResourceReleaseNotesModule = class ResourceReleaseNotesModule {
249
+ static {
250
+ this.ɵfac = i0.ɵɵngDeclareFactory({
251
+ minVersion: "12.0.0",
252
+ version: "22.2.0",
253
+ ngImport: i0,
254
+ type: ResourceReleaseNotesModule,
255
+ deps: [],
256
+ target: i0.ɵɵFactoryTarget.NgModule
257
+ });
258
+ }
259
+ static {
260
+ this.ɵmod = i0.ɵɵngDeclareNgModule({
261
+ minVersion: "14.0.0",
262
+ version: "22.2.0",
263
+ ngImport: i0,
264
+ type: ResourceReleaseNotesModule,
265
+ declarations: [ResourceReleaseNoteComponent, ReleaseTopBannerComponent],
266
+ imports: [ResourceSharedModule, i1.RouterModule]
267
+ });
268
+ }
269
+ static {
270
+ this.ɵinj = i0.ɵɵngDeclareInjector({
271
+ minVersion: "12.0.0",
272
+ version: "22.2.0",
273
+ ngImport: i0,
274
+ type: ResourceReleaseNotesModule,
275
+ imports: [ResourceSharedModule, RouterModule.forChild(routes)]
276
+ });
277
+ }
278
+ };
279
+ i0.ɵɵngDeclareClassMetadata({
280
+ minVersion: "12.0.0",
281
+ version: "22.2.0",
282
+ ngImport: i0,
283
+ type: ResourceReleaseNotesModule,
284
+ decorators: [{
285
+ type: NgModule,
286
+ args: [{
287
+ declarations: [ResourceReleaseNoteComponent, ReleaseTopBannerComponent],
288
+ imports: [ResourceSharedModule, RouterModule.forChild(routes)]
289
+ }]
290
+ }]
291
+ });
292
+ export { ResourceReleaseNotesModule };
293
+
294
+ //# sourceMappingURL=posiwise-resource-module-resource-release-notes.module-TH1usNf-.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"posiwise-resource-module-resource-release-notes.module-TH1usNf-.mjs","names":[],"sources":["../../../../libs/resource-module/src/lib/public/components/resource-release-notes/resource-release-notes-top-banner/resource-release-notes-top-banner.component.ts","../../../../libs/resource-module/src/lib/public/components/resource-release-notes/resource-release-notes-top-banner/resource-release-notes-top-banner.component.html","../../../../libs/resource-module/src/lib/public/components/resource-release-notes/resource-release-notes.component.ts","../../../../libs/resource-module/src/lib/public/components/resource-release-notes/resource-release-notes.component.html","../../../../libs/resource-module/src/lib/public/modules/release-notes/resource-release-notes.module.ts"],"sourcesContent":["import { ChangeDetectionStrategy,\n ChangeDetectorRef, Component, Injector } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\n\nimport { AuthService, TagService } from '@posiwise/common-services';\n\nimport { ResourceService } from '../../../../resource.service';\nimport { BaseTopBannerComponent } from '../../base/base-top-banner.component';\n\n@Component({\n selector: 'pw-resource-release-notes-top-banner',\n templateUrl: './resource-release-notes-top-banner.component.html',\n styleUrls: [\n '../../resource-case-studies/resource-case-studies.component.scss',\n './resource-release-notes-top-banner.component.scss',\n '../../resources/resources-shared.component.scss',\n '../../resource-post/related-resources/related-resources.component.scss'\n ],\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class ReleaseTopBannerComponent extends BaseTopBannerComponent {\n contactUsUrl = this.appConfig?.pages_config?.contact_us?.url;\n\n constructor(\n resourceService: ResourceService,\n tagService: TagService,\n authService: AuthService,\n titleService: Title,\n cdr: ChangeDetectorRef,\n injector: Injector\n ) {\n super(resourceService, tagService, authService, titleService, cdr, injector);\n }\n\n protected getSearchTerm(): string {\n return 'Release Notes';\n }\n}\n","<section class=\"bg-white pricing-section\">\n <div class=\"resource-banner\">\n @if (isLoaded) {\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\">\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 || 'Release Notes'\"></span>\n @if (canEditResourcesValue) {\n <pw-resource-top-banner-edit\n [blogPostTag]=\"blogPostTag\"\n [user]=\"user\"\n [userLoggedIn]=\"userLoggedIn\"\n (getUpdatedTag)=\"getTags()\"\n ></pw-resource-top-banner-edit>\n }\n </span>\n </h1>\n </div>\n </div>\n <div class=\"text-extension mt-4\">\n <div class=\"cta-buttons d-flex flex-column justify-between h-100\">\n <div class=\"flex-grow-1\">\n @if (blogPostTag?.description && blogPostTag.description !== 'null' ) {\n <p class=\"intro\" [innerHTML]=\"blogPostTag.description\"></p>\n } @else {\n <p class=\"intro\">\n We&rsquo;re obsessed with solving real problems for our customers.\n </p>\n }\n </div>\n <div class=\"d-flex gap-3 flex-wrap mt-3\">\n <a [href]=\"contactUsUrl\" target=\"_blank\" rel=\"noopener noreferrer\"\n class=\"cta-btn filled\">Speak to sales <i class=\"fa fa-chevron-right cta-btn__icon\" aria-hidden=\"true\"></i></a>\n </div>\n </div>\n </div>\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 dyn-img\"\n [src]=\"(blogPostTag?.image?.url && !(blogPostTag?.image?.url.includes('no_image_uploaded_squared'))) ? blogPostTag?.image?.url : '/assets/img/resource/release-person.png'\"\n alt=\"Release notes banner\"\n width=\"600\"\n height=\"450\"\n loading=\"eager\"\n fetchpriority=\"high\" />\n </div>\n </div>\n }\n </div>\n</section>\n","import { ChangeDetectionStrategy,\n ChangeDetectorRef, Component, Injector, OnInit } from '@angular/core';\n\nimport { AppBaseComponent } from '@posiwise/app-base-component';\nimport { AuthService, TagService } from '@posiwise/common-services';\nimport { Resource, User } from '@posiwise/common-utilities';\nimport { HelperService } from '@posiwise/helper-service';\n\n@Component({\n selector: 'pw-resource-release-notes',\n templateUrl: './resource-release-notes.component.html',\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class ResourceReleaseNoteComponent extends AppBaseComponent implements OnInit {\n subscriptionId: number;\n masterSubscriptionId = this.appConfig.master_subscription.subscription_id;\n posts: Resource[] = [];\n userLoggedIn: boolean;\n blogPostTag;\n user: User;\n isMasterSubscription;\n\n constructor(\n private readonly authService: AuthService,\n private readonly tagService: TagService,\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.getPostTags();\n this.cdr.markForCheck();\n });\n } else {\n this.getPostTags();\n }\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(tag => tag.name === 'Product Release Notes');\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}\n","<pw-resource-header [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-header>\n<pw-resource-release-notes-top-banner></pw-resource-release-notes-top-banner>\n\n@if (blogPostTag?.tag_category_id) {\n <pw-resource-note-card [isReleasePress]=\"true\" [tag]=\"blogPostTag\" [categoryId]=\"blogPostTag?.tag_category_id\" [releaseHeader]=\"true\" [resourceTitle]=\"blogPostTag?.title\" [postSlice]=\"true\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-note-card>\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 { ResourceReleaseNoteComponent } from '../../components/resource-release-notes/resource-release-notes.component';\nimport { ReleaseTopBannerComponent } from '../../components/resource-release-notes/resource-release-notes-top-banner/resource-release-notes-top-banner.component';\nimport { ResourceSharedModule } from '../../shared/resource-shared.module';\n\nconst routes: Routes = [\n {\n path: '',\n component: ResourceReleaseNoteComponent,\n data: {\n title: 'Resources - Release Notes',\n permission: 'Pages.Blog',\n preload: false\n }\n }\n];\n\n@NgModule({\n declarations: [ResourceReleaseNoteComponent, ReleaseTopBannerComponent],\n imports: [ResourceSharedModule, RouterModule.forChild(routes)]\n})\nexport class ResourceReleaseNotesModule {}\n"],"mappings":";;;;;;;;;;;;;;;AAsBA,IAAa,4BAAb,MAAa,kCAAkC,uBAAsB;CAGjE,YACI,iBACA,YACA,aACA,cACA,KACA,UAAkB;EAElB,MAAM,iBAAiB,YAAY,aAAa,cAAc,KAAK,QAAQ;EAV/E,KAAA,eAAe,KAAK,WAAW,cAAc,YAAY;CAWzD;CAEU,gBAAa;EACnB,OAAO;CACX;CAhBS;EAAA,KAAA,OAAA,GAAA,mBAAA;GAAA,YAAA;GAAA,SAAA;GAAA,UAAA;GAAA,MAAA;GAAyB,MAAA;IAAA,EAAA,OAAA,gBAAA;IAAA,EAAA,OAAA,GAAA,WAAA;IAAA,EAAA,OAAA,GAAA,YAAA;IAAA,EAAA,OAAA,KAAA,MAAA;IAAA,EAAA,OAAA,GAAA,kBAAA;IAAA,EAAA,OAAA,GAAA,SAAA;GAAA;GAAA,QAAA,GAAA,gBAAA;EAAA,CAAA;CAAA;CAAzB;EAAA,KAAA,OAAA,GAAA,qBAAA;GAAA,YAAA;GAAA,SAAA;GAAA,MAAA;GAAyB,cAAA;GAAA,UAAA;GAAA,iBAAA;GAAA,UAAA;GAAA,UCtBtC;GAoDA,QAAA;IAAA;IAAA;IAAA;IAAA;GAAA;GAAA,cAAA,CAAA;IAAA,MAAA;IAAA,MAAA;IAAA,UAAA;IAAA,QAAA;KAAA;KAAA;KAAA;IAAA;IAAA,SAAA,CAAA,eAAA;GAAA,GAAA;IAAA,MAAA;IAAA,MAAA,GAAA;IAAA,UAAA;GAAA,CAAA;GAAA,iBAAA,GAAA,wBAAA;EAAA,CAAA;CAAA;;AD9Ba,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAyB,YAAA,CAAA;EAbrC,MAAA;EACa,MAAA,CAAA;GAAA,UAAA;GAAsC,iBAS/B,wBAAwB;GAAM,YACnC;GAAK,UAAA;GAAA,QAAA;IAAA;IAAA;IAAA;IAAA;GAAA;EAAA,CAAA;;;;;;;;;;;AELrB,IAAa,+BAAb,MAAa,qCAAqC,iBAAgB;CAS9D,YACqB,aACA,YACA,KACjB,UAAkB;EAElB,MAAM,QAAQ;EALG,KAAA,cAAA;EACA,KAAA,aAAA;EACA,KAAA,MAAA;EAVrB,KAAA,uBAAuB,KAAK,UAAU,oBAAoB;EAC1D,KAAA,QAAoB,CAAA;CAapB;CAEA,WAAQ;EACJ,KAAK,sBAAqB,CAAE,CAAC,WAAU,aAAW;GAC9C,KAAK,iBAAiB;GACtB,KAAK,IAAI,aAAY;EACzB,CAAC;EACD,KAAK,YAAY,UAAS,CAAE,CAAC,WAAU,QAAM;GACzC,KAAK,eAAe,CAAC,CAAC;GACtB,IAAI,KAAK,cAAc;IACnB,KAAK,aAAa,SAAS,SAAS,CAAC,CAAC,WAAU,QAAM;KAClD,MAAM,OAAO,MAAM,KAAK,MAAM,GAAG,IAAI;KACrC,KAAK,iBAAiB,MAAM;KAC5B,KAAK,IAAI,aAAY;IACzB,CAAC;IACD,KAAK,YAAY,YAAW,CAAE,CAAC,WAAU,SAAO;KAC5C,KAAK,OAAO;KACZ,KAAK,YAAW;KAChB,KAAK,IAAI,aAAY;IACzB,CAAC;GACL,OACI,KAAK,YAAW;GAEpB,KAAK,IAAI,aAAY;EACzB,CAAC;CACL;CAEQ,cAAW;EACf,KAAK,WACA,cAAc,mBAAmB,CAAA,GAAI,KAAK,2BAA0B,CAAE,CAAC,CACvE,WAAU,aAAW;GAClB,KAAK,cAAc,SAAS,KAAK,MAAK,QAAO,IAAI,SAAS,uBAAuB;GACjF,KAAK,IAAI,aAAY;EACzB,CAAC;CACT;CAGQ,6BAA0B;EAC9B,OAAO,cAAc,2BACjB,KAAK,MACL,KAAK,gBACL,KAAK,oBAAoB;CAEjC;CA3DS;EAAA,KAAA,OAAA,GAAA,mBAAA;GAAA,YAAA;GAAA,SAAA;GAAA,UAAA;GAAA,MAAA;GAA4B,MAAA;IAAA,EAAA,OAAA,GAAA,YAAA;IAAA,EAAA,OAAA,GAAA,WAAA;IAAA,EAAA,OAAA,GAAA,kBAAA;IAAA,EAAA,OAAA,GAAA,SAAA;GAAA;GAAA,QAAA,GAAA,gBAAA;EAAA,CAAA;CAAA;CAA5B;EAAA,KAAA,OAAA,GAAA,qBAAA;GAAA,YAAA;GAAA,SAAA;GAAA,MAAA;GAA4B,cAAA;GAAA,UAAA;GAAA,iBAAA;GAAA,UAAA;GAAA,UCfzC;GAQA,cAAA;IAAA;KAAA,MAAA;KAAA,MAAA;KAAA,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;KAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;KAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAA,GAAA;KAAA,UAAA;KAAA,QAAA,CAAA,QAAA,cAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAA;KAAA,UAAA;IAAA;GAAA;GAAA,iBAAA,GAAA,wBAAA;EAAA,CAAA;CAAA;;ADOa,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAA4B,YAAA,CAAA;EAPxC,MAAA;EACa,MAAA,CAAA;GAAA,UAAA;GAA2B,iBAGpB,wBAAwB;GAAM,YACnC;GAAK,UAAA;EAAA,CAAA;;;;;;;;;AENrB,MAAM,SAAiB,CACnB;CACI,MAAM;CACN,WAAW;CACX,MAAM;EACF,OAAO;EACP,YAAY;EACZ,SAAS;CACZ;AACJ,CACJ;AAMD,IAAa,6BAAb,MAAa,2BAA0B;CAA1B;EAAA,KAAA,OAAA,GAAA,mBAAA;GAAA,YAAA;GAAA,SAAA;GAAA,UAAA;GAAA,MAAA;GAA0B,MAAA,CAAA;GAAA,QAAA,GAAA,gBAAA;EAAA,CAAA;CAAA;CAA1B;EAAA,KAAA,OAAA,GAAA,oBAAA;GAAA,YAAA;GAAA,SAAA;GAAA,UAAA;GAAA,MAAA;GAA0B,cAAA,CAHpB,8BAA8B,yBAAyB;GAAA,SAAA,CAC5D,sBAAoB,GAAA,YAAA;EAAA,CAAA;CAAA;CAErB;EAAA,KAAA,OAAA,GAAA,oBAAA;GAAA,YAAA;GAAA,SAAA;GAAA,UAAA;GAAA,MAAA;GAA0B,SAAA,CAFzB,sBAAsB,aAAa,SAAS,MAAM,CAAC;EAAA,CAAA;CAAA;;AAEpD,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAA0B,YAAA,CAAA;EAJtC,MAAA;EAAS,MAAA,CAAA;GACN,cAAc,CAAC,8BAA8B,yBAAyB;GACtE,SAAS,CAAC,sBAAsB,aAAa,SAAS,MAAM,CAAC;EAChE,CAAA"}