diff --git a/components/lib/multiselect/MultiSelect.vue b/components/lib/multiselect/MultiSelect.vue
index 4441f2343..18de88fe6 100755
--- a/components/lib/multiselect/MultiSelect.vue
+++ b/components/lib/multiselect/MultiSelect.vue
@@ -117,7 +117,7 @@
-
+
-
{{ getOptionGroupLabel(option.optionGroup) }}
@@ -1082,6 +1082,12 @@ export default {
toggleAllAriaLabel() {
return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria[this.allSelected ? 'selectAll' : 'unselectAll'] : undefined;
},
+ closeAriaLabel() {
+ return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined;
+ },
+ listAriaLabel() {
+ return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.listLabel : undefined;
+ },
virtualScrollerDisabled() {
return !this.virtualScrollerOptions;
}
diff --git a/components/lib/paginator/Paginator.vue b/components/lib/paginator/Paginator.vue
index 8bc47861b..e343fb26e 100755
--- a/components/lib/paginator/Paginator.vue
+++ b/components/lib/paginator/Paginator.vue
@@ -175,7 +175,6 @@ export default {
innerHTML += `
@media screen ${minValue} {
.paginator[${this.attributeSelector}],
- .p-paginator-default{
display: flex;
}
}
diff --git a/components/lib/scrollpanel/ScrollPanel.vue b/components/lib/scrollpanel/ScrollPanel.vue
index b939d79ef..3999b4f09 100644
--- a/components/lib/scrollpanel/ScrollPanel.vue
+++ b/components/lib/scrollpanel/ScrollPanel.vue
@@ -129,22 +129,27 @@ export default {
this.scrollYRatio = ownHeight / totalHeight;
this.frame = this.requestAnimationFrame(() => {
- if (this.scrollXRatio >= 1) {
- this.$refs.xBar.setAttribute('data-p-scrollpanel-hidden', 'true');
- !this.isUnstyled && DomHandler.addClass(this.$refs.xBar, 'p-scrollpanel-hidden');
- } else {
- this.$refs.xBar.setAttribute('data-p-scrollpanel-hidden', 'false');
- !this.isUnstyled && DomHandler.removeClass(this.$refs.xBar, 'p-scrollpanel-hidden');
- this.$refs.xBar.style.cssText = 'width:' + Math.max(this.scrollXRatio * 100, 10) + '%; left:' + (this.$refs.content.scrollLeft / totalWidth) * 100 + '%;bottom:' + bottom + 'px;';
+ if (this.$refs.xBar) {
+ if (this.scrollXRatio >= 1) {
+ this.$refs.xBar.setAttribute('data-p-scrollpanel-hidden', 'true');
+ !this.isUnstyled && DomHandler.addClass(this.$refs.xBar, 'p-scrollpanel-hidden');
+ } else {
+ this.$refs.xBar.setAttribute('data-p-scrollpanel-hidden', 'false');
+ !this.isUnstyled && DomHandler.removeClass(this.$refs.xBar, 'p-scrollpanel-hidden');
+ this.$refs.xBar.style.cssText = 'width:' + Math.max(this.scrollXRatio * 100, 10) + '%; left:' + (this.$refs.content.scrollLeft / totalWidth) * 100 + '%;bottom:' + bottom + 'px;';
+ }
}
- if (this.scrollYRatio >= 1) {
- this.$refs.yBar.setAttribute('data-p-scrollpanel-hidden', 'true');
- !this.isUnstyled && DomHandler.addClass(this.$refs.yBar, 'p-scrollpanel-hidden');
- } else {
- this.$refs.yBar.setAttribute('data-p-scrollpanel-hidden', 'false');
- !this.isUnstyled && DomHandler.removeClass(this.$refs.yBar, 'p-scrollpanel-hidden');
- this.$refs.yBar.style.cssText = 'height:' + Math.max(this.scrollYRatio * 100, 10) + '%; top: calc(' + (this.$refs.content.scrollTop / totalHeight) * 100 + '% - ' + this.$refs.xBar.clientHeight + 'px);right:' + right + 'px;';
+ if (this.$refs.yBar) {
+ if (this.scrollYRatio >= 1) {
+ this.$refs.yBar.setAttribute('data-p-scrollpanel-hidden', 'true');
+ !this.isUnstyled && DomHandler.addClass(this.$refs.yBar, 'p-scrollpanel-hidden');
+ } else {
+ this.$refs.yBar.setAttribute('data-p-scrollpanel-hidden', 'false');
+ !this.isUnstyled && DomHandler.removeClass(this.$refs.yBar, 'p-scrollpanel-hidden');
+ this.$refs.yBar.style.cssText =
+ 'height:' + Math.max(this.scrollYRatio * 100, 10) + '%; top: calc(' + (this.$refs.content.scrollTop / totalHeight) * 100 + '% - ' + this.$refs.xBar.clientHeight + 'px);right:' + right + 'px;';
+ }
}
});
}
diff --git a/components/lib/stepper/Stepper.vue b/components/lib/stepper/Stepper.vue
index 1b5077e90..04f3a4c84 100644
--- a/components/lib/stepper/Stepper.vue
+++ b/components/lib/stepper/Stepper.vue
@@ -31,6 +31,7 @@
:clickCallback="(event) => onItemClick(event, index)"
:getStepPT="getStepPT"
:getStepProp="getStepProp"
+ :unstyled="unstyled"
/>
@@ -42,6 +43,7 @@
:active="isStepActive(index)"
:highlighted="index < d_activeStep"
:getStepPT="getStepPT(step, 'separator', index)"
+ :unstyled="unstyled"
/>
@@ -61,6 +63,7 @@
:nextCallback="(event) => nextCallback(event, index)"
:getStepPT="getStepPT"
:aria-labelledby="getStepHeaderActionId(index)"
+ :unstyled="unstyled"
/>
diff --git a/components/lib/toast/Toast.vue b/components/lib/toast/Toast.vue
index fbe64db2b..05f3617d7 100755
--- a/components/lib/toast/Toast.vue
+++ b/components/lib/toast/Toast.vue
@@ -72,17 +72,12 @@ export default {
this.messages = [...this.messages, message];
},
remove(params) {
- let index = -1;
+ const index = this.messages.findIndex((m) => m.id === params.message.id);
- for (let i = 0; i < this.messages.length; i++) {
- if (this.messages[i] === params.message) {
- index = i;
- break;
- }
+ if (index !== -1) {
+ this.messages.splice(index, 1);
+ this.$emit(params.type, { message: params.message });
}
-
- this.messages.splice(index, 1);
- this.$emit(params.type, { message: params.message });
},
onAdd(message) {
if (this.group == message.group) {
diff --git a/components/lib/tree/TreeNode.vue b/components/lib/tree/TreeNode.vue
index 97b9bd372..2a16c1a35 100755
--- a/components/lib/tree/TreeNode.vue
+++ b/components/lib/tree/TreeNode.vue
@@ -31,7 +31,7 @@
-
+
diff --git a/components/lib/treetable/TreeTable.vue b/components/lib/treetable/TreeTable.vue
index f2dea75de..0c48e2dc0 100755
--- a/components/lib/treetable/TreeTable.vue
+++ b/components/lib/treetable/TreeTable.vue
@@ -488,12 +488,12 @@ export default {
for (let j = 0; j < this.columns.length; j++) {
let col = this.columns[j];
- let filterField = this.columnProp(col, 'field');
+ let filterField = this.columnProp(col, 'filterField') || this.columnProp(col, 'field');
//local
- if (Object.prototype.hasOwnProperty.call(this.filters, this.columnProp(col, 'field'))) {
+ if (Object.prototype.hasOwnProperty.call(this.filters, filterField)) {
let filterMatchMode = this.columnProp(col, 'filterMatchMode') || 'startsWith';
- let filterValue = this.filters[this.columnProp(col, 'field')];
+ let filterValue = this.filters[filterField];
let filterConstraint = FilterService.filters[filterMatchMode];
let paramsWithoutNode = { filterField, filterValue, filterConstraint, strict };
diff --git a/doc/autocomplete/ForceSelectionDoc.vue b/doc/autocomplete/ForceSelectionDoc.vue
index 91f366512..60470a499 100644
--- a/doc/autocomplete/ForceSelectionDoc.vue
+++ b/doc/autocomplete/ForceSelectionDoc.vue
@@ -6,39 +6,56 @@
-
+