primevue 4.0.3 → 4.0.5

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 (140) hide show
  1. package/accordion/BaseAccordion.vue +1 -1
  2. package/accordion/index.d.ts +1 -1
  3. package/accordion/index.mjs +1 -1
  4. package/accordion/index.mjs.map +1 -1
  5. package/accordioncontent/BaseAccordionContent.vue +1 -1
  6. package/accordioncontent/index.d.ts +2 -2
  7. package/accordioncontent/index.mjs +1 -1
  8. package/accordioncontent/index.mjs.map +1 -1
  9. package/accordionheader/BaseAccordionHeader.vue +1 -1
  10. package/accordionheader/index.d.ts +2 -2
  11. package/accordionheader/index.mjs +1 -1
  12. package/accordionheader/index.mjs.map +1 -1
  13. package/accordionpanel/BaseAccordionPanel.vue +2 -2
  14. package/accordionpanel/index.d.ts +3 -3
  15. package/accordionpanel/index.mjs +2 -2
  16. package/accordionpanel/index.mjs.map +1 -1
  17. package/button/BaseButton.vue +1 -1
  18. package/button/index.d.ts +2 -2
  19. package/button/index.mjs +1 -1
  20. package/button/index.mjs.map +1 -1
  21. package/carousel/Carousel.vue +18 -8
  22. package/carousel/index.d.ts +19 -0
  23. package/carousel/index.mjs +17 -7
  24. package/carousel/index.mjs.map +1 -1
  25. package/chart/index.d.ts +1 -1
  26. package/config/index.d.ts +32 -0
  27. package/confirmpopup/ConfirmPopup.vue +8 -2
  28. package/confirmpopup/index.mjs +6 -2
  29. package/confirmpopup/index.mjs.map +1 -1
  30. package/confirmpopup/style/index.mjs +1 -1
  31. package/confirmpopup/style/index.mjs.map +1 -1
  32. package/contextmenu/ContextMenu.vue +1 -1
  33. package/contextmenu/ContextMenuSub.vue +4 -4
  34. package/contextmenu/index.mjs +2 -3
  35. package/contextmenu/index.mjs.map +1 -1
  36. package/datatable/index.d.ts +1 -1
  37. package/datepicker/DatePicker.vue +9 -7
  38. package/datepicker/index.mjs +13 -12
  39. package/datepicker/index.mjs.map +1 -1
  40. package/datepicker/style/index.mjs +1 -1
  41. package/datepicker/style/index.mjs.map +1 -1
  42. package/dialog/Dialog.vue +16 -6
  43. package/dialog/index.mjs +21 -7
  44. package/dialog/index.mjs.map +1 -1
  45. package/drawer/BaseDrawer.vue +0 -9
  46. package/drawer/Drawer.vue +11 -2
  47. package/drawer/index.mjs +12 -11
  48. package/drawer/index.mjs.map +1 -1
  49. package/fieldset/Fieldset.vue +1 -1
  50. package/fieldset/index.d.ts +8 -0
  51. package/fieldset/index.mjs +3 -2
  52. package/fieldset/index.mjs.map +1 -1
  53. package/fileupload/FileUpload.vue +7 -6
  54. package/fileupload/index.mjs +7 -14
  55. package/fileupload/index.mjs.map +1 -1
  56. package/image/style/index.mjs +1 -1
  57. package/image/style/index.mjs.map +1 -1
  58. package/inputmask/BaseInputMask.vue +8 -0
  59. package/inputmask/InputMask.vue +10 -3
  60. package/inputmask/index.d.ts +8 -0
  61. package/inputmask/index.mjs +18 -3
  62. package/inputmask/index.mjs.map +1 -1
  63. package/inputnumber/style/index.mjs +1 -1
  64. package/inputnumber/style/index.mjs.map +1 -1
  65. package/inputotp/InputOtp.vue +5 -0
  66. package/inputotp/index.mjs +4 -0
  67. package/inputotp/index.mjs.map +1 -1
  68. package/megamenu/MegaMenuSub.vue +3 -3
  69. package/megamenu/index.mjs +1 -2
  70. package/megamenu/index.mjs.map +1 -1
  71. package/menu/Menuitem.vue +2 -2
  72. package/menu/index.mjs +1 -2
  73. package/menu/index.mjs.map +1 -1
  74. package/menubar/MenubarSub.vue +14 -8
  75. package/menubar/index.mjs +17 -13
  76. package/menubar/index.mjs.map +1 -1
  77. package/package.json +3 -3
  78. package/panelmenu/PanelMenuSub.vue +3 -3
  79. package/panelmenu/index.mjs +1 -2
  80. package/panelmenu/index.mjs.map +1 -1
  81. package/popover/style/index.mjs +1 -1
  82. package/popover/style/index.mjs.map +1 -1
  83. package/scrolltop/style/index.mjs +1 -1
  84. package/scrolltop/style/index.mjs.map +1 -1
  85. package/select/Select.vue +1 -0
  86. package/select/index.mjs +1 -0
  87. package/select/index.mjs.map +1 -1
  88. package/speeddial/SpeedDial.vue +0 -1
  89. package/speeddial/index.mjs +1 -2
  90. package/speeddial/index.mjs.map +1 -1
  91. package/step/BaseStep.vue +1 -1
  92. package/step/index.d.ts +2 -2
  93. package/step/index.mjs +1 -1
  94. package/step/index.mjs.map +1 -1
  95. package/stepitem/BaseStepItem.vue +1 -1
  96. package/stepitem/index.mjs +1 -1
  97. package/stepitem/index.mjs.map +1 -1
  98. package/steplist/BaseStepList.vue +0 -6
  99. package/steplist/index.d.ts +0 -4
  100. package/steplist/index.mjs +0 -6
  101. package/steplist/index.mjs.map +1 -1
  102. package/steppanel/BaseStepPanel.vue +1 -1
  103. package/steppanel/index.d.ts +3 -3
  104. package/steppanel/index.mjs +1 -1
  105. package/steppanel/index.mjs.map +1 -1
  106. package/steppanels/BaseStepPanels.vue +0 -6
  107. package/steppanels/index.d.ts +0 -4
  108. package/steppanels/index.mjs +0 -6
  109. package/steppanels/index.mjs.map +1 -1
  110. package/tab/BaseTab.vue +2 -2
  111. package/tab/index.d.ts +3 -3
  112. package/tab/index.mjs +2 -2
  113. package/tab/index.mjs.map +1 -1
  114. package/tabpanel/BaseTabPanel.vue +2 -2
  115. package/tabpanel/index.d.ts +3 -3
  116. package/tabpanel/index.mjs +2 -2
  117. package/tabpanel/index.mjs.map +1 -1
  118. package/tabs/BaseTabs.vue +1 -1
  119. package/tabs/index.d.ts +1 -1
  120. package/tabs/index.mjs +1 -1
  121. package/tabs/index.mjs.map +1 -1
  122. package/tieredmenu/TieredMenuSub.vue +4 -4
  123. package/tieredmenu/index.mjs +1 -2
  124. package/tieredmenu/index.mjs.map +1 -1
  125. package/tree/TreeNode.vue +5 -3
  126. package/tree/index.mjs +5 -4
  127. package/tree/index.mjs.map +1 -1
  128. package/treenode/index.d.ts +1 -1
  129. package/umd/primevue.min.js +1 -1
  130. package/web-types.json +1 -1
  131. package/stepperpanel/BaseStepperPanel.vue +0 -19
  132. package/stepperpanel/StepperPanel.vue +0 -15
  133. package/stepperpanel/index.d.ts +0 -290
  134. package/stepperpanel/index.mjs +0 -35
  135. package/stepperpanel/index.mjs.map +0 -1
  136. package/stepperpanel/package.json +0 -11
  137. package/stepperpanel/style/index.d.ts +0 -14
  138. package/stepperpanel/style/index.mjs +0 -8
  139. package/stepperpanel/style/index.mjs.map +0 -1
  140. package/stepperpanel/style/package.json +0 -6
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/dialog/BaseDialog.vue","../../src/dialog/Dialog.vue","../../src/dialog/Dialog.vue?vue&type=template&id=4d0522fd&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport DialogStyle from 'primevue/dialog/style';\n\nexport default {\n name: 'BaseDialog',\n extends: BaseComponent,\n props: {\n header: {\n type: null,\n default: null\n },\n footer: {\n type: null,\n default: null\n },\n visible: {\n type: Boolean,\n default: false\n },\n modal: {\n type: Boolean,\n default: null\n },\n contentStyle: {\n type: null,\n default: null\n },\n contentClass: {\n type: String,\n default: null\n },\n contentProps: {\n type: null,\n default: null\n },\n maximizable: {\n type: Boolean,\n default: false\n },\n dismissableMask: {\n type: Boolean,\n default: false\n },\n closable: {\n type: Boolean,\n default: true\n },\n closeOnEscape: {\n type: Boolean,\n default: true\n },\n showHeader: {\n type: Boolean,\n default: true\n },\n blockScroll: {\n type: Boolean,\n default: false\n },\n baseZIndex: {\n type: Number,\n default: 0\n },\n autoZIndex: {\n type: Boolean,\n default: true\n },\n position: {\n type: String,\n default: 'center'\n },\n breakpoints: {\n type: Object,\n default: null\n },\n draggable: {\n type: Boolean,\n default: true\n },\n keepInViewport: {\n type: Boolean,\n default: true\n },\n minX: {\n type: Number,\n default: 0\n },\n minY: {\n type: Number,\n default: 0\n },\n appendTo: {\n type: [String, Object],\n default: 'body'\n },\n closeIcon: {\n type: String,\n default: undefined\n },\n maximizeIcon: {\n type: String,\n default: undefined\n },\n minimizeIcon: {\n type: String,\n default: undefined\n },\n closeButtonProps: {\n type: Object,\n default: () => {\n return {\n severity: 'secondary',\n text: true,\n rounded: true\n };\n }\n },\n maximizeButtonProps: {\n type: Object,\n default: () => {\n return {\n severity: 'secondary',\n text: true,\n rounded: true\n };\n }\n },\n _instance: null\n },\n style: DialogStyle,\n provide() {\n return {\n $pcDialog: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <Portal :appendTo=\"appendTo\">\n <div v-if=\"containerVisible\" :ref=\"maskRef\" :class=\"cx('mask')\" :style=\"sx('mask', true, { position, modal })\" @click=\"onMaskClick\" v-bind=\"ptm('mask')\">\n <transition name=\"p-dialog\" @before-enter=\"onBeforeEnter\" @enter=\"onEnter\" @before-leave=\"onBeforeLeave\" @leave=\"onLeave\" @after-leave=\"onAfterLeave\" appear v-bind=\"ptm('transition')\">\n <div v-if=\"visible\" :ref=\"containerRef\" v-focustrap=\"{ disabled: !modal }\" :class=\"cx('root')\" :style=\"sx('root')\" role=\"dialog\" :aria-labelledby=\"ariaLabelledById\" :aria-modal=\"modal\" v-bind=\"ptmi('root')\">\n <slot v-if=\"$slots.container\" name=\"container\" :closeCallback=\"close\" :maximizeCallback=\"(event) => maximize(event)\"></slot>\n <template v-else>\n <div v-if=\"showHeader\" :ref=\"headerContainerRef\" :class=\"cx('header')\" @mousedown=\"initDrag\" v-bind=\"ptm('header')\">\n <slot name=\"header\" :class=\"cx('title')\">\n <span v-if=\"header\" :id=\"ariaLabelledById\" :class=\"cx('title')\" v-bind=\"ptm('title')\">{{ header }}</span>\n </slot>\n <div :class=\"cx('headerActions')\" v-bind=\"ptm('headerActions')\">\n <Button\n v-if=\"maximizable\"\n :ref=\"maximizableRef\"\n :autofocus=\"focusableMax\"\n :class=\"cx('pcMaximizeButton')\"\n @click=\"maximize\"\n :tabindex=\"maximizable ? '0' : '-1'\"\n :unstyled=\"unstyled\"\n v-bind=\"maximizeButtonProps\"\n :pt=\"ptm('pcMaximizeButton')\"\n data-pc-group-section=\"headericon\"\n >\n <template #icon=\"slotProps\">\n <slot name=\"maximizeicon\" :maximized=\"maximized\">\n <component :is=\"maximizeIconComponent\" :class=\"[slotProps.class, maximized ? minimizeIcon : maximizeIcon]\" v-bind=\"ptm('pcMaximizeButton')['icon']\" />\n </slot>\n </template>\n </Button>\n <Button\n v-if=\"closable\"\n :ref=\"closeButtonRef\"\n :autofocus=\"focusableClose\"\n :class=\"cx('pcCloseButton')\"\n @click=\"close\"\n :aria-label=\"closeAriaLabel\"\n :unstyled=\"unstyled\"\n v-bind=\"closeButtonProps\"\n :pt=\"ptm('pcCloseButton')\"\n data-pc-group-section=\"headericon\"\n >\n <template #icon=\"slotProps\">\n <slot name=\"closeicon\">\n <component :is=\"closeIcon ? 'span' : 'TimesIcon'\" :class=\"[closeIcon, slotProps.class]\" v-bind=\"ptm('pcCloseButton')['icon']\"></component>\n </slot>\n </template>\n </Button>\n </div>\n </div>\n <div :ref=\"contentRef\" :class=\"[cx('content'), contentClass]\" :style=\"contentStyle\" v-bind=\"{ ...contentProps, ...ptm('content') }\">\n <slot></slot>\n </div>\n <div v-if=\"footer || $slots.footer\" :ref=\"footerContainerRef\" :class=\"cx('footer')\" v-bind=\"ptm('footer')\">\n <slot name=\"footer\">{{ footer }}</slot>\n </div>\n </template>\n </div>\n </transition>\n </div>\n </Portal>\n</template>\n\n<script>\nimport { UniqueComponentId } from '@primevue/core/utils';\nimport { addClass, focus, blockBodyScroll, unblockBodyScroll, setAttribute, addStyle, getOuterWidth, getOuterHeight, getViewport } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport TimesIcon from '@primevue/icons/times';\nimport WindowMaximizeIcon from '@primevue/icons/windowmaximize';\nimport WindowMinimizeIcon from '@primevue/icons/windowminimize';\nimport Button from 'primevue/button';\nimport FocusTrap from 'primevue/focustrap';\nimport Portal from 'primevue/portal';\nimport Ripple from 'primevue/ripple';\nimport { computed } from 'vue';\nimport BaseDialog from './BaseDialog.vue';\n\nexport default {\n name: 'Dialog',\n extends: BaseDialog,\n inheritAttrs: false,\n emits: ['update:visible', 'show', 'hide', 'after-hide', 'maximize', 'unmaximize', 'dragend'],\n provide() {\n return {\n dialogRef: computed(() => this._instance)\n };\n },\n data() {\n return {\n id: this.$attrs.id,\n containerVisible: this.visible,\n maximized: false,\n focusableMax: null,\n focusableClose: null\n };\n },\n watch: {\n '$attrs.id': function (newValue) {\n this.id = newValue || UniqueComponentId();\n }\n },\n documentKeydownListener: null,\n container: null,\n mask: null,\n content: null,\n headerContainer: null,\n footerContainer: null,\n maximizableButton: null,\n closeButton: null,\n styleElement: null,\n dragging: null,\n documentDragListener: null,\n documentDragEndListener: null,\n lastPageX: null,\n lastPageY: null,\n updated() {\n if (this.visible) {\n this.containerVisible = this.visible;\n }\n },\n beforeUnmount() {\n this.unbindDocumentState();\n this.unbindGlobalListeners();\n this.destroyStyle();\n\n if (this.mask && this.autoZIndex) {\n ZIndex.clear(this.mask);\n }\n\n this.container = null;\n this.mask = null;\n },\n mounted() {\n this.id = this.id || UniqueComponentId();\n\n if (this.breakpoints) {\n this.createStyle();\n }\n },\n methods: {\n close() {\n this.$emit('update:visible', false);\n },\n onBeforeEnter(el) {\n el.setAttribute(this.attributeSelector, '');\n },\n onEnter() {\n this.$emit('show');\n this.focus();\n this.enableDocumentSettings();\n this.bindGlobalListeners();\n\n if (this.autoZIndex) {\n ZIndex.set('modal', this.mask, this.baseZIndex + this.$primevue.config.zIndex.modal);\n }\n },\n onBeforeLeave() {\n if (this.modal) {\n !this.isUnstyled && addClass(this.mask, 'p-overlay-mask-leave');\n }\n },\n onLeave() {\n this.$emit('hide');\n this.focusableClose = null;\n this.focusableMax = null;\n },\n onAfterLeave() {\n if (this.autoZIndex) {\n ZIndex.clear(this.mask);\n }\n\n this.containerVisible = false;\n this.unbindDocumentState();\n this.unbindGlobalListeners();\n this.$emit('after-hide');\n },\n onMaskClick(event) {\n if (this.dismissableMask && this.modal && this.mask === event.target) {\n this.close();\n }\n },\n focus() {\n const findFocusableElement = (container) => {\n return container && container.querySelector('[autofocus]');\n };\n\n let focusTarget = this.$slots.footer && findFocusableElement(this.footerContainer);\n\n if (!focusTarget) {\n focusTarget = this.$slots.header && findFocusableElement(this.headerContainer);\n\n if (!focusTarget) {\n focusTarget = this.$slots.default && findFocusableElement(this.content);\n\n if (!focusTarget) {\n if (this.maximizable) {\n this.focusableMax = true;\n focusTarget = this.maximizableButton;\n } else {\n this.focusableClose = true;\n focusTarget = this.closeButton;\n }\n }\n }\n }\n\n if (focusTarget) {\n focus(focusTarget, { focusVisible: true });\n }\n },\n maximize(event) {\n if (this.maximized) {\n this.maximized = false;\n this.$emit('unmaximize', event);\n } else {\n this.maximized = true;\n this.$emit('maximize', event);\n }\n\n if (!this.modal) {\n this.maximized ? blockBodyScroll() : unblockBodyScroll();\n }\n },\n enableDocumentSettings() {\n if (this.modal || (!this.modal && this.blockScroll) || (this.maximizable && this.maximized)) {\n blockBodyScroll();\n }\n },\n unbindDocumentState() {\n if (this.modal || (!this.modal && this.blockScroll) || (this.maximizable && this.maximized)) {\n unblockBodyScroll();\n }\n },\n onKeyDown(event) {\n if (event.code === 'Escape' && this.closeOnEscape) {\n this.close();\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 containerRef(el) {\n this.container = el;\n },\n maskRef(el) {\n this.mask = el;\n },\n contentRef(el) {\n this.content = el;\n },\n headerContainerRef(el) {\n this.headerContainer = el;\n },\n footerContainerRef(el) {\n this.footerContainer = el;\n },\n maximizableRef(el) {\n this.maximizableButton = el ? el.$el : undefined;\n },\n closeButtonRef(el) {\n this.closeButton = el ? el.$el : undefined;\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-dialog[${this.attributeSelector}] {\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 initDrag(event) {\n if (event.target.closest('div').getAttribute('data-pc-section') === 'headeractions') {\n return;\n }\n\n if (this.draggable) {\n this.dragging = true;\n this.lastPageX = event.pageX;\n this.lastPageY = event.pageY;\n\n this.container.style.margin = '0';\n document.body.setAttribute('data-p-unselectable-text', 'true');\n !this.isUnstyled && addStyle(document.body, { 'user-select': 'none' });\n }\n },\n bindGlobalListeners() {\n if (this.draggable) {\n this.bindDocumentDragListener();\n this.bindDocumentDragEndListener();\n }\n\n if (this.closeOnEscape && this.closable) {\n this.bindDocumentKeyDownListener();\n }\n },\n unbindGlobalListeners() {\n this.unbindDocumentDragListener();\n this.unbindDocumentDragEndListener();\n this.unbindDocumentKeyDownListener();\n },\n bindDocumentDragListener() {\n this.documentDragListener = (event) => {\n if (this.dragging) {\n let width = getOuterWidth(this.container);\n let height = getOuterHeight(this.container);\n let deltaX = event.pageX - this.lastPageX;\n let deltaY = event.pageY - this.lastPageY;\n let offset = this.container.getBoundingClientRect();\n let leftPos = offset.left + deltaX;\n let topPos = offset.top + deltaY;\n let viewport = getViewport();\n let containerComputedStyle = getComputedStyle(this.container);\n let marginLeft = parseFloat(containerComputedStyle.marginLeft);\n let marginTop = parseFloat(containerComputedStyle.marginTop);\n\n this.container.style.position = 'fixed';\n\n if (this.keepInViewport) {\n if (leftPos >= this.minX && leftPos + width < viewport.width) {\n this.lastPageX = event.pageX;\n this.container.style.left = leftPos - marginLeft + 'px';\n }\n\n if (topPos >= this.minY && topPos + height < viewport.height) {\n this.lastPageY = event.pageY;\n this.container.style.top = topPos - marginTop + 'px';\n }\n } else {\n this.lastPageX = event.pageX;\n this.container.style.left = leftPos - marginLeft + 'px';\n this.lastPageY = event.pageY;\n this.container.style.top = topPos - marginTop + 'px';\n }\n }\n };\n\n window.document.addEventListener('mousemove', this.documentDragListener);\n },\n unbindDocumentDragListener() {\n if (this.documentDragListener) {\n window.document.removeEventListener('mousemove', this.documentDragListener);\n this.documentDragListener = null;\n }\n },\n bindDocumentDragEndListener() {\n this.documentDragEndListener = (event) => {\n if (this.dragging) {\n this.dragging = false;\n document.body.removeAttribute('data-p-unselectable-text');\n !this.isUnstyled && (document.body.style['user-select'] = '');\n\n this.$emit('dragend', event);\n }\n };\n\n window.document.addEventListener('mouseup', this.documentDragEndListener);\n },\n unbindDocumentDragEndListener() {\n if (this.documentDragEndListener) {\n window.document.removeEventListener('mouseup', this.documentDragEndListener);\n this.documentDragEndListener = null;\n }\n }\n },\n computed: {\n maximizeIconComponent() {\n return this.maximized ? (this.minimizeIcon ? 'span' : 'WindowMinimizeIcon') : this.maximizeIcon ? 'span' : 'WindowMaximizeIcon';\n },\n ariaLabelledById() {\n return this.header != null || this.$attrs['aria-labelledby'] !== null ? this.id + '_header' : null;\n },\n closeAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined;\n },\n attributeSelector() {\n return UniqueComponentId();\n }\n },\n directives: {\n ripple: Ripple,\n focustrap: FocusTrap\n },\n components: {\n Button,\n Portal,\n WindowMinimizeIcon,\n WindowMaximizeIcon,\n TimesIcon\n }\n};\n</script>\n","<template>\n <Portal :appendTo=\"appendTo\">\n <div v-if=\"containerVisible\" :ref=\"maskRef\" :class=\"cx('mask')\" :style=\"sx('mask', true, { position, modal })\" @click=\"onMaskClick\" v-bind=\"ptm('mask')\">\n <transition name=\"p-dialog\" @before-enter=\"onBeforeEnter\" @enter=\"onEnter\" @before-leave=\"onBeforeLeave\" @leave=\"onLeave\" @after-leave=\"onAfterLeave\" appear v-bind=\"ptm('transition')\">\n <div v-if=\"visible\" :ref=\"containerRef\" v-focustrap=\"{ disabled: !modal }\" :class=\"cx('root')\" :style=\"sx('root')\" role=\"dialog\" :aria-labelledby=\"ariaLabelledById\" :aria-modal=\"modal\" v-bind=\"ptmi('root')\">\n <slot v-if=\"$slots.container\" name=\"container\" :closeCallback=\"close\" :maximizeCallback=\"(event) => maximize(event)\"></slot>\n <template v-else>\n <div v-if=\"showHeader\" :ref=\"headerContainerRef\" :class=\"cx('header')\" @mousedown=\"initDrag\" v-bind=\"ptm('header')\">\n <slot name=\"header\" :class=\"cx('title')\">\n <span v-if=\"header\" :id=\"ariaLabelledById\" :class=\"cx('title')\" v-bind=\"ptm('title')\">{{ header }}</span>\n </slot>\n <div :class=\"cx('headerActions')\" v-bind=\"ptm('headerActions')\">\n <Button\n v-if=\"maximizable\"\n :ref=\"maximizableRef\"\n :autofocus=\"focusableMax\"\n :class=\"cx('pcMaximizeButton')\"\n @click=\"maximize\"\n :tabindex=\"maximizable ? '0' : '-1'\"\n :unstyled=\"unstyled\"\n v-bind=\"maximizeButtonProps\"\n :pt=\"ptm('pcMaximizeButton')\"\n data-pc-group-section=\"headericon\"\n >\n <template #icon=\"slotProps\">\n <slot name=\"maximizeicon\" :maximized=\"maximized\">\n <component :is=\"maximizeIconComponent\" :class=\"[slotProps.class, maximized ? minimizeIcon : maximizeIcon]\" v-bind=\"ptm('pcMaximizeButton')['icon']\" />\n </slot>\n </template>\n </Button>\n <Button\n v-if=\"closable\"\n :ref=\"closeButtonRef\"\n :autofocus=\"focusableClose\"\n :class=\"cx('pcCloseButton')\"\n @click=\"close\"\n :aria-label=\"closeAriaLabel\"\n :unstyled=\"unstyled\"\n v-bind=\"closeButtonProps\"\n :pt=\"ptm('pcCloseButton')\"\n data-pc-group-section=\"headericon\"\n >\n <template #icon=\"slotProps\">\n <slot name=\"closeicon\">\n <component :is=\"closeIcon ? 'span' : 'TimesIcon'\" :class=\"[closeIcon, slotProps.class]\" v-bind=\"ptm('pcCloseButton')['icon']\"></component>\n </slot>\n </template>\n </Button>\n </div>\n </div>\n <div :ref=\"contentRef\" :class=\"[cx('content'), contentClass]\" :style=\"contentStyle\" v-bind=\"{ ...contentProps, ...ptm('content') }\">\n <slot></slot>\n </div>\n <div v-if=\"footer || $slots.footer\" :ref=\"footerContainerRef\" :class=\"cx('footer')\" v-bind=\"ptm('footer')\">\n <slot name=\"footer\">{{ footer }}</slot>\n </div>\n </template>\n </div>\n </transition>\n </div>\n </Portal>\n</template>\n\n<script>\nimport { UniqueComponentId } from '@primevue/core/utils';\nimport { addClass, focus, blockBodyScroll, unblockBodyScroll, setAttribute, addStyle, getOuterWidth, getOuterHeight, getViewport } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport TimesIcon from '@primevue/icons/times';\nimport WindowMaximizeIcon from '@primevue/icons/windowmaximize';\nimport WindowMinimizeIcon from '@primevue/icons/windowminimize';\nimport Button from 'primevue/button';\nimport FocusTrap from 'primevue/focustrap';\nimport Portal from 'primevue/portal';\nimport Ripple from 'primevue/ripple';\nimport { computed } from 'vue';\nimport BaseDialog from './BaseDialog.vue';\n\nexport default {\n name: 'Dialog',\n extends: BaseDialog,\n inheritAttrs: false,\n emits: ['update:visible', 'show', 'hide', 'after-hide', 'maximize', 'unmaximize', 'dragend'],\n provide() {\n return {\n dialogRef: computed(() => this._instance)\n };\n },\n data() {\n return {\n id: this.$attrs.id,\n containerVisible: this.visible,\n maximized: false,\n focusableMax: null,\n focusableClose: null\n };\n },\n watch: {\n '$attrs.id': function (newValue) {\n this.id = newValue || UniqueComponentId();\n }\n },\n documentKeydownListener: null,\n container: null,\n mask: null,\n content: null,\n headerContainer: null,\n footerContainer: null,\n maximizableButton: null,\n closeButton: null,\n styleElement: null,\n dragging: null,\n documentDragListener: null,\n documentDragEndListener: null,\n lastPageX: null,\n lastPageY: null,\n updated() {\n if (this.visible) {\n this.containerVisible = this.visible;\n }\n },\n beforeUnmount() {\n this.unbindDocumentState();\n this.unbindGlobalListeners();\n this.destroyStyle();\n\n if (this.mask && this.autoZIndex) {\n ZIndex.clear(this.mask);\n }\n\n this.container = null;\n this.mask = null;\n },\n mounted() {\n this.id = this.id || UniqueComponentId();\n\n if (this.breakpoints) {\n this.createStyle();\n }\n },\n methods: {\n close() {\n this.$emit('update:visible', false);\n },\n onBeforeEnter(el) {\n el.setAttribute(this.attributeSelector, '');\n },\n onEnter() {\n this.$emit('show');\n this.focus();\n this.enableDocumentSettings();\n this.bindGlobalListeners();\n\n if (this.autoZIndex) {\n ZIndex.set('modal', this.mask, this.baseZIndex + this.$primevue.config.zIndex.modal);\n }\n },\n onBeforeLeave() {\n if (this.modal) {\n !this.isUnstyled && addClass(this.mask, 'p-overlay-mask-leave');\n }\n },\n onLeave() {\n this.$emit('hide');\n this.focusableClose = null;\n this.focusableMax = null;\n },\n onAfterLeave() {\n if (this.autoZIndex) {\n ZIndex.clear(this.mask);\n }\n\n this.containerVisible = false;\n this.unbindDocumentState();\n this.unbindGlobalListeners();\n this.$emit('after-hide');\n },\n onMaskClick(event) {\n if (this.dismissableMask && this.modal && this.mask === event.target) {\n this.close();\n }\n },\n focus() {\n const findFocusableElement = (container) => {\n return container && container.querySelector('[autofocus]');\n };\n\n let focusTarget = this.$slots.footer && findFocusableElement(this.footerContainer);\n\n if (!focusTarget) {\n focusTarget = this.$slots.header && findFocusableElement(this.headerContainer);\n\n if (!focusTarget) {\n focusTarget = this.$slots.default && findFocusableElement(this.content);\n\n if (!focusTarget) {\n if (this.maximizable) {\n this.focusableMax = true;\n focusTarget = this.maximizableButton;\n } else {\n this.focusableClose = true;\n focusTarget = this.closeButton;\n }\n }\n }\n }\n\n if (focusTarget) {\n focus(focusTarget, { focusVisible: true });\n }\n },\n maximize(event) {\n if (this.maximized) {\n this.maximized = false;\n this.$emit('unmaximize', event);\n } else {\n this.maximized = true;\n this.$emit('maximize', event);\n }\n\n if (!this.modal) {\n this.maximized ? blockBodyScroll() : unblockBodyScroll();\n }\n },\n enableDocumentSettings() {\n if (this.modal || (!this.modal && this.blockScroll) || (this.maximizable && this.maximized)) {\n blockBodyScroll();\n }\n },\n unbindDocumentState() {\n if (this.modal || (!this.modal && this.blockScroll) || (this.maximizable && this.maximized)) {\n unblockBodyScroll();\n }\n },\n onKeyDown(event) {\n if (event.code === 'Escape' && this.closeOnEscape) {\n this.close();\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 containerRef(el) {\n this.container = el;\n },\n maskRef(el) {\n this.mask = el;\n },\n contentRef(el) {\n this.content = el;\n },\n headerContainerRef(el) {\n this.headerContainer = el;\n },\n footerContainerRef(el) {\n this.footerContainer = el;\n },\n maximizableRef(el) {\n this.maximizableButton = el ? el.$el : undefined;\n },\n closeButtonRef(el) {\n this.closeButton = el ? el.$el : undefined;\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-dialog[${this.attributeSelector}] {\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 initDrag(event) {\n if (event.target.closest('div').getAttribute('data-pc-section') === 'headeractions') {\n return;\n }\n\n if (this.draggable) {\n this.dragging = true;\n this.lastPageX = event.pageX;\n this.lastPageY = event.pageY;\n\n this.container.style.margin = '0';\n document.body.setAttribute('data-p-unselectable-text', 'true');\n !this.isUnstyled && addStyle(document.body, { 'user-select': 'none' });\n }\n },\n bindGlobalListeners() {\n if (this.draggable) {\n this.bindDocumentDragListener();\n this.bindDocumentDragEndListener();\n }\n\n if (this.closeOnEscape && this.closable) {\n this.bindDocumentKeyDownListener();\n }\n },\n unbindGlobalListeners() {\n this.unbindDocumentDragListener();\n this.unbindDocumentDragEndListener();\n this.unbindDocumentKeyDownListener();\n },\n bindDocumentDragListener() {\n this.documentDragListener = (event) => {\n if (this.dragging) {\n let width = getOuterWidth(this.container);\n let height = getOuterHeight(this.container);\n let deltaX = event.pageX - this.lastPageX;\n let deltaY = event.pageY - this.lastPageY;\n let offset = this.container.getBoundingClientRect();\n let leftPos = offset.left + deltaX;\n let topPos = offset.top + deltaY;\n let viewport = getViewport();\n let containerComputedStyle = getComputedStyle(this.container);\n let marginLeft = parseFloat(containerComputedStyle.marginLeft);\n let marginTop = parseFloat(containerComputedStyle.marginTop);\n\n this.container.style.position = 'fixed';\n\n if (this.keepInViewport) {\n if (leftPos >= this.minX && leftPos + width < viewport.width) {\n this.lastPageX = event.pageX;\n this.container.style.left = leftPos - marginLeft + 'px';\n }\n\n if (topPos >= this.minY && topPos + height < viewport.height) {\n this.lastPageY = event.pageY;\n this.container.style.top = topPos - marginTop + 'px';\n }\n } else {\n this.lastPageX = event.pageX;\n this.container.style.left = leftPos - marginLeft + 'px';\n this.lastPageY = event.pageY;\n this.container.style.top = topPos - marginTop + 'px';\n }\n }\n };\n\n window.document.addEventListener('mousemove', this.documentDragListener);\n },\n unbindDocumentDragListener() {\n if (this.documentDragListener) {\n window.document.removeEventListener('mousemove', this.documentDragListener);\n this.documentDragListener = null;\n }\n },\n bindDocumentDragEndListener() {\n this.documentDragEndListener = (event) => {\n if (this.dragging) {\n this.dragging = false;\n document.body.removeAttribute('data-p-unselectable-text');\n !this.isUnstyled && (document.body.style['user-select'] = '');\n\n this.$emit('dragend', event);\n }\n };\n\n window.document.addEventListener('mouseup', this.documentDragEndListener);\n },\n unbindDocumentDragEndListener() {\n if (this.documentDragEndListener) {\n window.document.removeEventListener('mouseup', this.documentDragEndListener);\n this.documentDragEndListener = null;\n }\n }\n },\n computed: {\n maximizeIconComponent() {\n return this.maximized ? (this.minimizeIcon ? 'span' : 'WindowMinimizeIcon') : this.maximizeIcon ? 'span' : 'WindowMaximizeIcon';\n },\n ariaLabelledById() {\n return this.header != null || this.$attrs['aria-labelledby'] !== null ? this.id + '_header' : null;\n },\n closeAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined;\n },\n attributeSelector() {\n return UniqueComponentId();\n }\n },\n directives: {\n ripple: Ripple,\n focustrap: FocusTrap\n },\n components: {\n Button,\n Portal,\n WindowMinimizeIcon,\n WindowMaximizeIcon,\n TimesIcon\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","header","type","footer","visible","Boolean","modal","contentStyle","contentClass","String","contentProps","maximizable","dismissableMask","closable","closeOnEscape","showHeader","blockScroll","baseZIndex","Number","autoZIndex","position","breakpoints","Object","draggable","keepInViewport","minX","minY","appendTo","closeIcon","undefined","maximizeIcon","minimizeIcon","closeButtonProps","default","severity","text","rounded","maximizeButtonProps","_instance","style","DialogStyle","provide","$pcDialog","$parentInstance","BaseDialog","inheritAttrs","emits","_this","dialogRef","computed","data","id","$attrs","containerVisible","maximized","focusableMax","focusableClose","watch","$attrsId","newValue","UniqueComponentId","documentKeydownListener","container","mask","content","headerContainer","footerContainer","maximizableButton","closeButton","styleElement","dragging","documentDragListener","documentDragEndListener","lastPageX","lastPageY","updated","beforeUnmount","unbindDocumentState","unbindGlobalListeners","destroyStyle","ZIndex","clear","mounted","createStyle","methods","close","$emit","onBeforeEnter","el","setAttribute","attributeSelector","onEnter","focus","enableDocumentSettings","bindGlobalListeners","set","$primevue","config","zIndex","onBeforeLeave","isUnstyled","addClass","onLeave","onAfterLeave","onMaskClick","event","target","findFocusableElement","querySelector","focusTarget","$slots","focusVisible","maximize","blockBodyScroll","unblockBodyScroll","onKeyDown","code","bindDocumentKeyDownListener","bind","window","document","addEventListener","unbindDocumentKeyDownListener","removeEventListener","containerRef","maskRef","contentRef","headerContainerRef","footerContainerRef","maximizableRef","$el","closeButtonRef","_this$$primevue","createElement","csp","nonce","head","appendChild","innerHTML","breakpoint","concat","removeChild","initDrag","closest","getAttribute","pageX","pageY","margin","body","addStyle","bindDocumentDragListener","bindDocumentDragEndListener","unbindDocumentDragListener","unbindDocumentDragEndListener","_this2","width","getOuterWidth","height","getOuterHeight","deltaX","deltaY","offset","getBoundingClientRect","leftPos","left","topPos","top","viewport","getViewport","containerComputedStyle","getComputedStyle","marginLeft","parseFloat","marginTop","_this3","removeAttribute","maximizeIconComponent","ariaLabelledById","closeAriaLabel","locale","aria","directives","ripple","Ripple","focustrap","FocusTrap","components","Button","Portal","WindowMinimizeIcon","WindowMaximizeIcon","TimesIcon","_createBlock","_component_Portal","_ctx","$data","_openBlock","_createElementBlock","_mergeProps","ref","$options","cx","sx","onClick","apply","arguments","ptm","_createVNode","_Transition","appear","_withDirectives","role","ptmi","_renderSlot","closeCallback","maximizeCallback","_Fragment","key","onMousedown","_createElementVNode","_component_Button","autofocus","tabindex","unstyled","pt","icon","_withCtx","slotProps","_resolveDynamicComponent","_objectSpread"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/dialog/BaseDialog.vue","../../src/dialog/Dialog.vue","../../src/dialog/Dialog.vue?vue&type=template&id=2be25c6d&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport DialogStyle from 'primevue/dialog/style';\n\nexport default {\n name: 'BaseDialog',\n extends: BaseComponent,\n props: {\n header: {\n type: null,\n default: null\n },\n footer: {\n type: null,\n default: null\n },\n visible: {\n type: Boolean,\n default: false\n },\n modal: {\n type: Boolean,\n default: null\n },\n contentStyle: {\n type: null,\n default: null\n },\n contentClass: {\n type: String,\n default: null\n },\n contentProps: {\n type: null,\n default: null\n },\n maximizable: {\n type: Boolean,\n default: false\n },\n dismissableMask: {\n type: Boolean,\n default: false\n },\n closable: {\n type: Boolean,\n default: true\n },\n closeOnEscape: {\n type: Boolean,\n default: true\n },\n showHeader: {\n type: Boolean,\n default: true\n },\n blockScroll: {\n type: Boolean,\n default: false\n },\n baseZIndex: {\n type: Number,\n default: 0\n },\n autoZIndex: {\n type: Boolean,\n default: true\n },\n position: {\n type: String,\n default: 'center'\n },\n breakpoints: {\n type: Object,\n default: null\n },\n draggable: {\n type: Boolean,\n default: true\n },\n keepInViewport: {\n type: Boolean,\n default: true\n },\n minX: {\n type: Number,\n default: 0\n },\n minY: {\n type: Number,\n default: 0\n },\n appendTo: {\n type: [String, Object],\n default: 'body'\n },\n closeIcon: {\n type: String,\n default: undefined\n },\n maximizeIcon: {\n type: String,\n default: undefined\n },\n minimizeIcon: {\n type: String,\n default: undefined\n },\n closeButtonProps: {\n type: Object,\n default: () => {\n return {\n severity: 'secondary',\n text: true,\n rounded: true\n };\n }\n },\n maximizeButtonProps: {\n type: Object,\n default: () => {\n return {\n severity: 'secondary',\n text: true,\n rounded: true\n };\n }\n },\n _instance: null\n },\n style: DialogStyle,\n provide() {\n return {\n $pcDialog: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <Portal :appendTo=\"appendTo\">\n <div v-if=\"containerVisible\" :ref=\"maskRef\" :class=\"cx('mask')\" :style=\"sx('mask', true, { position, modal })\" @mousedown=\"onMaskMouseDown\" @mouseup=\"onMaskMouseUp\" v-bind=\"ptm('mask')\">\n <transition name=\"p-dialog\" @before-enter=\"onBeforeEnter\" @enter=\"onEnter\" @after-enter=\"onAfterEnter\" @before-leave=\"onBeforeLeave\" @leave=\"onLeave\" @after-leave=\"onAfterLeave\" appear v-bind=\"ptm('transition')\">\n <div v-if=\"visible\" :ref=\"containerRef\" v-focustrap=\"{ disabled: !modal }\" :class=\"cx('root')\" :style=\"sx('root')\" role=\"dialog\" :aria-labelledby=\"ariaLabelledById\" :aria-modal=\"modal\" v-bind=\"ptmi('root')\">\n <slot v-if=\"$slots.container\" name=\"container\" :closeCallback=\"close\" :maximizeCallback=\"(event) => maximize(event)\"></slot>\n <template v-else>\n <div v-if=\"showHeader\" :ref=\"headerContainerRef\" :class=\"cx('header')\" @mousedown=\"initDrag\" v-bind=\"ptm('header')\">\n <slot name=\"header\" :class=\"cx('title')\">\n <span v-if=\"header\" :id=\"ariaLabelledById\" :class=\"cx('title')\" v-bind=\"ptm('title')\">{{ header }}</span>\n </slot>\n <div :class=\"cx('headerActions')\" v-bind=\"ptm('headerActions')\">\n <Button\n v-if=\"maximizable\"\n :ref=\"maximizableRef\"\n :autofocus=\"focusableMax\"\n :class=\"cx('pcMaximizeButton')\"\n @click=\"maximize\"\n :tabindex=\"maximizable ? '0' : '-1'\"\n :unstyled=\"unstyled\"\n v-bind=\"maximizeButtonProps\"\n :pt=\"ptm('pcMaximizeButton')\"\n data-pc-group-section=\"headericon\"\n >\n <template #icon=\"slotProps\">\n <slot name=\"maximizeicon\" :maximized=\"maximized\">\n <component :is=\"maximizeIconComponent\" :class=\"[slotProps.class, maximized ? minimizeIcon : maximizeIcon]\" v-bind=\"ptm('pcMaximizeButton')['icon']\" />\n </slot>\n </template>\n </Button>\n <Button\n v-if=\"closable\"\n :ref=\"closeButtonRef\"\n :autofocus=\"focusableClose\"\n :class=\"cx('pcCloseButton')\"\n @click=\"close\"\n :aria-label=\"closeAriaLabel\"\n :unstyled=\"unstyled\"\n v-bind=\"closeButtonProps\"\n :pt=\"ptm('pcCloseButton')\"\n data-pc-group-section=\"headericon\"\n >\n <template #icon=\"slotProps\">\n <slot name=\"closeicon\">\n <component :is=\"closeIcon ? 'span' : 'TimesIcon'\" :class=\"[closeIcon, slotProps.class]\" v-bind=\"ptm('pcCloseButton')['icon']\"></component>\n </slot>\n </template>\n </Button>\n </div>\n </div>\n <div :ref=\"contentRef\" :class=\"[cx('content'), contentClass]\" :style=\"contentStyle\" v-bind=\"{ ...contentProps, ...ptm('content') }\">\n <slot></slot>\n </div>\n <div v-if=\"footer || $slots.footer\" :ref=\"footerContainerRef\" :class=\"cx('footer')\" v-bind=\"ptm('footer')\">\n <slot name=\"footer\">{{ footer }}</slot>\n </div>\n </template>\n </div>\n </transition>\n </div>\n </Portal>\n</template>\n\n<script>\nimport { UniqueComponentId } from '@primevue/core/utils';\nimport { addClass, focus, blockBodyScroll, unblockBodyScroll, setAttribute, addStyle, getOuterWidth, getOuterHeight, getViewport } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport TimesIcon from '@primevue/icons/times';\nimport WindowMaximizeIcon from '@primevue/icons/windowmaximize';\nimport WindowMinimizeIcon from '@primevue/icons/windowminimize';\nimport Button from 'primevue/button';\nimport FocusTrap from 'primevue/focustrap';\nimport Portal from 'primevue/portal';\nimport Ripple from 'primevue/ripple';\nimport { computed } from 'vue';\nimport BaseDialog from './BaseDialog.vue';\n\nexport default {\n name: 'Dialog',\n extends: BaseDialog,\n inheritAttrs: false,\n emits: ['update:visible', 'show', 'hide', 'after-hide', 'maximize', 'unmaximize', 'dragend'],\n provide() {\n return {\n dialogRef: computed(() => this._instance)\n };\n },\n data() {\n return {\n id: this.$attrs.id,\n containerVisible: this.visible,\n maximized: false,\n focusableMax: null,\n focusableClose: null,\n target: null\n };\n },\n watch: {\n '$attrs.id': function (newValue) {\n this.id = newValue || UniqueComponentId();\n }\n },\n documentKeydownListener: null,\n container: null,\n mask: null,\n content: null,\n headerContainer: null,\n footerContainer: null,\n maximizableButton: null,\n closeButton: null,\n styleElement: null,\n dragging: null,\n documentDragListener: null,\n documentDragEndListener: null,\n lastPageX: null,\n lastPageY: null,\n maskMouseDownTarget: null,\n updated() {\n if (this.visible) {\n this.containerVisible = this.visible;\n }\n },\n beforeUnmount() {\n this.unbindDocumentState();\n this.unbindGlobalListeners();\n this.destroyStyle();\n\n if (this.mask && this.autoZIndex) {\n ZIndex.clear(this.mask);\n }\n\n this.container = null;\n this.mask = null;\n },\n mounted() {\n this.id = this.id || UniqueComponentId();\n\n if (this.breakpoints) {\n this.createStyle();\n }\n },\n methods: {\n close() {\n this.$emit('update:visible', false);\n },\n onBeforeEnter(el) {\n el.setAttribute(this.attributeSelector, '');\n },\n onEnter() {\n this.$emit('show');\n this.target = document.activeElement;\n this.enableDocumentSettings();\n this.bindGlobalListeners();\n\n if (this.autoZIndex) {\n ZIndex.set('modal', this.mask, this.baseZIndex + this.$primevue.config.zIndex.modal);\n }\n },\n onAfterEnter() {\n this.focus();\n },\n onBeforeLeave() {\n if (this.modal) {\n !this.isUnstyled && addClass(this.mask, 'p-overlay-mask-leave');\n }\n },\n onLeave() {\n this.$emit('hide');\n focus(this.target);\n this.target = null;\n this.focusableClose = null;\n this.focusableMax = null;\n },\n onAfterLeave() {\n if (this.autoZIndex) {\n ZIndex.clear(this.mask);\n }\n\n this.containerVisible = false;\n this.unbindDocumentState();\n this.unbindGlobalListeners();\n this.$emit('after-hide');\n },\n onMaskMouseDown(event) {\n this.maskMouseDownTarget = event.target;\n },\n onMaskMouseUp() {\n if (this.dismissableMask && this.modal && this.mask === this.maskMouseDownTarget) {\n this.close();\n }\n },\n focus() {\n const findFocusableElement = (container) => {\n return container && container.querySelector('[autofocus]');\n };\n\n let focusTarget = this.$slots.footer && findFocusableElement(this.footerContainer);\n\n if (!focusTarget) {\n focusTarget = this.$slots.header && findFocusableElement(this.headerContainer);\n\n if (!focusTarget) {\n focusTarget = this.$slots.default && findFocusableElement(this.content);\n\n if (!focusTarget) {\n if (this.maximizable) {\n this.focusableMax = true;\n focusTarget = this.maximizableButton;\n } else {\n this.focusableClose = true;\n focusTarget = this.closeButton;\n }\n }\n }\n }\n\n if (focusTarget) {\n focus(focusTarget, { focusVisible: true });\n }\n },\n maximize(event) {\n if (this.maximized) {\n this.maximized = false;\n this.$emit('unmaximize', event);\n } else {\n this.maximized = true;\n this.$emit('maximize', event);\n }\n\n if (!this.modal) {\n this.maximized ? blockBodyScroll() : unblockBodyScroll();\n }\n },\n enableDocumentSettings() {\n if (this.modal || (!this.modal && this.blockScroll) || (this.maximizable && this.maximized)) {\n blockBodyScroll();\n }\n },\n unbindDocumentState() {\n if (this.modal || (!this.modal && this.blockScroll) || (this.maximizable && this.maximized)) {\n unblockBodyScroll();\n }\n },\n onKeyDown(event) {\n if (event.code === 'Escape' && this.closeOnEscape) {\n this.close();\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 containerRef(el) {\n this.container = el;\n },\n maskRef(el) {\n this.mask = el;\n },\n contentRef(el) {\n this.content = el;\n },\n headerContainerRef(el) {\n this.headerContainer = el;\n },\n footerContainerRef(el) {\n this.footerContainer = el;\n },\n maximizableRef(el) {\n this.maximizableButton = el ? el.$el : undefined;\n },\n closeButtonRef(el) {\n this.closeButton = el ? el.$el : undefined;\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-dialog[${this.attributeSelector}] {\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 initDrag(event) {\n if (event.target.closest('div').getAttribute('data-pc-section') === 'headeractions') {\n return;\n }\n\n if (this.draggable) {\n this.dragging = true;\n this.lastPageX = event.pageX;\n this.lastPageY = event.pageY;\n\n this.container.style.margin = '0';\n document.body.setAttribute('data-p-unselectable-text', 'true');\n !this.isUnstyled && addStyle(document.body, { 'user-select': 'none' });\n }\n },\n bindGlobalListeners() {\n if (this.draggable) {\n this.bindDocumentDragListener();\n this.bindDocumentDragEndListener();\n }\n\n if (this.closeOnEscape && this.closable) {\n this.bindDocumentKeyDownListener();\n }\n },\n unbindGlobalListeners() {\n this.unbindDocumentDragListener();\n this.unbindDocumentDragEndListener();\n this.unbindDocumentKeyDownListener();\n },\n bindDocumentDragListener() {\n this.documentDragListener = (event) => {\n if (this.dragging) {\n let width = getOuterWidth(this.container);\n let height = getOuterHeight(this.container);\n let deltaX = event.pageX - this.lastPageX;\n let deltaY = event.pageY - this.lastPageY;\n let offset = this.container.getBoundingClientRect();\n let leftPos = offset.left + deltaX;\n let topPos = offset.top + deltaY;\n let viewport = getViewport();\n let containerComputedStyle = getComputedStyle(this.container);\n let marginLeft = parseFloat(containerComputedStyle.marginLeft);\n let marginTop = parseFloat(containerComputedStyle.marginTop);\n\n this.container.style.position = 'fixed';\n\n if (this.keepInViewport) {\n if (leftPos >= this.minX && leftPos + width < viewport.width) {\n this.lastPageX = event.pageX;\n this.container.style.left = leftPos - marginLeft + 'px';\n }\n\n if (topPos >= this.minY && topPos + height < viewport.height) {\n this.lastPageY = event.pageY;\n this.container.style.top = topPos - marginTop + 'px';\n }\n } else {\n this.lastPageX = event.pageX;\n this.container.style.left = leftPos - marginLeft + 'px';\n this.lastPageY = event.pageY;\n this.container.style.top = topPos - marginTop + 'px';\n }\n }\n };\n\n window.document.addEventListener('mousemove', this.documentDragListener);\n },\n unbindDocumentDragListener() {\n if (this.documentDragListener) {\n window.document.removeEventListener('mousemove', this.documentDragListener);\n this.documentDragListener = null;\n }\n },\n bindDocumentDragEndListener() {\n this.documentDragEndListener = (event) => {\n if (this.dragging) {\n this.dragging = false;\n document.body.removeAttribute('data-p-unselectable-text');\n !this.isUnstyled && (document.body.style['user-select'] = '');\n\n this.$emit('dragend', event);\n }\n };\n\n window.document.addEventListener('mouseup', this.documentDragEndListener);\n },\n unbindDocumentDragEndListener() {\n if (this.documentDragEndListener) {\n window.document.removeEventListener('mouseup', this.documentDragEndListener);\n this.documentDragEndListener = null;\n }\n }\n },\n computed: {\n maximizeIconComponent() {\n return this.maximized ? (this.minimizeIcon ? 'span' : 'WindowMinimizeIcon') : this.maximizeIcon ? 'span' : 'WindowMaximizeIcon';\n },\n ariaLabelledById() {\n return this.header != null || this.$attrs['aria-labelledby'] !== null ? this.id + '_header' : null;\n },\n closeAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined;\n },\n attributeSelector() {\n return UniqueComponentId();\n }\n },\n directives: {\n ripple: Ripple,\n focustrap: FocusTrap\n },\n components: {\n Button,\n Portal,\n WindowMinimizeIcon,\n WindowMaximizeIcon,\n TimesIcon\n }\n};\n</script>\n","<template>\n <Portal :appendTo=\"appendTo\">\n <div v-if=\"containerVisible\" :ref=\"maskRef\" :class=\"cx('mask')\" :style=\"sx('mask', true, { position, modal })\" @mousedown=\"onMaskMouseDown\" @mouseup=\"onMaskMouseUp\" v-bind=\"ptm('mask')\">\n <transition name=\"p-dialog\" @before-enter=\"onBeforeEnter\" @enter=\"onEnter\" @after-enter=\"onAfterEnter\" @before-leave=\"onBeforeLeave\" @leave=\"onLeave\" @after-leave=\"onAfterLeave\" appear v-bind=\"ptm('transition')\">\n <div v-if=\"visible\" :ref=\"containerRef\" v-focustrap=\"{ disabled: !modal }\" :class=\"cx('root')\" :style=\"sx('root')\" role=\"dialog\" :aria-labelledby=\"ariaLabelledById\" :aria-modal=\"modal\" v-bind=\"ptmi('root')\">\n <slot v-if=\"$slots.container\" name=\"container\" :closeCallback=\"close\" :maximizeCallback=\"(event) => maximize(event)\"></slot>\n <template v-else>\n <div v-if=\"showHeader\" :ref=\"headerContainerRef\" :class=\"cx('header')\" @mousedown=\"initDrag\" v-bind=\"ptm('header')\">\n <slot name=\"header\" :class=\"cx('title')\">\n <span v-if=\"header\" :id=\"ariaLabelledById\" :class=\"cx('title')\" v-bind=\"ptm('title')\">{{ header }}</span>\n </slot>\n <div :class=\"cx('headerActions')\" v-bind=\"ptm('headerActions')\">\n <Button\n v-if=\"maximizable\"\n :ref=\"maximizableRef\"\n :autofocus=\"focusableMax\"\n :class=\"cx('pcMaximizeButton')\"\n @click=\"maximize\"\n :tabindex=\"maximizable ? '0' : '-1'\"\n :unstyled=\"unstyled\"\n v-bind=\"maximizeButtonProps\"\n :pt=\"ptm('pcMaximizeButton')\"\n data-pc-group-section=\"headericon\"\n >\n <template #icon=\"slotProps\">\n <slot name=\"maximizeicon\" :maximized=\"maximized\">\n <component :is=\"maximizeIconComponent\" :class=\"[slotProps.class, maximized ? minimizeIcon : maximizeIcon]\" v-bind=\"ptm('pcMaximizeButton')['icon']\" />\n </slot>\n </template>\n </Button>\n <Button\n v-if=\"closable\"\n :ref=\"closeButtonRef\"\n :autofocus=\"focusableClose\"\n :class=\"cx('pcCloseButton')\"\n @click=\"close\"\n :aria-label=\"closeAriaLabel\"\n :unstyled=\"unstyled\"\n v-bind=\"closeButtonProps\"\n :pt=\"ptm('pcCloseButton')\"\n data-pc-group-section=\"headericon\"\n >\n <template #icon=\"slotProps\">\n <slot name=\"closeicon\">\n <component :is=\"closeIcon ? 'span' : 'TimesIcon'\" :class=\"[closeIcon, slotProps.class]\" v-bind=\"ptm('pcCloseButton')['icon']\"></component>\n </slot>\n </template>\n </Button>\n </div>\n </div>\n <div :ref=\"contentRef\" :class=\"[cx('content'), contentClass]\" :style=\"contentStyle\" v-bind=\"{ ...contentProps, ...ptm('content') }\">\n <slot></slot>\n </div>\n <div v-if=\"footer || $slots.footer\" :ref=\"footerContainerRef\" :class=\"cx('footer')\" v-bind=\"ptm('footer')\">\n <slot name=\"footer\">{{ footer }}</slot>\n </div>\n </template>\n </div>\n </transition>\n </div>\n </Portal>\n</template>\n\n<script>\nimport { UniqueComponentId } from '@primevue/core/utils';\nimport { addClass, focus, blockBodyScroll, unblockBodyScroll, setAttribute, addStyle, getOuterWidth, getOuterHeight, getViewport } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport TimesIcon from '@primevue/icons/times';\nimport WindowMaximizeIcon from '@primevue/icons/windowmaximize';\nimport WindowMinimizeIcon from '@primevue/icons/windowminimize';\nimport Button from 'primevue/button';\nimport FocusTrap from 'primevue/focustrap';\nimport Portal from 'primevue/portal';\nimport Ripple from 'primevue/ripple';\nimport { computed } from 'vue';\nimport BaseDialog from './BaseDialog.vue';\n\nexport default {\n name: 'Dialog',\n extends: BaseDialog,\n inheritAttrs: false,\n emits: ['update:visible', 'show', 'hide', 'after-hide', 'maximize', 'unmaximize', 'dragend'],\n provide() {\n return {\n dialogRef: computed(() => this._instance)\n };\n },\n data() {\n return {\n id: this.$attrs.id,\n containerVisible: this.visible,\n maximized: false,\n focusableMax: null,\n focusableClose: null,\n target: null\n };\n },\n watch: {\n '$attrs.id': function (newValue) {\n this.id = newValue || UniqueComponentId();\n }\n },\n documentKeydownListener: null,\n container: null,\n mask: null,\n content: null,\n headerContainer: null,\n footerContainer: null,\n maximizableButton: null,\n closeButton: null,\n styleElement: null,\n dragging: null,\n documentDragListener: null,\n documentDragEndListener: null,\n lastPageX: null,\n lastPageY: null,\n maskMouseDownTarget: null,\n updated() {\n if (this.visible) {\n this.containerVisible = this.visible;\n }\n },\n beforeUnmount() {\n this.unbindDocumentState();\n this.unbindGlobalListeners();\n this.destroyStyle();\n\n if (this.mask && this.autoZIndex) {\n ZIndex.clear(this.mask);\n }\n\n this.container = null;\n this.mask = null;\n },\n mounted() {\n this.id = this.id || UniqueComponentId();\n\n if (this.breakpoints) {\n this.createStyle();\n }\n },\n methods: {\n close() {\n this.$emit('update:visible', false);\n },\n onBeforeEnter(el) {\n el.setAttribute(this.attributeSelector, '');\n },\n onEnter() {\n this.$emit('show');\n this.target = document.activeElement;\n this.enableDocumentSettings();\n this.bindGlobalListeners();\n\n if (this.autoZIndex) {\n ZIndex.set('modal', this.mask, this.baseZIndex + this.$primevue.config.zIndex.modal);\n }\n },\n onAfterEnter() {\n this.focus();\n },\n onBeforeLeave() {\n if (this.modal) {\n !this.isUnstyled && addClass(this.mask, 'p-overlay-mask-leave');\n }\n },\n onLeave() {\n this.$emit('hide');\n focus(this.target);\n this.target = null;\n this.focusableClose = null;\n this.focusableMax = null;\n },\n onAfterLeave() {\n if (this.autoZIndex) {\n ZIndex.clear(this.mask);\n }\n\n this.containerVisible = false;\n this.unbindDocumentState();\n this.unbindGlobalListeners();\n this.$emit('after-hide');\n },\n onMaskMouseDown(event) {\n this.maskMouseDownTarget = event.target;\n },\n onMaskMouseUp() {\n if (this.dismissableMask && this.modal && this.mask === this.maskMouseDownTarget) {\n this.close();\n }\n },\n focus() {\n const findFocusableElement = (container) => {\n return container && container.querySelector('[autofocus]');\n };\n\n let focusTarget = this.$slots.footer && findFocusableElement(this.footerContainer);\n\n if (!focusTarget) {\n focusTarget = this.$slots.header && findFocusableElement(this.headerContainer);\n\n if (!focusTarget) {\n focusTarget = this.$slots.default && findFocusableElement(this.content);\n\n if (!focusTarget) {\n if (this.maximizable) {\n this.focusableMax = true;\n focusTarget = this.maximizableButton;\n } else {\n this.focusableClose = true;\n focusTarget = this.closeButton;\n }\n }\n }\n }\n\n if (focusTarget) {\n focus(focusTarget, { focusVisible: true });\n }\n },\n maximize(event) {\n if (this.maximized) {\n this.maximized = false;\n this.$emit('unmaximize', event);\n } else {\n this.maximized = true;\n this.$emit('maximize', event);\n }\n\n if (!this.modal) {\n this.maximized ? blockBodyScroll() : unblockBodyScroll();\n }\n },\n enableDocumentSettings() {\n if (this.modal || (!this.modal && this.blockScroll) || (this.maximizable && this.maximized)) {\n blockBodyScroll();\n }\n },\n unbindDocumentState() {\n if (this.modal || (!this.modal && this.blockScroll) || (this.maximizable && this.maximized)) {\n unblockBodyScroll();\n }\n },\n onKeyDown(event) {\n if (event.code === 'Escape' && this.closeOnEscape) {\n this.close();\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 containerRef(el) {\n this.container = el;\n },\n maskRef(el) {\n this.mask = el;\n },\n contentRef(el) {\n this.content = el;\n },\n headerContainerRef(el) {\n this.headerContainer = el;\n },\n footerContainerRef(el) {\n this.footerContainer = el;\n },\n maximizableRef(el) {\n this.maximizableButton = el ? el.$el : undefined;\n },\n closeButtonRef(el) {\n this.closeButton = el ? el.$el : undefined;\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-dialog[${this.attributeSelector}] {\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 initDrag(event) {\n if (event.target.closest('div').getAttribute('data-pc-section') === 'headeractions') {\n return;\n }\n\n if (this.draggable) {\n this.dragging = true;\n this.lastPageX = event.pageX;\n this.lastPageY = event.pageY;\n\n this.container.style.margin = '0';\n document.body.setAttribute('data-p-unselectable-text', 'true');\n !this.isUnstyled && addStyle(document.body, { 'user-select': 'none' });\n }\n },\n bindGlobalListeners() {\n if (this.draggable) {\n this.bindDocumentDragListener();\n this.bindDocumentDragEndListener();\n }\n\n if (this.closeOnEscape && this.closable) {\n this.bindDocumentKeyDownListener();\n }\n },\n unbindGlobalListeners() {\n this.unbindDocumentDragListener();\n this.unbindDocumentDragEndListener();\n this.unbindDocumentKeyDownListener();\n },\n bindDocumentDragListener() {\n this.documentDragListener = (event) => {\n if (this.dragging) {\n let width = getOuterWidth(this.container);\n let height = getOuterHeight(this.container);\n let deltaX = event.pageX - this.lastPageX;\n let deltaY = event.pageY - this.lastPageY;\n let offset = this.container.getBoundingClientRect();\n let leftPos = offset.left + deltaX;\n let topPos = offset.top + deltaY;\n let viewport = getViewport();\n let containerComputedStyle = getComputedStyle(this.container);\n let marginLeft = parseFloat(containerComputedStyle.marginLeft);\n let marginTop = parseFloat(containerComputedStyle.marginTop);\n\n this.container.style.position = 'fixed';\n\n if (this.keepInViewport) {\n if (leftPos >= this.minX && leftPos + width < viewport.width) {\n this.lastPageX = event.pageX;\n this.container.style.left = leftPos - marginLeft + 'px';\n }\n\n if (topPos >= this.minY && topPos + height < viewport.height) {\n this.lastPageY = event.pageY;\n this.container.style.top = topPos - marginTop + 'px';\n }\n } else {\n this.lastPageX = event.pageX;\n this.container.style.left = leftPos - marginLeft + 'px';\n this.lastPageY = event.pageY;\n this.container.style.top = topPos - marginTop + 'px';\n }\n }\n };\n\n window.document.addEventListener('mousemove', this.documentDragListener);\n },\n unbindDocumentDragListener() {\n if (this.documentDragListener) {\n window.document.removeEventListener('mousemove', this.documentDragListener);\n this.documentDragListener = null;\n }\n },\n bindDocumentDragEndListener() {\n this.documentDragEndListener = (event) => {\n if (this.dragging) {\n this.dragging = false;\n document.body.removeAttribute('data-p-unselectable-text');\n !this.isUnstyled && (document.body.style['user-select'] = '');\n\n this.$emit('dragend', event);\n }\n };\n\n window.document.addEventListener('mouseup', this.documentDragEndListener);\n },\n unbindDocumentDragEndListener() {\n if (this.documentDragEndListener) {\n window.document.removeEventListener('mouseup', this.documentDragEndListener);\n this.documentDragEndListener = null;\n }\n }\n },\n computed: {\n maximizeIconComponent() {\n return this.maximized ? (this.minimizeIcon ? 'span' : 'WindowMinimizeIcon') : this.maximizeIcon ? 'span' : 'WindowMaximizeIcon';\n },\n ariaLabelledById() {\n return this.header != null || this.$attrs['aria-labelledby'] !== null ? this.id + '_header' : null;\n },\n closeAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined;\n },\n attributeSelector() {\n return UniqueComponentId();\n }\n },\n directives: {\n ripple: Ripple,\n focustrap: FocusTrap\n },\n components: {\n Button,\n Portal,\n WindowMinimizeIcon,\n WindowMaximizeIcon,\n TimesIcon\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","header","type","footer","visible","Boolean","modal","contentStyle","contentClass","String","contentProps","maximizable","dismissableMask","closable","closeOnEscape","showHeader","blockScroll","baseZIndex","Number","autoZIndex","position","breakpoints","Object","draggable","keepInViewport","minX","minY","appendTo","closeIcon","undefined","maximizeIcon","minimizeIcon","closeButtonProps","default","severity","text","rounded","maximizeButtonProps","_instance","style","DialogStyle","provide","$pcDialog","$parentInstance","BaseDialog","inheritAttrs","emits","_this","dialogRef","computed","data","id","$attrs","containerVisible","maximized","focusableMax","focusableClose","target","watch","$attrsId","newValue","UniqueComponentId","documentKeydownListener","container","mask","content","headerContainer","footerContainer","maximizableButton","closeButton","styleElement","dragging","documentDragListener","documentDragEndListener","lastPageX","lastPageY","maskMouseDownTarget","updated","beforeUnmount","unbindDocumentState","unbindGlobalListeners","destroyStyle","ZIndex","clear","mounted","createStyle","methods","close","$emit","onBeforeEnter","el","setAttribute","attributeSelector","onEnter","document","activeElement","enableDocumentSettings","bindGlobalListeners","set","$primevue","config","zIndex","onAfterEnter","focus","onBeforeLeave","isUnstyled","addClass","onLeave","onAfterLeave","onMaskMouseDown","event","onMaskMouseUp","findFocusableElement","querySelector","focusTarget","$slots","focusVisible","maximize","blockBodyScroll","unblockBodyScroll","onKeyDown","code","bindDocumentKeyDownListener","bind","window","addEventListener","unbindDocumentKeyDownListener","removeEventListener","containerRef","maskRef","contentRef","headerContainerRef","footerContainerRef","maximizableRef","$el","closeButtonRef","_this$$primevue","createElement","csp","nonce","head","appendChild","innerHTML","breakpoint","concat","removeChild","initDrag","closest","getAttribute","pageX","pageY","margin","body","addStyle","bindDocumentDragListener","bindDocumentDragEndListener","unbindDocumentDragListener","unbindDocumentDragEndListener","_this2","width","getOuterWidth","height","getOuterHeight","deltaX","deltaY","offset","getBoundingClientRect","leftPos","left","topPos","top","viewport","getViewport","containerComputedStyle","getComputedStyle","marginLeft","parseFloat","marginTop","_this3","removeAttribute","maximizeIconComponent","ariaLabelledById","closeAriaLabel","locale","aria","directives","ripple","Ripple","focustrap","FocusTrap","components","Button","Portal","WindowMinimizeIcon","WindowMaximizeIcon","TimesIcon","_createBlock","_component_Portal","_ctx","$data","_openBlock","_createElementBlock","_mergeProps","ref","$options","cx","sx","onMousedown","apply","arguments","onMouseup","ptm","_createVNode","_Transition","appear","_withDirectives","role","ptmi","_renderSlot","closeCallback","maximizeCallback","_Fragment","key","_createElementVNode","_component_Button","autofocus","onClick","tabindex","unstyled","pt","icon","_withCtx","slotProps","_resolveDynamicComponent","_objectSpread"],"mappings":"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"}
@@ -59,15 +59,6 @@ export default {
59
59
  $pcDrawer: this,
60
60
  $parentInstance: this
61
61
  };
62
- },
63
- watch: {
64
- dismissable(newValue) {
65
- if (newValue) {
66
- this.bindOutsideClickListener();
67
- } else {
68
- this.unbindOutsideClickListener();
69
- }
70
- }
71
62
  }
72
63
  };
73
64
  </script>
package/drawer/Drawer.vue CHANGED
@@ -31,7 +31,7 @@
31
31
  <div :ref="contentRef" :class="cx('content')" v-bind="ptm('content')">
32
32
  <slot></slot>
33
33
  </div>
34
- <div :ref="footerContainerRef" :class="cx('footer')" v-bind="ptm('footer')">
34
+ <div v-if="$slots.footer" :ref="footerContainerRef" :class="cx('footer')" v-bind="ptm('footer')">
35
35
  <slot name="footer"> </slot>
36
36
  </div>
37
37
  </template>
@@ -42,7 +42,7 @@
42
42
  </template>
43
43
 
44
44
  <script>
45
- import { addClass, focus, blockBodyScroll, unblockBodyScroll } from '@primeuix/utils/dom';
45
+ import { addClass, blockBodyScroll, focus, unblockBodyScroll } from '@primeuix/utils/dom';
46
46
  import { ZIndex } from '@primeuix/utils/zindex';
47
47
  import TimesIcon from '@primevue/icons/times';
48
48
  import Button from 'primevue/button';
@@ -68,6 +68,15 @@ export default {
68
68
  closeButton: null,
69
69
  outsideClickListener: null,
70
70
  documentKeydownListener: null,
71
+ watch: {
72
+ dismissable(newValue) {
73
+ if (newValue) {
74
+ this.bindOutsideClickListener();
75
+ } else {
76
+ this.unbindOutsideClickListener();
77
+ }
78
+ }
79
+ },
71
80
  updated() {
72
81
  if (this.visible) {
73
82
  this.containerVisible = this.visible;
package/drawer/index.mjs CHANGED
@@ -69,15 +69,6 @@ var script$1 = {
69
69
  $pcDrawer: this,
70
70
  $parentInstance: this
71
71
  };
72
- },
73
- watch: {
74
- dismissable: function dismissable(newValue) {
75
- if (newValue) {
76
- this.bindOutsideClickListener();
77
- } else {
78
- this.unbindOutsideClickListener();
79
- }
80
- }
81
72
  }
82
73
  };
83
74
 
@@ -99,6 +90,15 @@ var script = {
99
90
  closeButton: null,
100
91
  outsideClickListener: null,
101
92
  documentKeydownListener: null,
93
+ watch: {
94
+ dismissable: function dismissable(newValue) {
95
+ if (newValue) {
96
+ this.bindOutsideClickListener();
97
+ } else {
98
+ this.unbindOutsideClickListener();
99
+ }
100
+ }
101
+ },
102
102
  updated: function updated() {
103
103
  if (this.visible) {
104
104
  this.containerVisible = this.visible;
@@ -324,10 +324,11 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
324
324
  }, 16, ["class", "aria-label", "unstyled", "onClick", "pt"])) : createCommentVNode("", true)], 16), createElementVNode("div", mergeProps({
325
325
  ref: $options.contentRef,
326
326
  "class": _ctx.cx('content')
327
- }, _ctx.ptm('content')), [renderSlot(_ctx.$slots, "default")], 16), createElementVNode("div", mergeProps({
327
+ }, _ctx.ptm('content')), [renderSlot(_ctx.$slots, "default")], 16), _ctx.$slots.footer ? (openBlock(), createElementBlock("div", mergeProps({
328
+ key: 0,
328
329
  ref: $options.footerContainerRef,
329
330
  "class": _ctx.cx('footer')
330
- }, _ctx.ptm('footer')), [renderSlot(_ctx.$slots, "footer")], 16)], 64))], 16, _hoisted_1)), [[_directive_focustrap]]) : createCommentVNode("", true)];
331
+ }, _ctx.ptm('footer')), [renderSlot(_ctx.$slots, "footer")], 16)) : createCommentVNode("", true)], 64))], 16, _hoisted_1)), [[_directive_focustrap]]) : createCommentVNode("", true)];
331
332
  }),
