@progress/kendo-themes-html 4.42.1-dev.3 → 4.43.1-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/lib/jsx-runtime.js +26 -2
  2. package/package.json +2 -2
  3. package/src/autocomplete/README.md +15 -9
  4. package/src/autocomplete/autocomplete.jsx +4 -4
  5. package/src/avatar/README.md +21 -0
  6. package/src/avatar/avatar.jsx +116 -0
  7. package/src/avatar/index.js +1 -0
  8. package/src/button/README.md +8 -8
  9. package/src/button/button.jsx +6 -6
  10. package/src/checkbox/README.md +8 -8
  11. package/src/checkbox/checkbox.jsx +3 -3
  12. package/src/colorpicker/color-preview.jsx +6 -2
  13. package/src/colorpicker/colorpicker.jsx +8 -7
  14. package/src/combobox/README.md +15 -9
  15. package/src/combobox/combobox.jsx +5 -5
  16. package/src/{component.js → component/component.jsx} +4 -2
  17. package/src/component/index.js +1 -0
  18. package/src/dateinput/README.md +15 -9
  19. package/src/dateinput/dateinput.jsx +5 -5
  20. package/src/datepicker/README.md +15 -9
  21. package/src/datepicker/datepicker.jsx +5 -5
  22. package/src/datetimepicker/README.md +15 -9
  23. package/src/datetimepicker/datetimepicker.jsx +5 -5
  24. package/src/dropdownlist/README.md +23 -14
  25. package/src/dropdownlist/dropdownlist.jsx +9 -6
  26. package/src/icon/icon.jsx +1 -1
  27. package/src/index.js +43 -3
  28. package/src/input/input-inner-input.jsx +1 -1
  29. package/src/input/input-inner-span.jsx +1 -1
  30. package/src/input/input-inner-textarea.jsx +1 -1
  31. package/src/input/input-prefix.jsx +1 -1
  32. package/src/input/input-suffix.jsx +1 -1
  33. package/src/input/input.jsx +4 -4
  34. package/src/input/picker.jsx +4 -4
  35. package/src/list/README.md +93 -0
  36. package/src/list/index.js +5 -0
  37. package/src/list/list-content.jsx +94 -0
  38. package/src/list/list-group-item.jsx +66 -0
  39. package/src/list/list-header.jsx +66 -0
  40. package/src/list/list-item.jsx +117 -0
  41. package/src/list/list.jsx +182 -0
  42. package/src/maskedtextbox/README.md +15 -9
  43. package/src/maskedtextbox/maskedtextbox.jsx +4 -4
  44. package/src/nodata/index.js +1 -0
  45. package/src/nodata/nodata.jsx +64 -0
  46. package/src/numerictextbox/README.md +15 -9
  47. package/src/numerictextbox/numerictextbox.jsx +5 -5
  48. package/src/popup/README.md +15 -0
  49. package/src/popup/index.js +1 -0
  50. package/src/popup/popup.jsx +80 -0
  51. package/src/radio/README.md +7 -7
  52. package/src/radio/radio.jsx +2 -2
  53. package/src/searchbar/searchbar.jsx +1 -1
  54. package/src/searchbox/README.md +16 -12
  55. package/src/searchbox/searchbox.jsx +4 -4
  56. package/src/spinbutton/spinbutton.jsx +9 -3
  57. package/src/switch/switch.jsx +4 -4
  58. package/src/textarea/README.md +17 -11
  59. package/src/textarea/textarea.jsx +4 -4
  60. package/src/textbox/README.md +15 -9
  61. package/src/textbox/textbox.jsx +4 -4
  62. package/src/timepicker/README.md +15 -9
  63. package/src/timepicker/timepicker.jsx +5 -5
  64. package/utils/styles.js +14 -5
