{"version":3,"file":"angular-three-core-stats.mjs","sources":["../../../../libs/core/stats/src/lib/stats.ts","../../../../libs/core/stats/src/angular-three-core-stats.ts"],"sourcesContent":["import {\n  addAfterCallback,\n  addCallback,\n  coerceNumberProperty,\n  NgtComponentStore,\n  NumberInput,\n  tapEffect,\n} from '@angular-three/core';\nimport { DOCUMENT } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Inject, Input, NgModule, NgZone, OnInit } from '@angular/core';\nimport Stats from 'three/examples/jsm/libs/stats.module';\n\n@Component({\n  selector: 'ngt-stats',\n  standalone: true,\n  template: '<ng-content></ng-content>',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgtStats extends NgtComponentStore implements OnInit {\n  @Input() parent?: HTMLElement;\n  @Input() set showPanel(showPanel: NumberInput) {\n    this._showPanel = coerceNumberProperty(showPanel);\n  }\n\n  private node: HTMLElement;\n  private readonly _stats: Stats;\n  private _showPanel = 0;\n\n  constructor(private zone: NgZone, @Inject(DOCUMENT) { body }: Document) {\n    super();\n    this.node = body;\n    this._stats = Stats();\n  }\n\n  get stats() {\n    return this._stats;\n  }\n\n  ngOnInit() {\n    this.zone.runOutsideAngular(() => {\n      this.effect<void>(\n        tapEffect(() => {\n          if (this.parent) {\n            this.node = this.parent;\n          }\n\n          this._stats.showPanel(this._showPanel);\n          this.node.appendChild(this._stats.dom);\n\n          const beginCallbackCleanup = addCallback(() => this._stats.begin());\n\n          const endCallbackCleanup = addAfterCallback(() => this._stats.end());\n\n          return () => {\n            if (this._stats) {\n              this.node.removeChild(this._stats.dom);\n              beginCallbackCleanup();\n              endCallbackCleanup();\n            }\n          };\n        })\n      )();\n    });\n  }\n}\n\n@NgModule({\n  imports: [NgtStats],\n  exports: [NgtStats],\n})\nexport class NgtStatsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}