UNPKG

@taiga-ui/core

Version:

Core library for creating Angular components and applications using Taiga UI

1 lines 4.48 kB
{"version":3,"file":"taiga-ui-core-components-fullscreen.mjs","sources":["../../../projects/core/components/fullscreen/fullscreen.component.ts","../../../projects/core/components/fullscreen/taiga-ui-core-components-fullscreen.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n Output,\n signal,\n ViewChild,\n} from '@angular/core';\nimport {TuiRoot} from '@taiga-ui/core/components/root';\n\n@Component({\n standalone: true,\n selector: '[tuiFullscreen]',\n imports: [TuiRoot],\n template: '<tui-root><ng-content /></tui-root>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '(document:fullscreenchange)': 'closedByEscape($event)',\n },\n})\nexport class TuiFullscreen {\n @ViewChild(TuiRoot, {read: ElementRef})\n private readonly root?: ElementRef<HTMLElement>;\n\n private readonly doc = inject(DOCUMENT);\n protected readonly open = signal(false);\n\n @Output('tuiFullscreenChange')\n public readonly opened = new EventEmitter<boolean>();\n\n @Input('tuiFullscreenOptions')\n public options?: FullscreenOptions = {navigationUI: 'auto'};\n\n @Input('tuiFullscreen')\n public set fullscreen(open: boolean) {\n if (this.open() === open) {\n return;\n }\n\n if (open) {\n this.root?.nativeElement\n .requestFullscreen(this.options)\n .then(() => this.fullscreenState(open));\n } else {\n this.doc\n .exitFullscreen()\n .then(() => this.fullscreenState(open))\n .catch((error: unknown) =>\n console.error('Failed to exit fullscreen:', error),\n );\n }\n }\n\n protected closedByEscape(event: Event): void {\n const escaped =\n !this.doc.fullscreenElement && event.target === this.root?.nativeElement;\n\n if (escaped) {\n this.fullscreenState(false);\n }\n }\n\n private fullscreenState(open: boolean): void {\n this.open.set(open);\n this.opened.emit(open);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}