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.93 kB
import*as e from"react";import a,{forwardRef as l,useMemo as o}from"react";import r from"clsx";var t=Object.defineProperty,n=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,m=Object.prototype.propertyIsEnumerable,i=(e,a,l)=>a in e?t(e,a,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[a]=l,d=(e,a)=>{for(var l in a||(a={}))s.call(a,l)&&i(e,l,a[l]);if(n)for(var l of n(a))m.call(a,l)&&i(e,l,a[l]);return e},u=a=>e.createElement("svg",d({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"})),c="SUI-Radio-module-root-qaRs5",p="SUI-Radio-module-inputRoot-trne7",b="SUI-Radio-module-label-Znh-K",f="SUI-Radio-module-box-9vZnw",N="SUI-Radio-module-noLabel-q3TUN",v="SUI-Radio-module-boxDisabled-WM5wd",C="SUI-Radio-module-inputError-3q29C",R="SUI-Radio-module-icon-58EOO",h="SUI-Radio-module-input-9rDt5",g="SUI-Radio-module-errorLabel-l016C",y=l(((e,l)=>{var t=e,{name:i,onChange:y,value:I,label:E=null,checked:S=!1,inputClassName:U=null,labelClassName:w=null,errorClassName:O=null,disabled:k=!1,error:j=null}=t,x=((e,a)=>{var l={};for(var o in e)s.call(e,o)&&a.indexOf(o)<0&&(l[o]=e[o]);if(null!=e&&n)for(var o of n(e))a.indexOf(o)<0&&m.call(e,o)&&(l[o]=e[o]);return l})(t,["name","onChange","value","label","checked","inputClassName","labelClassName","errorClassName","disabled","error"]);const L=o((()=>j&&"string"==typeof j?j:j&&"object"==typeof j&&j.message?j.message:null),[j]);return a.createElement("label",{htmlFor:`radio_${i}_${I}`,className:r(c)},a.createElement("div",{className:r(p)},a.createElement("input",d({ref:l,className:h,name:i,type:"radio",checked:S,value:I,onChange:y,id:`radio_${i}_${I}`,disabled:k},x)),a.createElement("span",{className:r(f,d({[v]:k,[C]:"boolean"==typeof j&&j,[N]:!E},U?{[U]:!0}:{}))},a.createElement(u,{className:R})),a.createElement("div",{className:r(b,d({},w?{[w]:!0}:{}))},E)),L&&a.createElement("div",{className:r(g,d({},O?{[O]:!0}:{}))},L))}));y.displayName="Radio";var I=y,E="SUI-RadioGroup-module-root-7IRlI",S="SUI-RadioGroup-module-label-IH7PR",U="SUI-RadioGroup-module-errorLabel-DJfYN",w=l((({name:e,onChange:l,value:t=null,options:n=[],label:s=null,inputClassName:m=null,labelClassName:i=null,optionLabelClassName:u=null,errorClassName:c=null,disabled:p=!1,error:b=null},f)=>{const N=o((()=>b&&"string"==typeof b?b:b&&"object"==typeof b&&b.message?b.message:null),[b]);return a.createElement("label",{className:E},a.createElement("span",{className:r(S,d({},i?{[i]:!0}:{}))},s),n.map(((o,r)=>a.createElement(I,{ref:f,key:r,inputClassName:m,labelClassName:u,checked:o.value===t,label:o.label,value:o.value,error:b&&"boolean"==typeof b,disabled:p,name:e,onChange:l}))),N&&a.createElement("div",{className:r(U,d({},c?{[c]:!0}:{}))},N))}));w.displayName="RadioGroup";var O=w;export{O as default};