@descope/web-components-ui 1.0.240 → 1.0.241
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/index.cjs.js +44 -10
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/index.esm.js +44 -10
- package/dist/index.esm.js.map +1 -1
- package/dist/umd/1000.js +1 -1
- package/dist/umd/descope-multi-select-combo-box-index-js.js +1 -1
- package/package.json +1 -1
- package/src/components/descope-multi-select-combo-box/MultiSelectComboBoxClass.js +31 -4
- package/src/mixins/inputValidationMixin.js +13 -6
package/dist/cjs/index.cjs.js
CHANGED
@@ -1887,6 +1887,14 @@ const inputValidationMixin = (superclass) =>
|
|
1887
1887
|
return `Maximum length is ${this.getAttribute('maxlength')}. `;
|
1888
1888
|
}
|
1889
1889
|
|
1890
|
+
get defaultErrorMsgRangeUnderflow() {
|
1891
|
+
return `At least ${this.minItemsSelection} items are required.`;
|
1892
|
+
}
|
1893
|
+
|
1894
|
+
get defaultErrorMsgRangeOverflow() {
|
1895
|
+
return `At most ${this.maxItemsSelection} items are allowed.`;
|
1896
|
+
}
|
1897
|
+
|
1890
1898
|
getErrorMessage(flags) {
|
1891
1899
|
const {
|
1892
1900
|
valueMissing,
|
@@ -1905,12 +1913,7 @@ const inputValidationMixin = (superclass) =>
|
|
1905
1913
|
return (
|
1906
1914
|
this.getAttribute(errorAttributes.valueMissing) || this.defaultErrorMsgValueMissing
|
1907
1915
|
);
|
1908
|
-
case patternMismatch ||
|
1909
|
-
typeMismatch ||
|
1910
|
-
stepMismatch ||
|
1911
|
-
rangeOverflow ||
|
1912
|
-
rangeUnderflow ||
|
1913
|
-
badInput:
|
1916
|
+
case patternMismatch || typeMismatch || stepMismatch || badInput:
|
1914
1917
|
return (
|
1915
1918
|
this.getAttribute(errorAttributes.patternMismatch) ||
|
1916
1919
|
this.defaultErrorMsgPatternMismatch
|
@@ -1919,6 +1922,10 @@ const inputValidationMixin = (superclass) =>
|
|
1919
1922
|
return this.getAttribute(errorAttributes.tooShort) || this.defaultErrorMsgTooShort;
|
1920
1923
|
case tooLong:
|
1921
1924
|
return this.getAttribute(errorAttributes.tooLong) || this.defaultErrorMsgTooLong;
|
1925
|
+
case rangeUnderflow:
|
1926
|
+
return this.defaultErrorMsgRangeUnderflow;
|
1927
|
+
case rangeOverflow:
|
1928
|
+
return this.defaultErrorMsgRangeOverflow;
|
1922
1929
|
case customError:
|
1923
1930
|
return this.validationMessage;
|
1924
1931
|
default:
|
@@ -8716,6 +8723,14 @@ const MultiSelectComboBoxMixin = (superclass) =>
|
|
8716
8723
|
return this.getAttribute('allow-custom-value') === 'true';
|
8717
8724
|
}
|
8718
8725
|
|
8726
|
+
get minItemsSelection() {
|
8727
|
+
return parseInt(this.getAttribute('min-items-selection'), 10) || 0;
|
8728
|
+
}
|
8729
|
+
|
8730
|
+
get maxItemsSelection() {
|
8731
|
+
return parseInt(this.getAttribute('max-items-selection'), 10) || 0;
|
8732
|
+
}
|
8733
|
+
|
8719
8734
|
// eslint-disable-next-line class-methods-use-this
|
8720
8735
|
isValidDataType(data) {
|
8721
8736
|
const isValid = Array.isArray(data);
|
@@ -8860,18 +8875,37 @@ const MultiSelectComboBoxMixin = (superclass) =>
|
|
8860
8875
|
}
|
8861
8876
|
}
|
8862
8877
|
|
8863
|
-
|
8864
|
-
super.init?.();
|
8865
|
-
|
8878
|
+
setGetValidity() {
|
8866
8879
|
// eslint-disable-next-line func-names
|
8867
8880
|
this.getValidity = function () {
|
8868
|
-
if (
|
8881
|
+
if (this.isRequired && !this.value.length) {
|
8869
8882
|
return {
|
8870
8883
|
valueMissing: true,
|
8871
8884
|
};
|
8872
8885
|
}
|
8886
|
+
// If the field is not required, no minimum selection can be set
|
8887
|
+
if (
|
8888
|
+
this.isRequired &&
|
8889
|
+
this.minItemsSelection &&
|
8890
|
+
this.value.length < this.minItemsSelection
|
8891
|
+
) {
|
8892
|
+
return {
|
8893
|
+
rangeUnderflow: true,
|
8894
|
+
};
|
8895
|
+
}
|
8896
|
+
if (this.maxItemsSelection && this.value.length > this.maxItemsSelection) {
|
8897
|
+
return {
|
8898
|
+
rangeOverflow: true,
|
8899
|
+
};
|
8900
|
+
}
|
8873
8901
|
return {};
|
8874
8902
|
};
|
8903
|
+
}
|
8904
|
+
|
8905
|
+
init() {
|
8906
|
+
super.init?.();
|
8907
|
+
|
8908
|
+
this.setGetValidity();
|
8875
8909
|
|
8876
8910
|
this.setComboBoxDescriptor();
|
8877
8911
|
|