UNPKG

@vela-ui/react

Version:

Vela UI React components

3 lines (2 loc) 2.17 kB
"use client" "use strict";"use client";var d=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var h=(r,t)=>{for(var a in t)d(r,a,{get:t[a],enumerable:!0})},b=(r,t,a,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of p(t))!g.call(r,e)&&e!==a&&d(r,e,{get:()=>t[e],enumerable:!(o=m(t,e))||o.enumerable});return r};var f=r=>b(d({},"__esModule",{value:!0}),r);var k={};h(k,{Switch:()=>y});module.exports=f(k);var s=require("react-aria-components"),u=require("tailwind-variants"),i=require("react/jsx-runtime"),w=(0,u.tv)({slots:{root:"group relative inline-flex touch-none items-center justify-start gap-2 text-sm",indicator:"inline-flex shrink-0 cursor-pointer rounded-full shadow-xs transition-all outline-none",thumb:"bg-background pointer-events-none block scale-75 rounded-full ring-0 transition-transform"},variants:{size:{sm:{indicator:"h-4 w-8",thumb:"size-4 group-data-[selected=true]:translate-x-4"},md:{indicator:"h-5 w-10",thumb:"size-5 group-data-[selected=true]:translate-x-5"},lg:{indicator:"h-6 w-12",thumb:"size-6 group-data-[selected=true]:translate-x-6"},xl:{indicator:"h-7 w-14",thumb:"size-7 group-data-[selected=true]:translate-x-7"}},isFocusVisible:{true:{indicator:"ring-ring/50 ring-[3px]"}},isInvalid:{true:{indicator:"ring-destructive/20 dark:ring-destructive/40"}},isDisabled:{true:{root:"text-foreground/50 cursor-not-allowed",indicator:"cursor-not-allowed opacity-50"}},isSelected:{true:{indicator:"bg-primary text-primary-foreground",thumb:"dark:bg-primary-foreground translate-x-5"},false:{indicator:"bg-input dark:bg-input/80",thumb:"dark:bg-foreground"}}},defaultVariants:{size:"md"}}),{root:x,indicator:v,thumb:S}=w();function y({className:r,thumbClassName:t,indicatorClassName:a,size:o,children:e,...l}){return(0,i.jsx)(s.Switch,{className:(0,s.composeRenderProps)(r,(c,n)=>x({...n,className:c})),...l,children:(0,s.composeRenderProps)(e,(c,n)=>(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("div",{className:v({...n,size:o,className:a}),children:(0,i.jsx)("div",{className:S({...n,size:o,className:t})})}),c]}))})}0&&(module.exports={Switch});