Skip to content

Accessibility: Partial

Translations: Not Needed

Checkbox Group

Group of checkboxes for multiple selections

Basic Usage

Vue
html
<template>
  <HLCheckboxGroup id="example-group" v-model:value="value">
    <HLSpace>
      <HLCheckbox id="option1" value="option1">Option 1</HLCheckbox>
      <HLCheckbox id="option2" value="option2">Option 2</HLCheckbox>
      <HLCheckbox id="option3" value="option3">Option 3</HLCheckbox>
    </HLSpace>
  </HLCheckboxGroup>
</template>
<script setup lang="ts">
  import { HLCheckboxGroup } from '@platform-ui/highrise'
  import { ref } from 'vue'
  const value = ref(['option1'])
</script>

Different Sizes

Large (lg):

Medium (md):

Small (sm):

Extra Small (xs):

2x Small (2xs):

3x Small (3xs):
Vue
html
<template>
  <HLCheckboxGroup id="example-group" v-model:value="value" size="lg">
    <HLSpace>
      <HLCheckbox id="option1" value="option1">Option 1</HLCheckbox>
      <HLCheckbox id="option2" value="option2">Option 2</HLCheckbox>
      <HLCheckbox id="option3" value="option3">Option 3</HLCheckbox>
    </HLSpace>
  </HLCheckboxGroup>
</template>
<script setup lang="ts">
  import { HLCheckboxGroup, HLSpace, HLCheckbox } from '@platform-ui/highrise'
  import { ref } from 'vue'
  const value = ref(['option1'])
</script>

Vertical Layout

Large (lg):
Medium (md):
Small (sm):
Extra Small (xs):
2x Small (2xs):
3x Small (3xs):
Vue
html
<template>
  <HLCheckboxGroup id="vertical-group" v-model:value="value" direction="vertical">
    <HLSpace vertical>
      <HLCheckbox id="option1" value="option1">Option 1</HLCheckbox>
      <HLCheckbox id="option2" value="option2">Option 2</HLCheckbox>
      <HLCheckbox id="option3" value="option3">Option 3</HLCheckbox>
    </HLSpace>
  </HLCheckboxGroup>
</template>
<script setup lang="ts">
  import { HLCheckboxGroup, HLSpace, HLCheckbox } from '@platform-ui/highrise'
  import { ref } from 'vue'
  const value = ref(['option1'])
</script>

Disabled States

Vue
html
<template>
  <HLCheckboxGroup id="disabled-group" v-model:value="value" disabled>
    <HLSpace>
      <HLCheckbox id="option1" value="option1">Option 1</HLCheckbox>
      <HLCheckbox id="option2" value="option2">Option 2</HLCheckbox>
      <HLCheckbox id="option3" value="option3">Option 3</HLCheckbox>
    </HLSpace>
  </HLCheckboxGroup>
</template>
<script setup lang="ts">
  import { HLCheckboxGroup, HLSpace, HLCheckbox } from '@platform-ui/highrise'
  import { ref } from 'vue'
  const value = ref(['option1'])
</script>

Error States

The checkbox group can be used within HLFormItem for form validation. The validation status will be automatically applied to all checkboxes in the group.

Vue
html
<template>
  <HLFormItem validation-status="error" validation-message="Please select at least one option">
    <HLCheckboxGroup id="error-group" v-model:value="value">
      <HLSpace>
        <HLCheckbox id="option1" value="option1">Option 1</HLCheckbox>
        <HLCheckbox id="option2" value="option2">Option 2</HLCheckbox>
        <HLCheckbox id="option3" value="option3">Option 3</HLCheckbox>
      </HLSpace>
    </HLCheckboxGroup>
  </HLFormItem>
</template>
<script setup lang="ts">
  import { HLFormItem, HLCheckboxGroup, HLSpace, HLCheckbox } from '@platform-ui/highrise'
  import { ref } from 'vue'
  const value = ref(['option1'])
</script>

Imports

ts
import { HLCheckboxGroup, HLCheckbox } from '@platform-ui/highrise'

Props

NameTypeDefaultDescription
id *stringundefinedUnique identifier for the checkbox group
valueArray<string | number>[]The selected values (v-model binding)
disabledbooleanfalseWhether to disable all checkboxes in the group
size'lg' | 'md' | 'sm' | 'xs' | '2xs' | '3xs''md'Size of all checkboxes in the group
direction'horizontal' | 'vertical''horizontal'Layout direction of the checkbox group

Emits

NameParametersDescription
@update:value(value: Array<string | number> | null) => voidWhen the selection changes

Slots

NameParametersDescription
default()The content slot for checkbox items