@syncfusion/ej2-navigations 33.2.7 → 33.2.8

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 (101) hide show
  1. package/dist/ej2-navigations.min.js +1 -10
  2. package/dist/ej2-navigations.umd.min.js +1 -10
  3. package/dist/ej2-navigations.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-navigations.es2015.js +57 -3
  5. package/dist/es6/ej2-navigations.es2015.js.map +1 -1
  6. package/dist/es6/ej2-navigations.es5.js +57 -3
  7. package/dist/es6/ej2-navigations.es5.js.map +1 -1
  8. package/dist/global/ej2-navigations.min.js +1 -10
  9. package/dist/global/ej2-navigations.min.js.map +1 -1
  10. package/dist/global/index.d.ts +0 -9
  11. package/package.json +1 -1
  12. package/src/accordion/accordion.d.ts +3 -0
  13. package/src/accordion/accordion.js +27 -2
  14. package/src/sidebar/sidebar.d.ts +1 -0
  15. package/src/sidebar/sidebar.js +9 -1
  16. package/src/tab/tab.d.ts +1 -0
  17. package/src/tab/tab.js +21 -0
  18. package/styles/accordion/_layout.scss +10 -4
  19. package/styles/accordion/_material3-dark-definition.scss +1 -1
  20. package/styles/accordion/_material3-definition.scss +1 -1
  21. package/styles/accordion/_tailwind3-definition.scss +1 -1
  22. package/styles/accordion/_theme.scss +0 -4
  23. package/styles/accordion/bds.css +8 -8
  24. package/styles/accordion/bootstrap-dark.css +8 -8
  25. package/styles/accordion/bootstrap.css +8 -8
  26. package/styles/accordion/bootstrap4.css +8 -8
  27. package/styles/accordion/bootstrap5-dark.css +8 -8
  28. package/styles/accordion/bootstrap5.3.css +8 -8
  29. package/styles/accordion/bootstrap5.css +8 -8
  30. package/styles/accordion/fabric-dark.css +8 -8
  31. package/styles/accordion/fabric.css +8 -8
  32. package/styles/accordion/fluent-dark.css +8 -8
  33. package/styles/accordion/fluent.css +8 -8
  34. package/styles/accordion/fluent2.css +8 -16
  35. package/styles/accordion/highcontrast-light.css +8 -8
  36. package/styles/accordion/highcontrast.css +8 -8
  37. package/styles/accordion/material-dark.css +8 -8
  38. package/styles/accordion/material.css +8 -8
  39. package/styles/accordion/material3-dark.css +8 -8
  40. package/styles/accordion/material3.css +8 -8
  41. package/styles/accordion/tailwind-dark.css +8 -8
  42. package/styles/accordion/tailwind.css +8 -8
  43. package/styles/accordion/tailwind3.css +8 -16
  44. package/styles/bds-lite.css +8 -8
  45. package/styles/bds.css +8 -8
  46. package/styles/bootstrap-dark-lite.css +8 -8
  47. package/styles/bootstrap-dark.css +9 -9
  48. package/styles/bootstrap-lite.css +8 -8
  49. package/styles/bootstrap.css +9 -9
  50. package/styles/bootstrap4-lite.css +8 -8
  51. package/styles/bootstrap4.css +8 -8
  52. package/styles/bootstrap5-dark-lite.css +8 -8
  53. package/styles/bootstrap5-dark.css +8 -8
  54. package/styles/bootstrap5-lite.css +8 -8
  55. package/styles/bootstrap5.3-lite.css +8 -8
  56. package/styles/bootstrap5.3.css +8 -8
  57. package/styles/bootstrap5.css +8 -8
  58. package/styles/fabric-dark-lite.css +8 -8
  59. package/styles/fabric-dark.css +9 -9
  60. package/styles/fabric-lite.css +8 -8
  61. package/styles/fabric.css +9 -9
  62. package/styles/fluent-dark-lite.css +8 -8
  63. package/styles/fluent-dark.css +8 -8
  64. package/styles/fluent-lite.css +8 -8
  65. package/styles/fluent.css +8 -8
  66. package/styles/fluent2-lite.css +8 -16
  67. package/styles/fluent2.css +8 -16
  68. package/styles/highcontrast-light-lite.css +8 -8
  69. package/styles/highcontrast-light.css +9 -9
  70. package/styles/highcontrast-lite.css +8 -8
  71. package/styles/highcontrast.css +9 -9
  72. package/styles/material-dark-lite.css +9 -9
  73. package/styles/material-dark.css +10 -10
  74. package/styles/material-lite.css +9 -9
  75. package/styles/material.css +10 -10
  76. package/styles/material3-dark-lite.css +8 -8
  77. package/styles/material3-dark.css +8 -8
  78. package/styles/material3-lite.css +8 -8
  79. package/styles/material3.css +8 -8
  80. package/styles/tailwind-dark-lite.css +8 -8
  81. package/styles/tailwind-dark.css +8 -8
  82. package/styles/tailwind-lite.css +8 -8
  83. package/styles/tailwind.css +8 -8
  84. package/styles/tailwind3-lite.css +8 -16
  85. package/styles/tailwind3.css +8 -16
  86. package/styles/treeview/_bootstrap-dark-definition.scss +1 -1
  87. package/styles/treeview/_bootstrap-definition.scss +1 -1
  88. package/styles/treeview/_fabric-dark-definition.scss +1 -1
  89. package/styles/treeview/_fabric-definition.scss +1 -1
  90. package/styles/treeview/_highcontrast-definition.scss +1 -1
  91. package/styles/treeview/_highcontrast-light-definition.scss +1 -1
  92. package/styles/treeview/_material-dark-definition.scss +2 -2
  93. package/styles/treeview/_material-definition.scss +2 -2
  94. package/styles/treeview/bootstrap-dark.css +1 -1
  95. package/styles/treeview/bootstrap.css +1 -1
  96. package/styles/treeview/fabric-dark.css +1 -1
  97. package/styles/treeview/fabric.css +1 -1
  98. package/styles/treeview/highcontrast-light.css +1 -1
  99. package/styles/treeview/highcontrast.css +1 -1
  100. package/styles/treeview/material-dark.css +2 -2
  101. package/styles/treeview/material.css +2 -2
