@progress/kendo-vue-layout 3.1.3 → 3.1.5-dev.202204110939

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 (43) hide show
  1. package/NOTICE.txt +49 -6
  2. package/dist/cdn/js/kendo-vue-layout.js +1 -1
  3. package/dist/es/card/Avatar.js +1 -1
  4. package/dist/es/main.d.ts +9 -0
  5. package/dist/es/main.js +9 -0
  6. package/dist/es/package-metadata.js +1 -1
  7. package/dist/es/panelbar/PanelBar.d.ts +4 -4
  8. package/dist/es/panelbar/PanelBar.js +62 -95
  9. package/dist/es/panelbar/PanelBarGroup.d.ts +47 -0
  10. package/dist/es/panelbar/PanelBarGroup.js +126 -0
  11. package/dist/es/panelbar/PanelBarItem.d.ts +0 -1
  12. package/dist/es/panelbar/PanelBarItem.js +118 -125
  13. package/dist/es/panelbar/interfaces/PanelBarItemProps.d.ts +9 -13
  14. package/dist/es/panelbar/interfaces/PanelBarProps.d.ts +4 -0
  15. package/dist/es/panelbar/interfaces/RenderPanelBarItem.d.ts +2 -2
  16. package/dist/es/panelbar/util.d.ts +7 -21
  17. package/dist/es/panelbar/util.js +136 -146
  18. package/dist/es/splitter/Splitter.d.ts +1 -5
  19. package/dist/es/splitter/Splitter.js +114 -146
  20. package/dist/es/splitter/SplitterBar.js +118 -68
  21. package/dist/es/splitter/SplitterPane.d.ts +8 -30
  22. package/dist/es/splitter/SplitterPane.js +10 -4
  23. package/dist/npm/card/Avatar.js +1 -1
  24. package/dist/npm/main.d.ts +9 -0
  25. package/dist/npm/main.js +9 -0
  26. package/dist/npm/package-metadata.js +1 -1
  27. package/dist/npm/panelbar/PanelBar.d.ts +4 -4
  28. package/dist/npm/panelbar/PanelBar.js +62 -94
  29. package/dist/npm/panelbar/PanelBarGroup.d.ts +47 -0
  30. package/dist/npm/panelbar/PanelBarGroup.js +138 -0
  31. package/dist/npm/panelbar/PanelBarItem.d.ts +0 -1
  32. package/dist/npm/panelbar/PanelBarItem.js +117 -124
  33. package/dist/npm/panelbar/interfaces/PanelBarItemProps.d.ts +9 -13
  34. package/dist/npm/panelbar/interfaces/PanelBarProps.d.ts +4 -0
  35. package/dist/npm/panelbar/interfaces/RenderPanelBarItem.d.ts +2 -2
  36. package/dist/npm/panelbar/util.d.ts +7 -21
  37. package/dist/npm/panelbar/util.js +137 -147
  38. package/dist/npm/splitter/Splitter.d.ts +1 -5
  39. package/dist/npm/splitter/Splitter.js +113 -145
  40. package/dist/npm/splitter/SplitterBar.js +118 -68
  41. package/dist/npm/splitter/SplitterPane.d.ts +8 -30
  42. package/dist/npm/splitter/SplitterPane.js +9 -3
  43. package/package.json +10 -10
@@ -1,5 +1,21 @@
1
1
  "use strict";
2
2
 
3
+ var __assign = undefined && undefined.__assign || function () {
4
+ __assign = Object.assign || function (t) {
5
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
6
+ s = arguments[i];
7
+
8
+ for (var p in s) {
9
+ if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
10
+ }
11
+ }
12
+
13
+ return t;
14
+ };
15
+
16
+ return __assign.apply(this, arguments);
17
+ };
18
+
3
19
  Object.defineProperty(exports, "__esModule", {
4
20
  value: true
5
21
  });
@@ -12,55 +28,14 @@ var gh = allVue.h;
12
28
 
13
29
  var kendo_vue_common_1 = require("@progress/kendo-vue-common");
14
30
 
