@syncfusion/ej2-navigations 28.2.5 → 28.2.11

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 (48) hide show
  1. package/README.md +1 -1
  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 +66 -10
  6. package/dist/es6/ej2-navigations.es2015.js.map +1 -1
  7. package/dist/es6/ej2-navigations.es5.js +66 -10
  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 +10 -10
  13. package/src/carousel/carousel.js +5 -0
  14. package/src/common/menu-base.js +38 -5
  15. package/src/toolbar/toolbar.js +4 -1
  16. package/src/treeview/treeview.js +19 -4
  17. package/styles/bootstrap4-lite.css +4 -4
  18. package/styles/bootstrap4.css +4 -4
  19. package/styles/bootstrap5-dark-lite.css +10 -10
  20. package/styles/bootstrap5-dark.css +10 -10
  21. package/styles/bootstrap5-lite.css +10 -10
  22. package/styles/bootstrap5.3-lite.css +12 -12
  23. package/styles/bootstrap5.3.css +12 -12
  24. package/styles/bootstrap5.css +10 -10
  25. package/styles/fluent2-lite.css +7 -26
  26. package/styles/fluent2.css +7 -26
  27. package/styles/material3-dark-lite.css +10 -10
  28. package/styles/material3-dark.css +10 -10
  29. package/styles/material3-lite.css +10 -10
  30. package/styles/material3.css +10 -10
  31. package/styles/tab/_bootstrap4-definition.scss +2 -2
  32. package/styles/tab/_bootstrap5-definition.scss +3 -3
  33. package/styles/tab/_bootstrap5.3-definition.scss +3 -3
  34. package/styles/tab/_material3-definition.scss +3 -3
  35. package/styles/tab/_tailwind3-definition.scss +3 -3
  36. package/styles/tab/bootstrap4.css +4 -4
  37. package/styles/tab/bootstrap5-dark.css +10 -10
  38. package/styles/tab/bootstrap5.3.css +10 -10
  39. package/styles/tab/bootstrap5.css +10 -10
  40. package/styles/tab/material3-dark.css +10 -10
  41. package/styles/tab/material3.css +10 -10
  42. package/styles/tab/tailwind3.css +10 -10
  43. package/styles/tailwind3-lite.css +17 -36
  44. package/styles/tailwind3.css +17 -36
  45. package/styles/toolbar/_theme.scss +25 -64
  46. package/styles/toolbar/bootstrap5.3.css +2 -2
  47. package/styles/toolbar/fluent2.css +7 -26
  48. package/styles/toolbar/tailwind3.css +7 -26
