Some checks are pending
Deploy Volleyball CMS / deploy (push) Waiting to run
116 lines
3.9 KiB
JavaScript
116 lines
3.9 KiB
JavaScript
import {
|
|
require_jsx_runtime
|
|
} from "./chunk-BNJCGGFL.js";
|
|
import {
|
|
require_react
|
|
} from "./chunk-2WIBB5DE.js";
|
|
import {
|
|
__toESM
|
|
} from "./chunk-DC5AMYBS.js";
|
|
|
|
// node_modules/@radix-ui/react-slot/dist/index.mjs
|
|
var React2 = __toESM(require_react(), 1);
|
|
|
|
// node_modules/@radix-ui/react-compose-refs/dist/index.mjs
|
|
var React = __toESM(require_react(), 1);
|
|
function setRef(ref, value) {
|
|
if (typeof ref === "function") {
|
|
ref(value);
|
|
} else if (ref !== null && ref !== void 0) {
|
|
ref.current = value;
|
|
}
|
|
}
|
|
function composeRefs(...refs) {
|
|
return (node) => refs.forEach((ref) => setRef(ref, node));
|
|
}
|
|
function useComposedRefs(...refs) {
|
|
return React.useCallback(composeRefs(...refs), refs);
|
|
}
|
|
|
|
// node_modules/@radix-ui/react-slot/dist/index.mjs
|
|
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
|
|
var Slot = React2.forwardRef((props, forwardedRef) => {
|
|
const { children, ...slotProps } = props;
|
|
const childrenArray = React2.Children.toArray(children);
|
|
const slottable = childrenArray.find(isSlottable);
|
|
if (slottable) {
|
|
const newElement = slottable.props.children;
|
|
const newChildren = childrenArray.map((child) => {
|
|
if (child === slottable) {
|
|
if (React2.Children.count(newElement) > 1) return React2.Children.only(null);
|
|
return React2.isValidElement(newElement) ? newElement.props.children : null;
|
|
} else {
|
|
return child;
|
|
}
|
|
});
|
|
return (0, import_jsx_runtime.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children: React2.isValidElement(newElement) ? React2.cloneElement(newElement, void 0, newChildren) : null });
|
|
}
|
|
return (0, import_jsx_runtime.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children });
|
|
});
|
|
Slot.displayName = "Slot";
|
|
var SlotClone = React2.forwardRef((props, forwardedRef) => {
|
|
const { children, ...slotProps } = props;
|
|
if (React2.isValidElement(children)) {
|
|
const childrenRef = getElementRef(children);
|
|
return React2.cloneElement(children, {
|
|
...mergeProps(slotProps, children.props),
|
|
// @ts-ignore
|
|
ref: forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef
|
|
});
|
|
}
|
|
return React2.Children.count(children) > 1 ? React2.Children.only(null) : null;
|
|
});
|
|
SlotClone.displayName = "SlotClone";
|
|
var Slottable = ({ children }) => {
|
|
return (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });
|
|
};
|
|
function isSlottable(child) {
|
|
return React2.isValidElement(child) && child.type === Slottable;
|
|
}
|
|
function mergeProps(slotProps, childProps) {
|
|
const overrideProps = { ...childProps };
|
|
for (const propName in childProps) {
|
|
const slotPropValue = slotProps[propName];
|
|
const childPropValue = childProps[propName];
|
|
const isHandler = /^on[A-Z]/.test(propName);
|
|
if (isHandler) {
|
|
if (slotPropValue && childPropValue) {
|
|
overrideProps[propName] = (...args) => {
|
|
childPropValue(...args);
|
|
slotPropValue(...args);
|
|
};
|
|
} else if (slotPropValue) {
|
|
overrideProps[propName] = slotPropValue;
|
|
}
|
|
} else if (propName === "style") {
|
|
overrideProps[propName] = { ...slotPropValue, ...childPropValue };
|
|
} else if (propName === "className") {
|
|
overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" ");
|
|
}
|
|
}
|
|
return { ...slotProps, ...overrideProps };
|
|
}
|
|
function getElementRef(element) {
|
|
var _a, _b;
|
|
let getter = (_a = Object.getOwnPropertyDescriptor(element.props, "ref")) == null ? void 0 : _a.get;
|
|
let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
|
if (mayWarn) {
|
|
return element.ref;
|
|
}
|
|
getter = (_b = Object.getOwnPropertyDescriptor(element, "ref")) == null ? void 0 : _b.get;
|
|
mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
|
if (mayWarn) {
|
|
return element.props.ref;
|
|
}
|
|
return element.props.ref || element.ref;
|
|
}
|
|
var Root = Slot;
|
|
|
|
export {
|
|
useComposedRefs,
|
|
Slot,
|
|
Slottable,
|
|
Root
|
|
};
|
|
//# sourceMappingURL=chunk-N2W4B4AT.js.map
|