> ## Documentation Index
> Fetch the complete documentation index at: https://docs.crossmint.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CheckoutAppearanceRules

> Swift Structure

**Structure**

Per-element style overrides for the checkout.

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

Each property targets one element of the checkout. A rule has priority over the values that the element gets from `CheckoutAppearanceVariables`. Set a property to `nil` to keep the checkout default for that element.

## Initializers

### init(destinationInput:receiptEmailInput:globalMessage:label:input:tab:primaryButton:)

Creates the rule set.

```swift theme={null}
init(destinationInput: CheckoutDestinationInputRule? = nil, receiptEmailInput: CheckoutReceiptEmailInputRule? = nil, globalMessage: CheckoutGlobalMessageRule? = nil, label: CheckoutLabelRule? = nil, input: CheckoutInputRule? = nil, tab: CheckoutTabRule? = nil, primaryButton: CheckoutPrimaryButtonRule? = nil)
```

### init(from:)

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

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

## Instance Properties

| Property | Type | Description |
| - | - | - |
| `destinationInput` | `CheckoutDestinationInputRule?` | The rule for the destination input. |
| `globalMessage` | `CheckoutGlobalMessageRule?` | The rule for the global message above the payment form. |
| `input` | `CheckoutInputRule?` | The rule for the text inputs. |
| `label` | `CheckoutLabelRule?` | The rule for the form field labels. |
| `primaryButton` | `CheckoutPrimaryButtonRule?` | The rule for the primary action button. |
| `receiptEmailInput` | `CheckoutReceiptEmailInputRule?` | The rule for the receipt email input. |
| `tab` | `CheckoutTabRule?` | The rule for the payment method tabs. |
