primevue 4.3.1 → 4.3.3

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.
Files changed (254) hide show
  1. package/accordionheader/AccordionHeader.vue +8 -2
  2. package/accordionheader/index.mjs +8 -1
  3. package/accordionheader/index.mjs.map +1 -1
  4. package/autocomplete/AutoComplete.vue +72 -16
  5. package/autocomplete/index.d.ts +3 -3
  6. package/autocomplete/index.mjs +84 -37
  7. package/autocomplete/index.mjs.map +1 -1
  8. package/avatar/Avatar.vue +13 -4
  9. package/avatar/index.d.ts +3 -3
  10. package/avatar/index.mjs +26 -6
  11. package/avatar/index.mjs.map +1 -1
  12. package/badge/Badge.vue +13 -2
  13. package/badge/index.d.ts +1 -1
  14. package/badge/index.mjs +18 -3
  15. package/badge/index.mjs.map +1 -1
  16. package/blockui/BlockUI.vue +15 -4
  17. package/blockui/index.mjs +13 -4
  18. package/blockui/index.mjs.map +1 -1
  19. package/button/Button.vue +30 -3
  20. package/button/index.d.ts +3 -7
  21. package/button/index.mjs +28 -9
  22. package/button/index.mjs.map +1 -1
  23. package/cascadeselect/CascadeSelect.vue +1 -1
  24. package/cascadeselect/index.d.ts +2 -2
  25. package/cascadeselect/index.mjs +1 -2
  26. package/cascadeselect/index.mjs.map +1 -1
  27. package/checkbox/Checkbox.vue +15 -5
  28. package/checkbox/index.d.ts +2 -2
  29. package/checkbox/index.mjs +29 -7
  30. package/checkbox/index.mjs.map +1 -1
  31. package/chip/BaseChip.vue +1 -1
  32. package/chip/Chip.vue +9 -1
  33. package/chip/index.d.ts +1 -1
  34. package/chip/index.mjs +13 -3
  35. package/chip/index.mjs.map +1 -1
  36. package/colorpicker/ColorPicker.vue +10 -2
  37. package/colorpicker/index.d.ts +1 -1
  38. package/colorpicker/index.mjs +9 -2
  39. package/colorpicker/index.mjs.map +1 -1
  40. package/column/index.d.ts +3 -3
  41. package/columngroup/index.d.ts +2 -2
  42. package/confirmationoptions/index.d.ts +1 -1
  43. package/datatable/BodyCell.vue +4 -1
  44. package/datatable/BodyRow.vue +2 -0
  45. package/datatable/ColumnFilter.vue +1 -1
  46. package/datatable/DataTable.vue +103 -44
  47. package/datatable/HeaderCheckbox.vue +2 -2
  48. package/datatable/RowCheckbox.vue +1 -1
  49. package/datatable/TableBody.vue +12 -1
  50. package/datatable/TableFooter.vue +9 -1
  51. package/datatable/TableHeader.vue +9 -2
  52. package/datatable/index.d.ts +45 -37
  53. package/datatable/index.mjs +170 -101
  54. package/datatable/index.mjs.map +1 -1
  55. package/dataview/DataView.vue +4 -0
  56. package/dataview/index.d.ts +61 -4
  57. package/dataview/index.mjs +6 -2
  58. package/dataview/index.mjs.map +1 -1
  59. package/datepicker/DatePicker.vue +370 -234
  60. package/datepicker/index.d.ts +162 -6
  61. package/datepicker/index.mjs +644 -384
  62. package/datepicker/index.mjs.map +1 -1
  63. package/dialog/Dialog.vue +48 -39
  64. package/dialog/index.d.ts +26 -1
  65. package/dialog/index.mjs +73 -50
  66. package/dialog/index.mjs.map +1 -1
  67. package/divider/Divider.vue +13 -3
  68. package/divider/index.d.ts +4 -4
  69. package/divider/index.mjs +18 -5
  70. package/divider/index.mjs.map +1 -1
  71. package/dock/index.d.ts +4 -4
  72. package/drawer/Drawer.vue +30 -20
  73. package/drawer/index.d.ts +12 -2
  74. package/drawer/index.mjs +42 -25
  75. package/drawer/index.mjs.map +1 -1
  76. package/fieldset/Fieldset.vue +8 -2
  77. package/fieldset/index.mjs +20 -10
  78. package/fieldset/index.mjs.map +1 -1
  79. package/fileupload/FileUpload.vue +1 -1
  80. package/fileupload/index.d.ts +2 -2
  81. package/fileupload/index.mjs +2 -2
  82. package/fileupload/index.mjs.map +1 -1
  83. package/floatlabel/index.d.ts +2 -2
  84. package/galleria/Galleria.vue +39 -3
  85. package/galleria/GalleriaItem.vue +8 -9
  86. package/galleria/index.d.ts +3 -3
  87. package/galleria/index.mjs +48 -11
  88. package/galleria/index.mjs.map +1 -1
  89. package/inplace/Inplace.vue +1 -1
  90. package/inplace/index.mjs +3 -2
  91. package/inplace/index.mjs.map +1 -1
  92. package/inputchips/index.d.ts +2 -2
  93. package/inputmask/InputMask.vue +15 -1
  94. package/inputmask/index.d.ts +3 -3
  95. package/inputmask/index.mjs +12 -1
  96. package/inputmask/index.mjs.map +1 -1
  97. package/inputnumber/BaseInputNumber.vue +4 -0
  98. package/inputnumber/InputNumber.vue +29 -14
  99. package/inputnumber/index.d.ts +6 -6
  100. package/inputnumber/index.mjs +47 -25
  101. package/inputnumber/index.mjs.map +1 -1
  102. package/inputotp/index.d.ts +3 -3
  103. package/inputtext/InputText.vue +10 -1
  104. package/inputtext/index.d.ts +4 -5
  105. package/inputtext/index.mjs +14 -1
  106. package/inputtext/index.mjs.map +1 -1
  107. package/keyfilter/index.mjs +12 -19
  108. package/keyfilter/index.mjs.map +1 -1
  109. package/knob/Knob.vue +1 -1
  110. package/knob/index.mjs +1 -1
  111. package/knob/index.mjs.map +1 -1
  112. package/listbox/Listbox.vue +9 -2
  113. package/listbox/index.mjs +11 -3
  114. package/listbox/index.mjs.map +1 -1
  115. package/megamenu/index.d.ts +2 -2
  116. package/menu/Menu.vue +8 -2
  117. package/menu/Menuitem.vue +14 -4
  118. package/menu/index.mjs +36 -16
  119. package/menu/index.mjs.map +1 -1
  120. package/message/Message.vue +16 -7
  121. package/message/index.d.ts +2 -2
  122. package/message/index.mjs +35 -13
  123. package/message/index.mjs.map +1 -1
  124. package/metergroup/MeterGroup.vue +9 -3
  125. package/metergroup/MeterGroupLabel.vue +10 -1
  126. package/metergroup/index.mjs +32 -7
  127. package/metergroup/index.mjs.map +1 -1
  128. package/multiselect/MultiSelect.vue +41 -6
  129. package/multiselect/index.d.ts +3 -3
  130. package/multiselect/index.mjs +53 -21
  131. package/multiselect/index.mjs.map +1 -1
  132. package/organizationchart/index.d.ts +2 -2
  133. package/overlaybadge/index.d.ts +1 -1
  134. package/package.json +3 -3
  135. package/paginator/Paginator.vue +2 -0
  136. package/paginator/index.d.ts +8 -0
  137. package/paginator/index.mjs +3 -1
  138. package/paginator/index.mjs.map +1 -1
  139. package/panel/Panel.vue +29 -22
  140. package/panel/index.d.ts +22 -2
  141. package/panel/index.mjs +55 -31
  142. package/panel/index.mjs.map +1 -1
  143. package/panelmenu/PanelMenuList.vue +1 -1
  144. package/panelmenu/index.mjs +1 -1
  145. package/panelmenu/index.mjs.map +1 -1
  146. package/password/Password.vue +21 -3
  147. package/password/index.d.ts +3 -3
  148. package/password/index.mjs +32 -10
  149. package/password/index.mjs.map +1 -1
  150. package/popover/Popover.vue +3 -3
  151. package/popover/index.mjs +3 -4
  152. package/popover/index.mjs.map +1 -1
  153. package/progressbar/ProgressBar.vue +11 -4
  154. package/progressbar/index.mjs +21 -7
  155. package/progressbar/index.mjs.map +1 -1
  156. package/radiobutton/RadioButton.vue +13 -3
  157. package/radiobutton/index.d.ts +3 -3
  158. package/radiobutton/index.mjs +24 -4
  159. package/radiobutton/index.mjs.map +1 -1
  160. package/rating/Rating.vue +19 -2
  161. package/rating/index.mjs +28 -7
  162. package/rating/index.mjs.map +1 -1
  163. package/scrolltop/ScrollTop.vue +2 -2
  164. package/scrolltop/index.d.ts +2 -2
  165. package/scrolltop/index.mjs +4 -2
  166. package/scrolltop/index.mjs.map +1 -1
  167. package/select/Select.vue +56 -16
  168. package/select/index.d.ts +2 -2
  169. package/select/index.mjs +111 -74
  170. package/select/index.mjs.map +1 -1
  171. package/selectbutton/SelectButton.vue +26 -9
  172. package/selectbutton/index.d.ts +2 -2
  173. package/selectbutton/index.mjs +30 -10
  174. package/selectbutton/index.mjs.map +1 -1
  175. package/skeleton/Skeleton.vue +7 -1
  176. package/skeleton/index.d.ts +3 -3
  177. package/skeleton/index.mjs +12 -1
  178. package/skeleton/index.mjs.map +1 -1
  179. package/slider/Slider.vue +11 -2
  180. package/slider/index.d.ts +2 -2
  181. package/slider/index.mjs +27 -8
  182. package/slider/index.mjs.map +1 -1
  183. package/speeddial/index.d.ts +5 -5
  184. package/splitbutton/index.d.ts +1 -1
  185. package/splitter/Splitter.vue +10 -2
  186. package/splitter/index.d.ts +3 -3
  187. package/splitter/index.mjs +19 -6
  188. package/splitter/index.mjs.map +1 -1
  189. package/step/Step.vue +25 -7
  190. package/step/index.mjs +44 -14
  191. package/step/index.mjs.map +1 -1
  192. package/steppanel/StepPanel.vue +9 -3
  193. package/steppanel/index.d.ts +8 -0
  194. package/steppanel/index.mjs +23 -8
  195. package/steppanel/index.mjs.map +1 -1
  196. package/stepper/StepperSeparator.vue +5 -2
  197. package/stepper/index.d.ts +4 -0
  198. package/tab/Tab.vue +12 -6
  199. package/tab/index.mjs +13 -5
  200. package/tab/index.mjs.map +1 -1
  201. package/tablist/TabList.vue +13 -2
  202. package/tablist/index.mjs +21 -8
  203. package/tablist/index.mjs.map +1 -1
  204. package/tabpanel/TabPanel.vue +2 -2
  205. package/tabpanel/index.mjs +2 -2
  206. package/tabpanel/index.mjs.map +1 -1
  207. package/tag/Tag.vue +11 -2
  208. package/tag/index.mjs +17 -3
  209. package/tag/index.mjs.map +1 -1
  210. package/textarea/Textarea.vue +10 -1
  211. package/textarea/index.d.ts +4 -5
  212. package/textarea/index.mjs +14 -1
  213. package/textarea/index.mjs.map +1 -1
  214. package/tieredmenu/TieredMenu.vue +1 -1
  215. package/tieredmenu/index.mjs +1 -2
  216. package/tieredmenu/index.mjs.map +1 -1
  217. package/timeline/Timeline.vue +16 -7
  218. package/timeline/index.d.ts +3 -3
  219. package/timeline/index.mjs +42 -11
  220. package/timeline/index.mjs.map +1 -1
  221. package/toast/Toast.vue +10 -1
  222. package/toast/ToastMessage.vue +29 -19
  223. package/toast/index.d.ts +2 -2
  224. package/toast/index.mjs +77 -38
  225. package/toast/index.mjs.map +1 -1
  226. package/togglebutton/ToggleButton.vue +10 -1
  227. package/togglebutton/index.d.ts +3 -3
  228. package/togglebutton/index.mjs +19 -4
  229. package/togglebutton/index.mjs.map +1 -1
  230. package/toggleswitch/ToggleSwitch.vue +11 -3
  231. package/toggleswitch/index.mjs +20 -5
  232. package/toggleswitch/index.mjs.map +1 -1
  233. package/tooltip/index.mjs +22 -22
  234. package/tooltip/index.mjs.map +1 -1
  235. package/tree/Tree.vue +14 -2
  236. package/tree/TreeNode.vue +2 -2
  237. package/tree/index.d.ts +3 -3
  238. package/tree/index.mjs +28 -10
  239. package/tree/index.mjs.map +1 -1
  240. package/treeselect/TreeSelect.vue +1 -1
  241. package/treeselect/index.d.ts +6 -6
  242. package/treeselect/index.mjs +1 -2
  243. package/treeselect/index.mjs.map +1 -1
  244. package/treetable/index.d.ts +7 -7
  245. package/treetable/style/index.mjs +2 -3
  246. package/treetable/style/index.mjs.map +1 -1
  247. package/umd/primevue.min.js +1 -1
  248. package/virtualscroller/VirtualScroller.vue +13 -2
  249. package/virtualscroller/index.d.ts +2 -2
  250. package/virtualscroller/index.mjs +14 -4
  251. package/virtualscroller/index.mjs.map +1 -1
  252. package/virtualscroller/style/index.mjs +1 -1
  253. package/virtualscroller/style/index.mjs.map +1 -1
  254. package/web-types.json +1 -1
