1.2.4 • Published 2 months ago

@eisgs/radio v1.2.4

Weekly downloads
-
License
MIT
Repository
-
Last release
2 months ago

Базовый Radio

label позволяет указать дополнительную информацию для пользователя

  const [value, setValue] = React.useState();

  const options = [
    { id: 1, description: 'Значение 1', code: '1' },
    { id: 2, description: 'Значение 2', code: '2' },
    { id: 3, description: 'Значение 3', code: '3' },
    { id: 4, description: 'Значение 4', code: '4' },
  ];

  <Radio
    label="Выбор"
    value={value}
    options={options}
    onChange={setValue}
  />

Кастомные ключи

keyLabel, keyValue кастомные ключи для опций

  const [value, setValue] = React.useState();

  const options = [
    { id: 1, text: 'Значение 1', data: '1' },
    { id: 2, text: 'Значение 2', data: '2' },
    { id: 3, text: 'Значение 3', data: '3' },
    { id: 4, text: 'Значение 4', data: '4' },
  ];

  <Radio
    keyLabel="text"
    keyValue="data"
    value={value}
    options={options}
    onChange={setValue}
  />

disabled

disabled блокирует ввод значений

  const [value, setValue] = React.useState('2');

  const options = [
    { id: 1, description: 'Значение 1', code: '1' },
    { id: 2, description: 'Значение 2', code: '2' },
    { id: 3, description: 'Значение 3', code: '3' },
    { id: 4, description: 'Значение 4', code: '4' },
  ];

  <Radio
    value={value}
    options={options}
    onChange={setValue}
    disabled
  />

Вертикальное расположение опций

direction управляет вариантами расположения опций

  const [value, setValue] = React.useState();

  const options = [
    { id: 1, description: 'Значение 1', code: '1' },
    { id: 2, description: 'Значение 2', code: '2' },
    { id: 3, description: 'Значение 3', code: '3' },
    { id: 4, description: 'Значение 4', code: '4' },
  ];

  <Radio
    value={value}
    options={options}
    onChange={setValue}
    direction="vertical"
  />

Ошибка (ЕИСЖС)

При наличии error текст ошибки отобразится под компонентом

  const error = 'Ошибка';
  const options = [
    { id: 1, description: 'Значение 1', code: '1' },
    { id: 2, description: 'Значение 2', code: '2' },
    { id: 3, description: 'Значение 3', code: '3' },
    { id: 4, description: 'Значение 4', code: '4'},
  ];

  <>
    <Radio
      options={options}
      error={error}
      styles={`margin-bottom: 40px;`}
    />
    <Radio
      options={options}
      direction="vertical"
      error={error}
    />
  </>

Подсказка (ЕИСЖС)

При передаче options можно указать подсказку для каждого варианта ответа (поле hint)

  const options = [
    { id: 1, description: 'Значение 1', code: '1' },
    { id: 2, description: 'Значение 2', code: '2' },
    { id: 3, description: 'Значение 3', code: '3' },
    { id: 4, description: 'Значение 4', code: '4', hint: 'Подсказка 4' },
  ];

  <>
    <Radio
      options={options}
    />
    <Radio
      options={options}
      direction="vertical"
    />
  </>

Отображение подсказки при описании в несколько строк

  const options = [
    { id: 1, description: 'Длинное наименование значения', code: '1', hint: 'Подсказка 1' },
  ];

  <Radio
    options={options}
    direction="vertical"
    styles={`max-width: 220px;`}
  />

Отображение подсказки при размещении компонента в модальном окне

  import { useModal, Modal, ModalHeader } from "@eisgs/modal";
  import { Button } from "@eisgs/button";

  const modal = useModal();
  const modalName = 'RADIO';

  const options = [
    {id: 1, description: 'Значение 1', code: '1', hint: 'Подсказка 1'},
  ];

<>
  <Button onClick={() => modal.open(modalName)}>Открыть модальное окно</Button>
  <Modal name={modalName}>
    <ModalHeader>Radio с подсказкой</ModalHeader>
    <Radio
      options={options}
      direction="vertical"
    />
  </Modal>
</>

view (ИЖС)

Доступные значения desktop и mobile. Значение по умолчанию desktop

const views = ['desktop', 'mobile'].map(view => ({view, options: [{id: view, description: view, code: view}]}));

<div>
  {views.map(({view, options}) => <Radio key={view} options={options} view={view}/>)}
</div>
1.2.4

2 months ago

1.2.3

1 year ago

1.2.2

2 years ago

1.2.1

2 years ago

1.2.0

2 years ago

1.1.6

2 years ago

1.1.4

2 years ago

1.1.0

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.0.9

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.2

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.1

3 years ago