@syncfusion/ej2-navigations 29.2.8 → 30.1.37

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 (151) hide show
  1. package/.eslintrc.json +2 -0
  2. package/dist/ej2-navigations.min.js +2 -2
  3. package/dist/ej2-navigations.umd.min.js +2 -2
  4. package/dist/ej2-navigations.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-navigations.es2015.js +107 -30
  6. package/dist/es6/ej2-navigations.es2015.js.map +1 -1
  7. package/dist/es6/ej2-navigations.es5.js +108 -30
  8. package/dist/es6/ej2-navigations.es5.js.map +1 -1
  9. package/dist/global/ej2-navigations.min.js +2 -2
  10. package/dist/global/ej2-navigations.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +7 -7
  13. package/src/carousel/carousel.js +1 -7
  14. package/src/sidebar/sidebar.js +5 -1
  15. package/src/stepper/stepper.js +6 -5
  16. package/src/tab/tab.js +3 -1
  17. package/src/toolbar/toolbar-model.d.ts +8 -1
  18. package/src/toolbar/toolbar.d.ts +19 -0
  19. package/src/toolbar/toolbar.js +69 -13
  20. package/src/treeview/treeview.js +24 -3
  21. package/styles/bds-lite.css +29 -1
  22. package/styles/bds.css +31 -3
  23. package/styles/bootstrap-dark-lite.css +29 -1
  24. package/styles/bootstrap-dark.css +33 -5
  25. package/styles/bootstrap-lite.css +29 -1
  26. package/styles/bootstrap.css +31 -3
  27. package/styles/bootstrap4-lite.css +29 -1
  28. package/styles/bootstrap4.css +31 -3
  29. package/styles/bootstrap5-dark-lite.css +23 -1
  30. package/styles/bootstrap5-dark.css +26 -4
  31. package/styles/bootstrap5-lite.css +23 -1
  32. package/styles/bootstrap5.3-lite.css +23 -1
  33. package/styles/bootstrap5.3.css +25 -3
  34. package/styles/bootstrap5.css +26 -4
  35. package/styles/breadcrumb/_layout.scss +14 -0
  36. package/styles/breadcrumb/bds.css +15 -0
  37. package/styles/breadcrumb/bootstrap-dark.css +15 -0
  38. package/styles/breadcrumb/bootstrap.css +15 -0
  39. package/styles/breadcrumb/bootstrap4.css +15 -0
  40. package/styles/breadcrumb/bootstrap5-dark.css +15 -0
  41. package/styles/breadcrumb/bootstrap5.3.css +15 -0
  42. package/styles/breadcrumb/bootstrap5.css +15 -0
  43. package/styles/breadcrumb/fabric-dark.css +15 -0
  44. package/styles/breadcrumb/fabric.css +15 -0
  45. package/styles/breadcrumb/fluent-dark.css +15 -0
  46. package/styles/breadcrumb/fluent.css +15 -0
  47. package/styles/breadcrumb/fluent2.css +15 -0
  48. package/styles/breadcrumb/highcontrast-light.css +15 -0
  49. package/styles/breadcrumb/highcontrast.css +15 -0
  50. package/styles/breadcrumb/material-dark.css +15 -0
  51. package/styles/breadcrumb/material.css +15 -0
  52. package/styles/breadcrumb/material3-dark.css +15 -0
  53. package/styles/breadcrumb/material3.css +15 -0
  54. package/styles/breadcrumb/tailwind-dark.css +15 -0
  55. package/styles/breadcrumb/tailwind.css +15 -0
  56. package/styles/breadcrumb/tailwind3.css +15 -0
  57. package/styles/fabric-dark-lite.css +29 -1
  58. package/styles/fabric-dark.css +31 -3
  59. package/styles/fabric-lite.css +29 -1
  60. package/styles/fabric.css +31 -3
  61. package/styles/fluent-dark-lite.css +29 -1
  62. package/styles/fluent-dark.css +32 -4
  63. package/styles/fluent-lite.css +29 -1
  64. package/styles/fluent.css +32 -4
  65. package/styles/fluent2-lite.css +29 -1
  66. package/styles/fluent2.css +31 -3
  67. package/styles/highcontrast-light-lite.css +29 -1
  68. package/styles/highcontrast-light.css +31 -3
  69. package/styles/highcontrast-lite.css +29 -1
  70. package/styles/highcontrast.css +31 -3
  71. package/styles/material-dark-lite.css +31 -3
  72. package/styles/material-dark.css +33 -5
  73. package/styles/material-lite.css +29 -1
  74. package/styles/material.css +31 -3
  75. package/styles/material3-dark-lite.css +29 -1
  76. package/styles/material3-dark.css +31 -4
  77. package/styles/material3-lite.css +29 -1
  78. package/styles/material3.css +31 -4
  79. package/styles/pager/_bds-definition.scss +1 -1
  80. package/styles/pager/_bigger.scss +0 -1
  81. package/styles/pager/_bootstrap-dark-definition.scss +1 -1
  82. package/styles/pager/_bootstrap-definition.scss +1 -1
  83. package/styles/pager/_bootstrap4-definition.scss +1 -1
  84. package/styles/pager/_bootstrap5-definition.scss +2 -2
  85. package/styles/pager/_bootstrap5.3-definition.scss +1 -1
  86. package/styles/pager/_fabric-dark-definition.scss +1 -1
  87. package/styles/pager/_fabric-definition.scss +1 -1
  88. package/styles/pager/_fluent-definition.scss +2 -2
  89. package/styles/pager/_fluent2-definition.scss +1 -1
  90. package/styles/pager/_fusionnew-definition.scss +1 -1
  91. package/styles/pager/_highcontrast-definition.scss +1 -1
  92. package/styles/pager/_highcontrast-light-definition.scss +1 -1
  93. package/styles/pager/_layout.scss +8 -0
  94. package/styles/pager/_material-dark-definition.scss +1 -1
  95. package/styles/pager/_material-definition.scss +1 -1
  96. package/styles/pager/_material3-definition.scss +1 -1
  97. package/styles/pager/_tailwind-definition.scss +1 -1
  98. package/styles/pager/_tailwind3-definition.scss +2 -2
  99. package/styles/pager/bds.css +13 -3
  100. package/styles/pager/bootstrap-dark.css +13 -3
  101. package/styles/pager/bootstrap.css +13 -3
  102. package/styles/pager/bootstrap4.css +13 -3
  103. package/styles/pager/bootstrap5-dark.css +8 -4
  104. package/styles/pager/bootstrap5.3.css +7 -3
  105. package/styles/pager/bootstrap5.css +8 -4
  106. package/styles/pager/fabric-dark.css +13 -3
  107. package/styles/pager/fabric.css +13 -3
  108. package/styles/pager/fluent-dark.css +14 -4
  109. package/styles/pager/fluent.css +14 -4
  110. package/styles/pager/fluent2.css +13 -3
  111. package/styles/pager/highcontrast-light.css +13 -3
  112. package/styles/pager/highcontrast.css +13 -3
  113. package/styles/pager/material-dark.css +13 -3
  114. package/styles/pager/material.css +13 -3
  115. package/styles/pager/material3-dark.css +13 -4
  116. package/styles/pager/material3.css +13 -4
  117. package/styles/pager/tailwind-dark.css +13 -3
  118. package/styles/pager/tailwind.css +13 -3
  119. package/styles/pager/tailwind3.css +14 -4
  120. package/styles/tailwind-dark-lite.css +29 -1
  121. package/styles/tailwind-dark.css +31 -3
  122. package/styles/tailwind-lite.css +29 -1
  123. package/styles/tailwind.css +31 -3
  124. package/styles/tailwind3-lite.css +29 -1
  125. package/styles/tailwind3.css +32 -4
  126. package/styles/toolbar/_bootstrap-dark-definition.scss +1 -1
  127. package/styles/toolbar/_material-dark-definition.scss +2 -2
  128. package/styles/toolbar/bootstrap-dark.css +2 -2
  129. package/styles/toolbar/material-dark.css +2 -2
  130. package/styles/treeview/_layout.scss +4 -0
  131. package/styles/treeview/bds.css +3 -0
  132. package/styles/treeview/bootstrap-dark.css +3 -0
  133. package/styles/treeview/bootstrap.css +3 -0
  134. package/styles/treeview/bootstrap4.css +3 -0
  135. package/styles/treeview/bootstrap5-dark.css +3 -0
  136. package/styles/treeview/bootstrap5.3.css +3 -0
  137. package/styles/treeview/bootstrap5.css +3 -0
  138. package/styles/treeview/fabric-dark.css +3 -0
  139. package/styles/treeview/fabric.css +3 -0
  140. package/styles/treeview/fluent-dark.css +3 -0
  141. package/styles/treeview/fluent.css +3 -0
  142. package/styles/treeview/fluent2.css +3 -0
  143. package/styles/treeview/highcontrast-light.css +3 -0
  144. package/styles/treeview/highcontrast.css +3 -0
  145. package/styles/treeview/material-dark.css +3 -0
  146. package/styles/treeview/material.css +3 -0
  147. package/styles/treeview/material3-dark.css +3 -0
  148. package/styles/treeview/material3.css +3 -0
  149. package/styles/treeview/tailwind-dark.css +3 -0
  150. package/styles/treeview/tailwind.css +3 -0
  151. package/styles/treeview/tailwind3.css +3 -0
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 29.2.8
3
+ * version : 30.1.37
4
4
  * Copyright Syncfusion Inc. 2001 - 2024. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@syncfusion/ej2-navigations",
