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.

47 lines (43 loc) • 993 B
"use client"; 'use strict'; require('react'); var jsxRuntime = require('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__ */ jsxRuntime.jsx("button", { type, className: classes, style, ...rest, children }); } exports.BUTTON_VARIANTS = BUTTON_VARIANTS; exports.Button = Button; //# sourceMappingURL=index.cjs.map //# sourceMappingURL=index.cjs.map