@2e32/react-radio
Version:
A React radio component
12 lines (10 loc) • 8.5 kB
JavaScript
var Ee=Object.create;var W=Object.defineProperty,Fe=Object.defineProperties,Me=Object.getOwnPropertyDescriptor,Be=Object.getOwnPropertyDescriptors,Ke=Object.getOwnPropertyNames,V=Object.getOwnPropertySymbols,De=Object.getPrototypeOf,Z=Object.prototype.hasOwnProperty,ce=Object.prototype.propertyIsEnumerable;var le=(e,o,t)=>o in e?W(e,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[o]=t,i=(e,o)=>{for(var t in o||(o={}))Z.call(o,t)&&le(e,t,o[t]);if(V)for(var t of V(o))ce.call(o,t)&&le(e,t,o[t]);return e},u=(e,o)=>Fe(e,Be(o));var p=(e,o)=>{var t={};for(var n in e)Z.call(e,n)&&o.indexOf(n)<0&&(t[n]=e[n]);if(e!=null&&V)for(var n of V(e))o.indexOf(n)<0&&ce.call(e,n)&&(t[n]=e[n]);return t};var qe=(e,o)=>()=>(o||e((o={exports:{}}).exports,o),o.exports);var Ue=(e,o,t,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of Ke(o))!Z.call(e,r)&&r!==t&&W(e,r,{get:()=>o[r],enumerable:!(n=Me(o,r))||n.enumerable});return e};var f=(e,o,t)=>(t=e!=null?Ee(De(e)):{},Ue(o||!e||!e.__esModule?W(t,"default",{value:e,enumerable:!0}):t,e));var c=qe((go,H)=>{(function(){"use strict";var e={}.hasOwnProperty;function o(){for(var r="",s=0;s<arguments.length;s++){var a=arguments[s];a&&(r=n(r,t(a)))}return r}function t(r){if(typeof r=="string"||typeof r=="number")return r;if(typeof r!="object")return"";if(Array.isArray(r))return o.apply(null,r);if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]"))return r.toString();var s="";for(var a in r)e.call(r,a)&&r[a]&&(s=n(s,a));return s}function n(r,s){return s?r?r+" "+s:r+s:r}typeof H!="undefined"&&H.exports?(o.default=o,H.exports=o):typeof define=="function"&&typeof define.amd=="object"&&define.amd?define("classnames",[],function(){return o}):window.classNames=o})()});var we=f(c());import yo,{useRef as Ro,useId as xo}from"react";var ge=f(c());import je from"react";var de=f(c());import{jsx as We}from"react/jsx-runtime";var $e=({icon:e,position:o,className:t})=>{let n=e!=null?e:"*";return We("span",{className:(0,de.default)("e-radio-group__asterisk",{"e-radio-group__asterisk--position-left":o==="left","e-radio-group__asterisk--position-right":o==="right"},t),children:n})},J=$e;var fe=f(c());import Ze from"react";import{jsx as ze}from"react/jsx-runtime";var Je=(e,o)=>{let a=e,{disabled:t=!1,block:n=!1,className:r}=a,s=p(a,["disabled","block","className"]);return ze("span",i({ref:o,className:(0,fe.default)("e-radio-group",{"e-radio-group--disabled":t,"e-radio-group--block":n},r)},s))},z=Ze.forwardRef(Je);var me=f(c());import{jsx as Xe}from"react/jsx-runtime";var Qe=({children:e,className:o})=>Xe("div",{className:(0,me.default)("e-radio-group__hint",o),children:e}),Q=Qe;var ye=f(c());import{Fragment as be,jsx as ue,jsxs as ke}from"react/jsx-runtime";var Ye=e=>{let{htmlFor:o,children:t,className:n,required:r=!1,asteriskIcon:s,asteriskPosition:a,asteriskClassName:l}=e,m=r?ue(J,{icon:s,position:a,className:l}):null;return ue("label",{htmlFor:o,className:(0,ye.default)("e-radio-group__label",n),children:a==="left"?ke(be,{children:[m,t]}):ke(be,{children:[t,m]})})},X=Ye;var Re=(e,o)=>Object.is(e,o);var x=e=>typeof e=="string",Y=e=>typeof e=="number",h=e=>typeof e=="function";var xe=(e,o,t)=>x(t)?e[t]:h(t)?t(e,o):x(e)||Y(e)?e:o,he=(e,o)=>x(o)?e[o]:h(o)?o(e):e,Pe=(e,o,t)=>x(t)?e[t]:h(t)?t(e,o):x(e)||Y(e)?e:JSON.stringify(e),Ce=(e,o,t)=>{let n=t-1;return{currentIndex:e,lastIndex:n,selectedIndex:o,isFirstIndex:e===0,isLastIndex:e===n,isSelectedIndex:e===o,optionsCount:t}};import{jsx as L,jsxs as oo}from"react/jsx-runtime";var eo=(e,o)=>{let w=e,{value:t,label:n,hint:r,options:s=[],optionKey:a,optionContent:l,optionValue:m,optionDisabled:I,isValueEqualOption:P,labelClassName:E,hintClassName:N,disabled:O=!1,readOnly:b=!1,block:k=!1,vertical:F=!1,required:M=!1,asteriskIcon:B,asteriskPosition:_="right",asteriskClassName:C,renderIcon:K,renderOption:A,onChange:g}=w,D=p(w,["value","label","hint","options","optionKey","optionContent","optionValue","optionDisabled","isValueEqualOption","labelClassName","hintClassName","disabled","readOnly","block","vertical","required","asteriskIcon","asteriskPosition","asteriskClassName","renderIcon","renderOption","onChange"]),v=P!=null?P:Re,S=s.findIndex(d=>v(t,d)),T=s.map((d,y)=>{let R=xe(d,y,a),q=v(t,d),pe=I?I(d):!1;if(A){let U={key:R,selected:q,disabled:pe},$=Ce(y,S,s.length);return A({option:d,optionProps:U,extraProps:$})}let Le=Pe(d,y,l);return L(G,{checked:q,value:d,disabled:O||pe,readOnly:b,renderIcon:K,onChange:(U,$)=>{let Ge=he(U,m);g==null||g(Ge,$)},children:Le},R)});return oo(z,u(i({ref:o,disabled:O,block:k},D),{children:[n!=null&&L(X,{className:E,required:M,asteriskIcon:B,asteriskPosition:_,asteriskClassName:C,children:n}),L("div",{className:(0,ge.default)("e-radio-group__content",{"e-radio-group__content--vertical":F}),children:T}),r!=null&&L(Q,{className:N,children:r})]}))},Ie=je.forwardRef(eo);var Ne=Ie;import{jsx as Oe}from"react/jsx-runtime";var to=e=>Oe("svg",u(i({},e),{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:Oe("path",{d:"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7Z"})})),j=to;import{jsx as _e}from"react/jsx-runtime";var ro=e=>_e("svg",u(i({},e),{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:_e("path",{d:"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z"})})),ee=ro;var Ae=f(c());import{jsx as so}from"react/jsx-runtime";var no=e=>{let m=e,{checked:o=!1,disabled:t=!1,readOnly:n=!1,className:r,checkmarkPosition:s,checkmarkAlign:a}=m,l=p(m,["checked","disabled","readOnly","className","checkmarkPosition","checkmarkAlign"]);return so("span",i({className:(0,Ae.default)("e-radio__box",`e-radio__box--position-${s}`,`e-radio__box--align-${a}`,{"e-radio__box--checked":o,"e-radio__box--disabled":t,"e-radio__box--readonly":n&&!t},r)},l))},oe=no;var ve=f(c());import ao from"react";import{jsx as po}from"react/jsx-runtime";var io=(e,o)=>{let l=e,{disabled:t=!1,block:n=!1,className:r,checkmarkPosition:s}=l,a=p(l,["disabled","block","className","checkmarkPosition"]);return po("span",i({ref:o,className:(0,ve.default)("e-radio",`e-radio--orientation-${s}`,{"e-radio--disabled":t,"e-radio--block":n},r)},a))},te=ao.forwardRef(io);var Se=f(c());import{jsx as co}from"react/jsx-runtime";var lo=({children:e,className:o})=>co("div",{className:(0,Se.default)("e-radio__hint",o),children:e}),re=lo;var Te=f(c());import{jsx as mo}from"react/jsx-runtime";var fo=t=>{var n=t,{className:e}=n,o=p(n,["className"]);return mo("label",i({className:(0,Te.default)("e-radio__label",e)},o))},ne=fo;import{jsx as ko}from"react/jsx-runtime";var uo=e=>e?j:ee,bo=({checked:e})=>{let o=uo(e);return ko(o,{className:"e-radio__icon"})},se=bo;import{jsx as ae,jsxs as ie}from"react/jsx-runtime";var ho=(e,o)=>{let y=e,{id:t,name:n,value:r,checked:s=!1,children:a,hint:l,boxClassName:m,inputClassName:I,labelClassName:P,hintClassName:E,checkmarkPosition:N="left",checkmarkAlign:O="center",disabled:b=!1,readOnly:k=!1,autoFocus:F=!1,block:M=!1,tabIndex:B=0,renderIcon:_,onChange:C,onFocus:K,onBlur:A}=y,g=p(y,["id","name","value","checked","children","hint","boxClassName","inputClassName","labelClassName","hintClassName","checkmarkPosition","checkmarkAlign","disabled","readOnly","autoFocus","block","tabIndex","renderIcon","onChange","onFocus","onBlur"]),D=Ro(null),v=xo(),S=t!=null?t:v,T=r!=null,w=()=>{let R={value:r,checked:s,disabled:b,readOnly:k};return(h(_)?_:se)(R)},d=R=>{T&&(C==null||C(r,R))};return ie(te,u(i({ref:o,checkmarkPosition:N,disabled:b,block:M},g),{children:[ie(oe,{checked:s,disabled:b,readOnly:k,className:m,checkmarkPosition:N,checkmarkAlign:O,children:[ae("input",{id:S,ref:D,type:"radio",checked:s,name:n,value:T?String(r):void 0,disabled:b,readOnly:k,autoFocus:F,className:(0,we.default)("e-radio__input",I),tabIndex:B,onChange:b||k?void 0:d,onFocus:K,onBlur:A}),w()]}),a!=null&&ie("div",{children:[ae(ne,{htmlFor:S,className:P,children:a}),l!=null&&ae(re,{className:E,children:l})]})]}))},Ve=yo.forwardRef(ho);Ve.Group=Ne;var He=Ve;var G=He;var Zt=G;export{Zt as default};
/*! Bundled license information:
classnames/index.js:
(*!
Copyright (c) 2018 Jed Watson.
Licensed under the MIT License (MIT), see
http://jedwatson.github.io/classnames
*)
*/
//# sourceMappingURL=index.js.map