UNPKG

ivt

Version:

Ivt Components Library

61 lines (57 loc) 1.61 kB
import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { createSlot } from '@radix-ui/react-slot'; import { jsx } from 'react/jsx-runtime'; // src/primitive.tsx function composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) { return function handleEvent(event) { originalEventHandler?.(event); if (checkForDefaultPrevented === false || !event.defaultPrevented) { return ourEventHandler?.(event); } }; } // src/primitive.tsx var NODES = [ "a", "button", "div", "form", "h2", "h3", "img", "input", "label", "li", "nav", "ol", "p", "select", "span", "svg", "ul" ]; var Primitive = NODES.reduce((primitive, node)=>{ const Slot = createSlot(`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)); } export { Primitive as P, composeEventHandlers as c, dispatchDiscreteCustomEvent as d }; //# sourceMappingURL=index-Dsw02Eup.mjs.map