40 lines
2.4 KiB
JavaScript
Executable file
40 lines
2.4 KiB
JavaScript
Executable file
import { h, Host, proxyCustomElement } from '@stencil/core/internal/client';
|
|
import { b as getIonMode, c as config, a as isPlatform } from './ionic-global.js';
|
|
import { s as sanitizeDOMString } from './index3.js';
|
|
import { S as SPINNERS } from './spinner-configs.js';
|
|
|
|
const RefresherContent = class extends HTMLElement {
|
|
constructor() {
|
|
super();
|
|
this.__registerHost();
|
|
}
|
|
componentWillLoad() {
|
|
if (this.pullingIcon === undefined) {
|
|
const mode = getIonMode(this);
|
|
const overflowRefresher = this.el.style.webkitOverflowScrolling !== undefined ? 'lines' : 'arrow-down';
|
|
this.pullingIcon = config.get('refreshingIcon', mode === 'ios' && isPlatform('mobile') ? config.get('spinner', overflowRefresher) : 'circular');
|
|
}
|
|
if (this.refreshingSpinner === undefined) {
|
|
const mode = getIonMode(this);
|
|
this.refreshingSpinner = config.get('refreshingSpinner', config.get('spinner', mode === 'ios' ? 'lines' : 'circular'));
|
|
}
|
|
}
|
|
render() {
|
|
const pullingIcon = this.pullingIcon;
|
|
const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
|
|
const mode = getIonMode(this);
|
|
return (h(Host, { class: mode }, h("div", { class: "refresher-pulling" }, this.pullingIcon && hasSpinner &&
|
|
h("div", { class: "refresher-pulling-icon" }, h("div", { class: "spinner-arrow-container" }, h("ion-spinner", { name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' &&
|
|
h("div", { class: "arrow-container" }, h("ion-icon", { name: "caret-back-sharp" })))), this.pullingIcon && !hasSpinner &&
|
|
h("div", { class: "refresher-pulling-icon" }, h("ion-icon", { icon: this.pullingIcon, lazy: false })), this.pullingText &&
|
|
h("div", { class: "refresher-pulling-text", innerHTML: sanitizeDOMString(this.pullingText) })), h("div", { class: "refresher-refreshing" }, this.refreshingSpinner &&
|
|
h("div", { class: "refresher-refreshing-icon" }, h("ion-spinner", { name: this.refreshingSpinner })), this.refreshingText &&
|
|
h("div", { class: "refresher-refreshing-text", innerHTML: sanitizeDOMString(this.refreshingText) }))));
|
|
}
|
|
get el() { return this; }
|
|
};
|
|
|
|
const IonRefresherContent = /*@__PURE__*/proxyCustomElement(RefresherContent, [0,"ion-refresher-content",{"pullingIcon":[1025,"pulling-icon"],"pullingText":[1,"pulling-text"],"refreshingSpinner":[1025,"refreshing-spinner"],"refreshingText":[1,"refreshing-text"]}]);
|
|
|
|
export { IonRefresherContent };
|