xtreme-ui
Version:
Collection of reusable components that can be used in web projects
2 lines (1 loc) • 968 B
JavaScript
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),j=require("react"),B=require("clsx"),b=require("../Icon/Icon.cjs"),g=require("../ProgressBar/ProgressBar.cjs");;/* empty css */const q=require("./types.cjs"),c=j.forwardRef((a,u)=>{const{className:d,style:p={},label:t,type:s="primary",size:o="default",disabled:y=!1,loading:r=!1,icon:n,iconType:m,iconPosition:l="left",onClick:x}=a,i=()=>n?e.jsx(b.Icon,{className:"icon",code:n,type:m,size:o}):null,f=B("xtrButton","shadowRipple",`${s}Type`,`${o}Size`,!t&&"iconOnly",r&&"loading",d);return!t&&!n?null:e.jsxs("button",{ref:u,className:f,style:p,onClick:x,disabled:y,role:"button",children:[s.includes(q.EButtonTypes.link)&&e.jsx(g.ProgressBar,{className:"underline",intermediate:r}),l==="left"&&e.jsx(i,{}),t&&e.jsx("span",{className:"label",children:t}),l==="right"&&e.jsx(i,{})]})});c.displayName="Button";exports.Button=c;