Velvet Thunder

Checkbox Group

Sizes

<DemoSpaceX>
  <VelvetCheckboxGroup
    @size="sm"
    @value={{array "first"}}
    class="space-y-2"
    as |group|
  >
    <group.Checkbox @name="first">First</group.Checkbox>
    <group.Checkbox @name="second">Second</group.Checkbox>
    <group.Checkbox @name="third">Third</group.Checkbox>
  </VelvetCheckboxGroup>
  <VelvetCheckboxGroup
    @size="md"
    @value={{array "first"}}
    class="space-y-3"
    as |group|
  >
    <group.Checkbox @name="first">First</group.Checkbox>
    <group.Checkbox @name="second">Second</group.Checkbox>
    <group.Checkbox @name="third">Third</group.Checkbox>
  </VelvetCheckboxGroup>
  <VelvetCheckboxGroup
    @size="lg"
    @value={{array "first"}}
    class="space-y-4"
    as |group|
  >
    <group.Checkbox @name="first">First</group.Checkbox>
    <group.Checkbox @name="second">Second</group.Checkbox>
    <group.Checkbox @name="third">Third</group.Checkbox>
  </VelvetCheckboxGroup>
</DemoSpaceX>

Disabled

<VelvetCheckboxGroup
  @isDisabled={{true}}
  @value={{array "first"}}
  class="space-y-3"
  as |group|
>
  <group.Checkbox @name="first">First</group.Checkbox>
  <group.Checkbox @name="second">Second</group.Checkbox>
  <group.Checkbox @name="third">Third</group.Checkbox>
</VelvetCheckboxGroup>

Examples

Handle Change Events

Edit this demo

Use the @onChange argument to handle change events.

Value: ["first"]
<DemoSpaceY>
  <div>Value: {{this.valueAsString}}</div>
  <VelvetCheckboxGroup
    @onChange={{this.onChange}}
    @value={{this.value}}
    class="space-y-3"
    as |group|
  >
    <group.Checkbox @name="first">First</group.Checkbox>
    <group.Checkbox @name="second">Second</group.Checkbox>
    <group.Checkbox @name="third">Third</group.Checkbox>
  </VelvetCheckboxGroup>
</DemoSpaceY>

Signature

Element

HTMLDivElement

Blocks

NameDescriptionType
:default *The checkboxes for the checkbox group.[{ Checkbox: WithBoundArgs<typeof VelvetCheckbox, 'isDisabled' | 'size' | 'privateGroupValue' | 'privateGroupValueIsObject' | 'privateInGroup' | 'privateOnChangeGroup'>; }]
Blocks marked with * are required.

Arguments

NameDescriptionTypeDefault Value
@isDisabledIndicate if the checkbox group is disabled.booleanfalse
@onChangeHandle the checkbox group's `change` event.(value: Value, event: Event) => voidundefined
@sizeThe size of the checkboxes.Size"md"
@valueThe value of the checkbox group.Valueundefined
@valueIsObjectIndicate if `@value` is an `Object` instead of an `Array`.booleanfalse
Arguments marked with * are required.
Checkbox
Disclosure