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