{"version":3,"file":"ngxtension-active-element.mjs","sources":["../../../../libs/ngxtension/active-element/src/active-element.ts","../../../../libs/ngxtension/active-element/src/ngxtension-active-element.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { inject, Injector } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { assertInjector } from 'ngxtension/assert-injector';\nimport { fromEvent, map, merge, shareReplay } from 'rxjs';\n\nexport function injectActiveElement(injector?: Injector) {\n\treturn assertInjector(injectActiveElement, injector, () => {\n\t\tconst doc = inject(DOCUMENT);\n\t\treturn merge(\n\t\t\tfromEvent(doc, 'focus', { capture: true, passive: true }).pipe(\n\t\t\t\tmap(() => true),\n\t\t\t),\n\t\t\tfromEvent(doc, 'blur', { capture: true, passive: true }).pipe(\n\t\t\t\tmap(() => false),\n\t\t\t),\n\t\t).pipe(\n\t\t\tmap((hasFocus) => (hasFocus ? doc.activeElement : null)),\n\t\t\tshareReplay({ refCount: true, bufferSize: 1 }),\n\t\t\ttakeUntilDestroyed(),\n\t\t);\n\t});\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAMM,SAAU,mBAAmB,CAAC,QAAmB,EAAA;AACtD,IAAA,OAAO,cAAc,CAAC,mBAAmB,EAAE,QAAQ,EAAE,MAAK;AACzD,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,KAAK,CACX,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAC7D,GAAG,CAAC,MAAM,IAAI,CAAC,CACf,EACD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAC5D,GAAG,CAAC,MAAM,KAAK,CAAC,CAChB,CACD,CAAC,IAAI,CACL,GAAG,CAAC,CAAC,QAAQ,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,EACxD,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,EAC9C,kBAAkB,EAAE,CACpB,CAAC;AACH,KAAC,CAAC,CAAC;AACJ;;ACtBA;;AAEG;;;;"}