@syncfusion/ej2-navigations 24.2.8 → 25.1.35-579988

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 (132) hide show
  1. package/CHANGELOG.md +4 -43
  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 +145 -127
  6. package/dist/es6/ej2-navigations.es2015.js.map +1 -1
  7. package/dist/es6/ej2-navigations.es5.js +145 -127
  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 +12 -12
  13. package/src/accordion/accordion-model.d.ts +3 -2
  14. package/src/accordion/accordion.d.ts +3 -2
  15. package/src/accordion/accordion.js +7 -7
  16. package/src/breadcrumb/breadcrumb.js +2 -1
  17. package/src/common/menu-base-model.d.ts +3 -2
  18. package/src/common/menu-base.d.ts +3 -2
  19. package/src/common/menu-base.js +101 -101
  20. package/src/menu/menu-model.d.ts +3 -2
  21. package/src/menu/menu.d.ts +3 -2
  22. package/src/menu/menu.js +1 -1
  23. package/src/stepper/stepper.js +1 -2
  24. package/src/tab/tab-model.d.ts +7 -21
  25. package/src/tab/tab.d.ts +7 -21
  26. package/src/tab/tab.js +5 -5
  27. package/src/toolbar/toolbar.js +25 -7
  28. package/src/treeview/treeview-model.d.ts +4 -7
  29. package/src/treeview/treeview.d.ts +3 -3
  30. package/src/treeview/treeview.js +5 -5
  31. package/styles/accordion/_bds-definition.scss +180 -0
  32. package/styles/accordion/_material-definition.scss +1 -1
  33. package/styles/accordion/icons/_bds.scss +17 -0
  34. package/styles/accordion/material.css +1 -1
  35. package/styles/appbar/_bds-definition.scss +27 -0
  36. package/styles/bootstrap-dark.css +12 -4
  37. package/styles/bootstrap.css +12 -4
  38. package/styles/bootstrap4.css +12 -4
  39. package/styles/bootstrap5-dark.css +12 -4
  40. package/styles/bootstrap5.css +12 -4
  41. package/styles/breadcrumb/_bds-definition.scss +60 -0
  42. package/styles/breadcrumb/icons/_bds.scss +25 -0
  43. package/styles/carousel/_bds-definition.scss +27 -0
  44. package/styles/carousel/_layout.scss +5 -0
  45. package/styles/carousel/bootstrap-dark.css +6 -0
  46. package/styles/carousel/bootstrap.css +6 -0
  47. package/styles/carousel/bootstrap4.css +6 -0
  48. package/styles/carousel/bootstrap5-dark.css +6 -0
  49. package/styles/carousel/bootstrap5.css +6 -0
  50. package/styles/carousel/fabric-dark.css +6 -0
  51. package/styles/carousel/fabric.css +6 -0
  52. package/styles/carousel/fluent-dark.css +6 -0
  53. package/styles/carousel/fluent.css +6 -0
  54. package/styles/carousel/highcontrast-light.css +6 -0
  55. package/styles/carousel/highcontrast.css +6 -0
  56. package/styles/carousel/icons/_bds.scss +30 -0
  57. package/styles/carousel/material-dark.css +6 -0
  58. package/styles/carousel/material.css +6 -0
  59. package/styles/carousel/material3-dark.css +6 -0
  60. package/styles/carousel/material3.css +6 -0
  61. package/styles/carousel/tailwind-dark.css +6 -0
  62. package/styles/carousel/tailwind.css +6 -0
  63. package/styles/context-menu/_bds-definition.scss +65 -0
  64. package/styles/context-menu/icons/_bds.scss +33 -0
  65. package/styles/fabric-dark.css +12 -4
  66. package/styles/fabric.css +12 -4
  67. package/styles/fluent-dark.css +12 -4
  68. package/styles/fluent.css +12 -4
  69. package/styles/h-scroll/_bds-definition.scss +83 -0
  70. package/styles/h-scroll/icons/_bds.scss +49 -0
  71. package/styles/highcontrast-light.css +12 -4
  72. package/styles/highcontrast.css +12 -4
  73. package/styles/material-dark.css +12 -4
  74. package/styles/material.css +13 -5
  75. package/styles/material3-dark.css +12 -4
  76. package/styles/material3.css +12 -4
  77. package/styles/menu/_bds-definition.scss +66 -0
  78. package/styles/menu/icons/_bds.scss +134 -0
  79. package/styles/pager/_bds-definition.scss +152 -0
  80. package/styles/pager/icons/_bds.scss +50 -0
  81. package/styles/sidebar/_bds-definition.scss +45 -0
  82. package/styles/stepper/_bds-definition.scss +79 -0
  83. package/styles/stepper/_layout.scss +1 -0
  84. package/styles/stepper/bootstrap-dark.css +3 -0
  85. package/styles/stepper/bootstrap.css +3 -0
  86. package/styles/stepper/bootstrap4.css +3 -0
  87. package/styles/stepper/bootstrap5-dark.css +3 -0
  88. package/styles/stepper/bootstrap5.css +3 -0
  89. package/styles/stepper/fabric-dark.css +3 -0
  90. package/styles/stepper/fabric.css +3 -0
  91. package/styles/stepper/fluent-dark.css +3 -0
  92. package/styles/stepper/fluent.css +3 -0
  93. package/styles/stepper/highcontrast-light.css +3 -0
  94. package/styles/stepper/highcontrast.css +3 -0
  95. package/styles/stepper/icons/_bds.scss +5 -0
  96. package/styles/stepper/material-dark.css +3 -0
  97. package/styles/stepper/material.css +3 -0
  98. package/styles/stepper/material3-dark.css +3 -0
  99. package/styles/stepper/material3.css +3 -0
  100. package/styles/stepper/tailwind-dark.css +3 -0
  101. package/styles/stepper/tailwind.css +3 -0
  102. package/styles/tab/_bds-definition.scss +701 -0
  103. package/styles/tab/icons/_bds.scss +92 -0
  104. package/styles/tailwind-dark.css +14 -6
  105. package/styles/tailwind.css +12 -4
  106. package/styles/toolbar/_bds-definition.scss +215 -0
  107. package/styles/toolbar/_layout.scss +6 -7
  108. package/styles/toolbar/bootstrap-dark.css +3 -4
  109. package/styles/toolbar/bootstrap.css +3 -4
  110. package/styles/toolbar/bootstrap4.css +3 -4
  111. package/styles/toolbar/bootstrap5-dark.css +3 -4
  112. package/styles/toolbar/bootstrap5.css +3 -4
  113. package/styles/toolbar/fabric-dark.css +3 -4
  114. package/styles/toolbar/fabric.css +3 -4
  115. package/styles/toolbar/fluent-dark.css +3 -4
  116. package/styles/toolbar/fluent.css +3 -4
  117. package/styles/toolbar/highcontrast-light.css +3 -4
  118. package/styles/toolbar/highcontrast.css +3 -4
  119. package/styles/toolbar/icons/_bds.scss +16 -0
  120. package/styles/toolbar/material-dark.css +3 -4
  121. package/styles/toolbar/material.css +3 -4
  122. package/styles/toolbar/material3-dark.css +3 -4
  123. package/styles/toolbar/material3.css +3 -4
  124. package/styles/toolbar/tailwind-dark.css +3 -4
  125. package/styles/toolbar/tailwind.css +3 -4
  126. package/styles/treeview/_bds-definition.scss +132 -0
  127. package/styles/treeview/_tailwind-definition.scss +1 -1
  128. package/styles/treeview/_theme.scss +1 -1
  129. package/styles/treeview/icons/_bds.scss +43 -0
  130. package/styles/treeview/tailwind-dark.css +2 -2
  131. package/styles/v-scroll/_bds-definition.scss +49 -0
  132. package/styles/v-scroll/icons/_bds.scss +27 -0
