1 line
51 KiB
JSON
1 line
51 KiB
JSON
{"ast":null,"code":"/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-1a99aeb7.js';\nimport { c as createKeyboardController } from './keyboard-controller-73af62b2.js';\nimport { b as getIonMode, c as config } from './ionic-global-04e268e7.js';\nimport { c as createColorClasses } from './theme-7670341c.js';\nimport './index-33ffec25.js';\nconst tabBarIosCss = \":host{padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-bottom:var(--ion-safe-area-bottom, 0);border-top:var(--border);background:var(--background);color:var(--color);text-align:center;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:10;-webkit-box-sizing:content-box !important;box-sizing:content-box !important}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color) ::slotted(ion-tab-button){--background-focused:var(--ion-color-shade);--color-selected:var(--ion-color-contrast)}:host(.ion-color) ::slotted(.tab-selected){color:var(--ion-color-contrast)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){color:rgba(var(--ion-color-contrast-rgb), 0.7)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){background:var(--ion-color-base)}:host(.ion-color) ::slotted(ion-tab-button.ion-focused),:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:var(--background-focused)}:host(.tab-bar-translucent) ::slotted(ion-tab-button){background:transparent}:host([slot=top]){padding-top:var(--ion-safe-area-top, 0);padding-bottom:0;border-top:0;border-bottom:var(--border)}:host(.tab-bar-hidden){display:none !important}:host{--background:var(--ion-tab-bar-background, var(--ion-color-step-50, #f7f7f7));--background-focused:var(--ion-tab-bar-background-focused, #e0e0e0);--border:0.55px solid var(--ion-tab-bar-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.2))));--color:var(--ion-tab-bar-color, var(--ion-color-step-400, #999999));--color-selected:var(--ion-tab-bar-color-selected, var(--ion-color-primary, #3880ff));height:50px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.tab-bar-translucent){--background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(210%) blur(20px);backdrop-filter:saturate(210%) blur(20px)}:host(.ion-color.tab-bar-translucent){background:rgba(var(--ion-color-base-rgb), 0.8)}:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.6)}}\";\nconst tabBarMdCss = \":host{padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-bottom:var(--ion-safe-area-bottom, 0);border-top:var(--border);background:var(--background);color:var(--color);text-align:center;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:10;-webkit-box-sizing:content-box !important;box-sizing:content-box !important}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color) ::slotted(ion-tab-button){--background-focused:var(--ion-color-shade);--color-selected:var(--ion-color-contrast)}:host(.ion-color) ::slotted(.tab-selected){color:var(--ion-color-contrast)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){color:rgba(var(--ion-color-contrast-rgb), 0.7)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){background:var(--ion-color-base)}:host(.ion-color) ::slotted(ion-tab-button.ion-focused),:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:var(--background-focused)}:host(.tab-bar-translucent) ::slotted(ion-tab-button){background:transparent}:host([slot=top]){padding-top:var(--ion-safe-area-top, 0);padding-bottom:0;border-top:0;border-bottom:var(--border)}:host(.tab-bar-hidden){display:none !important}:host{--background:var(--ion-tab-bar-background, var(--ion-background-color, #fff));--background-focused:var(--ion-tab-bar-background-focused, #e0e0e0);--border:1px solid var(--ion-tab-bar-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.07))));--color:var(--ion-tab-bar-color, var(--ion-color-step-600, #666666));--color-selected:var(--ion-tab-bar-color-selected, var(--ion-color-primary, #3880ff));height:56px}\";\nconst TabBar = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionTabBarChanged = createEvent(this, \"ionTabBarChanged\", 7);\n this.keyboardCtrl = null;\n this.keyboardVisible = false;\n /**\n * If `true`, the tab bar will be translucent.\n * Only applies when the mode is `\"ios\"` and the device supports\n * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).\n */\n\n this.translucent = false;\n }\n\n selectedTabChanged() {\n if (this.selectedTab !== undefined) {\n this.ionTabBarChanged.emit({\n tab: this.selectedTab\n });\n }\n }\n\n componentWillLoad() {\n this.selectedTabChanged();\n }\n\n connectedCallback() {\n this.keyboardCtrl = createKeyboardController(keyboardOpen => {\n this.keyboardVisible = keyboardOpen; // trigger re-render by updating state\n });\n }\n\n disconnectedCallback() {\n if (this.keyboardCtrl) {\n this.keyboardCtrl.destroy();\n }\n }\n\n render() {\n const {\n color,\n translucent,\n keyboardVisible\n } = this;\n const mode = getIonMode(this);\n const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';\n return h(Host, {\n role: \"tablist\",\n \"aria-hidden\": shouldHide ? 'true' : null,\n class: createColorClasses(color, {\n [mode]: true,\n 'tab-bar-translucent': translucent,\n 'tab-bar-hidden': shouldHide\n })\n }, h(\"slot\", null));\n }\n\n get el() {\n return getElement(this);\n }\n\n static get watchers() {\n return {\n \"selectedTab\": [\"selectedTabChanged\"]\n };\n }\n\n};\nTabBar.style = {\n ios: tabBarIosCss,\n md: tabBarMdCss\n};\nconst tabButtonIosCss = \":host{--ripple-color:var(--color-selected);--background-focused-opacity:1;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;outline:none;background:var(--background);color:var(--color)}.button-native{border-radius:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;height:100%;border:0;outline:none;background:transparent;text-decoration:none;cursor:pointer;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-drag:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;height:100%;z-index:1}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){a:hover{color:var(--color-selected)}}:host(.tab-selected){color:var(--color-selected)}:host(.tab-hidden){display:none !important}:host(.tab-disabled){pointer-events:none;opacity:0.4}::slotted(ion-label),::slotted(ion-icon){display:block;-ms-flex-item-align:center;align-self:center;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-label){-ms-flex-order:0;order:0}::slotted(ion-icon){-ms-flex-order:-1;order:-1;height:1em}:host(.tab-has-label-only) ::slotted(ion-label){white-space:normal}::slotted(ion-badge){-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;z-index:1}:host(.tab-layout-icon-start){-ms-flex-direction:row;flex-direction:row}:host(.tab-layout-icon-end){-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.tab-layout-icon-bottom){-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.tab-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.tab-layout-label-hide) ::slotted(ion-label){display:none}ion-ripple-effect{color:var(--ripple-color)}:host{--padding-top:0;--padding-end:2px;--padding-bottom:0;--padding-start:2px;max-width:240px;font-size:10px}::slotted(ion-badge){padding-left:6px;padding-right:6px;padding-top:1px;padding-bottom:1px;left:calc(50% + 6px);top:4px;height:auto;font-size:12px;line-height:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-badge){padding-left:unset;padding-right:unset;-webkit-padding-start:6px;padding-inline-start:6px;-webkit-padding-end:6px;padding-inline-end:6px}}[dir=rtl] ::slotted(ion-badge),:host-context([dir=rtl]) ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 6px)}::slotted(ion-icon){margin-top:2px;margin-bottom:2px;font-size:30px}::slotted(ion-icon::before){vertical-align:top}::slotted(ion-label){margin-top:0;margin-bottom:1px;min-height:11px;font-weight:500}:host(.tab-has-label-only) ::slotted(ion-label){margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:12px;font-size:14px;line-height:1.1}:host(.tab-layout-icon-end) ::slotted(ion-label),:host(.tab-layout-icon-start) ::slotted(ion-label),:host(.tab-layout-icon-hide) ::slotted(ion-label){margin-top:2px;margin-bottom:2px;font-size:14px;line-height:1.1}:host(.tab-layout-icon-end) ::slotted(ion-icon),:host(.tab-layout-icon-start) ::slotted(ion-icon){min-width:24px;height:26px;margin-top:2px;margin-bottom:1px;font-size:24px}:host(.tab-layout-icon-bottom) ::slotted(ion-badge){left:calc(50% + 12px)}:host-context([dir=rtl]):host(.tab-layout-icon-bottom) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-bottom ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 12px)}:host(.tab-layout-icon-bottom) ::slotted(ion-icon){margin-top:0;margin-bottom:1px}:host(.tab-layout-icon-bottom) ::slotted(ion-label){margin-top:4px}:host(.tab-layout-icon-start) ::slotted(ion-badge),:host(.tab-layout-icon-end) ::slotted(ion-badge){left:calc(50% + 35px);top:10px}:host-context([dir=rtl]):host(.tab-layout-icon-start) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-start ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-layout-icon-end) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-end ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 35px)}:host(.tab-layout-icon-hide) ::slotted(ion-badge),:host(.tab-has-label-only) ::slotted(ion-badge){left:calc(50% + 30px);top:10px}:host-context([dir=rtl]):host(.tab-layout-icon-hide) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-hide ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-has-label-only) ::slotted(ion-badge),:host-context([dir=rtl]).tab-has-label-only ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 30px)}:host(.tab-layout-label-hide) ::slotted(ion-badge),:host(.tab-has-icon-only) ::slotted(ion-badge){top:10px}:host(.tab-layout-label-hide) ::slotted(ion-icon){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}\";\nconst tabButtonMdCss = \":host{--ripple-color:var(--color-selected);--background-focused-opacity:1;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;outline:none;background:var(--background);color:var(--color)}.button-native{border-radius:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;height:100%;border:0;outline:none;background:transparent;text-decoration:none;cursor:pointer;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-drag:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;height:100%;z-index:1}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){a:hover{color:var(--color-selected)}}:host(.tab-selected){color:var(--color-selected)}:host(.tab-hidden){display:none !important}:host(.tab-disabled){pointer-events:none;opacity:0.4}::slotted(ion-label),::slotted(ion-icon){display:block;-ms-flex-item-align:center;align-self:center;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-label){-ms-flex-order:0;order:0}::slotted(ion-icon){-ms-flex-order:-1;order:-1;height:1em}:host(.tab-has-label-only) ::slotted(ion-label){white-space:normal}::slotted(ion-badge){-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;z-index:1}:host(.tab-layout-icon-start){-ms-flex-direction:row;flex-direction:row}:host(.tab-layout-icon-end){-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.tab-layout-icon-bottom){-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.tab-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.tab-layout-label-hide) ::slotted(ion-label){display:none}ion-ripple-effect{color:var(--ripple-color)}:host{--padding-top:0;--padding-end:12px;--padding-bottom:0;--padding-start:12px;max-width:168px;font-size:12px;font-weight:normal;letter-spacing:0.03em}::slotted(ion-label){margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;text-transform:none}::slotted(ion-icon){margin-left:0;margin-right:0;margin-top:16px;margin-bottom:16px;-webkit-transform-origin:center center;transform-origin:center center;font-size:22px}[dir=rtl] ::slotted(ion-icon),:host-context([dir=rtl]) ::slotted(ion-icon){-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}::slotted(ion-badge){border-radius:8px;padding-left:2px;padding-right:2px;padding-top:3px;padding-bottom:2px;left:calc(50% + 6px);top:8px;min-width:12px;font-size:8px;font-weight:normal}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-badge){padding-left:unset;padding-right:unset;-webkit-padding-start:2px;padding-inline-start:2px;-webkit-padding-end:2px;padding-inline-end:2px}}[dir=rtl] ::slotted(ion-badge),:host-context([dir=rtl]) ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 6px)}::slotted(ion-badge:empty){display:block;min-width:8px;height:8px}:host(.tab-layout-icon-top) ::slotted(ion-icon){margin-top:6px;margin-bottom:2px}:host(.tab-layout-icon-top) ::slotted(ion-label){margin-top:0;margin-bottom:6px}:host(.tab-layout-icon-bottom) ::slotted(ion-badge){left:70%;top:8px}:host-context([dir=rtl]):host(.tab-layout-icon-bottom) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-bottom ::slotted(ion-badge){left:unset;right:unset;right:70%}:host(.tab-layout-icon-bottom) ::slotted(ion-icon){margin-top:0;margin-bottom:6px}:host(.tab-layout-icon-bottom) ::slotted(ion-label){margin-top:6px;margin-bottom:0}:host(.tab-layout-icon-start) ::slotted(ion-badge),:host(.tab-layout-icon-end) ::slotted(ion-badge){left:80%;top:16px}:host-context([dir=rtl]):host(.tab-layout-icon-start) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-start ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-layout-icon-end) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-end ::slotted(ion-badge){left:unset;right:unset;right:80%}:host(.tab-layout-icon-start) ::slotted(ion-icon){margin-right:6px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.tab-layout-icon-start) ::slotted(ion-icon){margin-right:unset;-webkit-margin-end:6px;margin-inline-end:6px}}:host(.tab-layout-icon-end) ::slotted(ion-icon){margin-left:6px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.tab-layout-icon-end) ::slotted(ion-icon){margin-left:unset;-webkit-margin-start:6px;margin-inline-start:6px}}:host(.tab-layout-icon-hide) ::slotted(ion-badge),:host(.tab-has-label-only) ::slotted(ion-badge){left:70%;top:16px}:host-context([dir=rtl]):host(.tab-layout-icon-hide) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-hide ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-has-label-only) ::slotted(ion-badge),:host-context([dir=rtl]).tab-has-label-only ::slotted(ion-badge){left:unset;right:unset;right:70%}:host(.tab-layout-icon-hide) ::slotted(ion-label),:host(.tab-has-label-only) ::slotted(ion-label){margin-top:0;margin-bottom:0}:host(.tab-layout-label-hide) ::slotted(ion-badge),:host(.tab-has-icon-only) ::slotted(ion-badge){top:16px}:host(.tab-layout-label-hide) ::slotted(ion-icon),:host(.tab-has-icon-only) ::slotted(ion-icon){margin-top:0;margin-bottom:0;font-size:24px}\";\nconst TabButton = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionTabButtonClick = createEvent(this, \"ionTabButtonClick\", 7);\n /**\n * If `true`, the user cannot interact with the tab button.\n */\n\n this.disabled = false;\n /**\n * The selected tab component\n */\n\n this.selected = false;\n\n this.onKeyUp = ev => {\n if (ev.key === 'Enter' || ev.key === ' ') {\n this.selectTab(ev);\n }\n };\n\n this.onClick = ev => {\n this.selectTab(ev);\n };\n }\n\n onTabBarChanged(ev) {\n const dispatchedFrom = ev.target;\n const parent = this.el.parentElement;\n\n if (ev.composedPath().includes(parent) || (dispatchedFrom === null || dispatchedFrom === void 0 ? void 0 : dispatchedFrom.contains(this.el))) {\n this.selected = this.tab === ev.detail.tab;\n }\n }\n\n componentWillLoad() {\n if (this.layout === undefined) {\n this.layout = config.get('tabButtonLayout', 'icon-top');\n }\n }\n\n selectTab(ev) {\n if (this.tab !== undefined) {\n if (!this.disabled) {\n this.ionTabButtonClick.emit({\n tab: this.tab,\n href: this.href,\n selected: this.selected\n });\n }\n\n ev.preventDefault();\n }\n }\n\n get hasLabel() {\n return !!this.el.querySelector('ion-label');\n }\n\n get hasIcon() {\n return !!this.el.querySelector('ion-icon');\n }\n\n get tabIndex() {\n if (this.disabled) {\n return -1;\n }\n\n const hasTabIndex = this.el.hasAttribute('tabindex');\n\n if (hasTabIndex) {\n return this.el.getAttribute('tabindex');\n }\n\n return 0;\n }\n\n render() {\n const {\n disabled,\n hasIcon,\n hasLabel,\n tabIndex,\n href,\n rel,\n target,\n layout,\n selected,\n tab\n } = this;\n const mode = getIonMode(this);\n const attrs = {\n download: this.download,\n href,\n rel,\n target\n };\n return h(Host, {\n onClick: this.onClick,\n onKeyup: this.onKeyUp,\n role: \"tab\",\n tabindex: tabIndex,\n \"aria-selected\": selected ? 'true' : null,\n id: tab !== undefined ? `tab-button-${tab}` : null,\n class: {\n [mode]: true,\n 'tab-selected': selected,\n 'tab-disabled': disabled,\n 'tab-has-label': hasLabel,\n 'tab-has-icon': hasIcon,\n 'tab-has-label-only': hasLabel && !hasIcon,\n 'tab-has-icon-only': hasIcon && !hasLabel,\n [`tab-layout-${layout}`]: true,\n 'ion-activatable': true,\n 'ion-selectable': true,\n 'ion-focusable': true\n }\n }, h(\"a\", Object.assign({}, attrs, {\n tabIndex: -1,\n class: \"button-native\",\n part: \"native\"\n }), h(\"span\", {\n class: \"button-inner\"\n }, h(\"slot\", null)), mode === 'md' && h(\"ion-ripple-effect\", {\n type: \"unbounded\"\n })));\n }\n\n get el() {\n return getElement(this);\n }\n\n};\nTabButton.style = {\n ios: tabButtonIosCss,\n md: tabButtonMdCss\n};\nexport { TabBar as ion_tab_bar, TabButton as ion_tab_button };","map":{"version":3,"names":["r","registerInstance","e","createEvent","h","H","Host","i","getElement","c","createKeyboardController","b","getIonMode","config","createColorClasses","tabBarIosCss","tabBarMdCss","TabBar","constructor","hostRef","ionTabBarChanged","keyboardCtrl","keyboardVisible","translucent","selectedTabChanged","selectedTab","undefined","emit","tab","componentWillLoad","connectedCallback","keyboardOpen","disconnectedCallback","destroy","render","color","mode","shouldHide","el","getAttribute","role","class","watchers","style","ios","md","tabButtonIosCss","tabButtonMdCss","TabButton","ionTabButtonClick","disabled","selected","onKeyUp","ev","key","selectTab","onClick","onTabBarChanged","dispatchedFrom","target","parent","parentElement","composedPath","includes","contains","detail","layout","get","href","preventDefault","hasLabel","querySelector","hasIcon","tabIndex","hasTabIndex","hasAttribute","rel","attrs","download","onKeyup","tabindex","id","Object","assign","part","type","ion_tab_bar","ion_tab_button"],"sources":["D:/MobileDev/WRB/WrenchBoard2023a/node_modules/@ionic/core/dist/esm/ion-tab-bar_2.entry.js"],"sourcesContent":["/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-1a99aeb7.js';\nimport { c as createKeyboardController } from './keyboard-controller-73af62b2.js';\nimport { b as getIonMode, c as config } from './ionic-global-04e268e7.js';\nimport { c as createColorClasses } from './theme-7670341c.js';\nimport './index-33ffec25.js';\n\nconst tabBarIosCss = \":host{padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-bottom:var(--ion-safe-area-bottom, 0);border-top:var(--border);background:var(--background);color:var(--color);text-align:center;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:10;-webkit-box-sizing:content-box !important;box-sizing:content-box !important}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color) ::slotted(ion-tab-button){--background-focused:var(--ion-color-shade);--color-selected:var(--ion-color-contrast)}:host(.ion-color) ::slotted(.tab-selected){color:var(--ion-color-contrast)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){color:rgba(var(--ion-color-contrast-rgb), 0.7)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){background:var(--ion-color-base)}:host(.ion-color) ::slotted(ion-tab-button.ion-focused),:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:var(--background-focused)}:host(.tab-bar-translucent) ::slotted(ion-tab-button){background:transparent}:host([slot=top]){padding-top:var(--ion-safe-area-top, 0);padding-bottom:0;border-top:0;border-bottom:var(--border)}:host(.tab-bar-hidden){display:none !important}:host{--background:var(--ion-tab-bar-background, var(--ion-color-step-50, #f7f7f7));--background-focused:var(--ion-tab-bar-background-focused, #e0e0e0);--border:0.55px solid var(--ion-tab-bar-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.2))));--color:var(--ion-tab-bar-color, var(--ion-color-step-400, #999999));--color-selected:var(--ion-tab-bar-color-selected, var(--ion-color-primary, #3880ff));height:50px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.tab-bar-translucent){--background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(210%) blur(20px);backdrop-filter:saturate(210%) blur(20px)}:host(.ion-color.tab-bar-translucent){background:rgba(var(--ion-color-base-rgb), 0.8)}:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.6)}}\";\n\nconst tabBarMdCss = \":host{padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-bottom:var(--ion-safe-area-bottom, 0);border-top:var(--border);background:var(--background);color:var(--color);text-align:center;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:10;-webkit-box-sizing:content-box !important;box-sizing:content-box !important}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color) ::slotted(ion-tab-button){--background-focused:var(--ion-color-shade);--color-selected:var(--ion-color-contrast)}:host(.ion-color) ::slotted(.tab-selected){color:var(--ion-color-contrast)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){color:rgba(var(--ion-color-contrast-rgb), 0.7)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){background:var(--ion-color-base)}:host(.ion-color) ::slotted(ion-tab-button.ion-focused),:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:var(--background-focused)}:host(.tab-bar-translucent) ::slotted(ion-tab-button){background:transparent}:host([slot=top]){padding-top:var(--ion-safe-area-top, 0);padding-bottom:0;border-top:0;border-bottom:var(--border)}:host(.tab-bar-hidden){display:none !important}:host{--background:var(--ion-tab-bar-background, var(--ion-background-color, #fff));--background-focused:var(--ion-tab-bar-background-focused, #e0e0e0);--border:1px solid var(--ion-tab-bar-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.07))));--color:var(--ion-tab-bar-color, var(--ion-color-step-600, #666666));--color-selected:var(--ion-tab-bar-color-selected, var(--ion-color-primary, #3880ff));height:56px}\";\n\nconst TabBar = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionTabBarChanged = createEvent(this, \"ionTabBarChanged\", 7);\n this.keyboardCtrl = null;\n this.keyboardVisible = false;\n /**\n * If `true`, the tab bar will be translucent.\n * Only applies when the mode is `\"ios\"` and the device supports\n * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).\n */\n this.translucent = false;\n }\n selectedTabChanged() {\n if (this.selectedTab !== undefined) {\n this.ionTabBarChanged.emit({\n tab: this.selectedTab,\n });\n }\n }\n componentWillLoad() {\n this.selectedTabChanged();\n }\n connectedCallback() {\n this.keyboardCtrl = createKeyboardController((keyboardOpen) => {\n this.keyboardVisible = keyboardOpen; // trigger re-render by updating state\n });\n }\n disconnectedCallback() {\n if (this.keyboardCtrl) {\n this.keyboardCtrl.destroy();\n }\n }\n render() {\n const { color, translucent, keyboardVisible } = this;\n const mode = getIonMode(this);\n const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';\n return (h(Host, { role: \"tablist\", \"aria-hidden\": shouldHide ? 'true' : null, class: createColorClasses(color, {\n [mode]: true,\n 'tab-bar-translucent': translucent,\n 'tab-bar-hidden': shouldHide,\n }) }, h(\"slot\", null)));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"selectedTab\": [\"selectedTabChanged\"]\n }; }\n};\nTabBar.style = {\n ios: tabBarIosCss,\n md: tabBarMdCss\n};\n\nconst tabButtonIosCss = \":host{--ripple-color:var(--color-selected);--background-focused-opacity:1;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;outline:none;background:var(--background);color:var(--color)}.button-native{border-radius:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;height:100%;border:0;outline:none;background:transparent;text-decoration:none;cursor:pointer;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-drag:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;height:100%;z-index:1}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){a:hover{color:var(--color-selected)}}:host(.tab-selected){color:var(--color-selected)}:host(.tab-hidden){display:none !important}:host(.tab-disabled){pointer-events:none;opacity:0.4}::slotted(ion-label),::slotted(ion-icon){display:block;-ms-flex-item-align:center;align-self:center;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-label){-ms-flex-order:0;order:0}::slotted(ion-icon){-ms-flex-order:-1;order:-1;height:1em}:host(.tab-has-label-only) ::slotted(ion-label){white-space:normal}::slotted(ion-badge){-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;z-index:1}:host(.tab-layout-icon-start){-ms-flex-direction:row;flex-direction:row}:host(.tab-layout-icon-end){-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.tab-layout-icon-bottom){-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.tab-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.tab-layout-label-hide) ::slotted(ion-label){display:none}ion-ripple-effect{color:var(--ripple-color)}:host{--padding-top:0;--padding-end:2px;--padding-bottom:0;--padding-start:2px;max-width:240px;font-size:10px}::slotted(ion-badge){padding-left:6px;padding-right:6px;padding-top:1px;padding-bottom:1px;left:calc(50% + 6px);top:4px;height:auto;font-size:12px;line-height:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-badge){padding-left:unset;padding-right:unset;-webkit-padding-start:6px;padding-inline-start:6px;-webkit-padding-end:6px;padding-inline-end:6px}}[dir=rtl] ::slotted(ion-badge),:host-context([dir=rtl]) ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 6px)}::slotted(ion-icon){margin-top:2px;margin-bottom:2px;font-size:30px}::slotted(ion-icon::before){vertical-align:top}::slotted(ion-label){margin-top:0;margin-bottom:1px;min-height:11px;font-weight:500}:host(.tab-has-label-only) ::slotted(ion-label){margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:12px;font-size:14px;line-height:1.1}:host(.tab-layout-icon-end) ::slotted(ion-label),:host(.tab-layout-icon-start) ::slotted(ion-label),:host(.tab-layout-icon-hide) ::slotted(ion-label){margin-top:2px;margin-bottom:2px;font-size:14px;line-height:1.1}:host(.tab-layout-icon-end) ::slotted(ion-icon),:host(.tab-layout-icon-start) ::slotted(ion-icon){min-width:24px;height:26px;margin-top:2px;margin-bottom:1px;font-size:24px}:host(.tab-layout-icon-bottom) ::slotted(ion-badge){left:calc(50% + 12px)}:host-context([dir=rtl]):host(.tab-layout-icon-bottom) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-bottom ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 12px)}:host(.tab-layout-icon-bottom) ::slotted(ion-icon){margin-top:0;margin-bottom:1px}:host(.tab-layout-icon-bottom) ::slotted(ion-label){margin-top:4px}:host(.tab-layout-icon-start) ::slotted(ion-badge),:host(.tab-layout-icon-end) ::slotted(ion-badge){left:calc(50% + 35px);top:10px}:host-context([dir=rtl]):host(.tab-layout-icon-start) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-start ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-layout-icon-end) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-end ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 35px)}:host(.tab-layout-icon-hide) ::slotted(ion-badge),:host(.tab-has-label-only) ::slotted(ion-badge){left:calc(50% + 30px);top:10px}:host-context([dir=rtl]):host(.tab-layout-icon-hide) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-hide ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-has-label-only) ::slotted(ion-badge),:host-context([dir=rtl]).tab-has-label-only ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 30px)}:host(.tab-layout-label-hide) ::slotted(ion-badge),:host(.tab-has-icon-only) ::slotted(ion-badge){top:10px}:host(.tab-layout-label-hide) ::slotted(ion-icon){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}\";\n\nconst tabButtonMdCss = \":host{--ripple-color:var(--color-selected);--background-focused-opacity:1;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;outline:none;background:var(--background);color:var(--color)}.button-native{border-radius:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;height:100%;border:0;outline:none;background:transparent;text-decoration:none;cursor:pointer;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-drag:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;height:100%;z-index:1}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){a:hover{color:var(--color-selected)}}:host(.tab-selected){color:var(--color-selected)}:host(.tab-hidden){display:none !important}:host(.tab-disabled){pointer-events:none;opacity:0.4}::slotted(ion-label),::slotted(ion-icon){display:block;-ms-flex-item-align:center;align-self:center;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-label){-ms-flex-order:0;order:0}::slotted(ion-icon){-ms-flex-order:-1;order:-1;height:1em}:host(.tab-has-label-only) ::slotted(ion-label){white-space:normal}::slotted(ion-badge){-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;z-index:1}:host(.tab-layout-icon-start){-ms-flex-direction:row;flex-direction:row}:host(.tab-layout-icon-end){-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.tab-layout-icon-bottom){-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.tab-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.tab-layout-label-hide) ::slotted(ion-label){display:none}ion-ripple-effect{color:var(--ripple-color)}:host{--padding-top:0;--padding-end:12px;--padding-bottom:0;--padding-start:12px;max-width:168px;font-size:12px;font-weight:normal;letter-spacing:0.03em}::slotted(ion-label){margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;text-transform:none}::slotted(ion-icon){margin-left:0;margin-right:0;margin-top:16px;margin-bottom:16px;-webkit-transform-origin:center center;transform-origin:center center;font-size:22px}[dir=rtl] ::slotted(ion-icon),:host-context([dir=rtl]) ::slotted(ion-icon){-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}::slotted(ion-badge){border-radius:8px;padding-left:2px;padding-right:2px;padding-top:3px;padding-bottom:2px;left:calc(50% + 6px);top:8px;min-width:12px;font-size:8px;font-weight:normal}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted(ion-badge){padding-left:unset;padding-right:unset;-webkit-padding-start:2px;padding-inline-start:2px;-webkit-padding-end:2px;padding-inline-end:2px}}[dir=rtl] ::slotted(ion-badge),:host-context([dir=rtl]) ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 6px)}::slotted(ion-badge:empty){display:block;min-width:8px;height:8px}:host(.tab-layout-icon-top) ::slotted(ion-icon){margin-top:6px;margin-bottom:2px}:host(.tab-layout-icon-top) ::slotted(ion-label){margin-top:0;margin-bottom:6px}:host(.tab-layout-icon-bottom) ::slotted(ion-badge){left:70%;top:8px}:host-context([dir=rtl]):host(.tab-layout-icon-bottom) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-bottom ::slotted(ion-badge){left:unset;right:unset;right:70%}:host(.tab-layout-icon-bottom) ::slotted(ion-icon){margin-top:0;margin-bottom:6px}:host(.tab-layout-icon-bottom) ::slotted(ion-label){margin-top:6px;margin-bottom:0}:host(.tab-layout-icon-start) ::slotted(ion-badge),:host(.tab-layout-icon-end) ::slotted(ion-badge){left:80%;top:16px}:host-context([dir=rtl]):host(.tab-layout-icon-start) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-start ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-layout-icon-end) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-end ::slotted(ion-badge){left:unset;right:unset;right:80%}:host(.tab-layout-icon-start) ::slotted(ion-icon){margin-right:6px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.tab-layout-icon-start) ::slotted(ion-icon){margin-right:unset;-webkit-margin-end:6px;margin-inline-end:6px}}:host(.tab-layout-icon-end) ::slotted(ion-icon){margin-left:6px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.tab-layout-icon-end) ::slotted(ion-icon){margin-left:unset;-webkit-margin-start:6px;margin-inline-start:6px}}:host(.tab-layout-icon-hide) ::slotted(ion-badge),:host(.tab-has-label-only) ::slotted(ion-badge){left:70%;top:16px}:host-context([dir=rtl]):host(.tab-layout-icon-hide) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-hide ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-has-label-only) ::slotted(ion-badge),:host-context([dir=rtl]).tab-has-label-only ::slotted(ion-badge){left:unset;right:unset;right:70%}:host(.tab-layout-icon-hide) ::slotted(ion-label),:host(.tab-has-label-only) ::slotted(ion-label){margin-top:0;margin-bottom:0}:host(.tab-layout-label-hide) ::slotted(ion-badge),:host(.tab-has-icon-only) ::slotted(ion-badge){top:16px}:host(.tab-layout-label-hide) ::slotted(ion-icon),:host(.tab-has-icon-only) ::slotted(ion-icon){margin-top:0;margin-bottom:0;font-size:24px}\";\n\nconst TabButton = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionTabButtonClick = createEvent(this, \"ionTabButtonClick\", 7);\n /**\n * If `true`, the user cannot interact with the tab button.\n */\n this.disabled = false;\n /**\n * The selected tab component\n */\n this.selected = false;\n this.onKeyUp = (ev) => {\n if (ev.key === 'Enter' || ev.key === ' ') {\n this.selectTab(ev);\n }\n };\n this.onClick = (ev) => {\n this.selectTab(ev);\n };\n }\n onTabBarChanged(ev) {\n const dispatchedFrom = ev.target;\n const parent = this.el.parentElement;\n if (ev.composedPath().includes(parent) || (dispatchedFrom === null || dispatchedFrom === void 0 ? void 0 : dispatchedFrom.contains(this.el))) {\n this.selected = this.tab === ev.detail.tab;\n }\n }\n componentWillLoad() {\n if (this.layout === undefined) {\n this.layout = config.get('tabButtonLayout', 'icon-top');\n }\n }\n selectTab(ev) {\n if (this.tab !== undefined) {\n if (!this.disabled) {\n this.ionTabButtonClick.emit({\n tab: this.tab,\n href: this.href,\n selected: this.selected,\n });\n }\n ev.preventDefault();\n }\n }\n get hasLabel() {\n return !!this.el.querySelector('ion-label');\n }\n get hasIcon() {\n return !!this.el.querySelector('ion-icon');\n }\n get tabIndex() {\n if (this.disabled) {\n return -1;\n }\n const hasTabIndex = this.el.hasAttribute('tabindex');\n if (hasTabIndex) {\n return this.el.getAttribute('tabindex');\n }\n return 0;\n }\n render() {\n const { disabled, hasIcon, hasLabel, tabIndex, href, rel, target, layout, selected, tab } = this;\n const mode = getIonMode(this);\n const attrs = {\n download: this.download,\n href,\n rel,\n target,\n };\n return (h(Host, { onClick: this.onClick, onKeyup: this.onKeyUp, role: \"tab\", tabindex: tabIndex, \"aria-selected\": selected ? 'true' : null, id: tab !== undefined ? `tab-button-${tab}` : null, class: {\n [mode]: true,\n 'tab-selected': selected,\n 'tab-disabled': disabled,\n 'tab-has-label': hasLabel,\n 'tab-has-icon': hasIcon,\n 'tab-has-label-only': hasLabel && !hasIcon,\n 'tab-has-icon-only': hasIcon && !hasLabel,\n [`tab-layout-${layout}`]: true,\n 'ion-activatable': true,\n 'ion-selectable': true,\n 'ion-focusable': true,\n } }, h(\"a\", Object.assign({}, attrs, { tabIndex: -1, class: \"button-native\", part: \"native\" }), h(\"span\", { class: \"button-inner\" }, h(\"slot\", null)), mode === 'md' && h(\"ion-ripple-effect\", { type: \"unbounded\" }))));\n }\n get el() { return getElement(this); }\n};\nTabButton.style = {\n ios: tabButtonIosCss,\n md: tabButtonMdCss\n};\n\nexport { TabBar as ion_tab_bar, TabButton as ion_tab_button };\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,CAAC,IAAIC,gBAAd,EAAgCC,CAAC,IAAIC,WAArC,EAAkDC,CAAlD,EAAqDC,CAAC,IAAIC,IAA1D,EAAgEC,CAAC,IAAIC,UAArE,QAAuF,qBAAvF;AACA,SAASC,CAAC,IAAIC,wBAAd,QAA8C,mCAA9C;AACA,SAASC,CAAC,IAAIC,UAAd,EAA0BH,CAAC,IAAII,MAA/B,QAA6C,4BAA7C;AACA,SAASJ,CAAC,IAAIK,kBAAd,QAAwC,qBAAxC;AACA,OAAO,qBAAP;AAEA,MAAMC,YAAY,GAAG,sjFAArB;AAEA,MAAMC,WAAW,GAAG,0kEAApB;AAEA,MAAMC,MAAM,GAAG,MAAM;EACnBC,WAAW,CAACC,OAAD,EAAU;IACnBlB,gBAAgB,CAAC,IAAD,EAAOkB,OAAP,CAAhB;IACA,KAAKC,gBAAL,GAAwBjB,WAAW,CAAC,IAAD,EAAO,kBAAP,EAA2B,CAA3B,CAAnC;IACA,KAAKkB,YAAL,GAAoB,IAApB;IACA,KAAKC,eAAL,GAAuB,KAAvB;IACA;AACJ;AACA;AACA;AACA;;IACI,KAAKC,WAAL,GAAmB,KAAnB;EACD;;EACDC,kBAAkB,GAAG;IACnB,IAAI,KAAKC,WAAL,KAAqBC,SAAzB,EAAoC;MAClC,KAAKN,gBAAL,CAAsBO,IAAtB,CAA2B;QACzBC,GAAG,EAAE,KAAKH;MADe,CAA3B;IAGD;EACF;;EACDI,iBAAiB,GAAG;IAClB,KAAKL,kBAAL;EACD;;EACDM,iBAAiB,GAAG;IAClB,KAAKT,YAAL,GAAoBX,wBAAwB,CAAEqB,YAAD,IAAkB;MAC7D,KAAKT,eAAL,GAAuBS,YAAvB,CAD6D,CACxB;IACtC,CAF2C,CAA5C;EAGD;;EACDC,oBAAoB,GAAG;IACrB,IAAI,KAAKX,YAAT,EAAuB;MACrB,KAAKA,YAAL,CAAkBY,OAAlB;IACD;EACF;;EACDC,MAAM,GAAG;IACP,MAAM;MAAEC,KAAF;MAASZ,WAAT;MAAsBD;IAAtB,IAA0C,IAAhD;IACA,MAAMc,IAAI,GAAGxB,UAAU,CAAC,IAAD,CAAvB;IACA,MAAMyB,UAAU,GAAGf,eAAe,IAAI,KAAKgB,EAAL,CAAQC,YAAR,CAAqB,MAArB,MAAiC,KAAvE;IACA,OAAQnC,CAAC,CAACE,IAAD,EAAO;MAAEkC,IAAI,EAAE,SAAR;MAAmB,eAAeH,UAAU,GAAG,MAAH,GAAY,IAAxD;MAA8DI,KAAK,EAAE3B,kBAAkB,CAACqB,KAAD,EAAQ;QAC3G,CAACC,IAAD,GAAQ,IADmG;QAE3G,uBAAuBb,WAFoF;QAG3G,kBAAkBc;MAHyF,CAAR;IAAvF,CAAP,EAIDjC,CAAC,CAAC,MAAD,EAAS,IAAT,CAJA,CAAT;EAKD;;EACK,IAAFkC,EAAE,GAAG;IAAE,OAAO9B,UAAU,CAAC,IAAD,CAAjB;EAA0B;;EAClB,WAARkC,QAAQ,GAAG;IAAE,OAAO;MAC7B,eAAe,CAAC,oBAAD;IADc,CAAP;EAEpB;;AA9Ce,CAArB;AAgDAzB,MAAM,CAAC0B,KAAP,GAAe;EACbC,GAAG,EAAE7B,YADQ;EAEb8B,EAAE,EAAE7B;AAFS,CAAf;AAKA,MAAM8B,eAAe,GAAG,i5LAAxB;AAEA,MAAMC,cAAc,GAAG,2hNAAvB;AAEA,MAAMC,SAAS,GAAG,MAAM;EACtB9B,WAAW,CAACC,OAAD,EAAU;IACnBlB,gBAAgB,CAAC,IAAD,EAAOkB,OAAP,CAAhB;IACA,KAAK8B,iBAAL,GAAyB9C,WAAW,CAAC,IAAD,EAAO,mBAAP,EAA4B,CAA5B,CAApC;IACA;AACJ;AACA;;IACI,KAAK+C,QAAL,GAAgB,KAAhB;IACA;AACJ;AACA;;IACI,KAAKC,QAAL,GAAgB,KAAhB;;IACA,KAAKC,OAAL,GAAgBC,EAAD,IAAQ;MACrB,IAAIA,EAAE,CAACC,GAAH,KAAW,OAAX,IAAsBD,EAAE,CAACC,GAAH,KAAW,GAArC,EAA0C;QACxC,KAAKC,SAAL,CAAeF,EAAf;MACD;IACF,CAJD;;IAKA,KAAKG,OAAL,GAAgBH,EAAD,IAAQ;MACrB,KAAKE,SAAL,CAAeF,EAAf;IACD,CAFD;EAGD;;EACDI,eAAe,CAACJ,EAAD,EAAK;IAClB,MAAMK,cAAc,GAAGL,EAAE,CAACM,MAA1B;IACA,MAAMC,MAAM,GAAG,KAAKtB,EAAL,CAAQuB,aAAvB;;IACA,IAAIR,EAAE,CAACS,YAAH,GAAkBC,QAAlB,CAA2BH,MAA3B,MAAuCF,cAAc,KAAK,IAAnB,IAA2BA,cAAc,KAAK,KAAK,CAAnD,GAAuD,KAAK,CAA5D,GAAgEA,cAAc,CAACM,QAAf,CAAwB,KAAK1B,EAA7B,CAAvG,CAAJ,EAA8I;MAC5I,KAAKa,QAAL,GAAgB,KAAKvB,GAAL,KAAayB,EAAE,CAACY,MAAH,CAAUrC,GAAvC;IACD;EACF;;EACDC,iBAAiB,GAAG;IAClB,IAAI,KAAKqC,MAAL,KAAgBxC,SAApB,EAA+B;MAC7B,KAAKwC,MAAL,GAAcrD,MAAM,CAACsD,GAAP,CAAW,iBAAX,EAA8B,UAA9B,CAAd;IACD;EACF;;EACDZ,SAAS,CAACF,EAAD,EAAK;IACZ,IAAI,KAAKzB,GAAL,KAAaF,SAAjB,EAA4B;MAC1B,IAAI,CAAC,KAAKwB,QAAV,EAAoB;QAClB,KAAKD,iBAAL,CAAuBtB,IAAvB,CAA4B;UAC1BC,GAAG,EAAE,KAAKA,GADgB;UAE1BwC,IAAI,EAAE,KAAKA,IAFe;UAG1BjB,QAAQ,EAAE,KAAKA;QAHW,CAA5B;MAKD;;MACDE,EAAE,CAACgB,cAAH;IACD;EACF;;EACW,IAARC,QAAQ,GAAG;IACb,OAAO,CAAC,CAAC,KAAKhC,EAAL,CAAQiC,aAAR,CAAsB,WAAtB,CAAT;EACD;;EACU,IAAPC,OAAO,GAAG;IACZ,OAAO,CAAC,CAAC,KAAKlC,EAAL,CAAQiC,aAAR,CAAsB,UAAtB,CAAT;EACD;;EACW,IAARE,QAAQ,GAAG;IACb,IAAI,KAAKvB,QAAT,EAAmB;MACjB,OAAO,CAAC,CAAR;IACD;;IACD,MAAMwB,WAAW,GAAG,KAAKpC,EAAL,CAAQqC,YAAR,CAAqB,UAArB,CAApB;;IACA,IAAID,WAAJ,EAAiB;MACf,OAAO,KAAKpC,EAAL,CAAQC,YAAR,CAAqB,UAArB,CAAP;IACD;;IACD,OAAO,CAAP;EACD;;EACDL,MAAM,GAAG;IACP,MAAM;MAAEgB,QAAF;MAAYsB,OAAZ;MAAqBF,QAArB;MAA+BG,QAA/B;MAAyCL,IAAzC;MAA+CQ,GAA/C;MAAoDjB,MAApD;MAA4DO,MAA5D;MAAoEf,QAApE;MAA8EvB;IAA9E,IAAsF,IAA5F;IACA,MAAMQ,IAAI,GAAGxB,UAAU,CAAC,IAAD,CAAvB;IACA,MAAMiE,KAAK,GAAG;MACZC,QAAQ,EAAE,KAAKA,QADH;MAEZV,IAFY;MAGZQ,GAHY;MAIZjB;IAJY,CAAd;IAMA,OAAQvD,CAAC,CAACE,IAAD,EAAO;MAAEkD,OAAO,EAAE,KAAKA,OAAhB;MAAyBuB,OAAO,EAAE,KAAK3B,OAAvC;MAAgDZ,IAAI,EAAE,KAAtD;MAA6DwC,QAAQ,EAAEP,QAAvE;MAAiF,iBAAiBtB,QAAQ,GAAG,MAAH,GAAY,IAAtH;MAA4H8B,EAAE,EAAErD,GAAG,KAAKF,SAAR,GAAqB,cAAaE,GAAI,EAAtC,GAA0C,IAA1K;MAAgLa,KAAK,EAAE;QACnM,CAACL,IAAD,GAAQ,IAD2L;QAEnM,gBAAgBe,QAFmL;QAGnM,gBAAgBD,QAHmL;QAInM,iBAAiBoB,QAJkL;QAKnM,gBAAgBE,OALmL;QAMnM,sBAAsBF,QAAQ,IAAI,CAACE,OANgK;QAOnM,qBAAqBA,OAAO,IAAI,CAACF,QAPkK;QAQnM,CAAE,cAAaJ,MAAO,EAAtB,GAA0B,IARyK;QASnM,mBAAmB,IATgL;QAUnM,kBAAkB,IAViL;QAWnM,iBAAiB;MAXkL;IAAvL,CAAP,EAYF9D,CAAC,CAAC,GAAD,EAAM8E,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBN,KAAlB,EAAyB;MAAEJ,QAAQ,EAAE,CAAC,CAAb;MAAgBhC,KAAK,EAAE,eAAvB;MAAwC2C,IAAI,EAAE;IAA9C,CAAzB,CAAN,EAA0FhF,CAAC,CAAC,MAAD,EAAS;MAAEqC,KAAK,EAAE;IAAT,CAAT,EAAoCrC,CAAC,CAAC,MAAD,EAAS,IAAT,CAArC,CAA3F,EAAiJgC,IAAI,KAAK,IAAT,IAAiBhC,CAAC,CAAC,mBAAD,EAAsB;MAAEiF,IAAI,EAAE;IAAR,CAAtB,CAAnK,CAZC,CAAT;EAaD;;EACK,IAAF/C,EAAE,GAAG;IAAE,OAAO9B,UAAU,CAAC,IAAD,CAAjB;EAA0B;;AApFf,CAAxB;AAsFAwC,SAAS,CAACL,KAAV,GAAkB;EAChBC,GAAG,EAAEE,eADW;EAEhBD,EAAE,EAAEE;AAFY,CAAlB;AAKA,SAAS9B,MAAM,IAAIqE,WAAnB,EAAgCtC,SAAS,IAAIuC,cAA7C"},"metadata":{},"sourceType":"module"} |