# Checkbox List Facet

> Multi-select list facet for choosing several option values.

<!-- Sources: src/Components/Facets/CheckboxListFacet/CheckboxListFacet.php; src/Components/Facets/CheckboxListFacetOption/CheckboxListFacetOption.php; src/Components/Facets/Shared/FacetQueryProperties.php; client/src/domains/facets/facets/checkbox-list-facet.ts; client/src/domains/facets/adapters/checkbox-list-facet-adapter.ts; tests/e2e/components/facets/checkbox-list-facet.spec.ts; tests/e2e/components/facets/options-behavior.spec.ts -->

# Checkbox List Facet

`Checkbox List Facet` is a multi-select option list. It sends all selected option values for the configured target and argument mode.

## Authoring Structure

```text
Checkbox List Facet
└── Checkbox List Facet Option
```

## Parent Props

| Group | Prop | Default | Meaning |
| --- | --- | --- | --- |
| Settings | `target` | empty | Shared target ID. |
| Settings | `argument_mode` | `default` | Single argument mode. |
| Settings | `target_multiple_query_arguments` | `false` | Enables mapped bundle mode. |
| Settings | `options_behavior` | `all` | Availability behavior. |
| Settings | `show_counts` | `false` | Enables dynamic counts. |
| Settings | `aria_label` | `Filter options` | Accessible name for the checkbox group. |
| Mode groups | mode-specific props | varies | See [Argument Modes](../argument-modes). |
| Styling | `class` | `ome-checkbox-list-facet-root-default` | Root list class. |

## Option Props

| Group | Prop | Default | Meaning |
| --- | --- | --- | --- |
| Content | `value` | empty | Sent value in single-argument mode. |
| Content | `label` | `Option` | Visible label. |
| Metadata | `key`, `value` | empty | Optional rows for custom JavaScript integrations. |
| Query Value Mappings | `mapping_key`, `value` | empty | Values used when parent mapped bundle mode is enabled. |
| Settings | `disabled` | `false` | Prevents selection. |
| Settings | `is_default` | `false` | Preselects the option when no restored value exists. |
| Settings | `mode` | `checkbox` | Option presentation: `checkbox` or `button`. |
| Settings | `used_with_multiple_arguments` | `false` | Switches option authoring to query value mappings. |
| Settings | `count_display` | `inline` | Inline count text or separate count span. |
| Styling | option, button, indicator, tick, label, input, count classes | component defaults | Option presentation classes. |

## Runtime Notes

- Multiple options can be selected at the same time.
- `mode = button` changes presentation only; the facet remains multi-select.
- The runtime syncs `data-ome-selected-values`, hidden transport inputs, `aria-checked`, disabled state, hidden state, and count displays.

## Example

```text
Checkbox List Facet:
- target = posts
- argument_mode = default
- facet_key = name

Options:
- beta-bar
- gamma-baz
```