@@ -0,0 +1,117 @@
1
+ import { Component, globalDefaultProps } from '../component/index';
2
+ import { CheckboxStatic } from '../checkbox/index';
3
+ import { IconStatic } from '../icon/index';
4
+
5
+ class ListItem extends Component {
6
+ render() {
7
+ return <ListItemStatic {...this.props} />;
8
+ }
9
+ }
10
+
11
+ function ListItemStatic(props) {
12
+ const {
13
+ className: ownClassName,
14
+ children,
15
+
16
+ groupLabel,
17
+
18
+ showIcon,
19
+ iconName,
20
+ showCheckbox,
21
+ checked,
22
+
23
+ hover,
24
+ focus,
25
+ selected,
26
+ disabled,
27
+
28
+ aria,
29
+ legacy,
30
+
31
+ ...htmlAttributes
32
+ } = props;
33
+
34
+ let listItemClasses = [
35
+ ownClassName,
36
+ 'k-list-item',
37
+ {
38
+ 'k-hover': hover === true,
39
+ 'k-focus': focus === true,
40
+ 'k-selected': selected === true,
41
+ 'k-disabled': disabled === true
42
+ }
43
+ ];
44
+
45
+
46
+ let legacyListItemClasses = [
47
+ ownClassName,
48
+ 'k-item',
49
+ {
50
+ 'k-state-hover': hover === true,
51
+ 'k-state-focused': focus === true,
52
+ 'k-state-selected': selected === true,
53
+ 'k-state-disabled': disabled === true
54
+ }
55
+ ];
56
+
57
+ let ariaAttr = aria
58
+ ? {}
59
+ : {};
60
+
61
+ if (legacy) {
62
+ return (
63
+ <li className={legacyListItemClasses} {...ariaAttr} {...htmlAttributes}>
64
+ {showCheckbox && <CheckboxStatic checked={checked} />}
65
+ {showIcon && <IconStatic name={iconName} />}
66
+ <span className="k-list-item-text">{children}</span>
67
+ {groupLabel !== '' && <div className="k-group">{groupLabel}</div>}
68
+ </li>
69
+ );
70
+ }
71
+
72
+ return (
73
+ <li className={listItemClasses} {...ariaAttr} {...htmlAttributes}>
74
+ {showCheckbox && <CheckboxStatic checked={checked} />}
75
+ {showIcon && <IconStatic name={iconName} />}
76
+ <span className="k-list-item-text">{children}</span>
77
+ {groupLabel !== '' && <div className="k-list-item-group-label">{groupLabel}</div>}
78
+ </li>
79
+ );
80
+ }
81
+
82
+ ListItemStatic.defaultProps = {
83
+ ...globalDefaultProps,
84
+
85
+ children: [],
86
+
87
+ groupLabel: '',
88
+
89
+ showIcon: false,
90
+ iconName: '',
91
+ showCheckbox: false,
92
+ checked: false,
93
+ };
94
+
95
+ ListItemStatic.propTypes = {
96
+ children: typeof [],
97
+ className: typeof '',
98
+
99
+ groupLabel: typeof '',
100
+
101
+ showIcon: typeof false,
102
+ iconName: typeof '',
103
+ showCheckbox: typeof false,
104
+ checked: typeof false,
105
+
106
+ hover: typeof false,
107
+ focus: typeof false,
108
+ selected: typeof false,
109
+ disabled: typeof false,
110
+
111
+ aria: typeof false,
112
+ legacy: typeof false,
113
+
114
+ htmlAttributes: typeof []
115
+ };
116
+
117
+ export { ListItem, ListItemStatic };
@@ -0,0 +1,182 @@
1
+ import * as styles from '../../utils/styles';
2
+ import { Component, globalDefaultProps } from '../component/index';
3
+ import { ListHeaderStatic } from './list-header.jsx';
4
+ import { ListContentStatic } from './list-content.jsx';
5
+ import { ListGroupItemStatic } from './list-group-item.jsx';
6
+ import { ListItemStatic } from './list-item.jsx';
7
+ import { NoDataStatic } from '../nodata/index';
8
+
9
+ class List extends Component {
10
+
11
+ _transformChildrenUniversal() {
12
+ let virtualization = this._props.virtualization;
13
+ let children = this._props.children;
14
+ let listHeader;
15
+ let listContent;
16
+ let listChildren = [];
17
+ let newChildren = [];
18
+
19
+ children.forEach( child => {
20
+ if ( child.type === 'OPTGROUP') {
21
+ if (child.props.root === true) {
22
+ listHeader = <ListHeaderStatic {...child.props}>{child.props.label}</ListHeaderStatic>;
23
+
24
+ child.props.children.forEach( optChild => {
25
+ listChildren.push( <ListItemStatic {...optChild.props} /> );
26
+ });
27
+ } else {
28
+ child.props.children.forEach( ( optChild, index ) => {
29
+ let groupLabel = '';
30
+
31
+ if ( index === 0 ) {
32
+ groupLabel = child.props.label;
33
+ optChild.props.className = [ optChild.props.className, 'k-first' ];
34
+ }
35
+ listChildren.push( <ListItemStatic {...optChild.props} groupLabel={groupLabel} /> );
36
+ });
37
+ }
38
+ } else if ( child.type === 'OPTION' ) {
39
+ listChildren.push( <ListItemStatic {...child.props} /> );
40
+ }
41
+ });
42
+
43
+ listContent = <ListContentStatic virtualization={virtualization}>{listChildren}</ListContentStatic>;
44
+
45
+ newChildren.push( listHeader );
46
+ newChildren.push( listContent );
47
+
48
+ this._props.children = newChildren;
49
+ }
50
+
51
+ _transformChildrenAngular() {
52
+ let virtualization = this._props.virtualization;
53
+ let children = this._props.children;
54
+ let listHeader;
55
+ let listContent;
56
+ let listChildren = [];
57
+ let newChildren = [];
58
+
59
+ children.forEach( child => {
60
+ if ( child.type === 'OPTGROUP') {
61
+ if (child.props.root === true) {
62
+ listHeader = <ListHeaderStatic {...child.props}>{child.props.label}</ListHeaderStatic>;
63
+
64
+ child.props.children.forEach( optChild => {
65
+ listChildren.push( <ListItemStatic {...optChild.props} /> );
66
+ });
67
+ } else {
68
+ listChildren.push( <ListGroupItemStatic {...child.props}>{child.props.label}</ListGroupItemStatic> );
69
+
70
+ child.props.children.forEach( optChild => {
71
+ listChildren.push( <ListItemStatic {...optChild.props} /> );
72
+ });
73
+ }
74
+ } else if ( child.type === 'OPTION' ) {
75
+ listChildren.push( <ListItemStatic {...child.props} /> );
76
+ }
77
+ });
78
+
79
+ listContent = <ListContentStatic virtualization={virtualization}>{listChildren}</ListContentStatic>;
80
+
81
+ newChildren.push( listHeader );
82
+ newChildren.push( listContent );
83
+
84
+ this._props.children = newChildren;
85
+ }
86
+
87
+ init() {
88
+ let framework = this._props.framework;
89
+
90
+ if ( this._props.children.length === 0 ) {
91
+ this._props.children.push( <NoDataStatic /> );
92
+ return;
93
+ }
94
+
95
+ if ( framework === 'angular' || framework === 'blazor' ) {
96
+ this._transformChildrenAngular();
97
+ return;
98
+ }
99
+
100
+ this._transformChildrenUniversal();
101
+ }
102
+
103
+ render() {
104
+ return <ListStatic {...this.props} />;
105
+ }
106
+ }
107
+
108
+ function ListStatic(props) {
109
+ const {
110
+ className: ownClassName,
111
+ children,
112
+
113
+ size,
114
+
115
+ virtualization,
116
+
117
+ aria,
118
+ legacy,
119
+
120
+ ...htmlAttributes
121
+ } = props;
122
+
123
+ let listClasses = [
124
+ ownClassName,
125
+ 'k-list',
126
+ styles.sizeClass( size, 'k-list' ),
127
+ {
128
+ 'k-virtual-list': virtualization === true
129
+ }
130
+ ];
131
+
132
+
133
+ let legacyListClasses = [
134
+ ownClassName,
135
+ 'k-list-container'
136
+ ];
137
+
138
+ let ariaAttr = aria
139
+ ? {}
140
+ : {};
141
+
142
+ if (legacy) {
143
+ return (
144
+ <div className={legacyListClasses} {...ariaAttr} {...htmlAttributes}>
145
+ {children}
146
+ </div>
147
+ );
148
+ }
149
+
150
+ return (
151
+ <div className={listClasses} {...ariaAttr} {...htmlAttributes}>
152
+ {children}
153
+ </div>
154
+ );
155
+ }
156
+
157
+ ListStatic.defaultProps = {
158
+ ...globalDefaultProps,
159
+
160
+ children: [],
161
+
162
+ size: 'medium',
163
+
164
+ virtualization: false
165
+ };
166
+
167
+ ListStatic.propTypes = {
168
+ framework: typeof [ 'universal', 'angular' ],
169
+ children: typeof [],
170
+ className: typeof '',
171
+
172
+ size: typeof [ null, 'small', 'medium', 'large' ],
173
+
174
+ virtualization: typeof false,
175
+
176
+ aria: typeof false,
177
+ legacy: typeof false,
178
+
179
+ htmlAttributes: typeof []
180
+ };
181
+
182
+ export { List, ListStatic };
@@ -8,17 +8,23 @@
8
8
  <span class="
