UNPKG

alinea

Version:

[![npm](https://img.shields.io/npm/v/alinea.svg)](https://npmjs.org/package/alinea) [![install size](https://packagephobia.com/badge?p=alinea)](https://packagephobia.com/result?p=alinea)

39 lines (36 loc) 1.11 kB
import "../chunks/chunk-U5RRZUYZ.js"; // src/ui/Button.module.scss var Button_module_default = { "root": "alinea-Button", "is-medium": "alinea-Button-is-medium", "isMedium": "alinea-Button-is-medium", "is-large": "alinea-Button-is-large", "isLarge": "alinea-Button-is-large", "is-outline": "alinea-Button-is-outline", "isOutline": "alinea-Button-is-outline" }; // src/ui/Button.tsx import { Icon } from "./Icon.js"; import { HStack } from "./Stack.js"; import { fromModule } from "./util/Styler.js"; import { jsx, jsxs } from "react/jsx-runtime"; var styles = fromModule(Button_module_default); function Button({ as = "button", children, size = "medium", icon, iconRight, outline, ...props }) { const Tag = as; return /* @__PURE__ */ jsx(Tag, { ...props, className: styles.root.mergeProps(props)(size, { outline }), children: /* @__PURE__ */ jsxs(HStack, { center: true, gap: 8, children: [ /* @__PURE__ */ jsx(Icon, { icon, size: 18 }), /* @__PURE__ */ jsx("span", { children }), /* @__PURE__ */ jsx(Icon, { icon: iconRight }) ] }) }); } export { Button };