@progress/kendo-themes-html 4.42.1-dev.4 → 4.43.1-dev.2

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 (55) hide show
  1. package/lib/jsx-runtime.js +32 -3
  2. package/package.json +2 -2
  3. package/src/autocomplete/autocomplete.jsx +4 -4
  4. package/src/avatar/README.md +21 -0
  5. package/src/avatar/avatar.jsx +113 -0
  6. package/src/avatar/index.js +1 -0
  7. package/src/button/button.jsx +6 -6
  8. package/src/checkbox/checkbox.jsx +3 -3
  9. package/src/chip/README.md +47 -0
  10. package/src/chip/chip-actions.jsx +80 -0
  11. package/src/chip/chip-avatar.jsx +13 -0
  12. package/src/chip/chip-list.jsx +84 -0
  13. package/src/chip/chip.jsx +180 -0
  14. package/src/chip/index.js +4 -0
  15. package/src/colorpicker/color-preview.jsx +6 -2
  16. package/src/colorpicker/colorpicker.jsx +12 -13
  17. package/src/combobox/combobox.jsx +5 -5
  18. package/src/{component.js → component/component.jsx} +4 -2
  19. package/src/component/index.js +1 -0
  20. package/src/dateinput/dateinput.jsx +9 -11
  21. package/src/datepicker/datepicker.jsx +9 -11
  22. package/src/datetimepicker/datetimepicker.jsx +9 -11
  23. package/src/dropdownlist/dropdownlist.jsx +9 -6
  24. package/src/icon/icon.jsx +1 -1
  25. package/src/index.js +43 -3
  26. package/src/input/input-inner-input.jsx +1 -1
  27. package/src/input/input-inner-span.jsx +1 -1
  28. package/src/input/input-inner-textarea.jsx +1 -1
  29. package/src/input/input-prefix.jsx +1 -1
  30. package/src/input/input-suffix.jsx +1 -1
  31. package/src/input/input.jsx +4 -4
  32. package/src/input/picker.jsx +4 -4
  33. package/src/list/README.md +93 -0
  34. package/src/list/index.js +5 -0
  35. package/src/list/list-content.jsx +94 -0
  36. package/src/list/list-group-item.jsx +66 -0
  37. package/src/list/list-header.jsx +67 -0
  38. package/src/list/list-item.jsx +117 -0
  39. package/src/list/list.jsx +182 -0
  40. package/src/maskedtextbox/maskedtextbox.jsx +4 -4
  41. package/src/nodata/index.js +1 -0
  42. package/src/nodata/nodata.jsx +64 -0
  43. package/src/numerictextbox/numerictextbox.jsx +5 -5
  44. package/src/popup/README.md +15 -0
  45. package/src/popup/index.js +1 -0
  46. package/src/popup/popup.jsx +80 -0
  47. package/src/radio/radio.jsx +2 -2
  48. package/src/searchbar/searchbar.jsx +1 -1
  49. package/src/searchbox/searchbox.jsx +4 -4
  50. package/src/spinbutton/spinbutton.jsx +9 -3
  51. package/src/switch/switch.jsx +6 -6
  52. package/src/textarea/textarea.jsx +4 -4
  53. package/src/textbox/textbox.jsx +4 -4
  54. package/src/timepicker/timepicker.jsx +9 -11
  55. package/utils/styles.js +14 -5
