@2e32/react-checkbox
Version:
A React checkbox component
12 lines (10 loc) • 6.06 kB
JavaScript
var de=Object.create;var L=Object.defineProperty,ie=Object.defineProperties,fe=Object.getOwnPropertyDescriptor,pe=Object.getOwnPropertyDescriptors,ke=Object.getOwnPropertyNames,V=Object.getOwnPropertySymbols,me=Object.getPrototypeOf,_=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable;var $=(e,o,n)=>o in e?L(e,o,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[o]=n,s=(e,o)=>{for(var n in o||(o={}))_.call(o,n)&&$(e,n,o[n]);if(V)for(var n of V(o))K.call(o,n)&&$(e,n,o[n]);return e},f=(e,o)=>ie(e,pe(o));var p=(e,o)=>{var n={};for(var c in e)_.call(e,c)&&o.indexOf(c)<0&&(n[c]=e[c]);if(e!=null&&V)for(var c of V(e))o.indexOf(c)<0&&K.call(e,c)&&(n[c]=e[c]);return n};var ue=(e,o)=>()=>(o||e((o={exports:{}}).exports,o),o.exports);var he=(e,o,n,c)=>{if(o&&typeof o=="object"||typeof o=="function")for(let t of ke(o))!_.call(e,t)&&t!==n&&L(e,t,{get:()=>o[t],enumerable:!(c=fe(o,t))||c.enumerable});return e};var H=(e,o,n)=>(n=e!=null?de(me(e)):{},he(o||!e||!e.__esModule?L(n,"default",{value:e,enumerable:!0}):n,e));var I=ue((Ye,y)=>{(function(){"use strict";var e={}.hasOwnProperty;function o(){for(var t="",r=0;r<arguments.length;r++){var a=arguments[r];a&&(t=c(t,n(a)))}return t}function n(t){if(typeof t=="string"||typeof t=="number")return t;if(typeof t!="object")return"";if(Array.isArray(t))return o.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();var r="";for(var a in t)e.call(t,a)&&t[a]&&(r=c(r,a));return r}function c(t,r){return r?t?t+" "+r:t+r:t}typeof y!="undefined"&&y.exports?(o.default=o,y.exports=o):typeof define=="function"&&typeof define.amd=="object"&&define.amd?define("classnames",[],function(){return o}):window.classNames=o})()});import Ae,{useEffect as ee,useRef as Ne}from"react";import{jsx as W}from"react/jsx-runtime";var be=e=>W("svg",f(s({},e),{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:W("path",{d:"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z"})})),A=be;import{jsx as q}from"react/jsx-runtime";var xe=e=>q("svg",f(s({},e),{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:q("path",{d:"M17,13H7V11H17M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z"})})),N=xe;import{jsx as z}from"react/jsx-runtime";var Ce=e=>z("svg",f(s({},e),{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:z("path",{d:"M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z"})})),M=Ce;var J=H(I());import{jsx as Ve}from"react/jsx-runtime";var Pe=e=>{let l=e,{checked:o=!1,className:n,checkmarkPosition:c,checkmarkAlign:t,disabled:r=!1,readOnly:a=!1}=l,k=p(l,["checked","className","checkmarkPosition","checkmarkAlign","disabled","readOnly"]);return Ve("span",s({className:(0,J.default)("e-checkbox__box",`e-checkbox__box--position-${c}`,`e-checkbox__box--align-${t}`,{"e-checkbox__box--checked":o,"e-checkbox__box--disabled":r,"e-checkbox__box--readonly":a&&!r},n)},k))},B=Pe;var Q=H(I());import ye from"react";import{jsx as Re}from"react/jsx-runtime";var Ie=(e,o)=>{let l=e,{id:n,className:c,checkmarkPosition:t,disabled:r=!1,block:a=!1}=l,k=p(l,["id","className","checkmarkPosition","disabled","block"]);return Re("label",s({ref:o,htmlFor:n,className:(0,Q.default)("e-checkbox",`e-checkbox--orientation-${t}`,{"e-checkbox--disabled":r,"e-checkbox--block":a},c)},k))},E=ye.forwardRef(Ie);var X=H(I());import{jsx as we}from"react/jsx-runtime";var ve=n=>{var c=n,{className:e}=c,o=p(c,["className"]);return we("span",s({className:(0,X.default)("e-checkbox__label",e)},o))},F=ve;import{jsx as Te}from"react/jsx-runtime";var Se=(e,o)=>o?N:e?A:M,ge=({checked:e,indeterminate:o})=>{let n=Se(e,o);return Te(n,{className:"e-checkbox__icon"})},G=ge;import{useState as Le,useCallback as _e}from"react";var Y=(e,o)=>Object.is(e,o);var He=e=>{let{checked:o,defaultChecked:n=!1,checkedValue:c,uncheckedValue:t,isValueChecked:r,onChange:a}=e,[k,l]=Le(n),i=o!==void 0,R=r!=null?r:Y,h=c===void 0?!0:c,x=t===void 0?!1:t,v=R(o,h),w=i?v:k,S=_e(m=>{let b=m.target.checked;if(i){let d=b?h:x;a==null||a(d,m)}else l(b),a==null||a(b,m)},[i,h,x,a]);return[w,S]},O=He;var j=e=>typeof e=="function";import{jsx as U,jsxs as Be}from"react/jsx-runtime";var Me=(e,o)=>{let Z=e,{id:n,name:c,value:t,tabIndex:r=0,children:a,checked:k,defaultChecked:l=!1,indeterminate:i=!1,checkedValue:R,uncheckedValue:h,isValueChecked:x,className:v,boxClassName:w,labelClassName:S,checkmarkPosition:m="left",checkmarkAlign:b="center",disabled:d=!1,readOnly:C=!1,autoFocus:g=!1,block:te=!1,renderIcon:D,onChange:ne,onFocus:ce,onBlur:re}=Z,ae=p(Z,["id","name","value","tabIndex","children","checked","defaultChecked","indeterminate","checkedValue","uncheckedValue","isValueChecked","className","boxClassName","labelClassName","checkmarkPosition","checkmarkAlign","disabled","readOnly","autoFocus","block","renderIcon","onChange","onFocus","onBlur"]),u=Ne(null),[T,se]=O({checked:k,defaultChecked:l,checkedValue:R,uncheckedValue:h,isValueChecked:x,onChange:ne});ee(()=>{var P;g&&((P=u==null?void 0:u.current)==null||P.focus())},[g]),ee(()=>{u.current&&(u.current.indeterminate=i)},[i]);let le=()=>{let P={checked:T,disabled:d,readOnly:C,indeterminate:i};return(j(D)?D:G)(P)};return Be(E,f(s({ref:o,id:n,className:v,checkmarkPosition:m,disabled:d,block:te},ae),{children:[U("input",{id:n,ref:u,type:"checkbox",checked:T,name:c,value:t,disabled:d,readOnly:C,autoFocus:g,className:"e-checkbox__input",tabIndex:r,onChange:d||C?void 0:se,onFocus:ce,onBlur:re}),U(B,{checked:d?!1:T||i,disabled:d,readOnly:C&&!d,className:w,checkmarkPosition:m,checkmarkAlign:b,children:le()}),U(F,{className:S,children:a})]}))},oe=Ae.forwardRef(Me);var Bo=oe;export{Bo 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