@@ -1288,9 +1288,9 @@ let MenuBase = class MenuBase extends Component {
1288
1288
  }
1289
1289
  this.targetElement = target;
1290
1290
  if (!this.isMenu) {
1291
- EventHandler.add(this.targetElement, 'mousewheel DOMMouseScroll', this.scrollHandler, this);
1291
+ EventHandler.add(this.targetElement, 'scroll', this.scrollHandler, this);
1292
1292
  for (const parent of getScrollableParent(this.targetElement)) {
1293
- EventHandler.add(parent, 'mousewheel DOMMouseScroll', this.scrollHandler, this);
1293
+ EventHandler.add(parent, 'scroll', this.scrollHandler, this);
1294
1294
  }
1295
1295
  }
1296
1296
  }
@@ -2058,9 +2058,11 @@ let MenuBase = class MenuBase extends Component {
2058
2058
  }
2059
2059
  li.focus();
2060
2060
  cul = this.getUlByNavIdx();
2061
- const index = this.isValidLI(cul.children[0], 0, this.action);
2062
- cul.children[index].classList.add(FOCUSED);
2063
- cul.children[index].focus();
2061
+ if (cul) {
2062
+ const index = this.isValidLI(cul.children[0], 0, this.action);
2063
+ cul.children[index].classList.add(FOCUSED);
2064
+ cul.children[index].focus();
2065
+ }
2064
2066
  }
2065
2067
  });
2066
2068
  }
@@ -2375,107 +2377,103 @@ let MenuBase = class MenuBase extends Component {
2375
2377
  }
