@radix-ui/themes
Version:
[](https://radix-ui.com/themes)
3 lines (2 loc) • 1.22 kB
JavaScript
import*as o from"react";import f from"classnames";import{Slot as B}from"@radix-ui/react-slot";import{baseButtonPropDefs as r}from"./base-button.props.js";import{Flex as P}from"./flex.js";import{Spinner as y}from"./spinner.js";import{VisuallyHidden as b}from"./visually-hidden.js";import{extractProps as c}from"../helpers/extract-props.js";import{mapResponsiveProp as h,mapButtonSizeToSpinnerSize as g}from"../helpers/map-prop-values.js";import{marginPropDefs as C}from"../props/margin.props.js";const n=o.forwardRef((t,p)=>{const{size:i=r.size.default}=t,{className:a,children:e,asChild:m,color:d,radius:l,disabled:s=t.loading,...u}=c(t,r,C);return o.createElement(m?B:"button",{"data-disabled":s||void 0,"data-accent-color":d,"data-radius":l,...u,ref:p,className:f("rt-reset","rt-BaseButton",a),disabled:s},t.loading?o.createElement(o.Fragment,null,o.createElement("span",{style:{display:"contents",visibility:"hidden"},"aria-hidden":!0},e),o.createElement(b,null,e),o.createElement(P,{asChild:!0,align:"center",justify:"center",position:"absolute",inset:"0"},o.createElement("span",null,o.createElement(y,{size:h(i,g)})))):e)});n.displayName="BaseButton";export{n as BaseButton};
//# sourceMappingURL=base-button.js.map