package/message/index.mjs CHANGED
@@ -1,3 +1,4 @@
1
+ import { cn } from '@primeuix/utils';
1
2
  import TimesIcon from '@primevue/icons/times';
2
3
  import Ripple from 'primevue/ripple';
3
4
  import BaseComponent from '@primevue/core/basecomponent';
@@ -50,6 +51,10 @@ var script$1 = {
50
51
  }
51
52
  };
52
53
 
54
+ 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); }
55
+ 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; }
56
+ function _toPropertyKey$1(t) { var i = _toPrimitive$1(t, "string"); return "symbol" == _typeof$1(i) ? i : i + ""; }
57
+ 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); }
53
58
  var script = {
54
59
  name: 'Message',
55
60
  "extends": script$1,
@@ -79,6 +84,12 @@ var script = {
79
84
  computed: {
80
85
  closeAriaLabel: function closeAriaLabel() {
81
86
  return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined;
87
+ },
88
+ dataP: function dataP() {
89
+ return cn(_defineProperty$1(_defineProperty$1({
90
+ outlined: this.variant === 'outlined',
91
+ simple: this.variant === 'simple'
92
+ }, this.severity, this.severity), this.size, this.size));
82
93
  }
83
94
  },
84
95
  directives: {
@@ -95,7 +106,11 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
95
106
  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; }
96
107
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
97
108
  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); }
