@posiwise/resource-module 0.0.201 → 0.0.203
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.
- package/fesm2022/{posiwise-resource-module-base-top-banner.component-CrdBpNSj.mjs → posiwise-resource-module-base-top-banner.component-BwujN_up.mjs} +16 -32
- package/fesm2022/posiwise-resource-module-base-top-banner.component-BwujN_up.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource-blogs.module-hxktrj98.mjs → posiwise-resource-module-resource-blogs.module-mSKg7oDE.mjs} +52 -70
- package/fesm2022/posiwise-resource-module-resource-blogs.module-mSKg7oDE.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource-cards.module-D3yf7FNt.mjs → posiwise-resource-module-resource-cards.module-BSJpkk9V.mjs} +718 -705
- package/fesm2022/posiwise-resource-module-resource-cards.module-BSJpkk9V.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource-case-studies.module-CFcO0CI-.mjs → posiwise-resource-module-resource-case-studies.module-rCEpwQ4J.mjs} +62 -61
- package/fesm2022/posiwise-resource-module-resource-case-studies.module-rCEpwQ4J.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource-events.module-0PDppSJ6.mjs → posiwise-resource-module-resource-events.module-Djau8zuG.mjs} +53 -54
- package/fesm2022/posiwise-resource-module-resource-events.module-Djau8zuG.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource-hub.module-2qzLV9I1.mjs → posiwise-resource-module-resource-hub.module-CQtyBld2.mjs} +141 -122
- package/fesm2022/posiwise-resource-module-resource-hub.module-CQtyBld2.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource-integrations.module-DqDd_1U9.mjs → posiwise-resource-module-resource-integrations.module-BXyPZf3W.mjs} +129 -132
- package/fesm2022/posiwise-resource-module-resource-integrations.module-BXyPZf3W.mjs.map +1 -0
- package/fesm2022/posiwise-resource-module-resource-jobs.module-B53AOs8y.mjs +399 -0
- package/fesm2022/posiwise-resource-module-resource-jobs.module-B53AOs8y.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource-post.module-BFuEjqA9.mjs → posiwise-resource-module-resource-post.module-DIaB5kyW.mjs} +206 -212
- package/fesm2022/posiwise-resource-module-resource-post.module-DIaB5kyW.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource-release-notes.module-BbofH_0n.mjs → posiwise-resource-module-resource-release-notes.module-Btxs8la7.mjs} +59 -71
- package/fesm2022/posiwise-resource-module-resource-release-notes.module-Btxs8la7.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource-root.module-C9c17Dhm.mjs → posiwise-resource-module-resource-root.module-BukwL-wp.mjs} +129 -132
- package/fesm2022/posiwise-resource-module-resource-root.module-BukwL-wp.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource-videos.module-BsnB9vFd.mjs → posiwise-resource-module-resource-videos.module-CFkPbXn3.mjs} +50 -71
- package/fesm2022/posiwise-resource-module-resource-videos.module-CFkPbXn3.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource-white-papers.module-BC-OyhAK.mjs → posiwise-resource-module-resource-white-papers.module-DBjSfwx4.mjs} +54 -68
- package/fesm2022/posiwise-resource-module-resource-white-papers.module-DBjSfwx4.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource.service-IK3r0iUB.mjs → posiwise-resource-module-resource.service-DAXsq-WG.mjs} +7 -8
- package/fesm2022/posiwise-resource-module-resource.service-DAXsq-WG.mjs.map +1 -0
- package/fesm2022/posiwise-resource-module.mjs +252 -219
- package/fesm2022/posiwise-resource-module.mjs.map +1 -1
- package/package.json +1 -1
- package/types/posiwise-resource-module.d.ts +159 -168
- package/fesm2022/posiwise-resource-module-base-top-banner.component-CrdBpNSj.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-blogs.module-hxktrj98.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-cards.module-D3yf7FNt.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-case-studies.module-CFcO0CI-.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-events.module-0PDppSJ6.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-hub.module-2qzLV9I1.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-integrations.module-DqDd_1U9.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-post.module-BFuEjqA9.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-release-notes.module-BbofH_0n.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-root.module-C9c17Dhm.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-videos.module-BsnB9vFd.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-white-papers.module-BC-OyhAK.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource.service-IK3r0iUB.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"posiwise-resource-module-resource-integrations.module-BXyPZf3W.mjs","names":["i1"],"sources":["../../../../libs/resource-module/src/lib/public/components/resource-integration/integration-top-banner/integration-top-banner.component.ts","../../../../libs/resource-module/src/lib/public/components/resource-integration/integration-top-banner/integration-top-banner.component.html","../../../../libs/resource-module/src/lib/public/components/resource-integration/resource-integration.component.ts","../../../../libs/resource-module/src/lib/public/components/resource-integration/resource-integration.component.html","../../../../libs/resource-module/src/lib/public/modules/integrations/resource-integrations.module.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { LazyImgDirective } from '@posiwise/directives';\n\nimport { BaseTopBannerComponent } from '../../base/base-top-banner.component';\nimport { ResourceTopBannerEditComponent } from '../../resource-top-banner-edit/resource-top-banner-edit.component';\n\n@Component({\n selector: 'pw-integration-top-banner',\n templateUrl: './integration-top-banner.component.html',\n styleUrls: [\n '../../resource-case-studies/resource-case-studies.component.scss',\n '../../resources/resources-shared.component.scss',\n '../../resource-post/related-resources/related-resources.component.scss'\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ResourceTopBannerEditComponent, LazyImgDirective]\n})\nexport class IntegrationTopBannerComponent extends BaseTopBannerComponent {\n contactUsUrl = this.appConfig?.pages_config?.contact_us?.url;\n\n protected getSearchTerm(): string {\n return 'Integrations';\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 || 'Integrated vendors'\"></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 <span class=\"blue-text\"></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 Browse below the vendor integrations<br />\n we support.\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\">Talk to us <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/men.png'\"\n alt=\"Integrated vendors banner\"\n width=\"600\"\n height=\"450\"\n loading=\"eager\"\n fetchpriority=\"high\" />\n </div>\n </div>\n }\n </div>\n</section>\n","import {\n CdkDrag,\n CdkDragDrop,\n CdkDragHandle,\n CdkDropList,\n moveItemInArray\n} from '@angular/cdk/drag-drop';\nimport { DOCUMENT, NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n inject,\n OnInit,\n TemplateRef,\n ViewChild\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\nimport { AdminService } from '@posiwise/admin-module-utils';\nimport { AppBaseComponent } from '@posiwise/app-base-component';\nimport { AuthService, TagService } from '@posiwise/common-services';\nimport { CompanyData, Resource, User } from '@posiwise/common-utilities';\nimport { LazyImgDirective } from '@posiwise/directives';\nimport { HelperService } from '@posiwise/helper-service';\nimport { Trial4ContactUsComponent } from '@posiwise/resource-contact-us';\nimport { NoDataComponent } from '@posiwise/shared-components';\nimport { CustomUploaderComponent, ResourceHeaderComponent } from '@posiwise/utils';\n\nimport { Bind } from 'primeng/bind';\nimport { ProgressSpinner } from 'primeng/progressspinner';\nimport { forkJoin } from 'rxjs';\n\nimport { TranslocoPipe } from '@jsverse/transloco';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\n\nimport { ResourceService } from '../../../resource.service';\nimport { ResourceNoteCardComponent } from '../reslease-note-card/release-note-card.component';\nimport { ResourceCompanyCardComponent } from '../resource-company-card/resource-company-card.component';\n\nimport { IntegrationTopBannerComponent } from './integration-top-banner/integration-top-banner.component';\n\n@Component({\n selector: 'pw-resource-integration',\n templateUrl: './resource-integration.component.html',\n styleUrls: [\n './resource-integration.component.scss',\n '../resources/resources-shared.component.scss'\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n ResourceHeaderComponent,\n IntegrationTopBannerComponent,\n ResourceCompanyCardComponent,\n Bind,\n ProgressSpinner,\n NoDataComponent,\n NgClass,\n LazyImgDirective,\n ResourceNoteCardComponent,\n Trial4ContactUsComponent,\n FormsModule,\n CdkDropList,\n CdkDrag,\n CdkDragHandle,\n TranslocoPipe\n ]\n})\nexport class ResourceIntegrationComponent extends AppBaseComponent implements OnInit {\n private readonly sanitizer = inject(DomSanitizer);\n private readonly resourceService = inject(ResourceService);\n private readonly modalService = inject(NgbModal);\n private readonly tagService = inject(TagService);\n private readonly authService = inject(AuthService);\n private readonly adminService = inject(AdminService);\n private readonly cdr = inject(ChangeDetectorRef);\n\n private readonly doc = inject(DOCUMENT);\n\n @ViewChild('editIntegrationsModal') editIntegrationsModal: TemplateRef<CustomUploaderComponent>;\n editingIntegrations;\n distributorsData = CompanyData?.distributorsData;\n vendorsData = CompanyData?.vendorsData;\n\n textColor = this.appConfig?.color_codes?.text;\n\n subscriptionId: number;\n masterSubscriptionId = this.appConfig.master_subscription.subscription_id;\n posts: Resource[] = [];\n distributerPosts = [];\n userLoggedIn: boolean;\n blogPostTag;\n isLoaded = false;\n resourcePostTag;\n blogPostVendorTag;\n isMasterSubscription;\n\n integrations = this.appConfig?.pages_config?.integrations;\n\n releaseNotesLink = '/resources/product-release-notes';\n q1NotesLink = '/resources/product-release-q1-2025';\n q3NotesLink = '/resources/product-release-q3-2024';\n q4NotesLink = '/resources/product-release-q4-2024';\n companyName;\n\n videoWebinarLoaded = false;\n videoDemoLoaded = false;\n youtubeVideoId = 'R7Vk219zbhA';\n videoTitle = 'CloudOlive Overview';\n sanitizedMicrosoftVideoUrl: SafeResourceUrl;\n sanitizedKesyaVideoUrl: SafeResourceUrl;\n integrationCountDisplay: number;\n contactUsUrl = this.appConfig?.pages_config?.contact_us?.url;\n tagCategory;\n totalPosts: number;\n\n guideData = this.appConfig?.pages_config?.guides;\n editingGuides = { items: [] };\n user: User;\n\n canEditResourcesValue = false;\n domainId = this.appConfig.domain_id;\n\n ngOnInit() {\n this.companyName = this.appConfig.company.name;\n\n this.doc.documentElement.style.setProperty('--text-color', this.textColor);\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\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: 'Integrations' }, this.getEffectiveSubscriptionId())\n .subscribe(response => {\n this.tagCategory = response?.tag_categories?.[0];\n this.getPostTags();\n this.cdr.markForCheck();\n });\n }\n\n openEditIntegrationsModal(modalRef) {\n this.editingIntegrations = structuredClone(this.integrations);\n this.modalService.open(modalRef, {\n size: 'lg',\n centered: true,\n windowClass: 'modal-holder'\n });\n }\n\n showIntegrations(): boolean {\n if (this.userLoggedIn) {\n return true;\n }\n\n if (Array.isArray(this.guideData?.items) && this.guideData.items.length) {\n const item = this.guideData.items[0];\n return (\n !!item?.title ||\n !!item?.description ||\n !!item?.guide_url ||\n (!!item?.image_url && !item.image_url.includes('default-image.png'))\n );\n }\n\n return false;\n }\n\n private getPostTags() {\n this.tagService\n .getTagsByType('post_categories', {}, this.getEffectiveSubscriptionId())\n .subscribe(response => {\n this.resourcePostTag = response.tags.find(\n tag => tag.name === 'Product Release Notes'\n );\n this.blogPostTag = response.tags.find(\n tag =>\n tag.name === 'Integrated Distributors' &&\n tag.tag_category_id === this.tagCategory?.id\n );\n this.blogPostVendorTag = response.tags.find(\n tag =>\n tag.name === 'Integrated Vendors' &&\n tag.tag_category_id === this.tagCategory?.id\n );\n\n // use forkJoin to fetch both sets of posts in parallel\n forkJoin({\n vendorResponse: this.resourceService.getPublicPosts(\n this.getEffectiveSubscriptionId(),\n 1,\n 100,\n '',\n '',\n this.blogPostVendorTag?.id\n ),\n distributorResponse: this.resourceService.getPublicPosts(\n this.getEffectiveSubscriptionId(),\n 1,\n 100,\n '',\n '',\n this.blogPostTag?.id\n )\n }).subscribe(({ vendorResponse, distributorResponse }) => {\n const sortedVendors = vendorResponse.posts.sort(\n (a, b) =>\n new Date(b.published_at).getTime() - new Date(a.published_at).getTime()\n );\n const sortedDistributors = distributorResponse.posts.sort(\n (a, b) =>\n new Date(b.published_at).getTime() - new Date(a.published_at).getTime()\n );\n\n // Show only integrations that have an image; count still includes all\n this.posts = sortedVendors.filter(post => this.hasDisplayableImage(post));\n this.distributerPosts = sortedDistributors.filter(post =>\n this.hasDisplayableImage(post)\n );\n\n const vendorCount = vendorResponse?.object_count ?? 0;\n const distributorCount = distributorResponse?.object_count ?? 0;\n const total = vendorCount + distributorCount;\n\n this.integrationCountDisplay = total === 0 ? 0 : Math.ceil(total / 10) * 10;\n this.isLoaded = true;\n this.cdr.markForCheck();\n });\n this.cdr.markForCheck();\n });\n }\n\n loadMicrosoftVideo(videoUrl) {\n window.open(videoUrl, '_blank', 'noopener,noreferrer');\n }\n\n loadKeseyaVideo(): void {\n const baseUrl = `https://www.youtube.com/embed/${this.youtubeVideoId}?autoplay=1`;\n // baseUrl is a trusted internal source (e.g. YouTube embed URL)\n this.sanitizedKesyaVideoUrl = this.sanitizer.bypassSecurityTrustResourceUrl(baseUrl); // NOSONAR\n this.videoWebinarLoaded = true;\n }\n\n addIntegrationItem() {\n this.editingIntegrations.items.push({\n title: '',\n description: '',\n blog_url: '',\n image_url: '',\n video_url: ''\n });\n }\n\n removeIntegrationItem(index: number) {\n this.editingIntegrations.items.splice(index, 1);\n }\n\n dropIntegrationItems(event) {\n moveItemInArray(this.editingIntegrations.items, event.previousIndex, event.currentIndex);\n }\n\n saveIntegrations(modalRef) {\n const updatedIntegrations = {\n ...this.editingIntegrations\n };\n\n this.adminService\n .updateDomainConfig(this.domainId, {\n integrations: updatedIntegrations,\n subscription_id: this.getEffectiveSubscriptionId()\n })\n .subscribe(() => {\n this.integrations = updatedIntegrations;\n this.toast.success('Integrations updated');\n modalRef.close();\n this.cdr.markForCheck();\n });\n }\n\n saveGuides(modalRef) {\n const updatedGuides = {\n ...this.editingGuides\n };\n\n this.adminService\n .updateDomainConfig(this.domainId, {\n guides: updatedGuides,\n subscription_id: this.getEffectiveSubscriptionId()\n })\n .subscribe(() => {\n this.guideData = updatedGuides;\n this.toast.success('Guides updated');\n modalRef.close();\n this.cdr.markForCheck();\n });\n }\n\n openGuidesModal(template) {\n this.editingGuides = structuredClone(this.guideData ?? { items: [] });\n this.modalService.open(template, { size: 'xl' });\n }\n\n addGuide() {\n this.editingGuides.items.push({\n title: '',\n button_text: '',\n image_url: '',\n guide_url: '',\n description: ''\n });\n }\n\n removeGuide(index: number) {\n this.editingGuides.items.splice(index, 1);\n }\n\n dropGuides(event: CdkDragDrop<string[]>) {\n moveItemInArray(this.editingGuides.items, event.previousIndex, event.currentIndex);\n }\n\n private hasDisplayableImage(post: {\n companyImg?: string;\n rectangular_picture?: { url?: string };\n }): boolean {\n if (post?.companyImg) {\n return true;\n }\n const url = post?.rectangular_picture?.url;\n return !!url && !url.includes('default-photo');\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<pw-integration-top-banner></pw-integration-top-banner>\n<div class=\"bg-white\">\n <section class=\"guide-section bg-white py-5 section-outer\">\n <div class=\"container sec-container\">\n @if (isLoaded && (posts.length + distributerPosts.length) > 0) {\n <div>\n <h1 class=\"int-title mb-0\">{{ integrationCountDisplay }}+ integrations <span class=\"int-title__sub\">(& counting)</span></h1>\n <p class=\"int-text\">Search the current list of {{ companyName }} vendor and distributor integrations below.</p>\n </div>\n }\n @if (isLoaded) {\n <pw-resource-company-card [header]=\"'integrated vendors'\"\n (getPosts)=\"getPostTags()\"\n [integrationCountDisplay]=\"integrationCountDisplay\"\n [data]=\"posts\"\n [user]=\"user\"\n [userLoggedIn]=\"userLoggedIn\"></pw-resource-company-card>\n }\n @if (!isLoaded) {\n <div class=\"w-100 text-center mt-3\"\n >\n <p-progress-spinner strokeWidth=\"2\"> </p-progress-spinner>\n </div>\n }\n @if (integrationCountDisplay === 0 && isLoaded) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n }\n @if (isLoaded && (posts.length + distributerPosts.length) > 0) {\n <div class=\"text-center pt-3 mt-4\">\n <p class=\"see-span\">Don’t see what you’re after? <a [href]=\"contactUsUrl\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class=\"int-span team-span\">Speak with our team to request a connection <i class=\"fa fa-chevron-right team-span__icon\" aria-hidden=\"true\"></i></a>\n </p>\n </div>\n }\n </div>\n\n</section>\n<section class=\"guide-section bg-white py-5 section-outer\">\n <div class=\"container\">\n @if (isLoaded) {\n <pw-resource-company-card [header]=\"'integrated Distributors'\"\n [integrationCountDisplay]=\"integrationCountDisplay\"\n [vendor]=\"true\"\n (getPosts)=\"getPostTags()\"\n [data]=\"distributerPosts\"\n [user]=\"user\"\n [userLoggedIn]=\"userLoggedIn\"></pw-resource-company-card>\n }\n @if (!isLoaded) {\n <div class=\"w-100 text-center mt-3\"\n >\n <p-progress-spinner strokeWidth=\"2\"> </p-progress-spinner>\n </div>\n }\n @if (integrationCountDisplay === 0 && isLoaded) {\n <div>\n <pw-no-data [withImage]=\"true\" [message]=\"'Resource.NoDataMessage' | transloco\"/>\n </div>\n }\n </div>\n\n</section>\n@if (integrations) {\n <section class=\"guide-section bg-white py-5 section-outer\">\n <div class=\"container\">\n <div class=\"how-it-works-wrapper\">\n <div class=\"d-flex\">\n <h2 class=\"it-works-title mb-0\">{{ integrations?.title || 'How it works' }}</h2>\n @if (canEditResourcesValue) {\n <i\n class=\"fa fa-edit in-page-edit-icon text-black ms-4 mt-3 cursor-pointer\"\n (click)=\"openEditIntegrationsModal(editIntegrationsModal)\"\n (keydown.enter)=\"openEditIntegrationsModal(editIntegrationsModal)\"\n (keydown.space)=\"openEditIntegrationsModal(editIntegrationsModal)\"\n title=\"Edit Integrations Section\"></i>\n }\n </div>\n <p class=\"pb-20\" [innerHTML]=\"integrations?.description || 'View short example videos to understand how these integrations can work for you:'\"></p>\n <div class=\"row section-row\" [ngClass]=\"{ 'justify-content-center': integrations?.items?.length === 1 }\">\n @if (integrations?.items?.length > 0) {\n @for (integration of integrations?.items; track integration) {\n @if (integration?.image_url || integration?.title || integration?.description) {\n <div\n class=\"col-md-6\"\n >\n @if (integration?.video_url && integration?.video_url.includes('https')) {\n <div class=\"d-flex justify-content-center cursor-pointer\">\n @if (integration?.video_url) {\n <img\n [src]=\"integration?.image_url\"\n (click)=\"loadMicrosoftVideo(integration?.video_url)\"\n (keydown.enter)=\"loadMicrosoftVideo(integration?.video_url)\"\n class=\"how-it-works-img\"\n alt=\"Integration Video Thumbnail\"\n />\n }\n </div>\n } @else {\n <div class=\"d-flex justify-content-center\">\n <div class=\"w-100\">\n <pw-no-data [withImage]=\"true\" [message]=\"'No video found' | transloco\">\n </pw-no-data>\n </div>\n </div>\n }\n </div>\n }\n }\n } @else {\n <div class=\"w-100 text-center\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Integration.NoDataMessage' | transloco\"></pw-no-data>\n </div>\n }\n </div>\n </div>\n </div>\n </section>\n}\n@if (showIntegrations()) {\n <section class=\"guide-section bg-white py-5 section-outer\">\n <div class=\"container\">\n <div class=\"row align-items-start\">\n <div class=\"col-md-6 text-md-start text-center\">\n <div class=\"d-flex\">\n <h2 class=\"guide-title mb-3\">{{ guideData?.items?.[0]?.title || 'Featured guide' }}</h2>\n @if (canEditResourcesValue) {\n <button type=\"button\"\n class=\"in-page-edit-icon text-black ms-4 mt-3 cursor-pointer\"\n (click)=\"openGuidesModal(guidesEditModal)\"\n title=\"Edit featured guide\"\n aria-label=\"Edit featured guide\">\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i>\n </button>\n }\n </div>\n <p class=\"guide-subtext\"\n [innerHTML]=\"guideData?.items?.[0]?.description || (canEditResourcesValue ? 'Add a featured guide via Admin → Domain config → Integrations.' : 'A practical walkthrough of how to get the most from your integrations.')\">\n </p>\n @if (guideData?.items?.[0]?.guide_url) {\n <a class=\"vault-btn\"\n [href]=\"guideData?.items?.[0]?.guide_url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n {{ guideData?.items?.[0]?.button_text || 'View the guide' }} <i class=\"fa fa-chevron-right vault-btn__icon\" aria-hidden=\"true\"></i>\n </a>\n }\n </div>\n <div class=\"col-md-6 text-center\">\n @if (guideData?.items?.[0]?.image_url && !guideData?.items?.[0]?.image_url?.includes('default-photo.jpg')) {\n <img\n [src]=\"guideData?.items?.[0]?.image_url\"\n alt=\"\"\n class=\"guide-img\"\n loading=\"lazy\" />\n }\n </div>\n </div>\n </div>\n </section>\n}\n</div>\n\n@if (resourcePostTag?.tag_category_id) {\n <pw-resource-note-card [categoryId]=\"resourcePostTag?.tag_category_id\" [tag]=\"resourcePostTag\" [releaseHeader]=\"true\" [resourceTitle]=\"resourcePostTag?.title\" [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\n\n\n<ng-template #editIntegrationsModal let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Edit Integrations Section</h5>\n <button type=\"button\" class=\"btn-close\" aria-label=\"Close\" (click)=\"modal.dismiss()\"></button>\n </div>\n\n <div class=\"modal-body\">\n <div class=\"mb-3\">\n <label class=\"form-label\" for=\"integration-title\">Title</label>\n <input class=\"form-control\" id=\"integration-title\" [(ngModel)]=\"editingIntegrations.title\"\n aria-label=\"Integration Title\" />\n </div>\n\n <div class=\"mb-3\">\n <label class=\"form-label\" for=\"integration-description\">Description</label>\n <textarea class=\"form-control\" id=\"integration-description\" rows=\"3\" [(ngModel)]=\"editingIntegrations.description\"\n aria-label=\"Integration Description\"></textarea>\n </div>\n\n <div cdkDropList (cdkDropListDropped)=\"dropIntegrationItems($event)\">\n @for (integration of editingIntegrations.items; track integration; let i = $index) {\n <div class=\"border p-3 mb-3\" cdkDrag>\n <div class=\"d-flex justify-content-between align-items-center mb-2\">\n <span class=\"pw-label-style form-label mb-0\" id=\"integration-item-label\">Integration Item</span>\n <i class=\"fa fa-bars cursor-move in-page-bars-icon\" cdkDragHandle></i>\n </div>\n <div class=\"row\">\n <div class=\"col-md-6 mb-2\">\n <label class=\"form-label\" [for]=\"'integration-item-title-' + i\">Title</label>\n <input class=\"form-control\" [id]=\"'integration-item-title-' + i\" [(ngModel)]=\"integration.title\" id=\"input_integration.title_7712\" name=\"input_integration.title_7712\"\n aria-label=\"Input Integration.title 7712\" />\n </div>\n <div class=\"col-md-6 mb-2\">\n <label class=\"form-label\" [for]=\"'integration-item-description-' + i\">Description</label>\n <input class=\"form-control\" [id]=\"'integration-item-description-' + i\" [(ngModel)]=\"integration.description\" id=\"input_integration.description_9056\" name=\"input_integration.description_9056\"\n aria-label=\"Input Integration.description 9056\" />\n </div>\n <div class=\"col-md-6 mb-2\">\n <label class=\"form-label\" [for]=\"'integration-item-blog-url-' + i\">Blog URL</label>\n <input class=\"form-control\" [id]=\"'integration-item-blog-url-' + i\" [(ngModel)]=\"integration.blog_url\" id=\"input_integration.blog_url_7856\" name=\"input_integration.blog_url_7856\"\n aria-label=\"Input Integration.blog Url 7856\" />\n </div>\n <div class=\"col-md-6 mb-2\">\n <label class=\"form-label\" [for]=\"'integration-item-image-url-' + i\">Image URL</label>\n <input class=\"form-control\" [id]=\"'integration-item-image-url-' + i\" [(ngModel)]=\"integration.image_url\" id=\"input_integration.image_url_9056\" name=\"input_integration.image_url_9056\"\n aria-label=\"Input Integration.image Url 9056\" />\n </div>\n <div class=\"col-md-12 mb-2\">\n <label class=\"form-label\" [for]=\"'integration-item-video-url-' + i\">Video URL</label>\n <input class=\"form-control\" [id]=\"'integration-item-video-url-' + i\" [(ngModel)]=\"integration.video_url\" id=\"input_integration.video_url_9056\" name=\"input_integration.video_url_9056\"\n aria-label=\"Input Integration.video Url 9056\" />\n </div>\n </div>\n <div class=\"d-flex justify-content-end\">\n <i class=\"fa fa-trash text-danger cursor-pointer\" (click)=\"removeIntegrationItem(i)\" (keydown.enter)=\"removeIntegrationItem(i)\"\n (keydown.space)=\"removeIntegrationItem(i)\"></i>\n </div>\n </div>\n }\n </div>\n\n <button class=\"btn btn-outline-primary btn-sm\" (click)=\"addIntegrationItem()\">+ Add Integration</button>\n </div>\n\n <div class=\"modal-footer\">\n <button class=\"btn btn-secondary\" (click)=\"modal.dismiss()\">Cancel</button>\n <button class=\"btn btn-primary\" (click)=\"saveIntegrations(modal)\">Save</button>\n </div>\n</ng-template>\n\n\n\n<ng-template #guidesEditModal let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Edit Guides</h5>\n <button type=\"button\" class=\"btn-close\" aria-label=\"Close\" (click)=\"modal.dismiss()\"></button>\n </div>\n\n <div class=\"modal-body\">\n <h4 class=\"mb-3\">Guides Section</h4>\n\n <div cdkDropList (cdkDropListDropped)=\"dropGuides($event)\">\n @for (guide of editingGuides.items; track guide; let i = $index) {\n <div class=\"border p-3 mb-3\" cdkDrag>\n <div class=\"row\">\n <div class=\"col-md-6 mb-2\">\n <label class=\"form-label\" [for]=\"'guide-title-' + i\">Title</label>\n <input class=\"form-control\" [id]=\"'guide-title-' + i\" [(ngModel)]=\"guide.title\" id=\"input_guide.title_7072\" name=\"input_guide.title_7072\"\n aria-label=\"Input Guide.title 7072\" />\n </div>\n <div class=\"col-md-6 mb-2\">\n <label class=\"form-label\" [for]=\"'guide-button-text-' + i\">Button Text</label>\n <input class=\"form-control\" [id]=\"'guide-button-text-' + i\" [(ngModel)]=\"guide.button_text\" id=\"input_guide.button_text_7712\" name=\"input_guide.button_text_7712\"\n aria-label=\"Input Guide.button Text 7712\" />\n </div>\n <div class=\"col-md-6 mb-2\">\n <label class=\"form-label\" [for]=\"'guide-image-url-' + i\">Image URL</label>\n <input class=\"form-control\" [id]=\"'guide-image-url-' + i\" [(ngModel)]=\"guide.image_url\" id=\"input_guide.image_url_7856\" name=\"input_guide.image_url_7856\"\n aria-label=\"Input Guide.image Url 7856\" />\n </div>\n <div class=\"col-md-6 mb-2\">\n <label class=\"form-label\" [for]=\"'guide-url-' + i\">Guide URL</label>\n <input class=\"form-control\" [id]=\"'guide-url-' + i\" [(ngModel)]=\"guide.guide_url\" id=\"input_guide.guide_url_6944\" name=\"input_guide.guide_url_6944\"\n aria-label=\"Input Guide.guide Url 6944\" />\n </div>\n <div class=\"col-12 mb-2\">\n <label class=\"form-label\" [for]=\"'guide-description-' + i\">Description</label>\n <textarea class=\"form-control\" [id]=\"'guide-description-' + i\" [name]=\"'guide-description-' + i\" rows=\"3\" [(ngModel)]=\"guide.description\"></textarea>\n </div>\n <div class=\"d-flex justify-content-between align-items-center mt-2\">\n <i class=\"fa fa-trash text-danger cursor-pointer\" (click)=\"removeGuide(i)\" (keydown.enter)=\"removeGuide(i)\" (keydown.space)=\"removeGuide(i)\"></i>\n <i class=\"fa fa-bars cursor-move\" cdkDragHandle></i>\n </div>\n </div>\n </div>\n }\n </div>\n\n <button class=\"btn btn-primary mt-2\" (click)=\"addGuide()\">+ Add Guide</button>\n </div>\n\n <div class=\"modal-footer\">\n <button class=\"btn btn-secondary\" (click)=\"modal.dismiss()\">Cancel</button>\n <button class=\"btn btn-primary\" (click)=\"saveGuides(modal)\">Save</button>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nimport { IntegrationTopBannerComponent } from '../../components/resource-integration/integration-top-banner/integration-top-banner.component';\nimport { ResourceIntegrationComponent } from '../../components/resource-integration/resource-integration.component';\nimport { ResourceSharedModule } from '../../shared/resource-shared.module';\n\nconst routes: Routes = [\n {\n path: '',\n component: ResourceIntegrationComponent,\n data: {\n title: 'Resources - Integrations',\n permission: 'Pages.Blog',\n preload: false\n }\n }\n];\n\n@NgModule({\n imports: [\n ResourceSharedModule,\n RouterModule.forChild(routes),\n ResourceIntegrationComponent,\n IntegrationTopBannerComponent\n ]\n})\nexport class ResourceIntegrationsModule {}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,399 @@
|
|
|
1
|
+
import { t as ResourceService } from "./posiwise-resource-module-resource.service-DAXsq-WG.mjs";
|
|
2
|
+
import { i as BaseResourceComponent, l as ResourcePager, u as ResourceEditCardLazyComponent } from "./posiwise-resource-module-resource-cards.module-BSJpkk9V.mjs";
|
|
3
|
+
import { ResourceSharedModule, ResourceTopBannerEditComponent } from "./posiwise-resource-module.mjs";
|
|
4
|
+
import { t as BaseTopBannerComponent } from "./posiwise-resource-module-base-top-banner.component-BwujN_up.mjs";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostListener, Input, NgModule, inject } from "@angular/core";
|
|
7
|
+
import { HelperService } from "@posiwise/helper-service";
|
|
8
|
+
import * as i1 from "@angular/router";
|
|
9
|
+
import { RouterModule } from "@angular/router";
|
|
10
|
+
import { Trial4ContactUsComponent } from "@posiwise/resource-contact-us";
|
|
11
|
+
import { DateFormatPipe } from "@posiwise/pipes";
|
|
12
|
+
import { TranslocoPipe } from "@jsverse/transloco";
|
|
13
|
+
import { AppBaseComponent } from "@posiwise/app-base-component";
|
|
14
|
+
import { ResourceHeaderComponent } from "@posiwise/utils";
|
|
15
|
+
import { AppLoaderComponent } from "@posiwise/app-loader";
|
|
16
|
+
var ResourceJobCardsComponent = class ResourceJobCardsComponent extends AppBaseComponent {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments);
|
|
19
|
+
this.resourceService = inject(ResourceService);
|
|
20
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
21
|
+
this.masterSubscriptionId = this.appConfig.master_subscription.subscription_id;
|
|
22
|
+
this.canEdit = false;
|
|
23
|
+
}
|
|
24
|
+
ngOnInit() {
|
|
25
|
+
if (this.userLoggedIn) this.localStorage.getItem$("product").subscribe((res) => {
|
|
26
|
+
this.subscriptionId = res ? JSON.parse(res)?.subscriptionId : void 0;
|
|
27
|
+
this.cdr.markForCheck();
|
|
28
|
+
});
|
|
29
|
+
this.loadPosts();
|
|
30
|
+
}
|
|
31
|
+
ngOnChanges(changes) {
|
|
32
|
+
if ((changes["user"] || changes["userLoggedIn"]) && this.userLoggedIn && this.user) this.canEdit = HelperService.canEditResources(this.user, this.userLoggedIn, this.permissionService);
|
|
33
|
+
}
|
|
34
|
+
get posts() {
|
|
35
|
+
return this.pager?.items ?? [];
|
|
36
|
+
}
|
|
37
|
+
get isLoaded() {
|
|
38
|
+
return this.pager?.isLoaded ?? false;
|
|
39
|
+
}
|
|
40
|
+
get isLoadingMore() {
|
|
41
|
+
return this.pager?.isLoadingMore ?? false;
|
|
42
|
+
}
|
|
43
|
+
get hasError() {
|
|
44
|
+
return !!this.pager?.hasError && this.posts.length === 0;
|
|
45
|
+
}
|
|
46
|
+
get total() {
|
|
47
|
+
return this.pager?.totalCount ?? 0;
|
|
48
|
+
}
|
|
49
|
+
loadPosts() {
|
|
50
|
+
this.pager = ResourcePager.forPublicPosts(this.resourceService, () => ({
|
|
51
|
+
subscriptionId: HelperService.getEffectiveSubscriptionId(this.user, this.subscriptionId, this.masterSubscriptionId),
|
|
52
|
+
tagCategoryIds: String(this.categoryId)
|
|
53
|
+
}), () => this.cdr.markForCheck(), () => true);
|
|
54
|
+
this.pager.reset();
|
|
55
|
+
}
|
|
56
|
+
onWindowScroll() {
|
|
57
|
+
this.pager?.loadMoreIfNearBottom();
|
|
58
|
+
}
|
|
59
|
+
jobLink(post) {
|
|
60
|
+
return post.external_url || `/resources/view/${post.slug}`;
|
|
61
|
+
}
|
|
62
|
+
static {
|
|
63
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
64
|
+
minVersion: "12.0.0",
|
|
65
|
+
version: "22.2.3",
|
|
66
|
+
ngImport: i0,
|
|
67
|
+
type: ResourceJobCardsComponent,
|
|
68
|
+
deps: null,
|
|
69
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
static {
|
|
73
|
+
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
74
|
+
minVersion: "17.0.0",
|
|
75
|
+
version: "22.2.3",
|
|
76
|
+
type: ResourceJobCardsComponent,
|
|
77
|
+
isStandalone: true,
|
|
78
|
+
selector: "pw-resource-job-cards",
|
|
79
|
+
inputs: {
|
|
80
|
+
categoryId: "categoryId",
|
|
81
|
+
user: "user",
|
|
82
|
+
userLoggedIn: "userLoggedIn"
|
|
83
|
+
},
|
|
84
|
+
host: { listeners: { "window:scroll": "onWindowScroll()" } },
|
|
85
|
+
usesInheritance: true,
|
|
86
|
+
usesOnChanges: true,
|
|
87
|
+
ngImport: i0,
|
|
88
|
+
template: "<section class=\"jobs-section\">\n <div class=\"container\">\n @if (!isLoaded) {\n <div class=\"jobs-loading\">\n <pw-loader [isVisible]=\"true\" />\n </div>\n } @else if (hasError) {\n <div class=\"jobs-state jobs-error\" role=\"alert\">\n <p class=\"jobs-state__message\">{{ 'Resource.Jobs.LoadError' | transloco }}</p>\n <button type=\"button\" class=\"btn btn-outline-secondary\" (click)=\"loadPosts()\">\n {{ 'Resource.Jobs.Retry' | transloco }}\n </button>\n </div>\n } @else if (posts.length === 0) {\n <div class=\"jobs-state jobs-empty\">\n <span class=\"jobs-state__icon\" aria-hidden=\"true\"><i class=\"fa fa-briefcase\"></i></span>\n <p class=\"jobs-state__message\">{{ 'Resource.Jobs.Empty' | transloco }}</p>\n </div>\n } @else {\n <p class=\"jobs-count\">\n {{ (total === 1 ? 'Resource.Jobs.CountOne' : 'Resource.Jobs.CountMany') | transloco: { count: total } }}\n </p>\n <ul class=\"jobs-grid\">\n @for (post of posts; track post.id) {\n <li class=\"job-card\">\n <pw-resource-edit-card-lazy\n class=\"job-card__edit\"\n [canEdit]=\"canEdit\"\n [id]=\"post.id\"\n [resourceData]=\"post\"\n (updated)=\"loadPosts()\" />\n <span class=\"job-card__icon\" aria-hidden=\"true\"><i class=\"fa fa-briefcase\"></i></span>\n <h2 class=\"job-card__title\">\n <a\n class=\"job-card__link\"\n [href]=\"jobLink(post)\"\n [attr.target]=\"post.external_url ? '_blank' : null\"\n [attr.rel]=\"post.external_url ? 'noopener noreferrer' : null\">\n {{ post.title }}\n @if (post.external_url) {\n <span class=\"visually-hidden\">{{ 'Resource.Jobs.OpensInNewTab' | transloco }}</span>\n }\n </a>\n </h2>\n @if (post.blurb) {\n <p class=\"job-card__blurb\">{{ post.blurb }}</p>\n }\n <div class=\"job-card__footer\">\n @if (post.published_at) {\n <span class=\"job-card__date\">\n {{ 'Resource.Jobs.Posted' | transloco: { date: (post.published_at | dateFormat) } }}\n </span>\n }\n <span class=\"job-card__cta\" aria-hidden=\"true\">\n {{ post.cta_text || ('Resource.Jobs.ViewRole' | transloco) }}\n <i class=\"fa fa-arrow-right\"></i>\n </span>\n </div>\n </li>\n }\n </ul>\n @if (isLoadingMore) {\n <div class=\"jobs-loading jobs-loading--more\">\n <pw-loader [isVisible]=\"true\" />\n </div>\n }\n }\n </div>\n</section>\n",
|
|
89
|
+
styles: [":host{--jobs-line: rgb(226, 229, 234);--jobs-line-strong: rgb(207, 216, 220);--jobs-ink: rgb(33, 33, 33);--jobs-ink-2: rgb(97, 97, 97);--jobs-ink-3: rgb(117, 117, 117);--jobs-tint: rgb(250, 250, 250);--jobs-surface: rgb(255, 255, 255);--jobs-shadow: rgba(0, 0, 0, .08);display:block}.jobs-section{background:var(--jobs-surface);padding:48px 0 64px}.jobs-count{margin:0 0 24px;color:var(--jobs-ink-2);font-size:1.375rem;font-weight:500;font-variant-numeric:tabular-nums}.jobs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr));gap:32px;margin:0;padding:0;list-style:none}.job-card{position:relative;display:flex;flex-direction:column;min-height:280px;padding:32px;background:var(--jobs-surface);border:1px solid var(--jobs-line);border-radius:8px;transition:border-color .15s ease-out,box-shadow .15s ease-out,transform .15s ease-out}.job-card:hover{border-color:var(--jobs-line-strong);box-shadow:0 8px 24px var(--jobs-shadow);transform:translateY(-2px)}.job-card:focus-within{outline:2px solid var(--first);outline-offset:2px}.job-card__edit{position:absolute;top:12px;right:12px;z-index:2}.job-card__icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:20px;font-size:1.5rem;color:var(--jobs-ink-2);background:var(--jobs-tint);border:1px solid var(--jobs-line);border-radius:8px}.job-card__title{margin:0 0 12px;font-size:1.875rem;font-weight:600;line-height:1.3;color:var(--jobs-ink)}.job-card__link{color:inherit;text-decoration:none}.job-card__link:after{content:\"\";position:absolute;inset:0;z-index:1;border-radius:8px}.job-card__link:focus-visible{outline:none}.job-card__blurb{display:-webkit-box;margin:0 0 24px;overflow:hidden;color:var(--jobs-ink-2);font-size:1.375rem;line-height:1.55;-webkit-line-clamp:4;-webkit-box-orient:vertical}.job-card__footer{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:auto;padding-top:20px;border-top:1px solid var(--jobs-line)}.job-card__date{color:var(--jobs-ink-3);font-size:1.125rem;font-variant-numeric:tabular-nums}.job-card__cta{display:inline-flex;gap:8px;align-items:center;margin-left:auto;color:var(--first);font-size:1.25rem;font-weight:600}.job-card__cta i{transition:transform .15s ease-out}.job-card:hover .job-card__cta i{transform:translate(3px)}@media(prefers-reduced-motion:reduce){.job-card,.job-card__cta i{transition:none}.job-card:hover{transform:none}}\n", ".jobs-loading{position:relative;min-height:160px}.jobs-loading--more{min-height:96px}.jobs-state{display:flex;flex-direction:column;gap:16px;align-items:center;padding:48px 16px;text-align:center;border:1px dashed var(--jobs-line-strong);border-radius:8px}.jobs-state__icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;color:var(--jobs-ink-3);background:var(--jobs-tint);border-radius:9999px}.jobs-state__message{margin:0;color:var(--jobs-ink-2);font-size:1rem}\n"],
|
|
90
|
+
dependencies: [
|
|
91
|
+
{
|
|
92
|
+
kind: "component",
|
|
93
|
+
type: AppLoaderComponent,
|
|
94
|
+
selector: "pw-loader",
|
|
95
|
+
inputs: [
|
|
96
|
+
"isVisible",
|
|
97
|
+
"closeOnOutsideClick",
|
|
98
|
+
"autoCloseTimeOut"
|
|
99
|
+
]
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
kind: "component",
|
|
103
|
+
type: ResourceEditCardLazyComponent,
|
|
104
|
+
selector: "pw-resource-edit-card-lazy",
|
|
105
|
+
inputs: [
|
|
106
|
+
"id",
|
|
107
|
+
"resourceData",
|
|
108
|
+
"canEdit"
|
|
109
|
+
],
|
|
110
|
+
outputs: ["updated"]
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
kind: "pipe",
|
|
114
|
+
type: DateFormatPipe,
|
|
115
|
+
name: "dateFormat"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
kind: "pipe",
|
|
119
|
+
type: TranslocoPipe,
|
|
120
|
+
name: "transloco"
|
|
121
|
+
}
|
|
122
|
+
],
|
|
123
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
128
|
+
minVersion: "12.0.0",
|
|
129
|
+
version: "22.2.3",
|
|
130
|
+
ngImport: i0,
|
|
131
|
+
type: ResourceJobCardsComponent,
|
|
132
|
+
decorators: [{
|
|
133
|
+
type: Component,
|
|
134
|
+
args: [{
|
|
135
|
+
selector: "pw-resource-job-cards",
|
|
136
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
137
|
+
imports: [
|
|
138
|
+
DateFormatPipe,
|
|
139
|
+
TranslocoPipe,
|
|
140
|
+
AppLoaderComponent,
|
|
141
|
+
ResourceEditCardLazyComponent
|
|
142
|
+
],
|
|
143
|
+
template: "<section class=\"jobs-section\">\n <div class=\"container\">\n @if (!isLoaded) {\n <div class=\"jobs-loading\">\n <pw-loader [isVisible]=\"true\" />\n </div>\n } @else if (hasError) {\n <div class=\"jobs-state jobs-error\" role=\"alert\">\n <p class=\"jobs-state__message\">{{ 'Resource.Jobs.LoadError' | transloco }}</p>\n <button type=\"button\" class=\"btn btn-outline-secondary\" (click)=\"loadPosts()\">\n {{ 'Resource.Jobs.Retry' | transloco }}\n </button>\n </div>\n } @else if (posts.length === 0) {\n <div class=\"jobs-state jobs-empty\">\n <span class=\"jobs-state__icon\" aria-hidden=\"true\"><i class=\"fa fa-briefcase\"></i></span>\n <p class=\"jobs-state__message\">{{ 'Resource.Jobs.Empty' | transloco }}</p>\n </div>\n } @else {\n <p class=\"jobs-count\">\n {{ (total === 1 ? 'Resource.Jobs.CountOne' : 'Resource.Jobs.CountMany') | transloco: { count: total } }}\n </p>\n <ul class=\"jobs-grid\">\n @for (post of posts; track post.id) {\n <li class=\"job-card\">\n <pw-resource-edit-card-lazy\n class=\"job-card__edit\"\n [canEdit]=\"canEdit\"\n [id]=\"post.id\"\n [resourceData]=\"post\"\n (updated)=\"loadPosts()\" />\n <span class=\"job-card__icon\" aria-hidden=\"true\"><i class=\"fa fa-briefcase\"></i></span>\n <h2 class=\"job-card__title\">\n <a\n class=\"job-card__link\"\n [href]=\"jobLink(post)\"\n [attr.target]=\"post.external_url ? '_blank' : null\"\n [attr.rel]=\"post.external_url ? 'noopener noreferrer' : null\">\n {{ post.title }}\n @if (post.external_url) {\n <span class=\"visually-hidden\">{{ 'Resource.Jobs.OpensInNewTab' | transloco }}</span>\n }\n </a>\n </h2>\n @if (post.blurb) {\n <p class=\"job-card__blurb\">{{ post.blurb }}</p>\n }\n <div class=\"job-card__footer\">\n @if (post.published_at) {\n <span class=\"job-card__date\">\n {{ 'Resource.Jobs.Posted' | transloco: { date: (post.published_at | dateFormat) } }}\n </span>\n }\n <span class=\"job-card__cta\" aria-hidden=\"true\">\n {{ post.cta_text || ('Resource.Jobs.ViewRole' | transloco) }}\n <i class=\"fa fa-arrow-right\"></i>\n </span>\n </div>\n </li>\n }\n </ul>\n @if (isLoadingMore) {\n <div class=\"jobs-loading jobs-loading--more\">\n <pw-loader [isVisible]=\"true\" />\n </div>\n }\n }\n </div>\n</section>\n",
|
|
144
|
+
styles: [":host{--jobs-line: rgb(226, 229, 234);--jobs-line-strong: rgb(207, 216, 220);--jobs-ink: rgb(33, 33, 33);--jobs-ink-2: rgb(97, 97, 97);--jobs-ink-3: rgb(117, 117, 117);--jobs-tint: rgb(250, 250, 250);--jobs-surface: rgb(255, 255, 255);--jobs-shadow: rgba(0, 0, 0, .08);display:block}.jobs-section{background:var(--jobs-surface);padding:48px 0 64px}.jobs-count{margin:0 0 24px;color:var(--jobs-ink-2);font-size:1.375rem;font-weight:500;font-variant-numeric:tabular-nums}.jobs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr));gap:32px;margin:0;padding:0;list-style:none}.job-card{position:relative;display:flex;flex-direction:column;min-height:280px;padding:32px;background:var(--jobs-surface);border:1px solid var(--jobs-line);border-radius:8px;transition:border-color .15s ease-out,box-shadow .15s ease-out,transform .15s ease-out}.job-card:hover{border-color:var(--jobs-line-strong);box-shadow:0 8px 24px var(--jobs-shadow);transform:translateY(-2px)}.job-card:focus-within{outline:2px solid var(--first);outline-offset:2px}.job-card__edit{position:absolute;top:12px;right:12px;z-index:2}.job-card__icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:20px;font-size:1.5rem;color:var(--jobs-ink-2);background:var(--jobs-tint);border:1px solid var(--jobs-line);border-radius:8px}.job-card__title{margin:0 0 12px;font-size:1.875rem;font-weight:600;line-height:1.3;color:var(--jobs-ink)}.job-card__link{color:inherit;text-decoration:none}.job-card__link:after{content:\"\";position:absolute;inset:0;z-index:1;border-radius:8px}.job-card__link:focus-visible{outline:none}.job-card__blurb{display:-webkit-box;margin:0 0 24px;overflow:hidden;color:var(--jobs-ink-2);font-size:1.375rem;line-height:1.55;-webkit-line-clamp:4;-webkit-box-orient:vertical}.job-card__footer{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:auto;padding-top:20px;border-top:1px solid var(--jobs-line)}.job-card__date{color:var(--jobs-ink-3);font-size:1.125rem;font-variant-numeric:tabular-nums}.job-card__cta{display:inline-flex;gap:8px;align-items:center;margin-left:auto;color:var(--first);font-size:1.25rem;font-weight:600}.job-card__cta i{transition:transform .15s ease-out}.job-card:hover .job-card__cta i{transform:translate(3px)}@media(prefers-reduced-motion:reduce){.job-card,.job-card__cta i{transition:none}.job-card:hover{transform:none}}\n", ".jobs-loading{position:relative;min-height:160px}.jobs-loading--more{min-height:96px}.jobs-state{display:flex;flex-direction:column;gap:16px;align-items:center;padding:48px 16px;text-align:center;border:1px dashed var(--jobs-line-strong);border-radius:8px}.jobs-state__icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;color:var(--jobs-ink-3);background:var(--jobs-tint);border-radius:9999px}.jobs-state__message{margin:0;color:var(--jobs-ink-2);font-size:1rem}\n"]
|
|
145
|
+
}]
|
|
146
|
+
}],
|
|
147
|
+
propDecorators: {
|
|
148
|
+
categoryId: [{
|
|
149
|
+
type: Input,
|
|
150
|
+
args: [{ required: true }]
|
|
151
|
+
}],
|
|
152
|
+
user: [{ type: Input }],
|
|
153
|
+
userLoggedIn: [{ type: Input }],
|
|
154
|
+
onWindowScroll: [{
|
|
155
|
+
type: HostListener,
|
|
156
|
+
args: ["window:scroll"]
|
|
157
|
+
}]
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
const FALLBACK_IMAGE = "/assets/img/resource/careers-team.svg";
|
|
161
|
+
const FALLBACK_IMAGE_STILL = "/assets/img/resource/careers-team-static.svg";
|
|
162
|
+
var ResourceJobsTopBannerComponent = class ResourceJobsTopBannerComponent extends BaseTopBannerComponent {
|
|
163
|
+
constructor() {
|
|
164
|
+
super(...arguments);
|
|
165
|
+
this.stillBannerImage = FALLBACK_IMAGE_STILL;
|
|
166
|
+
}
|
|
167
|
+
get bannerImage() {
|
|
168
|
+
return this.hasUploadedImage ? this.blogPostTag.image.url : FALLBACK_IMAGE;
|
|
169
|
+
}
|
|
170
|
+
get hasUploadedImage() {
|
|
171
|
+
const url = this.blogPostTag?.image?.url;
|
|
172
|
+
return !!url && !url.includes("no_image_uploaded_squared");
|
|
173
|
+
}
|
|
174
|
+
get hasDescription() {
|
|
175
|
+
const description = this.blogPostTag?.description;
|
|
176
|
+
return !!description && description !== "null";
|
|
177
|
+
}
|
|
178
|
+
getSearchTerm() {
|
|
179
|
+
return "Jobs";
|
|
180
|
+
}
|
|
181
|
+
static {
|
|
182
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
183
|
+
minVersion: "12.0.0",
|
|
184
|
+
version: "22.2.3",
|
|
185
|
+
ngImport: i0,
|
|
186
|
+
type: ResourceJobsTopBannerComponent,
|
|
187
|
+
deps: null,
|
|
188
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
static {
|
|
192
|
+
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
193
|
+
minVersion: "17.0.0",
|
|
194
|
+
version: "22.2.3",
|
|
195
|
+
type: ResourceJobsTopBannerComponent,
|
|
196
|
+
isStandalone: true,
|
|
197
|
+
selector: "pw-resource-jobs-top-banner",
|
|
198
|
+
usesInheritance: true,
|
|
199
|
+
ngImport: i0,
|
|
200
|
+
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 @if (blogPostTag?.title) {\n <span>{{ blogPostTag.title }}</span>\n } @else {\n <span>{{ 'Resource.Jobs.DefaultTitle' | transloco }}</span>\n }\n @if (canEditResourcesValue && blogPostTag) {\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 @if (hasDescription) {\n <p class=\"intro jobs-banner-intro\">{{ blogPostTag.description }}</p>\n } @else {\n <p class=\"intro\">{{ 'Resource.Jobs.DefaultIntro' | transloco }}</p>\n }\n </div>\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <div class=\"resource-math-img\"></div>\n <picture class=\"jobs-banner-picture\">\n @if (!hasUploadedImage) {\n <source media=\"(prefers-reduced-motion: reduce)\" [srcset]=\"stillBannerImage\" />\n }\n <img class=\"resource-laptop-img dyn-img jobs-banner-art\"\n [src]=\"bannerImage\"\n [alt]=\"'Resource.Jobs.BannerAlt' | transloco\"\n width=\"600\"\n height=\"450\"\n loading=\"eager\"\n fetchpriority=\"high\" />\n </picture>\n </div>\n </div>\n }\n </div>\n</section>\n",
|
|
201
|
+
styles: [
|
|
202
|
+
"@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",
|
|
203
|
+
"@media(width<=768px){.dyn-img{top:6rem!important}}\n",
|
|
204
|
+
".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",
|
|
205
|
+
"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 .ql-snow .ql-editor.post-body-text blockquote{font-size:22px;line-height:1.45;font-weight:600;color:#1a1d21;border-left:4px solid var(--first);padding:6px 0 6px 22px;margin:8px 0}::ng-deep .ql-snow .ql-editor.post-body-text mark{background:linear-gradient(transparent 55%,color-mix(in srgb,var(--first) 22%,transparent) 55%);color:inherit;padding:0 2px}::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",
|
|
206
|
+
".jobs-banner-intro{white-space:pre-line}.jobs-banner-picture{display:contents}@media(width>=1200px){.resource-laptop-img.jobs-banner-art{max-width:min(600px,44vw)!important}}@media(width>=992px)and (width<1200px){.text-extension{max-width:500px!important}.image-content{margin-left:auto!important}.image-content .resource-math-img{display:none}.resource-laptop-img.jobs-banner-art{left:0!important;max-width:380px!important}}@media(width<=991px){.resource-laptop-img.jobs-banner-art{flex-shrink:1;min-width:0;max-width:min(600px,100%)!important}}\n"
|
|
207
|
+
],
|
|
208
|
+
dependencies: [{
|
|
209
|
+
kind: "component",
|
|
210
|
+
type: ResourceTopBannerEditComponent,
|
|
211
|
+
selector: "pw-resource-top-banner-edit",
|
|
212
|
+
inputs: [
|
|
213
|
+
"blogPostTag",
|
|
214
|
+
"user",
|
|
215
|
+
"userLoggedIn"
|
|
216
|
+
],
|
|
217
|
+
outputs: ["getUpdatedTag"]
|
|
218
|
+
}, {
|
|
219
|
+
kind: "pipe",
|
|
220
|
+
type: TranslocoPipe,
|
|
221
|
+
name: "transloco"
|
|
222
|
+
}],
|
|
223
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
};
|
|
227
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
228
|
+
minVersion: "12.0.0",
|
|
229
|
+
version: "22.2.3",
|
|
230
|
+
ngImport: i0,
|
|
231
|
+
type: ResourceJobsTopBannerComponent,
|
|
232
|
+
decorators: [{
|
|
233
|
+
type: Component,
|
|
234
|
+
args: [{
|
|
235
|
+
selector: "pw-resource-jobs-top-banner",
|
|
236
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
237
|
+
imports: [ResourceTopBannerEditComponent, TranslocoPipe],
|
|
238
|
+
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 @if (blogPostTag?.title) {\n <span>{{ blogPostTag.title }}</span>\n } @else {\n <span>{{ 'Resource.Jobs.DefaultTitle' | transloco }}</span>\n }\n @if (canEditResourcesValue && blogPostTag) {\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 @if (hasDescription) {\n <p class=\"intro jobs-banner-intro\">{{ blogPostTag.description }}</p>\n } @else {\n <p class=\"intro\">{{ 'Resource.Jobs.DefaultIntro' | transloco }}</p>\n }\n </div>\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <div class=\"resource-math-img\"></div>\n <picture class=\"jobs-banner-picture\">\n @if (!hasUploadedImage) {\n <source media=\"(prefers-reduced-motion: reduce)\" [srcset]=\"stillBannerImage\" />\n }\n <img class=\"resource-laptop-img dyn-img jobs-banner-art\"\n [src]=\"bannerImage\"\n [alt]=\"'Resource.Jobs.BannerAlt' | transloco\"\n width=\"600\"\n height=\"450\"\n loading=\"eager\"\n fetchpriority=\"high\" />\n </picture>\n </div>\n </div>\n }\n </div>\n</section>\n",
|
|
239
|
+
styles: [
|
|
240
|
+
"@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",
|
|
241
|
+
"@media(width<=768px){.dyn-img{top:6rem!important}}\n",
|
|
242
|
+
".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",
|
|
243
|
+
"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 .ql-snow .ql-editor.post-body-text blockquote{font-size:22px;line-height:1.45;font-weight:600;color:#1a1d21;border-left:4px solid var(--first);padding:6px 0 6px 22px;margin:8px 0}::ng-deep .ql-snow .ql-editor.post-body-text mark{background:linear-gradient(transparent 55%,color-mix(in srgb,var(--first) 22%,transparent) 55%);color:inherit;padding:0 2px}::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",
|
|
244
|
+
".jobs-banner-intro{white-space:pre-line}.jobs-banner-picture{display:contents}@media(width>=1200px){.resource-laptop-img.jobs-banner-art{max-width:min(600px,44vw)!important}}@media(width>=992px)and (width<1200px){.text-extension{max-width:500px!important}.image-content{margin-left:auto!important}.image-content .resource-math-img{display:none}.resource-laptop-img.jobs-banner-art{left:0!important;max-width:380px!important}}@media(width<=991px){.resource-laptop-img.jobs-banner-art{flex-shrink:1;min-width:0;max-width:min(600px,100%)!important}}\n"
|
|
245
|
+
]
|
|
246
|
+
}]
|
|
247
|
+
}]
|
|
248
|
+
});
|
|
249
|
+
var ResourceJobsComponent = class ResourceJobsComponent extends BaseResourceComponent {
|
|
250
|
+
getResourceType() {
|
|
251
|
+
return "Jobs";
|
|
252
|
+
}
|
|
253
|
+
getPosts() {}
|
|
254
|
+
static {
|
|
255
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
256
|
+
minVersion: "12.0.0",
|
|
257
|
+
version: "22.2.3",
|
|
258
|
+
ngImport: i0,
|
|
259
|
+
type: ResourceJobsComponent,
|
|
260
|
+
deps: null,
|
|
261
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
static {
|
|
265
|
+
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
266
|
+
minVersion: "17.0.0",
|
|
267
|
+
version: "22.2.3",
|
|
268
|
+
type: ResourceJobsComponent,
|
|
269
|
+
isStandalone: true,
|
|
270
|
+
selector: "pw-resource-jobs",
|
|
271
|
+
usesInheritance: true,
|
|
272
|
+
ngImport: i0,
|
|
273
|
+
template: "<pw-resource-header [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-header>\n\n<pw-resource-jobs-top-banner />\n\n@if (blogPostTag?.tag_category_id) {\n <pw-resource-job-cards [categoryId]=\"blogPostTag.tag_category_id\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\" />\n}\n\n<pw-trial-4-contact-us [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-trial-4-contact-us>\n",
|
|
274
|
+
dependencies: [
|
|
275
|
+
{
|
|
276
|
+
kind: "component",
|
|
277
|
+
type: ResourceHeaderComponent,
|
|
278
|
+
selector: "pw-resource-header",
|
|
279
|
+
inputs: ["user", "userLoggedIn"]
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
kind: "component",
|
|
283
|
+
type: ResourceJobsTopBannerComponent,
|
|
284
|
+
selector: "pw-resource-jobs-top-banner"
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
kind: "component",
|
|
288
|
+
type: ResourceJobCardsComponent,
|
|
289
|
+
selector: "pw-resource-job-cards",
|
|
290
|
+
inputs: [
|
|
291
|
+
"categoryId",
|
|
292
|
+
"user",
|
|
293
|
+
"userLoggedIn"
|
|
294
|
+
]
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
kind: "component",
|
|
298
|
+
type: Trial4ContactUsComponent,
|
|
299
|
+
selector: "pw-trial-4-contact-us",
|
|
300
|
+
inputs: [
|
|
301
|
+
"subscriptionId",
|
|
302
|
+
"sourceId",
|
|
303
|
+
"masterSubscriptionId",
|
|
304
|
+
"experimentName",
|
|
305
|
+
"microserviceName",
|
|
306
|
+
"shardName",
|
|
307
|
+
"user",
|
|
308
|
+
"userLoggedIn"
|
|
309
|
+
]
|
|
310
|
+
}
|
|
311
|
+
],
|
|
312
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
};
|
|
316
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
317
|
+
minVersion: "12.0.0",
|
|
318
|
+
version: "22.2.3",
|
|
319
|
+
ngImport: i0,
|
|
320
|
+
type: ResourceJobsComponent,
|
|
321
|
+
decorators: [{
|
|
322
|
+
type: Component,
|
|
323
|
+
args: [{
|
|
324
|
+
selector: "pw-resource-jobs",
|
|
325
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
326
|
+
imports: [
|
|
327
|
+
ResourceHeaderComponent,
|
|
328
|
+
ResourceJobsTopBannerComponent,
|
|
329
|
+
ResourceJobCardsComponent,
|
|
330
|
+
Trial4ContactUsComponent
|
|
331
|
+
],
|
|
332
|
+
template: "<pw-resource-header [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-header>\n\n<pw-resource-jobs-top-banner />\n\n@if (blogPostTag?.tag_category_id) {\n <pw-resource-job-cards [categoryId]=\"blogPostTag.tag_category_id\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\" />\n}\n\n<pw-trial-4-contact-us [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-trial-4-contact-us>\n"
|
|
333
|
+
}]
|
|
334
|
+
}]
|
|
335
|
+
});
|
|
336
|
+
const routes = [{
|
|
337
|
+
path: "",
|
|
338
|
+
component: ResourceJobsComponent,
|
|
339
|
+
data: {
|
|
340
|
+
title: "Resources - Careers",
|
|
341
|
+
permission: "Pages.Blog",
|
|
342
|
+
preload: false
|
|
343
|
+
}
|
|
344
|
+
}];
|
|
345
|
+
var ResourceJobsModule = class ResourceJobsModule {
|
|
346
|
+
static {
|
|
347
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
348
|
+
minVersion: "12.0.0",
|
|
349
|
+
version: "22.2.3",
|
|
350
|
+
ngImport: i0,
|
|
351
|
+
type: ResourceJobsModule,
|
|
352
|
+
deps: [],
|
|
353
|
+
target: i0.ɵɵFactoryTarget.NgModule
|
|
354
|
+
});
|
|
355
|
+
}
|
|
356
|
+
static {
|
|
357
|
+
this.ɵmod = i0.ɵɵngDeclareNgModule({
|
|
358
|
+
minVersion: "14.0.0",
|
|
359
|
+
version: "22.2.3",
|
|
360
|
+
ngImport: i0,
|
|
361
|
+
type: ResourceJobsModule,
|
|
362
|
+
imports: [
|
|
363
|
+
ResourceSharedModule,
|
|
364
|
+
i1.RouterModule,
|
|
365
|
+
ResourceJobsComponent
|
|
366
|
+
]
|
|
367
|
+
});
|
|
368
|
+
}
|
|
369
|
+
static {
|
|
370
|
+
this.ɵinj = i0.ɵɵngDeclareInjector({
|
|
371
|
+
minVersion: "12.0.0",
|
|
372
|
+
version: "22.2.3",
|
|
373
|
+
ngImport: i0,
|
|
374
|
+
type: ResourceJobsModule,
|
|
375
|
+
imports: [
|
|
376
|
+
ResourceSharedModule,
|
|
377
|
+
RouterModule.forChild(routes),
|
|
378
|
+
ResourceJobsComponent
|
|
379
|
+
]
|
|
380
|
+
});
|
|
381
|
+
}
|
|
382
|
+
};
|
|
383
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
384
|
+
minVersion: "12.0.0",
|
|
385
|
+
version: "22.2.3",
|
|
386
|
+
ngImport: i0,
|
|
387
|
+
type: ResourceJobsModule,
|
|
388
|
+
decorators: [{
|
|
389
|
+
type: NgModule,
|
|
390
|
+
args: [{ imports: [
|
|
391
|
+
ResourceSharedModule,
|
|
392
|
+
RouterModule.forChild(routes),
|
|
393
|
+
ResourceJobsComponent
|
|
394
|
+
] }]
|
|
395
|
+
}]
|
|
396
|
+
});
|
|
397
|
+
export { ResourceJobsModule };
|
|
398
|
+
|
|
399
|
+
//# sourceMappingURL=posiwise-resource-module-resource-jobs.module-B53AOs8y.mjs.map
|