primevue 4.3.0 → 4.3.2

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 (176) 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 +16 -6
  5. package/autocomplete/index.d.ts +3 -3
  6. package/autocomplete/index.mjs +17 -4
  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/index.d.ts +2 -2
  24. package/checkbox/Checkbox.vue +14 -4
  25. package/checkbox/index.d.ts +2 -2
  26. package/checkbox/index.mjs +27 -6
  27. package/checkbox/index.mjs.map +1 -1
  28. package/chip/Chip.vue +9 -1
  29. package/chip/index.mjs +12 -2
  30. package/chip/index.mjs.map +1 -1
  31. package/colorpicker/ColorPicker.vue +10 -2
  32. package/colorpicker/index.d.ts +1 -1
  33. package/colorpicker/index.mjs +9 -2
  34. package/colorpicker/index.mjs.map +1 -1
  35. package/column/index.d.ts +3 -3
  36. package/columngroup/index.d.ts +2 -2
  37. package/confirmationoptions/index.d.ts +1 -1
  38. package/confirmpopup/ConfirmPopup.vue +2 -2
  39. package/confirmpopup/index.mjs +2 -2
  40. package/confirmpopup/index.mjs.map +1 -1
  41. package/datatable/BodyCell.vue +3 -1
  42. package/datatable/BodyRow.vue +2 -0
  43. package/datatable/index.d.ts +10 -10
  44. package/datatable/index.mjs +7 -2
  45. package/datatable/index.mjs.map +1 -1
  46. package/dataview/index.d.ts +3 -3
  47. package/datepicker/DatePicker.vue +1 -3
  48. package/datepicker/index.d.ts +6 -6
  49. package/datepicker/index.mjs +21 -24
  50. package/datepicker/index.mjs.map +1 -1
  51. package/dialog/Dialog.vue +48 -39
  52. package/dialog/index.d.ts +26 -1
  53. package/dialog/index.mjs +73 -50
  54. package/dialog/index.mjs.map +1 -1
  55. package/divider/Divider.vue +13 -3
  56. package/divider/index.d.ts +4 -4
  57. package/divider/index.mjs +18 -5
  58. package/divider/index.mjs.map +1 -1
  59. package/dock/index.d.ts +4 -4
  60. package/drawer/index.d.ts +2 -2
  61. package/fieldset/Fieldset.vue +8 -2
  62. package/fieldset/index.mjs +20 -10
  63. package/fieldset/index.mjs.map +1 -1
  64. package/fileupload/index.d.ts +2 -2
  65. package/floatlabel/index.d.ts +2 -2
  66. package/galleria/GalleriaItem.vue +8 -9
  67. package/galleria/index.d.ts +3 -3
  68. package/galleria/index.mjs +8 -8
  69. package/galleria/index.mjs.map +1 -1
  70. package/inputchips/index.d.ts +2 -2
  71. package/inputmask/InputMask.vue +15 -1
  72. package/inputmask/index.d.ts +3 -3
  73. package/inputmask/index.mjs +12 -1
  74. package/inputmask/index.mjs.map +1 -1
  75. package/inputnumber/InputNumber.vue +28 -6
  76. package/inputnumber/index.d.ts +6 -6
  77. package/inputnumber/index.mjs +43 -19
  78. package/inputnumber/index.mjs.map +1 -1
  79. package/inputotp/index.d.ts +3 -3
  80. package/inputtext/InputText.vue +10 -1
  81. package/inputtext/index.d.ts +3 -3
  82. package/inputtext/index.mjs +14 -1
  83. package/inputtext/index.mjs.map +1 -1
  84. package/knob/Knob.vue +1 -1
  85. package/knob/index.mjs +1 -1
  86. package/knob/index.mjs.map +1 -1
  87. package/megamenu/index.d.ts +2 -2
  88. package/message/Message.vue +16 -7
  89. package/message/index.d.ts +2 -2
  90. package/message/index.mjs +35 -13
  91. package/message/index.mjs.map +1 -1
  92. package/multiselect/MultiSelect.vue +5 -1
  93. package/multiselect/index.d.ts +3 -3
  94. package/multiselect/index.mjs +4 -1
  95. package/multiselect/index.mjs.map +1 -1
  96. package/organizationchart/index.d.ts +2 -2
  97. package/overlaybadge/index.d.ts +1 -1
  98. package/package.json +3 -3
  99. package/panel/Panel.vue +29 -22
  100. package/panel/index.d.ts +22 -2
  101. package/panel/index.mjs +55 -31
  102. package/panel/index.mjs.map +1 -1
  103. package/password/index.d.ts +2 -2
  104. package/popover/Popover.vue +2 -2
  105. package/popover/index.mjs +2 -2
  106. package/popover/index.mjs.map +1 -1
  107. package/progressbar/ProgressBar.vue +11 -4
  108. package/progressbar/index.mjs +24 -6
  109. package/progressbar/index.mjs.map +1 -1
  110. package/radiobutton/RadioButton.vue +13 -3
  111. package/radiobutton/index.d.ts +3 -3
  112. package/radiobutton/index.mjs +24 -4
  113. package/radiobutton/index.mjs.map +1 -1
  114. package/rating/Rating.vue +19 -2
  115. package/rating/index.mjs +28 -7
  116. package/rating/index.mjs.map +1 -1
  117. package/scrolltop/index.d.ts +2 -2
  118. package/select/Select.vue +8 -4
  119. package/select/index.d.ts +2 -2
  120. package/select/index.mjs +9 -5
  121. package/select/index.mjs.map +1 -1
  122. package/selectbutton/SelectButton.vue +26 -9
  123. package/selectbutton/index.d.ts +2 -2
  124. package/selectbutton/index.mjs +30 -10
  125. package/selectbutton/index.mjs.map +1 -1
  126. package/skeleton/Skeleton.vue +7 -1
  127. package/skeleton/index.d.ts +3 -3
  128. package/skeleton/index.mjs +12 -1
  129. package/skeleton/index.mjs.map +1 -1
  130. package/slider/Slider.vue +11 -2
  131. package/slider/index.d.ts +2 -2
  132. package/slider/index.mjs +27 -8
  133. package/slider/index.mjs.map +1 -1
  134. package/speeddial/index.d.ts +5 -5
  135. package/splitbutton/index.d.ts +1 -1
  136. package/splitter/index.d.ts +3 -3
  137. package/stepper/index.d.ts +4 -0
  138. package/tab/Tab.vue +8 -2
  139. package/tab/index.mjs +9 -1
  140. package/tab/index.mjs.map +1 -1
  141. package/tablist/TabList.vue +10 -2
  142. package/tablist/index.mjs +20 -8
  143. package/tablist/index.mjs.map +1 -1
  144. package/tag/Tag.vue +11 -2
  145. package/tag/index.mjs +17 -3
  146. package/tag/index.mjs.map +1 -1
  147. package/textarea/Textarea.vue +10 -1
  148. package/textarea/index.d.ts +3 -3
  149. package/textarea/index.mjs +14 -1
  150. package/textarea/index.mjs.map +1 -1
  151. package/timeline/Timeline.vue +16 -7
  152. package/timeline/index.d.ts +3 -3
  153. package/timeline/index.mjs +42 -11
  154. package/timeline/index.mjs.map +1 -1
  155. package/toast/Toast.vue +10 -1
  156. package/toast/ToastMessage.vue +29 -19
  157. package/toast/index.d.ts +2 -2
  158. package/toast/index.mjs +77 -38
  159. package/toast/index.mjs.map +1 -1
  160. package/togglebutton/ToggleButton.vue +10 -1
  161. package/togglebutton/index.d.ts +3 -3
  162. package/togglebutton/index.mjs +19 -4
  163. package/togglebutton/index.mjs.map +1 -1
  164. package/toggleswitch/ToggleSwitch.vue +11 -3
  165. package/toggleswitch/index.mjs +20 -5
  166. package/toggleswitch/index.mjs.map +1 -1
  167. package/tooltip/index.mjs +0 -6
  168. package/tooltip/index.mjs.map +1 -1
  169. package/tree/index.d.ts +3 -3
  170. package/treeselect/index.d.ts +6 -6
  171. package/treetable/index.d.ts +7 -7
  172. package/treetable/style/index.mjs +2 -3
  173. package/treetable/style/index.mjs.map +1 -1
  174. package/umd/primevue.min.js +1 -1
  175. package/virtualscroller/index.d.ts +2 -2
  176. package/web-types.json +1 -1
@@ -7,7 +7,7 @@
7
7
  * @module organizationchart
8
8
  *
9
9
  */
10
- import type { DefineComponent, DesignToken, EmitFn, PassThrough } from '@primevue/core';
10
+ import type { DefineComponent, DesignToken, EmitFn, HintedString, PassThrough } from '@primevue/core';
11
11
  import type { ComponentHooks } from '@primevue/core/basecomponent';
12
12
  import type { PassThroughOptions } from 'primevue/passthrough';
13
13
  import { VNode } from 'vue';