3
- "version": "29.2.8",
3
+ "version": "30.1.37",
4
4
  "description": "A package of Essential JS 2 navigation components such as Tree-view, Tab, Toolbar, Context-menu, and Accordion which is used to navigate from one page to another",
5
5
  "author": "Syncfusion Inc.",
6
6
  "license": "SEE LICENSE IN license",
@@ -8,12 +8,12 @@
8
8
  "module": "./index.js",
9
9
  "es2015": "./dist/es6/ej2-navigations.es5.js",
10
10
  "dependencies": {
11
- "@syncfusion/ej2-base": "~29.2.4",
12
- "@syncfusion/ej2-buttons": "~29.2.5",
13
- "@syncfusion/ej2-data": "~29.2.4",
14
- "@syncfusion/ej2-inputs": "~29.2.5",
15
- "@syncfusion/ej2-lists": "~29.2.4",
16
- "@syncfusion/ej2-popups": "~29.2.8"
11
+ "@syncfusion/ej2-base": "~30.1.37",
12
+ "@syncfusion/ej2-buttons": "~30.1.37",
13
+ "@syncfusion/ej2-data": "~30.1.37",
14
+ "@syncfusion/ej2-inputs": "~30.1.37",
15
+ "@syncfusion/ej2-lists": "~30.1.37",
16
+ "@syncfusion/ej2-popups": "~30.1.37"
17
17
  },
