@wedgekit/radio
TypeScript icon, indicating that this package has built-in type declarations

3.3.3 • Public • Published

Radio

Purpose

A component which allows a user to pick a single option from a short list of options.

Usage

To use the radio component, a developer needs to import both RadioGroup and Radio from @wedgekit/radio

import { Radio, RadioGroup } from '@wedgekit/radio';

const Example = () => {
  const [value, setValue] = React.useState('');

  return (
    <RadioGroup
      onChange={(v) => setValue(v)}
      label="Go on, choose one!"
      name="starter"
      value={value}
    >
      <Radio value="charmander" label="Charmander" />
      <Radio value="squirtle" label="Squirtle" />
      <Radio value="bulbasaur" label="Bulbasaur" />
    </RadioGroup>
  );
};

render(<Example />);

Props

Radio

label

Type: String

Required:

A string label to indicate what the radio input is for. Required on all Wedgekit inputs for A11y.

value

Type: string | number

Required:

The value of the radio when used in a group

checked

Type: boolean

Required:

Indicated whether or not the radio is checked

disabled

Type: boolean

Required:

id

Type: string | number

Required:

A unique identifier for the input to both associate the input with its label, as well as provide an identifier on the callback. If not provided, then one will be generated.

labelHidden

Type: boolean

Required:

Boolean for indicating if the label should be visible or not

name

Type: String

Required:

A name to associate that radio with a group

ref

Type: React.Ref

Required:

The ref giving a user access to the underlying HTML button.

status

Type: 'default' | 'error' | 'success' | 'pending'

Required:

Indicates form validation status for styling purposes

tabIndex

Type: number

Required:

Property used to disjoint tabbability

onBlur

Type: (e: React.SyntheticEvent) => void

Required:

Optional callback that is fired on a radio's selection

onChange

Type: (e: React.SyntheticEvent) => void

Required:

Optional callback that is fired on a radio's selection

onFocus

Type: (e: React.SyntheticEvent) => void

Required:

Optional callback that is fired on a radio's selection

RadioGroup

children

Type: React.ReactElement[]

Required:

label

Type: String

Required:

A string label for the radio group

name

Type: String

Required:

A string name for the entire group of radios that allows native radio group behavior

value

Type: string | number

Required:

Value of the selected radio

onChange

Type: (selectedValue: string | number) => void

Required:

className

Type: string

Required:

This is exposed but is only here so that styled-components will be able to style components correctly. Please do not use this unless you really know what you are doing.

disabled

Type: boolean

Required:

Optional prop to disabled the entire group

info

Type: { title: string, content?: string, link? { url: string, label: string } }

Required:

Optional information to populate an info popup

labelHidden

Type: boolean

Required:

Boolean for indicating if the label should be visible or not

ref

Type: React.Ref

Required:

The ref giving a user access to the underlying HTML button.

required

Type: boolean

Required:

A boolean denoting whether a selection within the group is required

status

Type: 'default' | 'error' | 'success' | 'pending'

Required:

Indicates form validation status for styling purposes

tabIndex

Type: number

Required:

Property used to disjoint tabbability

onBlur

Type: (e: React.SyntheticEvent) => void

Required:

onFocus

Type: (e: React.SyntheticEvent) => void

Required:

Readme

Keywords

none

Package Sidebar

Install

npm i @wedgekit/radio

Weekly Downloads

1

Version

3.3.3

License

MIT

Unpacked Size

18.8 kB

Total Files

16

Last publish

Collaborators

  • asayles-dmsi
  • tprettyman
  • rnimrod
  • jquerijero
  • brent-heavican
  • msuiter
  • rerskine
  • timmy2654
  • jfiller
  • mada1113
  • kolson
  • dreadman3716