15
- var kendo_vue_animation_1 = require("@progress/kendo-vue-animation");
16
- /**
17
- * @hidden
18
- */
19
-
20
-
21
- function iconElement(_a) {
22
- var imageUrl = _a.imageUrl,
23
- icon = _a.icon,
24
- iconClass = _a.iconClass;
25
-
26
- if (imageUrl) {
27
- return h("img", {
28
- role: "presentation",
29
- attrs: this.v3 ? undefined : {
30
- role: "presentation",
31
- src: imageUrl
32
- },
33
- "class": 'k-panelbar-item-icon k-image',
34
- src: imageUrl
35
- });
36
- } else if (icon) {
37
- var iconClasses = kendo_vue_common_1.classNames('k-panelbar-item-icon', 'k-icon', 'k-i-' + icon);
38
- return h("span", {
39
- role: "presentation",
40
- attrs: this.v3 ? undefined : {
41
- role: "presentation"
42
- },
43
- "class": iconClasses
44
- });
45
- } else if (iconClass) {
46
- return h("span", {
47
- role: "presentation",
48
- attrs: this.v3 ? undefined : {
49
- role: "presentation"
50
- },
51
- "class": 'k-panelbar-item-icon ' + iconClass
52
- });
53
- }
54
-
55
- return null;
56
- } // tslint:enable:max-line-length
31
+ var PanelBarGroup_1 = require("./PanelBarGroup"); // tslint:enable:max-line-length
57
32
 
58
33
 