@@ -0,0 +1,94 @@
1
+ import { Component, globalDefaultProps } from '../component/index';
2
+
3
+ class ListContent extends Component {
4
+ render() {
5
+ return <ListContentStatic {...this.props} />;
6
+ }
7
+ }
8
+
9
+ function ListContentStatic(props) {
10
+ const {
11
+ className: ownClassName,
12
+
13
+ children,
14
+
15
+ virtualization,
16
+
17
+ aria,
18
+ legacy,
19
+
20
+ ...htmlAttributes
21
+ } = props;
22
+
23
+ let listContentClasses = [
24
+ ownClassName,
25
+ 'k-list-content'
26
+ ];
27
+
28
+ let legacyListContentClasses = [
29
+ ownClassName,
30
+ 'k-list-content',
31
+ {
32
+ 'k-list-scroller': virtualization === false,
33
+ 'k-virtual-content': virtualization === true
34
+ }
35
+ ];
36
+
37
+ let listULClasses = [
38
+ 'k-list-ul'
39
+ ];
40
+
41
+ let legacyListULClasses = [
42
+ 'k-list',
43
+ 'k-reset',
44
+ {
45
+ 'k-virtual-list': virtualization === true
46
+ }
47
+ ];
48
+
49
+ let ariaAttr = aria
50
+ ? {}
51
+ : {};
52
+
53
+ if (legacy) {
54
+ return (
55
+ <div className={legacyListContentClasses} {...ariaAttr} {...htmlAttributes}>
56
+ <ul className={legacyListULClasses}>
57
+ {children}
58
+ </ul>
59
+ { virtualization && <div className="k-height-container"><div></div></div> }
60
+ </div>
61
+ );
62
+ }
63
+
64
+ return (
65
+ <div className={listContentClasses} {...ariaAttr} {...htmlAttributes}>
66
+ <ul className={listULClasses}>
67
+ {children}
68
+ </ul>
69
+ { virtualization && <div className="k-height-container"><div></div></div> }
70
+ </div>
71
+ );
72
+ }
73
+
74
+ ListContentStatic.defaultProps = {
75
+ ...globalDefaultProps,
76
+
77
+ children: [],
78
+
79
+ virtualization: false
80
+ };
81
+
82
+ ListContentStatic.propTypes = {
83
+ children: typeof [],
84
+ className: typeof '',
85
+
86
+ virtualization: typeof false,
87
+
88
+ aria: typeof false,
89
+ legacy: typeof false,
90
+
91
+ htmlAttributes: typeof []
92
+ };
93
+
94
+ export { ListContent, ListContentStatic };
@@ -0,0 +1,66 @@
1
+ import { Component, globalDefaultProps } from '../component/index';
2
+
3
+ class ListGroupItem extends Component {
4
+ render() {
5
+ return <ListGroupItemStatic {...this.props} />;
6
+ }
7
+ }
8
+
9
+ function ListGroupItemStatic(props) {
10
+ const {
11
+ className: ownClassName,
12
+
13
+ children,
14
+
15
+ aria,
16
+ legacy,
17
+
18
+ ...htmlAttributes
19
+ } = props;
20
+
21
+ let listGroupItemClasses = [
22
+ ownClassName,
23
+ 'k-list-group-item'
24
+ ];
25
+
26
+ let legacyListGroupItemClasses = [
27
+ ownClassName,
28
+ 'k-group-header'
29
+ ];
30
+
31
+ let ariaAttr = aria
32
+ ? {}
33
+ : {};
34
+
35
+ if (legacy) {
36
+ return (
37
+ <li className={legacyListGroupItemClasses} {...ariaAttr} {...htmlAttributes}>
38
+ {children}
39
+ </li>
40
+ );
41
+ }
42
+
43
+ return (
44
+ <li className={listGroupItemClasses} {...ariaAttr} {...htmlAttributes}>
45
+ <span className="k-list-item-text">{children}</span>
46
+ </li>
47
+ );
48
+ }
49
+
50
+ ListGroupItemStatic.defaultProps = {
51
+ ...globalDefaultProps,
52
+
53
+ children: []
54
+ };
55
+
56
+ ListGroupItemStatic.propTypes = {
57
+ children: typeof [],
58
+ className: typeof '',
59
+
60
+ aria: typeof false,
61
+ legacy: typeof false,
62
+
63
+ htmlAttributes: typeof []
64
+ };
65
+
66
+ export { ListGroupItem, ListGroupItemStatic };
@@ -0,0 +1,67 @@
1
+ import { Component, globalDefaultProps } from '../component/index';
2
+
3
+ class ListHeader extends Component {
4
+ render() {
5
+ return <ListHeaderStatic {...this.props} />;
6
+ }
7
+ }
8
+
9
+ function ListHeaderStatic(props) {
10
+ const {
11
+ className: ownClassName,
12
+
13
+ children,
14
+
15
+ aria,
16
+ legacy,
17
+
18
+ ...htmlAttributes
19
+ } = props;
20
+
21
+ let listHeaderClasses = [
22
+ ownClassName,
23
+ // 'k-list-header',
24
+ 'k-list-group-sticky-header'
25
+ ];
26
+
27
+ let legacyListHeaderClasses = [
28
+ ownClassName,
29
+ 'k-group-header'
30
+ ];
31
+
32
+ let ariaAttr = aria
33
+ ? {}
34
+ : {};
35
+
36
+ if (legacy) {
37
+ return (
38
+ <div className={legacyListHeaderClasses} {...ariaAttr} {...htmlAttributes}>
39
+ {children}
40
+ </div>
41
+ );
42
+ }
43
+
44
+ return (
45
+ <div className={listHeaderClasses} {...ariaAttr} {...htmlAttributes}>
46
+ <div className="k-list-header-text">{children}</div>
47
+ </div>
48
+ );
49
+ }
50
+
51
+ ListHeaderStatic.defaultProps = {
52
+ ...globalDefaultProps,
53
+
54
+ children: []
55
+ };
56
+
57
+ ListHeaderStatic.propTypes = {
58
+ children: typeof [],
59
+ className: typeof '',
60
+
61
+ aria: typeof false,
62
+ legacy: typeof false,
63
+
64
+ htmlAttributes: typeof []
65
+ };
66
+
67
+ export { ListHeader, ListHeaderStatic };
@@ -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 };
@@ -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', 'full' ],
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 };
@@ -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', 'full' ],
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';