332
333
  _: 3
333
334
  }, 16, ["onEnter", "onAfterEnter", "onBeforeLeave", "onLeave", "onAfterLeave"])], 16)) : createCommentVNode("", true)];
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/drawer/BaseDrawer.vue","../../src/drawer/Drawer.vue","../../src/drawer/Drawer.vue?vue&type=template&id=1fa5eecc&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport DrawerStyle from 'primevue/drawer/style';\n\nexport default {\n name: 'BaseDrawer',\n extends: BaseComponent,\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n position: {\n type: String,\n default: 'left'\n },\n header: {\n type: null,\n default: null\n },\n baseZIndex: {\n type: Number,\n default: 0\n },\n autoZIndex: {\n type: Boolean,\n default: true\n },\n dismissable: {\n type: Boolean,\n default: true\n },\n showCloseIcon: {\n type: Boolean,\n default: true\n },\n closeButtonProps: {\n type: Object,\n default: () => {\n return { severity: 'secondary', text: true, rounded: true };\n }\n },\n closeIcon: {\n type: String,\n default: undefined\n },\n modal: {\n type: Boolean,\n default: true\n },\n blockScroll: {\n type: Boolean,\n default: false\n }\n },\n style: DrawerStyle,\n provide() {\n return {\n $pcDrawer: this,\n $parentInstance: this\n };\n },\n watch: {\n dismissable(newValue) {\n if (newValue) {\n this.bindOutsideClickListener();\n } else {\n this.unbindOutsideClickListener();\n }\n }\n }\n};\n</script>\n","<template>\n <Portal>\n <div v-if=\"containerVisible\" :ref=\"maskRef\" @mousedown=\"onMaskClick\" :class=\"cx('mask')\" :style=\"sx('mask', true, { position })\" v-bind=\"ptm('mask')\">\n <transition name=\"p-drawer\" @enter=\"onEnter\" @after-enter=\"onAfterEnter\" @before-leave=\"onBeforeLeave\" @leave=\"onLeave\" @after-leave=\"onAfterLeave\" appear v-bind=\"ptm('transition')\">\n <div v-if=\"visible\" :ref=\"containerRef\" v-focustrap :class=\"cx('root')\" role=\"complementary\" :aria-modal=\"modal\" v-bind=\"ptmi('root')\">\n <slot v-if=\"$slots.container\" name=\"container\" :closeCallback=\"hide\"></slot>\n <template v-else>\n <div :ref=\"headerContainerRef\" :class=\"cx('header')\" v-bind=\"ptm('header')\">\n <slot name=\"header\" :class=\"cx('title')\">\n <div v-if=\"header\" :class=\"cx('title')\" v-bind=\"ptm('title')\">{{ header }}</div>\n </slot>\n <Button\n v-if=\"showCloseIcon\"\n :ref=\"closeButtonRef\"\n type=\"button\"\n :class=\"cx('pcCloseButton')\"\n :aria-label=\"closeAriaLabel\"\n :unstyled=\"unstyled\"\n @click=\"hide\"\n v-bind=\"closeButtonProps\"\n :pt=\"ptm('pcCloseButton')\"\n data-pc-group-section=\"iconcontainer\"\n >\n <template #icon=\"slotProps\">\n <slot name=\"closeicon\">\n <component :is=\"closeIcon ? 'span' : 'TimesIcon'\" :class=\"[closeIcon, slotProps.class]\" v-bind=\"ptm('pcCloseButton')['icon']\"></component>\n </slot>\n </template>\n </Button>\n </div>\n <div :ref=\"contentRef\" :class=\"cx('content')\" v-bind=\"ptm('content')\">\n <slot></slot>\n </div>\n <div :ref=\"footerContainerRef\" :class=\"cx('footer')\" v-bind=\"ptm('footer')\">\n <slot name=\"footer\"> </slot>\n </div>\n </template>\n </div>\n </transition>\n </div>\n </Portal>\n</template>\n\n<script>\nimport { addClass, focus, blockBodyScroll, unblockBodyScroll } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport TimesIcon from '@primevue/icons/times';\nimport Button from 'primevue/button';\nimport FocusTrap from 'primevue/focustrap';\nimport Portal from 'primevue/portal';\nimport BaseDrawer from './BaseDrawer.vue';\n\nexport default {\n name: 'Drawer',\n extends: BaseDrawer,\n inheritAttrs: false,\n emits: ['update:visible', 'show', 'hide', 'after-hide'],\n data() {\n return {\n containerVisible: this.visible\n };\n },\n container: null,\n mask: null,\n content: null,\n headerContainer: null,\n footerContainer: null,\n closeButton: null,\n outsideClickListener: null,\n documentKeydownListener: null,\n updated() {\n if (this.visible) {\n this.containerVisible = this.visible;\n }\n },\n beforeUnmount() {\n this.disableDocumentSettings();\n\n if (this.mask && this.autoZIndex) {\n ZIndex.clear(this.mask);\n }\n\n this.container = null;\n this.mask = null;\n },\n methods: {\n hide() {\n this.$emit('update:visible', false);\n },\n onEnter() {\n this.$emit('show');\n this.focus();\n this.bindDocumentKeyDownListener();\n\n if (this.autoZIndex) {\n ZIndex.set('modal', this.mask, this.baseZIndex || this.$primevue.config.zIndex.modal);\n }\n },\n onAfterEnter() {\n this.enableDocumentSettings();\n },\n onBeforeLeave() {\n if (this.modal) {\n !this.isUnstyled && addClass(this.mask, 'p-overlay-mask-leave');\n }\n },\n onLeave() {\n this.$emit('hide');\n },\n onAfterLeave() {\n if (this.autoZIndex) {\n ZIndex.clear(this.mask);\n }\n\n this.unbindDocumentKeyDownListener();\n this.containerVisible = false;\n this.disableDocumentSettings();\n this.$emit('after-hide');\n },\n onMaskClick(event) {\n if (this.dismissable && this.modal && this.mask === event.target) {\n this.hide();\n }\n },\n focus() {\n const findFocusableElement = (container) => {\n return container && container.querySelector('[autofocus]');\n };\n\n let focusTarget = this.$slots.header && findFocusableElement(this.headerContainer);\n\n if (!focusTarget) {\n focusTarget = this.$slots.default && findFocusableElement(this.container);\n\n if (!focusTarget) {\n focusTarget = this.$slots.footer && findFocusableElement(this.footerContainer);\n\n if (!focusTarget) {\n focusTarget = this.closeButton;\n }\n }\n }\n\n focusTarget && focus(focusTarget);\n },\n enableDocumentSettings() {\n if (this.dismissable && !this.modal) {\n this.bindOutsideClickListener();\n }\n\n if (this.blockScroll) {\n blockBodyScroll();\n }\n },\n disableDocumentSettings() {\n this.unbindOutsideClickListener();\n\n if (this.blockScroll) {\n unblockBodyScroll();\n }\n },\n onKeydown(event) {\n if (event.code === 'Escape') {\n this.hide();\n }\n },\n containerRef(el) {\n this.container = el;\n },\n maskRef(el) {\n this.mask = el;\n },\n contentRef(el) {\n this.content = el;\n },\n headerContainerRef(el) {\n this.headerContainer = el;\n },\n footerContainerRef(el) {\n this.footerContainer = el;\n },\n closeButtonRef(el) {\n this.closeButton = el ? el.$el : undefined;\n },\n bindDocumentKeyDownListener() {\n if (!this.documentKeydownListener) {\n this.documentKeydownListener = this.onKeydown;\n document.addEventListener('keydown', this.documentKeydownListener);\n }\n },\n unbindDocumentKeyDownListener() {\n if (this.documentKeydownListener) {\n document.removeEventListener('keydown', this.documentKeydownListener);\n this.documentKeydownListener = null;\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n if (this.isOutsideClicked(event)) {\n this.hide();\n }\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 }\n },\n isOutsideClicked(event) {\n return this.container && !this.container.contains(event.target);\n }\n },\n computed: {\n fullScreen() {\n return this.position === 'full';\n },\n closeAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined;\n }\n },\n directives: {\n focustrap: FocusTrap\n },\n components: {\n Button,\n Portal,\n TimesIcon\n }\n};\n</script>\n","<template>\n <Portal>\n <div v-if=\"containerVisible\" :ref=\"maskRef\" @mousedown=\"onMaskClick\" :class=\"cx('mask')\" :style=\"sx('mask', true, { position })\" v-bind=\"ptm('mask')\">\n <transition name=\"p-drawer\" @enter=\"onEnter\" @after-enter=\"onAfterEnter\" @before-leave=\"onBeforeLeave\" @leave=\"onLeave\" @after-leave=\"onAfterLeave\" appear v-bind=\"ptm('transition')\">\n <div v-if=\"visible\" :ref=\"containerRef\" v-focustrap :class=\"cx('root')\" role=\"complementary\" :aria-modal=\"modal\" v-bind=\"ptmi('root')\">\n <slot v-if=\"$slots.container\" name=\"container\" :closeCallback=\"hide\"></slot>\n <template v-else>\n <div :ref=\"headerContainerRef\" :class=\"cx('header')\" v-bind=\"ptm('header')\">\n <slot name=\"header\" :class=\"cx('title')\">\n <div v-if=\"header\" :class=\"cx('title')\" v-bind=\"ptm('title')\">{{ header }}</div>\n </slot>\n <Button\n v-if=\"showCloseIcon\"\n :ref=\"closeButtonRef\"\n type=\"button\"\n :class=\"cx('pcCloseButton')\"\n :aria-label=\"closeAriaLabel\"\n :unstyled=\"unstyled\"\n @click=\"hide\"\n v-bind=\"closeButtonProps\"\n :pt=\"ptm('pcCloseButton')\"\n data-pc-group-section=\"iconcontainer\"\n >\n <template #icon=\"slotProps\">\n <slot name=\"closeicon\">\n <component :is=\"closeIcon ? 'span' : 'TimesIcon'\" :class=\"[closeIcon, slotProps.class]\" v-bind=\"ptm('pcCloseButton')['icon']\"></component>\n </slot>\n </template>\n </Button>\n </div>\n <div :ref=\"contentRef\" :class=\"cx('content')\" v-bind=\"ptm('content')\">\n <slot></slot>\n </div>\n <div :ref=\"footerContainerRef\" :class=\"cx('footer')\" v-bind=\"ptm('footer')\">\n <slot name=\"footer\"> </slot>\n </div>\n </template>\n </div>\n </transition>\n </div>\n </Portal>\n</template>\n\n<script>\nimport { addClass, focus, blockBodyScroll, unblockBodyScroll } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport TimesIcon from '@primevue/icons/times';\nimport Button from 'primevue/button';\nimport FocusTrap from 'primevue/focustrap';\nimport Portal from 'primevue/portal';\nimport BaseDrawer from './BaseDrawer.vue';\n\nexport default {\n name: 'Drawer',\n extends: BaseDrawer,\n inheritAttrs: false,\n emits: ['update:visible', 'show', 'hide', 'after-hide'],\n data() {\n return {\n containerVisible: this.visible\n };\n },\n container: null,\n mask: null,\n content: null,\n headerContainer: null,\n footerContainer: null,\n closeButton: null,\n outsideClickListener: null,\n documentKeydownListener: null,\n updated() {\n if (this.visible) {\n this.containerVisible = this.visible;\n }\n },\n beforeUnmount() {\n this.disableDocumentSettings();\n\n if (this.mask && this.autoZIndex) {\n ZIndex.clear(this.mask);\n }\n\n this.container = null;\n this.mask = null;\n },\n methods: {\n hide() {\n this.$emit('update:visible', false);\n },\n onEnter() {\n this.$emit('show');\n this.focus();\n this.bindDocumentKeyDownListener();\n\n if (this.autoZIndex) {\n ZIndex.set('modal', this.mask, this.baseZIndex || this.$primevue.config.zIndex.modal);\n }\n },\n onAfterEnter() {\n this.enableDocumentSettings();\n },\n onBeforeLeave() {\n if (this.modal) {\n !this.isUnstyled && addClass(this.mask, 'p-overlay-mask-leave');\n }\n },\n onLeave() {\n this.$emit('hide');\n },\n onAfterLeave() {\n if (this.autoZIndex) {\n ZIndex.clear(this.mask);\n }\n\n this.unbindDocumentKeyDownListener();\n this.containerVisible = false;\n this.disableDocumentSettings();\n this.$emit('after-hide');\n },\n onMaskClick(event) {\n if (this.dismissable && this.modal && this.mask === event.target) {\n this.hide();\n }\n },\n focus() {\n const findFocusableElement = (container) => {\n return container && container.querySelector('[autofocus]');\n };\n\n let focusTarget = this.$slots.header && findFocusableElement(this.headerContainer);\n\n if (!focusTarget) {\n focusTarget = this.$slots.default && findFocusableElement(this.container);\n\n if (!focusTarget) {\n focusTarget = this.$slots.footer && findFocusableElement(this.footerContainer);\n\n if (!focusTarget) {\n focusTarget = this.closeButton;\n }\n }\n }\n\n focusTarget && focus(focusTarget);\n },\n enableDocumentSettings() {\n if (this.dismissable && !this.modal) {\n this.bindOutsideClickListener();\n }\n\n if (this.blockScroll) {\n blockBodyScroll();\n }\n },\n disableDocumentSettings() {\n this.unbindOutsideClickListener();\n\n if (this.blockScroll) {\n unblockBodyScroll();\n }\n },\n onKeydown(event) {\n if (event.code === 'Escape') {\n this.hide();\n }\n },\n containerRef(el) {\n this.container = el;\n },\n maskRef(el) {\n this.mask = el;\n },\n contentRef(el) {\n this.content = el;\n },\n headerContainerRef(el) {\n this.headerContainer = el;\n },\n footerContainerRef(el) {\n this.footerContainer = el;\n },\n closeButtonRef(el) {\n this.closeButton = el ? el.$el : undefined;\n },\n bindDocumentKeyDownListener() {\n if (!this.documentKeydownListener) {\n this.documentKeydownListener = this.onKeydown;\n document.addEventListener('keydown', this.documentKeydownListener);\n }\n },\n unbindDocumentKeyDownListener() {\n if (this.documentKeydownListener) {\n document.removeEventListener('keydown', this.documentKeydownListener);\n this.documentKeydownListener = null;\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n if (this.isOutsideClicked(event)) {\n this.hide();\n }\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 }\n },\n isOutsideClicked(event) {\n return this.container && !this.container.contains(event.target);\n }\n },\n computed: {\n fullScreen() {\n return this.position === 'full';\n },\n closeAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined;\n }\n },\n directives: {\n focustrap: FocusTrap\n },\n components: {\n Button,\n Portal,\n TimesIcon\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","visible","type","Boolean","position","String","header","baseZIndex","Number","autoZIndex","dismissable","showCloseIcon","closeButtonProps","Object","default","severity","text","rounded","closeIcon","undefined","modal","blockScroll","style","DrawerStyle","provide","$pcDrawer","$parentInstance","watch","newValue","bindOutsideClickListener","unbindOutsideClickListener","BaseDrawer","inheritAttrs","emits","data","containerVisible","container","mask","content","headerContainer","footerContainer","closeButton","outsideClickListener","documentKeydownListener","updated","beforeUnmount","disableDocumentSettings","ZIndex","clear","methods","hide","$emit","onEnter","focus","bindDocumentKeyDownListener","set","$primevue","config","zIndex","onAfterEnter","enableDocumentSettings","onBeforeLeave","isUnstyled","addClass","onLeave","onAfterLeave","unbindDocumentKeyDownListener","onMaskClick","event","target","findFocusableElement","querySelector","focusTarget","$slots","footer","blockBodyScroll","unblockBodyScroll","onKeydown","code","containerRef","el","maskRef","contentRef","headerContainerRef","footerContainerRef","closeButtonRef","$el","document","addEventListener","removeEventListener","_this","isOutsideClicked","contains","computed","fullScreen","closeAriaLabel","locale","aria","close","directives","focustrap","FocusTrap","components","Button","Portal","TimesIcon","_createBlock","_component_Portal","$data","_openBlock","_createElementBlock","_mergeProps","ref","$options","onMousedown","apply","arguments","_ctx","cx","sx","ptm","_createVNode","_Transition","appear","_withDirectives","role","ptmi","_renderSlot","closeCallback","_Fragment","key","_createElementVNode","_component_Button","unstyled","onClick","pt","icon","_withCtx","slotProps","_resolveDynamicComponent"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/drawer/BaseDrawer.vue","../../src/drawer/Drawer.vue","../../src/drawer/Drawer.vue?vue&type=template&id=5b113e47&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport DrawerStyle from 'primevue/drawer/style';\n\nexport default {\n name: 'BaseDrawer',\n extends: BaseComponent,\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n position: {\n type: String,\n default: 'left'\n },\n header: {\n type: null,\n default: null\n },\n baseZIndex: {\n type: Number,\n default: 0\n },\n autoZIndex: {\n type: Boolean,\n default: true\n },\n dismissable: {\n type: Boolean,\n default: true\n },\n showCloseIcon: {\n type: Boolean,\n default: true\n },\n closeButtonProps: {\n type: Object,\n default: () => {\n return { severity: 'secondary', text: true, rounded: true };\n }\n },\n closeIcon: {\n type: String,\n default: undefined\n },\n modal: {\n type: Boolean,\n default: true\n },\n blockScroll: {\n type: Boolean,\n default: false\n }\n },\n style: DrawerStyle,\n provide() {\n return {\n $pcDrawer: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <Portal>\n <div v-if=\"containerVisible\" :ref=\"maskRef\" @mousedown=\"onMaskClick\" :class=\"cx('mask')\" :style=\"sx('mask', true, { position })\" v-bind=\"ptm('mask')\">\n <transition name=\"p-drawer\" @enter=\"onEnter\" @after-enter=\"onAfterEnter\" @before-leave=\"onBeforeLeave\" @leave=\"onLeave\" @after-leave=\"onAfterLeave\" appear v-bind=\"ptm('transition')\">\n <div v-if=\"visible\" :ref=\"containerRef\" v-focustrap :class=\"cx('root')\" role=\"complementary\" :aria-modal=\"modal\" v-bind=\"ptmi('root')\">\n <slot v-if=\"$slots.container\" name=\"container\" :closeCallback=\"hide\"></slot>\n <template v-else>\n <div :ref=\"headerContainerRef\" :class=\"cx('header')\" v-bind=\"ptm('header')\">\n <slot name=\"header\" :class=\"cx('title')\">\n <div v-if=\"header\" :class=\"cx('title')\" v-bind=\"ptm('title')\">{{ header }}</div>\n </slot>\n <Button\n v-if=\"showCloseIcon\"\n :ref=\"closeButtonRef\"\n type=\"button\"\n :class=\"cx('pcCloseButton')\"\n :aria-label=\"closeAriaLabel\"\n :unstyled=\"unstyled\"\n @click=\"hide\"\n v-bind=\"closeButtonProps\"\n :pt=\"ptm('pcCloseButton')\"\n data-pc-group-section=\"iconcontainer\"\n >\n <template #icon=\"slotProps\">\n <slot name=\"closeicon\">\n <component :is=\"closeIcon ? 'span' : 'TimesIcon'\" :class=\"[closeIcon, slotProps.class]\" v-bind=\"ptm('pcCloseButton')['icon']\"></component>\n </slot>\n </template>\n </Button>\n </div>\n <div :ref=\"contentRef\" :class=\"cx('content')\" v-bind=\"ptm('content')\">\n <slot></slot>\n </div>\n <div v-if=\"$slots.footer\" :ref=\"footerContainerRef\" :class=\"cx('footer')\" v-bind=\"ptm('footer')\">\n <slot name=\"footer\"> </slot>\n </div>\n </template>\n </div>\n </transition>\n </div>\n </Portal>\n</template>\n\n<script>\nimport { addClass, blockBodyScroll, focus, unblockBodyScroll } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport TimesIcon from '@primevue/icons/times';\nimport Button from 'primevue/button';\nimport FocusTrap from 'primevue/focustrap';\nimport Portal from 'primevue/portal';\nimport BaseDrawer from './BaseDrawer.vue';\n\nexport default {\n name: 'Drawer',\n extends: BaseDrawer,\n inheritAttrs: false,\n emits: ['update:visible', 'show', 'hide', 'after-hide'],\n data() {\n return {\n containerVisible: this.visible\n };\n },\n container: null,\n mask: null,\n content: null,\n headerContainer: null,\n footerContainer: null,\n closeButton: null,\n outsideClickListener: null,\n documentKeydownListener: null,\n watch: {\n dismissable(newValue) {\n if (newValue) {\n this.bindOutsideClickListener();\n } else {\n this.unbindOutsideClickListener();\n }\n }\n },\n updated() {\n if (this.visible) {\n this.containerVisible = this.visible;\n }\n },\n beforeUnmount() {\n this.disableDocumentSettings();\n\n if (this.mask && this.autoZIndex) {\n ZIndex.clear(this.mask);\n }\n\n this.container = null;\n this.mask = null;\n },\n methods: {\n hide() {\n this.$emit('update:visible', false);\n },\n onEnter() {\n this.$emit('show');\n this.focus();\n this.bindDocumentKeyDownListener();\n\n if (this.autoZIndex) {\n ZIndex.set('modal', this.mask, this.baseZIndex || this.$primevue.config.zIndex.modal);\n }\n },\n onAfterEnter() {\n this.enableDocumentSettings();\n },\n onBeforeLeave() {\n if (this.modal) {\n !this.isUnstyled && addClass(this.mask, 'p-overlay-mask-leave');\n }\n },\n onLeave() {\n this.$emit('hide');\n },\n onAfterLeave() {\n if (this.autoZIndex) {\n ZIndex.clear(this.mask);\n }\n\n this.unbindDocumentKeyDownListener();\n this.containerVisible = false;\n this.disableDocumentSettings();\n this.$emit('after-hide');\n },\n onMaskClick(event) {\n if (this.dismissable && this.modal && this.mask === event.target) {\n this.hide();\n }\n },\n focus() {\n const findFocusableElement = (container) => {\n return container && container.querySelector('[autofocus]');\n };\n\n let focusTarget = this.$slots.header && findFocusableElement(this.headerContainer);\n\n if (!focusTarget) {\n focusTarget = this.$slots.default && findFocusableElement(this.container);\n\n if (!focusTarget) {\n focusTarget = this.$slots.footer && findFocusableElement(this.footerContainer);\n\n if (!focusTarget) {\n focusTarget = this.closeButton;\n }\n }\n }\n\n focusTarget && focus(focusTarget);\n },\n enableDocumentSettings() {\n if (this.dismissable && !this.modal) {\n this.bindOutsideClickListener();\n }\n\n if (this.blockScroll) {\n blockBodyScroll();\n }\n },\n disableDocumentSettings() {\n this.unbindOutsideClickListener();\n\n if (this.blockScroll) {\n unblockBodyScroll();\n }\n },\n onKeydown(event) {\n if (event.code === 'Escape') {\n this.hide();\n }\n },\n containerRef(el) {\n this.container = el;\n },\n maskRef(el) {\n this.mask = el;\n },\n contentRef(el) {\n this.content = el;\n },\n headerContainerRef(el) {\n this.headerContainer = el;\n },\n footerContainerRef(el) {\n this.footerContainer = el;\n },\n closeButtonRef(el) {\n this.closeButton = el ? el.$el : undefined;\n },\n bindDocumentKeyDownListener() {\n if (!this.documentKeydownListener) {\n this.documentKeydownListener = this.onKeydown;\n document.addEventListener('keydown', this.documentKeydownListener);\n }\n },\n unbindDocumentKeyDownListener() {\n if (this.documentKeydownListener) {\n document.removeEventListener('keydown', this.documentKeydownListener);\n this.documentKeydownListener = null;\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n if (this.isOutsideClicked(event)) {\n this.hide();\n }\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 }\n },\n isOutsideClicked(event) {\n return this.container && !this.container.contains(event.target);\n }\n },\n computed: {\n fullScreen() {\n return this.position === 'full';\n },\n closeAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined;\n }\n },\n directives: {\n focustrap: FocusTrap\n },\n components: {\n Button,\n Portal,\n TimesIcon\n }\n};\n</script>\n","<template>\n <Portal>\n <div v-if=\"containerVisible\" :ref=\"maskRef\" @mousedown=\"onMaskClick\" :class=\"cx('mask')\" :style=\"sx('mask', true, { position })\" v-bind=\"ptm('mask')\">\n <transition name=\"p-drawer\" @enter=\"onEnter\" @after-enter=\"onAfterEnter\" @before-leave=\"onBeforeLeave\" @leave=\"onLeave\" @after-leave=\"onAfterLeave\" appear v-bind=\"ptm('transition')\">\n <div v-if=\"visible\" :ref=\"containerRef\" v-focustrap :class=\"cx('root')\" role=\"complementary\" :aria-modal=\"modal\" v-bind=\"ptmi('root')\">\n <slot v-if=\"$slots.container\" name=\"container\" :closeCallback=\"hide\"></slot>\n <template v-else>\n <div :ref=\"headerContainerRef\" :class=\"cx('header')\" v-bind=\"ptm('header')\">\n <slot name=\"header\" :class=\"cx('title')\">\n <div v-if=\"header\" :class=\"cx('title')\" v-bind=\"ptm('title')\">{{ header }}</div>\n </slot>\n <Button\n v-if=\"showCloseIcon\"\n :ref=\"closeButtonRef\"\n type=\"button\"\n :class=\"cx('pcCloseButton')\"\n :aria-label=\"closeAriaLabel\"\n :unstyled=\"unstyled\"\n @click=\"hide\"\n v-bind=\"closeButtonProps\"\n :pt=\"ptm('pcCloseButton')\"\n data-pc-group-section=\"iconcontainer\"\n >\n <template #icon=\"slotProps\">\n <slot name=\"closeicon\">\n <component :is=\"closeIcon ? 'span' : 'TimesIcon'\" :class=\"[closeIcon, slotProps.class]\" v-bind=\"ptm('pcCloseButton')['icon']\"></component>\n </slot>\n </template>\n </Button>\n </div>\n <div :ref=\"contentRef\" :class=\"cx('content')\" v-bind=\"ptm('content')\">\n <slot></slot>\n </div>\n <div v-if=\"$slots.footer\" :ref=\"footerContainerRef\" :class=\"cx('footer')\" v-bind=\"ptm('footer')\">\n <slot name=\"footer\"> </slot>\n </div>\n </template>\n </div>\n </transition>\n </div>\n </Portal>\n</template>\n\n<script>\nimport { addClass, blockBodyScroll, focus, unblockBodyScroll } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport TimesIcon from '@primevue/icons/times';\nimport Button from 'primevue/button';\nimport FocusTrap from 'primevue/focustrap';\nimport Portal from 'primevue/portal';\nimport BaseDrawer from './BaseDrawer.vue';\n\nexport default {\n name: 'Drawer',\n extends: BaseDrawer,\n inheritAttrs: false,\n emits: ['update:visible', 'show', 'hide', 'after-hide'],\n data() {\n return {\n containerVisible: this.visible\n };\n },\n container: null,\n mask: null,\n content: null,\n headerContainer: null,\n footerContainer: null,\n closeButton: null,\n outsideClickListener: null,\n documentKeydownListener: null,\n watch: {\n dismissable(newValue) {\n if (newValue) {\n this.bindOutsideClickListener();\n } else {\n this.unbindOutsideClickListener();\n }\n }\n },\n updated() {\n if (this.visible) {\n this.containerVisible = this.visible;\n }\n },\n beforeUnmount() {\n this.disableDocumentSettings();\n\n if (this.mask && this.autoZIndex) {\n ZIndex.clear(this.mask);\n }\n\n this.container = null;\n this.mask = null;\n },\n methods: {\n hide() {\n this.$emit('update:visible', false);\n },\n onEnter() {\n this.$emit('show');\n this.focus();\n this.bindDocumentKeyDownListener();\n\n if (this.autoZIndex) {\n ZIndex.set('modal', this.mask, this.baseZIndex || this.$primevue.config.zIndex.modal);\n }\n },\n onAfterEnter() {\n this.enableDocumentSettings();\n },\n onBeforeLeave() {\n if (this.modal) {\n !this.isUnstyled && addClass(this.mask, 'p-overlay-mask-leave');\n }\n },\n onLeave() {\n this.$emit('hide');\n },\n onAfterLeave() {\n if (this.autoZIndex) {\n ZIndex.clear(this.mask);\n }\n\n this.unbindDocumentKeyDownListener();\n this.containerVisible = false;\n this.disableDocumentSettings();\n this.$emit('after-hide');\n },\n onMaskClick(event) {\n if (this.dismissable && this.modal && this.mask === event.target) {\n this.hide();\n }\n },\n focus() {\n const findFocusableElement = (container) => {\n return container && container.querySelector('[autofocus]');\n };\n\n let focusTarget = this.$slots.header && findFocusableElement(this.headerContainer);\n\n if (!focusTarget) {\n focusTarget = this.$slots.default && findFocusableElement(this.container);\n\n if (!focusTarget) {\n focusTarget = this.$slots.footer && findFocusableElement(this.footerContainer);\n\n if (!focusTarget) {\n focusTarget = this.closeButton;\n }\n }\n }\n\n focusTarget && focus(focusTarget);\n },\n enableDocumentSettings() {\n if (this.dismissable && !this.modal) {\n this.bindOutsideClickListener();\n }\n\n if (this.blockScroll) {\n blockBodyScroll();\n }\n },\n disableDocumentSettings() {\n this.unbindOutsideClickListener();\n\n if (this.blockScroll) {\n unblockBodyScroll();\n }\n },\n onKeydown(event) {\n if (event.code === 'Escape') {\n this.hide();\n }\n },\n containerRef(el) {\n this.container = el;\n },\n maskRef(el) {\n this.mask = el;\n },\n contentRef(el) {\n this.content = el;\n },\n headerContainerRef(el) {\n this.headerContainer = el;\n },\n footerContainerRef(el) {\n this.footerContainer = el;\n },\n closeButtonRef(el) {\n this.closeButton = el ? el.$el : undefined;\n },\n bindDocumentKeyDownListener() {\n if (!this.documentKeydownListener) {\n this.documentKeydownListener = this.onKeydown;\n document.addEventListener('keydown', this.documentKeydownListener);\n }\n },\n unbindDocumentKeyDownListener() {\n if (this.documentKeydownListener) {\n document.removeEventListener('keydown', this.documentKeydownListener);\n this.documentKeydownListener = null;\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n if (this.isOutsideClicked(event)) {\n this.hide();\n }\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 }\n },\n isOutsideClicked(event) {\n return this.container && !this.container.contains(event.target);\n }\n },\n computed: {\n fullScreen() {\n return this.position === 'full';\n },\n closeAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined;\n }\n },\n directives: {\n focustrap: FocusTrap\n },\n components: {\n Button,\n Portal,\n TimesIcon\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","visible","type","Boolean","position","String","header","baseZIndex","Number","autoZIndex","dismissable","showCloseIcon","closeButtonProps","Object","default","severity","text","rounded","closeIcon","undefined","modal","blockScroll","style","DrawerStyle","provide","$pcDrawer","$parentInstance","BaseDrawer","inheritAttrs","emits","data","containerVisible","container","mask","content","headerContainer","footerContainer","closeButton","outsideClickListener","documentKeydownListener","watch","newValue","bindOutsideClickListener","unbindOutsideClickListener","updated","beforeUnmount","disableDocumentSettings","ZIndex","clear","methods","hide","$emit","onEnter","focus","bindDocumentKeyDownListener","set","$primevue","config","zIndex","onAfterEnter","enableDocumentSettings","onBeforeLeave","isUnstyled","addClass","onLeave","onAfterLeave","unbindDocumentKeyDownListener","onMaskClick","event","target","findFocusableElement","querySelector","focusTarget","$slots","footer","blockBodyScroll","unblockBodyScroll","onKeydown","code","containerRef","el","maskRef","contentRef","headerContainerRef","footerContainerRef","closeButtonRef","$el","document","addEventListener","removeEventListener","_this","isOutsideClicked","contains","computed","fullScreen","closeAriaLabel","locale","aria","close","directives","focustrap","FocusTrap","components","Button","Portal","TimesIcon","_createBlock","_component_Portal","$data","_openBlock","_createElementBlock","_mergeProps","ref","$options","onMousedown","apply","arguments","_ctx","cx","sx","ptm","_createVNode","_Transition","appear","_withDirectives","role","ptmi","_renderSlot","closeCallback","_Fragment","key","_createElementVNode","_component_Button","unstyled","onClick","pt","icon","_withCtx","slotProps","_resolveDynamicComponent"],"mappings":"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"}
@@ -17,7 +17,7 @@
17
17
  v-bind="{ ...toggleButtonProps, ...ptm('toggleButton') }"
18
18
  >
19
19
  <!--TODO: togglericon deprecated since v4.0-->
20
- <slot :name="$slots.toggleicon ? 'toggleicon' : 'togglericon'" :collapsed="d_collapsed">
20
+ <slot :name="$slots.toggleicon ? 'toggleicon' : 'togglericon'" :collapsed="d_collapsed" :class="cx('toggleIcon')">
21
21
  <component :is="d_collapsed ? 'PlusIcon' : 'MinusIcon'" :class="cx('toggleIcon')" v-bind="ptm('toggleIcon')" />
22
22
  </slot>
23
23
  <span :class="cx('legendLabel')" v-bind="ptm('legendLabel')">{{ legend }}</span>