ranui
Version:
A framework-agnostic Web Components UI library built on native custom elements, with TypeScript types, light/dark theming, SSR and PWA support.
108 lines (107 loc) • 5.6 kB
JavaScript
import { i as d } from "./factory-WDxu11V0.js";
import "./builder-EH76YCFS.js";
import { i as r, n as s, o as l, s as c, t as h } from "./utils-U-9uH7EX.js";
import { a as u, n as p } from "./ssr-BzykYefm.js";
import { t as m } from "./circle-DZKtMjL0.js";
import { t as f } from "./dot-DzcGRv4e.js";
var U = /* @__PURE__ */ (function(t) {
return t.DOUBLE_BOUNCE = "double-bounce", t.ROTATE = "rotate", t.STRETCH = "stretch", t.CUBE = "cube", t.DOT = "dot", t.TRIPLE_BOUNCE = "triple-bounce", t.SCALE_OUT = "scale-out", t.CIRCLE = "circle", t.CIRCLE_LINE = "circle-line", t.SQUARE = "square", t.PULSE = "pulse", t.SOLAR = "solar", t.CUBE_FOLD = "cube-fold", t.CIRCLE_FOLD = "circle-fold", t.CUBE_GRID = "cube-grid", t.CIRCLE_TURN = "circle-turn", t.CIRCLE_ROTATE = "circle-rotate", t.CIRCLE_SPIN = "circle-spin", t.DOT_BAR = "dot-bar", t.DOT_CIRCLE = "dot-circle", t.LINE = "line", t.DOT_PULSE = "dot-pulse", t.LINE_SCALE = "line-scale", t.TEXT = "text", t.CUBE_DIM = "cube-dim", t.DOT_LINE = "dot-line", t.ARC = "arc", t.DROP = "drop", t.PACMAN = "pacman", t;
})({}), v = {
circle: m,
dot: f
}, x = /* @__PURE__ */ Object.assign({
"./variants/arc/index.ts": () => import("./arc-BODut2Nf.js").then((t) => t.default),
"./variants/circle/index.ts": () => import("./circle-DZKtMjL0.js").then((t) => t.n).then((t) => t.default),
"./variants/circle-fold/index.ts": () => import("./circle-fold-BTxpiOuH.js").then((t) => t.default),
"./variants/circle-line/index.ts": () => import("./circle-line-DRB7oWlP.js").then((t) => t.default),
"./variants/circle-rotate/index.ts": () => import("./circle-rotate-DbCoEwES.js").then((t) => t.default),
"./variants/circle-spin/index.ts": () => import("./circle-spin-0DNX-C6W.js").then((t) => t.default),
"./variants/circle-turn/index.ts": () => import("./circle-turn-BXVMEyxr.js").then((t) => t.default),
"./variants/cube/index.ts": () => import("./cube-CoQphUIu.js").then((t) => t.default),
"./variants/cube-dim/index.ts": () => import("./cube-dim-C3XrB652.js").then((t) => t.default),
"./variants/cube-fold/index.ts": () => import("./cube-fold-CzRngjX5.js").then((t) => t.default),
"./variants/cube-grid/index.ts": () => import("./cube-grid-BuVRuYHG.js").then((t) => t.default),
"./variants/dot/index.ts": () => import("./dot-DzcGRv4e.js").then((t) => t.n).then((t) => t.default),
"./variants/dot-bar/index.ts": () => import("./dot-bar-s3ka1x3Q.js").then((t) => t.default),
"./variants/dot-circle/index.ts": () => import("./dot-circle-Bb9HSrui.js").then((t) => t.default),
"./variants/dot-line/index.ts": () => import("./dot-line-Dc17eMQU.js").then((t) => t.default),
"./variants/dot-pulse/index.ts": () => import("./dot-pulse-CYeqwG5l.js").then((t) => t.default),
"./variants/double-bounce/index.ts": () => import("./double-bounce-D6AfxJFe.js").then((t) => t.default),
"./variants/drop/index.ts": () => import("./drop-5kzMtVNd.js").then((t) => t.default),
"./variants/line/index.ts": () => import("./line-b2g7AXLN.js").then((t) => t.default),
"./variants/line-scale/index.ts": () => import("./line-scale-Ds4RPBRN.js").then((t) => t.default),
"./variants/pacman/index.ts": () => import("./pacman-h5U-SPYq.js").then((t) => t.default),
"./variants/pulse/index.ts": () => import("./pulse-Cl2nj-eH.js").then((t) => t.default),
"./variants/rotate/index.ts": () => import("./rotate-CgvsSjDf.js").then((t) => t.default),
"./variants/scale-out/index.ts": () => import("./scale-out-CWupYSU_.js").then((t) => t.default),
"./variants/solar/index.ts": () => import("./solar-BB6dvn8C.js").then((t) => t.default),
"./variants/square/index.ts": () => import("./square-DUjZUNBe.js").then((t) => t.default),
"./variants/stretch/index.ts": () => import("./stretch-DgU8wfiG.js").then((t) => t.default),
"./variants/text/index.ts": () => import("./text-SIeN3Zk6.js").then((t) => t.default),
"./variants/triple-bounce/index.ts": () => import("./triple-bounce-BcSy-fhB.js").then((t) => t.default)
}), o = {};
for (const [t, i] of Object.entries(x)) {
const e = /\/variants\/([^/]+)\/index\.ts$/.exec(t);
e && (o[e[1]] = i);
}
var b = class extends p {
contain;
_shadowDom;
_renderToken = 0;
_pending = Promise.resolve();
static get observedAttributes() {
return ["name", "sheet"];
}
constructor() {
super(), this._shadowDom = h(this);
const t = d().class("ran-loading").build();
this._shadowDom.appendChild(t), this.contain = t;
}
get name() {
const t = s(this, "name");
return t || "circle";
}
set name(t) {
r(this, "name", t);
}
get sheet() {
return s(this, "sheet");
}
set sheet(t) {
r(this, "sheet", t);
}
handlerExternalCss = () => {
l(this, this._shadowDom, "sheet", null, this.sheet);
};
applyVariant = (t) => {
c(this._shadowDom, t.css), this.contain.replaceChildren(t.render());
};
createLoading = () => {
const t = this.name, i = ++this._renderToken, e = v[t];
if (e) {
this.applyVariant(e), this._pending = Promise.resolve();
return;
}
const n = o[t];
if (!n) {
this.contain.replaceChildren(), this._pending = Promise.resolve();
return;
}
this._pending = n().then((a) => {
i === this._renderToken && this.applyVariant(a);
}).catch((a) => {
});
};
connectedCallback() {
this.handlerExternalCss(), this.createLoading();
}
attributeChangedCallback(t, i, e) {
i !== e && (t === "name" && this.createLoading(), t === "sheet" && this.handlerExternalCss());
}
};
u("r-loading", b);
export {
U as ICON_NAME_AMP,
b as Loading,
b as default
};