> ## Documentation Index
> Fetch the complete documentation index at: https://crossmint-devin-1787949784-wallet-docs-two-concept-model.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# CheckoutPrimaryButtonRule

> Swift Structure

**Structure**

The rule for the primary action button, such as the pay button.

```swift theme={null}
struct CheckoutPrimaryButtonRule
```

## Initializers

### init(borderRadius:font:colors:hover:disabled:)

Creates a primary button rule.

```swift theme={null}
init(borderRadius: String? = nil, font: CheckoutFontStyle? = nil, colors: CheckoutColorStyle? = nil, hover: CheckoutStateStyle? = nil, disabled: CheckoutStateStyle? = nil)
```

### init(from:)

Inherited from `Decodable.init(from:)`.

```swift theme={null}
init(from decoder: any Decoder) throws
```

## Instance Properties

| Property       | Type                  | Description                                             |
| -------------- | --------------------- | ------------------------------------------------------- |
| `borderRadius` | `String?`             | The CSS `border-radius` value, for example `"8px"`.     |
| `colors`       | `CheckoutColorStyle?` | The button colors in the rest state.                    |
| `disabled`     | `CheckoutStateStyle?` | The button colors in the disabled state.                |
| `font`         | `CheckoutFontStyle?`  | The button font.                                        |
| `hover`        | `CheckoutStateStyle?` | The button colors while the pointer is over the button. |
