@progress/kendo-themes-html 4.42.1-dev.0 → 4.42.1-dev.4
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.
- package/lib/jsx-runtime.js +5 -0
- package/package.json +8 -8
- package/src/autocomplete/README.md +15 -9
- package/src/autocomplete/autocomplete.jsx +12 -7
- package/src/button/README.md +8 -8
- package/src/checkbox/README.md +8 -8
- package/src/colorpicker/colorpicker.jsx +3 -4
- package/src/combobox/README.md +15 -9
- package/src/combobox/combobox.jsx +11 -6
- package/src/dateinput/README.md +48 -0
- package/src/dateinput/dateinput.jsx +170 -0
- package/src/dateinput/index.js +1 -0
- package/src/datepicker/README.md +36 -0
- package/src/datepicker/datepicker.jsx +170 -0
- package/src/datepicker/index.js +1 -0
- package/src/datetimepicker/README.md +36 -0
- package/src/datetimepicker/datetimepicker.jsx +170 -0
- package/src/datetimepicker/index.js +1 -0
- package/src/dropdownlist/README.md +23 -14
- package/src/dropdownlist/dropdownlist.jsx +13 -6
- package/src/index.js +4 -1
- package/src/input/index.js +3 -0
- package/src/input/input-clear-value.jsx +31 -0
- package/src/input/input-inner-span.jsx +9 -8
- package/src/input/input-loading-icon.jsx +28 -0
- package/src/input/input-validation-icon.jsx +37 -0
- package/src/input/input.jsx +2 -0
- package/src/maskedtextbox/README.md +15 -9
- package/src/maskedtextbox/maskedtextbox.jsx +18 -5
- package/src/numerictextbox/README.md +15 -9
- package/src/numerictextbox/numerictextbox.jsx +16 -5
- package/src/radio/README.md +7 -7
- package/src/searchbox/README.md +16 -12
- package/src/searchbox/searchbox.jsx +19 -10
- package/src/textarea/README.md +17 -11
- package/src/textbox/README.md +15 -9
- package/src/textbox/textbox.jsx +17 -0
- package/src/timepicker/README.md +36 -0
- package/src/timepicker/index.js +1 -0
- package/src/timepicker/timepicker.jsx +170 -0
package/lib/jsx-runtime.js
CHANGED
|
@@ -44,6 +44,7 @@ const booleanAttr = new Set([
|
|
|
44
44
|
'hover',
|
|
45
45
|
'focus',
|
|
46
46
|
'active',
|
|
47
|
+
'readonly',
|
|
47
48
|
'disabled',
|
|
48
49
|
|
|
49
50
|
'checked',
|
|
@@ -257,6 +258,10 @@ function renderDOM( jsxNode, container = null ) {
|
|
|
257
258
|
element.append( children );
|
|
258
259
|
} else {
|
|
259
260
|
children.forEach( child => {
|
|
261
|
+
if (child === null) {
|
|
262
|
+
return;
|
|
263
|
+
}
|
|
264
|
+
|
|
260
265
|
renderDOM( child, element );
|
|
261
266
|
});
|
|
262
267
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-themes-html",
|
|
3
3
|
"description": "A collection of HTML helpers used for developing Kendo UI themes",
|
|
4
|
-
"version": "4.42.1-dev.
|
|
4
|
+
"version": "4.42.1-dev.4",
|
|
5
5
|
"author": "Progress",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"keywords": [
|
|
@@ -34,13 +34,13 @@
|
|
|
34
34
|
"dev": "rollup -cw"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@babel/core": "^7.
|
|
38
|
-
"@babel/preset-env": "^7.
|
|
39
|
-
"@babel/preset-react": "^7.
|
|
37
|
+
"@babel/core": "^7.16.0",
|
|
38
|
+
"@babel/preset-env": "^7.16.0",
|
|
39
|
+
"@babel/preset-react": "^7.16.0",
|
|
40
40
|
"@rollup/plugin-babel": "^5.3.0",
|
|
41
|
-
"@rollup/plugin-commonjs": "^21.0.
|
|
42
|
-
"@rollup/plugin-node-resolve": "^13.0.
|
|
43
|
-
"rollup": "^2.
|
|
41
|
+
"@rollup/plugin-commonjs": "^21.0.1",
|
|
42
|
+
"@rollup/plugin-node-resolve": "^13.0.6",
|
|
43
|
+
"rollup": "^2.59.0"
|
|
44
44
|
},
|
|
45
|
-
"gitHead": "
|
|
45
|
+
"gitHead": "e858f6d0ffd07117aa86b4c83d28e9999b2884f9"
|
|
46
46
|
}
|
|
@@ -8,17 +8,23 @@
|
|
|
8
8
|
<span class="
|
|
9
9
|
k-autocomplete
|
|
10
10
|
k-input
|
|
11
|
-
k-input
|
|
12
|
-
k-rounded
|
|
13
|
-
k-input
|
|
11
|
+
k-input-{size}
|
|
12
|
+
k-rounded-{rounded}
|
|
13
|
+
k-input-{fillMode}
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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
|
-
{
|
|
22
|
-
{
|
|
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,6 +1,6 @@
|
|
|
1
1
|
import { globalDefaultProps } from '../component';
|
|
2
2
|
import { Input, InputStatic, InputInnerInputStatic } from '../input/index';
|
|
3
|
-
import {
|
|
3
|
+
import { InputValidationIconStatic, InputLoadingIconStatic, InputClearValueStatic } from '../input/index';
|
|
4
4
|
|
|
5
5
|
class Autocomplete extends Input {
|
|
6
6
|
render() {
|
|
@@ -18,8 +18,6 @@ function AutocompleteStatic(props) {
|
|
|
18
18
|
placeholder,
|
|
19
19
|
autocomplete,
|
|
20
20
|
|
|
21
|
-
showClearButton,
|
|
22
|
-
|
|
23
21
|
prefix,
|
|
24
22
|
suffix,
|
|
25
23
|
|
|
@@ -86,10 +84,10 @@ function AutocompleteStatic(props) {
|
|
|
86
84
|
|
|
87
85
|
return (
|
|
88
86
|
<InputStatic className={legacyClasses} {...htmlAttributes}>
|
|
89
|
-
{prefix}
|
|
90
87
|
<input type={type} className="k-input" {...inputAttributes} />
|
|
91
|
-
|
|
92
|
-
{
|
|
88
|
+
<InputValidationIconStatic {...props} />
|
|
89
|
+
<InputLoadingIconStatic {...props} />
|
|
90
|
+
<InputClearValueStatic {...props} />
|
|
93
91
|
</InputStatic>
|
|
94
92
|
);
|
|
95
93
|
}
|
|
@@ -98,8 +96,10 @@ function AutocompleteStatic(props) {
|
|
|
98
96
|
<InputStatic className={autocompleteClasses} {...ariaAttr} {...htmlAttributes}>
|
|
99
97
|
{prefix}
|
|
100
98
|
<InputInnerInputStatic {...inputAttributes} />
|
|
101
|
-
{!disabled && showClearButton && value !== '' && <span className="k-clear-value"><IconStatic name="x" /></span>}
|
|
102
99
|
{suffix}
|
|
100
|
+
<InputValidationIconStatic {...props} />
|
|
101
|
+
<InputLoadingIconStatic {...props} />
|
|
102
|
+
<InputClearValueStatic {...props} />
|
|
103
103
|
</InputStatic>
|
|
104
104
|
);
|
|
105
105
|
}
|
|
@@ -112,6 +112,8 @@ AutocompleteStatic.defaultProps = {
|
|
|
112
112
|
placeholder: '',
|
|
113
113
|
autocomplete: 'off',
|
|
114
114
|
|
|
115
|
+
showValidationIcon: true,
|
|
116
|
+
showLoadingIcon: true,
|
|
115
117
|
showClearButton: true,
|
|
116
118
|
|
|
117
119
|
size: 'medium',
|
|
@@ -129,6 +131,8 @@ AutocompleteStatic.propTypes = {
|
|
|
129
131
|
placeholder: typeof '',
|
|
130
132
|
autocomplete: typeof [ 'on', 'off' ],
|
|
131
133
|
|
|
134
|
+
showValidationIcon: typeof true,
|
|
135
|
+
showLoadingIcon: typeof true,
|
|
132
136
|
showClearButton: typeof true,
|
|
133
137
|
|
|
134
138
|
prefix: typeof '#fragment',
|
|
@@ -143,6 +147,7 @@ AutocompleteStatic.propTypes = {
|
|
|
143
147
|
focus: typeof false,
|
|
144
148
|
valid: typeof false,
|
|
145
149
|
invalid: typeof false,
|
|
150
|
+
loading: typeof false,
|
|
146
151
|
required: typeof false,
|
|
147
152
|
disabled: typeof false,
|
|
148
153
|
|
package/src/button/README.md
CHANGED
|
@@ -7,16 +7,16 @@
|
|
|
7
7
|
<!-- canonical rendering -->
|
|
8
8
|
<button class="
|
|
9
9
|
k-button
|
|
10
|
-
|
|
11
|
-
k-button
|
|
12
|
-
k-button
|
|
13
|
-
k-rounded
|
|
14
|
-
k-button
|
|
15
|
-
k-button
|
|
10
|
+
{text === '' && iconName !== '' && 'k-icon-button'}
|
|
11
|
+
k-button-{size}
|
|
12
|
+
k-button-{shape}
|
|
13
|
+
k-rounded-{rounded}
|
|
14
|
+
k-button-{fillMode}
|
|
15
|
+
k-button-{fillMode}-{themeColor}
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
{disabled && 'k-disabled'}
|
|
18
18
|
" type={type} disabled={disabled}>
|
|
19
|
-
{
|
|
19
|
+
{iconName !== '' && <span class="k-button-icon k-icon k-i-{iconName}"></span>}
|
|
20
20
|
{text !== '' && <span class="k-button-text">Button</span>}
|
|
21
21
|
</button>
|
|
22
22
|
```
|
package/src/checkbox/README.md
CHANGED
|
@@ -6,16 +6,16 @@
|
|
|
6
6
|
<input type="checkbox"
|
|
7
7
|
class="
|
|
8
8
|
k-checkbox
|
|
9
|
-
k-checkbox
|
|
10
|
-
k-rounded
|
|
9
|
+
k-checkbox-{size}
|
|
10
|
+
k-rounded-{rounded}
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
{checked && 'k-checked'}
|
|
13
|
+
{indeterminate && 'k-indeterminate'}
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
{valid && 'k-valid'}
|
|
16
|
+
{invalid && 'k-invalid'}
|
|
17
|
+
{required && 'k-required'}
|
|
18
|
+
{disabled && 'k-disabled'}
|
|
19
19
|
"
|
|
20
20
|
disabled={disabled}
|
|
21
21
|
/>
|
|
@@ -82,9 +82,7 @@ function ColorpickerStatic(props) {
|
|
|
82
82
|
return (
|
|
83
83
|
<PickerStatic className={legacyClasses} {...htmlAttributes}>
|
|
84
84
|
<span className={legacyWrapClasses}>
|
|
85
|
-
{prefix}
|
|
86
85
|
<ColorPreviewStatic color={value} iconName={iconName} />
|
|
87
|
-
{suffix}
|
|
88
86
|
<span className="k-select"><IconStatic name="arrow-s" /></span>
|
|
89
87
|
</span>
|
|
90
88
|
</PickerStatic>
|
|
@@ -94,8 +92,7 @@ function ColorpickerStatic(props) {
|
|
|
94
92
|
return (
|
|
95
93
|
<PickerStatic className={colorpickerClasses} {...ariaAttr} {...htmlAttributes}>
|
|
96
94
|
{prefix}
|
|
97
|
-
<ColorPreviewStatic color={value} iconName={iconName} />
|
|
98
|
-
{false && <InputInnerSpanStatic value={value} />}
|
|
95
|
+
<InputInnerSpanStatic showValue={false} valueIcon={<ColorPreviewStatic className="k-icon k-value-icon" color={value} iconName={iconName} />} />
|
|
99
96
|
{suffix}
|
|
100
97
|
<ButtonStatic className="k-input-button" icon="arrow-s" rounded="none" size={size} fillMode={fillMode}></ButtonStatic>
|
|
101
98
|
</PickerStatic>
|
|
@@ -112,6 +109,8 @@ ColorpickerStatic.defaultProps = {
|
|
|
112
109
|
|
|
113
110
|
iconName: '',
|
|
114
111
|
|
|
112
|
+
valueIcon: null,
|
|
113
|
+
|
|
115
114
|
size: 'medium',
|
|
116
115
|
rounded: 'medium',
|
|
117
116
|
|
package/src/combobox/README.md
CHANGED
|
@@ -11,18 +11,24 @@
|
|
|
11
11
|
<span class="
|
|
12
12
|
k-combobox
|
|
13
13
|
k-input
|
|
14
|
-
k-input
|
|
15
|
-
k-rounded
|
|
16
|
-
k-input
|
|
14
|
+
k-input-{size}
|
|
15
|
+
k-rounded-{rounded}
|
|
16
|
+
k-input-{fillMode}
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
{valid && 'k-valid'}
|
|
19
|
+
{invalid && 'k-invalid'}
|
|
20
|
+
{loading && 'k-loading'}
|
|
21
|
+
{required && 'k-required'}
|
|
22
|
+
{disabled && 'k-disabled'}
|
|
22
23
|
">
|
|
24
|
+
{showInputIcon && inputIconName !== '' && <span class="k-input-icon k-i-icon k-i-{inputIconName}"></span>}
|
|
25
|
+
{inputPrefix && <span class="k-input-prefix">...</span>}
|
|
23
26
|
<input type={type} class="k-input-inner" value={value} placeholder={placeholder} disabled={disabled} />
|
|
24
|
-
{
|
|
25
|
-
{
|
|
27
|
+
{inputPrefix && <span class="k-input-suffix">...</span>}
|
|
28
|
+
{showValidationIcon && valid && <span class="k-validation-icon k-icon k-i-check"></span>}
|
|
29
|
+
{showValidationIcon && invalid && <span class="k-validation-icon k-icon k-i-warning"></span>}
|
|
30
|
+
{showLoadingIcon && loading && <span class="k-icon k-i-loading"></span>}
|
|
31
|
+
{showClearValue && text !== '' && <span class="k-clear-value"><span class="k-icon k-i-x"></span></span>}
|
|
26
32
|
<button type="button" class="k-input-button k-button k-icon-button k-button-{size} k-button-{fillMode} k-button-{fillMode}-base">
|
|
27
33
|
<span class="k-button-icon k-icon k-i-arrow-s"></span>
|
|
28
34
|
</button>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { globalDefaultProps } from '../component';
|
|
2
2
|
import { Input, InputStatic, InputInnerInputStatic } from '../input/index';
|
|
3
|
+
import { InputValidationIconStatic, InputLoadingIconStatic, InputClearValueStatic } from '../input/index';
|
|
3
4
|
import { ButtonStatic } from '../button/index';
|
|
4
5
|
import { IconStatic } from '../icon/index';
|
|
5
6
|
|
|
@@ -19,8 +20,6 @@ function ComboboxStatic(props) {
|
|
|
19
20
|
placeholder,
|
|
20
21
|
autocomplete,
|
|
21
22
|
|
|
22
|
-
showClearButton,
|
|
23
|
-
|
|
24
23
|
prefix,
|
|
25
24
|
suffix,
|
|
26
25
|
|
|
@@ -93,10 +92,10 @@ function ComboboxStatic(props) {
|
|
|
93
92
|
return (
|
|
94
93
|
<InputStatic className={legacyClasses} {...htmlAttributes}>
|
|
95
94
|
<span className={legacyWrapClasses}>
|
|
96
|
-
{prefix}
|
|
97
95
|
<input type={type} className="k-input" {...inputAttributes} />
|
|
98
|
-
|
|
99
|
-
{
|
|
96
|
+
<InputValidationIconStatic {...props} />
|
|
97
|
+
<InputLoadingIconStatic {...props} />
|
|
98
|
+
<InputClearValueStatic {...props} />
|
|
100
99
|
<span className="k-select"><IconStatic name="arrow-s" /></span>
|
|
101
100
|
</span>
|
|
102
101
|
</InputStatic>
|
|
@@ -107,8 +106,10 @@ function ComboboxStatic(props) {
|
|
|
107
106
|
<InputStatic className={comboboxClasses} {...ariaAttr} {...htmlAttributes}>
|
|
108
107
|
{prefix}
|
|
109
108
|
<InputInnerInputStatic {...inputAttributes} />
|
|
110
|
-
{!disabled && showClearButton && value !== '' && <span className="k-clear-value"><IconStatic name="x" /></span>}
|
|
111
109
|
{suffix}
|
|
110
|
+
<InputValidationIconStatic {...props} />
|
|
111
|
+
<InputLoadingIconStatic {...props} />
|
|
112
|
+
<InputClearValueStatic {...props} />
|
|
112
113
|
<ButtonStatic className="k-input-button" icon="arrow-s" rounded="none" size={size} fillMode={fillMode}></ButtonStatic>
|
|
113
114
|
</InputStatic>
|
|
114
115
|
);
|
|
@@ -122,6 +123,8 @@ ComboboxStatic.defaultProps = {
|
|
|
122
123
|
placeholder: '',
|
|
123
124
|
autocomplete: 'off',
|
|
124
125
|
|
|
126
|
+
showValidationIcon: true,
|
|
127
|
+
showLoadingIcon: true,
|
|
125
128
|
showClearButton: true,
|
|
126
129
|
|
|
127
130
|
size: 'medium',
|
|
@@ -139,6 +142,8 @@ ComboboxStatic.propTypes = {
|
|
|
139
142
|
placeholder: typeof '',
|
|
140
143
|
autocomplete: typeof [ 'on', 'off' ],
|
|
141
144
|
|
|
145
|
+
showValidationIcon: typeof true,
|
|
146
|
+
showLoadingIcon: typeof true,
|
|
142
147
|
showClearButton: typeof true,
|
|
143
148
|
|
|
144
149
|
prefix: typeof '#fragment',
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
```html
|
|
2
|
+
<!-- default rendering -->
|
|
3
|
+
<span class="k-dateinput k-input k-input-md k-rounded-md k-input-solid">
|
|
4
|
+
<input type="text" class="k-input-inner" value="..." placeholder="..." />
|
|
5
|
+
<span class="k-input-spinner k-spin-button">
|
|
6
|
+
<button class="k-spinner-increase k-button k-icon-button k-button-solid k-button-solid-base">
|
|
7
|
+
<span class="k-button-icon k-icon k-i-arrow-n"></span>
|
|
8
|
+
</button>
|
|
9
|
+
<button class="k-spinner-decrease k-button k-icon-button k-button-solid k-button-solid-base">
|
|
10
|
+
<span class="k-button-icon k-icon k-i-arrow-s"></span>
|
|
11
|
+
</button>
|
|
12
|
+
</span>
|
|
13
|
+
</span>
|
|
14
|
+
|
|
15
|
+
<!-- canonical rendering -->
|
|
16
|
+
<span class="
|
|
17
|
+
k-dateinput
|
|
18
|
+
k-input
|
|
19
|
+
k-input-{size}
|
|
20
|
+
k-rounded-{rounded}
|
|
21
|
+
k-input-{fillMode}
|
|
22
|
+
|
|
23
|
+
{valid && 'k-valid'}
|
|
24
|
+
{invalid && 'k-invalid'}
|
|
25
|
+
{loading && 'k-loading'}
|
|
26
|
+
{required && 'k-required'}
|
|
27
|
+
{disabled && 'k-disabled'}
|
|
28
|
+
">
|
|
29
|
+
{showInputIcon && inputIconName !== '' && <span class="k-input-icon k-i-icon k-i-{inputIconName}"></span>}
|
|
30
|
+
{inputPrefix && <span class="k-input-prefix">...</span>}
|
|
31
|
+
<input type={type} class="k-input-inner" value={value} placeholder={placeholder} disabled={disabled} />
|
|
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>}
|
|
37
|
+
{showSpinButton &&
|
|
38
|
+
<span class="k-input-spinner k-spin-button">
|
|
39
|
+
<button class="k-spinner-increase k-button k-icon-button k-button-solid k-button-solid-base">
|
|
40
|
+
<span class="k-button-icon k-icon k-i-arrow-n"></span>
|
|
41
|
+
</button>
|
|
42
|
+
<button class="k-spinner-decrease k-button k-icon-button k-button-solid k-button-solid-base">
|
|
43
|
+
<span class="k-button-icon k-icon k-i-arrow-s"></span>
|
|
44
|
+
</button>
|
|
45
|
+
</span>
|
|
46
|
+
}
|
|
47
|
+
</span>
|
|
48
|
+
```
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { Component, globalDefaultProps } from '../component';
|
|
2
|
+
import { InputStatic, InputInnerInputStatic } from '../input/index';
|
|
3
|
+
import { InputValidationIconStatic, InputLoadingIconStatic, InputClearValueStatic } from '../input/index';
|
|
4
|
+
import { SpinButtonStatic } from '../spinbutton/index';
|
|
5
|
+
|
|
6
|
+
class DateInput extends Component {
|
|
7
|
+
render() {
|
|
8
|
+
return <DateInputStatic {...this.props} />;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function DateInputStatic(props) {
|
|
13
|
+
|
|
14
|
+
const {
|
|
15
|
+
className: ownClassName,
|
|
16
|
+
|
|
17
|
+
type,
|
|
18
|
+
value,
|
|
19
|
+
placeholder,
|
|
20
|
+
autocomplete,
|
|
21
|
+
|
|
22
|
+
showSpinButton,
|
|
23
|
+
|
|
24
|
+
size,
|
|
25
|
+
rounded,
|
|
26
|
+
|
|
27
|
+
fillMode,
|
|
28
|
+
|
|
29
|
+
hover,
|
|
30
|
+
focus,
|
|
31
|
+
valid,
|
|
32
|
+
invalid,
|
|
33
|
+
required,
|
|
34
|
+
disabled,
|
|
35
|
+
|
|
36
|
+
aria,
|
|
37
|
+
legacy,
|
|
38
|
+
|
|
39
|
+
...htmlAttributes
|
|
40
|
+
|
|
41
|
+
} = props;
|
|
42
|
+
|
|
43
|
+
htmlAttributes.size = size;
|
|
44
|
+
htmlAttributes.rounded = rounded;
|
|
45
|
+
htmlAttributes.fillMode = fillMode;
|
|
46
|
+
htmlAttributes.hover = hover;
|
|
47
|
+
htmlAttributes.focus = focus;
|
|
48
|
+
htmlAttributes.valid = valid;
|
|
49
|
+
htmlAttributes.invalid = invalid;
|
|
50
|
+
htmlAttributes.required = required;
|
|
51
|
+
htmlAttributes.disabled = disabled;
|
|
52
|
+
|
|
53
|
+
const inputAttributes = {
|
|
54
|
+
type: 'text',
|
|
55
|
+
value,
|
|
56
|
+
placeholder,
|
|
57
|
+
autocomplete,
|
|
58
|
+
|
|
59
|
+
disabled
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
let dateInputClasses = [
|
|
63
|
+
ownClassName,
|
|
64
|
+
'k-dateinput'
|
|
65
|
+
];
|
|
66
|
+
|
|
67
|
+
let ariaAttr = aria
|
|
68
|
+
? {}
|
|
69
|
+
: {};
|
|
70
|
+
|
|
71
|
+
if (legacy) {
|
|
72
|
+
|
|
73
|
+
let legacyClasses = [
|
|
74
|
+
ownClassName,
|
|
75
|
+
'k-widget',
|
|
76
|
+
'k-dateinput',
|
|
77
|
+
{
|
|
78
|
+
'k-state-disabled': disabled === true
|
|
79
|
+
}
|
|
80
|
+
];
|
|
81
|
+
|
|
82
|
+
let legacyWrapClasses = [
|
|
83
|
+
'k-dateinput-wrap',
|
|
84
|
+
{
|
|
85
|
+
'k-state-hover': hover === true,
|
|
86
|
+
'k-state-focused': focus === true,
|
|
87
|
+
'k-state-invalid': invalid === true
|
|
88
|
+
}
|
|
89
|
+
];
|
|
90
|
+
|
|
91
|
+
let legacyInputClasses = [
|
|
92
|
+
'k-input'
|
|
93
|
+
];
|
|
94
|
+
|
|
95
|
+
return (
|
|
96
|
+
<InputStatic className={legacyClasses} {...htmlAttributes}>
|
|
97
|
+
<span className={legacyWrapClasses}>
|
|
98
|
+
<input type={type} className={legacyInputClasses} {...inputAttributes} />
|
|
99
|
+
<InputValidationIconStatic {...props} />
|
|
100
|
+
<InputLoadingIconStatic {...props} />
|
|
101
|
+
<InputClearValueStatic {...props} />
|
|
102
|
+
{showSpinButton === true && <SpinButtonStatic />}
|
|
103
|
+
</span>
|
|
104
|
+
</InputStatic>
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
return (
|
|
109
|
+
<InputStatic className={dateInputClasses} {...ariaAttr} {...htmlAttributes}>
|
|
110
|
+
<InputInnerInputStatic {...inputAttributes} />
|
|
111
|
+
<InputValidationIconStatic {...props} />
|
|
112
|
+
<InputLoadingIconStatic {...props} />
|
|
113
|
+
<InputClearValueStatic {...props} />
|
|
114
|
+
{showSpinButton === true && <SpinButtonStatic className="k-input-spinner" />}
|
|
115
|
+
</InputStatic>
|
|
116
|
+
);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
DateInputStatic.defaultProps = {
|
|
120
|
+
...globalDefaultProps,
|
|
121
|
+
|
|
122
|
+
value: '',
|
|
123
|
+
placeholder: '',
|
|
124
|
+
autocomplete: 'off',
|
|
125
|
+
|
|
126
|
+
showSpinButton: true,
|
|
127
|
+
|
|
128
|
+
showValidationIcon: true,
|
|
129
|
+
showLoadingIcon: true,
|
|
130
|
+
showClearButton: true,
|
|
131
|
+
|
|
132
|
+
size: 'medium',
|
|
133
|
+
rounded: 'medium',
|
|
134
|
+
|
|
135
|
+
fillMode: 'solid'
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
DateInputStatic.propTypes = {
|
|
139
|
+
type: typeof [ 'text' ],
|
|
140
|
+
value: typeof '',
|
|
141
|
+
placeholder: typeof '',
|
|
142
|
+
autocomplete: typeof [ 'on', 'off' ],
|
|
143
|
+
|
|
144
|
+
showSpinButton: typeof true,
|
|
145
|
+
|
|
146
|
+
showValidationIcon: typeof true,
|
|
147
|
+
showLoadingIcon: typeof true,
|
|
148
|
+
showClearButton: typeof true,
|
|
149
|
+
|
|
150
|
+
size: typeof [ 'none', 'small', 'medium', 'large' ],
|
|
151
|
+
rounded: typeof [ 'none', 'small', 'medium', 'large', 'pill' ],
|
|
152
|
+
|
|
153
|
+
fillMode: typeof [ 'none', 'solid', 'flat', 'outline' ],
|
|
154
|
+
|
|
155
|
+
hover: typeof false,
|
|
156
|
+
focus: typeof false,
|
|
157
|
+
valid: typeof false,
|
|
158
|
+
invalid: typeof false,
|
|
159
|
+
required: typeof false,
|
|
160
|
+
disabled: typeof false,
|
|
161
|
+
|
|
162
|
+
aria: typeof false,
|
|
163
|
+
legacy: typeof false,
|
|
164
|
+
|
|
165
|
+
className: typeof '',
|
|
166
|
+
htmlAttributes: typeof []
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
export { DateInput, DateInputStatic };
|
|
170
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './dateinput.jsx';
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
```html
|
|
2
|
+
<!-- default rendering -->
|
|
3
|
+
<span class="k-datepicker k-input k-input-md k-rounded-md k-input-solid">
|
|
4
|
+
<input type="text" class="k-input-inner" value="..." placeholder="..." />
|
|
5
|
+
<button type="button" class="k-input-button k-button k-icon-button k-button-md k-button-solid k-button-solid-base">
|
|
6
|
+
<span class="k-button-icon k-icon k-i-calendar"></span>
|
|
7
|
+
</button>
|
|
8
|
+
</span>
|
|
9
|
+
|
|
10
|
+
<!-- canonical rendering -->
|
|
11
|
+
<span class="
|
|
12
|
+
k-datepicker
|
|
13
|
+
k-input
|
|
14
|
+
k-input-{size}
|
|
15
|
+
k-rounded-{rounded}
|
|
16
|
+
k-input-{fillMode}
|
|
17
|
+
|
|
18
|
+
{valid && 'k-valid'}
|
|
19
|
+
{invalid && 'k-invalid'}
|
|
20
|
+
{loading && 'k-loading'}
|
|
21
|
+
{required && 'k-required'}
|
|
22
|
+
{disabled && 'k-disabled'}
|
|
23
|
+
">
|
|
24
|
+
{showInputIcon && inputIconName !== '' && <span class="k-input-icon k-i-icon k-i-{inputIconName}"></span>}
|
|
25
|
+
{inputPrefix && <span class="k-input-prefix">...</span>}
|
|
26
|
+
<input type={type} class="k-input-inner" value={value} placeholder={placeholder} disabled={disabled} />
|
|
27
|
+
{inputPrefix && <span class="k-input-suffix">...</span>}
|
|
28
|
+
{showValidationIcon && valid && <span class="k-validation-icon k-icon k-i-check"></span>}
|
|
29
|
+
{showValidationIcon && invalid && <span class="k-validation-icon k-icon k-i-warning"></span>}
|
|
30
|
+
{showLoadingIcon && loading && <span class="k-icon k-i-loading"></span>}
|
|
31
|
+
{showClearValue && text !== '' && <span class="k-clear-value"><span class="k-icon k-i-x"></span></span>}
|
|
32
|
+
<button type="button" class="k-input-button k-button k-icon-button k-button-{size} k-button-{fillMode} k-button-{fillMode}-base">
|
|
33
|
+
<span class="k-button-icon k-icon k-i-calendar"></span>
|
|
34
|
+
</button>
|
|
35
|
+
</span>
|
|
36
|
+
```
|