{"version":3,"sources":["../src/core/variants.ts","../src/react/Button.tsx"],"names":["jsx"],"mappings":";;;;;;;;AACO,IAAM,eAAA,GAAkB;AAAA,EAC7B,OAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF;AAIO,IAAM,eAAA,GAAiC,OAAA;AAEvC,SAAS,eAAe,OAAA,EAAiC;AAC9D,EAAA,IACE,OAAA,IAAW,IAAA,IACV,eAAA,CAAsC,QAAA,CAAS,OAAO,CAAA,EACvD;AACA,IAAA,OAAO,OAAA;AAAA,EACT;AACA,EAAA,OAAO,eAAA;AACT;AAEO,SAAS,iBAAiB,OAAA,EAA0B;AACzD,EAAA,OAAO,CAAA,eAAA,EAAkB,cAAA,CAAe,OAAO,CAAC,CAAA,CAAA;AAClD;ACLO,SAAS,MAAA,CAAO;AAAA,EACrB,OAAA,GAAU,OAAA;AAAA,EACV,QAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,IAAA,GAAO,QAAA;AAAA,EACP,GAAG;AACL,CAAA,EAAgB;AACd,EAAA,MAAM,OAAA,GAAU,CAAC,gBAAA,CAAiB,OAAO,CAAA,EAAG,SAAS,CAAA,CAClD,MAAA,CAAO,OAAO,CAAA,CACd,IAAA,CAAK,GAAG,CAAA;AAEX,EAAA,uBACEA,cAAA,CAAC,YAAO,IAAA,EAAY,SAAA,EAAW,SAAS,KAAA,EAAe,GAAG,MACvD,QAAA,EACH,CAAA;AAEJ","file":"index.cjs","sourcesContent":["/** Built-in button looks. Pass any of these as `variant`. */\nexport const BUTTON_VARIANTS = [\n  'solid',\n  'outline',\n  'soft',\n  'glow',\n  'neon',\n  'shimmer',\n  'chroma',\n  'liquid',\n  'wipe',\n  'glass',\n] as const\n\nexport type ButtonVariant = (typeof BUTTON_VARIANTS)[number]\n\nexport const DEFAULT_VARIANT: ButtonVariant = 'solid'\n\nexport function resolveVariant(variant?: string): ButtonVariant {\n  if (\n    variant != null &&\n    (BUTTON_VARIANTS as readonly string[]).includes(variant)\n  ) {\n    return variant as ButtonVariant\n  }\n  return DEFAULT_VARIANT\n}\n\nexport function variantClassName(variant?: string): string {\n  return `fx-btn fx-btn--${resolveVariant(variant)}`\n}\n","'use client'\n\nimport {\n  type ButtonHTMLAttributes,\n  type CSSProperties,\n  type ReactNode,\n} from 'react'\nimport {\n  BUTTON_VARIANTS,\n  type ButtonVariant,\n  variantClassName,\n} from '../core/variants'\nimport '../core/styles.css'\n\nexport type ButtonProps = Omit<\n  ButtonHTMLAttributes<HTMLButtonElement>,\n  'className' | 'style' | 'children'\n> & {\n  /** Switch look by name: solid | outline | soft | glow | neon | shimmer | chroma | liquid | wipe | glass. */\n  variant?: ButtonVariant | (string & {})\n  children?: ReactNode\n  className?: string\n  style?: CSSProperties\n}\n\nexport function Button({\n  variant = 'solid',\n  children,\n  className,\n  style,\n  type = 'button',\n  ...rest\n}: ButtonProps) {\n  const classes = [variantClassName(variant), className]\n    .filter(Boolean)\n    .join(' ')\n\n  return (\n    <button type={type} className={classes} style={style} {...rest}>\n      {children}\n    </button>\n  )\n}\n\nexport { BUTTON_VARIANTS, type ButtonVariant }\nexport default Button\n"]}