9
9
  k-maskedtextbox
10
10
  k-input
11
- k-input-${size}
12
- k-rounded-${rounded}
13
- k-input-${fillMode}
11
+ k-input-{size}
12
+ k-rounded-{rounded}
13
+ k-input-{fillMode}
14
14
 
15
- ${valid && 'k-valid'}
16
- ${invalid && 'k-invalid'}
17
- ${required && 'k-required'}
18
- ${disabled && 'k-disabled'}
15
+ {valid && 'k-valid'}
16
+ {invalid && 'k-invalid'}
17
+ {loading && 'k-loading'}
18
+ {required && 'k-required'}
19
+ {disabled && 'k-disabled'}
19
20
  ">
21
+ {showInputIcon && inputIconName !== '' && <span class="k-input-icon k-i-icon k-i-{inputIconName}"></span>}
22
+ {inputPrefix && <span class="k-input-prefix">...</span>}
20
23
  <input type={type} class="k-input-inner" value={value} placeholder={placeholder} disabled={disabled} />
21
- {valid && <span class="k-input-icon k-icon k-i-check"></span>}
22
- {invalid && <span class="k-input-icon k-icon k-i-check"></span>}
24
+ {inputPrefix && <span class="k-input-suffix">...</span>}
25
+ {showValidationIcon && valid && <span class="k-validation-icon k-icon k-i-check"></span>}
26
+ {showValidationIcon && invalid && <span class="k-validation-icon k-icon k-i-warning"></span>}
27
+ {showLoadingIcon && loading && <span class="k-icon k-i-loading"></span>}
28
+ {showClearValue && text !== '' && <span class="k-clear-value"><span class="k-icon k-i-x"></span></span>}
23
29
  </span>