@@ -1831,6 +1831,8 @@ let MenuBase = class MenuBase extends Component {
1831
1831
  this.popupWrapper = this.createElement('div', {
1832
1832
  className: 'e-' + this.getModuleName() + '-wrapper ' + POPUP, id: li.id + '-ej2menu-' + elemId + '-popup'
1833
1833
  });
1834
+ this.popupWrapper.setAttribute('role', 'navigation');
1835
+ this.popupWrapper.setAttribute('aria-label', item.text + '-menu-popup');
1834
1836
  if (this.hamburgerMode) {
1835
1837
  top = li.offsetHeight;
1836
1838
  li.appendChild(this.popupWrapper);
@@ -2304,6 +2306,9 @@ let MenuBase = class MenuBase extends Component {
2304
2306
  if (!args.curData.htmlAttributes.role) {
2305
2307
  args.item.setAttribute('role', 'separator');
2306
2308
  }
2309
+ if (!args.curData.htmlAttributes.ariaLabel) {
2310
+ args.item.setAttribute('aria-label', 'separator');
2311
+ }
2307
2312
  }
2308
2313
  if (showIcon && !args.curData[args.fields.iconCss]
2309
2314
  && !args.curData[this.getField('separator', level)]) {
@@ -2886,7 +2891,13 @@ let MenuBase = class MenuBase extends Component {
2886
2891
  item.splice(idx, 1);
2887
2892
  const uls = this.getWrapper().children;
2888
2893
  if (navIdx.length < uls.length) {
2889
- detach(uls[navIdx.length].children[idx]);
2894
+ if (this.enableScrolling && !uls[navIdx.length].classList.contains('e-menu-parent')) {
2895
+ const ul = uls[navIdx.length].querySelector('.e-menu-parent');
2896
+ detach(ul.children[idx]);
2897
+ }
2898
+ else {
2899
+ detach(uls[navIdx.length].children[idx]);
2900
+ }
2890
2901
  }
2891
2902
  }
2892
2903
  /**
@@ -3182,7 +3193,13 @@ let MenuBase = class MenuBase extends Component {
3182
3193
  ul.children[idx + 1].classList.add(disabled);
3183
3194
  }
3184
3195
  else {
3185
- ul.children[idx].classList.add(disabled);
3196
+ if (this.enableScrolling && !ul.classList.contains('e-menu-parent')) {
3197
+ const mainUl = ul.querySelector('.e-menu-parent');
3198
+ mainUl.children[idx].classList.add(disabled);
3199
+ }
3200
+ else {
3201
+ ul.children[idx].classList.add(disabled);
3202
+ }
3186
3203
  }
3187
3204
  }
3188
3205
  }
@@ -3220,6 +3237,9 @@ let MenuBase = class MenuBase extends Component {
3220
3237
  ul = this.getUlByNavIdx(navIdx.length);
3221
3238
  item = this.getItems(navIdx);
3222
3239
  if (ul) {
3240
+ if (this.enableScrolling && !ul.classList.contains('e-menu-parent')) {
3241
+ ul = ul.querySelector('.e-menu-parent');
3242
+ }
3223
3243
  const validUl = isUniqueId ? ul.children[index].id : item[index].text.toString();
3224
3244
  if (ishide && validUl === items[i]) {
3225
3245
  ul.children[index].classList.add(HIDE);
@@ -3278,6 +3298,7 @@ let MenuBase = class MenuBase extends Component {
3278
3298
  let navIdx;
3279
3299
  let iitems;
3280
3300
  let menuitem;
3301
+ let parentUl;
3281
3302
  for (let i = 0; i < items.length; i++) {
3282
3303
  navIdx = this.getIndex(text, isUniqueId);
3283
3304
  idx = navIdx.pop();
@@ -3290,11 +3311,23 @@ let MenuBase = class MenuBase extends Component {
3290
3311
  if (!isNullOrUndefined(idx) && navIdx.length < uls.length) {
3291
3312
  idx = isAfter ? idx + 1 : idx;
3292
3313
  li = this.createItems(iitems).children[idx];
3293
- const ul = this.isMenu ? select('.e-menu-parent', uls[navIdx.length]) : uls[navIdx.length];
3314
+ let ul = parentUl = this.isMenu ? select('.e-menu-parent', uls[navIdx.length]) : uls[navIdx.length];
3315
+ if (this.enableScrolling && !ul.classList.contains('e-menu-parent')) {
3316
+ ul = ul.querySelector('.e-menu-parent');
3317
+ }
3294
3318
  ul.insertBefore(li, ul.children[idx]);
3295
3319
  if (i === items.length - 1 && !this.isMenu && ul.style.display === 'block') {
3296
- this.setPosition(null, ul, parseFloat(ul.style.top), parseFloat(ul.style.left));
3297
- ul.style.display = 'block';
3320
+ if (this.enableScrolling) {
3321
+ this.setPosition(null, ul, parseFloat(parentUl.style.top), parseFloat(parentUl.style.left));
3322
+ const scrollElem = closest(ul, '.e-vscroll');
3323
+ if (scrollElem) {
3324
+ scrollElem.style.display = 'block';
3325
+ }
3326
+ }
3327
+ else {
3328
+ this.setPosition(null, ul, parseFloat(ul.style.top), parseFloat(ul.style.left));
3329
+ ul.style.display = 'block';
3330
+ }
3298
3331
  }
3299
3332
  }
3300
3333
  }
@@ -4249,7 +4282,10 @@ let Toolbar = class Toolbar extends Component {
4249
4282
  else if (scrollNav) {
4250
4283
  navEleWidth = this.isVertical ? (scrollNav.offsetHeight * (2)) : (scrollNav.offsetWidth * 2);
4251
4284
  }
4252
- if (itemWidth > eleWidth - navEleWidth) {
4285
+ if (eleWidth >= itemWidth && scrollNav) {
4286
+ return false;
4287
+ }
4288
+ else if (itemWidth > eleWidth - navEleWidth) {
4253
4289
  return true;
4254
4290
  }
4255
4291
  else {
@@ -11037,16 +11073,27 @@ let TreeView = TreeView_1 = class TreeView extends Component {
11037
11073
  }
11038
11074
  }
11039
11075
  getSelectedChildNodeDetails(dataUid) {
11076
+ const childKey = typeof this.fields.child === 'string' ? this.fields.child : null;
11077
+ const dataId = this.fields.id;
11078
+ const parentKey = this.fields.parentID;
11040
11079
  return this.checkedNodes
11041
11080
  .map((checkedNodeId) => {
11042
11081
  return new DataManager(this.DDTTreeData)
11043
11082
  .executeLocal(new Query().where('id', 'equal', checkedNodeId, true))[0];
11044
11083
  })
11045
11084
  .filter((childNode) => {
11046
- if (childNode && typeof childNode === 'object' && 'pid' in childNode) {
11047
- const childNodePid = childNode.pid;
11048
- if (!isNullOrUndefined(childNodePid)) {
11049
- return childNodePid.toString() === dataUid;
11085
+ if (childNode && typeof childNode === 'object' && (parentKey in childNode || childKey in childNode)) {
11086
+ if (!isNullOrUndefined(childKey) && childKey in childNode && Array.isArray(childNode[childKey])) {
11087
+ const matchNode = childNode[dataId];
11088
+ if (!isNullOrUndefined(matchNode)) {
11089
+ return matchNode.toString() === dataUid;
11090
+ }
11091
+ }
11092
+ else {
11093
+ const childNodePid = childNode[parentKey];
11094
+ if (!isNullOrUndefined(childNodePid)) {
11095
+ return childNodePid.toString() === dataUid;
11096
+ }
11050
11097
  }
11051
11098
  }
11052
11099
  return false;
@@ -11175,14 +11222,18 @@ let TreeView = TreeView_1 = class TreeView extends Component {
11175
11222
  const checkBoxes = selectAll('.' + CHECKBOXWRAP, this.element);
11176
11223
  if (this.loadOnDemand) {
11177
11224
  for (let index = 0; index < checkBoxes.length; index++) {
11225
+ const liEle = closest(checkBoxes[parseInt(index.toString(), 10)], '.' + LISTITEM);
11178
11226
  this.updateFieldChecked(checkBoxes[parseInt(index.toString(), 10)], doCheck);
11179
11227
  this.changeState(checkBoxes[parseInt(index.toString(), 10)], doCheck ? 'check' : 'uncheck', null, null, null, doCheck);
11228
+ this.updateOldCheckedData([this.getNodeData(liEle)]);
11180
11229
  }
11181
11230
  }
11182
11231
  else {
11183
11232
  for (let index = 0; index < checkBoxes.length; index++) {
11233
+ const liEle = closest(checkBoxes[parseInt(index.toString(), 10)], '.' + LISTITEM);
11184
11234
  this.updateFieldChecked(checkBoxes[parseInt(index.toString(), 10)], doCheck);
11185
11235
  this.changeState(checkBoxes[parseInt(index.toString(), 10)], doCheck ? 'check' : 'uncheck');
11236
+ this.updateOldCheckedData([this.getNodeData(liEle)]);
11186
11237
  }
11187
11238
  }
11188
11239
  }
@@ -17581,6 +17632,9 @@ let Carousel = class Carousel extends Component {
17581
17632
  if (isClone) {
17582
17633
  itemEle.classList.add(CLS_CLONED);
17583
17634
  }
17635
+ if (!(this.selectedIndex === index && !isClone)) {
17636
+ itemEle.setAttribute('inert', 'true');
17637
+ }
17584
17638
  if (!isNullOrUndefined(item.htmlAttributes)) {
17585
17639
  this.setHtmlAttributes(item.htmlAttributes, itemEle);
17586
17640
  }
@@ -17856,7 +17910,9 @@ let Carousel = class Carousel extends Component {
17856
17910
  }
17857
17911
  this.setProperties({ selectedIndex: currentIndex }, true);
17858
17912
  attributes(args.currentSlide, { 'aria-hidden': 'true' });
17913
+ args.currentSlide.setAttribute('inert', 'true');
17859
17914
  attributes(args.nextSlide, { 'aria-hidden': 'false' });
17915
+ args.nextSlide.removeAttribute('inert');
17860
17916
  this.refreshIndicators(activeIndex, currentIndex);
17861
17917
  this.slideChangedEventArgs = {
17862
17918
  currentIndex: args.nextIndex,