@lunalytics/ui
Version:
React based component library created to be used in Lunalytics
316 lines (315 loc) • 7.32 kB
JavaScript
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
};