UNPKG

retro-react

Version:

A React component library for building retro-style websites

2 lines (1 loc) 1.11 kB
import{__rest as e}from"../../_virtual/_tslib.js";import{forwardRef as o,useRef as s,useEffect as r}from"react";import{jsx as t,jsxs as i}from"../../node_modules/@theme-ui/core/jsx-runtime/dist/theme-ui-core-jsx-runtime.esm.js";import c from"../../node_modules/lodash/lodash.js";import{classNames as l}from"../../utils/classNames.js";import m from"../../constants/commonClassNames.js";import{Checkbox as n,CheckboxLabel as a,CheckboxWrapper as d}from"./Checkbox.styled.js";const u=o(((o,u)=>{var{id:h,className:b,onClick:x,color:j="primary",sx:p,label:k,indeterminate:f}=o,N=e(o,["id","className","onClick","color","sx","label","indeterminate"]);h=null!=h?h:`retro-checkbox-${c.uniqueId()}`;const C=s(null),v=u||C;r((()=>{"current"in v&&v.current&&(v.current.indeterminate=null!=f&&f)}),[v,f]);const y=t(n,Object.assign({id:h,type:"checkbox",className:l(m,b),onClick:x,$color:j,sx:p,ref:v},N),void 0);return k?t(d,Object.assign({className:l("checkbox-root",b,m)},{children:i(a,Object.assign({htmlFor:h,$color:j,className:m},{children:[y,k]}),void 0)}),void 0):y}));u.displayName="Checkbox";export{u as Checkbox};