UNPKG

koval-ui

Version:

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

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