59
34
  var PanelBarItemVue2 = {
60
35
  name: 'KendoPanelBarItem',
61
36
  props: {
37
+ items: Array,
62
38
  animation: Boolean,
63
- className: String,
64
39
  expanded: Boolean,
65
40
  disabled: Boolean,
66
41
  selected: Boolean,
@@ -73,12 +48,21 @@ var PanelBarItemVue2 = {
73
48
  },
74
49
  id: String,
75
50
  focused: Boolean,
76
- keepItemsMounted: Boolean
51
+ keepItemsMounted: Boolean,
52
+ uniquePrivateKey: String,
53
+ parentUniquePrivateKey: Array,
54
+ parentExpanded: Boolean,
55
+ headerClassName: String,
56
+ iconClass: String,
57
+ imageUrl: String,
58
+ icon: String,
59
+ content: Object,
60
+ header: Object
77
61
  },
78
- data: function data() {
79
- return {
80
- show: this.$props.expanded
81
- };
62
+ inject: {
63
+ dispatchItemSelect: {
64
+ default: null
65
+ }
82
66
  },
83
67
  // @ts-ignore
84
68
  setup: !gh ? undefined : function () {
@@ -91,12 +75,11 @@ var PanelBarItemVue2 = {
91
75
  render: function render(createElement) {
92
76
  var _a;
93
77
 
94
- var _this = this;
95
-
96
78
  var h = gh || createElement;
97
- var _b = this.props,
79
+ var _b = this.$props,
98
80
  id = _b.id,
99
- children = _b.children,
81
+ items = _b.items,
82
+ content = _b.content,
100
83
  title = _b.title,
101
84
  uniquePrivateKey = _b.uniquePrivateKey,
102
85
  disabled = _b.disabled,
@@ -108,117 +91,127 @@ var PanelBarItemVue2 = {
108
91
  headerClassName = _b.headerClassName,
109
92
  animation = _b.animation,
110
93
  keepItemsMounted = _b.keepItemsMounted;
111
- var panelBarItemAriaAttributes = {
112
- 'role': 'treeitem',
113
- 'aria-disabled': disabled,
114
- 'aria-hidden': !disabled && !expanded,
115
- 'aria-selected': !disabled && selected,
116
- 'aria-expanded': !disabled && expanded && !!children
117
- };
94
+ var hasContent = !!items || content;
118
95
  var panelBarItemClassName = kendo_vue_common_1.classNames('k-item', {
119
96
  'k-panelbar-header': level === 0,
120
97
  'k-panelbar-item': level !== 0,
121
- 'k-state-expanded': expanded && !!children
98
+ 'k-state-expanded': expanded && hasContent
122
99
  }, "k-level-" + level, className);
123
100
  var panelBarLinkClassName = kendo_vue_common_1.classNames('k-link', {
124
101
  'k-state-selected': !disabled && selected,
125
102
  'k-state-focus': !disabled && focused,
126
103
  'k-state-disabled': disabled
127
104
  }, headerClassName);
128
- var panelBarItemArrowClassName = kendo_vue_common_1.classNames('k-panelbar-toggle', 'k-icon', (_a = {}, _a['k-i-arrow-chevron-up'] = expanded && !!children, _a['k-panelbar-collapse'] = expanded && !!children, _a['k-i-arrow-chevron-down'] = !expanded && !!children, _a['k-panelbar-expand'] = !expanded && !!children, _a));
129
- var animationStyle = {
130
- display: 'block'
105
+ var panelBarItemArrowClassName = kendo_vue_common_1.classNames('k-panelbar-toggle', 'k-icon', (_a = {}, _a['k-i-arrow-chevron-up'] = expanded && hasContent, _a['k-panelbar-collapse'] = expanded && hasContent, _a['k-i-arrow-chevron-down'] = !expanded && hasContent, _a['k-panelbar-expand'] = !expanded && hasContent, _a));
106
+
107
+ var iconElement = function iconElement() {
108
+ if (this.imageUrl) {
109
+ return h("img", {
110
+ role: "presentation",
111
+ attrs: this.v3 ? undefined : {
112
+ role: "presentation",
113
+ src: this.imageUrl
114
+ },
115
+ "class": 'k-panelbar-item-icon k-image',
116
+ src: this.imageUrl
117
+ });
118
+ } else if (icon) {
119
+ var iconClasses = kendo_vue_common_1.classNames('k-panelbar-item-icon', 'k-icon', 'k-i-' + icon);
120
+ return h("span", {
121
+ role: "presentation",
122
+ attrs: this.v3 ? undefined : {
123
+ role: "presentation"
124
+ },
125
+ "class": iconClasses
126
+ });
127
+ } else if (this.iconClass) {
128
+ return h("span", {
129
+ role: "presentation",
130
+ attrs: this.v3 ? undefined : {
131
+ role: "presentation"
132
+ },
133
+ "class": 'k-panelbar-item-icon ' + this.iconClass
134
+ });
135
+ }
136
+
137
+ return null;
131
138
  };
132
- var icon = iconElement(this.props);
133
- var arrow = !disabled && children ? h("span", {
139
+
140
+ var icon = iconElement.call(this);
141
+ var arrow = !disabled && (items || content) ? h("span", {
134
142
  "class": panelBarItemArrowClassName
135
143
  }) : null;
136
- var opened = !disabled && expanded;
137
- var content = opened || keepItemsMounted ? h("ul", {
138
- role: "group",
144
+ var group = items || content ? h(PanelBarGroup_1.PanelBarGroup, {
145
+ items: items,
139
146
  attrs: this.v3 ? undefined : {
140
- role: "group",
141
- className: "k-panelbar-group k-panel k-group"
147
+ items: items,
148
+ item: __assign({}, this.$props),
149
+ content: content,
150
+ uniquePrivateKey: uniquePrivateKey,
151
+ disabled: disabled,
152
+ expanded: expanded,
153
+ animation: animation,
154
+ keepItemsMounted: keepItemsMounted
142
155
  },
143
- className: "k-panelbar-group k-panel k-group",
144
- style: {
145
- display: keepItemsMounted ? this.state.show ? 'block' : 'none' : 'block'
146
- }
147
- }, [children]) : null;
148
- var child = (animation !== undefined ? animation : true) && !disabled && children ? h(kendo_vue_animation_1.Reveal, {
149
- transitionEnterDuration: 200,
150
- attrs: this.v3 ? undefined : {
151
- transitionEnterDuration: 200,
152
- transitionExitDuration: 200,
153
- children: content,
154
- childFactory: keepItemsMounted && this.childFactory,
155
- unmountOnExit: !keepItemsMounted
156
- },
157
- transitionExitDuration: 200,
158
- key: uniquePrivateKey + '_animation',
159
- style: animationStyle,
160
- children: content,
161
- childFactory: keepItemsMounted && this.childFactory,
162
- unmountOnExit: !keepItemsMounted,
163
- onBeforeEnter: function onBeforeEnter() {
164
- return keepItemsMounted && _this.setState({
165
- show: true
166
- });
167
- },
168
- on: this.v3 ? undefined : {
169
- "beforeEnter": function onBeforeEnter() {
170
- return keepItemsMounted && _this.setState({
171
- show: true
172
- });
173
- },
174
- "afterExited": function afterExited() {
175
- return keepItemsMounted && _this.setState({
176
- show: false
177
- });
178
- }
179
- },
180
- onAfterExited: function afterExited() {
181
- return keepItemsMounted && _this.setState({
182
- show: false
183
- });
184
- }
185
- }) : content;
156
+ item: __assign({}, this.$props),
157
+ content: content,
158
+ uniquePrivateKey: uniquePrivateKey,
159
+ disabled: disabled,
160
+ expanded: expanded,
161
+ animation: animation,
162
+ keepItemsMounted: keepItemsMounted
163
+ }) : null;
164
+ var header = kendo_vue_common_1.getTemplate.call(this, {
165
+ h: h,
166
+ template: this.$props.header,
167
+ defaultRendering: null,
168
+ additionalProps: __assign({}, this.$props)
169
+ });
186
170
  return h("li", {
187
171
  id: id,
188
172
  attrs: this.v3 ? undefined : {
189
- id: id
173
+ id: id,
174
+ role: 'treeitem',
175
+ "aria-disabled": disabled,
176
+ "aria-hidden": !disabled && !expanded,
177
+ "aria-selected": !disabled && selected,
178
+ "aria-expanded": !disabled && expanded && hasContent
190
179
  },
191
- "class": panelBarItemClassName
180
+ "class": panelBarItemClassName,
181
+ role: 'treeitem',
182
+ "aria-disabled": disabled,
183
+ "aria-hidden": !disabled && !expanded,
184
+ "aria-selected": !disabled && selected,
185
+ "aria-expanded": !disabled && expanded && hasContent
192
186
  }, [h("span", {
193
187
  "class": panelBarLinkClassName,
194
188
  onClick: this.handleItemClick,
195
189
  on: this.v3 ? undefined : {
196
190
  "click": this.handleItemClick
197
191
  }
198
- }, [icon, h("span", {
192
+ }, [icon, this.$props.header ? header : h("span", {
199
193
  "class": 'k-panelbar-item-text'
200
- }, [title]), arrow]), child]);
194
+ }, [title]), arrow]), group]);
201
195
  },
202
196
  methods: {
203
197
  handleItemClick: function handleItemClick() {
204
- var _a = this.props,
205
- onSelect = _a.onSelect,
198
+ var _a = this.$props,
206
199
  disabled = _a.disabled,
207
200
  id = _a.id;
208
201
 
209
- if (onSelect && !disabled) {
210
- onSelect.call(undefined, {
211
- uniquePrivateKey: this.props.uniquePrivateKey,
202
+ if (!disabled) {
203
+ this.dispatchItemSelect({
204
+ uniquePrivateKey: this.$props.uniquePrivateKey,
212
205
  id: id,
213
206
  target: this
214
207
  });
215
208
  }
216
209
  },
217
210
  childFactory: function childFactory(child) {
218
- // if (this.props.keepItemsMounted) {
211
+ // if (this.$props.keepItemsMounted) {
219
212
  // return React.cloneElement(child, {
220
213
  // ...child.props,
221
- // in: this.props.expanded
214
+ // in: this.$props.expanded
222
215
  // });
223
216
  // }
224
217
  return child;
@@ -3,13 +3,13 @@
3
3
  */
4
4
  export interface PanelBarItemProps {
5
5
  /**
6
- * Allows individual animation control over the child ([see example]({% slug animations_panelbar %})). By default, it is controlled by the PanelBar component.
6
+ * Sets the subitems of the item.
7
7
  */
8
- animation?: boolean;
8
+ items?: any[];
9
9
  /**
10
- * The class name that is set to the PanelBarItem component.
10
+ * Allows individual animation control over the child ([see example]({% slug animations_panelbar %})). By default, it is controlled by the PanelBar component.
11
11
  */
12
- className?: string;
12
+ animation?: boolean;
13
13
  /**
14
14
  * The class name that is set to the PanelBarItem header.
15
15
  */
@@ -22,10 +22,6 @@ export interface PanelBarItemProps {
22
22
  * Sets the disabled state of the PanelBarItem ([see example]({% slug statesitems_panelbar %}#toc-disabled-items)).
23
23
  */
24
24
  disabled?: boolean;
25
- /**
26
- * @hidden
27
- */
28
- onSelect?: Function;
29
25
  /**
30
26
  * @hidden
31
27
  */
@@ -63,9 +59,13 @@ export interface PanelBarItemProps {
63
59
  */
64
60
  parentExpanded?: boolean;
65
61
  /**
66
- * @hidden
62
+ * Defines the custom rendering of the content of the PanelBarItem. Accepts a Vue component, a `render` function, or a slot name.
67
63
  */
68
64
  content?: any;
65
+ /**
66
+ * Defines the custom rendering of the header of the PanelBarItem. Accepts a Vue component, a `render` function, or a slot name.
67
+ */
68
+ header?: any;
69
69
  /**
70
70
  * Used to identify the PanelBarItems inside the PanelBar ([see example]({% slug controlling_state_panelbar %})). Does not depend on the state of the PanelBarItem.
71
71
  */
@@ -78,8 +78,4 @@ export interface PanelBarItemProps {
78
78
  * @hidden
79
79
  */
80
80
  keepItemsMounted?: boolean;
81
- /**
82
- * Sets a custom property. Contained in the PanelBarItem props that are returned from the `onSelect` PanelBar event.
83
- */
84
- [customProp: string]: any;
85
81
  }
@@ -15,6 +15,10 @@ export interface PanelBarProps {
15
15
  * Sets the animation state of the PanelBar.
16
16
  */
17
17
  animation?: boolean;
18
+ /**
19
+ * Sets the items of the PanelBar.
20
+ */
21
+ items?: any[];
18
22
  /**
19
23
  * Sets the expand mode of the PanelBar ([see example]({% slug expandmodes_panelbar %})).
20
24
  *
@@ -1,11 +1,11 @@
1
- import { PanelBarState } from '../PanelBar';
1
+ import { PanelBarData } from '../PanelBar';
2
2
  /**
3
3
  * @hidden
4
4
  */
5
5
  export interface RenderPanelBarItem {
6
6
  animation?: boolean;
7
7
  keepItemsMounted?: boolean;
8
- state: PanelBarState;
8
+ state: PanelBarData;
9
9
  expanded: string[];
10
10
  handleSelect: any;
11
11
  parentExpanded?: boolean;
@@ -1,18 +1,18 @@
1
- import { PanelBarState } from './PanelBar';
2
- import { PanelBarItemProps } from './interfaces/PanelBarItemProps';
1
+ import { PanelBarAll, PanelBarData } from './PanelBar';
2
+ import { RenderPanelBarItem } from './interfaces/RenderPanelBarItem';
3
3
  import { PanelBarExpandMode } from './interfaces/PanelBarProps';
4
4
  /**
5
5
  * @hidden
6
6
  */
7
- export declare const renderChildren: () => any;
7
+ export declare const renderChildren: (this: PanelBarAll, items: any[], { animation, keepItemsMounted, state, expanded, handleSelect, parentExpanded, level, parentPrivateKey }: RenderPanelBarItem) => any;
8
8
  /**
9
9
  * @hidden
10
10
  */
11
- export declare const getFirstId: (_props: any) => any;
11
+ export declare const getFirstId: (props: any) => any;
12
12
  /**
13
13
  * @hidden
14
14
  */
15
- export declare const getInitialState: (props: any, _expandMode: PanelBarExpandMode, result?: PanelBarState, _parentExpanded?: boolean, _parentPrivateKey?: string[]) => PanelBarState;
15
+ export declare const getInitialState: (props: any, expandMode: PanelBarExpandMode, result?: PanelBarData, parentExpanded?: boolean, parentPrivateKey?: string[]) => PanelBarData;
16
16
  /**
17
17
  * @hidden
18
18
  */
@@ -20,29 +20,15 @@ export declare function flatVisibleItems(data: any, flattedItems?: any[]): any[]
20
20
  /**
21
21
  * @hidden
22
22
  */
23
- export declare function flatChildren(_children: any, flattenChildren?: any[]): any[];
23
+ export declare function flatChildren(children: any, flattenChildren?: any[]): any[];
24
24
  /**
25
25
  * @hidden
26
26
  */
27
- export declare function flatVisibleChildren(_children: any, flattenVisibleChildren?: any[]): any[];
27
+ export declare function flatVisibleChildren(children: any, flattenVisibleChildren?: any[]): any[];
28
28
  /**
29
29
  * @hidden
30
30
  */
31
31
  export declare const isPresent: Function;
32
- /**
33
- * Represents the PanelBarUtils functions.
34
- */
35
- export declare namespace PanelBarUtils {
36
- /**
37
- * Maps a collection of PanelBarItemProps to PanelBarItem components
38
- * ([see example]({% slug customization_panelbar %})).
39
- * Contained in the `PanelBarUtils` object.
40
- *
41
- * @param items - A collection of PanelBarItemProps.
42
- * @return {PanelBarItem[]} Returns an array of PanelBarItem components.
43
- */
44
- function mapItemsToComponents(items: Array<PanelBarItemProps>): any[];
45
- }
46
32
  /**
47
33
  * @hidden
48
34
  */