98
- var _hoisted_1 = ["aria-label"];
109
+ var _hoisted_1 = ["data-p"];
110
+ var _hoisted_2 = ["data-p"];
111
+ var _hoisted_3 = ["data-p"];
112
+ var _hoisted_4 = ["aria-label", "data-p"];
113
+ var _hoisted_5 = ["data-p"];
99
114
  function render(_ctx, _cache, $props, $setup, $data, $options) {
100
115
  var _component_TimesIcon = resolveComponent("TimesIcon");
101
116
  var _directive_ripple = resolveDirective("ripple");
@@ -108,39 +123,46 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
108
123
  "class": _ctx.cx('root'),
109
124
  role: "alert",
110
125
  "aria-live": "assertive",
111
- "aria-atomic": "true"
126
+ "aria-atomic": "true",
127
+ "data-p": $options.dataP
112
128
  }, _ctx.ptm('root')), [_ctx.$slots.container ? renderSlot(_ctx.$slots, "container", {
113
129
  key: 0,
114
130
  closeCallback: $options.close
115
131
  }) : (openBlock(), createElementBlock("div", mergeProps({
116
132
  key: 1,
117
- "class": _ctx.cx('content')
133
+ "class": _ctx.cx('content'),
134
+ "data-p": $options.dataP
118
135
  }, _ctx.ptm('content')), [renderSlot(_ctx.$slots, "icon", {
119
136
  "class": normalizeClass(_ctx.cx('icon'))
120
137
  }, function () {
121
138
  return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.icon ? 'span' : null), mergeProps({
122
- "class": [_ctx.cx('icon'), _ctx.icon]
123
- }, _ctx.ptm('icon')), null, 16, ["class"]))];
139
+ "class": [_ctx.cx('icon'), _ctx.icon],
140
+ "data-p": $options.dataP
141
+ }, _ctx.ptm('icon')), null, 16, ["class", "data-p"]))];
124
142
  }), _ctx.$slots["default"] ? (openBlock(), createElementBlock("div", mergeProps({
125
143
  key: 0,
126
- "class": _ctx.cx('text')
127
- }, _ctx.ptm('text')), [renderSlot(_ctx.$slots, "default")], 16)) : createCommentVNode("", true), _ctx.closable ? withDirectives((openBlock(), createElementBlock("button", mergeProps({
144
+ "class": _ctx.cx('text'),
145
+ "data-p": $options.dataP
146
+ }, _ctx.ptm('text')), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_3)) : createCommentVNode("", true), _ctx.closable ? withDirectives((openBlock(), createElementBlock("button", mergeProps({
128
147
  key: 1,
129
148
  "class": _ctx.cx('closeButton'),
130
149
  "aria-label": $options.closeAriaLabel,
131
150
  type: "button",
132
151
  onClick: _cache[0] || (_cache[0] = function ($event) {
133
152
  return $options.close($event);
134
- })
153
+ }),
154
+ "data-p": $options.dataP
135
155
  }, _objectSpread(_objectSpread({}, _ctx.closeButtonProps), _ctx.ptm('closeButton'))), [renderSlot(_ctx.$slots, "closeicon", {}, function () {
136
156
  return [_ctx.closeIcon ? (openBlock(), createElementBlock("i", mergeProps({
137
157
  key: 0,
138
- "class": [_ctx.cx('closeIcon'), _ctx.closeIcon]
139
- }, _ctx.ptm('closeIcon')), null, 16)) : (openBlock(), createBlock(_component_TimesIcon, mergeProps({
158
+ "class": [_ctx.cx('closeIcon'), _ctx.closeIcon],
159
+ "data-p": $options.dataP
160
+ }, _ctx.ptm('closeIcon')), null, 16, _hoisted_5)) : (openBlock(), createBlock(_component_TimesIcon, mergeProps({
140
161
  key: 1,
141
- "class": [_ctx.cx('closeIcon'), _ctx.closeIcon]
142
- }, _ctx.ptm('closeIcon')), null, 16, ["class"]))];
143
- })], 16, _hoisted_1)), [[_directive_ripple]]) : createCommentVNode("", true)], 16))], 16), [[vShow, $data.visible]])];
162
+ "class": [_ctx.cx('closeIcon'), _ctx.closeIcon],
163
+ "data-p": $options.dataP
164
+ }, _ctx.ptm('closeIcon')), null, 16, ["class", "data-p"]))];
165
+ })], 16, _hoisted_4)), [[_directive_ripple]]) : createCommentVNode("", true)], 16, _hoisted_2))], 16, _hoisted_1), [[vShow, $data.visible]])];
144
166
  }),
