{"version":3,"file":"chunk-kwnan6wb.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 standalone: true,\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","selectors","inputs","standalone","features","ɵɵStandaloneFeature","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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"}