@syncfusion/ej2-navigations 24.2.8 → 25.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.
- package/CHANGELOG.md +9 -34
- package/dist/ej2-navigations.min.js +2 -2
- package/dist/ej2-navigations.umd.min.js +2 -2
- package/dist/ej2-navigations.umd.min.js.map +1 -1
- package/dist/es6/ej2-navigations.es2015.js +165 -137
- package/dist/es6/ej2-navigations.es2015.js.map +1 -1
- package/dist/es6/ej2-navigations.es5.js +165 -137
- package/dist/es6/ej2-navigations.es5.js.map +1 -1
- package/dist/global/ej2-navigations.min.js +2 -2
- package/dist/global/ej2-navigations.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +12 -12
- package/src/accordion/accordion-model.d.ts +3 -2
- package/src/accordion/accordion.d.ts +3 -2
- package/src/accordion/accordion.js +7 -7
- package/src/breadcrumb/breadcrumb.js +2 -1
- package/src/common/menu-base-model.d.ts +3 -2
- package/src/common/menu-base.d.ts +3 -2
- package/src/common/menu-base.js +101 -101
- package/src/menu/menu-model.d.ts +3 -2
- package/src/menu/menu.d.ts +3 -2
- package/src/menu/menu.js +1 -1
- package/src/stepper/stepper.js +1 -2
- package/src/tab/tab-model.d.ts +7 -21
- package/src/tab/tab.d.ts +7 -21
- package/src/tab/tab.js +5 -5
- package/src/toolbar/toolbar.d.ts +1 -0
- package/src/toolbar/toolbar.js +35 -13
- package/src/treeview/treeview-model.d.ts +4 -7
- package/src/treeview/treeview.d.ts +3 -3
- package/src/treeview/treeview.js +15 -9
- package/styles/accordion/_bds-definition.scss +180 -0
- package/styles/accordion/_material-definition.scss +1 -1
- package/styles/accordion/icons/_bds.scss +17 -0
- package/styles/accordion/material.css +1 -1
- package/styles/appbar/_bds-definition.scss +27 -0
- package/styles/bootstrap-dark.css +12 -4
- package/styles/bootstrap.css +12 -4
- package/styles/bootstrap4.css +12 -4
- package/styles/bootstrap5-dark.css +12 -4
- package/styles/bootstrap5.css +12 -4
- package/styles/breadcrumb/_bds-definition.scss +60 -0
- package/styles/breadcrumb/icons/_bds.scss +25 -0
- package/styles/carousel/_bds-definition.scss +27 -0
- package/styles/carousel/_layout.scss +5 -0
- package/styles/carousel/bootstrap-dark.css +6 -0
- package/styles/carousel/bootstrap.css +6 -0
- package/styles/carousel/bootstrap4.css +6 -0
- package/styles/carousel/bootstrap5-dark.css +6 -0
- package/styles/carousel/bootstrap5.css +6 -0
- package/styles/carousel/fabric-dark.css +6 -0
- package/styles/carousel/fabric.css +6 -0
- package/styles/carousel/fluent-dark.css +6 -0
- package/styles/carousel/fluent.css +6 -0
- package/styles/carousel/highcontrast-light.css +6 -0
- package/styles/carousel/highcontrast.css +6 -0
- package/styles/carousel/icons/_bds.scss +30 -0
- package/styles/carousel/material-dark.css +6 -0
- package/styles/carousel/material.css +6 -0
- package/styles/carousel/material3-dark.css +6 -0
- package/styles/carousel/material3.css +6 -0
- package/styles/carousel/tailwind-dark.css +6 -0
- package/styles/carousel/tailwind.css +6 -0
- package/styles/context-menu/_bds-definition.scss +65 -0
- package/styles/context-menu/icons/_bds.scss +33 -0
- package/styles/fabric-dark.css +12 -4
- package/styles/fabric.css +12 -4
- package/styles/fluent-dark.css +12 -4
- package/styles/fluent.css +12 -4
- package/styles/h-scroll/_bds-definition.scss +83 -0
- package/styles/h-scroll/icons/_bds.scss +49 -0
- package/styles/highcontrast-light.css +12 -4
- package/styles/highcontrast.css +12 -4
- package/styles/material-dark.css +12 -4
- package/styles/material.css +13 -5
- package/styles/material3-dark.css +12 -4
- package/styles/material3.css +12 -4
- package/styles/menu/_bds-definition.scss +66 -0
- package/styles/menu/icons/_bds.scss +134 -0
- package/styles/pager/_bds-definition.scss +152 -0
- package/styles/pager/icons/_bds.scss +50 -0
- package/styles/sidebar/_bds-definition.scss +45 -0
- package/styles/stepper/_bds-definition.scss +79 -0
- package/styles/stepper/_layout.scss +1 -0
- package/styles/stepper/bootstrap-dark.css +3 -0
- package/styles/stepper/bootstrap.css +3 -0
- package/styles/stepper/bootstrap4.css +3 -0
- package/styles/stepper/bootstrap5-dark.css +3 -0
- package/styles/stepper/bootstrap5.css +3 -0
- package/styles/stepper/fabric-dark.css +3 -0
- package/styles/stepper/fabric.css +3 -0
- package/styles/stepper/fluent-dark.css +3 -0
- package/styles/stepper/fluent.css +3 -0
- package/styles/stepper/highcontrast-light.css +3 -0
- package/styles/stepper/highcontrast.css +3 -0
- package/styles/stepper/icons/_bds.scss +5 -0
- package/styles/stepper/material-dark.css +3 -0
- package/styles/stepper/material.css +3 -0
- package/styles/stepper/material3-dark.css +3 -0
- package/styles/stepper/material3.css +3 -0
- package/styles/stepper/tailwind-dark.css +3 -0
- package/styles/stepper/tailwind.css +3 -0
- package/styles/tab/_bds-definition.scss +701 -0
- package/styles/tab/icons/_bds.scss +92 -0
- package/styles/tailwind-dark.css +14 -6
- package/styles/tailwind.css +12 -4
- package/styles/toolbar/_bds-definition.scss +215 -0
- package/styles/toolbar/_layout.scss +6 -7
- package/styles/toolbar/bootstrap-dark.css +3 -4
- package/styles/toolbar/bootstrap.css +3 -4
- package/styles/toolbar/bootstrap4.css +3 -4
- package/styles/toolbar/bootstrap5-dark.css +3 -4
- package/styles/toolbar/bootstrap5.css +3 -4
- package/styles/toolbar/fabric-dark.css +3 -4
- package/styles/toolbar/fabric.css +3 -4
- package/styles/toolbar/fluent-dark.css +3 -4
- package/styles/toolbar/fluent.css +3 -4
- package/styles/toolbar/highcontrast-light.css +3 -4
- package/styles/toolbar/highcontrast.css +3 -4
- package/styles/toolbar/icons/_bds.scss +16 -0
- package/styles/toolbar/material-dark.css +3 -4
- package/styles/toolbar/material.css +3 -4
- package/styles/toolbar/material3-dark.css +3 -4
- package/styles/toolbar/material3.css +3 -4
- package/styles/toolbar/tailwind-dark.css +3 -4
- package/styles/toolbar/tailwind.css +3 -4
- package/styles/treeview/_bds-definition.scss +132 -0
- package/styles/treeview/_tailwind-definition.scss +1 -1
- package/styles/treeview/_theme.scss +1 -1
- package/styles/treeview/icons/_bds.scss +43 -0
- package/styles/treeview/tailwind-dark.css +2 -2
- package/styles/v-scroll/_bds-definition.scss +49 -0
- 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, '
|
|
1291
|
+
EventHandler.add(this.targetElement, 'scroll', this.scrollHandler, this);
|
|
1292
1292
|
for (const parent of getScrollableParent(this.targetElement)) {
|
|
1293
|
-
EventHandler.add(parent, '
|
|
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
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
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
|
-
|
|
2379
|
-
|
|
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
|
-
|
|
2382
|
-
const
|
|
2383
|
-
|
|
2384
|
-
|
|
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
|
-
|
|
2400
|
-
|
|
2401
|
-
|
|
2402
|
-
|
|
2403
|
-
|
|
2404
|
-
|
|
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
|
-
|
|
2407
|
-
|
|
2408
|
-
|
|
2409
|
-
|
|
2410
|
-
|
|
2411
|
-
|
|
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
|
-
|
|
2416
|
-
this.
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
|
|
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.
|
|
2426
|
-
|
|
2427
|
-
|
|
2428
|
-
|
|
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
|
-
|
|
2433
|
-
|
|
2434
|
-
|
|
2435
|
-
|
|
2436
|
-
|
|
2437
|
-
|
|
2438
|
-
|
|
2439
|
-
|
|
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
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
|
|
2462
|
-
|
|
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
|
-
|
|
2467
|
-
|
|
2468
|
-
|
|
2469
|
-
|
|
2470
|
-
|
|
2471
|
-
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
-
|
|
2475
|
-
|
|
2476
|
-
|
|
2477
|
-
|
|
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
|
-
|
|
2537
|
-
|
|
2538
|
-
|
|
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, '
|
|
2822
|
+
EventHandler.remove(this.targetElement, 'scroll', this.scrollHandler);
|
|
2823
2823
|
for (const parent of getScrollableParent(this.targetElement)) {
|
|
2824
|
-
EventHandler.remove(parent, '
|
|
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(
|
|
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)
|
|
@@ -3941,16 +3941,21 @@ let Toolbar = class Toolbar extends Component {
|
|
|
3941
3941
|
popObj.enableRtl = false;
|
|
3942
3942
|
popObj.position = { X: 'right', Y: 'top' };
|
|
3943
3943
|
}
|
|
3944
|
-
popObj.dataBind();
|
|
3945
|
-
popObj.refreshPosition();
|
|
3946
|
-
popObj.element.style.top = this.getElementOffsetY() + 'px';
|
|
3947
3944
|
if (this.overflowMode === 'Extended') {
|
|
3948
3945
|
popObj.element.style.minHeight = '0px';
|
|
3946
|
+
popObj.width = this.getToolbarPopupWidth(this.element);
|
|
3949
3947
|
}
|
|
3948
|
+
popObj.dataBind();
|
|
3949
|
+
popObj.refreshPosition();
|
|
3950
|
+
popObj.element.style.top = this.getElementOffsetY() + 'px';
|
|
3950
3951
|
popupNav.classList.add(CLS_TBARNAVACT);
|
|
3951
3952
|
popObj.show({ name: 'FadeIn', duration: 100 });
|
|
3952
3953
|
}
|
|
3953
3954
|
}
|
|
3955
|
+
getToolbarPopupWidth(ele) {
|
|
3956
|
+
var eleStyles = window.getComputedStyle(ele);
|
|
3957
|
+
return parseFloat(eleStyles.width) + ((parseFloat(eleStyles.borderRightWidth)) * 2);
|
|
3958
|
+
}
|
|
3954
3959
|
/**
|
|
3955
3960
|
* To Initialize the control rendering
|
|
3956
3961
|
*
|
|
@@ -4342,13 +4347,15 @@ let Toolbar = class Toolbar extends Component {
|
|
|
4342
4347
|
position: this.enableRtl ? { X: 'left', Y: 'top' } : { X: 'right', Y: 'top' }
|
|
4343
4348
|
});
|
|
4344
4349
|
if (this.overflowMode === 'Extended') {
|
|
4345
|
-
popup.width =
|
|
4350
|
+
popup.width = this.getToolbarPopupWidth(this.element);
|
|
4346
4351
|
popup.offsetX = 0;
|
|
4347
4352
|
}
|
|
4348
4353
|
popup.appendTo(ele);
|
|
4349
4354
|
EventHandler.add(document, 'scroll', this.docEvent.bind(this));
|
|
4350
4355
|
EventHandler.add(document, 'click ', this.docEvent.bind(this));
|
|
4351
|
-
|
|
4356
|
+
if (this.overflowMode !== 'Extended') {
|
|
4357
|
+
popup.element.style.maxHeight = popup.element.offsetHeight + 'px';
|
|
4358
|
+
}
|
|
4352
4359
|
if (this.isVertical) {
|
|
4353
4360
|
popup.element.style.visibility = 'hidden';
|
|
4354
4361
|
}
|
|
@@ -4363,7 +4370,7 @@ let Toolbar = class Toolbar extends Component {
|
|
|
4363
4370
|
}
|
|
4364
4371
|
this.popObj = popup;
|
|
4365
4372
|
}
|
|
4366
|
-
else {
|
|
4373
|
+
else if (this.overflowMode !== 'Extended') {
|
|
4367
4374
|
const popupEle = this.popObj.element;
|
|
4368
4375
|
setStyleAttribute(popupEle, { maxHeight: '', display: 'block' });
|
|
4369
4376
|
setStyleAttribute(popupEle, { maxHeight: popupEle.offsetHeight + 'px', display: '' });
|
|
@@ -4390,11 +4397,13 @@ let Toolbar = class Toolbar extends Component {
|
|
|
4390
4397
|
const toolEle = this.popObj.element.parentElement;
|
|
4391
4398
|
const popupNav = toolEle.querySelector('.' + CLS_TBARNAV);
|
|
4392
4399
|
popupNav.setAttribute('aria-expanded', 'true');
|
|
4393
|
-
setStyleAttribute(popObj.element, { height: 'auto', maxHeight: '' });
|
|
4394
|
-
popObj.element.style.maxHeight = popObj.element.offsetHeight + 'px';
|
|
4395
4400
|
if (this.overflowMode === 'Extended') {
|
|
4396
4401
|
popObj.element.style.minHeight = '';
|
|
4397
4402
|
}
|
|
4403
|
+
else {
|
|
4404
|
+
setStyleAttribute(popObj.element, { height: 'auto', maxHeight: '' });
|
|
4405
|
+
popObj.element.style.maxHeight = popObj.element.offsetHeight + 'px';
|
|
4406
|
+
}
|
|
4398
4407
|
const popupElePos = popupEle.offsetTop + popupEle.offsetHeight + calculatePosition(toolEle).top;
|
|
4399
4408
|
const popIcon = popupNav.firstElementChild;
|
|
4400
4409
|
popupNav.classList.add(CLS_TBARNAVACT);
|
|
@@ -4411,9 +4420,11 @@ let Toolbar = class Toolbar extends Component {
|
|
|
4411
4420
|
break;
|
|
4412
4421
|
}
|
|
4413
4422
|
}
|
|
4414
|
-
|
|
4423
|
+
if (this.overflowMode !== 'Extended') {
|
|
4424
|
+
setStyleAttribute(popObj.element, { maxHeight: overflowHeight + 'px' });
|
|
4425
|
+
}
|
|
4415
4426
|
}
|
|
4416
|
-
else if (this.isVertical) {
|
|
4427
|
+
else if (this.isVertical && this.overflowMode !== 'Extended') {
|
|
4417
4428
|
const tbEleData = this.element.getBoundingClientRect();
|
|
4418
4429
|
setStyleAttribute(popObj.element, { maxHeight: (tbEleData.top + this.element.offsetHeight) + 'px', bottom: 0, visibility: '' });
|
|
4419
4430
|
}
|
|
@@ -5285,13 +5296,25 @@ let Toolbar = class Toolbar extends Component {
|
|
|
5285
5296
|
this.activeEle.focus();
|
|
5286
5297
|
}
|
|
5287
5298
|
activeEleRemove(curEle) {
|
|
5299
|
+
let previousEle = this.element.querySelector('.' + CLS_ITEM + ':not(.' + CLS_DISABLE$2 + ' ):not(.' + CLS_SEPARATOR + ' ):not(.' + CLS_HIDDEN + ' )');
|
|
5288
5300
|
if (!isNullOrUndefined(this.activeEle)) {
|
|
5289
5301
|
this.activeEle.setAttribute('tabindex', this.getDataTabindex(this.activeEle));
|
|
5302
|
+
if (previousEle) {
|
|
5303
|
+
previousEle.removeAttribute('tabindex');
|
|
5304
|
+
}
|
|
5305
|
+
previousEle = this.activeEle;
|
|
5290
5306
|
}
|
|
5291
5307
|
this.activeEle = curEle;
|
|
5292
5308
|
if (this.getDataTabindex(this.activeEle) === '-1') {
|
|
5293
5309
|
if (isNullOrUndefined(this.trgtEle) && !curEle.parentElement.classList.contains(CLS_TEMPLATE)) {
|
|
5294
|
-
this.
|
|
5310
|
+
if (!isNullOrUndefined(this.element.querySelector('.e-hor-nav')) && this.element.querySelector('.e-hor-nav').classList.contains('e-nav-active')) {
|
|
5311
|
+
this.updateTabIndex('0');
|
|
5312
|
+
this.getDataTabindex(previousEle) === '-1' ? previousEle.setAttribute('tabindex', '0') :
|
|
5313
|
+
previousEle.setAttribute('tabindex', this.getDataTabindex(previousEle));
|
|
5314
|
+
}
|
|
5315
|
+
else {
|
|
5316
|
+
this.updateTabIndex('-1');
|
|
5317
|
+
}
|
|
5295
5318
|
curEle.removeAttribute('tabindex');
|
|
5296
5319
|
}
|
|
5297
5320
|
else {
|
|
@@ -5355,8 +5378,7 @@ let Toolbar = class Toolbar extends Component {
|
|
|
5355
5378
|
}
|
|
5356
5379
|
if (this.popObj) {
|
|
5357
5380
|
if (this.overflowMode === 'Extended') {
|
|
5358
|
-
|
|
5359
|
-
this.popObj.width = parseFloat(eleStyles.width) + ((parseFloat(eleStyles.borderRightWidth)) * 2);
|
|
5381
|
+
this.popObj.width = this.getToolbarPopupWidth(this.element);
|
|
5360
5382
|
}
|
|
5361
5383
|
if (this.tbarAlign) {
|
|
5362
5384
|
this.removePositioning();
|
|
@@ -6245,7 +6267,7 @@ let Accordion = class Accordion extends Component {
|
|
|
6245
6267
|
}
|
|
6246
6268
|
catch (e) {
|
|
6247
6269
|
if (typeof (value) === 'string') {
|
|
6248
|
-
ele.innerHTML = SanitizeHtmlHelper.sanitize(value);
|
|
6270
|
+
ele.innerHTML = this.enableHtmlSanitizer ? SanitizeHtmlHelper.sanitize(value) : value;
|
|
6249
6271
|
}
|
|
6250
6272
|
else if (value instanceof (HTMLElement)) {
|
|
6251
6273
|
ele.appendChild(value);
|
|
@@ -6283,7 +6305,7 @@ let Accordion = class Accordion extends Component {
|
|
|
6283
6305
|
});
|
|
6284
6306
|
}
|
|
6285
6307
|
else if (ele.childElementCount === 0) {
|
|
6286
|
-
ele.innerHTML = SanitizeHtmlHelper.sanitize(value);
|
|
6308
|
+
ele.innerHTML = this.enableHtmlSanitizer ? SanitizeHtmlHelper.sanitize(value) : value;
|
|
6287
6309
|
}
|
|
6288
6310
|
if (!isNullOrUndefined(temString)) {
|
|
6289
6311
|
if (this.templateEle.indexOf(value) === -1) {
|
|
@@ -6311,11 +6333,11 @@ let Accordion = class Accordion extends Component {
|
|
|
6311
6333
|
itemcnt.appendChild(ctn);
|
|
6312
6334
|
}
|
|
6313
6335
|
else {
|
|
6314
|
-
|
|
6315
|
-
|
|
6316
|
-
|
|
6336
|
+
let content = this.items[parseInt(index.toString(), 10)].content;
|
|
6337
|
+
if (this.enableHtmlSanitizer && typeof (content) === 'string') {
|
|
6338
|
+
content = SanitizeHtmlHelper.sanitize(content);
|
|
6317
6339
|
}
|
|
6318
|
-
itemcnt.appendChild(this.fetchElement(ctn,
|
|
6340
|
+
itemcnt.appendChild(this.fetchElement(ctn, content, index));
|
|
6319
6341
|
}
|
|
6320
6342
|
return itemcnt;
|
|
6321
6343
|
}
|
|
@@ -6964,7 +6986,7 @@ __decorate$4([
|
|
|
6964
6986
|
Property('Multiple')
|
|
6965
6987
|
], Accordion.prototype, "expandMode", void 0);
|
|
6966
6988
|
__decorate$4([
|
|
6967
|
-
Property(
|
|
6989
|
+
Property(true)
|
|
6968
6990
|
], Accordion.prototype, "enableHtmlSanitizer", void 0);
|
|
6969
6991
|
__decorate$4([
|
|
6970
6992
|
Complex({}, AccordionAnimationSettings)
|
|
@@ -7364,7 +7386,7 @@ __decorate$6([
|
|
|
7364
7386
|
Property('Menu')
|
|
7365
7387
|
], Menu.prototype, "title", void 0);
|
|
7366
7388
|
__decorate$6([
|
|
7367
|
-
Property(
|
|
7389
|
+
Property(true)
|
|
7368
7390
|
], Menu.prototype, "enableHtmlSanitizer", void 0);
|
|
7369
7391
|
__decorate$6([
|
|
7370
7392
|
Complex({ itemId: 'id', text: 'text', parentId: 'parentId', iconCss: 'iconCss', url: 'url', separator: 'separator', children: 'items' }, FieldSettings)
|
|
@@ -8130,10 +8152,10 @@ let Tab = class Tab extends Component {
|
|
|
8130
8152
|
if (typeof val === 'string') {
|
|
8131
8153
|
val = val.trim();
|
|
8132
8154
|
if (this.isVue) {
|
|
8133
|
-
templateFn = compile(SanitizeHtmlHelper.sanitize(val));
|
|
8155
|
+
templateFn = compile(this.enableHtmlSanitizer ? SanitizeHtmlHelper.sanitize(val) : val);
|
|
8134
8156
|
}
|
|
8135
8157
|
else {
|
|
8136
|
-
ele.innerHTML = SanitizeHtmlHelper.sanitize(val);
|
|
8158
|
+
ele.innerHTML = this.enableHtmlSanitizer ? SanitizeHtmlHelper.sanitize(val) : val;
|
|
8137
8159
|
}
|
|
8138
8160
|
}
|
|
8139
8161
|
else {
|
|
@@ -8333,7 +8355,7 @@ let Tab = class Tab extends Component {
|
|
|
8333
8355
|
ele.removeChild(ele.firstChild);
|
|
8334
8356
|
}
|
|
8335
8357
|
}
|
|
8336
|
-
if (this.isReact) {
|
|
8358
|
+
if (this.isReact || this.isAngular || this.isVue) {
|
|
8337
8359
|
this.clearTemplate(['content']);
|
|
8338
8360
|
}
|
|
8339
8361
|
this.templateEle = [];
|
|
@@ -8505,7 +8527,7 @@ let Tab = class Tab extends Component {
|
|
|
8505
8527
|
const tbPop = select('.e-popup.e-toolbar-pop', this.hdrEle);
|
|
8506
8528
|
if (tbPop && tbPop.classList.contains('e-popup-close')) {
|
|
8507
8529
|
const tbPopObj = (tbPop && tbPop.ej2_instances[0]);
|
|
8508
|
-
tbPopObj.position.X = (this.headerPlacement === 'Left') ? 'left' : 'right';
|
|
8530
|
+
tbPopObj.position.X = (this.headerPlacement === 'Left' || this.element.classList.contains(CLS_RTL$4)) ? 'left' : 'right';
|
|
8509
8531
|
tbPopObj.dataBind();
|
|
8510
8532
|
tbPopObj.show(config);
|
|
8511
8533
|
}
|
|
@@ -9699,7 +9721,7 @@ __decorate$7([
|
|
|
9699
9721
|
Property(false)
|
|
9700
9722
|
], Tab.prototype, "enablePersistence", void 0);
|
|
9701
9723
|
__decorate$7([
|
|
9702
|
-
Property(
|
|
9724
|
+
Property(true)
|
|
9703
9725
|
], Tab.prototype, "enableHtmlSanitizer", void 0);
|
|
9704
9726
|
__decorate$7([
|
|
9705
9727
|
Property(false)
|
|
@@ -9927,7 +9949,6 @@ let TreeView = TreeView_1 = class TreeView extends Component {
|
|
|
9927
9949
|
this.preventExpand = false;
|
|
9928
9950
|
this.checkedElement = [];
|
|
9929
9951
|
this.disableNode = [];
|
|
9930
|
-
// eslint-disable-next-line
|
|
9931
9952
|
this.validArr = [];
|
|
9932
9953
|
this.validNodes = [];
|
|
9933
9954
|
this.expandChildren = [];
|
|
@@ -10102,7 +10123,6 @@ let TreeView = TreeView_1 = class TreeView extends Component {
|
|
|
10102
10123
|
this.element.setAttribute('aria-multiselectable', 'false');
|
|
10103
10124
|
}
|
|
10104
10125
|
}
|
|
10105
|
-
// eslint-disable-next-line
|
|
10106
10126
|
templateComplier(template) {
|
|
10107
10127
|
if (template) {
|
|
10108
10128
|
this.hasTemplate = true;
|
|
@@ -10126,7 +10146,6 @@ let TreeView = TreeView_1 = class TreeView extends Component {
|
|
|
10126
10146
|
setDataBinding(changeDataSource) {
|
|
10127
10147
|
this.treeList.push('false');
|
|
10128
10148
|
if (this.fields.dataSource instanceof DataManager) {
|
|
10129
|
-
/* eslint-disable */
|
|
10130
10149
|
this.isOffline = this.fields.dataSource.dataSource.offline;
|
|
10131
10150
|
if (this.fields.dataSource.ready) {
|
|
10132
10151
|
this.fields.dataSource.ready.then((e) => {
|
|
@@ -11839,7 +11858,7 @@ let TreeView = TreeView_1 = class TreeView extends Component {
|
|
|
11839
11858
|
this.expandOnType = (this.expandOn === 'Auto') ? (Browser.isDevice ? 'Click' : 'DblClick') : this.expandOn;
|
|
11840
11859
|
}
|
|
11841
11860
|
expandHandler(e) {
|
|
11842
|
-
let target = e.originalEvent.target;
|
|
11861
|
+
let target = Browser.isDevice && !Browser.isIos ? document.elementFromPoint(e.originalEvent.changedTouches[0].clientX, e.originalEvent.changedTouches[0].clientY) : e.originalEvent.target;
|
|
11843
11862
|
if (!target || target.classList.contains(INPUT) || target.classList.contains(ROOT) ||
|
|
11844
11863
|
target.classList.contains(PARENTITEM) || target.classList.contains(LISTITEM) ||
|
|
11845
11864
|
target.classList.contains(ICON) || this.showCheckBox && closest(target, '.' + CHECKBOXWRAP)) {
|
|
@@ -12391,11 +12410,17 @@ let TreeView = TreeView_1 = class TreeView extends Component {
|
|
|
12391
12410
|
focusIn() {
|
|
12392
12411
|
if (!this.mouseDownStatus) {
|
|
12393
12412
|
let focusedElement = this.getFocusedNode();
|
|
12394
|
-
focusedElement.
|
|
12395
|
-
|
|
12396
|
-
|
|
12413
|
+
if (focusedElement.classList.contains('e-disable')) {
|
|
12414
|
+
focusedElement.setAttribute("tabindex", "-1");
|
|
12415
|
+
this.navigateNode(true);
|
|
12416
|
+
}
|
|
12417
|
+
else {
|
|
12418
|
+
focusedElement.setAttribute("tabindex", "0");
|
|
12419
|
+
addClass([focusedElement], FOCUS);
|
|
12420
|
+
EventHandler.add(focusedElement, 'blur', this.focusOut, this);
|
|
12421
|
+
}
|
|
12422
|
+
this.mouseDownStatus = false;
|
|
12397
12423
|
}
|
|
12398
|
-
this.mouseDownStatus = false;
|
|
12399
12424
|
}
|
|
12400
12425
|
focusOut(event) {
|
|
12401
12426
|
let focusedElement = this.getFocusedNode();
|
|
@@ -12405,6 +12430,9 @@ let TreeView = TreeView_1 = class TreeView extends Component {
|
|
|
12405
12430
|
}
|
|
12406
12431
|
}
|
|
12407
12432
|
onMouseOver(e) {
|
|
12433
|
+
if (Browser.isDevice) {
|
|
12434
|
+
return;
|
|
12435
|
+
}
|
|
12408
12436
|
let target = e.target;
|
|
12409
12437
|
let classList$$1 = target.classList;
|
|
12410
12438
|
let currentLi = closest(target, '.' + LISTITEM);
|
|
@@ -14845,7 +14873,7 @@ __decorate$8([
|
|
|
14845
14873
|
Property(null)
|
|
14846
14874
|
], TreeView.prototype, "dragArea", void 0);
|
|
14847
14875
|
__decorate$8([
|
|
14848
|
-
Property(
|
|
14876
|
+
Property(true)
|
|
14849
14877
|
], TreeView.prototype, "enableHtmlSanitizer", void 0);
|
|
14850
14878
|
__decorate$8([
|
|
14851
14879
|
Property(false)
|
|
@@ -16104,8 +16132,9 @@ let Breadcrumb = class Breadcrumb extends Component {
|
|
|
16104
16132
|
}
|
|
16105
16133
|
beforeItemRenderChanges(prevItem, currItem, elem, isRightIcon) {
|
|
16106
16134
|
const wrapElem = elem.querySelector('.e-anchor-wrap');
|
|
16107
|
-
if (wrapElem) {
|
|
16135
|
+
if (wrapElem && wrapElem.querySelector('.e-home')) {
|
|
16108
16136
|
wrapElem.parentElement.setAttribute('aria-label', 'home');
|
|
16137
|
+
wrapElem.parentElement.setAttribute('role', 'link');
|
|
16109
16138
|
}
|
|
16110
16139
|
if (currItem.text !== prevItem.text) {
|
|
16111
16140
|
wrapElem.childNodes.forEach((child) => {
|
|
@@ -18866,8 +18895,7 @@ let Stepper = class Stepper extends StepperBase {
|
|
|
18866
18895
|
const selectedEle = this.stepperItemElements[parseInt(this.activeStep.toString(), 10)].firstChild;
|
|
18867
18896
|
let value = this.activeStep === 0 ? 0 : (selectedEle.offsetLeft - progressPos.offsetLeft + (selectedEle.offsetWidth / 2)) / progressPos.offsetWidth * 100;
|
|
18868
18897
|
if (this.element.classList.contains(RTL$3)) {
|
|
18869
|
-
|
|
18870
|
-
value = ((progressPos.offsetWidth - selectedEle.offsetLeft) + Math.abs((elementPos.offsetLeft + elementPos.offsetWidth) - this.stepperItemList.offsetWidth)) / progressPos.offsetWidth * 100;
|
|
18898
|
+
value = (progressPos.getBoundingClientRect().right - selectedEle.getBoundingClientRect().right + (selectedEle.offsetWidth / 2)) / progressPos.offsetWidth * 100;
|
|
18871
18899
|
this.progressbar.style.setProperty(PROGRESSVALUE$1, (value) + '%');
|
|
18872
18900
|
}
|
|
18873
18901
|
else {
|