145
167
  _: 3
146
168
  }, 16);
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/message/BaseMessage.vue","../../src/message/Message.vue","../../src/message/Message.vue?vue&type=template&id=2b547520&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport MessageStyle from 'primevue/message/style';\n\nexport default {\n name: 'BaseMessage',\n extends: BaseComponent,\n props: {\n severity: {\n type: String,\n default: 'info'\n },\n closable: {\n type: Boolean,\n default: false\n },\n life: {\n type: Number,\n default: null\n },\n icon: {\n type: String,\n default: undefined\n },\n closeIcon: {\n type: String,\n default: undefined\n },\n closeButtonProps: {\n type: null,\n default: null\n },\n size: {\n type: String,\n default: null\n },\n variant: {\n type: String,\n default: null\n }\n },\n style: MessageStyle,\n provide() {\n return {\n $pcMessage: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <transition name=\"p-message\" appear v-bind=\"ptmi('transition')\">\n <div v-show=\"visible\" :class=\"cx('root')\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" v-bind=\"ptm('root')\">\n <slot v-if=\"$slots.container\" name=\"container\" :closeCallback=\"close\"></slot>\n <div v-else :class=\"cx('content')\" v-bind=\"ptm('content')\">\n <slot name=\"icon\" :class=\"cx('icon')\">\n <component :is=\"icon ? 'span' : null\" :class=\"[cx('icon'), icon]\" v-bind=\"ptm('icon')\"></component>\n </slot>\n <div v-if=\"$slots.default\" :class=\"cx('text')\" v-bind=\"ptm('text')\">\n <slot></slot>\n </div>\n <button v-if=\"closable\" v-ripple :class=\"cx('closeButton')\" :aria-label=\"closeAriaLabel\" type=\"button\" @click=\"close($event)\" v-bind=\"{ ...closeButtonProps, ...ptm('closeButton') }\">\n <slot name=\"closeicon\">\n <i v-if=\"closeIcon\" :class=\"[cx('closeIcon'), closeIcon]\" v-bind=\"ptm('closeIcon')\" />\n <TimesIcon v-else :class=\"[cx('closeIcon'), closeIcon]\" v-bind=\"ptm('closeIcon')\" />\n </slot>\n </button>\n </div>\n </div>\n </transition>\n</template>\n\n<script>\nimport TimesIcon from '@primevue/icons/times';\nimport Ripple from 'primevue/ripple';\nimport BaseMessage from './BaseMessage.vue';\n\nexport default {\n name: 'Message',\n extends: BaseMessage,\n inheritAttrs: false,\n emits: ['close', 'life-end'],\n timeout: null,\n data() {\n return {\n visible: true\n };\n },\n mounted() {\n if (this.life) {\n setTimeout(() => {\n this.visible = false;\n this.$emit('life-end');\n }, this.life);\n }\n },\n methods: {\n close(event) {\n this.visible = false;\n this.$emit('close', event);\n }\n },\n computed: {\n closeAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined;\n }\n },\n directives: {\n ripple: Ripple\n },\n components: {\n TimesIcon\n }\n};\n</script>\n","<template>\n <transition name=\"p-message\" appear v-bind=\"ptmi('transition')\">\n <div v-show=\"visible\" :class=\"cx('root')\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" v-bind=\"ptm('root')\">\n <slot v-if=\"$slots.container\" name=\"container\" :closeCallback=\"close\"></slot>\n <div v-else :class=\"cx('content')\" v-bind=\"ptm('content')\">\n <slot name=\"icon\" :class=\"cx('icon')\">\n <component :is=\"icon ? 'span' : null\" :class=\"[cx('icon'), icon]\" v-bind=\"ptm('icon')\"></component>\n </slot>\n <div v-if=\"$slots.default\" :class=\"cx('text')\" v-bind=\"ptm('text')\">\n <slot></slot>\n </div>\n <button v-if=\"closable\" v-ripple :class=\"cx('closeButton')\" :aria-label=\"closeAriaLabel\" type=\"button\" @click=\"close($event)\" v-bind=\"{ ...closeButtonProps, ...ptm('closeButton') }\">\n <slot name=\"closeicon\">\n <i v-if=\"closeIcon\" :class=\"[cx('closeIcon'), closeIcon]\" v-bind=\"ptm('closeIcon')\" />\n <TimesIcon v-else :class=\"[cx('closeIcon'), closeIcon]\" v-bind=\"ptm('closeIcon')\" />\n </slot>\n </button>\n </div>\n </div>\n </transition>\n</template>\n\n<script>\nimport TimesIcon from '@primevue/icons/times';\nimport Ripple from 'primevue/ripple';\nimport BaseMessage from './BaseMessage.vue';\n\nexport default {\n name: 'Message',\n extends: BaseMessage,\n inheritAttrs: false,\n emits: ['close', 'life-end'],\n timeout: null,\n data() {\n return {\n visible: true\n };\n },\n mounted() {\n if (this.life) {\n setTimeout(() => {\n this.visible = false;\n this.$emit('life-end');\n }, this.life);\n }\n },\n methods: {\n close(event) {\n this.visible = false;\n this.$emit('close', event);\n }\n },\n computed: {\n closeAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined;\n }\n },\n directives: {\n ripple: Ripple\n },\n components: {\n TimesIcon\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","severity","type","String","closable","Boolean","life","Number","icon","undefined","closeIcon","closeButtonProps","size","variant","style","MessageStyle","provide","$pcMessage","$parentInstance","BaseMessage","inheritAttrs","emits","timeout","data","visible","mounted","_this","setTimeout","$emit","methods","close","event","computed","closeAriaLabel","$primevue","config","locale","aria","directives","ripple","Ripple","components","TimesIcon","_openBlock","_createBlock","_Transition","_mergeProps","appear","_ctx","ptmi","_withDirectives","_createElementVNode","cx","role","ptm","$slots","container","_renderSlot","closeCallback","$options","_createElementBlock","_resolveDynamicComponent","onClick","_cache","$event","_objectSpread","_component_TimesIcon","$data"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/message/BaseMessage.vue","../../src/message/Message.vue","../../src/message/Message.vue?vue&type=template&id=47f98d28&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport MessageStyle from 'primevue/message/style';\n\nexport default {\n name: 'BaseMessage',\n extends: BaseComponent,\n props: {\n severity: {\n type: String,\n default: 'info'\n },\n closable: {\n type: Boolean,\n default: false\n },\n life: {\n type: Number,\n default: null\n },\n icon: {\n type: String,\n default: undefined\n },\n closeIcon: {\n type: String,\n default: undefined\n },\n closeButtonProps: {\n type: null,\n default: null\n },\n size: {\n type: String,\n default: null\n },\n variant: {\n type: String,\n default: null\n }\n },\n style: MessageStyle,\n provide() {\n return {\n $pcMessage: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <transition name=\"p-message\" appear v-bind=\"ptmi('transition')\">\n <div v-show=\"visible\" :class=\"cx('root')\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" :data-p=\"dataP\" v-bind=\"ptm('root')\">\n <slot v-if=\"$slots.container\" name=\"container\" :closeCallback=\"close\"></slot>\n <div v-else :class=\"cx('content')\" :data-p=\"dataP\" v-bind=\"ptm('content')\">\n <slot name=\"icon\" :class=\"cx('icon')\">\n <component :is=\"icon ? 'span' : null\" :class=\"[cx('icon'), icon]\" :data-p=\"dataP\" v-bind=\"ptm('icon')\"></component>\n </slot>\n <div v-if=\"$slots.default\" :class=\"cx('text')\" :data-p=\"dataP\" v-bind=\"ptm('text')\">\n <slot></slot>\n </div>\n <button v-if=\"closable\" v-ripple :class=\"cx('closeButton')\" :aria-label=\"closeAriaLabel\" type=\"button\" @click=\"close($event)\" :data-p=\"dataP\" v-bind=\"{ ...closeButtonProps, ...ptm('closeButton') }\">\n <slot name=\"closeicon\">\n <i v-if=\"closeIcon\" :class=\"[cx('closeIcon'), closeIcon]\" :data-p=\"dataP\" v-bind=\"ptm('closeIcon')\" />\n <TimesIcon v-else :class=\"[cx('closeIcon'), closeIcon]\" :data-p=\"dataP\" v-bind=\"ptm('closeIcon')\" />\n </slot>\n </button>\n </div>\n </div>\n </transition>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport TimesIcon from '@primevue/icons/times';\nimport Ripple from 'primevue/ripple';\nimport BaseMessage from './BaseMessage.vue';\n\nexport default {\n name: 'Message',\n extends: BaseMessage,\n inheritAttrs: false,\n emits: ['close', 'life-end'],\n timeout: null,\n data() {\n return {\n visible: true\n };\n },\n mounted() {\n if (this.life) {\n setTimeout(() => {\n this.visible = false;\n this.$emit('life-end');\n }, this.life);\n }\n },\n methods: {\n close(event) {\n this.visible = false;\n this.$emit('close', event);\n }\n },\n computed: {\n closeAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined;\n },\n dataP() {\n return cn({\n outlined: this.variant === 'outlined',\n simple: this.variant === 'simple',\n [this.severity]: this.severity,\n [this.size]: this.size\n });\n }\n },\n directives: {\n ripple: Ripple\n },\n components: {\n TimesIcon\n }\n};\n</script>\n","<template>\n <transition name=\"p-message\" appear v-bind=\"ptmi('transition')\">\n <div v-show=\"visible\" :class=\"cx('root')\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" :data-p=\"dataP\" v-bind=\"ptm('root')\">\n <slot v-if=\"$slots.container\" name=\"container\" :closeCallback=\"close\"></slot>\n <div v-else :class=\"cx('content')\" :data-p=\"dataP\" v-bind=\"ptm('content')\">\n <slot name=\"icon\" :class=\"cx('icon')\">\n <component :is=\"icon ? 'span' : null\" :class=\"[cx('icon'), icon]\" :data-p=\"dataP\" v-bind=\"ptm('icon')\"></component>\n </slot>\n <div v-if=\"$slots.default\" :class=\"cx('text')\" :data-p=\"dataP\" v-bind=\"ptm('text')\">\n <slot></slot>\n </div>\n <button v-if=\"closable\" v-ripple :class=\"cx('closeButton')\" :aria-label=\"closeAriaLabel\" type=\"button\" @click=\"close($event)\" :data-p=\"dataP\" v-bind=\"{ ...closeButtonProps, ...ptm('closeButton') }\">\n <slot name=\"closeicon\">\n <i v-if=\"closeIcon\" :class=\"[cx('closeIcon'), closeIcon]\" :data-p=\"dataP\" v-bind=\"ptm('closeIcon')\" />\n <TimesIcon v-else :class=\"[cx('closeIcon'), closeIcon]\" :data-p=\"dataP\" v-bind=\"ptm('closeIcon')\" />\n </slot>\n </button>\n </div>\n </div>\n </transition>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport TimesIcon from '@primevue/icons/times';\nimport Ripple from 'primevue/ripple';\nimport BaseMessage from './BaseMessage.vue';\n\nexport default {\n name: 'Message',\n extends: BaseMessage,\n inheritAttrs: false,\n emits: ['close', 'life-end'],\n timeout: null,\n data() {\n return {\n visible: true\n };\n },\n mounted() {\n if (this.life) {\n setTimeout(() => {\n this.visible = false;\n this.$emit('life-end');\n }, this.life);\n }\n },\n methods: {\n close(event) {\n this.visible = false;\n this.$emit('close', event);\n }\n },\n computed: {\n closeAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined;\n },\n dataP() {\n return cn({\n outlined: this.variant === 'outlined',\n simple: this.variant === 'simple',\n [this.severity]: this.severity,\n [this.size]: this.size\n });\n }\n },\n directives: {\n ripple: Ripple\n },\n components: {\n TimesIcon\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","severity","type","String","closable","Boolean","life","Number","icon","undefined","closeIcon","closeButtonProps","size","variant","style","MessageStyle","provide","$pcMessage","$parentInstance","BaseMessage","inheritAttrs","emits","timeout","data","visible","mounted","_this","setTimeout","$emit","methods","close","event","computed","closeAriaLabel","$primevue","config","locale","aria","dataP","cn","_defineProperty","outlined","simple","directives","ripple","Ripple","components","TimesIcon","_openBlock","_createBlock","_Transition","_mergeProps","appear","_ctx","ptmi","_withDirectives","_createElementVNode","cx","role","$options","ptm","$slots","container","_renderSlot","closeCallback","_createElementBlock","_resolveDynamicComponent","onClick","_cache","$event","_objectSpread","_hoisted_5","_component_TimesIcon","$data"],"mappings":"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"}
@@ -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>
@@ -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
@@ -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,11 +734,12 @@ 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', left: '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);
742
+ this.autoUpdateModel();
741
743
  },
742
744
  onOverlayAfterEnter() {
743
745
  this.bindOutsideClickListener();
@@ -995,8 +997,11 @@ export default {
995
997
  });
996
998
  },
997
999
  autoUpdateModel() {
998
- if (this.selectOnFocus && this.autoOptionFocus && !this.$filled) {
1000
+ if (this.autoOptionFocus) {
999
1001
  this.focusedOptionIndex = this.findFirstFocusedOptionIndex();
1002
+ }
1003
+
1004
+ if (this.selectOnFocus && this.autoOptionFocus && !this.$filled) {
1000
1005
  const value = this.getOptionValue(this.visibleOptions[this.focusedOptionIndex]);
1001
1006
 
1002
1007
  this.updateModel(null, [value]);
@@ -1138,6 +1143,36 @@ export default {
1138
1143
  },
1139
1144
  isClearIconVisible() {
1140
1145
  return this.showClear && this.d_value && this.d_value.length && this.d_value != null && isNotEmpty(this.options);
1146
+ },
1147
+ containerDataP() {
1148
+ return cn({
1149
+ invalid: this.$invalid,
1150
+ disabled: this.disabled,
1151
+ focus: this.focused,
1152
+ fluid: this.$fluid,
1153
+ filled: this.$variant === 'filled',
1154
+ [this.size]: this.size
1155
+ });
1156
+ },
1157
+ labelDataP() {
1158
+ return cn({
1159
+ placeholder: this.label === this.placeholder,
1160
+ clearable: this.showClear,
1161
+ disabled: this.disabled,
1162
+ [this.size]: this.size,
1163
+ 'has-chip': this.display === 'chip' && this.d_value && this.d_value.length && (this.maxSelectedLabels ? this.d_value.length <= this.maxSelectedLabels : true),
1164
+ empty: !this.placeholder && !this.$filled
1165
+ });
1166
+ },
1167
+ dropdownIconDataP() {
1168
+ return cn({
1169
+ [this.size]: this.size
1170
+ });
1171
+ },
1172
+ overlayDataP() {
1173
+ return cn({
1174
+ ['portal-' + this.appendTo]: 'portal-' + this.appendTo
1175
+ });
1141
1176
  }
1142
1177
  },
1143
1178
  directives: {
@@ -364,7 +364,7 @@ export interface MultiSelectProps {
364
364
  /**
365
365
  * Defines the size of the component.
366
366
  */
367
- size?: 'small' | 'large' | undefined;
367
+ size?: HintedString<'small' | 'large'> | undefined;
368
368
  /**
369
369
  * When present, it specifies that the component should have invalid state style.
370
370
  * @defaultValue false
@@ -379,7 +379,7 @@ export interface MultiSelectProps {
379
379
  * Specifies the input variant of the component.
380
380
  * @defaultValue null
381
381
  */
382
- variant?: 'outlined' | 'filled' | undefined | null;
382
+ variant?: HintedString<'outlined' | 'filled'> | undefined | null;
383
383
  /**
384
384
  * Spans 100% width of the container when enabled.
385
385
  * @defaultValue null
@@ -456,7 +456,7 @@ export interface MultiSelectProps {
456
456
  * Defines how the selected items are displayed.
457
457
  * @defaultValue comma
458
458
  */
459
- display?: 'comma' | 'chip' | undefined;
459
+ display?: HintedString<'comma' | 'chip'> | undefined;
460
460
  /**
461
461
  * Label to display after exceeding max selected labels.
462
462
  * @defaultValue null