import React from 'react'; const CSS = ` .ct-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font: 600 14px/1 var(--font-sans); border-radius: var(--radius-2); border: 1px solid transparent; cursor: pointer; white-space: nowrap; transition: background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out); } .ct-btn:disabled { opacity: 0.45; cursor: not-allowed; } .ct-btn--md { height: 34px; padding: 0 14px; } .ct-btn--sm { height: 28px; padding: 0 10px; font-size: 13px; } .ct-btn--primary { background: var(--accent); color: var(--text-on-accent); } .ct-btn--primary:hover:not(:disabled) { background: var(--accent-hover); } .ct-btn--primary:active:not(:disabled) { background: var(--accent-pressed); } .ct-btn--secondary { background: var(--surface-card); border-color: var(--line-2); color: var(--ink-1); } .ct-btn--secondary:hover:not(:disabled) { background: var(--paper-2); } .ct-btn--secondary:active:not(:disabled) { background: var(--paper-3); } .ct-btn--ghost { background: transparent; color: var(--ink-2); } .ct-btn--ghost:hover:not(:disabled) { background: var(--paper-2); color: var(--ink-1); } .ct-btn--ghost:active:not(:disabled) { background: var(--paper-3); } .ct-btn--danger { background: var(--danger); color: var(--ink-inverse); } .ct-btn--danger:hover:not(:disabled) { filter: brightness(0.92); } `; (function inject() { if (typeof document !== 'undefined' && !document.getElementById('ct-button-css')) { const s = document.createElement('style'); s.id = 'ct-button-css'; s.textContent = CSS; document.head.appendChild(s); } })(); import { Icon } from './Icon'; export function Button({ variant = 'primary', size = 'md', icon, iconRight, disabled = false, children, style, ...rest }) { const iconSize = size === 'sm' ? 15 : 17; return ( ); }