{"version":3,"sources":["webpack:///./node_modules/@ionic/core/dist/esm-es5/ion-tab_2.entry.js","webpack:///./node_modules/@ionic/core/dist/esm-es5/framework-delegate-c2e2e1f4.js"],"names":["Tab","class_1","hostRef","this","loaded","active","prototype","componentWillLoad","setActive","_a","label","prepareLazyLoaded","sent","component","delegate","el","e","console","error","Promise","resolve","undefined","render","tab","role","class","Object","defineProperty","get","enumerable","configurable","Tabs","class_2","_this","transitioning","useRouter","onTabClicked","ev","detail","href","router","document","querySelector","push","select","ionNavWillLoad","ionTabsWillChange","ionTabsDidChange","tabs","closest","emit","componentWillRender","tabBar","selectedTab","getTab","shouldSwitch","notifyRouter","tabSwitch","getSelected","setRouteId","id","changed","element","markVisible","getRouteId","tabId","reject","leavingTab","navChanged","Array","from","querySelectorAll","onIonTabButtonClick","name","tabEl","find","t","attachComponent","container","cssClasses","componentProps","attachViewToDom","HTMLElement","Error","ownerDocument","createElement","forEach","c","classList","add","assign","appendChild","componentOnReady","detachComponent","parentElement","removeViewFromDom","remove"],"mappings":"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","file":"js/chunk-90f00036.1165b460.js","sourcesContent":["import { __awaiter, __generator } from \"tslib\";\nimport { r as registerInstance, h, H as Host, e as getElement, d as createEvent } from './core-feeeff0d.js';\nimport './config-3c7f3790.js';\nimport { a as attachComponent } from './framework-delegate-c2e2e1f4.js';\nvar Tab = /** @class */ (function () {\n function class_1(hostRef) {\n registerInstance(this, hostRef);\n this.loaded = false;\n /** @internal */\n this.active = false;\n }\n class_1.prototype.componentWillLoad = function () {\n };\n /** Set the active component for the tab */\n class_1.prototype.setActive = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.prepareLazyLoaded()];\n case 1:\n _a.sent();\n this.active = true;\n return [2 /*return*/];\n }\n });\n });\n };\n class_1.prototype.prepareLazyLoaded = function () {\n if (!this.loaded && this.component != null) {\n this.loaded = true;\n try {\n return attachComponent(this.delegate, this.el, this.component, ['ion-page']);\n }\n catch (e) {\n console.error(e);\n }\n }\n return Promise.resolve(undefined);\n };\n class_1.prototype.render = function () {\n var _a = this, tab = _a.tab, active = _a.active, component = _a.component;\n return (h(Host, { role: \"tabpanel\", \"aria-hidden\": !active ? 'true' : null, \"aria-labelledby\": \"tab-button-\" + tab, class: {\n 'ion-page': component === undefined,\n 'tab-hidden': !active\n } }, h(\"slot\", null)));\n };\n Object.defineProperty(class_1.prototype, \"el\", {\n get: function () { return getElement(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(class_1, \"style\", {\n get: function () { return \":host(.tab-hidden){display:none!important}\"; },\n enumerable: true,\n configurable: true\n });\n return class_1;\n}());\nvar Tabs = /** @class */ (function () {\n function class_2(hostRef) {\n var _this = this;\n registerInstance(this, hostRef);\n this.transitioning = false;\n /** @internal */\n this.useRouter = false;\n this.onTabClicked = function (ev) {\n var _a = ev.detail, href = _a.href, tab = _a.tab;\n if (_this.useRouter && href !== undefined) {\n var router = document.querySelector('ion-router');\n if (router) {\n router.push(href);\n }\n }\n else {\n _this.select(tab);\n }\n };\n this.ionNavWillLoad = createEvent(this, \"ionNavWillLoad\", 7);\n this.ionTabsWillChange = createEvent(this, \"ionTabsWillChange\", 3);\n this.ionTabsDidChange = createEvent(this, \"ionTabsDidChange\", 3);\n }\n class_2.prototype.componentWillLoad = function () {\n return __awaiter(this, void 0, void 0, function () {\n var tabs;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.useRouter) {\n this.useRouter = !!document.querySelector('ion-router') && !this.el.closest('[no-router]');\n }\n if (!!this.useRouter) return [3 /*break*/, 2];\n tabs = this.tabs;\n return [4 /*yield*/, this.select(tabs[0])];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n this.ionNavWillLoad.emit();\n return [2 /*return*/];\n }\n });\n });\n };\n class_2.prototype.componentWillRender = function () {\n var tabBar = this.el.querySelector('ion-tab-bar');\n if (tabBar) {\n var tab = this.selectedTab ? this.selectedTab.tab : undefined;\n tabBar.selectedTab = tab;\n }\n };\n /**\n * Select a tab by the value of its `tab` property or an element reference.\n *\n * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.\n */\n class_2.prototype.select = function (tab) {\n return __awaiter(this, void 0, void 0, function () {\n var selectedTab;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n selectedTab = getTab(this.tabs, tab);\n if (!this.shouldSwitch(selectedTab)) {\n return [2 /*return*/, false];\n }\n return [4 /*yield*/, this.setActive(selectedTab)];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.notifyRouter()];\n case 2:\n _a.sent();\n this.tabSwitch();\n return [2 /*return*/, true];\n }\n });\n });\n };\n /**\n * Get a specific tab by the value of its `tab` property or an element reference.\n *\n * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.\n */\n class_2.prototype.getTab = function (tab) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, getTab(this.tabs, tab)];\n });\n });\n };\n /**\n * Get the currently selected tab.\n */\n class_2.prototype.getSelected = function () {\n return Promise.resolve(this.selectedTab ? this.selectedTab.tab : undefined);\n };\n /** @internal */\n class_2.prototype.setRouteId = function (id) {\n return __awaiter(this, void 0, void 0, function () {\n var selectedTab;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n selectedTab = getTab(this.tabs, id);\n if (!this.shouldSwitch(selectedTab)) {\n return [2 /*return*/, { changed: false, element: this.selectedTab }];\n }\n return [4 /*yield*/, this.setActive(selectedTab)];\n case 1:\n _a.sent();\n return [2 /*return*/, {\n changed: true,\n element: this.selectedTab,\n markVisible: function () { return _this.tabSwitch(); },\n }];\n }\n });\n });\n };\n /** @internal */\n class_2.prototype.getRouteId = function () {\n return __awaiter(this, void 0, void 0, function () {\n var tabId;\n return __generator(this, function (_a) {\n tabId = this.selectedTab && this.selectedTab.tab;\n return [2 /*return*/, tabId !== undefined ? { id: tabId, element: this.selectedTab } : undefined];\n });\n });\n };\n class_2.prototype.setActive = function (selectedTab) {\n if (this.transitioning) {\n return Promise.reject('transitioning already happening');\n }\n this.transitioning = true;\n this.leavingTab = this.selectedTab;\n this.selectedTab = selectedTab;\n this.ionTabsWillChange.emit({ tab: selectedTab.tab });\n return selectedTab.setActive();\n };\n class_2.prototype.tabSwitch = function () {\n var selectedTab = this.selectedTab;\n var leavingTab = this.leavingTab;\n this.leavingTab = undefined;\n this.transitioning = false;\n if (!selectedTab) {\n return;\n }\n if (leavingTab !== selectedTab) {\n if (leavingTab) {\n leavingTab.active = false;\n }\n this.ionTabsDidChange.emit({ tab: selectedTab.tab });\n }\n };\n class_2.prototype.notifyRouter = function () {\n if (this.useRouter) {\n var router = document.querySelector('ion-router');\n if (router) {\n return router.navChanged('forward');\n }\n }\n return Promise.resolve(false);\n };\n class_2.prototype.shouldSwitch = function (selectedTab) {\n var leavingTab = this.selectedTab;\n return selectedTab !== undefined && selectedTab !== leavingTab && !this.transitioning;\n };\n Object.defineProperty(class_2.prototype, \"tabs\", {\n get: function () {\n return Array.from(this.el.querySelectorAll('ion-tab'));\n },\n enumerable: true,\n configurable: true\n });\n class_2.prototype.render = function () {\n return (h(Host, { onIonTabButtonClick: this.onTabClicked }, h(\"slot\", { name: \"top\" }), h(\"div\", { class: \"tabs-inner\" }, h(\"slot\", null)), h(\"slot\", { name: \"bottom\" })));\n };\n Object.defineProperty(class_2.prototype, \"el\", {\n get: function () { return getElement(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(class_2, \"style\", {\n get: function () { return \":host{left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:100%;height:100%;z-index:0}.tabs-inner,:host{contain:layout size style}.tabs-inner{position:relative;-ms-flex:1;flex:1}\"; },\n enumerable: true,\n configurable: true\n });\n return class_2;\n}());\nvar getTab = function (tabs, tab) {\n var tabEl = (typeof tab === 'string')\n ? tabs.find(function (t) { return t.tab === tab; })\n : tab;\n if (!tabEl) {\n console.error(\"tab with id: \\\"\" + tabEl + \"\\\" does not exist\");\n }\n return tabEl;\n};\nexport { Tab as ion_tab, Tabs as ion_tabs };\n","import { __awaiter, __generator } from \"tslib\";\nvar attachComponent = function (delegate, container, component, cssClasses, componentProps) { return __awaiter(void 0, void 0, void 0, function () {\n var el;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (delegate) {\n return [2 /*return*/, delegate.attachViewToDom(container, component, componentProps, cssClasses)];\n }\n if (typeof component !== 'string' && !(component instanceof HTMLElement)) {\n throw new Error('framework delegate is missing');\n }\n el = (typeof component === 'string')\n ? container.ownerDocument && container.ownerDocument.createElement(component)\n : component;\n if (cssClasses) {\n cssClasses.forEach(function (c) { return el.classList.add(c); });\n }\n if (componentProps) {\n Object.assign(el, componentProps);\n }\n container.appendChild(el);\n if (!el.componentOnReady) return [3 /*break*/, 2];\n return [4 /*yield*/, el.componentOnReady()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/, el];\n }\n });\n}); };\nvar detachComponent = function (delegate, element) {\n if (element) {\n if (delegate) {\n var container = element.parentElement;\n return delegate.removeViewFromDom(container, element);\n }\n element.remove();\n }\n return Promise.resolve();\n};\nexport { attachComponent as a, detachComponent as d };\n"],"sourceRoot":""}