@progress/kendo-react-layout 5.12.0-dev.202303130940 → 5.12.0-dev.202303141413

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 (31) hide show
  1. package/dist/cdn/js/kendo-react-layout.js +1 -1
  2. package/dist/es/actionsheet/ActionSheet.d.ts +8 -0
  3. package/dist/es/actionsheet/ActionSheet.js +14 -13
  4. package/dist/es/actionsheet/ActionSheetHeader.js +1 -1
  5. package/dist/es/contextmenu/ContextMenu.d.ts +27 -0
  6. package/dist/es/contextmenu/ContextMenu.js +35 -0
  7. package/dist/es/main.d.ts +1 -0
  8. package/dist/es/main.js +1 -0
  9. package/dist/es/menu/MenuProps.d.ts +8 -0
  10. package/dist/es/menu/components/Menu.d.ts +2 -1
  11. package/dist/es/menu/components/Menu.js +28 -12
  12. package/dist/es/menu/components/MenuItemInternal.js +2 -4
  13. package/dist/es/menu/components/MenuItemInternalsList.d.ts +1 -0
  14. package/dist/es/menu/components/MenuItemInternalsList.js +1 -1
  15. package/dist/es/package-metadata.js +1 -1
  16. package/dist/npm/actionsheet/ActionSheet.d.ts +8 -0
  17. package/dist/npm/actionsheet/ActionSheet.js +14 -13
  18. package/dist/npm/actionsheet/ActionSheetHeader.js +1 -1
  19. package/dist/npm/contextmenu/ContextMenu.d.ts +27 -0
  20. package/dist/npm/contextmenu/ContextMenu.js +39 -0
  21. package/dist/npm/main.d.ts +1 -0
  22. package/dist/npm/main.js +1 -0
  23. package/dist/npm/menu/MenuProps.d.ts +8 -0
  24. package/dist/npm/menu/components/Menu.d.ts +2 -1
  25. package/dist/npm/menu/components/Menu.js +28 -12
  26. package/dist/npm/menu/components/MenuItemInternal.js +2 -4
  27. package/dist/npm/menu/components/MenuItemInternalsList.d.ts +1 -0
  28. package/dist/npm/menu/components/MenuItemInternalsList.js +1 -1
  29. package/dist/npm/package-metadata.js +1 -1
  30. package/dist/systemjs/kendo-react-layout.js +1 -1
  31. package/package.json +13 -13
