{"version":3,"file":"bespunky-angular-cdk-reactive-input-shared.mjs","sources":["../../../../libs/angular-cdk/reactive-input/shared/src/utils/create-reactive-input-observable.ts","../../../../libs/angular-cdk/reactive-input/shared/src/utils/create-reactive-input-with-modifiers-observable.ts","../../../../libs/angular-cdk/reactive-input/shared/src/bespunky-angular-cdk-reactive-input-shared.ts"],"sourcesContent":["import { fromEvent, Observable   } from 'rxjs';\nimport { ElementRef              } from '@angular/core';\nimport { useActivationSwitch     } from '@bespunky/rxjs';\nimport { DocumentRef             } from '@bespunky/angular-zen';\n\nimport { FeedConfig              } from '../feeds/feed-config';\n\nexport function createReactiveInputObservable<TEvent>(element: ElementRef | DocumentRef, eventName: string, config?: FeedConfig): Observable<TEvent>\n{\n    const { activationSwitch } = config || {};\n    \n    const nativeElement = element instanceof DocumentRef ? element.nativeDocument : element.nativeElement;\n    \n    let event = fromEvent<TEvent>(nativeElement, eventName);\n    \n    if (activationSwitch) event = event.pipe(useActivationSwitch(activationSwitch));\n    \n    return event;\n}","import { Observable                    } from 'rxjs';\nimport { filter                        } from 'rxjs/operators';\nimport { ElementRef                    } from '@angular/core';\nimport { DocumentRef                   } from '@bespunky/angular-zen';\n\nimport { EventWithModifiers            } from '../types/event-with-modifiers';\nimport { KeyboardModifiers             } from '../types/keyboard-modifiers';\nimport { FeedWithModifiersConfig       } from '../feeds/feed-config';\nimport { createReactiveInputObservable } from './create-reactive-input-observable';\n\nexport function createReactiveInputWithModifiersObservable<TEvent extends EventWithModifiers>(element: ElementRef | DocumentRef, eventName: string, config?: FeedWithModifiersConfig): Observable<TEvent>\n{\n    const { modifiers } = config || {};\n    \n    let event = createReactiveInputObservable<TEvent>(element, eventName, config);\n\n    if (modifiers)\n    {\n        event = event.pipe(\n            filter(e => Object.keys(modifiers)\n                              .every(modifier => e[modifier] === modifiers[modifier as keyof KeyboardModifiers]))\n        );\n    }\n\n    return event;\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;SAOgB,6BAA6B,CAAS,OAAiC,EAAE,SAAiB,EAAE,MAAmB,EAAA;AAE3H,IAAA,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;AAE1C,IAAA,MAAM,aAAa,GAAG,OAAO,YAAY,WAAW,GAAG,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAEtG,IAAI,KAAK,GAAG,SAAS,CAAS,aAAa,EAAE,SAAS,CAAC,CAAC;AAExD,IAAA,IAAI,gBAAgB;QAAE,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAEhF,IAAA,OAAO,KAAK,CAAC;AACjB;;SCRgB,0CAA0C,CAAoC,OAAiC,EAAE,SAAiB,EAAE,MAAgC,EAAA;AAEhL,IAAA,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;IAEnC,IAAI,KAAK,GAAG,6BAA6B,CAAS,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AAE9E,IAAA,IAAI,SAAS,EACb;AACI,QAAA,KAAK,GAAG,KAAK,CAAC,IAAI,CACd,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;AACf,aAAA,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC,QAAmC,CAAC,CAAC,CAAC,CACxG,CAAC;AACL,KAAA;AAED,IAAA,OAAO,KAAK,CAAC;AACjB;;ACzBA;;AAEG;;;;"}