{"version":3,"file":"clock-o4mr1z05.js","sources":["packages/vanilla/lib/features/clock/src/clock.client-config.ts","packages/vanilla/lib/features/clock/src/clock.html","packages/vanilla/lib/features/clock/src/clock.component.ts","packages/vanilla/lib/features/clock/src/clock-bootstrap.service.ts","packages/vanilla/lib/features/clock/src/clock.feature.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { ClientConfigProductName, LazyClientConfig, LazyClientConfigBase, LazyClientConfigService } from '@frontend/vanilla/core';\n\n/**\n * @stable\n */\n@LazyClientConfig({ key: 'vnClock', product: ClientConfigProductName.SF })\n@Injectable({\n providedIn: 'root',\n useFactory: clockConfigFactory,\n deps: [LazyClientConfigService],\n})\nexport class ClockConfig extends LazyClientConfigBase {\n slotName: string;\n dateTimeFormat: string;\n useWithTimeZone: boolean;\n}\n\nexport function clockConfigFactory(service: LazyClientConfigService) {\n return service.get(ClockConfig);\n}\n","@if (commonMessages.ClockText; as clockText) {\n {{ clockText }}\n}\n{{ time() | date: format }}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, OnDestroy, OnInit, ViewEncapsulation, inject, signal } from '@angular/core';\n\nimport {\n CommonMessages,\n DateTimeService,\n HtmlNode,\n LocalStoreKey,\n LocalStoreService,\n SlotName,\n WebWorkerService,\n WorkerType,\n} from '@frontend/vanilla/core';\nimport { firstValueFrom } from 'rxjs';\n\nimport { ClockConfig } from './clock.client-config';\n\n@Component({\n imports: [CommonModule],\n selector: 'vn-clock',\n templateUrl: 'clock.html',\n styleUrls: ['../../../../../themepark/themes/whitelabel/components/clock/styles.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ClockComponent implements OnInit, OnDestroy {\n @Input() format: string;\n @Input() slotName: SlotName;\n\n readonly time = signal(new Date());\n\n commonMessages = inject(CommonMessages);\n private clockConfig = inject(ClockConfig);\n private htmlNode = inject(HtmlNode);\n private localStoreService = inject(LocalStoreService);\n private webWorkerService = inject(WebWorkerService);\n private dateTimeService = inject(DateTimeService);\n\n private htmlNodeClassName: string;\n\n async ngOnInit() {\n await firstValueFrom(this.clockConfig.whenReady);\n\n if (this.clockConfig.dateTimeFormat) {\n this.format = this.clockConfig.dateTimeFormat;\n } else if (!this.format) {\n this.format = 'mediumTime';\n }\n\n this.htmlNodeClassName = `${this.slotName?.toLowerCase() ?? 'custom'}-clock-shown`;\n this.htmlNode.setCssClass(this.htmlNodeClassName, true);\n\n this.storeSownCount();\n\n this.webWorkerService.createWorker(WorkerType.ClockInterval, { interval: 1000 }, () => {\n this.time.update(() => (this.clockConfig.useWithTimeZone ? this.dateTimeService.convertLocalToUserTimezone(new Date()) : new Date()));\n });\n }\n\n ngOnDestroy() {\n this.webWorkerService.removeWorker(WorkerType.ClockInterval);\n this.htmlNode.setCssClass(this.htmlNodeClassName, false);\n }\n\n private storeSownCount() {\n let clockShowCounter = this.localStoreService.get(LocalStoreKey.ClockShowTimes);\n\n if (clockShowCounter) {\n if (clockShowCounter > 2) {\n this.localStoreService.set(LocalStoreKey.ClockShowTimes, 0);\n } else {\n this.localStoreService.set(LocalStoreKey.ClockShowTimes, clockShowCounter++);\n }\n } else {\n this.localStoreService.set(LocalStoreKey.ClockShowTimes, 1);\n }\n }\n}\n","import { Injectable, inject } from '@angular/core';\n\nimport { DynamicLayoutService, EmbeddableComponentsService, OnFeatureInit } from '@frontend/vanilla/core';\nimport { firstValueFrom } from 'rxjs';\n\nimport { ClockConfig } from './clock.client-config';\nimport { ClockComponent } from './clock.component';\n\n@Injectable()\nexport class ClockBootstrapService implements OnFeatureInit {\n private config = inject(ClockConfig);\n private dynamicLayoutService = inject(DynamicLayoutService);\n private embeddableComponentsService = inject(EmbeddableComponentsService);\n\n async onFeatureInit() {\n this.embeddableComponentsService.registerEmbeddableComponent(ClockComponent);\n\n await firstValueFrom(this.config.whenReady);\n\n if (this.config.slotName) {\n this.dynamicLayoutService.addFirstComponent(this.config.slotName, ClockComponent, {\n slotName: this.config.slotName,\n format: this.config.dateTimeFormat,\n });\n }\n }\n}\n","import { runOnFeatureInit } from '@frontend/vanilla/core';\n\nimport { ClockBootstrapService } from './clock-bootstrap.service';\n\nexport function provide() {\n return [runOnFeatureInit(ClockBootstrapService)];\n}\n"],"names":["ClockConfig","_a","LazyClientConfigBase","__ngFactoryType__","factory","__ngConditionalFactory__","clockConfigFactory","ɵɵinject","LazyClientConfigService","__decorate","LazyClientConfig","key","product","ClientConfigProductName","SF","service","get","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ctx","ClockComponent","constructor","time","signal","Date","commonMessages","inject","CommonMessages","clockConfig","htmlNode","HtmlNode","localStoreService","LocalStoreService","webWorkerService","WebWorkerService","dateTimeService","DateTimeService","ngOnInit","__async","firstValueFrom","whenReady","dateTimeFormat","format","htmlNodeClassName","slotName","toLowerCase","setCssClass","storeSownCount","createWorker","WorkerType","ClockInterval","interval","update","useWithTimeZone","convertLocalToUserTimezone","ngOnDestroy","removeWorker","clockShowCounter","LocalStoreKey","ClockShowTimes","set","T","selectors","inputs","decls","vars","consts","template","rf","ɵɵtemplate","ClockComponent_Conditional_0_Template","ɵɵconditional","tmp_0_0","ClockText","ɵɵpipeBind2","CommonModule","DatePipe","styles","encapsulation","changeDetection","_ClockComponent","ClockBootstrapService","config","dynamicLayoutService","DynamicLayoutService","embeddableComponentsService","EmbeddableComponentsService","onFeatureInit","registerEmbeddableComponent","addFirstComponent","l","ɵfac","_ClockBootstrapService","provide","runOnFeatureInit"],"mappings":"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"}