Files
Basilosaurusrex f027651f9b main repo
2025-11-24 18:09:40 +01:00

46 lines
1.1 KiB
JavaScript

// packages/react/primitive/src/Primitive.tsx
import * as React from "react";
import * as ReactDOM from "react-dom";
import { Slot } from "@radix-ui/react-slot";
import { jsx } from "react/jsx-runtime";
var NODES = [
"a",
"button",
"div",
"form",
"h2",
"h3",
"img",
"input",
"label",
"li",
"nav",
"ol",
"p",
"span",
"svg",
"ul"
];
var Primitive = NODES.reduce((primitive, node) => {
const Node = React.forwardRef((props, forwardedRef) => {
const { asChild, ...primitiveProps } = props;
const Comp = asChild ? Slot : node;
if (typeof window !== "undefined") {
window[Symbol.for("radix-ui")] = true;
}
return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });
});
Node.displayName = `Primitive.${node}`;
return { ...primitive, [node]: Node };
}, {});
function dispatchDiscreteCustomEvent(target, event) {
if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));
}
var Root = Primitive;
export {
Primitive,
Root,
dispatchDiscreteCustomEvent
};
//# sourceMappingURL=index.mjs.map