UNPKG

@fxshelf/button-kit

Version:

Animated button shelf for React and Vue — switch styles by variant string. Zero animation-lib deps. Copy-as-source friendly.

44 lines (41 loc) • 925 B
"use client"; import 'react'; import { jsx } from 'react/jsx-runtime'; // src/react/Button.tsx // src/core/variants.ts var BUTTON_VARIANTS = [ "solid", "outline", "soft", "glow", "neon", "shimmer", "chroma", "liquid", "wipe", "glass" ]; var DEFAULT_VARIANT = "solid"; function resolveVariant(variant) { if (variant != null && BUTTON_VARIANTS.includes(variant)) { return variant; } return DEFAULT_VARIANT; } function variantClassName(variant) { return `fx-btn fx-btn--${resolveVariant(variant)}`; } function Button({ variant = "solid", children, className, style, type = "button", ...rest }) { const classes = [variantClassName(variant), className].filter(Boolean).join(" "); return /* @__PURE__ */ jsx("button", { type, className: classes, style, ...rest, children }); } export { BUTTON_VARIANTS, Button }; //# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map