7 lines
1.3 KiB
JavaScript
7 lines
1.3 KiB
JavaScript
|
|
import{a as n,j as e}from"./vendor-react-YMhRUmcb.js";import{d as p}from"./index-D2uzyr9g.js";import{i as b}from"./vendor-icons-DINCNwpk.js";const m=n.forwardRef(({label:o,className:i="",onCheckedChange:r,id:c,...t},l)=>{const d=n.useId(),a=c||d,s=`${a}-label`,x=h=>{r&&r(h.target.checked)};return e.jsxs("label",{htmlFor:a,id:s,className:p("inline-flex items-center gap-4 cursor-pointer group",t.disabled?"opacity-50 cursor-not-allowed":"",i),children:[e.jsxs("div",{className:"relative",children:[e.jsx("input",{ref:l,id:a,type:"checkbox",className:"peer sr-only",onChange:x,"aria-label":!o&&!t["aria-label"]&&!t["aria-labelledby"]?"Checkbox":void 0,"aria-labelledby":o?s:void 0,...t}),e.jsx("div",{className:`
|
||
|
|
w-5 h-5 rounded border border-kodo-steel bg-kodo-graphite
|
||
|
|
peer-checked:bg-kodo-cyan peer-checked:border-kodo-steel
|
||
|
|
peer-focus:ring-2 peer-focus:ring-kodo-steel/30
|
||
|
|
transition-all duration-200
|
||
|
|
`}),e.jsx(b,{className:"w-3.5 h-3.5 text-black absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 opacity-0 peer-checked:opacity-100 transition-opacity pointer-events-none",strokeWidth:3})]}),o&&e.jsx("span",{className:"text-sm text-kodo-text-main group-hover:text-white transition-colors select-none",children:o})]})});m.displayName="Checkbox";export{m as C};
|