43 lines
2.7 KiB
JavaScript
Executable file
43 lines
2.7 KiB
JavaScript
Executable file
import { h, Host, proxyCustomElement } from '@stencil/core/internal/client';
|
|
import { b as getIonMode } from './ionic-global.js';
|
|
|
|
const footerIosCss = "ion-footer{display:block;position:relative;-ms-flex-order:1;order:1;width:100%;z-index:10}ion-footer ion-toolbar:last-of-type{padding-bottom:var(--ion-safe-area-bottom, 0)}.footer-ios ion-toolbar:first-of-type{--border-width:0.55px 0 0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.footer-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.footer-translucent-ios ion-toolbar{--opacity:.8}}.footer-ios.ion-no-border ion-toolbar:first-of-type{--border-width:0}";
|
|
|
|
const footerMdCss = "ion-footer{display:block;position:relative;-ms-flex-order:1;order:1;width:100%;z-index:10}ion-footer ion-toolbar:last-of-type{padding-bottom:var(--ion-safe-area-bottom, 0)}.footer-md::before{left:0;top:-2px;bottom:auto;background-position:left 0 top 0;position:absolute;width:100%;height:2px;background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==\");background-repeat:repeat-x;content:\"\"}[dir=rtl] .footer-md::before,:host-context([dir=rtl]) .footer-md::before{left:unset;right:unset;right:0}[dir=rtl] .footer-md::before,:host-context([dir=rtl]) .footer-md::before{background-position:right 0 top 0}.footer-md.ion-no-border::before{display:none}";
|
|
|
|
const Footer = class extends HTMLElement {
|
|
constructor() {
|
|
super();
|
|
this.__registerHost();
|
|
/**
|
|
* If `true`, the footer will be translucent.
|
|
* Only applies when the mode is `"ios"` and the device supports
|
|
* [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
|
|
*
|
|
* Note: In order to scroll content behind the footer, the `fullscreen`
|
|
* attribute needs to be set on the content.
|
|
*/
|
|
this.translucent = false;
|
|
}
|
|
render() {
|
|
const mode = getIonMode(this);
|
|
const translucent = this.translucent;
|
|
return (h(Host, { role: "contentinfo", class: {
|
|
[mode]: true,
|
|
// Used internally for styling
|
|
[`footer-${mode}`]: true,
|
|
[`footer-translucent`]: translucent,
|
|
[`footer-translucent-${mode}`]: translucent,
|
|
} }, mode === 'ios' && translucent &&
|
|
h("div", { class: "footer-background" }), h("slot", null)));
|
|
}
|
|
static get style() { return {
|
|
ios: footerIosCss,
|
|
md: footerMdCss
|
|
}; }
|
|
};
|
|
|
|
const IonFooter = /*@__PURE__*/proxyCustomElement(Footer, [36,"ion-footer",{"translucent":[4]}]);
|
|
|
|
export { IonFooter };
|