1 line
35 KiB
Plaintext
1 line
35 KiB
Plaintext
|
|
{"version":3,"file":"index.mjs","sources":["../../src/popover/BasePopover.vue","../../src/popover/Popover.vue","../../src/popover/Popover.vue?vue&type=template&id=d255778e&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-anchored-overlay\" @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
|