@syncfusion/ej2-inputs 20.2.43 → 20.2.44
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/.eslintrc.json +244 -0
- 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 +57 -2
- package/dist/es6/ej2-inputs.es2015.js.map +1 -1
- package/dist/es6/ej2-inputs.es5.js +57 -2
- 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 +5 -5
- package/src/input/input.d.ts +22 -0
- package/src/input/input.js +53 -2
- package/src/maskedtextbox/maskedtextbox/maskedtextbox.js +1 -0
- package/src/numerictextbox/numerictextbox.js +2 -0
- package/src/textbox/textbox.js +1 -0
- package/styles/bootstrap5-dark.css +2 -2
- package/styles/bootstrap5.css +2 -2
- package/styles/fluent-dark.css +2 -2
- package/styles/fluent.css +2 -2
- package/styles/input/_layout.scss +38 -1
- package/styles/input/material-dark.css +27 -0
- package/styles/input/material.css +27 -0
- package/styles/material-dark.css +27 -0
- package/styles/material.css +27 -0
- package/styles/tailwind-dark.css +2 -2
- package/styles/tailwind.css +2 -2
- package/styles/uploader/_bootstrap5-definition.scss +1 -1
- package/styles/uploader/_fluent-definition.scss +1 -1
- package/styles/uploader/_tailwind-definition.scss +1 -1
- package/styles/uploader/bootstrap5-dark.css +2 -2
- package/styles/uploader/bootstrap5.css +2 -2
- package/styles/uploader/fluent-dark.css +2 -2
- package/styles/uploader/fluent.css +2 -2
- package/styles/uploader/tailwind-dark.css +2 -2
- package/styles/uploader/tailwind.css +2 -2
- package/tslint.json +111 -0
|
@@ -12,6 +12,7 @@ const CLASSNAMES = {
|
|
|
12
12
|
FLOATINPUT: 'e-float-input',
|
|
13
13
|
FLOATLINE: 'e-float-line',
|
|
14
14
|
FLOATTEXT: 'e-float-text',
|
|
15
|
+
FLOATTEXTCONTENT: 'e-float-text-content',
|
|
15
16
|
CLEARICON: 'e-clear-icon',
|
|
16
17
|
CLEARICONHIDE: 'e-clear-icon-hide',
|
|
17
18
|
LABELTOP: 'e-label-top',
|
|
@@ -68,6 +69,7 @@ var Input;
|
|
|
68
69
|
}
|
|
69
70
|
validateInputType(inputObject.container, args.element);
|
|
70
71
|
inputObject = setPropertyValue(args, inputObject);
|
|
72
|
+
createSpanElement(inputObject, makeElement);
|
|
71
73
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
72
74
|
return inputObject;
|
|
73
75
|
}
|
|
@@ -362,6 +364,9 @@ var Input;
|
|
|
362
364
|
*/
|
|
363
365
|
function setValue$$1(value, element, floatLabelType, clearButton) {
|
|
364
366
|
element.value = value;
|
|
367
|
+
if (isNullOrUndefined(element.getAttribute('value'))) {
|
|
368
|
+
calculateWidth(element, element.parentElement);
|
|
369
|
+
}
|
|
365
370
|
if ((!isNullOrUndefined(floatLabelType)) && floatLabelType === 'Auto') {
|
|
366
371
|
validateLabel(element, floatLabelType);
|
|
367
372
|
}
|
|
@@ -402,6 +407,26 @@ var Input;
|
|
|
402
407
|
}
|
|
403
408
|
}
|
|
404
409
|
Input.setCssClass = setCssClass;
|
|
410
|
+
/**
|
|
411
|
+
* Set the width to the placeholder when it overflows on the button such as spinbutton, clearbutton, icon etc
|
|
412
|
+
* ```
|
|
413
|
+
* E.g : Input.calculateWidth(element, container);
|
|
414
|
+
* ```
|
|
415
|
+
*
|
|
416
|
+
* @param {any} element - Input element which is need to add.
|
|
417
|
+
* @param {HTMLElement} container - The parent element which is need to get the label span to calculate width
|
|
418
|
+
*/
|
|
419
|
+
function calculateWidth(element, container) {
|
|
420
|
+
if (!isNullOrUndefined(container.getElementsByClassName('e-float-text-content')[0])) {
|
|
421
|
+
if (container.getElementsByClassName('e-float-text-content')[0].classList.contains('e-float-text-overflow')) {
|
|
422
|
+
container.getElementsByClassName('e-float-text-content')[0].classList.remove('e-float-text-overflow');
|
|
423
|
+
}
|
|
424
|
+
if (element.clientWidth < container.getElementsByClassName('e-float-text-content')[0].clientWidth || container.getElementsByClassName('e-control')[0].clientWidth === container.getElementsByClassName('e-float-text-content')[0].clientWidth) {
|
|
425
|
+
container.getElementsByClassName('e-float-text-content')[0].classList.add('e-float-text-overflow');
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
Input.calculateWidth = calculateWidth;
|
|
405
430
|
/**
|
|
406
431
|
* Set the width to the wrapper of input element.
|
|
407
432
|
* ```
|
|
@@ -418,6 +443,7 @@ var Input;
|
|
|
418
443
|
else if (typeof width === 'string') {
|
|
419
444
|
container.style.width = (width.match(/px|%|em/)) ? (width) : (formatUnit(width));
|
|
420
445
|
}
|
|
446
|
+
calculateWidth(container.firstChild, container);
|
|
421
447
|
}
|
|
422
448
|
Input.setWidth = setWidth;
|
|
423
449
|
/**
|
|
@@ -434,13 +460,13 @@ var Input;
|
|
|
434
460
|
const parentElement = getParentNode(element);
|
|
435
461
|
if (parentElement.classList.contains(CLASSNAMES.FLOATINPUT)) {
|
|
436
462
|
if (!isNullOrUndefined(placeholder) && placeholder !== '') {
|
|
437
|
-
parentElement.getElementsByClassName(CLASSNAMES.FLOATTEXT)[0].textContent = placeholder;
|
|
463
|
+
parentElement.getElementsByClassName('e-float-text-content')[0] ? parentElement.getElementsByClassName(CLASSNAMES.FLOATTEXT)[0].children[0].textContent = placeholder : parentElement.getElementsByClassName(CLASSNAMES.FLOATTEXT)[0].textContent = placeholder;
|
|
438
464
|
parentElement.classList.remove(CLASSNAMES.NOFLOATLABEL);
|
|
439
465
|
element.removeAttribute('placeholder');
|
|
440
466
|
}
|
|
441
467
|
else {
|
|
442
468
|
parentElement.classList.add(CLASSNAMES.NOFLOATLABEL);
|
|
443
|
-
parentElement.getElementsByClassName(CLASSNAMES.FLOATTEXT)[0].textContent = '';
|
|
469
|
+
parentElement.getElementsByClassName('e-float-text-content')[0] ? parentElement.getElementsByClassName(CLASSNAMES.FLOATTEXT)[0].children[0].textContent = '' : parentElement.getElementsByClassName(CLASSNAMES.FLOATTEXT)[0].textContent = '';
|
|
444
470
|
}
|
|
445
471
|
}
|
|
446
472
|
else {
|
|
@@ -631,6 +657,8 @@ var Input;
|
|
|
631
657
|
const inputObj = { container: container };
|
|
632
658
|
input.classList.remove(CLASSNAMES.INPUT);
|
|
633
659
|
createFloatingInput(args, inputObj, makeElement);
|
|
660
|
+
createSpanElement(inputObj, makeElement);
|
|
661
|
+
calculateWidth(args.element, inputObj.container);
|
|
634
662
|
const isPrependIcon = container.classList.contains('e-float-icon-left');
|
|
635
663
|
if (isNullOrUndefined(iconEle)) {
|
|
636
664
|
if (isPrependIcon) {
|
|
@@ -661,6 +689,26 @@ var Input;
|
|
|
661
689
|
checkFloatLabelType(type, input.parentElement);
|
|
662
690
|
}
|
|
663
691
|
Input.addFloating = addFloating;
|
|
692
|
+
/**
|
|
693
|
+
* Create the span inside the label and add the label text into the span textcontent
|
|
694
|
+
* ```
|
|
695
|
+
* E.g : Input.createSpanElement(inputObject, makeElement);
|
|
696
|
+
* ```
|
|
697
|
+
*
|
|
698
|
+
* @param {InputObject} inputObject
|
|
699
|
+
* - Element which is need to get the label
|
|
700
|
+
* @param {createElementParams} makeElement
|
|
701
|
+
* - Element which is need to create the span
|
|
702
|
+
*/
|
|
703
|
+
function createSpanElement(inputObject, makeElement) {
|
|
704
|
+
if (inputObject.container.classList.contains('e-outline') && inputObject.container.getElementsByClassName('e-float-text')[0]) {
|
|
705
|
+
const labelSpanElement = makeElement('span', { className: CLASSNAMES.FLOATTEXTCONTENT });
|
|
706
|
+
labelSpanElement.innerHTML = inputObject.container.getElementsByClassName('e-float-text')[0].innerHTML;
|
|
707
|
+
inputObject.container.getElementsByClassName('e-float-text')[0].innerHTML = '';
|
|
708
|
+
inputObject.container.getElementsByClassName('e-float-text')[0].appendChild(labelSpanElement);
|
|
709
|
+
}
|
|
710
|
+
}
|
|
711
|
+
Input.createSpanElement = createSpanElement;
|
|
664
712
|
/**
|
|
665
713
|
* Enable or Disable the ripple effect on the icons inside the Input. Ripple effect is only applicable for material theme.
|
|
666
714
|
* ```
|
|
@@ -749,6 +797,9 @@ var Input;
|
|
|
749
797
|
prependSpan(icon, container, input, internalCreate);
|
|
750
798
|
}
|
|
751
799
|
}
|
|
800
|
+
if (container.getElementsByClassName('e-input-group-icon')[0] && container.getElementsByClassName('e-float-text-overflow')[0]) {
|
|
801
|
+
container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');
|
|
802
|
+
}
|
|
752
803
|
}
|
|
753
804
|
Input.addIcon = addIcon;
|
|
754
805
|
/**
|
|
@@ -1958,6 +2009,7 @@ let NumericTextBox = class NumericTextBox extends Component {
|
|
|
1958
2009
|
switch (prop) {
|
|
1959
2010
|
case 'width':
|
|
1960
2011
|
this.setElementWidth(newProp.width);
|
|
2012
|
+
Input.calculateWidth(this.element, this.container);
|
|
1961
2013
|
break;
|
|
1962
2014
|
case 'cssClass':
|
|
1963
2015
|
this.updateCssClass(newProp.cssClass, oldProp.cssClass);
|
|
@@ -1986,6 +2038,7 @@ let NumericTextBox = class NumericTextBox extends Component {
|
|
|
1986
2038
|
break;
|
|
1987
2039
|
case 'placeholder':
|
|
1988
2040
|
Input.setPlaceholder(newProp.placeholder, this.element);
|
|
2041
|
+
Input.calculateWidth(this.element, this.container);
|
|
1989
2042
|
break;
|
|
1990
2043
|
case 'step':
|
|
1991
2044
|
this.step = newProp.step;
|
|
@@ -3607,6 +3660,7 @@ let MaskedTextBox = class MaskedTextBox extends Component {
|
|
|
3607
3660
|
break;
|
|
3608
3661
|
case 'width':
|
|
3609
3662
|
this.setWidth(newProp.width);
|
|
3663
|
+
Input.calculateWidth(this.element, this.inputObj.container);
|
|
3610
3664
|
break;
|
|
3611
3665
|
case 'cssClass':
|
|
3612
3666
|
this.updateCssClass(newProp.cssClass, oldProp.cssClass);
|
|
@@ -12862,6 +12916,7 @@ let TextBox = class TextBox extends Component {
|
|
|
12862
12916
|
break;
|
|
12863
12917
|
case 'placeholder':
|
|
12864
12918
|
Input.setPlaceholder(this.placeholder, this.respectiveElement);
|
|
12919
|
+
Input.calculateWidth(this.respectiveElement, this.textboxWrapper.container);
|
|
12865
12920
|
break;
|
|
12866
12921
|
case 'autocomplete':
|
|
12867
12922
|
if (this.autocomplete !== 'on' && this.autocomplete !== '') {
|