{"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":""}