UNPKG

@atlaskit/editor-plugin-extension

Version:

editor-plugin-extension plugin for @atlaskit/editor-core

48 lines 1.61 kB
import _extends from "@babel/runtime/helpers/extends"; import React, { Fragment } from 'react'; import { Field } from '@atlaskit/form'; import { RadioGroup } from '@atlaskit/radio'; import FieldMessages from '../FieldMessages'; import { FieldTypeError } from '../types'; import { validate } from '../utils'; export default function RadioField({ name, field, onFieldChange }) { if (field.isMultiple) { return /*#__PURE__*/React.createElement(FieldMessages, { error: FieldTypeError.isMultipleAndRadio }); } return /*#__PURE__*/React.createElement(Field, { name: name, label: field.label, defaultValue: field.defaultValue, isRequired: field.isRequired // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed) , validate: value => validate(field, value), testId: `config-panel-radio-group-${field.name}`, isDisabled: field.isDisabled }, ({ fieldProps, error }) => /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(RadioGroup // Ignored via go/ees005 // eslint-disable-next-line react/jsx-props-no-spreading , _extends({}, fieldProps, { options: (field.items || []).map(option => ({ ...option, name: field.name })) // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed) , onChange: value => { fieldProps.onChange(value); onFieldChange(field.name, true); } })), /*#__PURE__*/React.createElement(FieldMessages, { error: error }))); }