SelectableBox

A box that has selection states. It can be used as an alternative to a radio button or checkbox set.

The SelectableBox can contain any kind of content as long as it is not clickable. In other words, there should be no clickable targets distinct from selection.

Basic Usage

As Checkbox

As Radio

As Checkbox with isIndeterminate

Theme Variables (SCSS)#

$selectable-box-padding: 1rem !default;
$selectable-box-border-radius: .25rem !default;
$selectable-box-space: .75rem !default;
$min-cols-number: 1 !default;
$max-cols-number: 12 !default;
SelectableBox Props API
  • children node Required Required

    Content of the SelectableBox.

  • value string Required | number Required Required

    A value that is passed to the input tag.

  • checked bool Required

    Controls whether SelectableBox is checked.

    Defaultfalse
  • type enum Required'radio' | 'checkbox'

    Indicates the input type: checkbox or radio.

    Default'radio'
  • onClick func Required

    Function that is called when the SelectableBox is clicked.

    Default() => {}
  • onFocus func Required

    Function that is called when the SelectableBox is focused.

    Default() => {}
  • inputHidden bool Required

    Controls display of the input (checkbox or radio button) on the SelectableBox.

    Defaulttrue
  • isIndeterminate bool Required

    Indicates a state for the 'checkbox' type when SelectableBox is neither checked nor unchecked.

    Defaultfalse
  • isInvalid bool Required

    Adds errors styles to the SelectableBox.

    Defaultfalse
  • className string Required

    A class that is appended to the base element.

SelectableBoxSet Props API
  • name string Required Required

    Specifies a name for the group of SelectableBox'es.

  • children node Required

    Content of the SelectableBoxSet.

  • onChange func Required

    A function that receives event of the clicked SelectableBox and can be used to handle the value change.

    Default() => {}
  • value string Required | number Required | array Required Required

    Indicates selected SelectableBox'es.

  • defaultValue string Required | number Required Required

    Specifies default values for the SelectableBox'es.

  • type enum Required'radio' | 'checkbox'

    Indicates the input type: checkbox or radio.

    Default'radio'
  • columns number Required

    Specifies number of SelectableBox'es in a row.

    Class that is responsible for the columns number: pgn__selectable_box-set--{columns}. Max number of columns: 12.

    Default2
  • className string Required

    A class that is be appended to the base element.