# Terms Checkbox

> TermsCheckbox checkout acceptance state and checkout blocking behavior.

# Terms Checkbox

`TermsCheckbox` renders checkout terms acceptance and tells the checkout store whether terms are accepted.

## When To Use This Family

Use this component inside checkout when the store requires customers to accept terms before placing an order.

## Quick Start

<CodeExample title="Checkout terms checkbox" language="jsx">
{`<OmeWooTermsCheckbox
  content='{{"label":"I agree to the terms and conditions","required_message":"Please accept the terms to place your order."}}'
/>`}
</CodeExample>

## Component

| Component key | Role |
| --- | --- |
| `OmeWooTermsCheckbox` | Renders the terms checkbox, optional label slot, and checkout terms state. |

## Props

| Prop | Meaning |
| --- | --- |
| `content.label` | Label text when using component-managed label copy. |
| `content.required_message` | Local error message when terms are required but unchecked. |
| `accessibility.aria_label` | Accessible checkbox label. |

The component also accepts a default slot, so authors can put richer terms copy next to the checkbox.

## Runtime Behavior

The runtime binds `input[data-ome-woo-terms-checkbox]` and updates the checkout store:

| Store flag | Meaning |
| --- | --- |
| `terms_required` | Checkout should block if the checkbox is unchecked. |
| `terms_accepted` | Current checkbox state. |

When terms are required and unchecked, `WooCheckoutStore.submit()` emits a local `terms_required` error, sets checkout state to `error`, and `CheckoutNotices` renders the message.

## Related Guides

- [Checkout Page](/woo/flows/checkout-page)
- [Checkout Shell](/woo/component-families/checkout-shell)
- [Checkout Fields and Validation](/woo/checkout-fields-and-validation)
