primevue 4.3.2 → 4.3.4
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/accordionheader/AccordionHeader.vue +1 -1
- package/accordionheader/index.d.ts +6 -1
- package/accordionheader/index.mjs +1 -1
- package/accordionheader/index.mjs.map +1 -1
- package/autocomplete/AutoComplete.vue +60 -11
- package/autocomplete/index.d.ts +4 -0
- package/autocomplete/index.mjs +96 -59
- package/autocomplete/index.mjs.map +1 -1
- package/cascadeselect/CascadeSelect.vue +4 -1
- package/cascadeselect/CascadeSelectSub.vue +1 -1
- package/cascadeselect/index.mjs +22 -20
- package/cascadeselect/index.mjs.map +1 -1
- package/checkbox/Checkbox.vue +1 -1
- package/checkbox/index.mjs +2 -1
- package/checkbox/index.mjs.map +1 -1
- package/chip/BaseChip.vue +1 -1
- package/chip/index.d.ts +1 -1
- package/chip/index.mjs +1 -1
- package/chip/index.mjs.map +1 -1
- package/colorpicker/ColorPicker.vue +5 -1
- package/colorpicker/index.mjs +5 -1
- package/colorpicker/index.mjs.map +1 -1
- package/confirmationoptions/index.d.ts +1 -1
- package/confirmdialog/index.d.ts +4 -0
- package/contextmenu/index.mjs +12 -12
- package/contextmenu/index.mjs.map +1 -1
- package/datatable/BodyCell.vue +1 -0
- package/datatable/ColumnFilter.vue +3 -3
- package/datatable/DataTable.vue +103 -44
- package/datatable/HeaderCheckbox.vue +2 -2
- package/datatable/RowCheckbox.vue +1 -1
- package/datatable/TableBody.vue +12 -1
- package/datatable/TableFooter.vue +9 -1
- package/datatable/TableHeader.vue +9 -2
- package/datatable/index.d.ts +37 -29
- package/datatable/index.mjs +175 -111
- package/datatable/index.mjs.map +1 -1
- package/datatable/style/index.mjs +4 -4
- package/datatable/style/index.mjs.map +1 -1
- package/dataview/DataView.vue +4 -0
- package/dataview/index.d.ts +63 -6
- package/dataview/index.mjs +6 -2
- package/dataview/index.mjs.map +1 -1
- package/datepicker/DatePicker.vue +379 -236
- package/datepicker/index.d.ts +156 -0
- package/datepicker/index.mjs +676 -406
- package/datepicker/index.mjs.map +1 -1
- package/drawer/Drawer.vue +30 -20
- package/drawer/index.d.ts +10 -0
- package/drawer/index.mjs +42 -25
- package/drawer/index.mjs.map +1 -1
- package/fileupload/FileUpload.vue +3 -4
- package/fileupload/index.mjs +8 -10
- package/fileupload/index.mjs.map +1 -1
- package/galleria/Galleria.vue +39 -3
- package/galleria/index.mjs +40 -3
- package/galleria/index.mjs.map +1 -1
- package/image/Image.vue +1 -1
- package/image/index.mjs +1 -1
- package/image/index.mjs.map +1 -1
- package/inplace/Inplace.vue +1 -1
- package/inplace/index.mjs +3 -2
- package/inplace/index.mjs.map +1 -1
- package/inputmask/InputMask.vue +3 -3
- package/inputmask/index.d.ts +3 -3
- package/inputmask/index.mjs +3 -3
- package/inputmask/index.mjs.map +1 -1
- package/inputnumber/BaseInputNumber.vue +4 -0
- package/inputnumber/InputNumber.vue +3 -10
- package/inputnumber/index.mjs +8 -9
- package/inputnumber/index.mjs.map +1 -1
- package/keyfilter/index.mjs +12 -19
- package/keyfilter/index.mjs.map +1 -1
- package/listbox/Listbox.vue +10 -2
- package/listbox/index.mjs +38 -29
- package/listbox/index.mjs.map +1 -1
- package/megamenu/index.d.ts +1 -1
- package/megamenu/index.mjs +11 -11
- package/megamenu/index.mjs.map +1 -1
- package/menu/Menu.vue +12 -6
- package/menu/Menuitem.vue +14 -4
- package/menu/index.d.ts +3 -12
- package/menu/index.mjs +40 -20
- package/menu/index.mjs.map +1 -1
- package/menubar/index.mjs +16 -16
- package/menubar/index.mjs.map +1 -1
- package/metergroup/MeterGroup.vue +9 -3
- package/metergroup/MeterGroupLabel.vue +10 -1
- package/metergroup/index.d.ts +1 -1
- package/metergroup/index.mjs +32 -7
- package/metergroup/index.mjs.map +1 -1
- package/multiselect/MultiSelect.vue +40 -6
- package/multiselect/index.d.ts +1 -1
- package/multiselect/index.mjs +100 -68
- package/multiselect/index.mjs.map +1 -1
- package/organizationchart/OrganizationChartNode.vue +1 -1
- package/organizationchart/index.mjs.map +1 -1
- package/organizationchart/style/index.mjs +11 -6
- package/organizationchart/style/index.mjs.map +1 -1
- package/package.json +6 -6
- package/paginator/Paginator.vue +2 -0
- package/paginator/index.d.ts +8 -0
- package/paginator/index.mjs +3 -1
- package/paginator/index.mjs.map +1 -1
- package/panel/Panel.vue +2 -2
- package/panel/index.mjs +2 -2
- package/panel/index.mjs.map +1 -1
- package/panelmenu/PanelMenuList.vue +1 -1
- package/panelmenu/index.mjs +4 -4
- package/panelmenu/index.mjs.map +1 -1
- package/password/Password.vue +28 -6
- package/password/index.mjs +44 -16
- package/password/index.mjs.map +1 -1
- package/popover/Popover.vue +1 -1
- package/popover/index.mjs +1 -2
- package/popover/index.mjs.map +1 -1
- package/progressbar/ProgressBar.vue +4 -4
- package/progressbar/index.mjs +8 -12
- package/progressbar/index.mjs.map +1 -1
- package/scrolltop/ScrollTop.vue +2 -2
- package/scrolltop/index.mjs +4 -2
- package/scrolltop/index.mjs.map +1 -1
- package/select/Select.vue +68 -13
- package/select/index.mjs +128 -77
- package/select/index.mjs.map +1 -1
- package/selectbutton/index.d.ts +0 -24
- package/splitter/Splitter.vue +10 -2
- package/splitter/index.d.ts +1 -1
- package/splitter/index.mjs +19 -7
- package/splitter/index.mjs.map +1 -1
- package/splitter/style/index.mjs +1 -13
- package/splitter/style/index.mjs.map +1 -1
- package/step/Step.vue +27 -9
- package/step/index.mjs +46 -16
- package/step/index.mjs.map +1 -1
- package/steppanel/StepPanel.vue +11 -5
- package/steppanel/index.d.ts +8 -0
- package/steppanel/index.mjs +25 -10
- package/steppanel/index.mjs.map +1 -1
- package/stepper/StepperSeparator.vue +5 -2
- package/tab/Tab.vue +4 -4
- package/tab/index.mjs +4 -4
- package/tab/index.mjs.map +1 -1
- package/tablist/TabList.vue +3 -0
- package/tablist/index.mjs +1 -0
- package/tablist/index.mjs.map +1 -1
- package/tabpanel/TabPanel.vue +2 -2
- package/tabpanel/index.mjs +2 -2
- package/tabpanel/index.mjs.map +1 -1
- package/tieredmenu/TieredMenu.vue +1 -1
- package/tieredmenu/index.mjs +13 -14
- package/tieredmenu/index.mjs.map +1 -1
- package/tooltip/index.mjs +47 -30
- package/tooltip/index.mjs.map +1 -1
- package/tree/Tree.vue +14 -2
- package/tree/TreeNode.vue +2 -2
- package/tree/index.mjs +28 -10
- package/tree/index.mjs.map +1 -1
- package/treeselect/TreeSelect.vue +4 -1
- package/treeselect/index.mjs +4 -2
- package/treeselect/index.mjs.map +1 -1
- package/umd/primevue.min.js +12213 -1
- package/virtualscroller/VirtualScroller.vue +13 -2
- package/virtualscroller/index.mjs +28 -18
- package/virtualscroller/index.mjs.map +1 -1
- package/virtualscroller/style/index.mjs +1 -1
- package/virtualscroller/style/index.mjs.map +1 -1
- package/web-types.json +1 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div :class="cx('root')" role="meter" :aria-valuemin="min" :aria-valuemax="max" :aria-valuenow="totalPercent" v-bind="ptmi('root')">
|
|
2
|
+
<div :class="cx('root')" role="meter" :aria-valuemin="min" :aria-valuemax="max" :aria-valuenow="totalPercent" :data-p="dataP" v-bind="ptmi('root')">
|
|
3
3
|
<slot v-if="labelPosition === 'start'" name="label" :value="value" :totalPercent="totalPercent" :percentages="percentages">
|
|
4
4
|
<MeterGroupLabel :value="value" :labelPosition="labelPosition" :labelOrientation="labelOrientation" :unstyled="unstyled" :pt="pt" />
|
|
5
5
|
</slot>
|
|
6
6
|
<slot name="start" :value="value" :totalPercent="totalPercent" :percentages="percentages" />
|
|
7
|
-
<div :class="cx('meters')" v-bind="ptm('meters')">
|
|
7
|
+
<div :class="cx('meters')" :data-p="dataP" v-bind="ptm('meters')">
|
|
8
8
|
<template v-for="(val, index) in value" :key="index">
|
|
9
9
|
<slot name="meter" :value="val" :index="index" :class="cx('meter')" :orientation="orientation" :size="percentValue(val.value)" :totalPercent="totalPercent">
|
|
10
|
-
<span v-if="percent(val.value)" :class="cx('meter')" :style="meterCalculatedStyles(val)" v-bind="getPTOptions('meter', val, index)" />
|
|
10
|
+
<span v-if="percent(val.value)" :class="cx('meter')" :style="meterCalculatedStyles(val)" :data-p="dataP" v-bind="getPTOptions('meter', val, index)" />
|
|
11
11
|
</slot>
|
|
12
12
|
</template>
|
|
13
13
|
</div>
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
</template>
|
|
20
20
|
|
|
21
21
|
<script>
|
|
22
|
+
import { cn } from '@primeuix/utils';
|
|
22
23
|
import BaseMeterGroup from './BaseMeterGroup.vue';
|
|
23
24
|
import MeterGroupLabel from './MeterGroupLabel.vue';
|
|
24
25
|
|
|
@@ -65,6 +66,11 @@ export default {
|
|
|
65
66
|
});
|
|
66
67
|
|
|
67
68
|
return sumsArray;
|
|
69
|
+
},
|
|
70
|
+
dataP() {
|
|
71
|
+
return cn({
|
|
72
|
+
[this.orientation]: this.orientation
|
|
73
|
+
});
|
|
68
74
|
}
|
|
69
75
|
},
|
|
70
76
|
components: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<ol :class="cx('labelList')" v-bind="ptm('labelList')">
|
|
2
|
+
<ol :class="cx('labelList')" :data-p="dataP" v-bind="ptm('labelList')">
|
|
3
3
|
<li v-for="(val, index) in value" :key="index + '_label'" :class="cx('label')" v-bind="ptm('label')">
|
|
4
4
|
<slot name="icon" :value="val" :class="cx('labelIcon')">
|
|
5
5
|
<i v-if="val.icon" :class="[val.icon, cx('labelIcon')]" :style="{ color: val.color }" v-bind="ptm('labelIcon')" />
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
</template>
|
|
12
12
|
|
|
13
13
|
<script>
|
|
14
|
+
import { cn } from '@primeuix/utils';
|
|
14
15
|
import BaseComponent from '@primevue/core/basecomponent';
|
|
15
16
|
|
|
16
17
|
export default {
|
|
@@ -18,6 +19,7 @@ export default {
|
|
|
18
19
|
hostName: 'MeterGroup',
|
|
19
20
|
extends: BaseComponent,
|
|
20
21
|
inheritAttrs: false,
|
|
22
|
+
inject: ['$pcMeterGroup'],
|
|
21
23
|
props: {
|
|
22
24
|
value: {
|
|
23
25
|
type: Array,
|
|
@@ -31,6 +33,13 @@ export default {
|
|
|
31
33
|
type: String,
|
|
32
34
|
default: 'horizontal'
|
|
33
35
|
}
|
|
36
|
+
},
|
|
37
|
+
computed: {
|
|
38
|
+
dataP() {
|
|
39
|
+
return cn({
|
|
40
|
+
[this.$pcMeterGroup.labelOrientation]: this.$pcMeterGroup.labelOrientation
|
|
41
|
+
});
|
|
42
|
+
}
|
|
34
43
|
}
|
|
35
44
|
};
|
|
36
45
|
</script>
|
package/metergroup/index.d.ts
CHANGED
package/metergroup/index.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { cn } from '@primeuix/utils';
|
|
1
2
|
import BaseComponent from '@primevue/core/basecomponent';
|
|
2
3
|
import MeterGroupStyle from 'primevue/metergroup/style';
|
|
3
4
|
import { createElementBlock, openBlock, mergeProps, Fragment, renderList, renderSlot, createElementVNode, normalizeClass, toDisplayString, resolveComponent, createCommentVNode, createVNode } from 'vue';
|
|
@@ -40,11 +41,16 @@ var script$2 = {
|
|
|
40
41
|
}
|
|
41
42
|
};
|
|
42
43
|
|
|
44
|
+
function _typeof$1(o) { "@babel/helpers - typeof"; return _typeof$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof$1(o); }
|
|
45
|
+
function _defineProperty$1(e, r, t) { return (r = _toPropertyKey$1(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; }
|
|
46
|
+
function _toPropertyKey$1(t) { var i = _toPrimitive$1(t, "string"); return "symbol" == _typeof$1(i) ? i : i + ""; }
|
|
47
|
+
function _toPrimitive$1(t, r) { if ("object" != _typeof$1(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r); if ("object" != _typeof$1(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
43
48
|
var script$1 = {
|
|
44
49
|
name: 'MeterGroupLabel',
|
|
45
50
|
hostName: 'MeterGroup',
|
|
46
51
|
"extends": BaseComponent,
|
|
47
52
|
inheritAttrs: false,
|
|
53
|
+
inject: ['$pcMeterGroup'],
|
|
48
54
|
props: {
|
|
49
55
|
value: {
|
|
50
56
|
type: Array,
|
|
@@ -58,12 +64,19 @@ var script$1 = {
|
|
|
58
64
|
type: String,
|
|
59
65
|
"default": 'horizontal'
|
|
60
66
|
}
|
|
67
|
+
},
|
|
68
|
+
computed: {
|
|
69
|
+
dataP: function dataP() {
|
|
70
|
+
return cn(_defineProperty$1({}, this.$pcMeterGroup.labelOrientation, this.$pcMeterGroup.labelOrientation));
|
|
71
|
+
}
|
|
61
72
|
}
|
|
62
73
|
};
|
|
63
74
|
|
|
75
|
+
var _hoisted_1$1 = ["data-p"];
|
|
64
76
|
function render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
65
77
|
return openBlock(), createElementBlock("ol", mergeProps({
|
|
66
|
-
"class": _ctx.cx('labelList')
|
|
78
|
+
"class": _ctx.cx('labelList'),
|
|
79
|
+
"data-p": $options.dataP
|
|
67
80
|
}, _ctx.ptm('labelList')), [(openBlock(true), createElementBlock(Fragment, null, renderList($props.value, function (val, index) {
|
|
68
81
|
return openBlock(), createElementBlock("li", mergeProps({
|
|
69
82
|
key: index + '_label',
|
|
@@ -92,11 +105,15 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
92
105
|
"class": _ctx.cx('labelText'),
|
|
93
106
|
ref_for: true
|
|
94
107
|
}, _ctx.ptm('labelText')), toDisplayString(val.label) + " (" + toDisplayString(_ctx.$parentInstance.percentValue(val.value)) + ")", 17)], 16);
|
|
95
|
-
}), 128))], 16);
|
|
108
|
+
}), 128))], 16, _hoisted_1$1);
|
|
96
109
|
}
|
|
97
110
|
|
|
98
111
|
script$1.render = render$1;
|
|
99
112
|
|
|
113
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
114
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; }
|
|
115
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
116
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
100
117
|
var script = {
|
|
101
118
|
name: 'MeterGroup',
|
|
102
119
|
"extends": script$2,
|
|
@@ -140,6 +157,9 @@ var script = {
|
|
|
140
157
|
sumsArray.push(sum);
|
|
141
158
|
});
|
|
142
159
|
return sumsArray;
|
|
160
|
+
},
|
|
161
|
+
dataP: function dataP() {
|
|
162
|
+
return cn(_defineProperty({}, this.orientation, this.orientation));
|
|
143
163
|
}
|
|
144
164
|
},
|
|
145
165
|
components: {
|
|
@@ -147,7 +167,9 @@ var script = {
|
|
|
147
167
|
}
|
|
148
168
|
};
|
|
149
169
|
|
|
150
|
-
var _hoisted_1 = ["aria-valuemin", "aria-valuemax", "aria-valuenow"];
|
|
170
|
+
var _hoisted_1 = ["aria-valuemin", "aria-valuemax", "aria-valuenow", "data-p"];
|
|
171
|
+
var _hoisted_2 = ["data-p"];
|
|
172
|
+
var _hoisted_3 = ["data-p"];
|
|
151
173
|
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
152
174
|
var _component_MeterGroupLabel = resolveComponent("MeterGroupLabel");
|
|
153
175
|
return openBlock(), createElementBlock("div", mergeProps({
|
|
@@ -155,7 +177,8 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
155
177
|
role: "meter",
|
|
156
178
|
"aria-valuemin": _ctx.min,
|
|
157
179
|
"aria-valuemax": _ctx.max,
|
|
158
|
-
"aria-valuenow": $options.totalPercent
|
|
180
|
+
"aria-valuenow": $options.totalPercent,
|
|
181
|
+
"data-p": $options.dataP
|
|
159
182
|
}, _ctx.ptmi('root')), [_ctx.labelPosition === 'start' ? renderSlot(_ctx.$slots, "label", {
|
|
160
183
|
key: 0,
|
|
161
184
|
value: _ctx.value,
|
|
@@ -174,7 +197,8 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
174
197
|
totalPercent: $options.totalPercent,
|
|
175
198
|
percentages: $options.percentages
|
|
176
199
|
}), createElementVNode("div", mergeProps({
|
|
177
|
-
"class": _ctx.cx('meters')
|
|
200
|
+
"class": _ctx.cx('meters'),
|
|
201
|
+
"data-p": $options.dataP
|
|
178
202
|
}, _ctx.ptm('meters')), [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.value, function (val, index) {
|
|
179
203
|
return renderSlot(_ctx.$slots, "meter", {
|
|
180
204
|
key: index,
|
|
@@ -189,10 +213,11 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
189
213
|
key: 0,
|
|
190
214
|
"class": _ctx.cx('meter'),
|
|
191
215
|
style: $options.meterCalculatedStyles(val),
|
|
216
|
+
"data-p": $options.dataP,
|
|
192
217
|
ref_for: true
|
|
193
|
-
}, $options.getPTOptions('meter', val, index)), null, 16)) : createCommentVNode("", true)];
|
|
218
|
+
}, $options.getPTOptions('meter', val, index)), null, 16, _hoisted_3)) : createCommentVNode("", true)];
|
|
194
219
|
});
|
|
195
|
-
}), 128))], 16), renderSlot(_ctx.$slots, "end", {
|
|
220
|
+
}), 128))], 16, _hoisted_2), renderSlot(_ctx.$slots, "end", {
|
|
196
221
|
value: _ctx.value,
|
|
197
222
|
totalPercent: $options.totalPercent,
|
|
198
223
|
percentages: $options.percentages
|
package/metergroup/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/metergroup/BaseMeterGroup.vue","../../src/metergroup/MeterGroupLabel.vue","../../src/metergroup/MeterGroupLabel.vue?vue&type=template&id=4d13db80&lang.js","../../src/metergroup/MeterGroup.vue","../../src/metergroup/MeterGroup.vue?vue&type=template&id=4050d94c&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport MeterGroupStyle from 'primevue/metergroup/style';\n\nexport default {\n name: 'MeterGroup',\n extends: BaseComponent,\n props: {\n value: {\n type: Array,\n default: null\n },\n min: {\n type: Number,\n default: 0\n },\n max: {\n type: Number,\n default: 100\n },\n orientation: {\n type: String,\n default: 'horizontal'\n },\n labelPosition: {\n type: String,\n default: 'end'\n },\n labelOrientation: {\n type: String,\n default: 'horizontal'\n }\n },\n style: MeterGroupStyle,\n provide() {\n return {\n $pcMeterGroup: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <ol :class=\"cx('labelList')\" v-bind=\"ptm('labelList')\">\n <li v-for=\"(val, index) in value\" :key=\"index + '_label'\" :class=\"cx('label')\" v-bind=\"ptm('label')\">\n <slot name=\"icon\" :value=\"val\" :class=\"cx('labelIcon')\">\n <i v-if=\"val.icon\" :class=\"[val.icon, cx('labelIcon')]\" :style=\"{ color: val.color }\" v-bind=\"ptm('labelIcon')\" />\n <span v-else :class=\"cx('labelMarker')\" :style=\"{ backgroundColor: val.color }\" v-bind=\"ptm('labelMarker')\" />\n </slot>\n <span :class=\"cx('labelText')\" v-bind=\"ptm('labelText')\">{{ val.label }} ({{ $parentInstance.percentValue(val.value) }})</span>\n </li>\n </ol>\n</template>\n\n<script>\nimport BaseComponent from '@primevue/core/basecomponent';\n\nexport default {\n name: 'MeterGroupLabel',\n hostName: 'MeterGroup',\n extends: BaseComponent,\n inheritAttrs: false,\n props: {\n value: {\n type: Array,\n default: null\n },\n labelPosition: {\n type: String,\n default: 'end'\n },\n labelOrientation: {\n type: String,\n default: 'horizontal'\n }\n }\n};\n</script>\n","<template>\n <ol :class=\"cx('labelList')\" v-bind=\"ptm('labelList')\">\n <li v-for=\"(val, index) in value\" :key=\"index + '_label'\" :class=\"cx('label')\" v-bind=\"ptm('label')\">\n <slot name=\"icon\" :value=\"val\" :class=\"cx('labelIcon')\">\n <i v-if=\"val.icon\" :class=\"[val.icon, cx('labelIcon')]\" :style=\"{ color: val.color }\" v-bind=\"ptm('labelIcon')\" />\n <span v-else :class=\"cx('labelMarker')\" :style=\"{ backgroundColor: val.color }\" v-bind=\"ptm('labelMarker')\" />\n </slot>\n <span :class=\"cx('labelText')\" v-bind=\"ptm('labelText')\">{{ val.label }} ({{ $parentInstance.percentValue(val.value) }})</span>\n </li>\n </ol>\n</template>\n\n<script>\nimport BaseComponent from '@primevue/core/basecomponent';\n\nexport default {\n name: 'MeterGroupLabel',\n hostName: 'MeterGroup',\n extends: BaseComponent,\n inheritAttrs: false,\n props: {\n value: {\n type: Array,\n default: null\n },\n labelPosition: {\n type: String,\n default: 'end'\n },\n labelOrientation: {\n type: String,\n default: 'horizontal'\n }\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" role=\"meter\" :aria-valuemin=\"min\" :aria-valuemax=\"max\" :aria-valuenow=\"totalPercent\" v-bind=\"ptmi('root')\">\n <slot v-if=\"labelPosition === 'start'\" name=\"label\" :value=\"value\" :totalPercent=\"totalPercent\" :percentages=\"percentages\">\n <MeterGroupLabel :value=\"value\" :labelPosition=\"labelPosition\" :labelOrientation=\"labelOrientation\" :unstyled=\"unstyled\" :pt=\"pt\" />\n </slot>\n <slot name=\"start\" :value=\"value\" :totalPercent=\"totalPercent\" :percentages=\"percentages\" />\n <div :class=\"cx('meters')\" v-bind=\"ptm('meters')\">\n <template v-for=\"(val, index) in value\" :key=\"index\">\n <slot name=\"meter\" :value=\"val\" :index=\"index\" :class=\"cx('meter')\" :orientation=\"orientation\" :size=\"percentValue(val.value)\" :totalPercent=\"totalPercent\">\n <span v-if=\"percent(val.value)\" :class=\"cx('meter')\" :style=\"meterCalculatedStyles(val)\" v-bind=\"getPTOptions('meter', val, index)\" />\n </slot>\n </template>\n </div>\n <slot name=\"end\" :value=\"value\" :totalPercent=\"totalPercent\" :percentages=\"percentages\" />\n <slot v-if=\"labelPosition === 'end'\" name=\"label\" :value=\"value\" :totalPercent=\"totalPercent\" :percentages=\"percentages\">\n <MeterGroupLabel :value=\"value\" :labelPosition=\"labelPosition\" :labelOrientation=\"labelOrientation\" :unstyled=\"unstyled\" :pt=\"pt\" />\n </slot>\n </div>\n</template>\n\n<script>\nimport BaseMeterGroup from './BaseMeterGroup.vue';\nimport MeterGroupLabel from './MeterGroupLabel.vue';\n\nexport default {\n name: 'MeterGroup',\n extends: BaseMeterGroup,\n inheritAttrs: false,\n methods: {\n getPTOptions(key, value, index) {\n return this.ptm(key, {\n context: {\n value,\n index\n }\n });\n },\n percent(meter = 0) {\n const percentOfItem = ((meter - this.min) / (this.max - this.min)) * 100;\n\n return Math.round(Math.max(0, Math.min(100, percentOfItem)));\n },\n percentValue(meter) {\n return this.percent(meter) + '%';\n },\n meterCalculatedStyles(val) {\n return {\n backgroundColor: val.color,\n width: this.orientation === 'horizontal' && this.percentValue(val.value),\n height: this.orientation === 'vertical' && this.percentValue(val.value)\n };\n }\n },\n computed: {\n totalPercent() {\n return this.percent(this.value.reduce((total, val) => total + val.value, 0));\n },\n percentages() {\n let sum = 0;\n const sumsArray = [];\n\n this.value.forEach((item) => {\n sum += item.value;\n sumsArray.push(sum);\n });\n\n return sumsArray;\n }\n },\n components: {\n MeterGroupLabel\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" role=\"meter\" :aria-valuemin=\"min\" :aria-valuemax=\"max\" :aria-valuenow=\"totalPercent\" v-bind=\"ptmi('root')\">\n <slot v-if=\"labelPosition === 'start'\" name=\"label\" :value=\"value\" :totalPercent=\"totalPercent\" :percentages=\"percentages\">\n <MeterGroupLabel :value=\"value\" :labelPosition=\"labelPosition\" :labelOrientation=\"labelOrientation\" :unstyled=\"unstyled\" :pt=\"pt\" />\n </slot>\n <slot name=\"start\" :value=\"value\" :totalPercent=\"totalPercent\" :percentages=\"percentages\" />\n <div :class=\"cx('meters')\" v-bind=\"ptm('meters')\">\n <template v-for=\"(val, index) in value\" :key=\"index\">\n <slot name=\"meter\" :value=\"val\" :index=\"index\" :class=\"cx('meter')\" :orientation=\"orientation\" :size=\"percentValue(val.value)\" :totalPercent=\"totalPercent\">\n <span v-if=\"percent(val.value)\" :class=\"cx('meter')\" :style=\"meterCalculatedStyles(val)\" v-bind=\"getPTOptions('meter', val, index)\" />\n </slot>\n </template>\n </div>\n <slot name=\"end\" :value=\"value\" :totalPercent=\"totalPercent\" :percentages=\"percentages\" />\n <slot v-if=\"labelPosition === 'end'\" name=\"label\" :value=\"value\" :totalPercent=\"totalPercent\" :percentages=\"percentages\">\n <MeterGroupLabel :value=\"value\" :labelPosition=\"labelPosition\" :labelOrientation=\"labelOrientation\" :unstyled=\"unstyled\" :pt=\"pt\" />\n </slot>\n </div>\n</template>\n\n<script>\nimport BaseMeterGroup from './BaseMeterGroup.vue';\nimport MeterGroupLabel from './MeterGroupLabel.vue';\n\nexport default {\n name: 'MeterGroup',\n extends: BaseMeterGroup,\n inheritAttrs: false,\n methods: {\n getPTOptions(key, value, index) {\n return this.ptm(key, {\n context: {\n value,\n index\n }\n });\n },\n percent(meter = 0) {\n const percentOfItem = ((meter - this.min) / (this.max - this.min)) * 100;\n\n return Math.round(Math.max(0, Math.min(100, percentOfItem)));\n },\n percentValue(meter) {\n return this.percent(meter) + '%';\n },\n meterCalculatedStyles(val) {\n return {\n backgroundColor: val.color,\n width: this.orientation === 'horizontal' && this.percentValue(val.value),\n height: this.orientation === 'vertical' && this.percentValue(val.value)\n };\n }\n },\n computed: {\n totalPercent() {\n return this.percent(this.value.reduce((total, val) => total + val.value, 0));\n },\n percentages() {\n let sum = 0;\n const sumsArray = [];\n\n this.value.forEach((item) => {\n sum += item.value;\n sumsArray.push(sum);\n });\n\n return sumsArray;\n }\n },\n components: {\n MeterGroupLabel\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","value","type","Array","min","Number","max","orientation","String","labelPosition","labelOrientation","style","MeterGroupStyle","provide","$pcMeterGroup","$parentInstance","hostName","inheritAttrs","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","ptm","_Fragment","_renderList","$props","val","index","key","_renderSlot","$slots","icon","color","backgroundColor","_createElementVNode","_toDisplayString","label","percentValue","BaseMeterGroup","methods","getPTOptions","context","percent","meter","arguments","length","undefined","percentOfItem","Math","round","meterCalculatedStyles","width","height","computed","totalPercent","reduce","total","percentages","sum","sumsArray","forEach","item","push","components","MeterGroupLabel","role","$options","ptmi","_createVNode","_component_MeterGroupLabel","unstyled","pt","size"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/metergroup/BaseMeterGroup.vue","../../src/metergroup/MeterGroupLabel.vue","../../src/metergroup/MeterGroupLabel.vue?vue&type=template&id=485edff9&lang.js","../../src/metergroup/MeterGroup.vue","../../src/metergroup/MeterGroup.vue?vue&type=template&id=5bb0f8ea&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport MeterGroupStyle from 'primevue/metergroup/style';\n\nexport default {\n name: 'MeterGroup',\n extends: BaseComponent,\n props: {\n value: {\n type: Array,\n default: null\n },\n min: {\n type: Number,\n default: 0\n },\n max: {\n type: Number,\n default: 100\n },\n orientation: {\n type: String,\n default: 'horizontal'\n },\n labelPosition: {\n type: String,\n default: 'end'\n },\n labelOrientation: {\n type: String,\n default: 'horizontal'\n }\n },\n style: MeterGroupStyle,\n provide() {\n return {\n $pcMeterGroup: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <ol :class=\"cx('labelList')\" :data-p=\"dataP\" v-bind=\"ptm('labelList')\">\n <li v-for=\"(val, index) in value\" :key=\"index + '_label'\" :class=\"cx('label')\" v-bind=\"ptm('label')\">\n <slot name=\"icon\" :value=\"val\" :class=\"cx('labelIcon')\">\n <i v-if=\"val.icon\" :class=\"[val.icon, cx('labelIcon')]\" :style=\"{ color: val.color }\" v-bind=\"ptm('labelIcon')\" />\n <span v-else :class=\"cx('labelMarker')\" :style=\"{ backgroundColor: val.color }\" v-bind=\"ptm('labelMarker')\" />\n </slot>\n <span :class=\"cx('labelText')\" v-bind=\"ptm('labelText')\">{{ val.label }} ({{ $parentInstance.percentValue(val.value) }})</span>\n </li>\n </ol>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport BaseComponent from '@primevue/core/basecomponent';\n\nexport default {\n name: 'MeterGroupLabel',\n hostName: 'MeterGroup',\n extends: BaseComponent,\n inheritAttrs: false,\n inject: ['$pcMeterGroup'],\n props: {\n value: {\n type: Array,\n default: null\n },\n labelPosition: {\n type: String,\n default: 'end'\n },\n labelOrientation: {\n type: String,\n default: 'horizontal'\n }\n },\n computed: {\n dataP() {\n return cn({\n [this.$pcMeterGroup.labelOrientation]: this.$pcMeterGroup.labelOrientation\n });\n }\n }\n};\n</script>\n","<template>\n <ol :class=\"cx('labelList')\" :data-p=\"dataP\" v-bind=\"ptm('labelList')\">\n <li v-for=\"(val, index) in value\" :key=\"index + '_label'\" :class=\"cx('label')\" v-bind=\"ptm('label')\">\n <slot name=\"icon\" :value=\"val\" :class=\"cx('labelIcon')\">\n <i v-if=\"val.icon\" :class=\"[val.icon, cx('labelIcon')]\" :style=\"{ color: val.color }\" v-bind=\"ptm('labelIcon')\" />\n <span v-else :class=\"cx('labelMarker')\" :style=\"{ backgroundColor: val.color }\" v-bind=\"ptm('labelMarker')\" />\n </slot>\n <span :class=\"cx('labelText')\" v-bind=\"ptm('labelText')\">{{ val.label }} ({{ $parentInstance.percentValue(val.value) }})</span>\n </li>\n </ol>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport BaseComponent from '@primevue/core/basecomponent';\n\nexport default {\n name: 'MeterGroupLabel',\n hostName: 'MeterGroup',\n extends: BaseComponent,\n inheritAttrs: false,\n inject: ['$pcMeterGroup'],\n props: {\n value: {\n type: Array,\n default: null\n },\n labelPosition: {\n type: String,\n default: 'end'\n },\n labelOrientation: {\n type: String,\n default: 'horizontal'\n }\n },\n computed: {\n dataP() {\n return cn({\n [this.$pcMeterGroup.labelOrientation]: this.$pcMeterGroup.labelOrientation\n });\n }\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" role=\"meter\" :aria-valuemin=\"min\" :aria-valuemax=\"max\" :aria-valuenow=\"totalPercent\" :data-p=\"dataP\" v-bind=\"ptmi('root')\">\n <slot v-if=\"labelPosition === 'start'\" name=\"label\" :value=\"value\" :totalPercent=\"totalPercent\" :percentages=\"percentages\">\n <MeterGroupLabel :value=\"value\" :labelPosition=\"labelPosition\" :labelOrientation=\"labelOrientation\" :unstyled=\"unstyled\" :pt=\"pt\" />\n </slot>\n <slot name=\"start\" :value=\"value\" :totalPercent=\"totalPercent\" :percentages=\"percentages\" />\n <div :class=\"cx('meters')\" :data-p=\"dataP\" v-bind=\"ptm('meters')\">\n <template v-for=\"(val, index) in value\" :key=\"index\">\n <slot name=\"meter\" :value=\"val\" :index=\"index\" :class=\"cx('meter')\" :orientation=\"orientation\" :size=\"percentValue(val.value)\" :totalPercent=\"totalPercent\">\n <span v-if=\"percent(val.value)\" :class=\"cx('meter')\" :style=\"meterCalculatedStyles(val)\" :data-p=\"dataP\" v-bind=\"getPTOptions('meter', val, index)\" />\n </slot>\n </template>\n </div>\n <slot name=\"end\" :value=\"value\" :totalPercent=\"totalPercent\" :percentages=\"percentages\" />\n <slot v-if=\"labelPosition === 'end'\" name=\"label\" :value=\"value\" :totalPercent=\"totalPercent\" :percentages=\"percentages\">\n <MeterGroupLabel :value=\"value\" :labelPosition=\"labelPosition\" :labelOrientation=\"labelOrientation\" :unstyled=\"unstyled\" :pt=\"pt\" />\n </slot>\n </div>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport BaseMeterGroup from './BaseMeterGroup.vue';\nimport MeterGroupLabel from './MeterGroupLabel.vue';\n\nexport default {\n name: 'MeterGroup',\n extends: BaseMeterGroup,\n inheritAttrs: false,\n methods: {\n getPTOptions(key, value, index) {\n return this.ptm(key, {\n context: {\n value,\n index\n }\n });\n },\n percent(meter = 0) {\n const percentOfItem = ((meter - this.min) / (this.max - this.min)) * 100;\n\n return Math.round(Math.max(0, Math.min(100, percentOfItem)));\n },\n percentValue(meter) {\n return this.percent(meter) + '%';\n },\n meterCalculatedStyles(val) {\n return {\n backgroundColor: val.color,\n width: this.orientation === 'horizontal' && this.percentValue(val.value),\n height: this.orientation === 'vertical' && this.percentValue(val.value)\n };\n }\n },\n computed: {\n totalPercent() {\n return this.percent(this.value.reduce((total, val) => total + val.value, 0));\n },\n percentages() {\n let sum = 0;\n const sumsArray = [];\n\n this.value.forEach((item) => {\n sum += item.value;\n sumsArray.push(sum);\n });\n\n return sumsArray;\n },\n dataP() {\n return cn({\n [this.orientation]: this.orientation\n });\n }\n },\n components: {\n MeterGroupLabel\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" role=\"meter\" :aria-valuemin=\"min\" :aria-valuemax=\"max\" :aria-valuenow=\"totalPercent\" :data-p=\"dataP\" v-bind=\"ptmi('root')\">\n <slot v-if=\"labelPosition === 'start'\" name=\"label\" :value=\"value\" :totalPercent=\"totalPercent\" :percentages=\"percentages\">\n <MeterGroupLabel :value=\"value\" :labelPosition=\"labelPosition\" :labelOrientation=\"labelOrientation\" :unstyled=\"unstyled\" :pt=\"pt\" />\n </slot>\n <slot name=\"start\" :value=\"value\" :totalPercent=\"totalPercent\" :percentages=\"percentages\" />\n <div :class=\"cx('meters')\" :data-p=\"dataP\" v-bind=\"ptm('meters')\">\n <template v-for=\"(val, index) in value\" :key=\"index\">\n <slot name=\"meter\" :value=\"val\" :index=\"index\" :class=\"cx('meter')\" :orientation=\"orientation\" :size=\"percentValue(val.value)\" :totalPercent=\"totalPercent\">\n <span v-if=\"percent(val.value)\" :class=\"cx('meter')\" :style=\"meterCalculatedStyles(val)\" :data-p=\"dataP\" v-bind=\"getPTOptions('meter', val, index)\" />\n </slot>\n </template>\n </div>\n <slot name=\"end\" :value=\"value\" :totalPercent=\"totalPercent\" :percentages=\"percentages\" />\n <slot v-if=\"labelPosition === 'end'\" name=\"label\" :value=\"value\" :totalPercent=\"totalPercent\" :percentages=\"percentages\">\n <MeterGroupLabel :value=\"value\" :labelPosition=\"labelPosition\" :labelOrientation=\"labelOrientation\" :unstyled=\"unstyled\" :pt=\"pt\" />\n </slot>\n </div>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport BaseMeterGroup from './BaseMeterGroup.vue';\nimport MeterGroupLabel from './MeterGroupLabel.vue';\n\nexport default {\n name: 'MeterGroup',\n extends: BaseMeterGroup,\n inheritAttrs: false,\n methods: {\n getPTOptions(key, value, index) {\n return this.ptm(key, {\n context: {\n value,\n index\n }\n });\n },\n percent(meter = 0) {\n const percentOfItem = ((meter - this.min) / (this.max - this.min)) * 100;\n\n return Math.round(Math.max(0, Math.min(100, percentOfItem)));\n },\n percentValue(meter) {\n return this.percent(meter) + '%';\n },\n meterCalculatedStyles(val) {\n return {\n backgroundColor: val.color,\n width: this.orientation === 'horizontal' && this.percentValue(val.value),\n height: this.orientation === 'vertical' && this.percentValue(val.value)\n };\n }\n },\n computed: {\n totalPercent() {\n return this.percent(this.value.reduce((total, val) => total + val.value, 0));\n },\n percentages() {\n let sum = 0;\n const sumsArray = [];\n\n this.value.forEach((item) => {\n sum += item.value;\n sumsArray.push(sum);\n });\n\n return sumsArray;\n },\n dataP() {\n return cn({\n [this.orientation]: this.orientation\n });\n }\n },\n components: {\n MeterGroupLabel\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","value","type","Array","min","Number","max","orientation","String","labelPosition","labelOrientation","style","MeterGroupStyle","provide","$pcMeterGroup","$parentInstance","hostName","inheritAttrs","inject","computed","dataP","cn","_defineProperty","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","$options","ptm","_Fragment","_renderList","$props","val","index","key","_renderSlot","$slots","icon","color","backgroundColor","_createElementVNode","_toDisplayString","label","percentValue","BaseMeterGroup","methods","getPTOptions","context","percent","meter","arguments","length","undefined","percentOfItem","Math","round","meterCalculatedStyles","width","height","totalPercent","reduce","total","percentages","sum","sumsArray","forEach","item","push","components","MeterGroupLabel","role","ptmi","_createVNode","_component_MeterGroupLabel","unstyled","pt","size","_hoisted_3"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div ref="container" :class="cx('root')" :style="sx('root')" @click="onContainerClick" v-bind="ptmi('root')">
|
|
2
|
+
<div ref="container" :class="cx('root')" :style="sx('root')" @click="onContainerClick" :data-p="containerDataP" v-bind="ptmi('root')">
|
|
3
3
|
<div class="p-hidden-accessible" v-bind="ptm('hiddenInputContainer')" :data-p-hidden-accessible="true">
|
|
4
4
|
<input
|
|
5
5
|
ref="focusInput"
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
/>
|
|
25
25
|
</div>
|
|
26
26
|
<div :class="cx('labelContainer')" v-bind="ptm('labelContainer')">
|
|
27
|
-
<div :class="cx('label')" v-bind="ptm('label')">
|
|
27
|
+
<div :class="cx('label')" :data-p="labelDataP" v-bind="ptm('label')">
|
|
28
28
|
<slot name="value" :value="d_value" :placeholder="placeholder">
|
|
29
29
|
<template v-if="display === 'comma'">
|
|
30
30
|
{{ label || 'empty' }}
|
|
@@ -59,12 +59,12 @@
|
|
|
59
59
|
<SpinnerIcon v-else :class="cx('loadingIcon')" spin aria-hidden="true" v-bind="ptm('loadingIcon')" />
|
|
60
60
|
</slot>
|
|
61
61
|
<slot v-else name="dropdownicon" :class="cx('dropdownIcon')">
|
|
62
|
-
<component :is="dropdownIcon ? 'span' : 'ChevronDownIcon'" :class="[cx('dropdownIcon'), dropdownIcon]" aria-hidden="true" v-bind="ptm('dropdownIcon')" />
|
|
62
|
+
<component :is="dropdownIcon ? 'span' : 'ChevronDownIcon'" :class="[cx('dropdownIcon'), dropdownIcon]" aria-hidden="true" :data-p="dropdownIconDataP" v-bind="ptm('dropdownIcon')" />
|
|
63
63
|
</slot>
|
|
64
64
|
</div>
|
|
65
65
|
<Portal :appendTo="appendTo">
|
|
66
66
|
<transition name="p-connected-overlay" @enter="onOverlayEnter" @after-enter="onOverlayAfterEnter" @leave="onOverlayLeave" @after-leave="onOverlayAfterLeave" v-bind="ptm('transition')">
|
|
67
|
-
<div v-if="overlayVisible" :ref="overlayRef" :style="[panelStyle, overlayStyle]" :class="[cx('overlay'), panelClass, overlayClass]" @click="onOverlayClick" @keydown="onOverlayKeyDown" v-bind="ptm('overlay')">
|
|
67
|
+
<div v-if="overlayVisible" :ref="overlayRef" :style="[panelStyle, overlayStyle]" :class="[cx('overlay'), panelClass, overlayClass]" @click="onOverlayClick" @keydown="onOverlayKeyDown" :data-p="overlayDataP" v-bind="ptm('overlay')">
|
|
68
68
|
<span
|
|
69
69
|
ref="firstHiddenFocusableElementOnOverlay"
|
|
70
70
|
role="presentation"
|
|
@@ -223,6 +223,7 @@
|
|
|
223
223
|
</template>
|
|
224
224
|
|
|
225
225
|
<script>
|
|
226
|
+
import { cn } from '@primeuix/utils';
|
|
226
227
|
import { absolutePosition, addStyle, findSingle, focus, getFirstFocusableElement, getFocusableElements, getLastFocusableElement, getOuterWidth, isTouchDevice, relativePosition } from '@primeuix/utils/dom';
|
|
227
228
|
import { equals, findLastIndex, isEmpty, isNotEmpty, isPrintableCharacter, resolveFieldData } from '@primeuix/utils/object';
|
|
228
229
|
import { ZIndex } from '@primeuix/utils/zindex';
|
|
@@ -733,12 +734,15 @@ export default {
|
|
|
733
734
|
onOverlayEnter(el) {
|
|
734
735
|
ZIndex.set('overlay', el, this.$primevue.config.zIndex.overlay);
|
|
735
736
|
|
|
736
|
-
addStyle(el, { position: 'absolute', top: '0'
|
|
737
|
+
addStyle(el, { position: 'absolute', top: '0' });
|
|
737
738
|
this.alignOverlay();
|
|
738
739
|
this.scrollInView();
|
|
739
740
|
|
|
740
741
|
this.autoFilterFocus && focus(this.$refs.filterInput.$el);
|
|
741
742
|
this.autoUpdateModel();
|
|
743
|
+
|
|
744
|
+
// Issue: #7508
|
|
745
|
+
this.$attrSelector && el.setAttribute(this.$attrSelector, '');
|
|
742
746
|
},
|
|
743
747
|
onOverlayAfterEnter() {
|
|
744
748
|
this.bindOutsideClickListener();
|
|
@@ -933,7 +937,7 @@ export default {
|
|
|
933
937
|
return matchedOptionIndex > -1 ? matchedOptionIndex : index;
|
|
934
938
|
},
|
|
935
939
|
findFirstFocusedOptionIndex() {
|
|
936
|
-
const selectedIndex = this.
|
|
940
|
+
const selectedIndex = this.findFirstSelectedOptionIndex();
|
|
937
941
|
|
|
938
942
|
return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;
|
|
939
943
|
},
|
|
@@ -1142,6 +1146,36 @@ export default {
|
|
|
1142
1146
|
},
|
|
1143
1147
|
isClearIconVisible() {
|
|
1144
1148
|
return this.showClear && this.d_value && this.d_value.length && this.d_value != null && isNotEmpty(this.options);
|
|
1149
|
+
},
|
|
1150
|
+
containerDataP() {
|
|
1151
|
+
return cn({
|
|
1152
|
+
invalid: this.$invalid,
|
|
1153
|
+
disabled: this.disabled,
|
|
1154
|
+
focus: this.focused,
|
|
1155
|
+
fluid: this.$fluid,
|
|
1156
|
+
filled: this.$variant === 'filled',
|
|
1157
|
+
[this.size]: this.size
|
|
1158
|
+
});
|
|
1159
|
+
},
|
|
1160
|
+
labelDataP() {
|
|
1161
|
+
return cn({
|
|
1162
|
+
placeholder: this.label === this.placeholder,
|
|
1163
|
+
clearable: this.showClear,
|
|
1164
|
+
disabled: this.disabled,
|
|
1165
|
+
[this.size]: this.size,
|
|
1166
|
+
'has-chip': this.display === 'chip' && this.d_value && this.d_value.length && (this.maxSelectedLabels ? this.d_value.length <= this.maxSelectedLabels : true),
|
|
1167
|
+
empty: !this.placeholder && !this.$filled
|
|
1168
|
+
});
|
|
1169
|
+
},
|
|
1170
|
+
dropdownIconDataP() {
|
|
1171
|
+
return cn({
|
|
1172
|
+
[this.size]: this.size
|
|
1173
|
+
});
|
|
1174
|
+
},
|
|
1175
|
+
overlayDataP() {
|
|
1176
|
+
return cn({
|
|
1177
|
+
['portal-' + this.appendTo]: 'portal-' + this.appendTo
|
|
1178
|
+
});
|
|
1145
1179
|
}
|
|
1146
1180
|
},
|
|
1147
1181
|
directives: {
|