Skip to content

Commit dc8fb2b

Browse files
authored
Update InputExampleIconChild.js
1 parent e0a42b5 commit dc8fb2b

File tree

1 file changed

+17
-16
lines changed

1 file changed

+17
-16
lines changed
Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
1-
import React from 'react'
2-
import { Icon, Input } from 'semantic-ui-react'
1+
import React from 'react';
2+
import { Icon, Input } from 'semantic-ui-react';
33

4+
const CustomInput = ({ icon, iconPosition = 'right', placeholder }) => (
5+
<Input icon={!!icon} iconPosition={iconPosition} placeholder={placeholder} aria-label={placeholder}>
6+
{iconPosition === 'left' && <Icon name={icon} />}
7+
<input />
8+
{iconPosition !== 'left' && <Icon name={icon} />}
9+
</Input>
10+
);
11+
// Better Spacing Handling – Removed unnecessary <br />, spacing can be handled via CSS.
12+
// More Readable & Scalable – Cleaner structure with props controlling the component
413
const InputExampleIconChild = () => (
5-
<div>
6-
<Input icon placeholder='Search...'>
7-
<input />
8-
<Icon name='search' />
9-
</Input>
10-
<br />
11-
<br />
12-
<Input iconPosition='left' placeholder='Email'>
13-
<Icon name='at' />
14-
<input />
15-
</Input>
16-
</div>
17-
)
14+
<>
15+
<CustomInput icon="search" placeholder="Search..." />
16+
<CustomInput icon="at" iconPosition="left" placeholder="Email" />
17+
</>
18+
);
1819

19-
export default InputExampleIconChild
20+
export default InputExampleIconChild;

0 commit comments

Comments
 (0)