File tree Expand file tree Collapse file tree 8 files changed +271
-8
lines changed
docs/client/components/common Expand file tree Collapse file tree 8 files changed +271
-8
lines changed Original file line number Diff line number Diff line change
1
+ export const defaultCode = `
2
+ class Demo extends React.Component {
3
+ render() {
4
+ return (
5
+ <div>
6
+ {/* Preview Block 1 */}
7
+ <PreviewBlock header="Default TextInput">
8
+ <TextInput />
9
+ </PreviewBlock>
10
+ {/* Preview Block 2 */}
11
+ <PreviewBlock header="Disabled TextInput">
12
+ <TextInput disabled={true}/>
13
+ </PreviewBlock>
14
+ {/* Preview Block 3 */}
15
+ <PreviewBlock header="Controlled width TextInput">
16
+ <TextInput width='200px' placeholder="type here..."/>
17
+ </PreviewBlock>
18
+ <PreviewBlock header="Password TextInput">
19
+ <TextInput type="password" placeholder="Enter password..."/>
20
+ </PreviewBlock>
21
+ </div>
22
+ )
23
+ }
24
+ }
25
+ ` ;
Original file line number Diff line number Diff line change @@ -3,4 +3,5 @@ export { defaultCode as ButtonDefaultCode } from './Button';
3
3
export { defaultCode as CheckboxDefaultCode } from './Checkbox' ;
4
4
export { defaultCode as CheckboxGroupDefaultCode } from './CheckboxGroup' ;
5
5
export { defaultCode as ToggleDefaultCode } from './Toggle' ;
6
- export { defaultCode as RadioButtonGroupDefaultCode } from './RadioButtonGroup' ;
6
+ export { defaultCode as RadioButtonGroupDefaultCode } from './RadioButtonGroup' ;
7
+ export { defaultCode as TextInputDefaultCode } from './TextInput' ;
Original file line number Diff line number Diff line change @@ -9,14 +9,17 @@ import CheckboxGroupReadme from '../../../../src/checkbox/readMe.md';
9
9
import Toggle from '../../../../src/toggle' ;
10
10
import ToggleReadme from '../../../../src/toggle/readMe.md' ;
11
11
import RadioButtonGroup from '../../../../src/radioButtonGroup' ;
12
+ import TextInput from '../../../../src/textInput' ;
13
+ import TextInputReadme from '../../../../src/textInput/readMe.md' ;
12
14
13
15
import {
14
16
CardDefaultCode ,
15
17
ButtonDefaultCode ,
16
18
CheckboxDefaultCode ,
17
19
CheckboxGroupDefaultCode ,
18
20
ToggleDefaultCode ,
19
- RadioButtonGroupDefaultCode
21
+ RadioButtonGroupDefaultCode ,
22
+ TextInputDefaultCode ,
20
23
} from './DefaultCode' ;
21
24
22
25
export const componentList = [
@@ -56,4 +59,10 @@ export const componentList = [
56
59
component : RadioButtonGroup ,
57
60
defaultCode : RadioButtonGroupDefaultCode ,
58
61
} ,
62
+ {
63
+ name : 'TextInput' ,
64
+ docs : TextInputReadme ,
65
+ component : TextInput ,
66
+ defaultCode : TextInputDefaultCode ,
67
+ }
59
68
] ;
Original file line number Diff line number Diff line change
1
+ import React from 'react' ;
2
+ import ReactDOM from 'react-dom' ;
1
3
import Button from './button' ;
2
4
import Card from './card' ;
3
5
import Checkbox from './checkbox' ;
4
6
import CheckboxGroup from './checkboxGroup' ;
5
7
import Toggle from './toggle' ;
6
8
import RadioButtonGroup from './radioButtonGroup' ;
9
+ import TextInput from './textInput' ;
7
10
8
11
export default {
9
12
Button,
@@ -12,6 +15,7 @@ export default {
12
15
CheckboxGroup,
13
16
RadioButtonGroup,
14
17
Toggle,
18
+ TextInput
15
19
} ;
16
20
17
21
// import React from 'react';
@@ -31,4 +35,4 @@ export default {
31
35
// </div>
32
36
// );
33
37
34
- // ReactDOM.render(<RadioDisplay />, document.getElementById('index'));
38
+ // ReactDOM.render(<RadioDisplay />, document.getElementById('index'));
Original file line number Diff line number Diff line change
1
+ import React from 'react' ;
2
+ import classnames from 'classnames' ;
3
+ import { themr } from 'react-css-themr' ;
4
+ import PropTypes from 'prop-types' ;
5
+ import defaultTheme from './theme.scss' ;
6
+
7
+ const TextInput = ( {
8
+ additionalClasses,
9
+ theme,
10
+ width,
11
+ ...others ,
12
+ } ) => {
13
+ const wrapperClasses = classnames ( theme . inputWrapper , additionalClasses ) ;
14
+ const inputElementProps = {
15
+ ...others ,
16
+ style : {
17
+ width : width ? width : '100%' ,
18
+ } ,
19
+ className : classnames ( theme . inputElement ) ,
20
+ } ;
21
+ return (
22
+ < div className = { wrapperClasses } >
23
+ { React . createElement ( 'input' , inputElementProps ) }
24
+ </ div >
25
+ )
26
+ }
27
+
28
+ TextInput . propTypes = {
29
+ width : PropTypes . string ,
30
+ additionalClass : PropTypes . string ,
31
+ theme : PropTypes . object , // eslint-disable-line
32
+ } ;
33
+
34
+ TextInput . defaultProps = {
35
+ additionalClass : '' ,
36
+ theme : defaultTheme ,
37
+ } ;
38
+
39
+ export default themr ( 'CBInput' , defaultTheme ) ( TextInput ) ;
You can’t perform that action at this time.
0 commit comments