UNPKG

@radix-ui/themes

Version:

[![Radix Themes Logo](https://radix-ui.com/social/themes.png)](https://radix-ui.com/themes)

3 lines (2 loc) 1.23 kB
import*as o from"react";import B from"classnames";import{Slot as P}from"radix-ui";import{baseButtonPropDefs as r}from"./base-button.props.js";import{Flex as y}from"../flex.js";import{Spinner as b}from"../spinner.js";import{VisuallyHidden as c}from"../visually-hidden.js";import{extractProps as h}from"../../helpers/extract-props.js";import{mapResponsiveProp as g,mapButtonSizeToSpinnerSize as C}from"../../helpers/map-prop-values.js";import{marginPropDefs as x}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}=h(t,r,x),f=m?P.Root:"button";return o.createElement(f,{"data-disabled":s||void 0,"data-accent-color":d,"data-radius":l,...u,ref:p,className:B("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(c,null,e),o.createElement(y,{asChild:!0,align:"center",justify:"center",position:"absolute",inset:"0"},o.createElement("span",null,o.createElement(b,{size:g(i,C)})))):e)});n.displayName="BaseButton";export{n as BaseButton}; //# sourceMappingURL=base-button.js.map