UNPKG

@start-base/react-form-elements

Version:

Simplify form elements and form management. Selection of user friendly inputs and wide customization abilities to match your design and functionality.

1 lines 2.12 kB
import*as e from"react";import a,{forwardRef as l,useMemo as r}from"react";import o from"clsx";var t=Object.defineProperty,n=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,d=(e,a,l)=>a in e?t(e,a,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[a]=l,m=(e,a)=>{for(var l in a||(a={}))s.call(a,l)&&d(e,l,a[l]);if(n)for(var l of n(a))i.call(a,l)&&d(e,l,a[l]);return e},c=a=>e.createElement("svg",m({xmlns:"http://www.w3.org/2000/svg",width:12,height:12,fill:"none"},a),e.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M9.666 3.666 4.999 8.332 2.666 6"})),u="SUI-Radio-module-root-qaRs5",p="SUI-Radio-module-inputRoot-trne7",b="SUI-Radio-module-label-Znh-K",f="SUI-Radio-module-box-9vZnw",v="SUI-Radio-module-noLabel-q3TUN",h="SUI-Radio-module-boxDisabled-WM5wd",N="SUI-Radio-module-inputError-3q29C",R="SUI-Radio-module-icon-58EOO",g="SUI-Radio-module-input-9rDt5",y="SUI-Radio-module-errorLabel-l016C",C=l((e,l)=>{var t=e,{name:d,onChange:C,value:E,label:I=null,checked:S=!1,inputClassName:U=null,labelClassName:w=null,errorClassName:O=null,disabled:k=!1,error:x=null}=t,j=((e,a)=>{var l={};for(var r in e)s.call(e,r)&&a.indexOf(r)<0&&(l[r]=e[r]);if(null!=e&&n)for(var r of n(e))a.indexOf(r)<0&&i.call(e,r)&&(l[r]=e[r]);return l})(t,["name","onChange","value","label","checked","inputClassName","labelClassName","errorClassName","disabled","error"]);const L=r(()=>x&&"string"==typeof x?x:x&&"object"==typeof x&&x.message?x.message:null,[x]);return a.createElement("label",{htmlFor:`radio_${d}_${E}`,className:o(u)},a.createElement("div",{className:o(p)},a.createElement("input",m({ref:l,className:g,name:d,type:"radio",checked:S,value:E,onChange:C,id:`radio_${d}_${E}`,disabled:k},j)),a.createElement("span",{className:o(f,m({[h]:k,[N]:"boolean"==typeof x&&x,[v]:!I},U?{[U]:!0}:{}))},a.createElement(c,{className:R})),a.createElement("div",{className:o(b,m({},w?{[w]:!0}:{}))},I)),L&&a.createElement("div",{className:o(y,m({},O?{[O]:!0}:{}))},L))});C.displayName="Radio";var E=C;export{E as default};