1414 classes,
1515 result,
1616 }"
17+ v-bind =" $props"
1718 :theme =" finalTheme"
1819 :target-nodes =" getTargetNodes"
1920 :popper-node =" () => ($refs as any).popperContent.$el"
2021 :class =" [
2122 themeClass,
2223 ]"
24+ @show =" () => $emit('show')"
25+ @hide =" () => $emit('hide')"
26+ @update:shown =" (shown) => $emit('update:shown', shown)"
27+ @apply-show =" () => $emit('apply-show')"
28+ @apply-hide =" () => $emit('apply-hide')"
29+ @close-group =" () => $emit('close-group')"
30+ @close-directive =" () => $emit('close-directive')"
31+ @auto-hide =" () => $emit('auto-hide')"
32+ @resize =" () => $emit('resize')"
33+ @dispose =" () => $emit('dispose')"
2334 >
2435 <slot
2536 :shown =" isShown"
5162</template >
5263
5364<script lang="ts">
54- import { defineComponent } from ' vue'
65+ import { defineComponent , type PropType } from ' vue'
5566import Popper from ' ./Popper.vue'
5667import PopperContent from ' ./PopperContent.vue'
5768import PopperMethods from ' ./PopperMethods'
5869import ThemeClass from ' ./ThemeClass'
5970
71+ export type TriggerEvent = ' hover' | ' click' | ' focus' | ' touch'
72+
6073export default defineComponent ({
6174 name: ' VPopperWrapper' ,
6275
@@ -75,6 +88,215 @@ export default defineComponent({
7588 type: String ,
7689 default: null ,
7790 },
91+
92+ referenceNode: {
93+ type: Function as PropType <() => Element >,
94+ default: null ,
95+ },
96+
97+ shown: {
98+ type: Boolean ,
99+ default: false ,
100+ },
101+
102+ showGroup: {
103+ type: String ,
104+ default: null ,
105+ },
106+
107+ // eslint-disable-next-line vue/require-prop-types
108+ ariaId: {
109+ default: null ,
110+ },
111+
112+ disabled: {
113+ type: Boolean ,
114+ default: undefined ,
115+ },
116+
117+ positioningDisabled: {
118+ type: Boolean ,
119+ default: undefined ,
120+ },
121+
122+ placement: {
123+ type: String ,
124+ default: undefined ,
125+ },
126+
127+ delay: {
128+ type: [String , Number , Object ] as PropType <string | number | { show: number , hide: number }>,
129+ default: undefined ,
130+ },
131+
132+ distance: {
133+ type: [Number , String ],
134+ default: undefined ,
135+ },
136+
137+ skidding: {
138+ type: [Number , String ],
139+ default: undefined ,
140+ },
141+
142+ triggers: {
143+ type: Array as PropType <Array <TriggerEvent >>,
144+ default: undefined ,
145+ },
146+
147+ showTriggers: {
148+ type: [Array , Function ] as PropType <Array <TriggerEvent > | ((triggers : Array <TriggerEvent >) => Array <TriggerEvent >)>,
149+ default: undefined ,
150+ },
151+
152+ hideTriggers: {
153+ type: [Array , Function ] as PropType <Array <TriggerEvent > | ((triggers : Array <TriggerEvent >) => Array <TriggerEvent >)>,
154+ default: undefined ,
155+ },
156+
157+ popperTriggers: {
158+ type: Array as PropType <Array <TriggerEvent >>,
159+ default: undefined ,
160+ },
161+
162+ popperShowTriggers: {
163+ type: [Array , Function ] as PropType <Array <TriggerEvent > | ((triggers : Array <TriggerEvent >) => Array <TriggerEvent >)>,
164+ default: undefined ,
165+ },
166+
167+ popperHideTriggers: {
168+ type: [Array , Function ] as PropType <Array <TriggerEvent > | ((triggers : Array <TriggerEvent >) => Array <TriggerEvent >)>,
169+ default: undefined ,
170+ },
171+
172+ container: {
173+ type: [String , Object , Element , Boolean ],
174+ default: undefined ,
175+ },
176+
177+ boundary: {
178+ type: [String , Element ],
179+ default: undefined ,
180+ },
181+
182+ strategy: {
183+ type: String ,
184+ default: undefined ,
185+ },
186+
187+ autoHide: {
188+ type: [Boolean , Function ] as PropType <boolean | ((event : Event ) => boolean )>,
189+ default: undefined ,
190+ },
191+
192+ handleResize: {
193+ type: Boolean ,
194+ default: undefined ,
195+ },
196+
197+ instantMove: {
198+ type: Boolean ,
199+ default: undefined ,
200+ },
201+
202+ eagerMount: {
203+ type: Boolean ,
204+ default: undefined ,
205+ },
206+
207+ popperClass: {
208+ type: [String , Array , Object ],
209+ default: undefined ,
210+ },
211+
212+ computeTransformOrigin: {
213+ type: Boolean ,
214+ default: undefined ,
215+ },
216+
217+ /**
218+ * @deprecated
219+ */
220+ autoMinSize: {
221+ type: Boolean ,
222+ default: undefined ,
223+ },
224+
225+ autoSize: {
226+ type: [Boolean , String ],
227+ default: undefined ,
228+ },
229+
230+ /**
231+ * @deprecated
232+ */
233+ autoMaxSize: {
234+ type: Boolean ,
235+ default: undefined ,
236+ },
237+
238+ autoBoundaryMaxSize: {
239+ type: Boolean ,
240+ default: undefined ,
241+ },
242+
243+ preventOverflow: {
244+ type: Boolean ,
245+ default: undefined ,
246+ },
247+
248+ overflowPadding: {
249+ type: [Number , String ],
250+ default: undefined ,
251+ },
252+
253+ arrowPadding: {
254+ type: [Number , String ],
255+ default: undefined ,
256+ },
257+
258+ arrowOverflow: {
259+ type: Boolean ,
260+ default: undefined ,
261+ },
262+
263+ flip: {
264+ type: Boolean ,
265+ default: undefined ,
266+ },
267+
268+ shift: {
269+ type: Boolean ,
270+ default: undefined ,
271+ },
272+
273+ shiftCrossAxis: {
274+ type: Boolean ,
275+ default: undefined ,
276+ },
277+
278+ noAutoFocus: {
279+ type: Boolean ,
280+ default: undefined ,
281+ },
282+
283+ disposeTimeout: {
284+ type: Number ,
285+ default: undefined ,
286+ },
287+ },
288+
289+ emits: {
290+ show : () => true ,
291+ hide : () => true ,
292+ ' update:shown' : (shown : boolean ) => true ,
293+ ' apply-show' : () => true ,
294+ ' apply-hide' : () => true ,
295+ ' close-group' : () => true ,
296+ ' close-directive' : () => true ,
297+ ' auto-hide' : () => true ,
298+ ' resize' : () => true ,
299+ ' dispose' : () => true ,
78300 },
79301
80302 computed: {
0 commit comments