UNPKG

dgz-ui-shared

Version:

Custom ui library using React.js, Shadcn/ui, TailwindCSS, Typescript, dgz-ui library

2 lines (1 loc) 2.35 kB
"use strict";const g=require("./index-DqTIeHVj-DlSOwhuZ.cjs"),y=require("./utils-B6fNqzRf-BNysSCt9.cjs"),w=require("react"),b=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,f=y.Re,h=(t,r)=>e=>{var n;if((r==null?void 0:r.variants)==null)return f(t,e==null?void 0:e.class,e==null?void 0:e.className);const{variants:d,defaultVariants:s}=r,c=Object.keys(d).map(i=>{const a=e==null?void 0:e[i],u=s==null?void 0:s[i];if(a===null)return null;const o=b(a)||b(u);return d[i][o]}),l=e&&Object.entries(e).reduce((i,a)=>{let[u,o]=a;return o===void 0||(i[u]=o),i},{}),z=r==null||(n=r.compoundVariants)===null||n===void 0?void 0:n.reduce((i,a)=>{let{class:u,className:o,...j}=a;return Object.entries(j).every(N=>{let[m,v]=N;return Array.isArray(v)?v.includes({...s,...l}[m]):{...s,...l}[m]===v})?[...i,u,o]:i},[]);return f(t,c,z,e==null?void 0:e.class,e==null?void 0:e.className)},p=h("inline-flex border border-border-alpha-strong items-center justify-center gap-2 whitespace-nowrap font-medium focus:ring-2 focus:ring-offset-2 focus:ring-offset-bg focus:ring-item-primary-focus transition-colors disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-item-primary hover:bg-item-primary-hover active:bg-item-primary-active !text-white",destructive:"bg-item-destructive hover:bg-item-destructive-hover active:bg-item-destructive-active focus:ring-2 focus:ring-item-destructive-focus !text-white",secondary:"bg-item-secondary hover:bg-item-secondary-hover active:bg-item-secondary-active",tertiary:"bg-item-tertiary hover:bg-item-tertiary-hover active:bg-item-tertiary-active border-0",ghost:"bg-item-ghost hover:bg-item-ghost-hover active:bg-item-ghost-active border-0"},size:{lg:"h-12 px-4 text-body-sm-medium [&>svg]:size-5 rounded-5",default:"h-10 px-3 text-body-sm-medium [&>svg]:size-5 rounded-4",sm:"h-8 px-2.5 text-body-xs-medium [&>svg]:size-4 rounded-3",xs:"h-7 px-2 text-body-xs-medium [&>svg]:size-4 rounded-2",icon:"h-10 w-10 text-body-xs-medium [&>svg]:size-4 rounded-3"}},defaultVariants:{variant:"default",size:"default"}}),x=w.forwardRef(({className:t,variant:r,size:e,asChild:n=!1,...d},s)=>{const c=n?g.j$1:"button";return g.ae.jsx(c,{className:y.mo(p({variant:r,size:e,className:t})),ref:s,...d})});x.displayName="Button";exports.g=p;exports.j=h;exports.u=x;