sate-lib
Version:
A lightweight and modular React component library designed for modern web interfaces. **SATE Lib** powers the [sate.menu](https://sate.menu) platform with reusable, scalable, and themeable UI components.
1 lines • 766 B
JavaScript
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{Icon as i}from"../icon/icon.js";import r from"./button.styles.module.js";import{Noise as o}from"./noise.js";function s({as:s="button",variant:a="filled",size:l="large",icon:n,iconPosition:m="left",label:d,loading:u,disabled:c,className:f="",...b}){let g=(()=>{switch(l){case"small":return"bodyDefaultEmphasis";case"medium":return"bodyLargeEmphasis";case"large":return"bodyXLargeEmphasis";default:return""}})();return t(s,{className:[r.button,r[a],r[l],g,u&&r.loading,c&&r.disabled,n&&r.icon,"right"===m&&r.directionRight,f].filter(Boolean).join(" "),disabled:c,...b,children:[n&&e(i,{name:n,size:"large"===l||"medium"===l?24:"small"===l?18:16}),d,"filled"===a&&e(o,{className:r.noise})]})}export{s as Button};