UNPKG

koval-ui

Version:

React components collection with minimalistic design. Supports theming, layout, and input validation.

3 lines (2 loc) 954 B
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),s=require("react"),p=require("classnames"),t=require("./InputGroup.module.css.cjs"),c=s.forwardRef(({className:d,id:f,label:m,children:i,name:l,disabled:e,hint:a,required:u,...h},j)=>{const x=s.useMemo(()=>s.Children.map(i,r=>{if(s.isValidElement(r)){const n={name:l};return e!==void 0&&typeof r.props.disabled!="boolean"&&(n.disabled=e),u!==void 0&&typeof r.props.required!="boolean"&&(n.required=u),s.cloneElement(r,n)}return r}),[i,e,l,u]);return o.jsxs("fieldset",{...h,className:p(t.default.wrapper,d),disabled:e,id:f,ref:j,children:[o.jsx("legend",{className:p(t.default.legend,{[t.default.disabled]:e}),children:m}),o.jsx("div",{className:t.default.inputs,children:x}),a&&o.jsx("div",{className:t.default.hint,children:a})]})});c.displayName="InputGroup";exports.InputGroup=c; //# sourceMappingURL=InputGroup.cjs.map