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

    Content of the SelectableBox.

  • value string | number

    A value that is passed to the input tag.

  • checked bool

    Controls whether SelectableBox is checked.

    Defaultfalse
  • type enum'radio' | 'checkbox'

    Indicates the input type: checkbox or radio.

    Default'radio'
  • onClick func

    Function that is called when the SelectableBox is clicked.

    Default() => {}
  • onFocus func

    Function that is called when the SelectableBox is focused.

    Default() => {}
  • inputHidden bool

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

    Defaulttrue
  • isIndeterminate bool

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

    Defaultfalse
  • isInvalid bool

    Adds errors styles to the SelectableBox.

    Defaultfalse
  • className string

    A class that is appended to the base element.

SelectableBoxSet Props API
  • name string Required

    Specifies a name for the group of SelectableBox'es.

  • children node

    Content of the SelectableBoxSet.

  • onChange func

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

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

    Indicates selected SelectableBox'es.

  • defaultValue string | number

    Specifies default values for the SelectableBox'es.

  • type enum'radio' | 'checkbox'

    Indicates the input type: checkbox or radio.

    Default'radio'
  • columns number

    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

    A class that is be appended to the base element.