don't use value's id
on radio instances
This commit is contained in:
parent
a8c4ca642c
commit
c648ca6878
@ -12,10 +12,7 @@ storiesOf('Input', module)
|
|||||||
.add('type=email', () => (
|
.add('type=email', () => (
|
||||||
<FormGroup>
|
<FormGroup>
|
||||||
<Label>Email Address</Label>
|
<Label>Email Address</Label>
|
||||||
<Input
|
<Input placeholder='Enter email' type='email' />
|
||||||
placeholder='Enter email'
|
|
||||||
type='email'
|
|
||||||
/>
|
|
||||||
<small>We'll never share your email with anyone else.</small>
|
<small>We'll never share your email with anyone else.</small>
|
||||||
</FormGroup>
|
</FormGroup>
|
||||||
))
|
))
|
||||||
@ -23,36 +20,24 @@ storiesOf('Input', module)
|
|||||||
<div>
|
<div>
|
||||||
<FormGroup>
|
<FormGroup>
|
||||||
<Label>Email Address</Label>
|
<Label>Email Address</Label>
|
||||||
<Input
|
<Input placeholder='Enter email' type='email' />
|
||||||
placeholder='Enter email'
|
|
||||||
type='email'
|
|
||||||
/>
|
|
||||||
<FormMeta error='Unexpected inline error!' />
|
<FormMeta error='Unexpected inline error!' />
|
||||||
</FormGroup>
|
</FormGroup>
|
||||||
<FormGroup error='Unexpected group error!'>
|
<FormGroup error='Unexpected group error!'>
|
||||||
<Label>Email Address</Label>
|
<Label>Email Address</Label>
|
||||||
<Input
|
<Input placeholder='Enter email' type='email' />
|
||||||
placeholder='Enter email'
|
|
||||||
type='email'
|
|
||||||
/>
|
|
||||||
<FormMeta />
|
<FormMeta />
|
||||||
</FormGroup>
|
</FormGroup>
|
||||||
{/* eslint-disable object-curly-newline */}
|
{/* eslint-disable object-curly-newline */}
|
||||||
<FormGroup meta={{error: 'Unexpected meta error!'}}>
|
<FormGroup meta={{error: 'Unexpected meta error!'}}>
|
||||||
{/* eslint-enable object-curly-newline */}
|
{/* eslint-enable object-curly-newline */}
|
||||||
<Label>Email Address</Label>
|
<Label>Email Address</Label>
|
||||||
<Input
|
<Input placeholder='Enter email' type='email' />
|
||||||
placeholder='Enter email'
|
|
||||||
type='email'
|
|
||||||
/>
|
|
||||||
<FormMeta />
|
<FormMeta />
|
||||||
</FormGroup>
|
</FormGroup>
|
||||||
<FormGroup>
|
<FormGroup>
|
||||||
<Label>Email Address</Label>
|
<Label>Email Address</Label>
|
||||||
<Input
|
<Input placeholder='Enter email' type='email' />
|
||||||
placeholder='Enter email'
|
|
||||||
type='email'
|
|
||||||
/>
|
|
||||||
<FormMeta error>
|
<FormMeta error>
|
||||||
Unexpected children error!
|
Unexpected children error!
|
||||||
</FormMeta>
|
</FormMeta>
|
||||||
@ -63,36 +48,24 @@ storiesOf('Input', module)
|
|||||||
<div>
|
<div>
|
||||||
<FormGroup>
|
<FormGroup>
|
||||||
<Label>Email Address</Label>
|
<Label>Email Address</Label>
|
||||||
<Input
|
<Input placeholder='Enter email' type='email' />
|
||||||
placeholder='Enter email'
|
|
||||||
type='email'
|
|
||||||
/>
|
|
||||||
<FormMeta warning='Unexpected inline warning!' />
|
<FormMeta warning='Unexpected inline warning!' />
|
||||||
</FormGroup>
|
</FormGroup>
|
||||||
<FormGroup warning='Unexpected group warning!'>
|
<FormGroup warning='Unexpected group warning!'>
|
||||||
<Label>Email Address</Label>
|
<Label>Email Address</Label>
|
||||||
<Input
|
<Input placeholder='Enter email' type='email' />
|
||||||
placeholder='Enter email'
|
|
||||||
type='email'
|
|
||||||
/>
|
|
||||||
<FormMeta />
|
<FormMeta />
|
||||||
</FormGroup>
|
</FormGroup>
|
||||||
{/* eslint-disable object-curly-newline */}
|
{/* eslint-disable object-curly-newline */}
|
||||||
<FormGroup meta={{warning: 'Unexpected meta warning!'}}>
|
<FormGroup meta={{warning: 'Unexpected meta warning!'}}>
|
||||||
{/* eslint-enable object-curly-newline */}
|
{/* eslint-enable object-curly-newline */}
|
||||||
<Label>Email Address</Label>
|
<Label>Email Address</Label>
|
||||||
<Input
|
<Input placeholder='Enter email' type='email' />
|
||||||
placeholder='Enter email'
|
|
||||||
type='email'
|
|
||||||
/>
|
|
||||||
<FormMeta />
|
<FormMeta />
|
||||||
</FormGroup>
|
</FormGroup>
|
||||||
<FormGroup>
|
<FormGroup>
|
||||||
<Label>Email Address</Label>
|
<Label>Email Address</Label>
|
||||||
<Input
|
<Input placeholder='Enter email' type='email' />
|
||||||
placeholder='Enter email'
|
|
||||||
type='email'
|
|
||||||
/>
|
|
||||||
<FormMeta warning>
|
<FormMeta warning>
|
||||||
Unexpected children warning!
|
Unexpected children warning!
|
||||||
</FormMeta>
|
</FormMeta>
|
||||||
@ -103,36 +76,24 @@ storiesOf('Input', module)
|
|||||||
<div>
|
<div>
|
||||||
<FormGroup>
|
<FormGroup>
|
||||||
<Label>Email Address</Label>
|
<Label>Email Address</Label>
|
||||||
<Input
|
<Input placeholder='Enter email' type='email' />
|
||||||
placeholder='Enter email'
|
|
||||||
type='email'
|
|
||||||
/>
|
|
||||||
<FormMeta success='Unexpected inline success!' />
|
<FormMeta success='Unexpected inline success!' />
|
||||||
</FormGroup>
|
</FormGroup>
|
||||||
<FormGroup success='Unexpected group success!'>
|
<FormGroup success='Unexpected group success!'>
|
||||||
<Label>Email Address</Label>
|
<Label>Email Address</Label>
|
||||||
<Input
|
<Input placeholder='Enter email' type='email' />
|
||||||
placeholder='Enter email'
|
|
||||||
type='email'
|
|
||||||
/>
|
|
||||||
<FormMeta />
|
<FormMeta />
|
||||||
</FormGroup>
|
</FormGroup>
|
||||||
{/* eslint-disable object-curly-newline */}
|
{/* eslint-disable object-curly-newline */}
|
||||||
<FormGroup meta={{success: 'Unexpected meta success!'}}>
|
<FormGroup meta={{success: 'Unexpected meta success!'}}>
|
||||||
{/* eslint-enable object-curly-newline */}
|
{/* eslint-enable object-curly-newline */}
|
||||||
<Label>Email Address</Label>
|
<Label>Email Address</Label>
|
||||||
<Input
|
<Input placeholder='Enter email' type='email' />
|
||||||
placeholder='Enter email'
|
|
||||||
type='email'
|
|
||||||
/>
|
|
||||||
<FormMeta />
|
<FormMeta />
|
||||||
</FormGroup>
|
</FormGroup>
|
||||||
<FormGroup>
|
<FormGroup>
|
||||||
<Label>Email Address</Label>
|
<Label>Email Address</Label>
|
||||||
<Input
|
<Input placeholder='Enter email' type='email' />
|
||||||
placeholder='Enter email'
|
|
||||||
type='email'
|
|
||||||
/>
|
|
||||||
<FormMeta success>
|
<FormMeta success>
|
||||||
Unexpected children success!
|
Unexpected children success!
|
||||||
</FormMeta>
|
</FormMeta>
|
||||||
@ -142,10 +103,7 @@ storiesOf('Input', module)
|
|||||||
.add('Base meta', () => (
|
.add('Base meta', () => (
|
||||||
<FormGroup>
|
<FormGroup>
|
||||||
<Label>Email Address</Label>
|
<Label>Email Address</Label>
|
||||||
<Input
|
<Input placeholder='Enter email' type='email' />
|
||||||
placeholder='Enter email'
|
|
||||||
type='email'
|
|
||||||
/>
|
|
||||||
<FormMeta>I'm a children of meta</FormMeta>
|
<FormMeta>I'm a children of meta</FormMeta>
|
||||||
</FormGroup>
|
</FormGroup>
|
||||||
));
|
));
|
||||||
|
@ -2,10 +2,21 @@ import styled from 'styled-components';
|
|||||||
import ToggleBase from '../toggle-base';
|
import ToggleBase from '../toggle-base';
|
||||||
import { Baseline } from '../../../shared/composers';
|
import { Baseline } from '../../../shared/composers';
|
||||||
import BaseInput from '../base-input';
|
import BaseInput from '../base-input';
|
||||||
|
import React from 'react';
|
||||||
|
|
||||||
const RadioItem = BaseInput(styled.li`
|
const Li = styled.li`
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
`);
|
`;
|
||||||
|
|
||||||
|
const RadioItem = BaseInput(({
|
||||||
|
children,
|
||||||
|
id, // hide id from li
|
||||||
|
...props
|
||||||
|
}) => (
|
||||||
|
<Li {...props}>
|
||||||
|
{children}
|
||||||
|
</Li>
|
||||||
|
));
|
||||||
|
|
||||||
const StyledUl = styled.ul`
|
const StyledUl = styled.ul`
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { remcalc, unitcalc, is } from '../../shared/functions';
|
import { remcalc, unitcalc, is, rndId } from '../../shared/functions';
|
||||||
import { Subscriber } from 'react-broadcast';
|
import { Broadcast, Subscriber } from 'react-broadcast';
|
||||||
import { boxes, colors } from '../../shared/constants';
|
import { boxes, colors } from '../../shared/constants';
|
||||||
import BaseInput from './base-input';
|
import BaseInput from './base-input';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
@ -118,17 +118,27 @@ const ToggleBase = ({
|
|||||||
[type]: true
|
[type]: true
|
||||||
};
|
};
|
||||||
|
|
||||||
const render = (value) => {
|
const render = ({
|
||||||
|
// eslint-disable-next-line react/prop-types
|
||||||
|
id, // ignore id from value
|
||||||
|
...oldValue
|
||||||
|
}) => {
|
||||||
|
const newValue = {
|
||||||
|
...oldValue,
|
||||||
|
id: rndId()
|
||||||
|
};
|
||||||
|
|
||||||
const toggle = (
|
const toggle = (
|
||||||
<InnerContainer {...types} type={type}>
|
<InnerContainer {...types} type={type}>
|
||||||
<Input
|
<Input
|
||||||
{...props}
|
{...props}
|
||||||
{...value}
|
{...oldValue}
|
||||||
|
id={newValue.id}
|
||||||
type={type}
|
type={type}
|
||||||
/>
|
/>
|
||||||
<Label
|
<Label
|
||||||
{...types}
|
{...types}
|
||||||
htmlFor={value.id}
|
htmlFor={newValue.id}
|
||||||
// eslint-disable-next-line react/prop-types
|
// eslint-disable-next-line react/prop-types
|
||||||
error={props.error}
|
error={props.error}
|
||||||
// eslint-disable-next-line react/prop-types
|
// eslint-disable-next-line react/prop-types
|
||||||
@ -139,12 +149,18 @@ const ToggleBase = ({
|
|||||||
</InnerContainer>
|
</InnerContainer>
|
||||||
);
|
);
|
||||||
|
|
||||||
return !OuterContainer ? toggle : (
|
const el = !OuterContainer ? toggle : (
|
||||||
<OuterContainer>
|
<OuterContainer>
|
||||||
{toggle}
|
{toggle}
|
||||||
{children}
|
{children}
|
||||||
</OuterContainer>
|
</OuterContainer>
|
||||||
);
|
);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Broadcast channel='input-group' value={newValue}>
|
||||||
|
{el}
|
||||||
|
</Broadcast>
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
Loading…
Reference in New Issue
Block a user