@progress/kendo-themes-html 5.0.0-beta.0 → 5.0.0-beta.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 +21 -10
- package/package.json +7 -7
- package/src/autocomplete/autocomplete.jsx +3 -3
- package/src/avatar/README.md +1 -1
- package/src/avatar/avatar.jsx +15 -21
- package/src/button/button.jsx +40 -22
- package/src/checkbox/checkbox.jsx +3 -3
- package/src/chip/README.md +5 -5
- package/src/chip/chip-actions.jsx +80 -0
- package/src/chip/chip-avatar.jsx +2 -10
- package/src/chip/chip-list.jsx +9 -6
- package/src/chip/chip.jsx +56 -39
- package/src/chip/index.js +2 -3
- package/src/colorpicker/README.md +24 -15
- package/src/colorpicker/color-preview.jsx +28 -21
- package/src/colorpicker/colorpicker.jsx +6 -8
- package/src/combobox/combobox.jsx +6 -8
- package/src/{component.js → component/component.jsx} +4 -2
- package/src/component/index.js +1 -0
- package/src/dateinput/dateinput.jsx +6 -8
- package/src/datepicker/datepicker.jsx +6 -8
- package/src/datetimepicker/datetimepicker.jsx +6 -8
- package/src/dropdownlist/dropdownlist.jsx +6 -8
- package/src/fab/README.md +19 -0
- package/src/fab/fab.jsx +154 -0
- package/src/fab/index.js +1 -0
- package/src/icon/icon.jsx +1 -1
- package/src/index.js +43 -6
- package/src/input/input-inner-input.jsx +1 -1
- package/src/input/input-inner-span.jsx +2 -2
- package/src/input/input-inner-textarea.jsx +1 -1
- package/src/input/input-prefix.jsx +1 -1
- package/src/input/input-suffix.jsx +1 -1
- package/src/input/input.jsx +2 -2
- package/src/input/picker.jsx +4 -4
- package/src/list/README.md +75 -26
- package/src/list/index.js +1 -3
- package/src/list/list-content.jsx +37 -61
- package/src/list/list-group-item.jsx +66 -0
- package/src/list/list-header.jsx +13 -7
- package/src/list/list-item.jsx +37 -16
- package/src/list/list.jsx +109 -6
- package/src/maskedtextbox/maskedtextbox.jsx +9 -12
- package/src/menu/README.md +40 -0
- package/src/{menuitem → menu}/index.js +1 -0
- package/src/{menuitem → menu}/menu-item-content.jsx +1 -1
- package/src/{menuitem → menu}/menu-item.jsx +28 -23
- package/src/{menulist/menulist.jsx → menu/menu-list.jsx} +12 -11
- package/src/{dropdownbutton → menubutton}/README.md +20 -20
- package/src/menubutton/index.js +1 -0
- package/src/menubutton/menubutton.jsx +161 -0
- package/src/multiselect/README.md +37 -0
- package/src/multiselect/multiselect-chip-list.jsx +1 -1
- package/src/multiselect/multiselect.jsx +10 -4
- package/src/nodata/index.js +1 -0
- package/src/nodata/nodata.jsx +64 -0
- package/src/numerictextbox/numerictextbox.jsx +6 -8
- package/src/popup/README.md +15 -0
- package/src/popup/index.js +1 -0
- package/src/popup/popup.jsx +80 -0
- package/src/radio/radio.jsx +7 -3
- package/src/searchbar/searchbar.jsx +1 -1
- package/src/searchbox/searchbox.jsx +2 -2
- package/src/spinbutton/spinbutton.jsx +1 -1
- package/src/splitbutton/README.md +2 -2
- package/src/splitbutton/splitbutton.jsx +58 -34
- package/src/switch/README.md +3 -3
- package/src/switch/switch.jsx +5 -5
- package/src/textarea/textarea.jsx +2 -2
- package/src/textbox/textbox.jsx +2 -2
- package/src/timepicker/timepicker.jsx +6 -8
- package/src/treeview/README.md +0 -0
- package/src/treeview/index.js +4 -0
- package/src/treeview/treeview-group.jsx +70 -0
- package/src/treeview/treeview-item.jsx +142 -0
- package/src/treeview/treeview-leaf.jsx +99 -0
- package/src/treeview/treeview.jsx +125 -0
- package/utils/styles.js +9 -0
- package/src/chip/chip-remove-icon.jsx +0 -45
- package/src/chip/chip-selected-icon.jsx +0 -47
- package/src/dropdownbutton/dropdownbutton.jsx +0 -149
- package/src/dropdownbutton/index.js +0 -1
- package/src/list/list-footer.jsx +0 -61
- package/src/list/list-group-header.jsx +0 -92
- package/src/list/list-item-text.jsx +0 -62
- package/src/menuitem/README.md +0 -26
- package/src/menulist/README.md +0 -11
- package/src/menulist/index.js +0 -1
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as styles from '../../utils/styles';
|
|
2
|
+
import { Component, globalDefaultProps } from '../component/index';
|
|
2
3
|
import { ButtonStatic } from '../button/index';
|
|
3
4
|
|
|
4
5
|
class SplitButton extends Component {
|
|
5
6
|
|
|
6
7
|
init() {
|
|
7
8
|
this._props.text = this.element.innerHTML;
|
|
9
|
+
this._props.children = [];
|
|
8
10
|
}
|
|
9
11
|
|
|
10
12
|
render() {
|
|
@@ -20,7 +22,6 @@ function SplitButtonStatic(props) {
|
|
|
20
22
|
|
|
21
23
|
size,
|
|
22
24
|
rounded,
|
|
23
|
-
shape,
|
|
24
25
|
|
|
25
26
|
fillMode,
|
|
26
27
|
themeColor,
|
|
@@ -45,19 +46,7 @@ function SplitButtonStatic(props) {
|
|
|
45
46
|
ownClassName,
|
|
46
47
|
'k-split-button',
|
|
47
48
|
'k-button-group',
|
|
48
|
-
|
|
49
|
-
'k-focus': focus === true
|
|
50
|
-
}
|
|
51
|
-
];
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
let legacySplitButtonClasses = [
|
|
55
|
-
ownClassName,
|
|
56
|
-
'k-split-button',
|
|
57
|
-
'k-button-group',
|
|
58
|
-
{
|
|
59
|
-
'k-state-focused': focus === true
|
|
60
|
-
}
|
|
49
|
+
styles.roundedClass( rounded )
|
|
61
50
|
];
|
|
62
51
|
|
|
63
52
|
// Augment attributes
|
|
@@ -68,9 +57,42 @@ function SplitButtonStatic(props) {
|
|
|
68
57
|
: {};
|
|
69
58
|
|
|
70
59
|
if (legacy) {
|
|
60
|
+
|
|
61
|
+
let legacySplitButtonClasses = [
|
|
62
|
+
ownClassName,
|
|
63
|
+
'k-split-button',
|
|
64
|
+
'k-button-group'
|
|
65
|
+
];
|
|
66
|
+
|
|
71
67
|
return (
|
|
72
68
|
<div className={legacySplitButtonClasses} {...ariaAttr} {...htmlAttributes}>
|
|
73
|
-
<ButtonStatic
|
|
69
|
+
<ButtonStatic
|
|
70
|
+
text={text}
|
|
71
|
+
icon={icon}
|
|
72
|
+
|
|
73
|
+
size={size}
|
|
74
|
+
rounded={rounded}
|
|
75
|
+
fillMode={fillMode}
|
|
76
|
+
themeColor={themeColor}
|
|
77
|
+
|
|
78
|
+
hover={hover}
|
|
79
|
+
focus={focus}
|
|
80
|
+
active={active}
|
|
81
|
+
selected={selected}
|
|
82
|
+
disabled={disabled}
|
|
83
|
+
></ButtonStatic>
|
|
84
|
+
<ButtonStatic
|
|
85
|
+
className="k-split-button-arrow"
|
|
86
|
+
|
|
87
|
+
icon={arrowIconName}
|
|
88
|
+
|
|
89
|
+
size={size}
|
|
90
|
+
rounded={rounded}
|
|
91
|
+
fillMode={fillMode}
|
|
92
|
+
themeColor={themeColor}
|
|
93
|
+
|
|
94
|
+
disabled={disabled}
|
|
95
|
+
></ButtonStatic>
|
|
74
96
|
</div>
|
|
75
97
|
);
|
|
76
98
|
}
|
|
@@ -79,29 +101,31 @@ function SplitButtonStatic(props) {
|
|
|
79
101
|
<div className={splitButtonClasses} {...ariaAttr} {...htmlAttributes}>
|
|
80
102
|
<ButtonStatic
|
|
81
103
|
text={text}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
active={active}
|
|
85
|
-
selected={selected}
|
|
86
|
-
focus={focus}
|
|
104
|
+
icon={icon}
|
|
105
|
+
|
|
87
106
|
size={size}
|
|
88
107
|
rounded={rounded}
|
|
89
|
-
shape={shape}
|
|
90
108
|
fillMode={fillMode}
|
|
91
109
|
themeColor={themeColor}
|
|
92
|
-
|
|
93
|
-
<ButtonStatic
|
|
94
|
-
disabled={disabled}
|
|
110
|
+
|
|
95
111
|
hover={hover}
|
|
112
|
+
focus={focus}
|
|
96
113
|
active={active}
|
|
97
114
|
selected={selected}
|
|
98
|
-
|
|
115
|
+
disabled={disabled}
|
|
116
|
+
></ButtonStatic>
|
|
117
|
+
<ButtonStatic
|
|
118
|
+
className="k-split-button-arrow"
|
|
119
|
+
|
|
120
|
+
icon={arrowIconName}
|
|
121
|
+
|
|
99
122
|
size={size}
|
|
100
123
|
rounded={rounded}
|
|
101
|
-
shape={shape}
|
|
102
124
|
fillMode={fillMode}
|
|
103
125
|
themeColor={themeColor}
|
|
104
|
-
|
|
126
|
+
|
|
127
|
+
disabled={disabled}
|
|
128
|
+
></ButtonStatic>
|
|
105
129
|
</div>
|
|
106
130
|
);
|
|
107
131
|
}
|
|
@@ -112,12 +136,13 @@ SplitButtonStatic.defaultProps = {
|
|
|
112
136
|
text: '',
|
|
113
137
|
icon: '',
|
|
114
138
|
|
|
139
|
+
arrowIconName: 'arrow-s',
|
|
140
|
+
|
|
115
141
|
className: '',
|
|
116
142
|
type: 'button',
|
|
117
143
|
|
|
118
144
|
size: 'medium',
|
|
119
145
|
rounded: 'medium',
|
|
120
|
-
shape: 'rectangle',
|
|
121
146
|
|
|
122
147
|
fillMode: 'solid',
|
|
123
148
|
themeColor: 'base'
|
|
@@ -129,12 +154,11 @@ SplitButtonStatic.propTypes = {
|
|
|
129
154
|
|
|
130
155
|
arrowIconName: typeof '',
|
|
131
156
|
|
|
132
|
-
size: typeof [
|
|
133
|
-
rounded: typeof [
|
|
134
|
-
shape: typeof [ 'none', 'rectangle', 'square' ],
|
|
157
|
+
size: typeof [ null, 'small', 'medium', 'large' ],
|
|
158
|
+
rounded: typeof [ null, 'small', 'medium', 'large', 'full' ],
|
|
135
159
|
|
|
136
|
-
fillMode: typeof [
|
|
137
|
-
themeColor: typeof [
|
|
160
|
+
fillMode: typeof [ null, 'solid', 'flat', 'outline', 'link' ],
|
|
161
|
+
themeColor: typeof [ null, 'surface', 'base', 'primary' ],
|
|
138
162
|
|
|
139
163
|
hover: typeof false,
|
|
140
164
|
focus: typeof false,
|
package/src/switch/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
```html
|
|
2
2
|
<!-- default rendering -->
|
|
3
|
-
<span class="k-switch k-switch-on k-switch-md k-rounded-
|
|
4
|
-
<span class="k-switch-track k-rounded-
|
|
3
|
+
<span class="k-switch k-switch-on k-switch-md k-rounded-full">
|
|
4
|
+
<span class="k-switch-track k-rounded-full">
|
|
5
5
|
<span class="k-switch-label-on">On</span>
|
|
6
6
|
<span class="k-switch-label-off">Off</span>
|
|
7
7
|
</span>
|
|
8
8
|
<span class="k-switch-thumb-wrap">
|
|
9
|
-
<span class="k-switch-thumb k-rounded-
|
|
9
|
+
<span class="k-switch-thumb k-rounded-full"></span>
|
|
10
10
|
</span>
|
|
11
11
|
</span>
|
|
12
12
|
|
package/src/switch/switch.jsx
CHANGED
|
@@ -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 Switch extends Component {
|
|
5
5
|
render() {
|
|
@@ -105,8 +105,8 @@ SwitchStatic.defaultProps = {
|
|
|
105
105
|
offLabel: '',
|
|
106
106
|
|
|
107
107
|
size: 'medium',
|
|
108
|
-
trackRounded: '
|
|
109
|
-
thumbRounded: '
|
|
108
|
+
trackRounded: 'full',
|
|
109
|
+
thumbRounded: 'full'
|
|
110
110
|
};
|
|
111
111
|
SwitchStatic.propTypes = {
|
|
112
112
|
checked: typeof false,
|
|
@@ -115,8 +115,8 @@ SwitchStatic.propTypes = {
|
|
|
115
115
|
offLabel: typeof '',
|
|
116
116
|
|
|
117
117
|
size: typeof [ null, 'small', 'medium', 'large' ],
|
|
118
|
-
trackRounded: typeof [ null, '
|
|
119
|
-
thumbRounded: typeof [ null, '
|
|
118
|
+
trackRounded: typeof [ null, 'small', 'medium', 'large', 'full' ],
|
|
119
|
+
thumbRounded: typeof [ null, 'small', 'medium', 'large', 'full' ],
|
|
120
120
|
|
|
121
121
|
hover: typeof false,
|
|
122
122
|
focus: typeof false,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { globalDefaultProps } from '../component';
|
|
1
|
+
import { globalDefaultProps } from '../component/index';
|
|
2
2
|
import { Input, InputStatic, InputInnerTextareaStatic } from '../input/index';
|
|
3
3
|
|
|
4
4
|
class Textarea extends Input {
|
|
@@ -117,7 +117,7 @@ TextareaStatic.propTypes = {
|
|
|
117
117
|
suffix: typeof '#fragment',
|
|
118
118
|
|
|
119
119
|
size: typeof [ null, 'small', 'medium', 'large' ],
|
|
120
|
-
rounded: typeof [ null, 'small', 'medium', 'large', '
|
|
120
|
+
rounded: typeof [ null, 'small', 'medium', 'large', 'full' ],
|
|
121
121
|
|
|
122
122
|
fillMode: typeof [ null, 'solid', 'flat', 'outline' ],
|
|
123
123
|
|
package/src/textbox/textbox.jsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { globalDefaultProps } from '../component';
|
|
1
|
+
import { globalDefaultProps } from '../component/index';
|
|
2
2
|
import { Input, InputStatic, InputInnerInputStatic } from '../input/index';
|
|
3
3
|
import { InputValidationIconStatic, InputLoadingIconStatic, InputClearValueStatic } from '../input/index';
|
|
4
4
|
|
|
@@ -140,7 +140,7 @@ TextboxStatic.propTypes = {
|
|
|
140
140
|
suffix: typeof '#fragment',
|
|
141
141
|
|
|
142
142
|
size: typeof [ null, 'small', 'medium', 'large' ],
|
|
143
|
-
rounded: typeof [ null, 'small', 'medium', 'large', '
|
|
143
|
+
rounded: typeof [ null, 'small', 'medium', 'large', 'full' ],
|
|
144
144
|
|
|
145
145
|
fillMode: typeof [ null, 'solid', 'flat', 'outline' ],
|
|
146
146
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { globalDefaultProps } from '../component';
|
|
1
|
+
import { globalDefaultProps } from '../component/index';
|
|
2
2
|
import { Input, InputStatic, InputInnerInputStatic } from '../input/index';
|
|
3
3
|
import { InputValidationIconStatic, InputLoadingIconStatic, InputClearValueStatic } from '../input/index';
|
|
4
4
|
import { ButtonStatic } from '../button/index';
|
|
@@ -76,17 +76,15 @@ function TimePickerStatic(props) {
|
|
|
76
76
|
'k-widget',
|
|
77
77
|
'k-timepicker',
|
|
78
78
|
{
|
|
79
|
+
'k-state-hover': hover === true,
|
|
80
|
+
'k-state-focus': focus === true,
|
|
81
|
+
'k-state-invalid': invalid === true,
|
|
79
82
|
'k-state-disabled': disabled === true
|
|
80
83
|
}
|
|
81
84
|
];
|
|
82
85
|
|
|
83
86
|
let legacyWrapClasses = [
|
|
84
|
-
'k-picker-wrap'
|
|
85
|
-
{
|
|
86
|
-
'k-state-hover': hover === true,
|
|
87
|
-
'k-state-focused': focus === true,
|
|
88
|
-
'k-state-invalid': invalid === true
|
|
89
|
-
}
|
|
87
|
+
'k-picker-wrap'
|
|
90
88
|
];
|
|
91
89
|
|
|
92
90
|
return (
|
|
@@ -150,7 +148,7 @@ TimePickerStatic.propTypes = {
|
|
|
150
148
|
suffix: typeof '#fragment',
|
|
151
149
|
|
|
152
150
|
size: typeof [ null, 'small', 'medium', 'large' ],
|
|
153
|
-
rounded: typeof [ null, 'small', 'medium', 'large', '
|
|
151
|
+
rounded: typeof [ null, 'small', 'medium', 'large', 'full' ],
|
|
154
152
|
|
|
155
153
|
fillMode: typeof [ null, 'solid', 'flat', 'outline' ],
|
|
156
154
|
|
|
File without changes
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { Component, globalDefaultProps } from '../component/index';
|
|
2
|
+
|
|
3
|
+
class TreeviewGroup extends Component {
|
|
4
|
+
render() {
|
|
5
|
+
return <TreeviewGroupStatic {...this.props} />;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
function TreeviewGroupStatic(props) {
|
|
10
|
+
const {
|
|
11
|
+
className: ownClassName,
|
|
12
|
+
|
|
13
|
+
items,
|
|
14
|
+
|
|
15
|
+
aria,
|
|
16
|
+
legacy,
|
|
17
|
+
|
|
18
|
+
...htmlAttributes
|
|
19
|
+
} = props;
|
|
20
|
+
|
|
21
|
+
let treeviewULClasses = [
|
|
22
|
+
ownClassName,
|
|
23
|
+
'k-treeview-group'
|
|
24
|
+
];
|
|
25
|
+
|
|
26
|
+
let ariaAttr = aria
|
|
27
|
+
? {}
|
|
28
|
+
: {};
|
|
29
|
+
|
|
30
|
+
if (legacy) {
|
|
31
|
+
|
|
32
|
+
let legacyTreeviewULClasses = [
|
|
33
|
+
ownClassName,
|
|
34
|
+
'k-group',
|
|
35
|
+
];
|
|
36
|
+
|
|
37
|
+
return (
|
|
38
|
+
<ul className={legacyTreeviewULClasses} {...ariaAttr} {...htmlAttributes}>
|
|
39
|
+
{items}
|
|
40
|
+
</ul>
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return (
|
|
45
|
+
<ul className={treeviewULClasses} {...ariaAttr} {...htmlAttributes}>
|
|
46
|
+
{items}
|
|
47
|
+
</ul>
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
TreeviewGroupStatic.defaultProps = {
|
|
52
|
+
...globalDefaultProps,
|
|
53
|
+
|
|
54
|
+
children: [],
|
|
55
|
+
items: []
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
TreeviewGroupStatic.propTypes = {
|
|
59
|
+
children: typeof [],
|
|
60
|
+
className: typeof '',
|
|
61
|
+
|
|
62
|
+
items: typeof [],
|
|
63
|
+
|
|
64
|
+
aria: typeof false,
|
|
65
|
+
legacy: typeof false,
|
|
66
|
+
|
|
67
|
+
htmlAttributes: typeof []
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
export { TreeviewGroup, TreeviewGroupStatic };
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { Component, globalDefaultProps } from '../component/index';
|
|
2
|
+
import { TreeviewGroupStatic } from './treeview-group.jsx';
|
|
3
|
+
import { TreeviewLeafStatic } from './treeview-leaf.jsx';
|
|
4
|
+
import { IconStatic } from '../icon/index';
|
|
5
|
+
import { CheckboxStatic } from '../checkbox/index';
|
|
6
|
+
|
|
7
|
+
class TreeviewItem extends Component {
|
|
8
|
+
render() {
|
|
9
|
+
return <TreeviewItemStatic {...this.props} />;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function TreeviewItemStatic(props) {
|
|
14
|
+
const {
|
|
15
|
+
className: ownClassName,
|
|
16
|
+
leafClassName,
|
|
17
|
+
|
|
18
|
+
items,
|
|
19
|
+
expanded,
|
|
20
|
+
hasChildren: _hasChildren,
|
|
21
|
+
|
|
22
|
+
text,
|
|
23
|
+
|
|
24
|
+
showIcon,
|
|
25
|
+
iconName,
|
|
26
|
+
showCheckbox,
|
|
27
|
+
checked,
|
|
28
|
+
|
|
29
|
+
hover,
|
|
30
|
+
focus,
|
|
31
|
+
selected,
|
|
32
|
+
disabled,
|
|
33
|
+
|
|
34
|
+
aria,
|
|
35
|
+
legacy,
|
|
36
|
+
|
|
37
|
+
...htmlAttributes
|
|
38
|
+
} = props;
|
|
39
|
+
|
|
40
|
+
const leafProps = {
|
|
41
|
+
className: leafClassName,
|
|
42
|
+
text,
|
|
43
|
+
showIcon,
|
|
44
|
+
iconName,
|
|
45
|
+
hover,
|
|
46
|
+
focus,
|
|
47
|
+
selected
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
const hasChildren = _hasChildren || items.length > 0;
|
|
51
|
+
|
|
52
|
+
let treeviewItemClasses = [
|
|
53
|
+
ownClassName,
|
|
54
|
+
'k-treeview-item',
|
|
55
|
+
{
|
|
56
|
+
'k-disabled': disabled === true
|
|
57
|
+
}
|
|
58
|
+
];
|
|
59
|
+
|
|
60
|
+
let ariaAttr = aria
|
|
61
|
+
? {}
|
|
62
|
+
: {};
|
|
63
|
+
|
|
64
|
+
if (legacy) {
|
|
65
|
+
|
|
66
|
+
let legacyTreeviewItemClasses = [
|
|
67
|
+
ownClassName,
|
|
68
|
+
'k-item',
|
|
69
|
+
{
|
|
70
|
+
'k-state-disabled': disabled === true
|
|
71
|
+
}
|
|
72
|
+
];
|
|
73
|
+
|
|
74
|
+
return (
|
|
75
|
+
<li className={legacyTreeviewItemClasses} {...ariaAttr} {...htmlAttributes}>
|
|
76
|
+
<span className="k-mid">
|
|
77
|
+
{hasChildren && <span className="k-treeview-toggle"><IconStatic name={expanded ? 'collapse' : 'expand'} /></span>}
|
|
78
|
+
{showCheckbox && <CheckboxStatic checked={checked} />}
|
|
79
|
+
<TreeviewLeafStatic {...leafProps} />
|
|
80
|
+
</span>
|
|
81
|
+
{expanded && hasChildren && <TreeviewGroupStatic items={items} />}
|
|
82
|
+
</li>
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
return (
|
|
87
|
+
<li className={treeviewItemClasses} {...ariaAttr} {...htmlAttributes}>
|
|
88
|
+
<span className="k-treeview-mid">
|
|
89
|
+
{hasChildren && <span className="k-treeview-toggle"><IconStatic name={expanded ? 'collapse' : 'expand'} /></span>}
|
|
90
|
+
{showCheckbox && <CheckboxStatic checked={checked} />}
|
|
91
|
+
<TreeviewLeafStatic {...leafProps} />
|
|
92
|
+
</span>
|
|
93
|
+
{expanded && hasChildren && <TreeviewGroupStatic items={items} />}
|
|
94
|
+
</li>
|
|
95
|
+
);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
TreeviewItemStatic.defaultProps = {
|
|
99
|
+
...globalDefaultProps,
|
|
100
|
+
|
|
101
|
+
leafClassName: '',
|
|
102
|
+
|
|
103
|
+
text: '',
|
|
104
|
+
|
|
105
|
+
items: [],
|
|
106
|
+
expanded: false,
|
|
107
|
+
hasChildren: false,
|
|
108
|
+
|
|
109
|
+
showIcon: false,
|
|
110
|
+
iconName: '',
|
|
111
|
+
showCheckbox: false,
|
|
112
|
+
checked: false,
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
TreeviewItemStatic.propTypes = {
|
|
116
|
+
children: typeof [],
|
|
117
|
+
className: typeof '',
|
|
118
|
+
leafClassName: typeof '',
|
|
119
|
+
|
|
120
|
+
text: typeof '',
|
|
121
|
+
|
|
122
|
+
items: [],
|
|
123
|
+
expanded: typeof false,
|
|
124
|
+
hasChildren: typeof false,
|
|
125
|
+
|
|
126
|
+
showIcon: typeof false,
|
|
127
|
+
iconName: typeof '',
|
|
128
|
+
showCheckbox: typeof false,
|
|
129
|
+
checked: typeof false,
|
|
130
|
+
|
|
131
|
+
hover: typeof false,
|
|
132
|
+
focus: typeof false,
|
|
133
|
+
selected: typeof false,
|
|
134
|
+
disabled: typeof false,
|
|
135
|
+
|
|
136
|
+
aria: typeof false,
|
|
137
|
+
legacy: typeof false,
|
|
138
|
+
|
|
139
|
+
htmlAttributes: typeof []
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
export { TreeviewItem, TreeviewItemStatic };
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { Component, globalDefaultProps } from '../component/index';
|
|
2
|
+
import { IconStatic } from '../icon/index';
|
|
3
|
+
|
|
4
|
+
class TreeviewLeaf extends Component {
|
|
5
|
+
render() {
|
|
6
|
+
return <TreeviewLeafStatic {...this.props} />;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
function TreeviewLeafStatic(props) {
|
|
11
|
+
const {
|
|
12
|
+
className: ownClassName,
|
|
13
|
+
|
|
14
|
+
text,
|
|
15
|
+
|
|
16
|
+
showIcon,
|
|
17
|
+
iconName,
|
|
18
|
+
|
|
19
|
+
hover,
|
|
20
|
+
focus,
|
|
21
|
+
selected,
|
|
22
|
+
|
|
23
|
+
aria,
|
|
24
|
+
legacy,
|
|
25
|
+
|
|
26
|
+
...htmlAttributes
|
|
27
|
+
} = props;
|
|
28
|
+
|
|
29
|
+
let treeviewLeafClasses = [
|
|
30
|
+
ownClassName,
|
|
31
|
+
'k-treeview-leaf',
|
|
32
|
+
{
|
|
33
|
+
'k-hover': hover === true,
|
|
34
|
+
'k-focus': focus === true,
|
|
35
|
+
'k-selected': selected === true
|
|
36
|
+
}
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
let ariaAttr = aria
|
|
40
|
+
? {}
|
|
41
|
+
: {};
|
|
42
|
+
|
|
43
|
+
if (legacy) {
|
|
44
|
+
|
|
45
|
+
let legacyTreeviewLeafClasses = [
|
|
46
|
+
ownClassName,
|
|
47
|
+
'k-in',
|
|
48
|
+
{
|
|
49
|
+
'k-state-hover': hover === true,
|
|
50
|
+
'k-state-focus': focus === true,
|
|
51
|
+
'k-state-selected': selected === true
|
|
52
|
+
}
|
|
53
|
+
];
|
|
54
|
+
|
|
55
|
+
return (
|
|
56
|
+
<span className={legacyTreeviewLeafClasses} {...ariaAttr} {...htmlAttributes}>
|
|
57
|
+
{showIcon && <IconStatic name={iconName} />}
|
|
58
|
+
<span className="k-treeview-leaf-text">{text}</span>
|
|
59
|
+
</span>
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return (
|
|
64
|
+
<span className={treeviewLeafClasses} {...ariaAttr} {...htmlAttributes}>
|
|
65
|
+
{showIcon && <IconStatic name={iconName} />}
|
|
66
|
+
<span className="k-treeview-leaf-text">{text}</span>
|
|
67
|
+
</span>
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
TreeviewLeafStatic.defaultProps = {
|
|
72
|
+
...globalDefaultProps,
|
|
73
|
+
|
|
74
|
+
text: '',
|
|
75
|
+
|
|
76
|
+
showIcon: false,
|
|
77
|
+
iconName: ''
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
TreeviewLeafStatic.propTypes = {
|
|
81
|
+
children: typeof [],
|
|
82
|
+
className: typeof '',
|
|
83
|
+
|
|
84
|
+
text: typeof '',
|
|
85
|
+
|
|
86
|
+
showIcon: typeof false,
|
|
87
|
+
iconName: typeof '',
|
|
88
|
+
|
|
89
|
+
hover: typeof false,
|
|
90
|
+
focus: typeof false,
|
|
91
|
+
selected: typeof false,
|
|
92
|
+
|
|
93
|
+
aria: typeof false,
|
|
94
|
+
legacy: typeof false,
|
|
95
|
+
|
|
96
|
+
htmlAttributes: typeof []
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
export { TreeviewLeaf, TreeviewLeafStatic };
|