{"version":3,"file":"taiga-ui-addon-mobile-services.mjs","sources":["../../../projects/addon-mobile/services/keyboard.service.ts","../../../projects/addon-mobile/services/taiga-ui-addon-mobile-services.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport type {OnDestroy} from '@angular/core';\nimport {inject, Injectable} from '@angular/core';\nimport {tuiGetNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {filter, fromEvent, merge} from 'rxjs';\n\n@Injectable({\n    providedIn: 'root',\n})\nexport class TuiKeyboardService implements OnDestroy {\n    private readonly doc = inject(DOCUMENT);\n    private readonly sub = merge(\n        fromEvent(this.doc, 'focusout'),\n        fromEvent(this.doc, 'mousedown').pipe(\n            filter((e) => Object.is(e.target, this.element)),\n        ),\n    ).subscribe(() => {\n        this.show();\n    });\n\n    private element?: ElementContentEditable;\n    private inputMode = '';\n\n    public ngOnDestroy(): void {\n        this.sub.unsubscribe();\n        this.show();\n    }\n\n    public toggle(): void {\n        if (this.element) {\n            this.show();\n        } else {\n            this.hide();\n        }\n    }\n\n    public hide(): void {\n        const focused = tuiGetNativeFocused(this.doc) as HTMLInputElement;\n\n        if (focused?.inputMode === undefined || this.element) {\n            return;\n        }\n\n        this.element = focused;\n        this.inputMode = focused.inputMode;\n        focused.inputMode = 'none';\n    }\n\n    public show(): void {\n        if (!this.element) {\n            return;\n        }\n\n        this.element.inputMode = 'none';\n        this.element.inputMode = this.inputMode;\n        this.element = undefined;\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAMA,MAGa,kBAAkB,CAAA;AAH/B,IAAA,WAAA,GAAA;AAIqB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvB,IAAG,CAAA,GAAA,GAAG,KAAK,CACxB,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAC/B,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,IAAI,CACjC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CACnD,CACJ,CAAC,SAAS,CAAC,MAAK;YACb,IAAI,CAAC,IAAI,EAAE,CAAC;AAChB,SAAC,CAAC,CAAC;QAGK,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;AAoC1B,KAAA;IAlCU,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,EAAE,CAAC;KACf;IAEM,MAAM,GAAA;QACT,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,IAAI,EAAE,CAAC;AACf,SAAA;AAAM,aAAA;YACH,IAAI,CAAC,IAAI,EAAE,CAAC;AACf,SAAA;KACJ;IAEM,IAAI,GAAA;QACP,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAqB,CAAC;QAElE,IAAI,OAAO,EAAE,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE;YAClD,OAAO;AACV,SAAA;AAED,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;AACnC,QAAA,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;KAC9B;IAEM,IAAI,GAAA;AACP,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,OAAO;AACV,SAAA;AAED,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AACxC,QAAA,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;KAC5B;+GA/CQ,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFf,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAET,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;;ACRD;;AAEG;;;;"}