161 lines
4.1 KiB
Plaintext
161 lines
4.1 KiB
Plaintext
"use strict";
|
|
var __defProp = Object.defineProperty;
|
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
var __export = (target, all) => {
|
|
for (var name in all)
|
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
};
|
|
var __copyProps = (to, from, except, desc) => {
|
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
for (let key of __getOwnPropNames(from))
|
|
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
}
|
|
return to;
|
|
};
|
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
|
|
// src/common/ra.ts
|
|
var ra_exports = {};
|
|
__export(ra_exports, {
|
|
chain: () => chain,
|
|
idsUpdaterMap: () => idsUpdaterMap,
|
|
mergeIds: () => mergeIds,
|
|
mergeProps: () => mergeProps,
|
|
mergeRefs: () => mergeRefs
|
|
});
|
|
module.exports = __toCommonJS(ra_exports);
|
|
|
|
// src/common/clsx.ts
|
|
function toVal(mix) {
|
|
var k, y, str = "";
|
|
if (typeof mix === "string" || typeof mix === "number") {
|
|
str += mix;
|
|
} else if (typeof mix === "object") {
|
|
if (Array.isArray(mix)) {
|
|
for (k = 0; k < mix.length; k++) {
|
|
if (mix[k]) {
|
|
if (y = toVal(mix[k])) {
|
|
str && (str += " ");
|
|
str += y;
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
for (k in mix) {
|
|
if (mix[k]) {
|
|
str && (str += " ");
|
|
str += k;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return str;
|
|
}
|
|
function clsx(...args) {
|
|
var i = 0, tmp, x, str = "";
|
|
while (i < args.length) {
|
|
if (tmp = args[i++]) {
|
|
if (x = toVal(tmp)) {
|
|
str && (str += " ");
|
|
str += x;
|
|
}
|
|
}
|
|
}
|
|
return str;
|
|
}
|
|
|
|
// src/common/ra.ts
|
|
function chain(...callbacks) {
|
|
return (...args) => {
|
|
for (let callback of callbacks) {
|
|
if (typeof callback === "function") {
|
|
callback(...args);
|
|
}
|
|
}
|
|
};
|
|
}
|
|
var idsUpdaterMap = /* @__PURE__ */ new Map();
|
|
function mergeIds(idA, idB) {
|
|
if (idA === idB) {
|
|
return idA;
|
|
}
|
|
let setIdsA = idsUpdaterMap.get(idA);
|
|
if (setIdsA) {
|
|
setIdsA.forEach((ref) => ref.current = idB);
|
|
return idB;
|
|
}
|
|
let setIdsB = idsUpdaterMap.get(idB);
|
|
if (setIdsB) {
|
|
setIdsB.forEach((ref) => ref.current = idA);
|
|
return idA;
|
|
}
|
|
return idB;
|
|
}
|
|
function mergeProps(...args) {
|
|
let result = { ...args[0] };
|
|
for (let i = 1; i < args.length; i++) {
|
|
let props = args[i];
|
|
for (let key in props) {
|
|
let a = result[key];
|
|
let b = props[key];
|
|
if (typeof a === "function" && typeof b === "function" && // This is a lot faster than a regex.
|
|
key[0] === "o" && key[1] === "n" && key.charCodeAt(2) >= /* 'A' */
|
|
65 && key.charCodeAt(2) <= /* 'Z' */
|
|
90) {
|
|
result[key] = chain(a, b);
|
|
} else if ((key === "className" || key === "UNSAFE_className") && typeof a === "string" && typeof b === "string") {
|
|
result[key] = clsx(a, b);
|
|
} else if (key === "id" && a && b) {
|
|
result.id = mergeIds(a, b);
|
|
} else {
|
|
result[key] = b !== void 0 ? b : a;
|
|
}
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
function mergeRefs(...refs) {
|
|
if (refs.length === 1 && refs[0]) {
|
|
return refs[0];
|
|
}
|
|
return (value) => {
|
|
let hasCleanup = false;
|
|
const cleanups = refs.map((ref) => {
|
|
const cleanup = setRef(ref, value);
|
|
hasCleanup || (hasCleanup = typeof cleanup == "function");
|
|
return cleanup;
|
|
});
|
|
if (hasCleanup) {
|
|
return () => {
|
|
cleanups.forEach((cleanup, i) => {
|
|
if (typeof cleanup === "function") {
|
|
cleanup == null ? void 0 : cleanup();
|
|
} else {
|
|
setRef(refs[i], null);
|
|
}
|
|
});
|
|
};
|
|
}
|
|
};
|
|
}
|
|
function setRef(ref, value) {
|
|
if (typeof ref === "function") {
|
|
return () => ref(value);
|
|
} else if (ref != null) {
|
|
if ("current" in ref) {
|
|
ref.current = value;
|
|
}
|
|
}
|
|
}
|
|
// Annotate the CommonJS export names for ESM import in node:
|
|
0 && (module.exports = {
|
|
chain,
|
|
idsUpdaterMap,
|
|
mergeIds,
|
|
mergeProps,
|
|
mergeRefs
|
|
});
|