{"version":3,"sources":["webpack:///./node_modules/@ionic/core/dist/esm-es5/ion-backdrop-ios.entry.js"],"names":["Backdrop","prototype","connectedCallback","this","stopPropagation","blocker","block","disconnectedCallback","unblock","onTouchStart","ev","lastClick","emitTap","onMouseDown","preventDefault","tappable","ionBackdropTap","emit","render","_a","mode","tabindex","class","visible","Object","defineProperty","get","enumerable","configurable","hostRef","createBlocker","disableScroll"],"mappings":"+FAAA,sGAIIA,GAqBAA,EAASC,UAAUC,kBAAoB,WAC/BC,KAAKC,iBACLD,KAAKE,QAAQC,MAAM,CAE3B,EACAN,EAASC,UAAUM,qBAAuB,WACtCJ,KAAKE,QAAQG,QAAQ,CACzB,EACAR,EAASC,UAAUQ,aAAe,SAAUC,GACxCP,KAAKQ,UAAY,YAAID,CAAE,EACvBP,KAAKS,QAAQF,CAAE,CACnB,EACAV,EAASC,UAAUY,YAAc,SAAUH,GACnCP,KAAKQ,UAAY,YAAID,CAAE,EAAI,MAC3BP,KAAKS,QAAQF,CAAE,CAEvB,EACAV,EAASC,UAAUW,QAAU,SAAUF,GAC/BP,KAAKC,kBACLM,EAAGI,eAAe,EAClBJ,EAAGN,gBAAgB,GAEnBD,KAAKY,UACLZ,KAAKa,eAAeC,KAAK,CAEjC,EACAjB,EAASC,UAAUiB,OAAS,WACxB,IAAIC,EACAC,EAAO,YAAWjB,IAAI,EAC1B,OAAQ,YAAE,IAAM,CAAEkB,SAAU,KAAMC,QAAQH,EAAK,IACpCC,GAAQ,GACXD,EAAG,iBAAmB,CAAChB,KAAKoB,QAC5BJ,EAAG,wBAA0B,CAAChB,KAAKY,SACnCI,EAAI,CAAE,CAClB,EACAK,OAAOC,eAAezB,EAAU,QAAS,CACrC0B,IAAK,WAAc,MAAO,sWAAwW,EAClYC,WAAY,GACZC,aAAc,EAClB,CAAC,EACM5B,GA5DP,SAASA,EAAS6B,GACd,YAAiB1B,KAAM0B,CAAO,EAC9B1B,KAAKQ,UAAY,CAAC,IAClBR,KAAKE,QAAU,qBAAmByB,cAAc,CAC5CC,cAAe,EACnB,CAAC,EAID5B,KAAKoB,QAAU,GAIfpB,KAAKY,SAAW,GAIhBZ,KAAKC,gBAAkB,GACvBD,KAAKa,eAAiB,YAAYb,KAAM,iBAAkB,CAAC,CAC/D,C","file":"js/chunk-2d0c1f4a.e08c424a.js","sourcesContent":["import { r as registerInstance, d as createEvent, c as getIonMode, h, H as Host } from './core-feeeff0d.js';\nimport './config-3c7f3790.js';\nimport { n as now } from './helpers-46f4a262.js';\nimport { GESTURE_CONTROLLER } from './index-624eea58.js';\nvar Backdrop = /** @class */ (function () {\n    function Backdrop(hostRef) {\n        registerInstance(this, hostRef);\n        this.lastClick = -10000;\n        this.blocker = GESTURE_CONTROLLER.createBlocker({\n            disableScroll: true\n        });\n        /**\n         * If `true`, the backdrop will be visible.\n         */\n        this.visible = true;\n        /**\n         * If `true`, the backdrop will can be clicked and will emit the `ionBackdropTap` event.\n         */\n        this.tappable = true;\n        /**\n         * If `true`, the backdrop will stop propagation on tap.\n         */\n        this.stopPropagation = true;\n        this.ionBackdropTap = createEvent(this, \"ionBackdropTap\", 7);\n    }\n    Backdrop.prototype.connectedCallback = function () {\n        if (this.stopPropagation) {\n            this.blocker.block();\n        }\n    };\n    Backdrop.prototype.disconnectedCallback = function () {\n        this.blocker.unblock();\n    };\n    Backdrop.prototype.onTouchStart = function (ev) {\n        this.lastClick = now(ev);\n        this.emitTap(ev);\n    };\n    Backdrop.prototype.onMouseDown = function (ev) {\n        if (this.lastClick < now(ev) - 2500) {\n            this.emitTap(ev);\n        }\n    };\n    Backdrop.prototype.emitTap = function (ev) {\n        if (this.stopPropagation) {\n            ev.preventDefault();\n            ev.stopPropagation();\n        }\n        if (this.tappable) {\n            this.ionBackdropTap.emit();\n        }\n    };\n    Backdrop.prototype.render = function () {\n        var _a;\n        var mode = getIonMode(this);\n        return (h(Host, { tabindex: \"-1\", class: (_a = {},\n                _a[mode] = true,\n                _a['backdrop-hide'] = !this.visible,\n                _a['backdrop-no-tappable'] = !this.tappable,\n                _a) }));\n    };\n    Object.defineProperty(Backdrop, \"style\", {\n        get: function () { return \":host{left:0;right:0;top:0;bottom:0;display:block;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);contain:strict;cursor:pointer;opacity:.01;-ms-touch-action:none;touch-action:none;z-index:2}:host(.backdrop-hide){background:transparent}:host(.backdrop-no-tappable){cursor:auto}:host{background-color:var(--ion-backdrop-color,#000)}\"; },\n        enumerable: true,\n        configurable: true\n    });\n    return Backdrop;\n}());\nexport { Backdrop as ion_backdrop };\n"],"sourceRoot":""}