UNPKG

ivt

Version:

Ivt Components Library

74 lines (69 loc) 2.05 kB
import * as React from 'react'; import React__default from 'react'; import 'react-dom'; import { createSlot } from '@radix-ui/react-slot'; import { jsx } from 'react/jsx-runtime'; import { c as cn } from './utils-BDcRwQMd.mjs'; // 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 }; }, {}); var NAME = "Label"; var Label$1 = React.forwardRef((props, forwardedRef)=>{ return /* @__PURE__ */ jsx(Primitive.label, { ...props, ref: forwardedRef, onMouseDown: (event)=>{ const target = event.target; if (target.closest("button, input, select, textarea")) return; props.onMouseDown?.(event); if (!event.defaultPrevented && event.detail > 1) event.preventDefault(); } }); }); Label$1.displayName = NAME; var Root = Label$1; function Label({ className, ...props }) { return /*#__PURE__*/ React__default.createElement(Root, { "data-slot": "label", className: cn("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50", className), ...props }); } export { Label as L }; //# sourceMappingURL=label-D0iRy8Wj.mjs.map