@@ -59,6 +59,7 @@ var Menu = /** @class */ (function (_super) {
59
59
  __extends(Menu, _super);
60
60
  function Menu(props) {
61
61
  var _this = _super.call(this, props) || this;
62
+ _this.menuWrapperEl = null;
62
63
  _this.guid = (0, kendo_react_common_1.guid)();
63
64
  _this.directionHolder = new DirectionHolder_1.DirectionHolder();
64
65
  _this.inputItems = [];
@@ -88,6 +89,9 @@ var Menu = /** @class */ (function (_super) {
88
89
  }
89
90
  }
90
91
  }
92
+ if (event.keyCode === kendo_react_common_1.Keys.esc && _this.props.onClose) {
93
+ _this.props.onClose.call(undefined, event);
94
+ }
91
95
  };
92
96
  _this.onItemMouseOver = function (itemId) {
93
97
  if (_this.mouseOverHandler.IsMouseOverEnabled) {
@@ -129,10 +133,19 @@ var Menu = /** @class */ (function (_super) {
129
133
  }
130
134
  }
131
135
  };
132
- _this.onItemBlur = function (itemId) {
136
+ _this.onItemBlur = function (itemId, event) {
133
137
  if (_this.isItemWithDefaultClose(itemId)) {
134
138
  _this.setFocusedItemId(itemsIdsUtils_1.EMPTY_ID);
135
139
  }
140
+ if (event.relatedTarget && event.relatedTarget.nodeName === 'LI') {
141
+ var activeElementId = event.relatedTarget.getAttribute('id');
142
+ if (activeElementId && activeElementId.includes(_this.guid)) {
143
+ return;
144
+ }
145
+ }
146
+ if (_this.props.onClose) {
147
+ _this.props.onClose.call(undefined, event);
148
+ }
136
149
  };
137
150
  _this.getInputItem = function (itemId) {
138
151
  return (0, itemsIdsUtils_1.getItemById)(itemId, _this.inputItems);
@@ -142,6 +155,13 @@ var Menu = /** @class */ (function (_super) {
142
155
  _this.state = Object.assign({}, initialItemsIds, { isFirstRender: true });
143
156
  return _this;
144
157
  }
158
+ Object.defineProperty(Menu.prototype, "element", {
159
+ get: function () {
160
+ return this.menuWrapperEl;
161
+ },
162
+ enumerable: false,
163
+ configurable: true
164
+ });
145
165
  /**
146
166
  * @hidden
147
167
  */
@@ -154,8 +174,8 @@ var Menu = /** @class */ (function (_super) {
154
174
  var lastItemIdToBeOpened = this.state.hoveredItemId ?
155
175
  this.state.hoveredItemId :
156
176
  this.state.focusedItemId ? (0, itemsIdsUtils_1.getDirectParentId)(this.state.focusedItemId) : itemsIdsUtils_1.EMPTY_ID;
157
- return (React.createElement("div", { onKeyDown: this.onKeyDown, style: this.props.style, className: this.getMenuWrapperClassName(), ref: function (el) { return _this.menuWrapperEl = el; } },
158
- React.createElement(MenuItemInternalsList_1.MenuItemInternalsList, { className: this.getMenuClassName(), "aria-orientation": this.props.vertical ? 'vertical' : undefined, items: this.items, isMenuVertical: this.props.vertical, isDirectionRightToLeft: this.directionHolder.getIsDirectionRightToLeft(), focusedItemId: this.state.focusedItemId, lastItemIdToBeOpened: lastItemIdToBeOpened, tabbableItemId: this.state.tabbableItemId, itemRender: this.props.itemRender, linkRender: this.props.linkRender, menuGuid: this.guid, onMouseLeave: this.onItemMouseLeave, onMouseOver: this.onItemMouseOver, onMouseDown: this.onItemMouseDown, onFocus: this.onItemFocus, onClick: this.onItemClick, onBlur: this.onItemBlur, onOriginalItemNeeded: this.getInputItem })));
177
+ return (React.createElement("div", { onKeyDown: this.onKeyDown, style: this.props.style, className: this.directionHolder.getIsDirectionRightToLeft() ? 'k-rtl' : undefined, ref: function (el) { return _this.menuWrapperEl = el; } },
178
+ React.createElement(MenuItemInternalsList_1.MenuItemInternalsList, { className: this.getMenuClassName(), "aria-orientation": this.props.vertical ? 'vertical' : undefined, items: this.items, isMenuVertical: this.props.vertical, isDirectionRightToLeft: this.directionHolder.getIsDirectionRightToLeft(), focusedItemId: this.state.focusedItemId, lastItemIdToBeOpened: lastItemIdToBeOpened, tabbableItemId: this.state.tabbableItemId, itemRender: this.props.itemRender, linkRender: this.props.linkRender, menuGuid: this.guid, onMouseLeave: this.onItemMouseLeave, onMouseOver: this.onItemMouseOver, onMouseDown: this.onItemMouseDown, onFocus: this.onItemFocus, onClick: this.onItemClick, onBlur: this.onItemBlur, onOriginalItemNeeded: this.getInputItem, role: this.props.role })));
159
179
  };
160
180
  /**
161
181
  * @hidden
@@ -206,13 +226,8 @@ var Menu = /** @class */ (function (_super) {
206
226
  }
207
227
  });
208
228
  };
209
- Menu.prototype.getMenuWrapperClassName = function () {
210
- return (0, kendo_react_common_1.classNames)({
211
- 'k-rtl': this.directionHolder.getIsDirectionRightToLeft()
212
- }, this.props.className);
213
- };
214
229
  Menu.prototype.getMenuClassName = function () {
215
- return (0, kendo_react_common_1.classNames)('k-widget', 'k-reset', 'k-header', 'k-menu', { 'k-menu-horizontal': !this.props.vertical }, { 'k-menu-vertical': this.props.vertical });
230
+ return (0, kendo_react_common_1.classNames)('k-reset', 'k-header', 'k-menu', { 'k-menu-horizontal': !this.props.vertical }, { 'k-menu-vertical': this.props.vertical }, this.props.className);
216
231
  };
217
232
  Menu.prototype.clearItemHoverAndLeaveRequestsIfApplicable = function () {
218
233
  if (this.itemHoverRequest) {
@@ -228,8 +243,8 @@ var Menu = /** @class */ (function (_super) {
228
243
  return !this.props.customCloseItemIds || this.props.customCloseItemIds.indexOf(itemId) === -1;
229
244
  };
230
245
  Menu.prototype.checkIsDirectionRightToLeft = function () {
231
- return this.props.dir !== undefined ? this.props.dir === 'rtl' :
232
- this.menuWrapperEl && getComputedStyle(this.menuWrapperEl).direction === 'rtl';
246
+ return Boolean(this.props.dir !== undefined ? this.props.dir === 'rtl' :
247
+ this.menuWrapperEl && getComputedStyle(this.menuWrapperEl).direction === 'rtl');
233
248
  };
234
249
  Menu.prototype.prepareItems = function () {
235
250
  var _a = (0, prepareInputItemsForInternalWork_1.prepareInputItemsForInternalWork)(this.props.items, this.props.children), items = _a.items, inputItems = _a.inputItems;
@@ -253,7 +268,8 @@ var Menu = /** @class */ (function (_super) {
253
268
  itemRender: PropTypes.any,
254
269
  linkRender: PropTypes.any,
255
270
  customCloseItemIds: PropTypes.arrayOf(PropTypes.string),
256
- onSelect: PropTypes.func
271
+ onSelect: PropTypes.func,
272
+ role: PropTypes.string
257
273
  };
258
274
  /**
259
275
  * @hidden
@@ -68,16 +68,14 @@ var MenuItemInternal = /** @class */ (function (_super) {
68
68
  this.itemElement.focus();
69
69
  }
70
70
  }
71
- else if (document.activeElement === this.itemElement) {
72
- this.itemElement.blur();
73
- }
74
71
  };
75
72
  MenuItemInternal.prototype.render = function () {
76
73
  var _this = this;
77
74
  var item = this.props.item;
78
75
  var itemId = item.id;
76
+ var menuItemId = (0, misc_1.getDOMElementId)(this.props.menuGuid, itemId);
79
77
  return (React.createElement(React.Fragment, null,
80
- React.createElement("li", { className: this.getMenuItemClassName(item), style: item.cssStyle, tabIndex: itemId === this.props.tabbableItemId ? 0 : -1, onMouseOver: this.onMouseOver, onMouseLeave: this.onMouseLeave, onMouseDown: function (event) { return _this.props.onMouseDown(event); }, onBlur: function () { return _this.props.onBlur(itemId); }, onFocus: function () { return _this.props.onFocus(itemId); }, onClick: function (event) { return _this.props.onClick(event, itemId); }, role: "menuitem", "aria-disabled": item.disabled ? true : undefined, "aria-haspopup": item.items.length > 0 ? true : undefined, "aria-expanded": item.items.length > 0 ? this.Opened : undefined, "aria-label": item.text, "aria-owns": this.Opened ? (0, misc_1.getDOMElementId)(this.props.menuGuid, itemId) : undefined, ref: function (el) { return _this.itemElement = el; }, key: "0" }, this.contentRender ? this.renderContent() : this.renderMenuItemLink()),
78
+ React.createElement("li", { id: (0, misc_1.getDOMElementId)(this.props.menuGuid, itemId), className: this.getMenuItemClassName(item), style: item.cssStyle, tabIndex: itemId === this.props.tabbableItemId ? 0 : -1, onMouseOver: this.onMouseOver, onMouseLeave: this.onMouseLeave, onMouseDown: function (event) { return _this.props.onMouseDown(event); }, onBlur: function (e) { return _this.props.onBlur(itemId, e); }, onFocus: function () { return _this.props.onFocus(itemId); }, onClick: function (event) { return _this.props.onClick(event, itemId); }, role: "menuitem", "aria-disabled": item.disabled ? true : undefined, "aria-haspopup": item.items.length > 0 ? true : undefined, "aria-expanded": item.items.length > 0 ? this.Opened : undefined, "aria-label": item.text, "aria-owns": this.Opened ? menuItemId : undefined, ref: function (el) { return _this.itemElement = el; }, key: "0" }, this.contentRender ? this.renderContent() : this.renderMenuItemLink()),
81
79
  this.renderPopupIfOpened()));
82
80
  };
83
81
  MenuItemInternal.prototype.renderContent = function () {
@@ -8,6 +8,7 @@ export interface MenuItemInternalsListProps extends BaseMenuItemInternalProps {
8
8
  items: MenuItemInternalModel[];
9
9
  parentItemId?: string;
10
10
  className: string;
11
+ role?: string;
11
12
  'aria-orientation'?: 'vertical';
12
13
  }
13
14
  /**
@@ -38,7 +38,7 @@ var MenuItemInternalsList = /** @class */ (function (_super) {
38
38
  }
39
39
  MenuItemInternalsList.prototype.render = function () {
40
40
  var parentItemId = this.props.parentItemId;
41
- return (React.createElement("ul", { className: this.props.className, role: parentItemId !== undefined ? 'menu' : 'menubar', id: parentItemId !== undefined ? (0, misc_1.getDOMElementId)(this.props.menuGuid, parentItemId) : undefined, onMouseOver: parentItemId !== undefined ? this.onMouseOver : undefined, onMouseLeave: parentItemId !== undefined ? this.onMouseLeave : undefined, "aria-orientation": this.props['aria-orientation'] }, this.renderChildItems()));
41
+ return (React.createElement("ul", { className: this.props.className, role: this.props.role ? this.props.role : (parentItemId !== undefined ? 'menu' : 'menubar'), id: parentItemId !== undefined ? (0, misc_1.getDOMElementId)(this.props.menuGuid, parentItemId) : undefined, onMouseOver: parentItemId !== undefined ? this.onMouseOver : undefined, onMouseLeave: parentItemId !== undefined ? this.onMouseLeave : undefined, "aria-orientation": this.props['aria-orientation'] }, this.renderChildItems()));
42
42
  };
43
43
  MenuItemInternalsList.prototype.renderChildItems = function () {
44
44
  var _this = this;
@@ -8,7 +8,7 @@ exports.packageMetadata = {
8
8
  name: '@progress/kendo-react-layout',
9
9
  productName: 'KendoReact',
10
10
  productCodes: ['KENDOUIREACT', 'KENDOUICOMPLETE'],
11
- publishDate: 1678699363,
11
+ publishDate: 1678801943,
12
12
  version: '',
13
13
  licensingDocsUrl: 'https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning'
14
14
  };