@@ -243,7 +243,7 @@ export interface OrganizationChartProps {
243
243
  /**
244
244
  * Type of the selection.
245
245
  */
246
- selectionMode?: 'single' | 'multiple' | undefined;
246
+ selectionMode?: HintedString<'single' | 'multiple'> | undefined;
247
247
  /**
248
248
  * A map instance of key-value pairs to represented the collapsed nodes.
249
249
  */
@@ -90,7 +90,7 @@ export interface OverlayBadgeProps {
90
90
  /**
91
91
  * Size of the badge, valid options are 'small', 'large', and 'xlarge'.
92
92
  */
93
- size?: 'small' | 'large' | 'xlarge' | null | undefined;
93
+ size?: HintedString<'small' | 'large' | 'xlarge'> | null | undefined;
94
94
  /**
95
95
  * It generates scoped CSS variables using design tokens for the component.
96
96
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "primevue",
3
- "version": "4.3.0",
3
+ "version": "4.3.2",
4
4
  "author": "PrimeTek Informatics",
5
5
  "description": "PrimeVue is an open source UI library for Vue featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBlock, which has 370+ ready to use UI blocks to build spectacular applications in no time.",
6
6
  "homepage": "https://primevue.org/",
@@ -60,8 +60,8 @@
60
60
  "@primeuix/styled": "^0.5.0",
61
61
  "@primeuix/utils": "^0.5.1",
62
62
  "@primeuix/styles": "^1.0.0",
63
- "@primevue/icons": "4.3.0",
64
- "@primevue/core": "4.3.0"
63
+ "@primevue/core": "4.3.2",
64
+ "@primevue/icons": "4.3.2"
65
65
  },
66
66
  "engines": {
67
67
  "node": ">=12.11.0"
package/panel/Panel.vue CHANGED
@@ -1,31 +1,32 @@
1
1
  <template>
2
- <div :class="cx('root')" v-bind="ptmi('root')">
3
- <div :class="cx('header')" v-bind="ptm('header')">
2
+ <div :class="cx('root')" :data-p="dataP" v-bind="ptmi('root')">
3
+ <div :class="cx('header')" :data-p="dataP" v-bind="ptm('header')">
4
4
  <slot :id="$id + '_header'" name="header" :class="cx('title')">
5
5
  <span v-if="header" :id="$id + '_header'" :class="cx('title')" v-bind="ptm('title')">{{ header }}</span>
6
6
  </slot>
7
7
  <div :class="cx('headerActions')" v-bind="ptm('headerActions')">
8
8
  <slot name="icons"></slot>
9
- <Button
10
- v-if="toggleable"
11
- :id="$id + '_header'"
12
- :class="cx('pcToggleButton')"
13
- :aria-label="buttonAriaLabel"
14
- :aria-controls="$id + '_content'"
15
- :aria-expanded="!d_collapsed"
16
- :unstyled="unstyled"
17
- @click="toggle"
18
- @keydown="onKeyDown"
19
- v-bind="toggleButtonProps"
20
- :pt="ptm('pcToggleButton')"
21
- >
22
- <template #icon="slotProps">
23
- <!--TODO: togglericon deprecated since v4.0-->
24
- <slot :name="$slots.toggleicon ? 'toggleicon' : 'togglericon'" :collapsed="d_collapsed">
25
- <component :is="d_collapsed ? 'PlusIcon' : 'MinusIcon'" :class="slotProps.class" v-bind="ptm('pcToggleButton')['icon']" />
26
- </slot>
27
- </template>
28
- </Button>
9
+ <slot v-if="toggleable" name="togglebutton" :collapsed="d_collapsed" :toggleCallback="(event) => toggle(event)" :keydownCallback="(event) => onKeyDown(event)">
10
+ <Button
11
+ :id="$id + '_header'"
12
+ :class="cx('pcToggleButton')"
13
+ :aria-label="buttonAriaLabel"
14
+ :aria-controls="$id + '_content'"
15
+ :aria-expanded="!d_collapsed"
16
+ :unstyled="unstyled"
17
+ @click="toggle(event)"
18
+ @keydown="onKeyDown(event)"
19
+ v-bind="toggleButtonProps"
20
+ :pt="ptm('pcToggleButton')"
21
+ >
22
+ <template #icon="slotProps">
23
+ <!--TODO: togglericon deprecated since v4.0-->
24
+ <slot :name="$slots.toggleicon ? 'toggleicon' : 'togglericon'" :collapsed="d_collapsed">
25
+ <component :is="d_collapsed ? 'PlusIcon' : 'MinusIcon'" :class="slotProps.class" v-bind="ptm('pcToggleButton')['icon']" />
26
+ </slot>
27
+ </template>
28
+ </Button>
29
+ </slot>
29
30
  </div>
30
31
  </div>
31
32
  <transition name="p-toggleable-content" v-bind="ptm('transition')">
@@ -42,6 +43,7 @@
42
43
  </template>
43
44
 
44
45
  <script>
46
+ import { cn } from '@primeuix/utils';
45
47
  import MinusIcon from '@primevue/icons/minus';
46
48
  import PlusIcon from '@primevue/icons/plus';
47
49
  import Button from 'primevue/button';
@@ -82,6 +84,11 @@ export default {
82
84
  computed: {
83
85
  buttonAriaLabel() {
84
86
  return this.toggleButtonProps && this.toggleButtonProps.ariaLabel ? this.toggleButtonProps.ariaLabel : this.header;
87
+ },
88
+ dataP() {
89
+ return cn({
90
+ toggleable: this.toggleable
91
+ });
85
92
  }
86
93
  },
87
94
  components: {
package/panel/index.d.ts CHANGED
@@ -213,6 +213,26 @@ export interface PanelSlots {
213
213
  * Custom icons template.
214
214
  */
215
215
  icons(): VNode[];
216
+ /**
217
+ * Custom toggle button template of panel.
218
+ * @param {Object} scope - toggle button slot's params.
219
+ */
220
+ togglebutton(scope: {
221
+ /**
222
+ * Collapsed state as a boolean
223
+ */
224
+ collapsed: boolean;
225
+ /**
226
+ * Toggle function.
227
+ * @param {Event} event - Browser event
228
+ */
229
+ toggleCallback: (event: Event) => void;
230
+ /**
231
+ * Keydown function.
232
+ * @param {Event} event - Browser event
233
+ */
234
+ keydownCallback: (event: Event) => void;
235
+ }): VNode[];
216
236
  /**
217
237
  * @deprecated since v4.0. Use the 'toggleicon' slot instead.
218
238
  * Custom toggler icon template of panel.
@@ -225,8 +245,8 @@ export interface PanelSlots {
225
245
  collapsed: boolean;
226
246
  }): VNode[];
227
247
  /**
228
- * Custom toggler icon template of panel.
229
- * @param {Object} scope - toggler icon slot's params.
248
+ * Custom toggle icon template of panel.
249
+ * @param {Object} scope - toggle icon slot's params.
230
250
  */
231
251
  toggleicon(scope: {
232
252
  /**
package/panel/index.mjs CHANGED
@@ -1,10 +1,11 @@
1
+ import { cn } from '@primeuix/utils';
1
2
  import MinusIcon from '@primevue/icons/minus';
2
3
  import PlusIcon from '@primevue/icons/plus';
3
4
  import Button from 'primevue/button';
4
5
  import Ripple from 'primevue/ripple';
5
6
  import BaseComponent from '@primevue/core/basecomponent';
6
7
  import PanelStyle from 'primevue/panel/style';
7
- import { resolveComponent, createElementBlock, openBlock, mergeProps, createElementVNode, createVNode, renderSlot, normalizeClass, createCommentVNode, toDisplayString, createBlock, withCtx, resolveDynamicComponent, Transition, withDirectives, vShow } from 'vue';
8
+ import { resolveComponent, createElementBlock, openBlock, mergeProps, createElementVNode, createVNode, renderSlot, normalizeClass, createCommentVNode, toDisplayString, withCtx, createBlock, resolveDynamicComponent, Transition, withDirectives, vShow } from 'vue';
8
9
 
9
10
  var script$1 = {
10
11
  name: 'BasePanel',
@@ -67,6 +68,11 @@ var script = {
67
68
  computed: {
68
69
  buttonAriaLabel: function buttonAriaLabel() {
69
70
  return this.toggleButtonProps && this.toggleButtonProps.ariaLabel ? this.toggleButtonProps.ariaLabel : this.header;
71
+ },
72
+ dataP: function dataP() {
73
+ return cn({
74
+ toggleable: this.toggleable
75
+ });
70
76
  }
71
77
  },
72
78
  components: {
@@ -79,14 +85,18 @@ var script = {
79
85
  }
80
86
  };
81
87
 
82
- var _hoisted_1 = ["id"];
83
- var _hoisted_2 = ["id", "aria-labelledby"];
88
+ var _hoisted_1 = ["data-p"];
89
+ var _hoisted_2 = ["data-p"];
90
+ var _hoisted_3 = ["id"];
91
+ var _hoisted_4 = ["id", "aria-labelledby"];
84
92
  function render(_ctx, _cache, $props, $setup, $data, $options) {
85
93
  var _component_Button = resolveComponent("Button");
86
94
  return openBlock(), createElementBlock("div", mergeProps({
87
- "class": _ctx.cx('root')
95
+ "class": _ctx.cx('root'),
96
+ "data-p": $options.dataP
88
97
  }, _ctx.ptmi('root')), [createElementVNode("div", mergeProps({
89
- "class": _ctx.cx('header')
98
+ "class": _ctx.cx('header'),
99
+ "data-p": $options.dataP
90
100
  }, _ctx.ptm('header')), [renderSlot(_ctx.$slots, "header", {
91
101
  id: _ctx.$id + '_header',
92
102
  "class": normalizeClass(_ctx.cx('title'))
@@ -95,33 +105,47 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
95
105
  key: 0,
96
106
  id: _ctx.$id + '_header',
97
107
  "class": _ctx.cx('title')
98
- }, _ctx.ptm('title')), toDisplayString(_ctx.header), 17, _hoisted_1)) : createCommentVNode("", true)];
108
+ }, _ctx.ptm('title')), toDisplayString(_ctx.header), 17, _hoisted_3)) : createCommentVNode("", true)];
99
109
  }), createElementVNode("div", mergeProps({
100
110
  "class": _ctx.cx('headerActions')
101
- }, _ctx.ptm('headerActions')), [renderSlot(_ctx.$slots, "icons"), _ctx.toggleable ? (openBlock(), createBlock(_component_Button, mergeProps({
111
+ }, _ctx.ptm('headerActions')), [renderSlot(_ctx.$slots, "icons"), _ctx.toggleable ? renderSlot(_ctx.$slots, "togglebutton", {
102
112
  key: 0,
103
- id: _ctx.$id + '_header',
104
- "class": _ctx.cx('pcToggleButton'),
105
- "aria-label": $options.buttonAriaLabel,
106
- "aria-controls": _ctx.$id + '_content',
107
- "aria-expanded": !$data.d_collapsed,
108
- unstyled: _ctx.unstyled,
109
- onClick: $options.toggle,
110
- onKeydown: $options.onKeyDown
111
- }, _ctx.toggleButtonProps, {
112
- pt: _ctx.ptm('pcToggleButton')
113
- }), {
114
- icon: withCtx(function (slotProps) {
115
- return [renderSlot(_ctx.$slots, _ctx.$slots.toggleicon ? 'toggleicon' : 'togglericon', {
116
- collapsed: $data.d_collapsed
117
- }, function () {
118
- return [(openBlock(), createBlock(resolveDynamicComponent($data.d_collapsed ? 'PlusIcon' : 'MinusIcon'), mergeProps({
119
- "class": slotProps["class"]
120
- }, _ctx.ptm('pcToggleButton')['icon']), null, 16, ["class"]))];
121
- })];
122
- }),
123
- _: 3
124
- }, 16, ["id", "class", "aria-label", "aria-controls", "aria-expanded", "unstyled", "onClick", "onKeydown", "pt"])) : createCommentVNode("", true)], 16)], 16), createVNode(Transition, mergeProps({
113
+ collapsed: $data.d_collapsed,
114
+ toggleCallback: function toggleCallback(event) {
115
+ return $options.toggle(event);
116
+ },
117
+ keydownCallback: function keydownCallback(event) {
118
+ return $options.onKeyDown(event);
119
+ }
120
+ }, function () {
121
+ return [createVNode(_component_Button, mergeProps({
122
+ id: _ctx.$id + '_header',
123
+ "class": _ctx.cx('pcToggleButton'),
124
+ "aria-label": $options.buttonAriaLabel,
125
+ "aria-controls": _ctx.$id + '_content',
126
+ "aria-expanded": !$data.d_collapsed,
127
+ unstyled: _ctx.unstyled,
128
+ onClick: _cache[0] || (_cache[0] = function ($event) {
129
+ return $options.toggle(_ctx.event);
130
+ }),
131
+ onKeydown: _cache[1] || (_cache[1] = function ($event) {
132
+ return $options.onKeyDown(_ctx.event);
133
+ })
134
+ }, _ctx.toggleButtonProps, {
135
+ pt: _ctx.ptm('pcToggleButton')
136
+ }), {
137
+ icon: withCtx(function (slotProps) {
138
+ return [renderSlot(_ctx.$slots, _ctx.$slots.toggleicon ? 'toggleicon' : 'togglericon', {
139
+ collapsed: $data.d_collapsed
140
+ }, function () {
141
+ return [(openBlock(), createBlock(resolveDynamicComponent($data.d_collapsed ? 'PlusIcon' : 'MinusIcon'), mergeProps({
142
+ "class": slotProps["class"]
143
+ }, _ctx.ptm('pcToggleButton')['icon']), null, 16, ["class"]))];
144
+ })];
145
+ }),
146
+ _: 3
147
+ }, 16, ["id", "class", "aria-label", "aria-controls", "aria-expanded", "unstyled", "pt"])];
148
+ }) : createCommentVNode("", true)], 16)], 16, _hoisted_2), createVNode(Transition, mergeProps({
125
149
  name: "p-toggleable-content"
126
150
  }, _ctx.ptm('transition')), {
127
151
  "default": withCtx(function () {
@@ -135,10 +159,10 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
135
159
  }, _ctx.ptm('content')), [renderSlot(_ctx.$slots, "default")], 16), _ctx.$slots.footer ? (openBlock(), createElementBlock("div", mergeProps({
136
160
  key: 0,
137
161
  "class": _ctx.cx('footer')
138
- }, _ctx.ptm('footer')), [renderSlot(_ctx.$slots, "footer")], 16)) : createCommentVNode("", true)], 16, _hoisted_2), [[vShow, !$data.d_collapsed]])];
162
+ }, _ctx.ptm('footer')), [renderSlot(_ctx.$slots, "footer")], 16)) : createCommentVNode("", true)], 16, _hoisted_4), [[vShow, !$data.d_collapsed]])];
139
163
  }),
140
164
  _: 3
141
- }, 16)], 16);
165
+ }, 16)], 16, _hoisted_1);
142
166
  }
143
167
 
144
168
  script.render = render;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/panel/BasePanel.vue","../../src/panel/Panel.vue","../../src/panel/Panel.vue?vue&type=template&id=7d3373aa&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport PanelStyle from 'primevue/panel/style';\n\nexport default {\n name: 'BasePanel',\n extends: BaseComponent,\n props: {\n header: String,\n toggleable: Boolean,\n collapsed: Boolean,\n toggleButtonProps: {\n type: Object,\n default: () => {\n return {\n severity: 'secondary',\n text: true,\n rounded: true\n };\n }\n }\n },\n style: PanelStyle,\n provide() {\n return {\n $pcPanel: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <div :class=\"cx('header')\" v-bind=\"ptm('header')\">\n <slot :id=\"$id + '_header'\" name=\"header\" :class=\"cx('title')\">\n <span v-if=\"header\" :id=\"$id + '_header'\" :class=\"cx('title')\" v-bind=\"ptm('title')\">{{ header }}</span>\n </slot>\n <div :class=\"cx('headerActions')\" v-bind=\"ptm('headerActions')\">\n <slot name=\"icons\"></slot>\n <Button\n v-if=\"toggleable\"\n :id=\"$id + '_header'\"\n :class=\"cx('pcToggleButton')\"\n :aria-label=\"buttonAriaLabel\"\n :aria-controls=\"$id + '_content'\"\n :aria-expanded=\"!d_collapsed\"\n :unstyled=\"unstyled\"\n @click=\"toggle\"\n @keydown=\"onKeyDown\"\n v-bind=\"toggleButtonProps\"\n :pt=\"ptm('pcToggleButton')\"\n >\n <template #icon=\"slotProps\">\n <!--TODO: togglericon deprecated since v4.0-->\n <slot :name=\"$slots.toggleicon ? 'toggleicon' : 'togglericon'\" :collapsed=\"d_collapsed\">\n <component :is=\"d_collapsed ? 'PlusIcon' : 'MinusIcon'\" :class=\"slotProps.class\" v-bind=\"ptm('pcToggleButton')['icon']\" />\n </slot>\n </template>\n </Button>\n </div>\n </div>\n <transition name=\"p-toggleable-content\" v-bind=\"ptm('transition')\">\n <div v-show=\"!d_collapsed\" :id=\"$id + '_content'\" :class=\"cx('contentContainer')\" role=\"region\" :aria-labelledby=\"$id + '_header'\" v-bind=\"ptm('contentContainer')\">\n <div :class=\"cx('content')\" v-bind=\"ptm('content')\">\n <slot></slot>\n </div>\n <div v-if=\"$slots.footer\" :class=\"cx('footer')\" v-bind=\"ptm('footer')\">\n <slot name=\"footer\"></slot>\n </div>\n </div>\n </transition>\n </div>\n</template>\n\n<script>\nimport MinusIcon from '@primevue/icons/minus';\nimport PlusIcon from '@primevue/icons/plus';\nimport Button from 'primevue/button';\nimport Ripple from 'primevue/ripple';\nimport BasePanel from './BasePanel.vue';\n\nexport default {\n name: 'Panel',\n extends: BasePanel,\n inheritAttrs: false,\n emits: ['update:collapsed', 'toggle'],\n data() {\n return {\n d_collapsed: this.collapsed\n };\n },\n watch: {\n collapsed(newValue) {\n this.d_collapsed = newValue;\n }\n },\n methods: {\n toggle(event) {\n this.d_collapsed = !this.d_collapsed;\n this.$emit('update:collapsed', this.d_collapsed);\n this.$emit('toggle', {\n originalEvent: event,\n value: this.d_collapsed\n });\n },\n onKeyDown(event) {\n if (event.code === 'Enter' || event.code === 'NumpadEnter' || event.code === 'Space') {\n this.toggle(event);\n event.preventDefault();\n }\n }\n },\n computed: {\n buttonAriaLabel() {\n return this.toggleButtonProps && this.toggleButtonProps.ariaLabel ? this.toggleButtonProps.ariaLabel : this.header;\n }\n },\n components: {\n PlusIcon,\n MinusIcon,\n Button\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <div :class=\"cx('header')\" v-bind=\"ptm('header')\">\n <slot :id=\"$id + '_header'\" name=\"header\" :class=\"cx('title')\">\n <span v-if=\"header\" :id=\"$id + '_header'\" :class=\"cx('title')\" v-bind=\"ptm('title')\">{{ header }}</span>\n </slot>\n <div :class=\"cx('headerActions')\" v-bind=\"ptm('headerActions')\">\n <slot name=\"icons\"></slot>\n <Button\n v-if=\"toggleable\"\n :id=\"$id + '_header'\"\n :class=\"cx('pcToggleButton')\"\n :aria-label=\"buttonAriaLabel\"\n :aria-controls=\"$id + '_content'\"\n :aria-expanded=\"!d_collapsed\"\n :unstyled=\"unstyled\"\n @click=\"toggle\"\n @keydown=\"onKeyDown\"\n v-bind=\"toggleButtonProps\"\n :pt=\"ptm('pcToggleButton')\"\n >\n <template #icon=\"slotProps\">\n <!--TODO: togglericon deprecated since v4.0-->\n <slot :name=\"$slots.toggleicon ? 'toggleicon' : 'togglericon'\" :collapsed=\"d_collapsed\">\n <component :is=\"d_collapsed ? 'PlusIcon' : 'MinusIcon'\" :class=\"slotProps.class\" v-bind=\"ptm('pcToggleButton')['icon']\" />\n </slot>\n </template>\n </Button>\n </div>\n </div>\n <transition name=\"p-toggleable-content\" v-bind=\"ptm('transition')\">\n <div v-show=\"!d_collapsed\" :id=\"$id + '_content'\" :class=\"cx('contentContainer')\" role=\"region\" :aria-labelledby=\"$id + '_header'\" v-bind=\"ptm('contentContainer')\">\n <div :class=\"cx('content')\" v-bind=\"ptm('content')\">\n <slot></slot>\n </div>\n <div v-if=\"$slots.footer\" :class=\"cx('footer')\" v-bind=\"ptm('footer')\">\n <slot name=\"footer\"></slot>\n </div>\n </div>\n </transition>\n </div>\n</template>\n\n<script>\nimport MinusIcon from '@primevue/icons/minus';\nimport PlusIcon from '@primevue/icons/plus';\nimport Button from 'primevue/button';\nimport Ripple from 'primevue/ripple';\nimport BasePanel from './BasePanel.vue';\n\nexport default {\n name: 'Panel',\n extends: BasePanel,\n inheritAttrs: false,\n emits: ['update:collapsed', 'toggle'],\n data() {\n return {\n d_collapsed: this.collapsed\n };\n },\n watch: {\n collapsed(newValue) {\n this.d_collapsed = newValue;\n }\n },\n methods: {\n toggle(event) {\n this.d_collapsed = !this.d_collapsed;\n this.$emit('update:collapsed', this.d_collapsed);\n this.$emit('toggle', {\n originalEvent: event,\n value: this.d_collapsed\n });\n },\n onKeyDown(event) {\n if (event.code === 'Enter' || event.code === 'NumpadEnter' || event.code === 'Space') {\n this.toggle(event);\n event.preventDefault();\n }\n }\n },\n computed: {\n buttonAriaLabel() {\n return this.toggleButtonProps && this.toggleButtonProps.ariaLabel ? this.toggleButtonProps.ariaLabel : this.header;\n }\n },\n components: {\n PlusIcon,\n MinusIcon,\n Button\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","header","String","toggleable","Boolean","collapsed","toggleButtonProps","type","Object","default","severity","text","rounded","style","PanelStyle","provide","$pcPanel","$parentInstance","BasePanel","inheritAttrs","emits","data","d_collapsed","watch","newValue","methods","toggle","event","$emit","originalEvent","value","onKeyDown","code","preventDefault","computed","buttonAriaLabel","ariaLabel","components","PlusIcon","MinusIcon","Button","directives","ripple","Ripple","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","ptmi","_createElementVNode","ptm","_renderSlot","$slots","id","$id","_createBlock","_component_Button","$options","$data","unstyled","onClick","onKeydown","pt","icon","_withCtx","slotProps","toggleicon","_resolveDynamicComponent","_createVNode","_Transition","_withDirectives","role","footer"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/panel/BasePanel.vue","../../src/panel/Panel.vue","../../src/panel/Panel.vue?vue&type=template&id=7fee7348&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport PanelStyle from 'primevue/panel/style';\n\nexport default {\n name: 'BasePanel',\n extends: BaseComponent,\n props: {\n header: String,\n toggleable: Boolean,\n collapsed: Boolean,\n toggleButtonProps: {\n type: Object,\n default: () => {\n return {\n severity: 'secondary',\n text: true,\n rounded: true\n };\n }\n }\n },\n style: PanelStyle,\n provide() {\n return {\n $pcPanel: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" :data-p=\"dataP\" v-bind=\"ptmi('root')\">\n <div :class=\"cx('header')\" :data-p=\"dataP\" v-bind=\"ptm('header')\">\n <slot :id=\"$id + '_header'\" name=\"header\" :class=\"cx('title')\">\n <span v-if=\"header\" :id=\"$id + '_header'\" :class=\"cx('title')\" v-bind=\"ptm('title')\">{{ header }}</span>\n </slot>\n <div :class=\"cx('headerActions')\" v-bind=\"ptm('headerActions')\">\n <slot name=\"icons\"></slot>\n <slot v-if=\"toggleable\" name=\"togglebutton\" :collapsed=\"d_collapsed\" :toggleCallback=\"(event) => toggle(event)\" :keydownCallback=\"(event) => onKeyDown(event)\">\n <Button\n :id=\"$id + '_header'\"\n :class=\"cx('pcToggleButton')\"\n :aria-label=\"buttonAriaLabel\"\n :aria-controls=\"$id + '_content'\"\n :aria-expanded=\"!d_collapsed\"\n :unstyled=\"unstyled\"\n @click=\"toggle(event)\"\n @keydown=\"onKeyDown(event)\"\n v-bind=\"toggleButtonProps\"\n :pt=\"ptm('pcToggleButton')\"\n >\n <template #icon=\"slotProps\">\n <!--TODO: togglericon deprecated since v4.0-->\n <slot :name=\"$slots.toggleicon ? 'toggleicon' : 'togglericon'\" :collapsed=\"d_collapsed\">\n <component :is=\"d_collapsed ? 'PlusIcon' : 'MinusIcon'\" :class=\"slotProps.class\" v-bind=\"ptm('pcToggleButton')['icon']\" />\n </slot>\n </template>\n </Button>\n </slot>\n </div>\n </div>\n <transition name=\"p-toggleable-content\" v-bind=\"ptm('transition')\">\n <div v-show=\"!d_collapsed\" :id=\"$id + '_content'\" :class=\"cx('contentContainer')\" role=\"region\" :aria-labelledby=\"$id + '_header'\" v-bind=\"ptm('contentContainer')\">\n <div :class=\"cx('content')\" v-bind=\"ptm('content')\">\n <slot></slot>\n </div>\n <div v-if=\"$slots.footer\" :class=\"cx('footer')\" v-bind=\"ptm('footer')\">\n <slot name=\"footer\"></slot>\n </div>\n </div>\n </transition>\n </div>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport MinusIcon from '@primevue/icons/minus';\nimport PlusIcon from '@primevue/icons/plus';\nimport Button from 'primevue/button';\nimport Ripple from 'primevue/ripple';\nimport BasePanel from './BasePanel.vue';\n\nexport default {\n name: 'Panel',\n extends: BasePanel,\n inheritAttrs: false,\n emits: ['update:collapsed', 'toggle'],\n data() {\n return {\n d_collapsed: this.collapsed\n };\n },\n watch: {\n collapsed(newValue) {\n this.d_collapsed = newValue;\n }\n },\n methods: {\n toggle(event) {\n this.d_collapsed = !this.d_collapsed;\n this.$emit('update:collapsed', this.d_collapsed);\n this.$emit('toggle', {\n originalEvent: event,\n value: this.d_collapsed\n });\n },\n onKeyDown(event) {\n if (event.code === 'Enter' || event.code === 'NumpadEnter' || event.code === 'Space') {\n this.toggle(event);\n event.preventDefault();\n }\n }\n },\n computed: {\n buttonAriaLabel() {\n return this.toggleButtonProps && this.toggleButtonProps.ariaLabel ? this.toggleButtonProps.ariaLabel : this.header;\n },\n dataP() {\n return cn({\n toggleable: this.toggleable\n });\n }\n },\n components: {\n PlusIcon,\n MinusIcon,\n Button\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" :data-p=\"dataP\" v-bind=\"ptmi('root')\">\n <div :class=\"cx('header')\" :data-p=\"dataP\" v-bind=\"ptm('header')\">\n <slot :id=\"$id + '_header'\" name=\"header\" :class=\"cx('title')\">\n <span v-if=\"header\" :id=\"$id + '_header'\" :class=\"cx('title')\" v-bind=\"ptm('title')\">{{ header }}</span>\n </slot>\n <div :class=\"cx('headerActions')\" v-bind=\"ptm('headerActions')\">\n <slot name=\"icons\"></slot>\n <slot v-if=\"toggleable\" name=\"togglebutton\" :collapsed=\"d_collapsed\" :toggleCallback=\"(event) => toggle(event)\" :keydownCallback=\"(event) => onKeyDown(event)\">\n <Button\n :id=\"$id + '_header'\"\n :class=\"cx('pcToggleButton')\"\n :aria-label=\"buttonAriaLabel\"\n :aria-controls=\"$id + '_content'\"\n :aria-expanded=\"!d_collapsed\"\n :unstyled=\"unstyled\"\n @click=\"toggle(event)\"\n @keydown=\"onKeyDown(event)\"\n v-bind=\"toggleButtonProps\"\n :pt=\"ptm('pcToggleButton')\"\n >\n <template #icon=\"slotProps\">\n <!--TODO: togglericon deprecated since v4.0-->\n <slot :name=\"$slots.toggleicon ? 'toggleicon' : 'togglericon'\" :collapsed=\"d_collapsed\">\n <component :is=\"d_collapsed ? 'PlusIcon' : 'MinusIcon'\" :class=\"slotProps.class\" v-bind=\"ptm('pcToggleButton')['icon']\" />\n </slot>\n </template>\n </Button>\n </slot>\n </div>\n </div>\n <transition name=\"p-toggleable-content\" v-bind=\"ptm('transition')\">\n <div v-show=\"!d_collapsed\" :id=\"$id + '_content'\" :class=\"cx('contentContainer')\" role=\"region\" :aria-labelledby=\"$id + '_header'\" v-bind=\"ptm('contentContainer')\">\n <div :class=\"cx('content')\" v-bind=\"ptm('content')\">\n <slot></slot>\n </div>\n <div v-if=\"$slots.footer\" :class=\"cx('footer')\" v-bind=\"ptm('footer')\">\n <slot name=\"footer\"></slot>\n </div>\n </div>\n </transition>\n </div>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport MinusIcon from '@primevue/icons/minus';\nimport PlusIcon from '@primevue/icons/plus';\nimport Button from 'primevue/button';\nimport Ripple from 'primevue/ripple';\nimport BasePanel from './BasePanel.vue';\n\nexport default {\n name: 'Panel',\n extends: BasePanel,\n inheritAttrs: false,\n emits: ['update:collapsed', 'toggle'],\n data() {\n return {\n d_collapsed: this.collapsed\n };\n },\n watch: {\n collapsed(newValue) {\n this.d_collapsed = newValue;\n }\n },\n methods: {\n toggle(event) {\n this.d_collapsed = !this.d_collapsed;\n this.$emit('update:collapsed', this.d_collapsed);\n this.$emit('toggle', {\n originalEvent: event,\n value: this.d_collapsed\n });\n },\n onKeyDown(event) {\n if (event.code === 'Enter' || event.code === 'NumpadEnter' || event.code === 'Space') {\n this.toggle(event);\n event.preventDefault();\n }\n }\n },\n computed: {\n buttonAriaLabel() {\n return this.toggleButtonProps && this.toggleButtonProps.ariaLabel ? this.toggleButtonProps.ariaLabel : this.header;\n },\n dataP() {\n return cn({\n toggleable: this.toggleable\n });\n }\n },\n components: {\n PlusIcon,\n MinusIcon,\n Button\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","header","String","toggleable","Boolean","collapsed","toggleButtonProps","type","Object","default","severity","text","rounded","style","PanelStyle","provide","$pcPanel","$parentInstance","BasePanel","inheritAttrs","emits","data","d_collapsed","watch","newValue","methods","toggle","event","$emit","originalEvent","value","onKeyDown","code","preventDefault","computed","buttonAriaLabel","ariaLabel","dataP","cn","components","PlusIcon","MinusIcon","Button","directives","ripple","Ripple","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","$options","ptmi","_createElementVNode","ptm","_renderSlot","$slots","id","$id","$data","toggleCallback","keydownCallback","_createVNode","_component_Button","unstyled","onClick","_cache","$event","onKeydown","pt","icon","_withCtx","slotProps","toggleicon","_createBlock","_resolveDynamicComponent","_Transition","_withDirectives","role","footer"],"mappings":"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"}
@@ -234,7 +234,7 @@ export interface PasswordProps extends Omit<InputHTMLAttributes, 'size'> {
234
234
  /**
235
235
  * Defines the size of the component.
236
236
  */
237
- size?: 'small' | 'large' | undefined;
237
+ size?: HintedString<'small' | 'large'> | undefined;
238
238
  /**
239
239
  * When present, it specifies that the component should have invalid state style.
240
240
  * @defaultValue false
@@ -249,7 +249,7 @@ export interface PasswordProps extends Omit<InputHTMLAttributes, 'size'> {
249
249
  * Specifies the input variant of the component.
250
250
  * @defaultValue null
251
251
  */
252
- variant?: 'outlined' | 'filled' | undefined | null;
252
+ variant?: HintedString<'outlined' | 'filled'> | undefined | null;
253
253
  /**
254
254
  * Placeholder text for the input.
255
255
  */
@@ -215,12 +215,12 @@ export default {
215
215
  this.selfClick = false;
216
216
  };
217
217
 
218
- document.addEventListener('click', this.outsideClickListener, true);
218
+ document.addEventListener('click', this.outsideClickListener);
219
219
  }
220
220
  },
221
221
  unbindOutsideClickListener() {
222
222
  if (this.outsideClickListener) {
223
- document.removeEventListener('click', this.outsideClickListener, true);
223
+ document.removeEventListener('click', this.outsideClickListener);
224
224
  this.outsideClickListener = null;
225
225
  this.selfClick = false;
226
226
  }
package/popover/index.mjs CHANGED
@@ -223,12 +223,12 @@ var script = {
223
223
  }
224
224
  _this2.selfClick = false;
225
225
  };
226
- document.addEventListener('click', this.outsideClickListener, true);
226
+ document.addEventListener('click', this.outsideClickListener);
227
227
  }
228
228
  },