2376
2378
  }
2377
2379
  clickHandler(e) {
2378
- if (this.isTapHold) {
2379
- this.isTapHold = false;
2380
+ this.isTapHold = this.isTapHold ? false : this.isTapHold;
2381
+ const wrapper = this.getWrapper();
2382
+ const trgt = e.target;
2383
+ const cli = this.cli = this.getLI(trgt);
2384
+ const regex = new RegExp('-ej2menu-(.*)-popup');
2385
+ const cliWrapper = cli ? closest(cli, '.e-' + this.getModuleName() + '-wrapper') : null;
2386
+ const isInstLI = cli && cliWrapper && (this.isMenu ? this.getIndex(cli.id, true).length > 0
2387
+ : wrapper.firstElementChild.id === cliWrapper.firstElementChild.id);
2388
+ if (Browser.isDevice && this.isMenu) {
2389
+ this.removeLIStateByClass([FOCUSED], [wrapper].concat(this.getPopups()));
2390
+ this.mouseDownHandler(e);
2380
2391
  }
2381
- else {
2382
- const wrapper = this.getWrapper();
2383
- const trgt = e.target;
2384
- const cli = this.cli = this.getLI(trgt);
2385
- const regex = new RegExp('-ej2menu-(.*)-popup');
2386
- const cliWrapper = cli ? closest(cli, '.e-' + this.getModuleName() + '-wrapper') : null;
2387
- const isInstLI = cli && cliWrapper && (this.isMenu ? this.getIndex(cli.id, true).length > 0
2388
- : wrapper.firstElementChild.id === cliWrapper.firstElementChild.id);
2389
- if (Browser.isDevice && this.isMenu) {
2390
- this.removeLIStateByClass([FOCUSED], [wrapper].concat(this.getPopups()));
2391
- this.mouseDownHandler(e);
2392
- }
2393
- if (cli && cliWrapper && this.isMenu) {
2394
- const cliWrapperId = cliWrapper.id ? regex.exec(cliWrapper.id)[1] : cliWrapper.querySelector('.e-menu-parent').id;
2395
- if (this.element.id !== cliWrapperId) {
2396
- return;
2397
- }
2392
+ if (cli && cliWrapper && this.isMenu) {
2393
+ const cliWrapperId = cliWrapper.id ? regex.exec(cliWrapper.id)[1] : cliWrapper.querySelector('.e-menu-parent').id;
2394
+ if (this.element.id !== cliWrapperId) {
2395
+ return;
2398
2396
  }
2399
- if (isInstLI && e.type === 'click' && !cli.classList.contains(HEADER)) {
2400
- this.setLISelected(cli);
2401
- const navIdx = this.getIndex(cli.id, true);
2402
- const item = this.getItem(navIdx);
2403
- const eventArgs = { element: cli, item: item, event: e };
2404
- this.trigger('select', eventArgs);
2397
+ }
2398
+ if (isInstLI && e.type === 'click' && !cli.classList.contains(HEADER)) {
2399
+ this.setLISelected(cli);
2400
+ const navIdx = this.getIndex(cli.id, true);
2401
+ const item = this.getItem(navIdx);
2402
+ const eventArgs = { element: cli, item: item, event: e };
2403
+ this.trigger('select', eventArgs);
2404
+ }
2405
+ if (isInstLI && (e.type === 'mouseover' || Browser.isDevice || this.showItemOnClick)) {
2406
+ let ul;
2407
+ if (cli.classList.contains(HEADER)) {
2408
+ ul = wrapper.children[this.navIdx.length - 1];
2409
+ this.toggleAnimation(ul);
2410
+ const sli = this.getLIByClass(ul, SELECTED);
2411
+ if (sli) {
2412
+ sli.classList.remove(SELECTED);
2413
+ }
2414
+ detach(cli.parentNode);
2415
+ this.navIdx.pop();
2405
2416
  }
2406
- if (isInstLI && (e.type === 'mouseover' || Browser.isDevice || this.showItemOnClick)) {
2407
- let ul;
2408
- if (cli.classList.contains(HEADER)) {
2409
- ul = wrapper.children[this.navIdx.length - 1];
2410
- this.toggleAnimation(ul);
2411
- const sli = this.getLIByClass(ul, SELECTED);
2412
- if (sli) {
2413
- sli.classList.remove(SELECTED);
2417
+ else {
2418
+ if (!cli.classList.contains(SEPARATOR)) {
2419
+ this.showSubMenu = true;
2420
+ const cul = cli.parentNode;
2421
+ if (isNullOrUndefined(cul)) {
2422
+ return;
2414
2423
  }
2415
- detach(cli.parentNode);
2416
- this.navIdx.pop();
2417
- }
2418
- else {
2419
- if (!cli.classList.contains(SEPARATOR)) {
2420
- this.showSubMenu = true;
2421
- const cul = cli.parentNode;
2422
- if (isNullOrUndefined(cul)) {
2423
- return;
2424
+ this.cliIdx = this.getIdx(cul, cli);
2425
+ if (this.isMenu || !Browser.isDevice) {
2426
+ const culIdx = this.isMenu ? Array.prototype.indexOf.call([wrapper].concat(this.getPopups()), closest(cul, '.' + 'e-' + this.getModuleName() + '-wrapper'))
2427
+ : this.getIdx(wrapper, cul);
2428
+ if (this.navIdx[culIdx] === this.cliIdx) {
2429
+ this.showSubMenu = false;
2424
2430
  }
2425
- this.cliIdx = this.getIdx(cul, cli);
2426
- if (this.isMenu || !Browser.isDevice) {
2427
- const culIdx = this.isMenu ? Array.prototype.indexOf.call([wrapper].concat(this.getPopups()), closest(cul, '.' + 'e-' + this.getModuleName() + '-wrapper'))
2428
- : this.getIdx(wrapper, cul);
2429
- if (this.navIdx[culIdx] === this.cliIdx) {
2430
- this.showSubMenu = false;
2431
+ if (culIdx !== this.navIdx.length && (e.type !== 'mouseover' || this.showSubMenu)) {
2432
+ const sli = this.getLIByClass(cul, SELECTED);
2433
+ if (sli) {
2434
+ sli.classList.remove(SELECTED);
2431
2435
  }
2432
- if (culIdx !== this.navIdx.length && (e.type !== 'mouseover' || this.showSubMenu)) {
2433
- const sli = this.getLIByClass(cul, SELECTED);
2434
- if (sli) {
2435
- sli.classList.remove(SELECTED);
2436
- }
2437
- this.isClosed = true;
2438
- this.keyType = 'click';
2439
- if (this.showItemOnClick) {
2440
- this.setLISelected(cli);
2441
- }
2442
- this.closeMenu(culIdx + 1, e);
2443
- if (this.showItemOnClick) {
2444
- this.setLISelected(cli);
2445
- }
2436
+ this.isClosed = true;
2437
+ this.keyType = 'click';
2438
+ if (this.showItemOnClick) {
2439
+ this.setLISelected(cli);
2440
+ }
2441
+ this.closeMenu(culIdx + 1, e);
2442
+ if (this.showItemOnClick) {
2443
+ this.setLISelected(cli);
2446
2444
  }
2447
2445
  }
2448
- if (!this.isClosed) {
2449
- this.afterCloseMenu(e);
2450
- }
2451
- this.isClosed = false;
2452
2446
  }
2447
+ if (!this.isClosed) {
2448
+ this.afterCloseMenu(e);
2449
+ }
2450
+ this.isClosed = false;
2453
2451
  }
2454
2452
  }
2455
- else {
2456
- if (this.isMenu && trgt.tagName === 'DIV' && this.navIdx.length && closest(trgt, '.e-menu-vscroll')) {
2457
- const popupEle = closest(trgt, '.' + POPUP);
2458
- const cIdx = Array.prototype.indexOf.call(this.getPopups(), popupEle) + 1;
2459
- if (cIdx < this.navIdx.length) {
2460
- this.closeMenu(cIdx + 1, e);
2461
- if (popupEle) {
2462
- this.removeLIStateByClass([FOCUSED, SELECTED], [popupEle]);
2463
- }
2453
+ }
2454
+ else {
2455
+ if (this.isMenu && trgt.tagName === 'DIV' && this.navIdx.length && closest(trgt, '.e-menu-vscroll')) {
2456
+ const popupEle = closest(trgt, '.' + POPUP);
2457
+ const cIdx = Array.prototype.indexOf.call(this.getPopups(), popupEle) + 1;
2458
+ if (cIdx < this.navIdx.length) {
2459
+ this.closeMenu(cIdx + 1, e);
2460
+ if (popupEle) {
2461
+ this.removeLIStateByClass([FOCUSED, SELECTED], [popupEle]);
2464
2462
  }
2465
2463
  }
2466
- else if (this.isMenu && this.hamburgerMode && trgt.tagName === 'SPAN'
2467
- && trgt.classList.contains('e-menu-icon')) {
2468
- this.menuHeaderClickHandler(e);
2469
- }
2470
- else {
2471
- if (trgt.tagName !== 'UL' || (this.isMenu ? trgt.parentElement.classList.contains('e-menu-wrapper') &&
2472
- !this.getIndex(trgt.querySelector('.' + ITEM).id, true).length : trgt.parentElement !== wrapper)) {
2473
- if (!cli) {
2474
- this.removeLIStateByClass([SELECTED], [wrapper]);
2475
- }
2476
- if (!cli || !cli.querySelector('.' + CARET)) {
2477
- this.closeMenu(null, e);
2478
- }
2464
+ }
2465
+ else if (this.isMenu && this.hamburgerMode && trgt.tagName === 'SPAN'
2466
+ && trgt.classList.contains('e-menu-icon')) {
2467
+ this.menuHeaderClickHandler(e);
2468
+ }
2469
+ else {
2470
+ if (trgt.tagName !== 'UL' || (this.isMenu ? trgt.parentElement.classList.contains('e-menu-wrapper') &&
2471
+ !this.getIndex(trgt.querySelector('.' + ITEM).id, true).length : trgt.parentElement !== wrapper)) {
2472
+ if (!cli) {
2473
+ this.removeLIStateByClass([SELECTED], [wrapper]);
2474
+ }
2475
+ if (!cli || !cli.querySelector('.' + CARET)) {
2476
+ this.closeMenu(null, e);
2479
2477
  }
2480
2478
  }
2481
2479
  }
@@ -2533,9 +2531,11 @@ let MenuBase = class MenuBase extends Component {
2533
2531
  li.classList.add(SELECTED);
2534
2532
  }
2535
2533
  getLIByClass(ul, classname) {
2536
- for (let i = 0, len = ul.children.length; i < len; i++) {
2537
- if (ul.children[i].classList.contains(classname)) {
2538
- return ul.children[i];
2534
+ if (ul) {
2535
+ for (let i = 0, len = ul.children.length; i < len; i++) {
2536
+ if (ul.children[i].classList.contains(classname)) {
2537
+ return ul.children[i];
2538
+ }
2539
2539
  }
2540
2540
  }
2541
2541
  return null;
@@ -2819,9 +2819,9 @@ let MenuBase = class MenuBase extends Component {
2819
2819
  }
2820
2820
  }
2821
2821
  if (!this.isMenu) {
2822
- EventHandler.remove(this.targetElement, 'mousewheel DOMMouseScroll', this.scrollHandler);
2822
+ EventHandler.remove(this.targetElement, 'scroll', this.scrollHandler);
2823
2823
  for (const parent of getScrollableParent(this.targetElement)) {
2824
- EventHandler.remove(parent, 'mousewheel DOMMouseScroll', this.scrollHandler);
2824
+ EventHandler.remove(parent, 'scroll', this.scrollHandler);
2825
2825
  }
2826
2826
  }
2827
2827
  }
@@ -3289,7 +3289,7 @@ __decorate$2([
3289
3289
  Property(false)
3290
3290
  ], MenuBase.prototype, "enableScrolling", void 0);
3291
3291
  __decorate$2([
3292
- Property(false)
3292
+ Property(true)
3293
3293
  ], MenuBase.prototype, "enableHtmlSanitizer", void 0);
3294
3294
  __decorate$2([
3295
3295
  Complex({ itemId: 'id', text: 'text', parentId: 'parentId', iconCss: 'iconCss', url: 'url', separator: 'separator', children: 'items' }, FieldSettings)
@@ -4348,7 +4348,9 @@ let Toolbar = class Toolbar extends Component {
4348
4348
  popup.appendTo(ele);
4349
4349
  EventHandler.add(document, 'scroll', this.docEvent.bind(this));
4350
4350
  EventHandler.add(document, 'click ', this.docEvent.bind(this));
4351
- popup.element.style.maxHeight = popup.element.offsetHeight + 'px';
4351
+ if (this.overflowMode !== 'Extended') {
4352
+ popup.element.style.maxHeight = popup.element.offsetHeight + 'px';
4353
+ }
4352
4354
  if (this.isVertical) {
4353
4355
  popup.element.style.visibility = 'hidden';
4354
4356
  }
@@ -4363,7 +4365,7 @@ let Toolbar = class Toolbar extends Component {
4363
4365
  }
4364
4366
  this.popObj = popup;
4365
4367
  }
4366
- else {
4368
+ else if (this.overflowMode !== 'Extended') {
4367
4369
  const popupEle = this.popObj.element;
4368
4370
  setStyleAttribute(popupEle, { maxHeight: '', display: 'block' });
4369
4371
  setStyleAttribute(popupEle, { maxHeight: popupEle.offsetHeight + 'px', display: '' });
@@ -4390,11 +4392,13 @@ let Toolbar = class Toolbar extends Component {
4390
4392
  const toolEle = this.popObj.element.parentElement;
4391
4393
  const popupNav = toolEle.querySelector('.' + CLS_TBARNAV);
4392
4394
  popupNav.setAttribute('aria-expanded', 'true');
4393
- setStyleAttribute(popObj.element, { height: 'auto', maxHeight: '' });
4394
- popObj.element.style.maxHeight = popObj.element.offsetHeight + 'px';
4395
4395
  if (this.overflowMode === 'Extended') {
4396
4396
  popObj.element.style.minHeight = '';
4397
4397
  }
4398
+ else {
4399
+ setStyleAttribute(popObj.element, { height: 'auto', maxHeight: '' });
4400
+ popObj.element.style.maxHeight = popObj.element.offsetHeight + 'px';
4401
+ }
4398
4402
  const popupElePos = popupEle.offsetTop + popupEle.offsetHeight + calculatePosition(toolEle).top;
4399
4403
  const popIcon = popupNav.firstElementChild;
4400
4404
  popupNav.classList.add(CLS_TBARNAVACT);
@@ -4411,9 +4415,11 @@ let Toolbar = class Toolbar extends Component {
4411
4415
  break;
4412
4416
  }
4413
4417
  }
4414
- setStyleAttribute(popObj.element, { maxHeight: overflowHeight + 'px' });
4418
+ if (this.overflowMode !== 'Extended') {
4419
+ setStyleAttribute(popObj.element, { maxHeight: overflowHeight + 'px' });
4420
+ }
4415
4421
  }
4416
- else if (this.isVertical) {
4422
+ else if (this.isVertical && this.overflowMode !== 'Extended') {
4417
4423
  const tbEleData = this.element.getBoundingClientRect();
4418
4424
  setStyleAttribute(popObj.element, { maxHeight: (tbEleData.top + this.element.offsetHeight) + 'px', bottom: 0, visibility: '' });
4419
4425
  }
@@ -5285,13 +5291,25 @@ let Toolbar = class Toolbar extends Component {
5285
5291
  this.activeEle.focus();
5286
5292
  }
5287
5293
  activeEleRemove(curEle) {
5294
+ let previousEle = this.element.querySelector('.' + CLS_ITEM + ':not(.' + CLS_DISABLE$2 + ' ):not(.' + CLS_SEPARATOR + ' ):not(.' + CLS_HIDDEN + ' )');
5288
5295
  if (!isNullOrUndefined(this.activeEle)) {
5289
5296
  this.activeEle.setAttribute('tabindex', this.getDataTabindex(this.activeEle));
5297
+ if (previousEle) {
5298
+ previousEle.removeAttribute('tabindex');
5299
+ }
5300
+ previousEle = this.activeEle;
5290
5301
  }
5291
5302
  this.activeEle = curEle;
5292
5303
  if (this.getDataTabindex(this.activeEle) === '-1') {
5293
5304
  if (isNullOrUndefined(this.trgtEle) && !curEle.parentElement.classList.contains(CLS_TEMPLATE)) {
5294
- this.updateTabIndex('-1');
5305
+ if (!isNullOrUndefined(this.element.querySelector('.e-hor-nav')) && this.element.querySelector('.e-hor-nav').classList.contains('e-nav-active')) {
5306
+ this.updateTabIndex('0');
5307
+ this.getDataTabindex(previousEle) === '-1' ? previousEle.setAttribute('tabindex', '0') :
5308
+ previousEle.setAttribute('tabindex', this.getDataTabindex(previousEle));
5309
+ }
5310
+ else {
5311
+ this.updateTabIndex('-1');
5312
+ }
5295
5313
  curEle.removeAttribute('tabindex');
5296
5314
  }
5297
5315
  else {
@@ -6245,7 +6263,7 @@ let Accordion = class Accordion extends Component {
6245
6263
  }
6246
6264
  catch (e) {
6247
6265
  if (typeof (value) === 'string') {
6248
- ele.innerHTML = SanitizeHtmlHelper.sanitize(value);
6266
+ ele.innerHTML = this.enableHtmlSanitizer ? SanitizeHtmlHelper.sanitize(value) : value;
6249
6267
  }
6250
6268
  else if (value instanceof (HTMLElement)) {
6251
6269
  ele.appendChild(value);
@@ -6283,7 +6301,7 @@ let Accordion = class Accordion extends Component {
6283
6301
  });
6284
6302
  }
6285
6303
  else if (ele.childElementCount === 0) {
6286
- ele.innerHTML = SanitizeHtmlHelper.sanitize(value);
6304
+ ele.innerHTML = this.enableHtmlSanitizer ? SanitizeHtmlHelper.sanitize(value) : value;
6287
6305
  }
6288
6306
  if (!isNullOrUndefined(temString)) {
6289
6307
  if (this.templateEle.indexOf(value) === -1) {
@@ -6311,11 +6329,11 @@ let Accordion = class Accordion extends Component {
6311
6329
  itemcnt.appendChild(ctn);
6312
6330
  }
6313
6331
  else {
6314
- if (this.enableHtmlSanitizer && typeof (this.items[parseInt(index.toString(), 10)].content)) {
6315
- this.items[parseInt(index.toString(), 10)].content =
6316
- SanitizeHtmlHelper.sanitize(this.items[parseInt(index.toString(), 10)].content);
6332
+ let content = this.items[parseInt(index.toString(), 10)].content;
6333
+ if (this.enableHtmlSanitizer && typeof (content) === 'string') {
6334
+ content = SanitizeHtmlHelper.sanitize(content);
6317
6335
  }
6318
- itemcnt.appendChild(this.fetchElement(ctn, this.items[parseInt(index.toString(), 10)].content, index));
6336
+ itemcnt.appendChild(this.fetchElement(ctn, content, index));
6319
6337
  }
6320
6338
  return itemcnt;
6321
6339
  }
@@ -6964,7 +6982,7 @@ __decorate$4([
6964
6982
  Property('Multiple')
6965
6983
  ], Accordion.prototype, "expandMode", void 0);
6966
6984
  __decorate$4([
6967
- Property(false)
6985
+ Property(true)
6968
6986
  ], Accordion.prototype, "enableHtmlSanitizer", void 0);
6969
6987
  __decorate$4([
6970
6988
  Complex({}, AccordionAnimationSettings)
@@ -7364,7 +7382,7 @@ __decorate$6([
7364
7382
  Property('Menu')
7365
7383
  ], Menu.prototype, "title", void 0);
7366
7384
  __decorate$6([
7367
- Property(false)
7385
+ Property(true)
7368
7386
  ], Menu.prototype, "enableHtmlSanitizer", void 0);
7369
7387
  __decorate$6([
7370
7388
  Complex({ itemId: 'id', text: 'text', parentId: 'parentId', iconCss: 'iconCss', url: 'url', separator: 'separator', children: 'items' }, FieldSettings)
@@ -8130,10 +8148,10 @@ let Tab = class Tab extends Component {
8130
8148
  if (typeof val === 'string') {
8131
8149
  val = val.trim();
8132
8150
  if (this.isVue) {
8133
- templateFn = compile(SanitizeHtmlHelper.sanitize(val));
8151
+ templateFn = compile(this.enableHtmlSanitizer ? SanitizeHtmlHelper.sanitize(val) : val);
8134
8152
  }
8135
8153
  else {
8136
- ele.innerHTML = SanitizeHtmlHelper.sanitize(val);
8154
+ ele.innerHTML = this.enableHtmlSanitizer ? SanitizeHtmlHelper.sanitize(val) : val;
8137
8155
  }
8138
8156
  }
8139
8157
  else {
@@ -8333,7 +8351,7 @@ let Tab = class Tab extends Component {
8333
8351
  ele.removeChild(ele.firstChild);
8334
8352
  }
8335
8353
  }
8336
- if (this.isReact) {
8354
+ if (this.isReact || this.isAngular || this.isVue) {
8337
8355
  this.clearTemplate(['content']);
8338
8356
  }
8339
8357
  this.templateEle = [];
@@ -8505,7 +8523,7 @@ let Tab = class Tab extends Component {
8505
8523
  const tbPop = select('.e-popup.e-toolbar-pop', this.hdrEle);
8506
8524
  if (tbPop && tbPop.classList.contains('e-popup-close')) {
8507
8525
  const tbPopObj = (tbPop && tbPop.ej2_instances[0]);
8508
- tbPopObj.position.X = (this.headerPlacement === 'Left') ? 'left' : 'right';
8526
+ tbPopObj.position.X = (this.headerPlacement === 'Left' || this.element.classList.contains(CLS_RTL$4)) ? 'left' : 'right';
8509
8527
  tbPopObj.dataBind();
8510
8528
  tbPopObj.show(config);
8511
8529
  }
@@ -9699,7 +9717,7 @@ __decorate$7([
9699
9717
  Property(false)
9700
9718
  ], Tab.prototype, "enablePersistence", void 0);
9701
9719
  __decorate$7([
9702
- Property(false)
9720
+ Property(true)
9703
9721
  ], Tab.prototype, "enableHtmlSanitizer", void 0);
9704
9722
  __decorate$7([
9705
9723
  Property(false)
@@ -9927,7 +9945,6 @@ let TreeView = TreeView_1 = class TreeView extends Component {
9927
9945
  this.preventExpand = false;
9928
9946
  this.checkedElement = [];
9929
9947
  this.disableNode = [];
9930
- // eslint-disable-next-line
9931
9948
  this.validArr = [];
9932
9949
  this.validNodes = [];
9933
9950
  this.expandChildren = [];
@@ -10102,7 +10119,6 @@ let TreeView = TreeView_1 = class TreeView extends Component {
10102
10119
  this.element.setAttribute('aria-multiselectable', 'false');
10103
10120
  }
10104
10121
  }
10105
- // eslint-disable-next-line
10106
10122
  templateComplier(template) {
10107
10123
  if (template) {
10108
10124
  this.hasTemplate = true;
@@ -10126,7 +10142,6 @@ let TreeView = TreeView_1 = class TreeView extends Component {
10126
10142
  setDataBinding(changeDataSource) {
10127
10143
  this.treeList.push('false');
10128
10144
  if (this.fields.dataSource instanceof DataManager) {
10129
- /* eslint-disable */
10130
10145
  this.isOffline = this.fields.dataSource.dataSource.offline;
10131
10146
  if (this.fields.dataSource.ready) {
10132
10147
  this.fields.dataSource.ready.then((e) => {
@@ -11839,7 +11854,7 @@ let TreeView = TreeView_1 = class TreeView extends Component {
11839
11854
  this.expandOnType = (this.expandOn === 'Auto') ? (Browser.isDevice ? 'Click' : 'DblClick') : this.expandOn;
11840
11855
  }
11841
11856
  expandHandler(e) {
11842
- let target = e.originalEvent.target;
11857
+ let target = Browser.isDevice && !Browser.isIos ? document.elementFromPoint(e.originalEvent.changedTouches[0].clientX, e.originalEvent.changedTouches[0].clientY) : e.originalEvent.target;
11843
11858
  if (!target || target.classList.contains(INPUT) || target.classList.contains(ROOT) ||
11844
11859
  target.classList.contains(PARENTITEM) || target.classList.contains(LISTITEM) ||
11845
11860
  target.classList.contains(ICON) || this.showCheckBox && closest(target, '.' + CHECKBOXWRAP)) {
@@ -12405,6 +12420,9 @@ let TreeView = TreeView_1 = class TreeView extends Component {
12405
12420
  }
12406
12421
  }
12407
12422
  onMouseOver(e) {
12423
+ if (Browser.isDevice) {
12424
+ return;
12425
+ }
12408
12426
  let target = e.target;
12409
12427
  let classList$$1 = target.classList;
12410
12428
  let currentLi = closest(target, '.' + LISTITEM);
@@ -14845,7 +14863,7 @@ __decorate$8([
14845
14863
  Property(null)
14846
14864
  ], TreeView.prototype, "dragArea", void 0);
14847
14865
  __decorate$8([
14848
- Property(false)
14866
+ Property(true)
14849
14867
  ], TreeView.prototype, "enableHtmlSanitizer", void 0);
14850
14868
  __decorate$8([
14851
14869
  Property(false)
@@ -16104,8 +16122,9 @@ let Breadcrumb = class Breadcrumb extends Component {
16104
16122
  }
16105
16123
  beforeItemRenderChanges(prevItem, currItem, elem, isRightIcon) {
16106
16124
  const wrapElem = elem.querySelector('.e-anchor-wrap');
16107
- if (wrapElem) {
16125
+ if (wrapElem && wrapElem.querySelector('.e-home')) {
16108
16126
  wrapElem.parentElement.setAttribute('aria-label', 'home');
16127
+ wrapElem.parentElement.setAttribute('role', 'link');
16109
16128
  }
16110
16129
  if (currItem.text !== prevItem.text) {
16111
16130
  wrapElem.childNodes.forEach((child) => {
@@ -18866,8 +18885,7 @@ let Stepper = class Stepper extends StepperBase {
18866
18885
  const selectedEle = this.stepperItemElements[parseInt(this.activeStep.toString(), 10)].firstChild;
18867
18886
  let value = this.activeStep === 0 ? 0 : (selectedEle.offsetLeft - progressPos.offsetLeft + (selectedEle.offsetWidth / 2)) / progressPos.offsetWidth * 100;
18868
18887
  if (this.element.classList.contains(RTL$3)) {
18869
- const elementPos = this.stepperItemElements[0].firstChild;
18870
- value = ((progressPos.offsetWidth - selectedEle.offsetLeft) + Math.abs((elementPos.offsetLeft + elementPos.offsetWidth) - this.stepperItemList.offsetWidth)) / progressPos.offsetWidth * 100;
18888
+ value = (progressPos.getBoundingClientRect().right - selectedEle.getBoundingClientRect().right + (selectedEle.offsetWidth / 2)) / progressPos.offsetWidth * 100;
18871
18889
  this.progressbar.style.setProperty(PROGRESSVALUE$1, (value) + '%');
18872
18890
  }
18873
18891
  else {