"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 });