229
229
  unbindOutsideClickListener: function unbindOutsideClickListener() {
230
230
  if (this.outsideClickListener) {
231
- document.removeEventListener('click', this.outsideClickListener, true);
231
+ document.removeEventListener('click', this.outsideClickListener);
232
232
  this.outsideClickListener = null;
233
233
  this.selfClick = false;
234
234
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/popover/BasePopover.vue","../../src/popover/Popover.vue","../../src/popover/Popover.vue?vue&type=template&id=b0959934&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport PopoverStyle from 'primevue/popover/style';\n\nexport default {\n name: 'BasePopover',\n extends: BaseComponent,\n props: {\n dismissable: {\n type: Boolean,\n default: true\n },\n appendTo: {\n type: [String, Object],\n default: 'body'\n },\n baseZIndex: {\n type: Number,\n default: 0\n },\n autoZIndex: {\n type: Boolean,\n default: true\n },\n breakpoints: {\n type: Object,\n default: null\n },\n closeOnEscape: {\n type: Boolean,\n default: true\n }\n },\n style: PopoverStyle,\n provide() {\n return {\n $pcPopover: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <Portal :appendTo=\"appendTo\">\n <transition name=\"p-popover\" @enter=\"onEnter\" @leave=\"onLeave\" @after-leave=\"onAfterLeave\" v-bind=\"ptm('transition')\">\n <div v-if=\"visible\" :ref=\"containerRef\" v-focustrap role=\"dialog\" :aria-modal=\"visible\" @click=\"onOverlayClick\" :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <slot v-if=\"$slots.container\" name=\"container\" :closeCallback=\"hide\" :keydownCallback=\"(event) => onButtonKeydown(event)\"></slot>\n <template v-else>\n <div :class=\"cx('content')\" @click=\"onContentClick\" @mousedown=\"onContentClick\" @keydown=\"onContentKeydown\" v-bind=\"ptm('content')\">\n <slot></slot>\n </div>\n </template>\n </div>\n </transition>\n </Portal>\n</template>\n\n<script>\nimport { $dt } from '@primeuix/styled';\nimport { absolutePosition, addClass, addStyle, focus, getOffset, isClient, isTouchDevice, setAttribute } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport FocusTrap from 'primevue/focustrap';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport Ripple from 'primevue/ripple';\nimport BasePopover from './BasePopover.vue';\n\nexport default {\n name: 'Popover',\n extends: BasePopover,\n inheritAttrs: false,\n emits: ['show', 'hide'],\n data() {\n return {\n visible: false\n };\n },\n watch: {\n dismissable: {\n immediate: true,\n handler(newValue) {\n if (newValue) {\n this.bindOutsideClickListener();\n } else {\n this.unbindOutsideClickListener();\n }\n }\n }\n },\n selfClick: false,\n target: null,\n eventTarget: null,\n outsideClickListener: null,\n scrollHandler: null,\n resizeListener: null,\n container: null,\n styleElement: null,\n overlayEventListener: null,\n documentKeydownListener: null,\n beforeUnmount() {\n if (this.dismissable) {\n this.unbindOutsideClickListener();\n }\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n this.destroyStyle();\n this.unbindResizeListener();\n this.target = null;\n\n if (this.container && this.autoZIndex) {\n ZIndex.clear(this.container);\n }\n\n if (this.overlayEventListener) {\n OverlayEventBus.off('overlay-click', this.overlayEventListener);\n this.overlayEventListener = null;\n }\n\n this.container = null;\n },\n mounted() {\n if (this.breakpoints) {\n this.createStyle();\n }\n },\n methods: {\n toggle(event, target) {\n if (this.visible) this.hide();\n else this.show(event, target);\n },\n show(event, target) {\n this.visible = true;\n this.eventTarget = event.currentTarget;\n this.target = target || event.currentTarget;\n },\n hide() {\n this.visible = false;\n },\n onContentClick() {\n this.selfClick = true;\n },\n onEnter(el) {\n addStyle(el, { position: 'absolute', top: '0', left: '0' });\n this.alignOverlay();\n\n if (this.dismissable) {\n this.bindOutsideClickListener();\n }\n\n this.bindScrollListener();\n this.bindResizeListener();\n\n if (this.autoZIndex) {\n ZIndex.set('overlay', el, this.baseZIndex + this.$primevue.config.zIndex.overlay);\n }\n\n this.overlayEventListener = (e) => {\n if (this.container.contains(e.target)) {\n this.selfClick = true;\n }\n };\n\n this.focus();\n OverlayEventBus.on('overlay-click', this.overlayEventListener);\n this.$emit('show');\n\n if (this.closeOnEscape) {\n this.bindDocumentKeyDownListener();\n }\n },\n onLeave() {\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n this.unbindDocumentKeyDownListener();\n OverlayEventBus.off('overlay-click', this.overlayEventListener);\n this.overlayEventListener = null;\n this.$emit('hide');\n },\n onAfterLeave(el) {\n if (this.autoZIndex) {\n ZIndex.clear(el);\n }\n },\n alignOverlay() {\n absolutePosition(this.container, this.target, false);\n\n const containerOffset = getOffset(this.container);\n const targetOffset = getOffset(this.target);\n let arrowLeft = 0;\n\n if (containerOffset.left < targetOffset.left) {\n arrowLeft = targetOffset.left - containerOffset.left;\n }\n\n this.container.style.setProperty($dt('popover.arrow.left').name, `${arrowLeft}px`);\n\n if (containerOffset.top < targetOffset.top) {\n this.container.setAttribute('data-p-popover-flipped', 'true');\n !this.isUnstyled && addClass(this.container, 'p-popover-flipped');\n }\n },\n onContentKeydown(event) {\n if (event.code === 'Escape' && this.closeOnEscape) {\n this.hide();\n focus(this.target);\n }\n },\n onButtonKeydown(event) {\n switch (event.code) {\n case 'ArrowDown':\n case 'ArrowUp':\n case 'ArrowLeft':\n case 'ArrowRight':\n event.preventDefault();\n\n default:\n break;\n }\n },\n focus() {\n let focusTarget = this.container.querySelector('[autofocus]');\n\n if (focusTarget) {\n focusTarget.focus();\n }\n },\n onKeyDown(event) {\n if (event.code === 'Escape' && this.closeOnEscape) {\n this.visible = false;\n }\n },\n bindDocumentKeyDownListener() {\n if (!this.documentKeydownListener) {\n this.documentKeydownListener = this.onKeyDown.bind(this);\n window.document.addEventListener('keydown', this.documentKeydownListener);\n }\n },\n unbindDocumentKeyDownListener() {\n if (this.documentKeydownListener) {\n window.document.removeEventListener('keydown', this.documentKeydownListener);\n this.documentKeydownListener = null;\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener && isClient()) {\n this.outsideClickListener = (event) => {\n if (this.visible && !this.selfClick && !this.isTargetClicked(event)) {\n this.visible = false;\n }\n\n this.selfClick = false;\n };\n\n document.addEventListener('click', this.outsideClickListener, true);\n }\n },\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener, true);\n this.outsideClickListener = null;\n this.selfClick = false;\n }\n },\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, () => {\n if (this.visible) {\n this.visible = false;\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener() {\n if (!this.resizeListener) {\n this.resizeListener = () => {\n if (this.visible && !isTouchDevice()) {\n this.visible = false;\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n isTargetClicked(event) {\n return this.eventTarget && (this.eventTarget === event.target || this.eventTarget.contains(event.target));\n },\n containerRef(el) {\n this.container = el;\n },\n createStyle() {\n if (!this.styleElement && !this.isUnstyled) {\n this.styleElement = document.createElement('style');\n this.styleElement.type = 'text/css';\n setAttribute(this.styleElement, 'nonce', this.$primevue?.config?.csp?.nonce);\n document.head.appendChild(this.styleElement);\n\n let innerHTML = '';\n\n for (let breakpoint in this.breakpoints) {\n innerHTML += `\n @media screen and (max-width: ${breakpoint}) {\n .p-popover[${this.$attrSelector}] {\n width: ${this.breakpoints[breakpoint]} !important;\n }\n }\n `;\n }\n\n this.styleElement.innerHTML = innerHTML;\n }\n },\n destroyStyle() {\n if (this.styleElement) {\n document.head.removeChild(this.styleElement);\n this.styleElement = null;\n }\n },\n onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.target\n });\n }\n },\n directives: {\n focustrap: FocusTrap,\n ripple: Ripple\n },\n components: {\n Portal\n }\n};\n</script>\n","<template>\n <Portal :appendTo=\"appendTo\">\n <transition name=\"p-popover\" @enter=\"onEnter\" @leave=\"onLeave\" @after-leave=\"onAfterLeave\" v-bind=\"ptm('transition')\">\n <div v-if=\"visible\" :ref=\"containerRef\" v-focustrap role=\"dialog\" :aria-modal=\"visible\" @click=\"onOverlayClick\" :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <slot v-if=\"$slots.container\" name=\"container\" :closeCallback=\"hide\" :keydownCallback=\"(event) => onButtonKeydown(event)\"></slot>\n <template v-else>\n <div :class=\"cx('content')\" @click=\"onContentClick\" @mousedown=\"onContentClick\" @keydown=\"onContentKeydown\" v-bind=\"ptm('content')\">\n <slot></slot>\n </div>\n </template>\n </div>\n </transition>\n </Portal>\n</template>\n\n<script>\nimport { $dt } from '@primeuix/styled';\nimport { absolutePosition, addClass, addStyle, focus, getOffset, isClient, isTouchDevice, setAttribute } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport FocusTrap from 'primevue/focustrap';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport Ripple from 'primevue/ripple';\nimport BasePopover from './BasePopover.vue';\n\nexport default {\n name: 'Popover',\n extends: BasePopover,\n inheritAttrs: false,\n emits: ['show', 'hide'],\n data() {\n return {\n visible: false\n };\n },\n watch: {\n dismissable: {\n immediate: true,\n handler(newValue) {\n if (newValue) {\n this.bindOutsideClickListener();\n } else {\n this.unbindOutsideClickListener();\n }\n }\n }\n },\n selfClick: false,\n target: null,\n eventTarget: null,\n outsideClickListener: null,\n scrollHandler: null,\n resizeListener: null,\n container: null,\n styleElement: null,\n overlayEventListener: null,\n documentKeydownListener: null,\n beforeUnmount() {\n if (this.dismissable) {\n this.unbindOutsideClickListener();\n }\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n this.destroyStyle();\n this.unbindResizeListener();\n this.target = null;\n\n if (this.container && this.autoZIndex) {\n ZIndex.clear(this.container);\n }\n\n if (this.overlayEventListener) {\n OverlayEventBus.off('overlay-click', this.overlayEventListener);\n this.overlayEventListener = null;\n }\n\n this.container = null;\n },\n mounted() {\n if (this.breakpoints) {\n this.createStyle();\n }\n },\n methods: {\n toggle(event, target) {\n if (this.visible) this.hide();\n else this.show(event, target);\n },\n show(event, target) {\n this.visible = true;\n this.eventTarget = event.currentTarget;\n this.target = target || event.currentTarget;\n },\n hide() {\n this.visible = false;\n },\n onContentClick() {\n this.selfClick = true;\n },\n onEnter(el) {\n addStyle(el, { position: 'absolute', top: '0', left: '0' });\n this.alignOverlay();\n\n if (this.dismissable) {\n this.bindOutsideClickListener();\n }\n\n this.bindScrollListener();\n this.bindResizeListener();\n\n if (this.autoZIndex) {\n ZIndex.set('overlay', el, this.baseZIndex + this.$primevue.config.zIndex.overlay);\n }\n\n this.overlayEventListener = (e) => {\n if (this.container.contains(e.target)) {\n this.selfClick = true;\n }\n };\n\n this.focus();\n OverlayEventBus.on('overlay-click', this.overlayEventListener);\n this.$emit('show');\n\n if (this.closeOnEscape) {\n this.bindDocumentKeyDownListener();\n }\n },\n onLeave() {\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n this.unbindDocumentKeyDownListener();\n OverlayEventBus.off('overlay-click', this.overlayEventListener);\n this.overlayEventListener = null;\n this.$emit('hide');\n },\n onAfterLeave(el) {\n if (this.autoZIndex) {\n ZIndex.clear(el);\n }\n },\n alignOverlay() {\n absolutePosition(this.container, this.target, false);\n\n const containerOffset = getOffset(this.container);\n const targetOffset = getOffset(this.target);\n let arrowLeft = 0;\n\n if (containerOffset.left < targetOffset.left) {\n arrowLeft = targetOffset.left - containerOffset.left;\n }\n\n this.container.style.setProperty($dt('popover.arrow.left').name, `${arrowLeft}px`);\n\n if (containerOffset.top < targetOffset.top) {\n this.container.setAttribute('data-p-popover-flipped', 'true');\n !this.isUnstyled && addClass(this.container, 'p-popover-flipped');\n }\n },\n onContentKeydown(event) {\n if (event.code === 'Escape' && this.closeOnEscape) {\n this.hide();\n focus(this.target);\n }\n },\n onButtonKeydown(event) {\n switch (event.code) {\n case 'ArrowDown':\n case 'ArrowUp':\n case 'ArrowLeft':\n case 'ArrowRight':\n event.preventDefault();\n\n default:\n break;\n }\n },\n focus() {\n let focusTarget = this.container.querySelector('[autofocus]');\n\n if (focusTarget) {\n focusTarget.focus();\n }\n },\n onKeyDown(event) {\n if (event.code === 'Escape' && this.closeOnEscape) {\n this.visible = false;\n }\n },\n bindDocumentKeyDownListener() {\n if (!this.documentKeydownListener) {\n this.documentKeydownListener = this.onKeyDown.bind(this);\n window.document.addEventListener('keydown', this.documentKeydownListener);\n }\n },\n unbindDocumentKeyDownListener() {\n if (this.documentKeydownListener) {\n window.document.removeEventListener('keydown', this.documentKeydownListener);\n this.documentKeydownListener = null;\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener && isClient()) {\n this.outsideClickListener = (event) => {\n if (this.visible && !this.selfClick && !this.isTargetClicked(event)) {\n this.visible = false;\n }\n\n this.selfClick = false;\n };\n\n document.addEventListener('click', this.outsideClickListener, true);\n }\n },\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener, true);\n this.outsideClickListener = null;\n this.selfClick = false;\n }\n },\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, () => {\n if (this.visible) {\n this.visible = false;\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener() {\n if (!this.resizeListener) {\n this.resizeListener = () => {\n if (this.visible && !isTouchDevice()) {\n this.visible = false;\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n isTargetClicked(event) {\n return this.eventTarget && (this.eventTarget === event.target || this.eventTarget.contains(event.target));\n },\n containerRef(el) {\n this.container = el;\n },\n createStyle() {\n if (!this.styleElement && !this.isUnstyled) {\n this.styleElement = document.createElement('style');\n this.styleElement.type = 'text/css';\n setAttribute(this.styleElement, 'nonce', this.$primevue?.config?.csp?.nonce);\n document.head.appendChild(this.styleElement);\n\n let innerHTML = '';\n\n for (let breakpoint in this.breakpoints) {\n innerHTML += `\n @media screen and (max-width: ${breakpoint}) {\n .p-popover[${this.$attrSelector}] {\n width: ${this.breakpoints[breakpoint]} !important;\n }\n }\n `;\n }\n\n this.styleElement.innerHTML = innerHTML;\n }\n },\n destroyStyle() {\n if (this.styleElement) {\n document.head.removeChild(this.styleElement);\n this.styleElement = null;\n }\n },\n onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.target\n });\n }\n },\n directives: {\n focustrap: FocusTrap,\n ripple: Ripple\n },\n components: {\n Portal\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","dismissable","type","Boolean","appendTo","String","Object","baseZIndex","Number","autoZIndex","breakpoints","closeOnEscape","style","PopoverStyle","provide","$pcPopover","$parentInstance","BasePopover","inheritAttrs","emits","data","visible","watch","immediate","handler","newValue","bindOutsideClickListener","unbindOutsideClickListener","selfClick","target","eventTarget","outsideClickListener","scrollHandler","resizeListener","container","styleElement","overlayEventListener","documentKeydownListener","beforeUnmount","destroy","destroyStyle","unbindResizeListener","ZIndex","clear","OverlayEventBus","off","mounted","createStyle","methods","toggle","event","hide","show","currentTarget","onContentClick","onEnter","el","_this","addStyle","position","top","left","alignOverlay","bindScrollListener","bindResizeListener","set","$primevue","config","zIndex","overlay","e","contains","focus","on","$emit","bindDocumentKeyDownListener","onLeave","unbindScrollListener","unbindDocumentKeyDownListener","onAfterLeave","absolutePosition","containerOffset","getOffset","targetOffset","arrowLeft","setProperty","$dt","concat","setAttribute","isUnstyled","addClass","onContentKeydown","code","onButtonKeydown","preventDefault","focusTarget","querySelector","onKeyDown","bind","window","document","addEventListener","removeEventListener","_this2","isClient","isTargetClicked","_this3","ConnectedOverlayScrollHandler","_this4","isTouchDevice","containerRef","_this$$primevue","createElement","csp","nonce","head","appendChild","innerHTML","breakpoint","$attrSelector","removeChild","onOverlayClick","emit","originalEvent","directives","focustrap","FocusTrap","ripple","Ripple","components","Portal","_createBlock","_component_Portal","_ctx","_createVNode","_Transition","_mergeProps","$options","ptm","$data","_withDirectives","_openBlock","_createElementBlock","ref","role","onClick","apply","arguments","cx","ptmi","$slots","_renderSlot","closeCallback","keydownCallback","onMousedown","onKeydown"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/popover/BasePopover.vue","../../src/popover/Popover.vue","../../src/popover/Popover.vue?vue&type=template&id=d6705c34&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport PopoverStyle from 'primevue/popover/style';\n\nexport default {\n name: 'BasePopover',\n extends: BaseComponent,\n props: {\n dismissable: {\n type: Boolean,\n default: true\n },\n appendTo: {\n type: [String, Object],\n default: 'body'\n },\n baseZIndex: {\n type: Number,\n default: 0\n },\n autoZIndex: {\n type: Boolean,\n default: true\n },\n breakpoints: {\n type: Object,\n default: null\n },\n closeOnEscape: {\n type: Boolean,\n default: true\n }\n },\n style: PopoverStyle,\n provide() {\n return {\n $pcPopover: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <Portal :appendTo=\"appendTo\">\n <transition name=\"p-popover\" @enter=\"onEnter\" @leave=\"onLeave\" @after-leave=\"onAfterLeave\" v-bind=\"ptm('transition')\">\n <div v-if=\"visible\" :ref=\"containerRef\" v-focustrap role=\"dialog\" :aria-modal=\"visible\" @click=\"onOverlayClick\" :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <slot v-if=\"$slots.container\" name=\"container\" :closeCallback=\"hide\" :keydownCallback=\"(event) => onButtonKeydown(event)\"></slot>\n <template v-else>\n <div :class=\"cx('content')\" @click=\"onContentClick\" @mousedown=\"onContentClick\" @keydown=\"onContentKeydown\" v-bind=\"ptm('content')\">\n <slot></slot>\n </div>\n </template>\n </div>\n </transition>\n </Portal>\n</template>\n\n<script>\nimport { $dt } from '@primeuix/styled';\nimport { absolutePosition, addClass, addStyle, focus, getOffset, isClient, isTouchDevice, setAttribute } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport FocusTrap from 'primevue/focustrap';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport Ripple from 'primevue/ripple';\nimport BasePopover from './BasePopover.vue';\n\nexport default {\n name: 'Popover',\n extends: BasePopover,\n inheritAttrs: false,\n emits: ['show', 'hide'],\n data() {\n return {\n visible: false\n };\n },\n watch: {\n dismissable: {\n immediate: true,\n handler(newValue) {\n if (newValue) {\n this.bindOutsideClickListener();\n } else {\n this.unbindOutsideClickListener();\n }\n }\n }\n },\n selfClick: false,\n target: null,\n eventTarget: null,\n outsideClickListener: null,\n scrollHandler: null,\n resizeListener: null,\n container: null,\n styleElement: null,\n overlayEventListener: null,\n documentKeydownListener: null,\n beforeUnmount() {\n if (this.dismissable) {\n this.unbindOutsideClickListener();\n }\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n this.destroyStyle();\n this.unbindResizeListener();\n this.target = null;\n\n if (this.container && this.autoZIndex) {\n ZIndex.clear(this.container);\n }\n\n if (this.overlayEventListener) {\n OverlayEventBus.off('overlay-click', this.overlayEventListener);\n this.overlayEventListener = null;\n }\n\n this.container = null;\n },\n mounted() {\n if (this.breakpoints) {\n this.createStyle();\n }\n },\n methods: {\n toggle(event, target) {\n if (this.visible) this.hide();\n else this.show(event, target);\n },\n show(event, target) {\n this.visible = true;\n this.eventTarget = event.currentTarget;\n this.target = target || event.currentTarget;\n },\n hide() {\n this.visible = false;\n },\n onContentClick() {\n this.selfClick = true;\n },\n onEnter(el) {\n addStyle(el, { position: 'absolute', top: '0', left: '0' });\n this.alignOverlay();\n\n if (this.dismissable) {\n this.bindOutsideClickListener();\n }\n\n this.bindScrollListener();\n this.bindResizeListener();\n\n if (this.autoZIndex) {\n ZIndex.set('overlay', el, this.baseZIndex + this.$primevue.config.zIndex.overlay);\n }\n\n this.overlayEventListener = (e) => {\n if (this.container.contains(e.target)) {\n this.selfClick = true;\n }\n };\n\n this.focus();\n OverlayEventBus.on('overlay-click', this.overlayEventListener);\n this.$emit('show');\n\n if (this.closeOnEscape) {\n this.bindDocumentKeyDownListener();\n }\n },\n onLeave() {\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n this.unbindDocumentKeyDownListener();\n OverlayEventBus.off('overlay-click', this.overlayEventListener);\n this.overlayEventListener = null;\n this.$emit('hide');\n },\n onAfterLeave(el) {\n if (this.autoZIndex) {\n ZIndex.clear(el);\n }\n },\n alignOverlay() {\n absolutePosition(this.container, this.target, false);\n\n const containerOffset = getOffset(this.container);\n const targetOffset = getOffset(this.target);\n let arrowLeft = 0;\n\n if (containerOffset.left < targetOffset.left) {\n arrowLeft = targetOffset.left - containerOffset.left;\n }\n\n this.container.style.setProperty($dt('popover.arrow.left').name, `${arrowLeft}px`);\n\n if (containerOffset.top < targetOffset.top) {\n this.container.setAttribute('data-p-popover-flipped', 'true');\n !this.isUnstyled && addClass(this.container, 'p-popover-flipped');\n }\n },\n onContentKeydown(event) {\n if (event.code === 'Escape' && this.closeOnEscape) {\n this.hide();\n focus(this.target);\n }\n },\n onButtonKeydown(event) {\n switch (event.code) {\n case 'ArrowDown':\n case 'ArrowUp':\n case 'ArrowLeft':\n case 'ArrowRight':\n event.preventDefault();\n\n default:\n break;\n }\n },\n focus() {\n let focusTarget = this.container.querySelector('[autofocus]');\n\n if (focusTarget) {\n focusTarget.focus();\n }\n },\n onKeyDown(event) {\n if (event.code === 'Escape' && this.closeOnEscape) {\n this.visible = false;\n }\n },\n bindDocumentKeyDownListener() {\n if (!this.documentKeydownListener) {\n this.documentKeydownListener = this.onKeyDown.bind(this);\n window.document.addEventListener('keydown', this.documentKeydownListener);\n }\n },\n unbindDocumentKeyDownListener() {\n if (this.documentKeydownListener) {\n window.document.removeEventListener('keydown', this.documentKeydownListener);\n this.documentKeydownListener = null;\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener && isClient()) {\n this.outsideClickListener = (event) => {\n if (this.visible && !this.selfClick && !this.isTargetClicked(event)) {\n this.visible = false;\n }\n\n this.selfClick = false;\n };\n\n document.addEventListener('click', this.outsideClickListener);\n }\n },\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener);\n this.outsideClickListener = null;\n this.selfClick = false;\n }\n },\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, () => {\n if (this.visible) {\n this.visible = false;\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener() {\n if (!this.resizeListener) {\n this.resizeListener = () => {\n if (this.visible && !isTouchDevice()) {\n this.visible = false;\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n isTargetClicked(event) {\n return this.eventTarget && (this.eventTarget === event.target || this.eventTarget.contains(event.target));\n },\n containerRef(el) {\n this.container = el;\n },\n createStyle() {\n if (!this.styleElement && !this.isUnstyled) {\n this.styleElement = document.createElement('style');\n this.styleElement.type = 'text/css';\n setAttribute(this.styleElement, 'nonce', this.$primevue?.config?.csp?.nonce);\n document.head.appendChild(this.styleElement);\n\n let innerHTML = '';\n\n for (let breakpoint in this.breakpoints) {\n innerHTML += `\n @media screen and (max-width: ${breakpoint}) {\n .p-popover[${this.$attrSelector}] {\n width: ${this.breakpoints[breakpoint]} !important;\n }\n }\n `;\n }\n\n this.styleElement.innerHTML = innerHTML;\n }\n },\n destroyStyle() {\n if (this.styleElement) {\n document.head.removeChild(this.styleElement);\n this.styleElement = null;\n }\n },\n onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.target\n });\n }\n },\n directives: {\n focustrap: FocusTrap,\n ripple: Ripple\n },\n components: {\n Portal\n }\n};\n</script>\n","<template>\n <Portal :appendTo=\"appendTo\">\n <transition name=\"p-popover\" @enter=\"onEnter\" @leave=\"onLeave\" @after-leave=\"onAfterLeave\" v-bind=\"ptm('transition')\">\n <div v-if=\"visible\" :ref=\"containerRef\" v-focustrap role=\"dialog\" :aria-modal=\"visible\" @click=\"onOverlayClick\" :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <slot v-if=\"$slots.container\" name=\"container\" :closeCallback=\"hide\" :keydownCallback=\"(event) => onButtonKeydown(event)\"></slot>\n <template v-else>\n <div :class=\"cx('content')\" @click=\"onContentClick\" @mousedown=\"onContentClick\" @keydown=\"onContentKeydown\" v-bind=\"ptm('content')\">\n <slot></slot>\n </div>\n </template>\n </div>\n </transition>\n </Portal>\n</template>\n\n<script>\nimport { $dt } from '@primeuix/styled';\nimport { absolutePosition, addClass, addStyle, focus, getOffset, isClient, isTouchDevice, setAttribute } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport FocusTrap from 'primevue/focustrap';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport Ripple from 'primevue/ripple';\nimport BasePopover from './BasePopover.vue';\n\nexport default {\n name: 'Popover',\n extends: BasePopover,\n inheritAttrs: false,\n emits: ['show', 'hide'],\n data() {\n return {\n visible: false\n };\n },\n watch: {\n dismissable: {\n immediate: true,\n handler(newValue) {\n if (newValue) {\n this.bindOutsideClickListener();\n } else {\n this.unbindOutsideClickListener();\n }\n }\n }\n },\n selfClick: false,\n target: null,\n eventTarget: null,\n outsideClickListener: null,\n scrollHandler: null,\n resizeListener: null,\n container: null,\n styleElement: null,\n overlayEventListener: null,\n documentKeydownListener: null,\n beforeUnmount() {\n if (this.dismissable) {\n this.unbindOutsideClickListener();\n }\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n this.destroyStyle();\n this.unbindResizeListener();\n this.target = null;\n\n if (this.container && this.autoZIndex) {\n ZIndex.clear(this.container);\n }\n\n if (this.overlayEventListener) {\n OverlayEventBus.off('overlay-click', this.overlayEventListener);\n this.overlayEventListener = null;\n }\n\n this.container = null;\n },\n mounted() {\n if (this.breakpoints) {\n this.createStyle();\n }\n },\n methods: {\n toggle(event, target) {\n if (this.visible) this.hide();\n else this.show(event, target);\n },\n show(event, target) {\n this.visible = true;\n this.eventTarget = event.currentTarget;\n this.target = target || event.currentTarget;\n },\n hide() {\n this.visible = false;\n },\n onContentClick() {\n this.selfClick = true;\n },\n onEnter(el) {\n addStyle(el, { position: 'absolute', top: '0', left: '0' });\n this.alignOverlay();\n\n if (this.dismissable) {\n this.bindOutsideClickListener();\n }\n\n this.bindScrollListener();\n this.bindResizeListener();\n\n if (this.autoZIndex) {\n ZIndex.set('overlay', el, this.baseZIndex + this.$primevue.config.zIndex.overlay);\n }\n\n this.overlayEventListener = (e) => {\n if (this.container.contains(e.target)) {\n this.selfClick = true;\n }\n };\n\n this.focus();\n OverlayEventBus.on('overlay-click', this.overlayEventListener);\n this.$emit('show');\n\n if (this.closeOnEscape) {\n this.bindDocumentKeyDownListener();\n }\n },\n onLeave() {\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n this.unbindDocumentKeyDownListener();\n OverlayEventBus.off('overlay-click', this.overlayEventListener);\n this.overlayEventListener = null;\n this.$emit('hide');\n },\n onAfterLeave(el) {\n if (this.autoZIndex) {\n ZIndex.clear(el);\n }\n },\n alignOverlay() {\n absolutePosition(this.container, this.target, false);\n\n const containerOffset = getOffset(this.container);\n const targetOffset = getOffset(this.target);\n let arrowLeft = 0;\n\n if (containerOffset.left < targetOffset.left) {\n arrowLeft = targetOffset.left - containerOffset.left;\n }\n\n this.container.style.setProperty($dt('popover.arrow.left').name, `${arrowLeft}px`);\n\n if (containerOffset.top < targetOffset.top) {\n this.container.setAttribute('data-p-popover-flipped', 'true');\n !this.isUnstyled && addClass(this.container, 'p-popover-flipped');\n }\n },\n onContentKeydown(event) {\n if (event.code === 'Escape' && this.closeOnEscape) {\n this.hide();\n focus(this.target);\n }\n },\n onButtonKeydown(event) {\n switch (event.code) {\n case 'ArrowDown':\n case 'ArrowUp':\n case 'ArrowLeft':\n case 'ArrowRight':\n event.preventDefault();\n\n default:\n break;\n }\n },\n focus() {\n let focusTarget = this.container.querySelector('[autofocus]');\n\n if (focusTarget) {\n focusTarget.focus();\n }\n },\n onKeyDown(event) {\n if (event.code === 'Escape' && this.closeOnEscape) {\n this.visible = false;\n }\n },\n bindDocumentKeyDownListener() {\n if (!this.documentKeydownListener) {\n this.documentKeydownListener = this.onKeyDown.bind(this);\n window.document.addEventListener('keydown', this.documentKeydownListener);\n }\n },\n unbindDocumentKeyDownListener() {\n if (this.documentKeydownListener) {\n window.document.removeEventListener('keydown', this.documentKeydownListener);\n this.documentKeydownListener = null;\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener && isClient()) {\n this.outsideClickListener = (event) => {\n if (this.visible && !this.selfClick && !this.isTargetClicked(event)) {\n this.visible = false;\n }\n\n this.selfClick = false;\n };\n\n document.addEventListener('click', this.outsideClickListener);\n }\n },\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener);\n this.outsideClickListener = null;\n this.selfClick = false;\n }\n },\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, () => {\n if (this.visible) {\n this.visible = false;\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener() {\n if (!this.resizeListener) {\n this.resizeListener = () => {\n if (this.visible && !isTouchDevice()) {\n this.visible = false;\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n isTargetClicked(event) {\n return this.eventTarget && (this.eventTarget === event.target || this.eventTarget.contains(event.target));\n },\n containerRef(el) {\n this.container = el;\n },\n createStyle() {\n if (!this.styleElement && !this.isUnstyled) {\n this.styleElement = document.createElement('style');\n this.styleElement.type = 'text/css';\n setAttribute(this.styleElement, 'nonce', this.$primevue?.config?.csp?.nonce);\n document.head.appendChild(this.styleElement);\n\n let innerHTML = '';\n\n for (let breakpoint in this.breakpoints) {\n innerHTML += `\n @media screen and (max-width: ${breakpoint}) {\n .p-popover[${this.$attrSelector}] {\n width: ${this.breakpoints[breakpoint]} !important;\n }\n }\n `;\n }\n\n this.styleElement.innerHTML = innerHTML;\n }\n },\n destroyStyle() {\n if (this.styleElement) {\n document.head.removeChild(this.styleElement);\n this.styleElement = null;\n }\n },\n onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.target\n });\n }\n },\n directives: {\n focustrap: FocusTrap,\n ripple: Ripple\n },\n components: {\n Portal\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","dismissable","type","Boolean","appendTo","String","Object","baseZIndex","Number","autoZIndex","breakpoints","closeOnEscape","style","PopoverStyle","provide","$pcPopover","$parentInstance","BasePopover","inheritAttrs","emits","data","visible","watch","immediate","handler","newValue","bindOutsideClickListener","unbindOutsideClickListener","selfClick","target","eventTarget","outsideClickListener","scrollHandler","resizeListener","container","styleElement","overlayEventListener","documentKeydownListener","beforeUnmount","destroy","destroyStyle","unbindResizeListener","ZIndex","clear","OverlayEventBus","off","mounted","createStyle","methods","toggle","event","hide","show","currentTarget","onContentClick","onEnter","el","_this","addStyle","position","top","left","alignOverlay","bindScrollListener","bindResizeListener","set","$primevue","config","zIndex","overlay","e","contains","focus","on","$emit","bindDocumentKeyDownListener","onLeave","unbindScrollListener","unbindDocumentKeyDownListener","onAfterLeave","absolutePosition","containerOffset","getOffset","targetOffset","arrowLeft","setProperty","$dt","concat","setAttribute","isUnstyled","addClass","onContentKeydown","code","onButtonKeydown","preventDefault","focusTarget","querySelector","onKeyDown","bind","window","document","addEventListener","removeEventListener","_this2","isClient","isTargetClicked","_this3","ConnectedOverlayScrollHandler","_this4","isTouchDevice","containerRef","_this$$primevue","createElement","csp","nonce","head","appendChild","innerHTML","breakpoint","$attrSelector","removeChild","onOverlayClick","emit","originalEvent","directives","focustrap","FocusTrap","ripple","Ripple","components","Portal","_createBlock","_component_Portal","_ctx","_createVNode","_Transition","_mergeProps","$options","ptm","$data","_withDirectives","_openBlock","_createElementBlock","ref","role","onClick","apply","arguments","cx","ptmi","$slots","_renderSlot","closeCallback","keydownCallback","onMousedown","onKeydown"],"mappings":"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"}