{"version":3,"file":"ng-web-apis-mutation-observer.mjs","sources":["../../../libs/mutation-observer/src/classes/safe-observer.ts","../../../libs/mutation-observer/src/tokens/mutation-observer-init.ts","../../../libs/mutation-observer/src/utils/boolean-attribute.ts","../../../libs/mutation-observer/src/utils/mutation-observer-init-factory.ts","../../../libs/mutation-observer/src/directives/mutation-observer.directive.ts","../../../libs/mutation-observer/src/services/mutation-observer.service.ts","../../../libs/mutation-observer/src/ng-web-apis-mutation-observer.ts"],"sourcesContent":["export const SafeObserver =\n    typeof MutationObserver !== 'undefined'\n        ? MutationObserver\n        : class implements MutationObserver {\n              public observe(): void {}\n              public disconnect(): void {}\n              public takeRecords(): MutationRecord[] {\n                  return [];\n              }\n          };\n","import type {Provider} from '@angular/core';\nimport {InjectionToken} from '@angular/core';\n\nexport const WA_MUTATION_OBSERVER_INIT = new InjectionToken<MutationObserverInit>(\n    '[WA_MUTATION_OBSERVER_INIT]',\n);\n\n/**\n * @deprecated: drop in v5.0, use {@link WA_MUTATION_OBSERVER_INIT}\n */\nexport const MUTATION_OBSERVER_INIT = WA_MUTATION_OBSERVER_INIT;\n\nexport function provideMutationObserverInit(useValue: MutationObserverInit): Provider {\n    return {\n        provide: WA_MUTATION_OBSERVER_INIT,\n        useValue,\n    };\n}\n","export function booleanAttribute(element: Element, attribute: string): true | undefined {\n    return element.getAttribute(attribute) !== null || undefined;\n}\n","import {ElementRef, inject} from '@angular/core';\n\nimport {booleanAttribute} from './boolean-attribute';\n\nexport function mutationObserverInitFactory(): MutationObserverInit {\n    const {nativeElement} = inject(ElementRef);\n    const attributeFilter: string | null = nativeElement.getAttribute('attributeFilter');\n\n    return {\n        attributeFilter: attributeFilter?.split(',').map((attr) => attr.trim()),\n        attributeOldValue: booleanAttribute(nativeElement, 'attributeOldValue'),\n        attributes: booleanAttribute(nativeElement, 'attributes'),\n        characterData: booleanAttribute(nativeElement, 'characterData'),\n        characterDataOldValue: booleanAttribute(nativeElement, 'characterDataOldValue'),\n        childList: booleanAttribute(nativeElement, 'childList'),\n        subtree: booleanAttribute(nativeElement, 'subtree'),\n    };\n}\n","/* eslint-disable @angular-eslint/no-attribute-decorator */\nimport type {OnDestroy} from '@angular/core';\nimport {Directive, ElementRef, EventEmitter, inject, Input, Output} from '@angular/core';\n\nimport {SafeObserver} from '../classes/safe-observer';\nimport {MUTATION_OBSERVER_INIT} from '../tokens/mutation-observer-init';\nimport {mutationObserverInitFactory} from '../utils/mutation-observer-init-factory';\n\n@Directive({\n    standalone: true,\n    selector: '[waMutationObserver]',\n    providers: [\n        {\n            provide: MUTATION_OBSERVER_INIT,\n            useFactory: mutationObserverInitFactory,\n        },\n    ],\n    exportAs: 'MutationObserver',\n})\nexport class WaMutationObserver extends SafeObserver implements OnDestroy {\n    private readonly nativeElement: Node = inject(ElementRef).nativeElement;\n    private readonly config = inject(MUTATION_OBSERVER_INIT);\n\n    @Input()\n    public attributeFilter = '';\n\n    @Input()\n    public attributeOldValue = '' as const;\n\n    @Input()\n    public attributes = '' as const;\n\n    @Input()\n    public characterData = '' as const;\n\n    @Input()\n    public characterDataOldValue = '' as const;\n\n    @Input()\n    public childList = '' as const;\n\n    @Input()\n    public subtree = '' as const;\n\n    @Output()\n    public readonly waMutationObserver = new EventEmitter<MutationRecord[]>();\n\n    constructor() {\n        super((records) => {\n            this.waMutationObserver.emit(records);\n        });\n\n        this.observe(this.nativeElement, this.config);\n    }\n\n    public ngOnDestroy(): void {\n        this.disconnect();\n    }\n}\n\n/**\n * @deprecated: use {@link WaMutationObserver}\n */\nexport const MutationObserverDirective = WaMutationObserver;\n","import {ElementRef, inject, Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\n\nimport {SafeObserver} from '../classes/safe-observer';\nimport {MUTATION_OBSERVER_INIT} from '../tokens/mutation-observer-init';\n\n@Injectable()\nexport class MutationObserverService extends Observable<readonly MutationRecord[]> {\n    constructor() {\n        const nativeElement: Node = inject(ElementRef).nativeElement;\n        const config = inject(MUTATION_OBSERVER_INIT);\n\n        super((subscriber) => {\n            const observer = new SafeObserver((records) => {\n                subscriber.next(records);\n            });\n\n            observer.observe(nativeElement, config);\n\n            return () => {\n                observer.disconnect();\n            };\n        });\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}