18
18
  "devDependencies": {},
19
19
  "keywords": [
@@ -167,9 +167,6 @@ var Carousel = /** @class */ (function (_super) {
167
167
  }
168
168
  break;
169
169
  case 'enableTouchSwipe':
170
- if (!this.enableTouchSwipe && this.touchModule) {
171
- this.touchModule.destroy();
172
- }
173
170
  if (this.element.querySelector("." + CLS_ITEMS)) {
174
171
  this.renderTouchActions();
175
172
  }
@@ -572,9 +569,6 @@ var Carousel = /** @class */ (function (_super) {
572
569
  this.keyModule = new KeyboardEvents(this.element, { keyAction: this.keyHandler.bind(this), keyConfigs: this.keyConfigs });
573
570
  };
574
571
  Carousel.prototype.renderTouchActions = function () {
575
- if (!this.enableTouchSwipe) {
576
- return;
577
- }
578
572
  this.touchModule = new Touch(this.element, { swipe: this.swipeHandler.bind(this) });
579
573
  };
580
574
  Carousel.prototype.applyAnimation = function () {
@@ -1142,7 +1136,7 @@ var Carousel = /** @class */ (function (_super) {
1142
1136
  }
1143
1137
  };
1144
1138
  Carousel.prototype.wireEvents = function () {
1145
- if (this.animationEffect !== 'Custom' && this.enableTouchSwipe) {
1139
+ if (this.animationEffect !== 'Custom') {
1146
1140
  this.swipeModehandlers();
1147
1141
  }
1148
1142
  EventHandler.add(this.element, 'focusin focusout', this.onFocusActions, this);
@@ -202,6 +202,8 @@ var Sidebar = /** @class */ (function (_super) {
202
202
  var sibling = document.querySelector('.e-main-content') || this.targetEle;
203
203
  if (this.target && this.showBackdrop && sibling && !isNullOrUndefined(this.defaultBackdropDiv)) {
204
204
  removeClass([this.defaultBackdropDiv], DEFAULTBACKDROP);
205
+ this.defaultBackdropDiv.remove();
206
+ this.defaultBackdropDiv = null;
205
207
  }
206
208
  else if (this.showBackdrop && this.modal) {
207
209
  this.modal.style.display = 'none';
@@ -304,7 +306,9 @@ var Sidebar = /** @class */ (function (_super) {
304
306
  removeClass([_this.element], CLOSE);
305
307
  setStyle(_this.element, { 'width': formatUnit(_this.width) });
306
308
  _this.setType(_this.type);
307
- _this.createBackDrop();
309
+ if (_this.targetEle && !_this.targetEle.querySelector('.e-sidebar-overlay')) {
310
+ _this.createBackDrop();
311
+ }
308
312
  _this.setAnimation();
309
313
  if (_this.type === 'Slide') {
310
314
  document.body.classList.add('e-sidebar-overflow');
@@ -225,11 +225,6 @@ var Stepper = /** @class */ (function (_super) {
225
225
  Stepper.prototype.updateAnimation = function () {
226
226
  var progressEle = this.element.querySelector('.e-progressbar-value');
227
227
  if (this.animation.enable) {
228
- if (this.animation.duration >= 0) {
229
- if (progressEle) {
230
- progressEle.style.setProperty('--duration', ((this.animation.duration) + 'ms'));
231
- }
232
- }
233
228
  if (this.animation.delay >= 0) {
234
229
  if (progressEle) {
235
230
  progressEle.style.setProperty('--delay', ((this.animation.delay) + 'ms'));
@@ -808,6 +803,9 @@ var Stepper = /** @class */ (function (_super) {
808
803
  }
809
804
  };
810
805
  Stepper.prototype.navigationHandler = function (index, stepStatus, isUpdated) {
806
+ if (index !== this.activeStep && this.progressbar) {
807
+ this.progressbar.style.transitionDuration = this.animation.duration + 'ms';
808
+ }
811
809
  index = Math.min(index, this.steps.length - 1);
812
810
  var Itemslength = this.stepperItemElements.length;
813
811
  if (index >= 0 && index < Itemslength - 1) {
@@ -878,6 +876,9 @@ var Stepper = /** @class */ (function (_super) {
878
876
  this.updateIndicatorStatus(i, itemElement);
879
877
  }
880
878
  this.updateStepInteractions();
879
+ if (this.progressbar) {
880
+ this.progressbar.style.transitionDuration = '0ms';
881
+ }
881
882
  };
882
883
  Stepper.prototype.calculateProgressbarPos = function () {
883
884
  var _this = this;
package/src/tab/tab.js CHANGED
@@ -1408,7 +1408,9 @@ var Tab = /** @class */ (function (_super) {
1408
1408
  }
1409
1409
  break;
1410
1410
  case 'openPopup':
1411
- e.preventDefault();
1411
+ if (!isNOU(e.target) && (e.target.classList.contains(CLS_WRAP))) {
1412
+ e.preventDefault();
1413
+ }
1412
1414
  if (!isNOU(this.popEle) && this.popEle.classList.contains(CLS_POPUP_CLOSE)) {
1413
1415
  this.popObj.show(this.show);
1414
1416
  }
@@ -1,5 +1,5 @@
1
1
  import { Component, EventHandler, Property, Event, EmitType, BaseEventArgs } from '@syncfusion/ej2-base';import { addClass, removeClass, isVisible, closest, attributes, detach, classList, KeyboardEvents } from '@syncfusion/ej2-base';import { selectAll, setStyleAttribute as setStyle, KeyboardEventArgs, select } from '@syncfusion/ej2-base';import { isNullOrUndefined as isNOU, getUniqueID, formatUnit, Collection, compile as templateCompiler } from '@syncfusion/ej2-base';import { INotifyPropertyChanged, NotifyPropertyChanges, ChildProperty, Browser, SanitizeHtmlHelper } from '@syncfusion/ej2-base';import { Popup } from '@syncfusion/ej2-popups';import { calculatePosition } from '@syncfusion/ej2-popups';import { Button, IconPosition } from '@syncfusion/ej2-buttons';import { HScroll } from '../common/h-scroll';import { VScroll } from '../common/v-scroll';
2
- import {OverflowOption,ItemType,DisplayMode,ItemAlign,ClickEventArgs,OverflowMode,BeforeCreateArgs} from "./toolbar";
2
+ import {OverflowOption,ItemType,DisplayMode,ItemAlign,ClickEventArgs,OverflowMode,BeforeCreateArgs,KeyDownEventArgs} from "./toolbar";
3
3
  import {ComponentModel} from '@syncfusion/ej2-base';
4
4
 
5
5
  /**
@@ -284,4 +284,11 @@ export interface ToolbarModel extends ComponentModel{
284
284
  */
285
285
  beforeCreate?: EmitType<BeforeCreateArgs>;
286
286
 
287
+ /**
288
+ * The event will be fired when the keyboard interaction occurs on the Toolbar.
289
+ *
290
+ * @event keyDown
291
+ */
292
+ keyDown?: EmitType<KeyDownEventArgs>;
293
+
287
294
  }
@@ -1,4 +1,5 @@
1
1
  import { Component, EmitType, BaseEventArgs } from '@syncfusion/ej2-base';
2
+ import { KeyboardEventArgs } from '@syncfusion/ej2-base';
2
3
  import { INotifyPropertyChanged, ChildProperty } from '@syncfusion/ej2-base';
3
4
  import { ToolbarModel, ItemModel } from './toolbar-model';
4
5
  /**
@@ -65,6 +66,17 @@ export interface BeforeCreateArgs extends BaseEventArgs {
65
66
  /** Specifies the scrolling distance in scroller. */
66
67
  scrollStep: number;
67
68
  }
69
+ /** An interface that holds options to control keyDown event in the toolbar. */
70
+ export interface KeyDownEventArgs extends BaseEventArgs {
71
+ /** Defines the keyboard event arguments. */
72
+ originalEvent: KeyboardEventArgs;
73
+ /** Defines the prevent action. */
74
+ cancel?: boolean;
75
+ /** Defines the current Toolbar item. */
76
+ currentItem?: HTMLElement;
77
+ /** Defines the next Toolbar item. */
78
+ nextItem?: HTMLElement;
79
+ }
68
80
  /**
69
81
  * An item object that is used to configure Toolbar commands.
70
82
  */
@@ -347,6 +359,12 @@ export declare class Toolbar extends Component<HTMLElement> implements INotifyPr
347
359
  * @event beforeCreate
348
360
  */
349
361
  beforeCreate: EmitType<BeforeCreateArgs>;
362
+ /**
363
+ * The event will be fired when the keyboard interaction occurs on the Toolbar.
364
+ *
365
+ * @event keyDown
366
+ */
367
+ keyDown: EmitType<KeyDownEventArgs>;
350
368
  /**
351
369
  * Removes the control from the DOM and also removes all its related events.
352
370
  *
@@ -382,6 +400,7 @@ export declare class Toolbar extends Component<HTMLElement> implements INotifyPr
382
400
  private remove;
383
401
  private elementFocus;
384
402
  private clstElement;
403
+ private getNextFocusableItem;
385
404
  private keyHandling;
386
405
  private keyActionHandler;
387
406
  /**
@@ -377,6 +377,38 @@ var Toolbar = /** @class */ (function (_super) {
377
377
  }
378
378
  return clst;
379
379
  };
380
+ Toolbar.prototype.getNextFocusableItem = function (currentItem, action) {
381
+ var selector = "." + CLS_ITEM + ":not(." + CLS_DISABLE + "):not(." + CLS_SEPARATOR + "):not(." + CLS_HIDDEN + ")";
382
+ var items = Array.from(this.element.querySelectorAll(selector));
383
+ var currentIndex = items.indexOf(currentItem);
384
+ if (currentIndex < 0) {
385
+ return null;
386
+ }
387
+ var nextIndex;
388
+ switch (action) {
389
+ case 'moveRight':
390
+ case 'moveDown':
391
+ case 'tab':
392
+ nextIndex = (currentIndex + 1) % items.length;
393
+ break;
394
+ case 'moveLeft':
395
+ case 'moveUp':
396
+ nextIndex = (currentIndex - 1 + items.length) % items.length;
397
+ break;
398
+ case 'home':
399
+ nextIndex = 0;
400
+ break;
401
+ case 'end':
402
+ nextIndex = items.length - 1;
403
+ break;
404
+ default:
405
+ nextIndex = currentIndex;
406
+ }
407
+ if (nextIndex >= 0 && nextIndex < items.length) {
408
+ return items[parseInt(nextIndex.toString(), 10)];
409
+ }
410
+ return null;
411
+ };
380
412
  Toolbar.prototype.keyHandling = function (clst, e, trgt, navChk, scrollChk) {
381
413
  var popObj = this.popObj;
382
414
  var rootEle = this.element;
@@ -442,19 +474,30 @@ var Toolbar = /** @class */ (function (_super) {
442
474
  if (!this.isVertical) {
443
475
  if (popObj && closest(trgt, '.e-popup')) {
444
476
  var popEle = popObj.element;
445
- var popFrstEle = popEle.firstElementChild;
446
- if ((value === 'previous' && popFrstEle === clst)) {
447
- popEle.lastElementChild.firstChild.focus();
477
+ if ((value === 'previous' && popEle.firstElementChild === clst)) {
478
+ var lastVisibleEle = this.focusLastVisibleEle([].slice.call(popEle.children));
479
+ if (lastVisibleEle) {
480
+ this.elementFocus(lastVisibleEle);
481
+ }
448
482
  }
449
483
  else if (value === 'next' && popEle.lastElementChild === clst) {
450
- popFrstEle.firstChild.focus();
484
+ var firstVisibleEle = this.focusFirstVisibleEle([].slice.call(popEle.children));
485
+ if (firstVisibleEle) {
486
+ this.elementFocus(firstVisibleEle);
487
+ }
451
488
  }
452
489
  else {
453
490
  this.eleFocus(clst, value);
454
491
  }
455
492
  }
456
493
  else if (e.action === 'moveDown' && popObj && isVisible(popObj.element)) {
457
- this.elementFocus(clst);
494
+ var skipEle = this.eleContains(clst);
495
+ if (skipEle) {
496
+ this.eleFocus(clst, value);
497
+ }
498
+ else {
499
+ this.elementFocus(clst);
500
+ }
458
501
  }
459
502
  }
460
503
  else {
@@ -500,8 +543,10 @@ var Toolbar = /** @class */ (function (_super) {
500
543
  }
501
544
  };
502
545
  Toolbar.prototype.keyActionHandler = function (e) {
546
+ var _this = this;
503
547
  var trgt = e.target;
504
- if (trgt.tagName === 'INPUT' || trgt.tagName === 'TEXTAREA' || this.element.classList.contains(CLS_DISABLE)) {
548
+ if ((e.action === 'home' || e.action === 'end' || e.action === 'moveRight' || e.action === 'moveLeft' || e.action === 'moveUp' || e.action === 'moveDown')
549
+ && (trgt.tagName === 'INPUT' || trgt.tagName === 'TEXTAREA' || this.element.classList.contains(CLS_DISABLE))) {
505
550
  return;
506
551
  }
507
552
  e.preventDefault();
@@ -509,7 +554,19 @@ var Toolbar = /** @class */ (function (_super) {
509
554
  var tbarScrollChk = trgt.classList.contains(CLS_TBARSCRLNAV);
510
555
  var clst = this.clstElement(tbrNavChk, trgt);
511
556
  if (clst || tbarScrollChk) {
512
- this.keyHandling(clst, e, trgt, tbrNavChk, tbarScrollChk);
557
+ var currentItem = clst;
558
+ var nextItem = this.getNextFocusableItem(currentItem, e.action);
559
+ var keyDownEventArgs = {
560
+ originalEvent: e,
561
+ currentItem: currentItem,
562
+ nextItem: nextItem,
563
+ cancel: false
564
+ };
565
+ this.trigger('keyDown', keyDownEventArgs, function (keyDownArgs) {
566
+ if (!keyDownArgs.cancel) {
567
+ _this.keyHandling(clst, e, trgt, tbrNavChk, tbarScrollChk);
568
+ }
569
+ });
513
570
  }
514
571
  };
515
572
  /**
@@ -548,7 +605,7 @@ var Toolbar = /** @class */ (function (_super) {
548
605
  var index = 0;
549
606
  while (index < nodes.length) {
550
607
  var ele = nodes[parseInt(index.toString(), 10)];
551
- if (!ele.classList.contains(CLS_HIDDEN) && !ele.classList.contains(CLS_DISABLE)) {
608
+ if (!ele.classList.contains(CLS_SEPARATOR) && !ele.classList.contains(CLS_HIDDEN) && !ele.classList.contains(CLS_DISABLE)) {
552
609
  return ele;
553
610
  }
554
611
  index++;
@@ -560,7 +617,7 @@ var Toolbar = /** @class */ (function (_super) {
560
617
  var index = nodes.length - 1;
561
618
  while (index >= 0) {
562
619
  var ele = nodes[parseInt(index.toString(), 10)];
563
- if (!ele.classList.contains(CLS_HIDDEN) && !ele.classList.contains(CLS_DISABLE)) {
620
+ if (!ele.classList.contains(CLS_SEPARATOR) && !ele.classList.contains(CLS_HIDDEN) && !ele.classList.contains(CLS_DISABLE)) {
564
621
  return ele;
565
622
  }
566
623
  index--;
@@ -2048,10 +2105,6 @@ var Toolbar = /** @class */ (function (_super) {
2048
2105
  return isNOU(ele.getAttribute('data-tabindex')) ? '-1' : ele.getAttribute('data-tabindex');
2049
2106
  };
2050
2107
  Toolbar.prototype.itemClick = function (e) {
2051
- var itemClosest = !isNOU(closest(e.currentTarget, '.' + CLS_TEMPLATE));
2052
- if (itemClosest) {
2053
- return;
2054
- }
2055
2108
  this.activeEleSwitch(e.currentTarget);
2056
2109
  };
2057
2110
  Toolbar.prototype.activeEleSwitch = function (ele) {
@@ -2414,6 +2467,9 @@ var Toolbar = /** @class */ (function (_super) {
2414
2467
  __decorate([
2415
2468
  Event()
2416
2469
  ], Toolbar.prototype, "beforeCreate", void 0);
2470
+ __decorate([
2471
+ Event()
2472
+ ], Toolbar.prototype, "keyDown", void 0);
2417
2473
  Toolbar = __decorate([
2418
2474
  NotifyPropertyChanges
2419
2475
  ], Toolbar);
@@ -1810,7 +1810,10 @@ var TreeView = /** @class */ (function (_super) {
1810
1810
  activeElement_1.classList.add(ITEM_ANIMATION_ACTIVE);
1811
1811
  }
1812
1812
  start_1 = liEle_1.offsetHeight;
1813
- end_1 = select('.' + TEXTWRAP, currLi).offsetHeight;
1813
+ var computedStyle = window.getComputedStyle(liEle_1);
1814
+ var paddingTop = parseFloat(computedStyle.paddingTop);
1815
+ var paddingBottom = parseFloat(computedStyle.paddingBottom);
1816
+ end_1 = select('.' + TEXTWRAP, currLi).offsetHeight + paddingBottom + paddingTop;
1814
1817
  },
1815
1818
  progress: function (args) {
1816
1819
  args.element.style.display = 'block';
@@ -3461,6 +3464,15 @@ var TreeView = /** @class */ (function (_super) {
3461
3464
  _this.dragAction(e, virtualEle);
3462
3465
  },
3463
3466
  dragStop: function (e) {
3467
+ if (!e.target) {
3468
+ if (e.helper && e.helper.parentNode) {
3469
+ detach(e.helper);
3470
+ }
3471
+ document.body.style.cursor = '';
3472
+ removeClass([_this.element], DRAGGING);
3473
+ _this.dragStartAction = false;
3474
+ return;
3475
+ }
3464
3476
  removeClass([_this.element], DRAGGING);
3465
3477
  if (!e.target.classList.contains('e-sibling')) {
3466
3478
  _this.removeVirtualEle();
@@ -3500,6 +3512,9 @@ var TreeView = /** @class */ (function (_super) {
3500
3512
  });
3501
3513
  this.dropObj = new Droppable(this.element, {
3502
3514
  out: function (e) {
3515
+ if (!e.target) {
3516
+ return;
3517
+ }
3503
3518
  if (!isNOU(e) && !e.target.classList.contains(SIBLING) &&
3504
3519
  (_this.dropObj.dragData.default && _this.dropObj.dragData.default.helper.classList.contains(ROOT))) {
3505
3520
  document.body.style.cursor = 'not-allowed';
@@ -3538,6 +3553,9 @@ var TreeView = /** @class */ (function (_super) {
3538
3553
  }
3539
3554
  };
3540
3555
  TreeView.prototype.dragAction = function (e, virtualEle) {
3556
+ if (!e.target) {
3557
+ return;
3558
+ }
3541
3559
  var dropRoot = closest(e.target, '.' + DROPPABLE);
3542
3560
  var dropWrap = closest(e.target, '.' + TEXTWRAP);
3543
3561
  var icon = select('div.' + ICON, virtualEle);
@@ -5265,7 +5283,10 @@ var TreeView = /** @class */ (function (_super) {
5265
5283
  }
5266
5284
  this.groupedData = this.getGroupedData(this.treeData, this.fields.parentID);
5267
5285
  }
5268
- this.setNodeFocusable();
5286
+ var fNode = select('.' + LISTITEM + '[tabindex="0"]', this.element);
5287
+ if (isNOU(fNode)) {
5288
+ this.setNodeFocusable();
5289
+ }
5269
5290
  this.updateCheckedStateFromDS();
5270
5291
  if (this.showCheckBox && dropLi) {
5271
5292
  this.ensureParentCheckState(dropLi);
@@ -5659,7 +5680,7 @@ var TreeView = /** @class */ (function (_super) {
5659
5680
  * @returns {void}
5660
5681
  */
5661
5682
  TreeView.prototype.uncheckAll = function (nodes) {
5662
- if (this.showCheckBox) {
5683
+ if (this.showCheckBox && this.checkedNodes.length > 0) {
5663
5684
  this.doCheckBoxAction(nodes, false);
5664
5685
  }
5665
5686
  };
@@ -72,6 +72,9 @@
72
72
  padding-top: 6px;
73
73
  line-height: 18px;
74
74
  }
75
+ .e-pager div.e-parentmsgbar span.e-rightalign {
76
+ text-align: right;
77
+ }
75
78
  .e-pager .e-pagesizes {
76
79
  display: inline;
77
80
  }
@@ -325,6 +328,12 @@
325
328
  }
326
329
  @media (max-width: 769px) {
327
330
  .e-pager {
331
+ display: -webkit-box;
332
+ display: -ms-flexbox;
333
+ display: flex;
334
+ -webkit-box-align: center;
335
+ -ms-flex-align: center;
336
+ align-items: center;
328
337
  padding: 13px 0;
329
338
  }
330
339
  .e-pager div.e-parentmsgbar {
@@ -523,7 +532,8 @@
523
532
  .e-pager.e-rtl.e-rtl div.e-parentmsgbar {
524
533
  float: initial;
525
534
  margin-left: 0;
526
- margin-top: 10px;
535
+ margin-top: 0;
536
+ padding-top: 0;
527
537
  }
528
538
  .e-pager.e-rtl .e-parentmsgbar {
529
539
  float: right;
@@ -6406,6 +6416,9 @@
6406
6416
  .e-treeview.e-virtualization .e-ul {
6407
6417
  overflow: unset;
6408
6418
  }
6419
+ .e-treeview .e-mask-parent {
6420
+ display: none;
6421
+ }
6409
6422
  .e-treeview > .e-ul {
6410
6423
  -webkit-overflow-scrolling: touch;
6411
6424
  overflow: auto;
@@ -8278,6 +8291,21 @@ ejs-sidebar {
8278
8291
  padding-right: 8px;
8279
8292
  }
8280
8293
 
8294
+ .e-breadcrumb-menu-item {
8295
+ position: absolute;
8296
+ width: 1px;
8297
+ height: 1px;
8298
+ margin: -1px;
8299
+ padding: 0;
8300
+ overflow: hidden;
8301
+ clip: rect(0, 0, 0, 0);
8302
+ border: 0;
8303
+ }
8304
+
8305
+ .e-hidden-popup {
8306
+ visibility: hidden;
8307
+ }
8308
+
8281
8309
  .e-breadcrumb .e-breadcrumb-item .e-breadcrumb-text {
8282
8310
  color: var(--color-sf-text-secondary);
8283
8311
  }
package/styles/bds.css CHANGED
@@ -72,6 +72,9 @@
72
72
  padding-top: 6px;
73
73
  line-height: 18px;
74
74
  }
75
+ .e-pager div.e-parentmsgbar span.e-rightalign {
76
+ text-align: right;
77
+ }
75
78
  .e-pager .e-pagesizes {
76
79
  display: inline;
77
80
  }
@@ -325,6 +328,12 @@
325
328
  }
326
329
  @media (max-width: 769px) {
327
330
  .e-pager {
331
+ display: -webkit-box;
332
+ display: -ms-flexbox;
333
+ display: flex;
334
+ -webkit-box-align: center;
335
+ -ms-flex-align: center;
336
+ align-items: center;
328
337
  padding: 13px 0;
329
338
  }
330
339
  .e-pager div.e-parentmsgbar {
@@ -523,7 +532,8 @@
523
532
  .e-pager.e-rtl.e-rtl div.e-parentmsgbar {
524
533
  float: initial;
525
534
  margin-left: 0;
526
- margin-top: 10px;
535
+ margin-top: 0;
536
+ padding-top: 0;
527
537
  }
528
538
  .e-pager.e-rtl .e-parentmsgbar {
529
539
  float: right;
@@ -811,14 +821,14 @@
811
821
  .e-bigger .e-pager.e-rtl div.e-parentmsgbar,
812
822
  .e-pager.e-bigger.e-rtl div.e-parentmsgbar {
813
823
  margin-left: 0;
814
- margin-top: 10px;
824
+ margin-top: 0;
815
825
  }
816
826
  }
817
827
  @media (max-width: 769px) {
818
828
  .e-bigger .e-pager.e-rtl div.e-parentmsgbar,
819
829
  .e-pager.e-bigger.e-rtl div.e-parentmsgbar {
820
830
  margin-left: 0;
821
- margin-top: 10px;
831
+ margin-top: 0;
822
832
  }
823
833
  }
824
834
  .e-bigger .e-pager.e-rtl .e-numericitem.e-currentitem,
@@ -8343,6 +8353,9 @@
8343
8353
  .e-treeview.e-virtualization .e-ul {
8344
8354
  overflow: unset;
8345
8355
  }
8356
+ .e-treeview .e-mask-parent {
8357
+ display: none;
8358
+ }
8346
8359
  .e-treeview > .e-ul {
8347
8360
  -webkit-overflow-scrolling: touch;
8348
8361
  overflow: auto;
@@ -10794,6 +10807,21 @@ ejs-sidebar {
10794
10807
  padding-right: 8px;
10795
10808
  }
10796
10809
 
10810
+ .e-breadcrumb-menu-item {
10811
+ position: absolute;
10812
+ width: 1px;
10813
+ height: 1px;
10814
+ margin: -1px;
10815
+ padding: 0;
10816
+ overflow: hidden;
10817
+ clip: rect(0, 0, 0, 0);
10818
+ border: 0;
10819
+ }
10820
+
10821
+ .e-hidden-popup {
10822
+ visibility: hidden;
10823
+ }
10824
+
10797
10825
  .e-breadcrumb .e-breadcrumb-item .e-breadcrumb-text {
10798
10826
  color: var(--color-sf-text-secondary);
10799
10827
  }
@@ -67,6 +67,9 @@
67
67
  padding-right: 8px;
68
68
  padding-top: 10px;
69
69
  }
70
+ .e-pager div.e-parentmsgbar span.e-rightalign {
71
+ text-align: right;
72
+ }
70
73
  .e-pager .e-pagesizes {
71
74
  display: inline;
72
75
  }
@@ -291,6 +294,12 @@
291
294
  }
292
295
  @media (max-width: 769px) {
293
296
  .e-pager {
297
+ display: -webkit-box;
298
+ display: -ms-flexbox;
299
+ display: flex;
300
+ -webkit-box-align: center;
301
+ -ms-flex-align: center;
302
+ align-items: center;
294
303
  padding: 13px 0;
295
304
  }
296
305
  .e-pager div.e-parentmsgbar {
@@ -464,7 +473,8 @@
464
473
  .e-pager.e-rtl.e-rtl div.e-parentmsgbar {
465
474
  float: initial;
466
475
  margin-left: 0;
467
- margin-top: 10px;
476
+ margin-top: 0;
477
+ padding-top: 0;
468
478
  }
469
479
  .e-pager.e-rtl .e-parentmsgbar {
470
480
  float: right;
@@ -6033,6 +6043,9 @@
6033
6043
  .e-treeview.e-virtualization .e-ul {
6034
6044
  overflow: unset;
6035
6045
  }
6046
+ .e-treeview .e-mask-parent {
6047
+ display: none;
6048
+ }
6036
6049
  .e-treeview > .e-ul {
6037
6050
  -webkit-overflow-scrolling: touch;
6038
6051
  overflow: auto;
@@ -7856,6 +7869,21 @@ ejs-sidebar {
7856
7869
  padding-right: 4px;
7857
7870
  }
7858
7871
 
7872
+ .e-breadcrumb-menu-item {
7873
+ position: absolute;
7874
+ width: 1px;
7875
+ height: 1px;
7876
+ margin: -1px;
7877
+ padding: 0;
7878
+ overflow: hidden;
7879
+ clip: rect(0, 0, 0, 0);
7880
+ border: 0;
7881
+ }
7882
+
7883
+ .e-hidden-popup {
7884
+ visibility: hidden;
7885
+ }
7886
+
7859
7887
  .e-breadcrumb .e-breadcrumb-item .e-breadcrumb-text {
7860
7888
  color: #0070f0;
7861
7889
  }