UNPKG

@lunalytics/ui

Version:

React based component library created to be used in Lunalytics

316 lines (315 loc) 7.32 kB
var w = Object.defineProperty; var D = (e, t, n) => t in e ? w(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n; var E = (e, t, n) => D(e, typeof t != "symbol" ? t + "" : t, n); import * as s from "react"; import { jsx as N } from "react/jsx-runtime"; function j(e, t) { const n = {}; for (const c in e) { const r = e[c]; if (t != null && t.hasOwnProperty(c)) { const u = t[c](r); u != null && Object.assign(n, u); continue; } r === !0 ? n[`data-${c.toLowerCase()}`] = "" : r && (n[`data-${c.toLowerCase()}`] = r.toString()); } return n; } const S = {}; function I(e, t) { const n = s.useRef(S); return n.current === S && (n.current = e(t)), n; } function O(e, t, n, c) { const r = I(T).current; return U(r, e, t, n, c) && L(r, [e, t, n, c]), r.callback; } function R(e) { const t = I(T).current; return x(t, e) && L(t, e), t.callback; } function T() { return { callback: null, cleanup: null, refs: [] }; } function U(e, t, n, c, r) { return e.refs[0] !== t || e.refs[1] !== n || e.refs[2] !== c || e.refs[3] !== r; } function x(e, t) { return e.refs.length !== t.length || e.refs.some((n, c) => n !== t[c]); } function L(e, t) { if (e.refs = t, t.every((n) => n == null)) { e.callback = null; return; } e.callback = (n) => { if (e.cleanup && (e.cleanup(), e.cleanup = null), n != null) { const c = Array(t.length).fill(null); for (let r = 0; r < t.length; r += 1) { const u = t[r]; if (u != null) switch (typeof u) { case "function": { const o = u(n); typeof o == "function" && (c[r] = o); break; } case "object": { u.current = n; break; } } } e.cleanup = () => { for (let r = 0; r < t.length; r += 1) { const u = t[r]; if (u != null) switch (typeof u) { case "function": { const o = c[r]; typeof o == "function" ? o() : u(null); break; } case "object": { u.current = null; break; } } } }; } }; } function M(e, t) { return typeof e == "function" ? e(t) : e; } const V = parseInt(s.version, 10); function Y(e) { return V >= e; } function g(e, t) { if (e && !t) return e; if (!e && t) return t; if (e || t) return { ...e, ...t }; } const d = {}; function B(e, t, n, c, r) { let u = { ...h(e, d) }; return t && (u = y(u, t)), n && (u = y(u, n)), c && (u = y(u, c)), u; } function F(e) { if (e.length === 0) return d; if (e.length === 1) return h(e[0], d); let t = { ...h(e[0], d) }; for (let n = 1; n < e.length; n += 1) t = y(t, e[n]); return t; } function y(e, t) { return p(t) ? t(e) : $(e, t); } function $(e, t) { if (!t) return e; for (const n in t) { const c = t[n]; switch (n) { case "style": { e[n] = g(e.style, c); break; } case "className": { e[n] = v(e.className, c); break; } default: G(n, c) ? e[n] = z(e[n], c) : e[n] = c; } } return e; } function G(e, t) { const n = e.charCodeAt(0), c = e.charCodeAt(1), r = e.charCodeAt(2); return n === 111 && c === 110 && r >= 65 && r <= 90 && (typeof t == "function" || typeof t > "u"); } function p(e) { return typeof e == "function"; } function h(e, t) { return p(e) ? e(t) : e ?? d; } function z(e, t) { return t ? e ? (n) => { if (K(n)) { const r = n; J(r); const u = t(r); return r.baseUIHandlerPrevented || e == null || e(r), u; } const c = t(n); return e == null || e(n), c; } : t : e; } function J(e) { return e.preventBaseUIHandler = () => { e.baseUIHandlerPrevented = !0; }, e; } function v(e, t) { return t ? e ? t + " " + e : t : e; } function K(e) { return e != null && typeof e == "object" && "nativeEvent" in e; } const ue = 500, oe = 500, se = { style: { transition: "none" } }, l = {}, fe = { fallbackAxisSide: "none" }, ie = { fallbackAxisSide: "end" }; function le(e, t, n = {}) { const c = t.render, r = W(t, n); if (n.enabled === !1) return null; const u = n.state ?? l; return Z(e, c, r, u); } function W(e, t = {}) { const { className: n, render: c } = e, { state: r = l, ref: u, props: o, disableStyleHooks: _, customStyleHookMapping: A, enabled: i = !0 } = t, k = i ? M(n, r) : void 0; let C; _ !== !0 && (C = s.useMemo(() => i ? j(r, A) : l, [r, A, i])); const f = i ? g(C, Array.isArray(o) ? F(o) : o) ?? l : l; return typeof document < "u" && (i ? Array.isArray(u) ? f.ref = R([f.ref, P(c), ...u]) : f.ref = O(f.ref, P(c), u) : O(null, null)), i ? (k !== void 0 && (f.className = v(f.className, k)), f) : l; } function Z(e, t, n, c) { if (t) { if (typeof t == "function") return t(n, c); const r = B(n, t.props); return r.ref = n.ref, /* @__PURE__ */ s.cloneElement(t, r); } if (e && typeof e == "string") return q(e, n); throw new Error("Base UI: Render element or function are not defined."); } function q(e, t) { return e === "button" ? /* @__PURE__ */ N("button", { type: "button", ...t }) : e === "img" ? /* @__PURE__ */ N("img", { alt: "", ...t }) : /* @__PURE__ */ s.createElement(e, t); } function P(e) { return e && typeof e != "function" ? Y(19) ? e.props.ref : e.ref : null; } const b = s[`useInsertionEffect${Math.random().toFixed(1)}`.slice(0, -3)], Q = ( // React 17 doesn't have useInsertionEffect. b && // Preact replaces useInsertionEffect with useLayoutEffect and fires too late. b !== s.useLayoutEffect ? b : (e) => e() ); function ae(e) { const t = I(X).current; return t.next = e, Q(t.effect), t.trampoline; } function X() { const e = { next: void 0, callback: H, trampoline: (...t) => { var n; return (n = e.callback) == null ? void 0 : n.call(e, ...t); }, effect: () => { e.callback = e.next; } }; return e; } function H() { if (process.env.NODE_ENV !== "production") throw new Error("Base UI: Cannot call an event handler while rendering."); } const ee = () => { }, de = typeof document < "u" ? s.useLayoutEffect : ee, te = []; function ne(e) { s.useEffect(e, te); } const a = 0; class m { constructor() { E(this, "currentId", a); E(this, "clear", () => { this.currentId !== a && (clearTimeout(this.currentId), this.currentId = a); }); E(this, "disposeEffect", () => this.clear); } static create() { return new m(); } /** * Executes `fn` after `delay`, clearing any previously scheduled call. */ start(t, n) { this.clear(), this.currentId = setTimeout(() => { this.currentId = a, n(); }, t); } isStarted() { return this.currentId !== a; } } function Ee() { const e = I(m.create).current; return ne(e.disposeEffect), e; } export { se as D, l as E, ie as P, m as T, de as a, ae as b, Ee as c, I as d, J as e, O as f, fe as g, oe as h, Y as i, ue as j, ne as k, B as m, le as u };