@@ -6122,6 +6122,7 @@ const CLS_ACRDN_ROOT = 'e-acrdn-root';
6122
6122
  const CLS_ROOT$2 = 'e-accordion';
6123
6123
  const CLS_ITEM$1 = 'e-acrdn-item';
6124
6124
  const CLS_ITEMFOCUS = 'e-item-focus';
6125
+ const CLS_KEYBOARDFOCUS = 'e-focused';
6125
6126
  const CLS_ITEMHIDE = 'e-hide';
6126
6127
  const CLS_HEADER = 'e-acrdn-header';
6127
6128
  const CLS_HEADERICN = 'e-acrdn-header-icon';
@@ -6215,6 +6216,7 @@ let Accordion = class Accordion extends Component {
6215
6216
  */
6216
6217
  constructor(options, element) {
6217
6218
  super(options, element);
6219
+ this.isKeyboardNavigation = false;
6218
6220
  /**
6219
6221
  * Contains the keyboard configuration of the Accordion.
6220
6222
  */
@@ -6327,6 +6329,9 @@ let Accordion = class Accordion extends Component {
6327
6329
  }
6328
6330
  unWireEvents() {
6329
6331
  EventHandler.remove(this.element, 'click', this.clickHandler);
6332
+ EventHandler.remove(this.element, 'keydown', this.keyDownHandler);
6333
+ EventHandler.remove(document, 'keydown', this.keyDownHandler);
6334
+ EventHandler.remove(this.element, 'mousedown', this.mouseDownHandler);
6330
6335
  if (!isNullOrUndefined(this.keyModule)) {
6331
6336
  this.keyModule.destroy();
6332
6337
  }
@@ -6337,6 +6342,9 @@ let Accordion = class Accordion extends Component {
6337
6342
  }
6338
6343
  wireEvents() {
6339
6344
  EventHandler.add(this.element, 'click', this.clickHandler, this);
6345
+ EventHandler.add(this.element, 'keydown', this.keyDownHandler, this);
6346
+ EventHandler.add(document, 'keydown', this.keyDownHandler, this);
6347
+ EventHandler.add(this.element, 'mousedown', this.mouseDownHandler, this);
6340
6348
  if (!this.isNested && !this.isDestroy) {
6341
6349
  this.removeRippleEffect = rippleEffect(this.element, { selector: '.' + CLS_HEADER });
6342
6350
  }
@@ -6381,10 +6389,27 @@ let Accordion = class Accordion extends Component {
6381
6389
  return this.itemTemplateFn;
6382
6390
  }
6383
6391
  focusIn(e) {
6384
- e.target.parentElement.classList.add(CLS_ITEMFOCUS);
6392
+ const targetItem = e.target.parentElement;
6393
+ targetItem.classList.add(CLS_ITEMFOCUS);
6394
+ if (this.isKeyboardNavigation) {
6395
+ targetItem.classList.add(CLS_KEYBOARDFOCUS);
6396
+ this.isKeyboardNavigation = false;
6397
+ }
6385
6398
  }
6386
6399
  focusOut(e) {
6387
- e.target.parentElement.classList.remove(CLS_ITEMFOCUS);
6400
+ const targetItem = e.target.parentElement;
6401
+ targetItem.classList.remove(CLS_ITEMFOCUS);
6402
+ targetItem.classList.remove(CLS_KEYBOARDFOCUS);
6403
+ }
6404
+ keyDownHandler(e) {
6405
+ if (e.key === 'Tab' || e.key === 'ArrowUp' || e.key === 'ArrowDown') {
6406
+ this.isKeyboardNavigation = true;
6407
+ }
6408
+ }
6409
+ mouseDownHandler(e) {
6410
+ this.isKeyboardNavigation = false;
6411
+ const targetItem = e.target.parentElement;
6412
+ targetItem.classList.remove(CLS_KEYBOARDFOCUS);
6388
6413
  }
6389
6414
  ctrlTemplate() {
6390
6415
  this.ctrlTem = this.element.cloneNode(true);
@@ -8123,6 +8148,7 @@ let Tab = class Tab extends Component {
8123
8148
  refreshOverflow() {
8124
8149
  if (!isNullOrUndefined(this.tbObj)) {
8125
8150
  this.tbObj.refreshOverflow();
8151
+ this.updatePopupIconAriaLabel();
8126
8152
  }
8127
8153
  }
8128
8154
  /**
@@ -8287,6 +8313,7 @@ let Tab = class Tab extends Component {
8287
8313
  this.hdrEle.setAttribute('aria-labelledby', this.element.getAttribute('aria-labelledby'));
8288
8314
  this.element.removeAttribute('aria-labelledby');
8289
8315
  }
8316
+ this.updatePopupIconAriaLabel();
8290
8317
  this.setCloseButton(this.showCloseButton);
8291
8318
  const toolbarHeader = this.tbObj.element.querySelector('.' + CLS_TB_ITEMS);
8292
8319
  if (!isNullOrUndefined(toolbarHeader)) {
@@ -8295,6 +8322,21 @@ let Tab = class Tab extends Component {
8295
8322
  }
8296
8323
  }
8297
8324
  }
8325
+ updatePopupIconAriaLabel() {
8326
+ if (isNullOrUndefined(this.hdrEle) || isNullOrUndefined(this.tbObj) || this.tbObj.overflowMode !== 'Popup') {
8327
+ return;
8328
+ }
8329
+ const nav = this.hdrEle.querySelector('.' + CLS_HOR_NAV);
8330
+ if (isNullOrUndefined(nav)) {
8331
+ return;
8332
+ }
8333
+ const raw = window.getComputedStyle(nav, '::before').getPropertyValue('content');
8334
+ const beforeText = (raw || '').trim().replace(/^['"]|['"]$/g, '').replace(/\\(["'])/g, '$1').replace(/\\\\/g, '\\');
8335
+ const label = (beforeText && beforeText !== 'none' && beforeText !== 'normal')
8336
+ ? beforeText
8337
+ : 'overflow';
8338
+ nav.setAttribute('aria-label', label);
8339
+ }
8298
8340
  createContentElement(index) {
8299
8341
  const contentElement = this.createElement('div', {
8300
8342
  id: CLS_CONTENT$1 + this.tabId + '_' + index, className: CLS_ITEM$2,
@@ -9728,11 +9770,13 @@ let Tab = class Tab extends Component {
9728
9770
  this.trigger('adding', addArgs, (tabAddingArgs) => {
9729
9771
  if (!tabAddingArgs.cancel) {
9730
9772
  this.addingTabContent(items, index);
9773
+ this.updatePopupIconAriaLabel();
9731
9774
  }
9732
9775
  });
9733
9776
  }
9734
9777
  else {
9735
9778
  this.addingTabContent(items, index);
9779
+ this.updatePopupIconAriaLabel();
9736
9780
  }
9737
9781
  if (this.isReact) {
9738
9782
  this.renderReactTemplates();
@@ -10172,6 +10216,7 @@ let Tab = class Tab extends Component {
10172
10216
  this.tbObj.overflowMode = newProp.overflowMode;
10173
10217
  this.tbObj.dataBind();
10174
10218
  this.refreshActiveTabBorder();
10219
+ this.updatePopupIconAriaLabel();
10175
10220
  break;
10176
10221
  case 'heightAdjustMode':
10177
10222
  this.setContentHeight(false);
@@ -10340,6 +10385,7 @@ let Tab = class Tab extends Component {
10340
10385
  this.select(this.getEleIndex(activeEle));
10341
10386
  }
10342
10387
  this.refreshActiveBorder();
10388
+ this.updatePopupIconAriaLabel();
10343
10389
  }
10344
10390
  };
10345
10391
  __decorate$7([
@@ -16343,6 +16389,7 @@ let Sidebar = class Sidebar extends Component {
16343
16389
  super(options, element);
16344
16390
  this.documentClickContext = this.documentclickHandler.bind(this);
16345
16391
  this.resizeHandler = this.resize.bind(this);
16392
+ this.preventClose = false;
16346
16393
  }
16347
16394
  preRender() {
16348
16395
  this.setWidth();
@@ -16537,6 +16584,10 @@ let Sidebar = class Sidebar extends Component {
16537
16584
  setTimeout(() => this.setTimeOut(), 50);
16538
16585
  }
16539
16586
  EventHandler.add(this.element, 'transitionend', this.transitionEnd, this);
16587
+ this.preventClose = false;
16588
+ }
16589
+ else {
16590
+ this.preventClose = true;
16540
16591
  }
16541
16592
  });
16542
16593
  }
@@ -16792,9 +16843,12 @@ let Sidebar = class Sidebar extends Component {
16792
16843
  case 'type':
16793
16844
  this.checkType(false);
16794
16845
  removeClass([this.element], [VISIBILITY]);
16795
- this.addClass();
16846
+ if (!this.preventClose) {
16847
+ this.addClass();
16848
+ }
16796
16849
  addClass([this.element], this.type === 'Auto' ? (Browser.isDevice ? ['e-over'] :
16797
16850
  ['e-push']) : ['e-' + this.type.toLowerCase()]);
16851
+ this.setType(this.type);
16798
16852
  break;
16799
16853
  case 'position':
16800
16854
  this.element.style.transform = '';