24
30
  ```
@@ -1,4 +1,4 @@
1
- import { Component, globalDefaultProps } from '../component';
1
+ import { Component, globalDefaultProps } from '../component/index';
2
2
  import { InputStatic, InputInnerInputStatic } from '../input/index';
3
3
  import { InputValidationIconStatic, InputLoadingIconStatic, InputClearValueStatic } from '../input/index';
4
4
 
@@ -132,10 +132,10 @@ MaskedTextboxStatic.propTypes = {
132
132
  showLoadingIcon: typeof true,
133
133
  showClearButton: typeof true,
134
134
 
135
- size: typeof [ 'none', 'small', 'medium', 'large' ],
136
- rounded: typeof [ 'none', 'small', 'medium', 'large', 'pill' ],
135
+ size: typeof [ null, 'small', 'medium', 'large' ],
136
+ rounded: typeof [ null, 'small', 'medium', 'large', 'pill' ],
137
137
 
138
- fillMode: typeof [ 'none', 'solid', 'flat', 'outline' ],
138
+ fillMode: typeof [ null, 'solid', 'flat', 'outline' ],
139
139
 
140
140
  hover: typeof false,
141
141
  focus: typeof false,
@@ -0,0 +1 @@
1
+ export * from './nodata.jsx';
@@ -0,0 +1,64 @@
1
+ import { Component, globalDefaultProps } from '../component/index';
2
+
3
+ class NoData extends Component {
4
+ render() {
5
+ return <NoDataStatic {...this.props} />;
6
+ }
7
+ }
8
+
9
+ function NoDataStatic(props) {
10
+
11
+ const {
12
+ className: ownClassName,
13
+ // eslint-disable-next-line no-unused-vars
14
+ children,
15
+
16
+ aria,
17
+ legacy,
18
+
19
+ ...htmlAttributes
20
+ } = props;
21
+
22
+ let noDataClasses = [
23
+ ownClassName,
24
+ 'k-no-data'
25
+ ];
26
+
27
+ let ariaAttr = aria
28
+ ? {}
29
+ : {};
30
+
31
+ if (legacy) {
32
+
33
+ let legacyClasses = [
34
+ ownClassName,
35
+ 'k-nodata'
36
+ ];
37
+
38
+ return (
39
+ <div className={legacyClasses} {...ariaAttr} {...htmlAttributes}>No data found.</div>
40
+ );
41
+ }
42
+
43
+ return (
44
+ <div className={noDataClasses} {...ariaAttr} {...htmlAttributes}>No data found.</div>
45
+ );
46
+ }
47
+
48
+ NoDataStatic.defaultProps = {
49
+ ...globalDefaultProps,
50
+
51
+ children: []
52
+ };
53
+
54
+ NoDataStatic.propTypes = {
55
+ children: typeof [],
56
+ className: typeof '',
57
+
58
+ aria: typeof false,
59
+ legacy: typeof false,
60
+
61
+ htmlAttributes: typeof []
62
+ };
63
+
64
+ export { NoData, NoDataStatic };
@@ -16,18 +16,24 @@
16
16
  <span class="
17
17
  k-numerictextbox
18
18
  k-input
19
- k-input-${size}
20
- k-rounded-${rounded}
21
- k-input-${fillMode}
19
+ k-input-{size}
20
+ k-rounded-{rounded}
21
+ k-input-{fillMode}
22
22
 
23
- ${valid && 'k-valid'}
24
- ${invalid && 'k-invalid'}
25
- ${required && 'k-required'}
26
- ${disabled && 'k-disabled'}
23
+ {valid && 'k-valid'}
24
+ {invalid && 'k-invalid'}
25
+ {loading && 'k-loading'}
26
+ {required && 'k-required'}
27
+ {disabled && 'k-disabled'}
27
28
  ">
29
+ {showInputIcon && inputIconName !== '' && <span class="k-input-icon k-i-icon k-i-{inputIconName}"></span>}
30
+ {inputPrefix && <span class="k-input-prefix">...</span>}
28
31
  <input type={type} class="k-input-inner" value={value} placeholder={placeholder} disabled={disabled} />
29
- {valid && <span class="k-input-icon k-icon k-i-check"></span>}
30
- {invalid && <span class="k-input-icon k-icon k-i-check"></span>}
32
+ {inputPrefix && <span class="k-input-suffix">...</span>}
33
+ {showValidationIcon && valid && <span class="k-validation-icon k-icon k-i-check"></span>}
34
+ {showValidationIcon && invalid && <span class="k-validation-icon k-icon k-i-warning"></span>}
35
+ {showLoadingIcon && loading && <span class="k-icon k-i-loading"></span>}
36
+ {showClearValue && text !== '' && <span class="k-clear-value"><span class="k-icon k-i-x"></span></span>}
31
37
  {showSpinButton &&
32
38
  <span class="k-input-spinner k-spin-button">
33
39
  <button class="k-spinner-increase k-button k-icon-button k-button-solid k-button-solid-base">
@@ -1,4 +1,4 @@
1
- import { Component, globalDefaultProps } from '../component';
1
+ import { Component, globalDefaultProps } from '../component/index';
2
2
  import { InputStatic, InputInnerInputStatic } from '../input/index';
3
3
  import { InputValidationIconStatic, InputLoadingIconStatic, InputClearValueStatic } from '../input/index';
4
4
  import { SpinButtonStatic } from '../spinbutton/index';
@@ -112,7 +112,7 @@ function NumericTextboxStatic(props) {
112
112
  <InputValidationIconStatic {...props} />
113
113
  <InputLoadingIconStatic {...props} />
114
114
  <InputClearValueStatic {...props} />
115
- {showSpinButton === true && <SpinButtonStatic className="k-input-spinner" />}
115
+ {showSpinButton === true && <SpinButtonStatic className="k-input-spinner" size={size} fillMode={fillMode} />}
116
116
  </InputStatic>
117
117
  );
118
118
  }
@@ -148,10 +148,10 @@ NumericTextboxStatic.propTypes = {
148
148
  showLoadingIcon: typeof true,
149
149
  showClearButton: typeof true,
150
150
 
151
- size: typeof [ 'none', 'small', 'medium', 'large' ],
152
- rounded: typeof [ 'none', 'small', 'medium', 'large', 'pill' ],
151
+ size: typeof [ null, 'small', 'medium', 'large' ],
152
+ rounded: typeof [ null, 'small', 'medium', 'large', 'pill' ],
153
153
 
154
- fillMode: typeof [ 'none', 'solid', 'flat', 'outline' ],
154
+ fillMode: typeof [ null, 'solid', 'flat', 'outline' ],
155
155
 
156
156
  hover: typeof false,
157
157
  focus: typeof false,
@@ -0,0 +1,15 @@
1
+ ```html
2
+ <!-- default rendering -->
3
+ <div class="k-popup k-popup-md k-rounded-md">
4
+ ...
5
+ </div>
6
+
7
+ <!-- canonical rendering -->
8
+ <div class="
9
+ k-popup
10
+ k-popup-{size}
11
+ k-rounded-{rounded}
12
+ ">
13
+ ...
14
+ </div>
15
+ ```
@@ -0,0 +1 @@
1
+ export * from './popup.jsx';
@@ -0,0 +1,80 @@
1
+ import * as styles from '../../utils/styles';
2
+ import { Component, globalDefaultProps } from '../component/index';
3
+
4
+ class Popup extends Component {
5
+ render() {
6
+ return <PopupStatic {...this.props} />;
7
+ }
8
+ }
9
+
10
+ function PopupStatic(props) {
11
+
12
+ const {
13
+ className: ownClassName,
14
+
15
+ children,
16
+
17
+ size,
18
+ rounded,
19
+
20
+ aria,
21
+ legacy,
22
+
23
+ ...htmlAttributes
24
+ } = props;
25
+
26
+ let PopupClasses = [
27
+ ownClassName,
28
+ 'k-popup',
29
+ styles.sizeClass( size, 'k-popup' ),
30
+ styles.roundedClass( rounded )
31
+ ];
32
+
33
+ let ariaAttr = aria
34
+ ? {}
35
+ : {};
36
+
37
+ if (legacy) {
38
+
39
+ let legacyClasses = [
40
+ ownClassName,
41
+ 'k-popup'
42
+ ];
43
+
44
+ return (
45
+ <div className={legacyClasses} {...htmlAttributes}>
46
+ {children}
47
+ </div>
48
+ );
49
+ }
50
+
51
+ return (
52
+ <div className={PopupClasses} {...ariaAttr} {...htmlAttributes}>
53
+ {children}
54
+ </div>
55
+ );
56
+ }
57
+
58
+ PopupStatic.defaultProps = {
59
+ ...globalDefaultProps,
60
+
61
+ children: [],
62
+
63
+ size: 'medium',
64
+ rounded: 'medium'
65
+ };
66
+
67
+ PopupStatic.propTypes = {
68
+ children: typeof [],
69
+ className: typeof '',
70
+
71
+ size: typeof [ null, 'small', 'medium', 'large' ],
72
+ rounded: typeof [ null, 'small', 'medium', 'large', 'pill' ],
73
+
74
+ aria: typeof false,
75
+ legacy: typeof false,
76
+
77
+ htmlAttributes: typeof []
78
+ };
79
+
80
+ export { Popup, PopupStatic };
@@ -6,15 +6,15 @@
6
6
  <input type="radio"
7
7
  class="
8
8
  k-radio
9
- k-radio-${size}
10
- k-rounded-${rounded}
9
+ k-radio-{size}
10
+ k-rounded-{rounded}
11
11
 
12
- ${checked && 'k-checked'}
12
+ {checked && 'k-checked'}
13
13
 
14
- ${valid && 'k-valid'}
15
- ${invalid && 'k-invalid'}
16
- ${required && 'k-required'}
17
- ${disabled && 'k-disabled'}
14
+ {valid && 'k-valid'}
15
+ {invalid && 'k-invalid'}
16
+ {required && 'k-required'}
17
+ {disabled && 'k-disabled'}
18
18
  "
19
19
  disabled={disabled}
20
20
  />
@@ -1,5 +1,5 @@
1
1
  import * as styles from '../../utils/styles';
2
- import { Component, globalDefaultProps } from '../component';
2
+ import { Component, globalDefaultProps } from '../component/index';
3
3
 
4
4
  class Radio extends Component {
5
5
  render() {
@@ -86,7 +86,7 @@ RadioStatic.propTypes = {
86
86
 
87
87
  checked: typeof false,
88
88
 
89
- size: typeof [ 'none', 'small', 'medium', 'large' ],
89
+ size: typeof [ null, 'small', 'medium', 'large' ],
90
90
 
91
91
  hover: typeof false,
92
92
  focus: typeof false,
@@ -1,4 +1,4 @@
1
- import { Component, globalDefaultProps } from '../component';
1
+ import { Component, globalDefaultProps } from '../component/index';
2
2
  import { InputStatic } from '../input/index';
3
3
 
4
4
  class Searchbar extends Component {
@@ -2,25 +2,29 @@
2
2
  <!-- default rendering -->
3
3
  <span class="k-searchbox k-input k-input-md k-rounded-md k-input-solid">
4
4
  <input type="text" class="k-input-inner" value="..." placeholder="..." />
5
- <span class="k-input-icon k-icon k-i-search"></span>
6
5
  </span>
7
6
 
8
7
  <!-- canonical rendering -->
9
8
  <span class="
10
9
  k-searchbox
11
10
  k-input
12
- k-input-${size}
13
- k-rounded-${rounded}
14
- k-input-${fillMode}
11
+ k-input-{size}
12
+ k-rounded-{rounded}
13
+ k-input-{fillMode}
15
14
 
16
- ${valid && 'k-valid'}
17
- ${invalid && 'k-invalid'}
18
- ${required && 'k-required'}
19
- ${disabled && 'k-disabled'}
15
+ {valid && 'k-valid'}
16
+ {invalid && 'k-invalid'}
17
+ {loading && 'k-loading'}
18
+ {required && 'k-required'}
19
+ {disabled && 'k-disabled'}
20
20
  ">
21
- {showIcon && iconPosition === 'leading' && <span class="k-input-icon k-icon k-i-{iconName}"></span>}
22
- <input type={type} class="k-input-inner" value={value} placeholder={placeholder} disabled={disabled} />}
23
- {text !== '' <span class="k-clear-value"></span>}
24
- {showIcon && iconPosition === 'trailing' && <span class="k-input-icon k-icon k-i-{iconName}"></span>}
21
+ {showInputIcon && inputIconName !== '' && <span class="k-input-icon k-i-icon k-i-{inputIconName}"></span>}
22
+ {inputPrefix && <span class="k-input-prefix">...</span>}
23
+ <input type={type} class="k-input-inner" value={value} placeholder={placeholder} disabled={disabled} />
24
+ {inputPrefix && <span class="k-input-suffix">...</span>}
25
+ {showValidationIcon && valid && <span class="k-validation-icon k-icon k-i-check"></span>}
26
+ {showValidationIcon && invalid && <span class="k-validation-icon k-icon k-i-warning"></span>}
27
+ {showLoadingIcon && loading && <span class="k-icon k-i-loading"></span>}
28
+ {showClearValue && text !== '' && <span class="k-clear-value"><span class="k-icon k-i-x"></span></span>}
25
29
  </span>
26
30
  ```