@syncfusion/ej2-inputs 35.1.41 → 35.1.42
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/dist/ej2-inputs.min.js +2 -2
- package/dist/ej2-inputs.umd.min.js +2 -2
- package/dist/ej2-inputs.umd.min.js.map +1 -1
- package/dist/es6/ej2-inputs.es2015.js +83 -13
- package/dist/es6/ej2-inputs.es2015.js.map +1 -1
- package/dist/es6/ej2-inputs.es5.js +83 -13
- package/dist/es6/ej2-inputs.es5.js.map +1 -1
- package/dist/global/ej2-inputs.min.js +2 -2
- package/dist/global/ej2-inputs.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +2 -2
- package/src/color-picker/color-picker.js +53 -11
- package/src/input/input.js +30 -9
|
@@ -40,6 +40,30 @@ var Input;
|
|
|
40
40
|
let floatType;
|
|
41
41
|
let isBindClearAction = true;
|
|
42
42
|
let resizeHandlers = new Map();
|
|
43
|
+
const mutationObservers = new Map();
|
|
44
|
+
const observeElementDetach = (element, container, resizeHandler) => {
|
|
45
|
+
const parent = container.parentElement;
|
|
46
|
+
if (!parent) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const observer = new MutationObserver(() => {
|
|
50
|
+
if (!document.documentElement.contains(container)) {
|
|
51
|
+
window.removeEventListener('resize', resizeHandler);
|
|
52
|
+
resizeHandlers.delete(element);
|
|
53
|
+
observer.disconnect();
|
|
54
|
+
mutationObservers.delete(element);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
let host = parent;
|
|
58
|
+
while (host && host.parentElement && host.parentElement !== document.body) {
|
|
59
|
+
host = host.parentElement;
|
|
60
|
+
}
|
|
61
|
+
observer.observe(host || parent, {
|
|
62
|
+
childList: true,
|
|
63
|
+
subtree: true
|
|
64
|
+
});
|
|
65
|
+
mutationObservers.set(element, observer);
|
|
66
|
+
};
|
|
43
67
|
/**
|
|
44
68
|
* Create a wrapper to input element with multiple span elements and set the basic properties to input based components.
|
|
45
69
|
* ```
|
|
@@ -461,8 +485,11 @@ var Input;
|
|
|
461
485
|
if (!isNullOrUndefined(resizeHandlers)) {
|
|
462
486
|
const resizeHandler = resizeHandlers.get(args.element);
|
|
463
487
|
if (resizeHandler) {
|
|
464
|
-
|
|
465
|
-
|
|
488
|
+
const observer = mutationObservers.get(args.element);
|
|
489
|
+
if (observer) {
|
|
490
|
+
observer.disconnect();
|
|
491
|
+
mutationObservers.delete(args.element);
|
|
492
|
+
}
|
|
466
493
|
if (isReactMode) {
|
|
467
494
|
resizeHandlers = null;
|
|
468
495
|
}
|
|
@@ -605,6 +632,7 @@ var Input;
|
|
|
605
632
|
};
|
|
606
633
|
resizeHandlers.set(element, resizeHandler);
|
|
607
634
|
window.addEventListener('resize', resizeHandler);
|
|
635
|
+
observeElementDetach(element, container, resizeHandler);
|
|
608
636
|
}
|
|
609
637
|
if (moduleName !== 'multiselect' && !_isElementVisible(element)) {
|
|
610
638
|
return;
|
|
@@ -12458,11 +12486,26 @@ let ColorPicker = class ColorPicker extends Component {
|
|
|
12458
12486
|
}
|
|
12459
12487
|
firstPaletteFocus() {
|
|
12460
12488
|
if (!select('.' + SELECT, this.container.children[0])) {
|
|
12461
|
-
|
|
12489
|
+
const firstTile = select('.' + TILE, this.container);
|
|
12490
|
+
if (firstTile) {
|
|
12491
|
+
firstTile.focus();
|
|
12492
|
+
}
|
|
12493
|
+
else {
|
|
12494
|
+
selectAll('.' + PALETTES, this.container)[0].focus();
|
|
12495
|
+
}
|
|
12462
12496
|
}
|
|
12463
12497
|
}
|
|
12464
12498
|
appendPalette(colors, key, refEle) {
|
|
12465
|
-
const
|
|
12499
|
+
const rowCount = Math.ceil(colors.length / this.columns);
|
|
12500
|
+
const palette = this.createElement('div', {
|
|
12501
|
+
className: PALETTES,
|
|
12502
|
+
attrs: {
|
|
12503
|
+
'tabindex': '0', 'role': 'grid',
|
|
12504
|
+
'aria-label': (key === 'recent-color' ? 'Recent ' : '') + 'Color palette, ' + rowCount +
|
|
12505
|
+
(rowCount === 1 ? ' row and ' : ' rows and ') + this.columns +
|
|
12506
|
+
(this.columns === 1 ? ' column' : ' columns')
|
|
12507
|
+
}
|
|
12508
|
+
});
|
|
12466
12509
|
if (key === 'recent-color') {
|
|
12467
12510
|
palette.classList.add('e-recent-palette');
|
|
12468
12511
|
}
|
|
@@ -12475,34 +12518,51 @@ let ColorPicker = class ColorPicker extends Component {
|
|
|
12475
12518
|
let row;
|
|
12476
12519
|
let tile;
|
|
12477
12520
|
let roundedColor;
|
|
12521
|
+
let rowIdx = 0;
|
|
12522
|
+
let colIdx;
|
|
12478
12523
|
for (let i = 0, len = colors.length; i < len; i++) {
|
|
12479
12524
|
if (i === 0 || i % this.columns === 0) {
|
|
12525
|
+
rowIdx++;
|
|
12526
|
+
colIdx = 0;
|
|
12480
12527
|
row = this.createElement('div', {
|
|
12481
|
-
className: 'e-row',
|
|
12528
|
+
className: 'e-row',
|
|
12529
|
+
attrs: { 'role': 'row', 'aria-label': 'Row ' + rowIdx }
|
|
12482
12530
|
});
|
|
12483
12531
|
palette.appendChild(row);
|
|
12484
12532
|
}
|
|
12533
|
+
colIdx++;
|
|
12485
12534
|
roundedColor = this.roundValue(colors[i]).toLowerCase();
|
|
12486
12535
|
tile = this.createElement('span', {
|
|
12487
|
-
className: TILE, attrs: {
|
|
12536
|
+
className: TILE, attrs: {
|
|
12537
|
+
'role': 'gridcell', 'aria-label': roundedColor, 'aria-selected': 'false',
|
|
12538
|
+
'tabindex': '-1',
|
|
12539
|
+
'aria-rowindex': rowIdx.toString(), 'aria-colindex': colIdx.toString()
|
|
12540
|
+
}
|
|
12488
12541
|
});
|
|
12489
12542
|
this.trigger('beforeTileRender', { element: tile, presetName: key, value: colors[i] });
|
|
12490
12543
|
row.appendChild(tile);
|
|
12491
12544
|
if (this.value === roundedColor && key !== 'recent-color') {
|
|
12492
12545
|
this.addTileSelection(tile);
|
|
12493
|
-
palette.focus();
|
|
12494
12546
|
}
|
|
12495
12547
|
tile.style.backgroundColor = this.convertToRgbString(this.hexToRgb(roundedColor));
|
|
12496
12548
|
}
|
|
12549
|
+
const selectedTile = palette.querySelector('.' + TILE + '.' + SELECT);
|
|
12550
|
+
if (selectedTile) {
|
|
12551
|
+
selectedTile.focus();
|
|
12552
|
+
}
|
|
12497
12553
|
}
|
|
12498
12554
|
setNoColor() {
|
|
12499
12555
|
const noColorEle = this.container.querySelector('.e-row').children[0];
|
|
12500
12556
|
noColorEle.classList.add(NOCOLOR);
|
|
12557
|
+
noColorEle.setAttribute('aria-label', 'No color');
|
|
12501
12558
|
if (!this.value) {
|
|
12502
12559
|
noColorEle.classList.add(SELECT);
|
|
12503
|
-
|
|
12560
|
+
noColorEle.setAttribute('aria-selected', 'true');
|
|
12561
|
+
noColorEle.focus();
|
|
12562
|
+
}
|
|
12563
|
+
else {
|
|
12564
|
+
noColorEle.setAttribute('aria-selected', 'false');
|
|
12504
12565
|
}
|
|
12505
|
-
['aria-selected', 'aria-label'].forEach((attr) => { noColorEle.removeAttribute(attr); });
|
|
12506
12566
|
noColorEle.style.backgroundColor = '';
|
|
12507
12567
|
}
|
|
12508
12568
|
appendElement(ele, insertPos = 0) {
|
|
@@ -13358,10 +13418,12 @@ let ColorPicker = class ColorPicker extends Component {
|
|
|
13358
13418
|
}
|
|
13359
13419
|
}
|
|
13360
13420
|
paletteKeyDown(e) {
|
|
13361
|
-
const
|
|
13362
|
-
if (!
|
|
13421
|
+
const eventTarget = e.target;
|
|
13422
|
+
if (!eventTarget.classList.contains(PALETTES) && !eventTarget.classList.contains(TILE)) {
|
|
13363
13423
|
return;
|
|
13364
13424
|
}
|
|
13425
|
+
const target = eventTarget.classList.contains(TILE) ?
|
|
13426
|
+
closest(eventTarget, '.' + PALETTES) : eventTarget;
|
|
13365
13427
|
let selectedEle;
|
|
13366
13428
|
let idx;
|
|
13367
13429
|
const tiles = [].slice.call(selectAll('.' + TILE, target));
|
|
@@ -13419,8 +13481,13 @@ let ColorPicker = class ColorPicker extends Component {
|
|
|
13419
13481
|
case 13:
|
|
13420
13482
|
e.preventDefault();
|
|
13421
13483
|
if (prevSelectedEle) {
|
|
13422
|
-
|
|
13423
|
-
|
|
13484
|
+
if (prevSelectedEle.classList.contains(NOCOLOR)) {
|
|
13485
|
+
this.enterKeyHandler('');
|
|
13486
|
+
}
|
|
13487
|
+
else {
|
|
13488
|
+
const cValue = prevSelectedEle.getAttribute('aria-label');
|
|
13489
|
+
this.enterKeyHandler(cValue ? cValue : '');
|
|
13490
|
+
}
|
|
13424
13491
|
}
|
|
13425
13492
|
break;
|
|
13426
13493
|
}
|
|
@@ -13441,6 +13508,9 @@ let ColorPicker = class ColorPicker extends Component {
|
|
|
13441
13508
|
}
|
|
13442
13509
|
this.triggerEvent(cValue, pValue, this.convertToRgbString(this.rgb), true);
|
|
13443
13510
|
}
|
|
13511
|
+
if (newEle) {
|
|
13512
|
+
newEle.focus();
|
|
13513
|
+
}
|
|
13444
13514
|
}
|
|
13445
13515
|
tilePosition(items, element, cIdx) {
|
|
13446
13516
|
items = Array.prototype.slice.call(items);
|