@szum-tech/design-system
Version:
Szum-Tech design system with tailwindcss support
1 lines • 1.41 kB
JavaScript
import {a as a$2}from'./chunk-RLQVCUZA.js';import {a as a$1}from'./chunk-FLOFQPVA.js';import {a}from'./chunk-JUNHRB4B.js';import*as n from'react';import {Slot}from'@radix-ui/react-slot';import {jsx,jsxs}from'react/jsx-runtime';function F({asChild:t=false,variant:e="default",disabled:i=false,fullWidth:c=false,loadingPosition:u="start",children:p,type:m="button",loading:s=false,size:a$2="default",endIcon:R,startIcon:d,className:l,...L}){let b=t?Slot:"button",f=i||s,y=a$2?.startsWith("icon")?"center":u;return jsx(b,{"data-slot":"button","aria-disabled":f||void 0,className:a(a$1({fullWidth:c,size:a$2,variant:e}),l),"data-state":s?"loading":void 0,disabled:t?void 0:f,tabIndex:f&&t?-1:void 0,type:b==="button"?m:void 0,"data-size":a$2,"data-variant":e,...L,children:jsx(I,{loading:s,size:a$2,loadingPosition:y,startIcon:d,endIcon:R,asChild:t,children:p})})}function I({children:t,loading:e=false,loadingPosition:i="start",startIcon:c,asChild:u,endIcon:p,...m}){let a=e&&i==="start"?jsx(a$2,{"aria-label":"Loading","data-icon":"inline-start"}):c||null,d=e&&i==="end"?jsx(a$2,{"aria-label":"Loading","data-icon":"inline-start"}):p||null,l=e&&i==="center";return u&&n.isValidElement(t)?n.cloneElement(t,m,jsxs(n.Fragment,{children:[a,l?jsx(a$2,{"aria-label":"Loading"}):n.isValidElement(t)?t.props?.children:null,d]})):jsxs(n.Fragment,{children:[a,l?jsx(a$2,{"aria-label":"Loading"}):t,d]})}export{F as a};