A branded CTA button component for the OpenFrame platform, rendering the OpenFrame logo icon alongside customizable label text and a "Beta" status badge.
## Key Components
### `StartWithOpenFrameButtonProps`
Extends `ButtonProps` (omitting `variant`, `size`, and `leftIcon`) with:
| Prop | Type | Default | Description |
|---|---|---|---|
| `children` | `React.ReactNode` | `'Start Free Trial'` | Button label text |
| `mode` | `'outline' \| 'yellow' \| 'pink' \| 'purple' \| 'cyan'` | `'outline'` | Visual style theme |
| `buttonSize` | `'sm' \| 'md' \| 'lg'` | — | Maps to internal Button size values |
| `loading` | `boolean` | `false` | Shows loading state; hides logo icon |
| `buttonBackgroundColor` | `string` | — | Custom background (cyan mode only) |
| `buttonTextColor` | `string` | — | Custom text color (cyan mode only) |
### `StartWithOpenFrameButton`
A `React.forwardRef` component that:
- Maps `mode` to `Button` variant (`outline` or `accent`) and ODS Tailwind classes
- Adjusts `OpenFrameLogo` icon colors for contrast per mode
- Injects a fixed `StatusBadge` ("Beta") as `rightIcon`
- Supports inline style overrides for the `cyan` mode
## Usage Example
```typescript
import { StartWithOpenFrameButton } from './start-with-openframe-button';
// Default outline style
// Yellow accent variant with large size
Get Started
// Cyan mode with custom brand colors
Launch OpenFrame
// Loading state
```
> **Source:** [`start-with-openframe-button.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/start-with-openframe-button.tsx)